1-0 期中考試模擬考
做考試練習,第九週考試
1-1拋光茶壺
複製和打光相關的陣列程式碼
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 };
```
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week06-1_lighting");
glutDisplayFunc(display);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
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);
glutMainLoop();
```
可以看到茶壺出現光澤。
1-2教材演示
把source & data的資料夾解壓縮到win32的windows裡面,在打開Light Material.exe
調整一下參數,讓位置、顏色做改變。
1-3茶壺變正方形
1-4建立GlM檔
檔案準備步驟:
1.glm.h放到week06-3_glm_obj_model 目錄裡
2.glm.c放到week06-3_glm_obj_model 目錄裡並改檔名成glm.cpp
專案,按右鍵新增檔案,將glm.cpp加入專案
專案,按右鍵新增檔案,將glm.cpp加入專案
3.把data資料夾,複製到freeglut\bin執行目錄裡
4.把glutSolidTeapot(0.3)改成drawmodel()
沒有留言:
張貼留言