1-1.到 jsyeh.org/3dcg10 下載 wins、data、source ,並執行LightMaterial.exe
1-2. 到moodle下載freeglut 再用codeblocks開啟新專案再將新專案的程式碼複製到notepad++上
1-3.了解glut範例sample.cpp 的177 行 像是 GLUT callback、display()、mouse()、motion()、keyboard()
還有期中考考題:
glPushMatrix(); glTranslatef(x,y,z); glRotatef(角度,x,y,z); glScalef(x,y,z); glBegin(GL_POLYGON); glColor3f(r,g,b); glTexCoord2f(rd,ty); glNormal3f(nd,my,nz); glVertex3f(x,y,z); glEnd(); glPopMatrix();
1-4.從github 拿出上週的程式(使用git clone) 在將week06_light程式碼(notepad++)複製到week08_model的main.cpp
執行
2-1.將source.zip中的glm.h 、 glm.c、lightmaterial.cpp開啟,即可讀入3D模型1. glm.h include他
2. glm.c 改成glm.cpp 加入project
3. lightmaterial.cpp 用notepad++ 研究 "學習"
#include <GL/glut.h> 角括號(是系統的include裡的檔案)
#include "glm.h" 雙引號(同目錄裡的檔案)
GLMmodel* pmodel = NULL; (指標指到GLMmodel模型的指標,NULL代表還沒好)
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);
2-2. 畫模型
- 用哪一行程式->drawmodel() TODO:在display()中用drawmodel()取代glutSoildTeapot()
- 檔案在哪裡 要放在woring dir( 工作目錄)裡
- 在 CodeBlocks下方 藍色 Build Log 說我們的工作目錄在...
- TODO: 把 glm.h 還有 glm.c (檔名改成 glm.cpp) 放到 week08_model 目錄(要看到副檔名)
- 結案:把glm.h、glm.c(檔名改成glm.cpp)放到week08_model目錄
- TODO: 在 week08_model 的專案中, add project glm.cpp
可以試著更改模型








沒有留言:
張貼留言