對於glut和freeglut的一點比較和在VS2013上的配置問題


先大概說一下glut.h和freeglut.h

首先要知道openGL是只提供繪圖,不管窗口的,所以你需要給它一個繪圖的區域(openGL能跨平台也與此有些關系)

glut.h和freeglut.h都是為了讓入門者更好地學習openGL而開發的用於提供窗口的工具包

glut.h已經被開發者棄坑很久了,而freeglut.h還有人維護,也就是說glut.h是個很舊的東西了

不過雖然兩個名字不同,但是它們的函數使用是一樣的

 

配置這些函數庫時,身邊很多人在網上尋找到的教程都說放在某某文件夾里,位置都很固定,然而配置了半天系統還是告訴你無法打開XXX.lib

其實有些時候這種絕對路徑很誤導人,最好的配置方法是打開你的編譯器,輸入"#include<",對,只輸入這么多,然后VS2013會彈出提示,

列表里有很多頭文件,注意列表右邊會彈出這些頭文件的路徑,根據路徑打開文件夾,把相應的.h文件放入。至於.lib文件,注意到.h文件的路徑上

有一個名為include的文件夾,其同級目錄下有一個名為lib的文件夾,把.lib文件放入該文件夾中包含一堆.lib文件的文件夾里即可。關於.dll文件,

win7是在system32里,而win8則是在syswow(名字可能有誤,不過路徑與7大體相同,都是在c盤的window文件夾下)

 

就現在筆者個人的淺薄經歷,glut.h和freeglut.h都暴露出了一些問題

1、glut.h和freeglut.h生成的窗口,當按下右上角的關閉按鈕后,都不提供任何的回調函數用於回收內存之類的操作。

2、glut.h生成的子窗口會出現一些奇怪的問題,例如可能無法選中其他子窗口作為當前子窗口,個人寫過一個程序,

將多個不同的圖案繪制在同一個大窗口之下,每個圖案各自位於自己的子窗口中,然而使用idle回調函數時卻發現,

無論鼠標如何點擊其它子窗口,都無法使其被選中,后來使用freeglut.h發現可以非常正常地工作。

並不是說glut在子窗口方面有問題,因為自己的glut庫不是最新的,所以不能直接斷言。

如果讀者發現同樣的問題還請使用freeglut或者下個新點的版本再試試

3、個人使用的win7 32位電腦上,使用glut彈出的子菜單是非常類似win7的系統菜單的,而使用freeglut彈出的菜單則非常的難看,

就像是199X年的風格,個人感覺很奇怪,分明freeglut要比glut新,但是在菜單實現上卻非常的過時。

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM