#期中考題目
期中考題jsyeh.org/gl/會用Moodle考
模擬練習
1.安裝freeglut,把lib\libfreeglut.a複製成libglut32.a
2.File-New-Project,GLUT專案
3.Ctrl-F 找程式碼 light
找到程式碼,有兩大塊:宣告、函式
'''cpp
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);
'''
'''cpp
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 };
'''
#weel06-1_lighting
1.File-New-Project,GLUT專案
2.貼上GLUT 11行程式
3.貼上剛剛week06-0_sample裡找到打光的程式碼
4.執行時,發現茶壺暗暗的,因為它背光,要改光線位置
1.File-New-Project,GLUT專案
2.貼上GLUT 11行程式
3.貼上剛剛week06-0_sample裡找到打光的程式碼
4.執行時,發現茶壺暗暗的,因為它背光,要改光線位置
5.第15行改成{2.0f,5.0f,-5.0f,0.0f}
#課本範例
1.jsyeh.org/3dcg10 下載source data win32
2.windows.zip => 下載\windows\Light Material.exe
3.data.zip => 下載\windows\data\一堆模型檔
#week06-2_lighting_glNormal3f
1.1.File-New-Project,GLUT專案
2.把剛剛的程式 week06-1_lighting拿來用
3.加上四邊形,有設定法向量
'''cpp
glBegin(GL_POLYGON);
glNormal3f(0,0,1);//打光的法向量
glVertex2f(-1,-1);
glVertex2f(+1,-1);
glVertex2f(+1,+1);
glVertex2f(-1,+1);
glEnd();
'''
#week06-3_glm_obj_model
1.File-New-Project,GLUT專案
2.貼上GLUT 11行程式
3.從課本範例source.zip有3個程式檔:transformation.c glm.h glm.c解壓縮
4.要將專案做設定
4.1.把glm.h放到桌面\week06-3_glm_obj_model目錄裡
4.2.把glm.c放到桌面\week06-3_glm_obj_model目錄裡,改檔名glm.cpp
4.3.在專案裡按右鍵Add Files,加入glm.cpp
4.4.要把data資料夾,放到桌面\freeglut\bin目錄裡
沒有留言:
張貼留言