1. 打光/模型
1.1jsyeh.....
window.....
data.....light material.exe => "conduct"
source.zip
1.2 open "notepad++"
開glut => move code to notepad++ => "sample.cpp"
GLUT callback =>display()、keyboard()、mouse()、motion() 會被glut呼叫的函數
///期中考試題
glPushMatrix();///備份
glTranslatef(x,y,z);///移動
glRotatef(角度,x,y,z);///轉動
glScalef(x,y,z);///縮放
glPopMatrix();還原
打光程式碼 => 陣列、函數
1-3 github => week06程式 => copy => paste week08 => 茶壺
1-4 source.zip => glm.h、glm.c、lightmaterial.cpp,拿裡面的程式用 => 讀入3D模型
1-5 glm.c => glm.cpp 加入專案
1-6 lightmaterial.cpp => "notepad++"
#include <GL/glut.h> 角括號,系統裡include 的檔案
#include "glm.h" 雙引號,同目錄裡的檔案
GLMmodel* pmodel=NULL; GLMmodel模型的指標,NULL表示還沒好
1-7 偷程式碼
void
drawmodel(void)
{
if (!pmodel) {
pmodel = glmReadOBJ("data/soccerball.obj");
if (!pmodel) exit(0);
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel, 90.0);
}
glmDraw(pmodel, GLM_SMOOTH);
}///用來畫3D模型的程式碼
1-8 畫模型
drawmodel()
檔案放 working dir 工作目錄,在codeblock下方有 "Build log" 說明工作目錄在哪
data.zip => data => 放工作目錄
glm.h、glm.c => 放week08_model (c改cpp)
glm.cpp => 加入week08_model專案
week08右鍵 => "add file"
soccerball改"Al"(小寫L)
上github之前記得"save project"
.png)
.png)
.png)
沒有留言:
張貼留言