格式:算法
<庫前綴><根命令><可選的參數個數><可選的參數類型> 庫前綴有 gl、glu、aux、glut、wgl、glx、agl 等等。api
(1) 繪製基本的幾何圖元函數。如:glBegain().數組
(2) 矩陣操做、幾何變換和投影變換的函數。如:矩陣入棧glPushMatrix(),還有矩陣的出棧、轉載、相乘,此外還有幾何變換函數glTranslate*(),投影變換函數glOrtho()和視口變換函數glViewport()等等。ide
(3) 顏色、光照和材質函數。函數
(4) 顯示列表函數,主要有建立、結束、生成、刪除和調用顯示列表的函數glNewList()、glEndList()、glGenLists()、glDeleteLists()和glCallList()。工具
(5) 紋理映射函數,主要有一維和二維紋理函數,設置紋理參數、紋理環境和紋理座標的函數glTexParameter*()、glTexEnv*()和glTetCoord*()等。性能
(6) 特殊效果函數。測試
(7) 選着和反饋函數。ui
(8) 曲線與曲面的繪製函數。spa
(9) 狀態設置與查詢函數。
(10) 光柵化、像素函數。
包含有43個函數,函數名的前綴名爲glu.
(1) 輔助紋理貼圖函數。
(2) 座標轉換和投影變換函數。
(3) 多邊形鑲嵌工具。
(4) 二次曲面繪製工具。
(5) 非均勻有理B樣條繪製工具。
(6) 錯誤反饋工具,獲取出錯信息的字符串gluErrorString()
包含有31個函數,函數名前綴名爲aux
這部分函數提供窗口管理、輸入輸出處理以及繪製一些簡單的三維物體。
包含大約30多個函數,函數前綴名爲glut,此函數由glut.dll來負責解釋執行。
(1) 窗口操做函數。窗口初始化、窗口大小、窗口位置等函數glutInit() glutInitDisplayMode()、glutInitWindowSize() glutInitWindowPosition()等。
(2) 回調函數。響應刷新消息、鍵盤消息、鼠標消息、定時器函數等,GlutDisplayFunc()、glutPostRedisplay()、 glutReshapeFunc()、glutTimerFunc()、glutKeyboardFunc()、 glutMouseFunc()。
(3) 建立複雜的三維物體。這些和aux庫函數功能相同。如建立球體glutWireSphere().
(4) 函數菜單
(5) 程序運行函數 glutAttachMenu()
(1) 繪製上下文函數。 wglCreateContext()、wglDeleteContext()、wglGetCurrentContent()、wglGetCurrentDC() wglDeleteContent()等。
(2) 文字和文本處理函數。wglUseFontBitmaps()、wglUseFontOutlines()。
(3) 覆蓋層、地層和主平面處理函數。wglCopyContext()、wglCreateLayerPlane()、 wglDescribeLayerPlane()、wglReakizeLayerPlatte()等。
(4) 其餘函數。wglShareLists()、wglGetProcAddress()等。
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 將窗口座標映射爲對象座標
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 設置視窗