天天看點

opengl庫中gl glu glut glaux的差別

GL GLU GLUT的關系

OpenGL中的gl庫是核心庫,glu是實用庫,glut是實用工具庫。

gl是核心,glu是對gl的部分封裝,glut是OpenGL的跨平台工具庫。

gl中包含了最基本的3D函數,而glu似乎對gl的輔助,如果算數好,不用glu的情況下,也是可以做出同樣的效果。

glut是基本的視窗界面,如果不喜歡用glut可以用MFC和Win32視窗等代替,但是glut是跨平台的,這就保證了我們編出的程式是跨平台的,如果用MFC或者Win32隻能在windows作業系統上使用。選擇OpenGL的一個很大原因就是因為它的跨平台性,是以我們可以盡量的使用glut庫。

GLUT 不是 OpenGL 所必須的,但它會給我們的學習帶來一定的友善。

首先,需要包含頭檔案#include <GL/glut.h>,這是 GLUT 的頭檔案。本來 OpenGL 程式一般還要包含<GL/gl.h>和<GL/glu.h>,但 GLUT 的頭檔案中已經自動将這兩個檔案包含了,不必再次包含。

各種庫

opengl 實用庫 : 43個函數,以glu開頭,包括紋理映射、坐标變換、多邊形分化、繪制一些如橢球、圓柱、茶壺等簡單多邊形實體部分函數象核心函數一樣在任何OpenGL平台都可以應用。

opengl輔助庫: 31個函數,以aux 開頭。

OpenGL函數庫相關的API有核心庫(gl)、實用庫(glu)、輔助庫(aux)、實用工具庫(glut)、視窗庫(glx、agl、 wgl)和擴充函數庫等。

gl是核心,glu是對gl的部分封裝。

glx、agl、wgl 是針對不同視窗系統的函數。

glut是為跨平台的OpenGL程式的工具包,比aux功能強大。

幾種常見的“奇異”頭檔案: