Part1 打光範例
1.先到jsyeh.org/3dcg10下載data、win32和glut32.dll
2.將windows資料夾解壓縮,然後把data和glut32.dll兩個丟進windows資料夾
3.點選Light Material就能開啟打光範例檔
4.左上方的框格按右鍵可以更換模型
5.左下角框格為不同設定好的材質,或是也可以自己在右邊的地方調整數值
6.框起來的部分是調整燈光的位置
Part2 複習期中考考題
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();//還原矩陣
Patr3 作業三實作
1.先建立一個GLUT專案,week07_hw3
2.開頭先寫上兩行程式碼,程式碼如下:
#include "glm.h"///外掛,在source資料夾裡面
GLMmodel * pmodel=NULL;///宣告指標
3.要畫一台車子,因為我們的#include "glm.h"需的東西在source資料夾裡,所以要到jsyeh.org/3dcg10
下載source
4.將source資料夾裡的glm.c和glm.h兩個複製貼上到我們的week07_hw3的專案檔
5.把glm.c的附檔名改成glm.cpp
6.回到codeblocks增加file把glm.cpp加入
7.到source資料夾在transforms按右鍵選Notepad++開啟
8.接著搜尋關鍵字glm的第三個,就是我們要複製的程式碼,是畫出一台保時捷車的模型
9.在codeblocks的glPushMatrix()和glPopMatrix()中間的glutSolidConee註解掉,貼上剛剛複製的程式碼,程式碼如下:
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();
10.將一開始下載的data資料夾複製到freeglut->bin
11.回到codeblocks執行,就能看到一台藍色的保時捷














沒有留言:
張貼留言