2023年3月8日 星期三

binhun-week04

 上老師的網站

https://jsyeh.org/3dcg10/

下載

- data data.zip

- win32 windows.zip

解壓縮後將data放到windows裡面

接著執行 transformations




沿著(1,1,0)旋轉

開一個新專案把上周的程式碼複製下來
#include <GL/glut.h>
float angle=0;宣告變數angle
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glPushMatrix();///備份矩陣
    glRotatef(angle , 0,1,0);
    glutSolidTeapot(0.3);
    glutSwapBuffers();
    glPopMatrix();
    angle++;///把角度++
}

int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutIdleFunc(display);///有空idle時,就重畫畫面
glutMainLoop();
}
茶壺可以旋轉
加上打光的程式碼


glClearColor(1,1,1,1);背景變白色
glColor3f(1,1,0);茶壺變黃色

程式碼對調結果會不一樣,在下方按下右鍵,選swap translate rotate交換移動,旋轉這兩行
開啟新專案將第一個程式碼複製貼上
加上glTranslatef(0.6,0,0);茶壺會跑到右邊
複製貼上做一個紅色和黃色的茶壺
glRotatef(angle , 0,1,0);
    glTranslatef(0.6,0,0);
這兩行做交換

紅色茶壺繞著黃色轉

沒有留言:

張貼留言