week08(3D模型)
👉期中考題👈 https://jsyeh.org/gl/(網址)
glPushMatrix(); 備份矩陣
glTranslatef(x,y,z); 移動
glRotatef(角度, x,y,z); 旋轉
glScalef(x,y,z); 縮放
glBegin(GL_POLYGON); 開始畫
glColor3f(r,g,b); 色彩
glTexCoord2f(tx,ty); 貼圖座標
glNormal3f(nx,ny,nz); 打光的法向量
glVertex3f(x,y,z); 頂點
glEnd(); 結束畫
glPopMatrix(); 還原矩陣
🅐.3D模型實作(打光)
1.先建立一個GLUT專案,取裡面的程式,貼上Notepad++。
2.打光: ☝打光的陣列 ✌打光的函式
3.week06_light的main.cpp複製貼上到week08_modle裡
4.把source.zip用裡面的三個程式 glm.h glm.c lightmaterial.cpp 就能讀入3D模型
程式碼解釋:
5.畫模型
👉畫模型的程式碼:drawmodel();
👉檔案要放在working dir裡
👉在codeBlocks 藍色Build Log 工作目錄在 C:\Users\User\Desktop\freeglut\bin(位置)
👉將data資料夾放進 C:\Users\User\Desktop\freeglut\bin裡
👉將glm.h和glm.c(改成glm.cpp"模型的程式碼") 放進專案(week08_glut_modle)裡
👉專案 add file glm.cpp 就可以看到黃色足球
🅑. v vn vt 的意思(貼圖)
👉v(頂點)
👉vt(貼圖座標)
👉vn(打光法向量)

沒有留言:
張貼留言