Lighting 打光
1. 開啟weeko5專案,點project.cpp
2. 程式要放在 CreateWindow和MainLoop之間
glutCreateWindow(...); ///有開視窗才有openGL功能
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING); ///打光程式
glEnable(GL_LIGHT0); ///打光程式
glLightfv(GL_LIGHT0, GPOSITION, pos); ///f : 浮點數 v : 向量
glutMainLoop(...);

若沒有glEnable(GL_DEPTH_TEST);圖會變破碎 (如下)

補充 :
compiler ==> include
linker ==> lib
assembler ==> ??
執行檔的產生
.o檔 +.a檔 (連結起來!) 變成.exe檔 還要bin裡的dll檔...
滑鼠及鍵盤的互動
加上函式 keyboard 和 mouse

並在main加入這幾行
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);

執行結果
![]() |
| 按鍵盤會顯示滑鼠座標位置 |
用鍵盤旋轉
在keyboard函式加上這幾行

在display函式加上這幾行

glRotatef (旋轉多少, 對x軸轉, 對y軸轉, 對z軸轉);
按1 對x軸轉
按2 對y軸轉
按3 對z軸轉
用滑鼠旋轉
改變main, mouse函式, 新增motion函式



對y旋轉時 是變動滑鼠x的數值
備註 :
若忘記函式的參數,可以去看include裡的.h檔
作業 :
keyboard讓他轉
mouse讓他轉(mouse motion)

沒有留言:
張貼留言