天天看點

OpenGL 各類庫的解析 gl/glu/glut/freeglut/glfw/glew

看了網上很多資料,講的都不是很全,正好在學這一塊,好好地總結一下吧

注:在windows中,對這些庫的大小寫是不作要求的

gl.h

gl庫是核心庫,gl中包含了最基本的3D函數,可以再本地電腦中的: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl 路徑下找到gl.h頭檔案,打開後可以看到其中定義的上百個相關函數。

glu.h

glu是實用庫,包含有43個函數,函數名的字首為glu。glu 為了減輕繁重的程式設計工作,glu對gl中的函數進行部分封裝,glu函數通過調用核心庫的函數,為開發者提供相對簡單的用法,實作一些較為複雜的操作。如果算術好,在不使用glu庫的情況下,使用gl庫可以實作同樣的效果。

glut.h

gult:OpenGL工具庫 OpenGL Utility Toolkit。 glut是基本的視窗界面,是獨立于gl和glu的,如果不喜歡用glut可使用MFC和Win32視窗等代替。但是glut是跨平台的,這就保證了我們編出的程式具有跨平台性,而使用MFC或Win32隻能在windows作業系統上使用。主要包括視窗操作函數,視窗初始化、視窗大小、視窗位置等函數;回調函數:響應重新整理消息、鍵盤消息、滑鼠消息等等。 這個頭檔案自動包含了gl.h和glu.h,程式設計時不必再次包含它們。

freeglut.h

各種教程和書裡常見的是閉源的GLUT。但由于GLUT的作者已經很久沒更新過了(最後更新于2000年!= =),是以其他人另外做了一個接口相容GLUT的freeglut,開源而且一直在維護中。可以了解為glut的替代庫。

glew

繼續閱讀