<根命令><可選的參數(shù)個(gè)數(shù)><可選的參數(shù)類型>庫(kù)前綴有g(shù)l、glu">
OpenGL的庫(kù)函數(shù)介紹

OpenGL的庫(kù)函數(shù)介紹

ID:39466717

大?。?4.00 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-07-04

OpenGL的庫(kù)函數(shù)介紹_第1頁(yè)
OpenGL的庫(kù)函數(shù)介紹_第2頁(yè)
OpenGL的庫(kù)函數(shù)介紹_第3頁(yè)
OpenGL的庫(kù)函數(shù)介紹_第4頁(yè)
資源描述:

《OpenGL的庫(kù)函數(shù)介紹》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、OpenGL的庫(kù)函數(shù)介紹開發(fā)基于OpenGL的應(yīng)用程序,必須先了解OpenGL的庫(kù)函數(shù)。OpenGL庫(kù)函數(shù)的命名方式非常有規(guī)律。所有OpenGL函數(shù)采用了以下格式:<庫(kù)前綴><根命令><可選的參數(shù)個(gè)數(shù)><可選的參數(shù)類型>庫(kù)前綴有g(shù)l、glu、aux、glut、wgl、glx、agl等等,分別表示該函數(shù)屬于OpenGL那個(gè)開發(fā)庫(kù)。從函數(shù)名后面中還可以看出需要多少個(gè)參數(shù)以及參數(shù)的類型。I代表int型,f代表float型,d代表double型,u代表無(wú)符號(hào)整型。例如:glVertex3fv()表示了該函數(shù)屬于gl庫(kù),參數(shù)是三個(gè)float型參數(shù)指針。我們用

2、glVertex*()來(lái)表示這一類函數(shù)。OpenGL函數(shù)庫(kù)相關(guān)的API有核心庫(kù)(gl)、實(shí)用庫(kù)(glu)、輔助庫(kù)(aux)、實(shí)用工具庫(kù)(glut)、窗口庫(kù)(glx、agl、wgl)和擴(kuò)展函數(shù)庫(kù)等。從下圖可以看出,核心庫(kù)(gl)是核心,實(shí)用庫(kù)(glu)是對(duì)gl的部分封裝。窗口庫(kù)(glx、agl、wgl)是針對(duì)不同窗口系統(tǒng)的函數(shù)。實(shí)用工具庫(kù)(glut)是跨平臺(tái)的OpenGL程序的工具包,比aux功能強(qiáng)大。擴(kuò)展函數(shù)庫(kù)是硬件廠商為實(shí)現(xiàn)硬件更新利用OpenGL的擴(kuò)展機(jī)制開發(fā)的函數(shù)。下面逐一對(duì)這些庫(kù)進(jìn)行詳細(xì)介紹。1.OpenGL核心庫(kù)(GL)核心庫(kù)包含有115

3、個(gè)函數(shù),函數(shù)名的前綴為gl。這部分函數(shù)用于常規(guī)的、核心的圖形處理。由于許多函數(shù)可以接收不同數(shù)據(jù)類型的參數(shù),因此派生出來(lái)的函數(shù)原形多達(dá)300多個(gè)。核心庫(kù)在Windows平臺(tái)上的頭文件為“GL.H”,庫(kù)文件為“OPENGL32.LIB”,動(dòng)態(tài)鏈接庫(kù)為“OPENGL32.DLL”。核心庫(kù)可以在所有的OpenGL平臺(tái)上運(yùn)行。核心庫(kù)中的函數(shù)主要分為以下幾類:l基本幾何圖元的繪制函數(shù):glBegain()、glEnd()、glNormal*()、glVertex*();l矩陣操作、幾何變換和投影變換的函數(shù):如矩陣入棧函數(shù)glPushMatrix(),矩陣出棧函

4、數(shù)glPopMatrix(),裝載矩陣函數(shù)glLoadMatrix(),矩陣相乘函數(shù)glMultMatrix(),當(dāng)前矩陣函數(shù)glMatrixMode()和矩陣標(biāo)準(zhǔn)化函數(shù)glLoadIdentity(),幾何變換函數(shù)glTranslate*()、glRotate*()和glScale*(),投影變換函數(shù)glOrtho()、glFrustum()和視口變換函數(shù)glViewport();l顏色、光照和材質(zhì)的函數(shù):如設(shè)置顏色模式函數(shù)glColor*()、glIndex*(),設(shè)置光照效果的函數(shù)glLight*()、glLightModel*()和設(shè)置材質(zhì)

5、效果函數(shù)glMaterial();l顯示列表函數(shù):主要有創(chuàng)建、結(jié)束、生成、刪除和調(diào)用顯示列表的函數(shù)glNewList()、glEndList()、glGenLists()、glCallList()和glDeleteLists();l紋理映射函數(shù):主要有一維紋理函數(shù)glTexImage1D()、二維紋理函數(shù)glTexImage2D()、設(shè)置紋理參數(shù)、紋理環(huán)境和紋理坐標(biāo)的函數(shù)glTexParameter*()、glTexEnv*()和glTetCoord*();l特殊效果函數(shù):融合函數(shù)glBlendFunc()、反走樣函數(shù)glHint()和霧化效果gl

6、Fog*();l光柵化、象素操作函數(shù):如象素位置glRasterPos*()、線型寬度glLineWidth()、多邊形繪制模式glPolygonMode(),讀取象素glReadPixel()、復(fù)制象素glCopyPixel();l選擇與反饋函數(shù):主要有渲染模式glRenderMode()、選擇緩沖區(qū)glSelectBuffer()和反饋緩沖區(qū)glFeedbackBuffer();l曲線與曲面的繪制函數(shù):生成曲線或曲面的函數(shù)glMap*()、glMapGrid*(),求值器的函數(shù)glEvalCoord*()glEvalMesh*();l狀態(tài)設(shè)置與

7、查詢函數(shù):glGet*()、glEnable()、glGetError()。2.OpenGL實(shí)用庫(kù)(GLU)實(shí)用庫(kù)包含有43個(gè)函數(shù),函數(shù)名的前綴為glu。為避免較復(fù)雜的繪圖必須從點(diǎn)、線、面開始,實(shí)用庫(kù)(Glu)函數(shù)通過(guò)調(diào)用核心庫(kù)的函數(shù),為開發(fā)者提供相對(duì)簡(jiǎn)單的用法來(lái)實(shí)現(xiàn)一些較為復(fù)雜的圖形繪制操作,從而減輕繁重的編程工作。實(shí)用庫(kù)Windows平臺(tái)上的頭文件我“GLU.H”,庫(kù)文件為“GLU32.LIB”,動(dòng)態(tài)鏈接庫(kù)為“GLU32.DLL”。實(shí)用庫(kù)可以在所有的OpenGL平臺(tái)上運(yùn)行。實(shí)用庫(kù)中的函數(shù)主要包括了以下幾種:l輔助紋理貼圖函數(shù):gluScaleI

8、mage()、gluBuild1Dmipmaps()、gluBuild2Dmipmaps();l坐標(biāo)轉(zhuǎn)換和投影變換函數(shù):定

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。