編譯source資料夾裡面的原始碼
1.下載moodle裡面的week05資料夾並解壓縮
2.用notepad++打開week05.cbp並修改include的路徑為電腦桌面freeglut資料夾的路徑
3.到codeblocks的setting>compiler將第二個選項取消勾選
4.執行後結果
打光
1.加入打光功能函式:
glEnable(GL_LIGHTING);
開啟全部的打光功能
glEnable(GL_LIGHT0);
開啟第0號燈
glLightfv(GL_LIGHT0,GL_POSITION,pos);
設定0號燈光的位置,pos為燈光位置的陣列
glEnable(GL_DEPTH_TEST);
開啟深度測試
2.執行後結果
鍵盤功能
1.在main中增加glutKeyboardFunc(keyboard)函式,並定義keyboard函式:
void keyboard(unsigned char key, int x,int y)
{
printf("now: %c (%d %d)\n",key,x,y);
}
key為輸入的按鍵,x,y為滑鼠所在位置的座標
2.執行後結果,在鍵盤上按按鍵時會輸出現在按的按鍵和箭頭所在的座標
使用按鍵旋轉模型
1.在keyboard中加入以下函式
if(key=='1')rotateX++;
if(key=='2')rotateY++;
if(key=='3')rotateZ++;
glutPostRedisplay();
rotateX, rotateY, rotateZ為三軸分別的旋轉角度
2.執行後結果,按1,2,3及可分別對x,y,z軸旋轉
使用滑鼠旋轉模型
1.在mouse函式中加入
if(state==GLUT_DOWN){
oldX=x,oldY=y;
}
此為當滑鼠按下時將舊的位置改為新的位置
2.定義motion函式
void motion(int x,int y)
{
rotateY+= -(x-oldX);
rotateX+= -(y-oldY);
oldX=x,oldY=y;
glutPostRedisplay();
}
3.執行後即可使用滑鼠旋轉









沒有留言:
張貼留言