2018年4月13日 星期五

Wee_07 林楷

主題 : 打光

到jsyeh.org/3dcg10下載 data,win32,glut32.dll
把data和glut32.dll丟進windows資料夾並點選light Material鳩能開啟打光範例



期中考複習

glPushMatrix();//備份矩陣
    glTranslatef(x,y,z);//移動
    glRotatef(angle,x,y,z);//轉動
    glScalef(x,y,z);//放大縮小
    glBegin(GL_POLYGON);//開始畫
        glColor3f(r,g,b);//顏色
        glNormal3f(nx,ny,nz);//(打光的)法向量
        glTexCoord2f(tx,ty);//貼圖座標
        glVertex3f(x,y,z);頂點
    glEnd();//結束畫
glPopMatrix();//還原矩陣

(1)建立一個glut檔,加入glm.h與glm.c檔(把glm.c改成glm.cpp)

(2)把source裡的transformation檔用notepad++開啟
並擷取裡面的車子模型檔
 if (!pmodel) {
        pmodel = glmReadOBJ("data/porsche.obj");
        if (!pmodel) exit(0);
        glmUnitize(pmodel);
        glmFacetNormals(pmodel);
        glmVertexNormals(pmodel, 90.0);
        }
      glmDraw(pmodel, GLM_SMOOTH |         GLM_MATERIAL);

結合程式開啟

glPushMatrix();
        glTranslated(0,1.2,-6);
        glRotated(60,1,0,0);
        glRotated(a,0,0,1);
        //glutSolidCone(1,1,slices,stacks);
        if (!pmodel) {
        pmodel = glmReadOBJ("data/porsche.obj");
        if (!pmodel) exit(0);
        glmUnitize(pmodel);
        glmFacetNormals(pmodel);
        glmVertexNormals(pmodel, 90.0);
        }
      glmDraw(pmodel, GLM_SMOOTH |         GLM_MATERIAL);
 glPopMatrix();

沒有留言:

張貼留言