2. 目標: 建出自己的 Transformation.exe
2.1. File-New-Project, GLUT專案 (設好 freeglut)
2.2. source.zip 裡的檔案加進去...
glm.h 放同目錄 (桌面的week11_model專案目錄)
glm.c 改檔名成 glm.cpp
transformation.c 內容放到 main.cpp
2.3. 把 glm.cpp 放入專案
左邊Project裡, Add檔案, glm.cpp加入
設定自己的transformation專案
把transformation專案開起來
4. 親手打造 20行程式 (copy啦)
4.1. #include "glm.h" //要雙引號用同目錄的.h檔, 使用外掛
4.2. GLMmodel * pmodel; //使用指標pmodel
4.3. 畫模式, 使用 glm系列的函式
glmReadOBJ(), glmDraw() ....
====以上3個copy自 transformation.c, 以下copy你的github
4.4. void display()
4.5. int main()
做出來ㄌ
const GLfloat light_ambient[] = { 0.0f, 0.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };
const GLfloat mat_ambient[] = { 0.7f, 0.7f, 0.7f, 1.0f };
const GLfloat mat_diffuse[] = { 0.8f, 0.8f, 0.8f, 1.0f };
const GLfloat mat_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat high_shininess[] = { 100.0f };
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);
加上打光程式






沒有留言:
張貼留言