2012年4月30日 星期一

[作業二]3D元資一館


a)作業要求:
這次作業要求我們利用OPENGL實作出3D元智一館,由於這次作業遇到了太多BUG,解玩BUG發現時間不多了,所以只做出了陽春的功能,沒有去畫細部。
b)實作部分:
與第一次作業雷同,我先在紙上描繪出座標再利用GL_POLYGON一一畫出。此外這次作業還用到了:
glutSpecialFunc()來設定當使用者按上下左右鍵時物件如何旋轉。
glRotatef()來設定轉軸與旋轉角度。
glOrtho()來更改座標系,才不會每次在紙上量到的座標都要除100(default 座標是 -1 ~ 1)
c)遇到的困難
1.一開始當我完成長方體時,前面那面都會被後面的那一面吃掉,導致永遠只出現後面那一面,後來蒐集了很多資料發現,只要增加glEnable(GL_DEPTH_TEST)就能解決這次問題。

2.接下來就是遇到圖形一直亂跳的窘境,後來把glFlush()整行註解掉後,畫面就順利的執行了。
d)心得
原本以為可以很順利的完成這次作業,沒想到竟然遇到一些無解的bug,卡了我許多時間,到最後只做出陽春的功能。下次作業真的要早點寫。



沒有留言:

張貼留言