week08
1.jsyeh.org/3dcg10/ 下載sources,data,windows,執行Light Material.exe(上周的打光範例)
2.新增GLUT專案,把程式碼複製到Notepad++。
(GLUT callback? 會被GLUT呼叫的函式,EX: display() , mouse() , keyboard() , motion() )
3.打光的程式碼 (1) 打光的陣列 (2) 打光的函式
4.開啟上周的light-teapot程式碼,執行後看到發光的茶壺。
5.把source.zip裡的三個程式,glm.h , glm.c , lightmaterial.cpp,拿出來用,便可讀入模型。
(1) #include "glm.h"///雙引號,同目錄裡的檔案
(2) GLMmodel*pmodel=NULL;///只到GLMmodel模型的指標,NULL代表還沒好
(3) 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模型的程式碼,學習它
6.畫模型:
a. (用哪一行程式?)grawmodel() TODO:載dispplay()取代glutSolidTeapot()
b. (檔案在哪裡?)要放在working dir 工作目錄裡
c. 在CodeBlocks下方藍色BUlid Log 說我們的工作目錄在...
d. 剛剛下載的data資料夾放在工作目錄裡freeglut/bin
e. 把glm.h還有glm.c(檔名改成glm.cpp)放到week08_model目錄裡 p.s:附檔名要看得到
f. 在week08_model的專案中,Add 同目錄裡的glm.cpp
程式碼:
.png)
沒有留言:
張貼留言