OpenGL的API函數使用手冊

來源:互聯網
上載者:User

標籤:

(一)OpenGL函數庫

格式:

<庫首碼><根命令><可選的參數個數><可選的參數類型> 庫首碼有 gl、glu、aux、glut、wgl、glx、agl 等等。

1、核心函數庫主要可以分為以下幾類函數

(1) 繪製基本的幾何圖元函數。如:glBegain().

(2) 矩陣操作、幾何變換和投影變換的函數。如:矩陣入棧glPushMatrix(),還有矩陣的出棧、轉載、相乘,此外還有幾何變換函數glTranslate*(),投影變換函數glOrtho()和視口變換函數glViewport()等等。

(3) 顏色、光照和材質函數。

(4) 顯示列表函數,主要有建立、結束、產生、刪除和調用顯示列表的函數glNewList()、glEndList()、glGenLists()、glDeleteLists()和glCallList()。

(5) 紋理映射函數,主要有一維和二維紋理函數,設定紋理參數、紋理環境和紋理座標的函數glTexParameter*()、glTexEnv*()和glTetCoord*()等。

(6) 特殊效果函數。

(7) 選著和反饋函數。

(8) 曲線與曲面的繪製函數。

(9) 狀態設定與查詢函數。

(10) 光柵化、像素函數。

 

2、OpenGL實用庫(The OpenGL Utility Library)(GLU)

包含有43個函數,函數名的首碼名為glu.

(1) 輔助紋理貼圖函數。

(2) 座標轉換和投影變換函數。

(3) 多邊形鑲嵌工具。

(4)  二次曲面繪製工具。

(5) 非均勻有理B樣條繪製工具。

(6) 錯誤意見反應工具,擷取出錯資訊的字串gluErrorString()

 

3、OpenGL輔助庫

  包含有31個函數,函數名首碼名為aux

  這部分函數提供視窗管理、輸入輸出處理以及繪製一些簡單的三維物體。

 

4、OpenGL工具庫(OpenGL Utility Toolkit)

  包含大約30多個函數,函數首碼名為glut,此函數由glut.dll來負責解釋執行。

(1) 視窗操作函數。視窗初始化、視窗大小、視窗位置等函數glutInit() glutInitDisplayMode()、glutInitWindowSize() glutInitWindowPosition()等。

(2) 回呼函數。響應重新整理訊息、鍵盤訊息、滑鼠訊息、定時器函數等,GlutDisplayFunc()、glutPostRedisplay()、 glutReshapeFunc()、glutTimerFunc()、glutKeyboardFunc()、 glutMouseFunc()。

(3) 建立複雜的三維物體。這些和aux庫函數功能相同。如建立球體glutWireSphere().

(4) 函數菜單

(5) 程式運行函數 glutAttachMenu()

 

5、16個WGL函數,專門用於OpenGL和Windows視窗系統的聯結,其首碼名為wgl

(1) 繪製上下文函數。 wglCreateContext()、wglDeleteContext()、wglGetCurrentContent()、wglGetCurrentDC() wglDeleteContent()等。

(2) 文字和文本處理函數。wglUseFontBitmaps()、wglUseFontOutlines()。

(3) 覆蓋層、地層和主平面處理函數。wglCopyContext()、wglCreateLayerPlane()、 wglDescribeLayerPlane()、wglReakizeLayerPlatte()等。

(4) 其他函數。wglShareLists()、wglGetProcAddress()等。

 

(二)函數庫列表1、OpenGL應用函數庫

gluBeginCurve,gluEndCurve 定義一條不一至的有理的NURBS曲線 
gluBeginPolygon,gluEndPolygon 定義一個非凸多邊形 
gluBeginSurface,gluEndSurface 定義一個NURBS曲線 
gluBeginTrim,gluEndTrim 定義一個NURBS整理迴圈 
gluBuild1Dmipmaps 建立一維多重新對應 
gluBuild2Dmipmaps 建立二維多重新對應 
gluCylinder 繪製一個圓柱 
gluDeleteNurbsRenderer 刪除一個NURBS對象 
gluDeleQuadric 刪除一個二次曲面對象 
gluDeleteTess 刪除一個鑲嵌對象 
gluDisk 繪製一個盤子 
gluErrorString 根據OpenGL或GLU錯誤碼產生錯誤字串 
gluGetNutbsProperty 得到一個NURBS屬性 
gluGetString 得到一個描述GLU版本號碼或支援GLU擴充調用的字串 
gluGetTessProperty 得到一個鑲嵌對象 
gluLoadSamplingMatrices 載入NUMRBS例子和精選矩陣 
gluLookAt 設定一個變換視點 
gluNewNurbsRenderer 建立一個NURBS對象 
gluNewQuadric 建立一個二次曲面對象 
gluNewTess 建立一個鑲嵌對象 
gluNextContour 為其他輪廓的開始做標記 
gluNurbsCallback 為NURBS對象設定一個回調 
gluNnrbsCurve 設定一個NuRBS曲線的形狀 
gluNurbsProperty 設定一個NURBS屬性 
gluNurbsSurface 定義一個NURBS表面的形狀 
gluOrtho2D 定義一個二位正交投影矩陣 
gluPartialDisk 繪製一個盤子的弧 
gluPerspective 設定一個透視投影矩陣 
gluPickMatrix 定義一個拾取區間 
gluProject 將對象座標映射為視窗座標 
gluPwlCurve 描述一個分段線性NURBS修剪曲線 
gluQuadricCallback 為二次曲面對象定義一個回調 
gluQuadricDrawStyle 為二次曲面設定合適的繪製風格 
gluQuadricNormals 定義二次曲面所用的法向的種類 
gluQuadricOrientation 定義二次曲面內部或外部方向 
gluQuadricTexture 定義是否帶二次其面做紋理帖圖 
gluScaleImage 將圖象變換為任意尺寸 
gluSphere 繪製一個球體 
gluTessBeginContour,gluTessEndContour 劃定一個邊界描述 
gluTessBeginPolygon,gluTessEndPolygon 劃定一個多邊形描述 
gluTessCallback 為鑲嵌對象定義一個回調 
gluTessNormal 為一個多邊行形定義法向 
gluTessProperty 設定鑲嵌對象的屬性 
gluTessVertex 定義在一個多邊形上的頂點 
gluUnProject 將視窗座標映射為對象座標

 

2、OpenGL核心函數庫

glAccum 操作累加緩衝區
glAddSwapHintRectWIN 定義一組被 SwapBuffers 拷貝的三角形 glAlphaFunc 允許設定 alpha 檢測功能
glAreTexturesResident 決定特定的紋理對象是否常駐在紋理記憶體中

glArrayElement 定義一個被用於頂點渲染的數組成分 glBegin,glEnd 定義一個或一組原始的頂點
glBindTexture 允許建立一個綁定到目標紋理的有名稱的紋理 glBitmap 繪製一個位元影像

glBlendFunc 特殊的像素演算法
glCallList 執行一個顯示列表
glCallLists 執行一列顯示列表
glClear 用當前值清除緩衝區
GlClearAccum 為累加緩衝區指定用於清除的值 glClearColor 為色彩緩衝區指定用於清除的值 glClearDepth 為深度緩衝區指定用於清除的值 glClearStencil 為樣板緩衝區指定用於清除的值 glClipPlane 定義被裁剪的一個平面幾何體 glColor 設定當前色彩

glColorMask 允許或不允許寫色彩組件框架緩衝區
glColorMaterial 使一個材質色彩指向當前的色彩
glColorPointer 定義一列色彩
glColorTableEXT 定義目的一個調色盤紋理的調色盤的格式和尺寸 glColorSubTableEXT 定義目的紋理的調色盤的一部分被替換 glCopyPixels 拷貝框架緩衝區裡的像素

glCopyTexImage1D 將像素從框架緩衝區拷貝到一個單空間紋理圖象中 glCopyTexImage2D 將像素從框架緩衝區拷貝到一個雙空間紋理圖象中 glCopyTexSubImage1D 從框架緩衝區拷貝一個單空間紋理的子圖象 glCopyTexSubImage2D 從框架緩衝區拷貝一個雙空間紋理的子圖象 glCullFace 定義前面或後面是否能被精選

glDeleteLists 刪除相鄰一組顯示列表

glDeleteTextures 刪除命名的紋理
glDepthFunc 定義用於深度緩衝區對照的資料

glDepthMask 允許或不允許寫入深度緩衝區 

glDepthRange 定義 z 值從標準的裝置座標映射到視窗座標 glDrawArrays 定義渲染多個圖元glDrawBuffer 定義選擇哪個色彩緩衝區被繪製 glDrawElements 渲染數組資料中的圖元
glDrawPixels 將一組像素寫入框架緩衝區
glEdgeFlag 定義一個邊緣標誌數組
glEdgeFlagPointer 定義一個邊緣標誌數組
glEnable, glDisable 開啟或關閉 OpenGL 的特殊功能 glEnableClientState,glDisableClientState 分別開啟或關閉數組 glEvalCoord 求解一維和二維貼圖

glEvalMesh1,glEvalMesh2 求解一維和二維點或線的網格 glEvalPoint1,glEvalPoint2 產生及求解一個網格中的單點 glFeedbackBuffer 控制反饋模式
glFinish 等待直到 OpenGL 執行結束

glFlush 在有限的時間裡強制 OpenGL 的執行

glFogf,glFogi,glFogfv,glFogiv 定義霧參數
glFrontFace 定義多邊形的前面和背面
glFrustum 當前矩陣乘上透視矩陣
glGenLists 產生一組空的連續的顯示列表
glGenTextures 產生紋理名稱

 glGetBooleanv,glGetDoublev,glGetFloatv,glGetIntegerv 傳回值或所選參數值 glGetClipPlane 返回特定裁減面的係數

glGetColorTableEXT 從當前目標紋理調色盤得到顏色表資料 glGetColorTableParameterfvEXT,glGetColorTableParameterivEXT 從顏色表中 得到調色盤參數
glGetError 返回錯誤訊息
glGetLightfv,glGetLightiv 返回光源參數值 glGetMapdv,glGetMapfv,glGetMapiv 返回求值程式參數

glGetMaterialfv,glGetMaterialiv 返回材質參數 glGetPixelMapfv,glGetpixelMapuiv,glGetpixelMapusv 返回特定的像素圖 glGetPointerv 返回頂點資料數組的地址
glGetPolygonStipple 返回多邊形的點圖案
glGetString 返回描述當前 OpenGl 串連的字串
glGetTexEnvfv 返回紋理環境參數

glGetTexGendv,glGetTexGenfv,glGetTexGeniv 返回紋理座標產生參數 glGetTexImage 返回一個紋理圖象 glGetTexLevelParameterfv,glGetTexLevelParameteriv 返回特定的紋理參數的 細節層級
glGetTexParameterfv,glGetTexParameteriv 返回紋理參數值
glHint 定義實現特殊的線索
glIndex 建立當前的色彩索引
glIndexMask 控制寫色彩索引緩衝裡的單獨位
GlIndexPointer 定義一個色彩索引數組
glInitName 初始化名字堆棧
glInterleavedArrays 同時定義和允許幾個在一個大的數組集合裡的交替數組 glIsEnabled 定義效能是否被允許
glIsList 檢測顯示列表的存在
glIsTexture 確定一個名字對應一個紋理
glLightf,glLighti,glLightfv,glLightiv 設定光源參數 glLightModelf,glLightModeli,glLightModelfv,glLightModeliv 設定光線模型參數 glLineStipple 設定線點繪圖案
glLineWidth 設定光柵線段的寬
glListBase 為 glcallList 設定顯示列表的基礎
glLoadIdentity 用恒等矩陣替換當前矩陣
glLoadMatrixd,glLoadMatrif 用一個任意矩陣替換當前矩陣
glLoadName 將一個名字調入名字堆棧
glLogicOp 為色彩索引渲染定義一個邏輯像素操作
glMap1d,glMap1f 定義一個一維求值程式
glMap2d,glMap2f 定義一個二維求值程式glMapGrid1d,glMapGrid1f,glMapgrid2d,glMapGrid2f 定義一個一維或二維網 格
glMaterialf,glMateriali,glMateriafv,glMaterialiv 為光照模型定義材質參數 glMatrixMode 定義哪一個矩陣是當前矩陣

glMultMatrixd,glMultMatrixf 用當前矩陣與任意矩陣相乘

glNewList,glEndList 建立或替換一個顯示列表
glNormal 設定當前頂點法向

glNormalPointer 設定一個法向數組

glOrtho 用垂直矩陣與當前矩陣相乘
glPassThrough 在反饋緩衝區做記號 glPixelMapfv,glPixelMapuiv,glPixelMapusv 設定像素交換圖 glPixelStoref,glpixelStorei 設定像素儲存模式
glPixelTransferf,glPixelTransferi 設定像素儲存模式
glPixelZoom 設定像素縮放因數
glPointSize 設定光柵點的直徑
glPolygonMode 選擇一個多邊形的光柵模式
glPolygonOffset 設定 OpenGL 用於計算深度值的比例和單元
glPolygonStipple 設定多邊形填充圖案
glPrioritizeTextures 設定紋理固定的優先順序
glPushAttrib,glPopAttrib 屬性堆棧的壓入和彈出操作 glPushClientAttrib,glPopClientAttrib 在客戶屬性堆棧儲存和恢複客戶狀態值 glPushmatrix,glPopMatrix 矩陣堆棧的壓入和彈出操作 glPushName,glPopName 名字堆棧的壓入和彈出操作
glRasterPos 定義像素操作的光柵位置
glreadBuffer 為像素選擇一個源色彩緩衝區
glReadPixels 從框架緩衝區讀取一組資料 glRectd,glRectf,glRecti,glRects,glRectdv,glRectfv,glRectiv,glRectsv 繪製一個三 角形
glRenderMode 定義光柵模式
glRotated,glRotatef 將旋轉矩陣與當前矩陣相乘
glScaled,glScalef 將一般的比例矩陣與當前矩陣相乘
glScissor 定義裁減框
glSelectBuffer 為選擇模式值建立一個緩衝區
glShadeModel 選擇平直或平滑著色
glStencilFunc 為模板測試設定功能和參照值
glStencilMask 控制在模板面寫單獨的位
glStencilOp 設定啟用模式測試
glTexCoord 設定當前紋理座標
glTexCoordPointer 定義一個紋理座標數組 glTexEnvf,glTexEnvi,glTexEnvfv,glTexEnviv 設定紋理座標環境參數 glTexGend,glTexgenf,glTexGendv,glTexGenfv,glTexGeniv 控制紋理座標的產生 glTexImage1D 定義一個一維的紋理圖象
glTexImage2D 定義一個二維的紋理圖 glTexParameterf,glTexParameteri,glTexParameterfv,glTexParameteriv 設定紋理參數
glTexSubImage1D 定義一個存在的一維紋理映像的一部分,但不能定義新的紋理glTexSubImage2D 定義一個存在的二維紋理映像的一部分,但不能定義新的紋理glTranslated,glTranslatef 將變換矩陣與當前矩陣相乘 glVertex 定義一個頂點
glVertexPointer 設定一個頂點資料數組
glViewport 設定視窗

 

OpenGL的API函數使用手冊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.