OpenGL函數庫

  1. -----------------------------------------------------------------  
  2. 使用顏色  
  3. -----------------------------------------------------------------  
  4. glShadeModel        --選擇平面明暗模式或光滑明暗模式  
  5. glColor         --設置當前顏色  
  6. glColorPointer      --定義顏色數組  
  7. glIndex         --設置當前顏色索引  
  8. glIndexPointer      --定義顏色索引數組  
  9. glColorTableEXT     --爲目標調色板紋理指定調色板的格式和大小  
  10. glColorSubTableEXT  --指定需要替代的目標紋理調色板的一部分  
  11.   
  12. -----------------------------------------------------------------  
  13. 繪製幾何圖原及物體  
  14. -----------------------------------------------------------------  
  15. glVertex        --指定頂點  
  16. glVertexPointer     --定義頂點數據數組  
  17. glArrayElement      --指定用來繪製頂點的數組元素  
  18.   
  19. glBegin         --限定一個或多個圖原頂點的繪製  
  20. glEnd  
  21.   
  22. glEdgeFlag      --指定邊界標記  
  23. glEdgeFlagv  
  24.   
  25. glPointSize     --指定光柵化點的直徑  
  26. glLineWidth     --指定光柵化直線的寬度  
  27. glLineStipple       --指定點劃線  
  28. glPolygonMode       --選擇多邊形光柵化模式  
  29. glFrontFace     --定義正面多邊形和反反面多邊形  
  30. glPolygonStipple    --設置多邊形點劃圖  
  31. glDrawElements      --從數組數據繪製圖原  
  32. glRect          --繪製矩形  
  33.   
  34. -----------------------------------------------------------------  
  35. 座標轉換  
  36. -----------------------------------------------------------------  
  37. glTranslate     --用平移矩陣乘以當前矩陣  
  38. glRotate        --用旋轉矩陣乘以當前矩陣  
  39. glScale         --用縮放矩陣乘以當前矩陣  
  40. glViewport      --設置視口  
  41. glFrustum       --用透視矩陣乘以當前矩陣  
  42. glOrtho         --用正視矩陣乘以當前矩陣  
  43. glClipPlane     --指定切割幾何物體的平面  
  44.   
  45. -----------------------------------------------------------------  
  46. 堆棧操作  
  47. -----------------------------------------------------------------  
  48. glLoadMatrix        --用任意矩陣替換當前矩陣  
  49. glMultMatrix        --用任意矩陣乘以當前矩陣  
  50. glMatrixMode        --指定哪一個矩陣是當前矩陣  
  51.   
  52. glPushMatrix        --壓入和彈出當前矩陣堆棧  
  53. glPopMatrix  
  54.   
  55. glPushAttrib        --壓入和彈出屬性堆棧  
  56. glPopAttrib  
  57.   
  58. glPushClientAttrib  --在客戶屬性堆棧中保存和恢復客戶狀態變量組  
  59. glPopClientAttrib  
  60.   
  61. glPushName      --壓入和彈出名稱堆棧  
  62. gPopName  
  63.   
  64. gllnitNames     --初始名稱堆棧  
  65. glLoadName      --向名稱堆棧中裝載名稱  
  66.   
  67. -----------------------------------------------------------------  
  68. 顯示列表  
  69. -----------------------------------------------------------------  
  70. glNewList       --創建或替換一個顯示列表  
  71. glEndList  
  72.   
  73. glCallList      --執行一個顯示列表  
  74. glCallLists     --執行一列顯示列表  
  75. glGenLists      --生成一組空的相鄰的顯示列表  
  76. glDeleteLists       --刪除一組相鄰的顯示列表  
  77. glIsList        --檢驗顯示列表的存在  
  78.   
  79. -----------------------------------------------------------------  
  80. 使用光照和材質  
  81. -----------------------------------------------------------------  
  82. glNormal        --設置當前的法向量  
  83. glNormalPointer     --定義法向量數組  
  84. glLight         --設置光源參數  
  85. glLightModel        --設置光照模型參數  
  86. glMaterial      --爲光照模型指定材質參數  
  87. glColorMaterial     --使材質顏色跟蹤當前顏色  
  88.   
  89. -----------------------------------------------------------------  
  90. 像素操作  
  91. -----------------------------------------------------------------  
  92. glRasterPos     --爲像素操作指定光柵位置  
  93. glBitmap        --繪製位圖  
  94. glReadPixels        --從幀緩存中讀取一塊像素  
  95. glDrawPixels        --將一個像素塊寫人幀緩存  
  96. glCopyPixels        --在幀緩存中拷貝像素  
  97. glCopyTexImage1D    --將像素從幀緩存拷貝到一維紋理圖像中  
  98. glCopyTexlmage2D    --把像素從幀緩存拷貝到二維紋理圖像中  
  99. glCopyTexSubImage1D --從幀緩存中拷貝一維紋理圖像的子圖像  
  100. glCopyTexSublmage2D --從幀緩存中拷貝二維紋理圖像的子圖像  
  101. glPixelZoom     --指定像素縮放因子  
  102. glPixelStoref       --設置像素存儲模式  
  103. glPixelTransfer     --設置像素傳輸模式  
  104. glPixelMap      --設置像素傳輸映射表  
  105.   
  106. -----------------------------------------------------------------  
  107. 紋理映射  
  108. -----------------------------------------------------------------  
  109. glTexImage1D        --指定一維紋理圖像  
  110. glTexImage2D        --指定二維紋理映射  
  111. glTexParameter      --設置紋理參數  
  112. glTexSubImage1D     --指定已存在的一維紋理圖像的一部分  
  113. glTexSubImage2D     --指定已存在的二維紋理圖像的一部分  
  114. glTexEnvf       --設置紋理環境參數  
  115. glTexCoord      --設置當前紋理座標  
  116. glTexGen        --控制紋理座標的生成  
  117. glTexCoordPointer   --定義紋理座標數組  
  118. glDeleteTextures    --刪除命名的紋理  
  119.   
  120. -----------------------------------------------------------------  
  121. 特殊效果操作  
  122. -----------------------------------------------------------------  
  123. glBlendFunc     --指定像素的數學算法  
  124. glHint          --指定由實現確定的控制行爲  
  125. glFogf          --指定霧化參數  
  126.   
  127. -----------------------------------------------------------------  
  128. 幀緩存操作  
  129. -----------------------------------------------------------------  
  130. glClear         --將緩存清除爲預先的設置值  
  131. glClearAccum        --設置累加緩存的清除值  
  132. glClearColor        --設置顏色緩存的清除值  
  133. glClearDepth        --設置深度緩存的清除值  
  134. glClearIndex        --設置顏色索引緩存的清除值  
  135. glClearStencil      --設置模板緩存的清除值  
  136. glDrawBuffer        --指定繪製的顏色緩存  
  137. glIndexMask     --控制顏色索引緩存中單個位的寫操作  
  138. glColorMask     --激活或關閉幀緩存顏色分量的寫操作  
  139. glDepthMask     --激活或關閉對深度緩存的寫操作  
  140. glStencilMask       --控制模板平面中單個位的寫操作  
  141. glAlphaFunc     --指定alpha檢驗函數  
  142. glStencilFunc       --設置模板檢驗函數和參考值  
  143. glStencilop     --設置模板檢驗操作  
  144. glDepthFunc     --指定深度比較中使用的數值  
  145. glDepthRange        --指定從單位化的設備座標到窗口座標的z值映射  
  146. glLogicOp       --爲顏色索引繪製指定邏輯像素操作  
  147. glAccum         --對累加緩存進行操作  
  148.   
  149. -----------------------------------------------------------------  
  150. 繪製曲線和曲面  
  151. -----------------------------------------------------------------  
  152. glEvalCoord     --求取激活的一維和二維紋理圖  
  153. glMap1d         --定義一維求值器  
  154. glMap2d         --定義二維求值器  
  155. glMapGrid       --定義一維或二維網格  
  156. glEvalMesh      --計算一維或二維點網格或線網格  
  157. glEvalPoint     --生成並求取網格中的單個點  
  158.   
  159. -----------------------------------------------------------------  
  160. 查詢函數  
  161. -----------------------------------------------------------------  
  162. glGet           --返回所選擇的參數值  
  163. glGetClipPlane      --返回指定的切平面係數  
  164. glGetColorTableEXT  --獲得當前目標紋理調色板的顏色表數據  
  165.   
  166. glGetColorTableParameterfvEXT   --從顏色表中獲得調色板參數  
  167. glGetColorTableParameterivEXT  
  168.   
  169. glGetError      --返回錯誤信息  
  170. glGetLight      --返回光源參數值  
  171. glGetMap        --返回求值器參數  
  172. glGetMaterial       --返回材質參數  
  173. glGetPixelMap       --返回指定的像素映像  
  174. glGetPointerv       --返回頂點數據數組地址  
  175. glGetPolygonStipple --返回多邊形點畫模式   
  176. glGetString     --返回描述當前OpenGL  
  177. glGetTexEnv     --返回紋理環境參數  
  178. glGetTexGen     --返回紋理座標生成參數  
  179. glGetTexImage       --返回紋理圖像  
  180. glGetTexLevelParameter  --返回指定細節水平的紋理參數值  
  181. glGetTexParameter   --返回紋理參數值  

GLU庫函數

  1. -----------------------------------------------------------------  
  2. 繪製NURBS曲線和曲面  
  3. -----------------------------------------------------------------  
  4. gluNewNurbsRenderer --創建一個NURBS對像  
  5. gluNurbsProperty    --設置NURBS屬性  
  6. gluNurbsCallback    --爲NURBS對像定義回調函數  
  7.   
  8. gluBeginCurve       --限定NURBS曲線的定義  
  9. gluEndCurve  
  10.   
  11. gluNurbsCurve       --定義NURBS曲線的形狀  
  12. gluDeleteNurbsRenderer  --刪除NURBS對像  
  13.   
  14. gluBeglnsurface     --限定NURBS曲面的定義  
  15. gluEndsurface  
  16.   
  17. gluNurbsSurface     --定義NURBS曲面的形狀  
  18.   
  19. gluBeginTrim        --限定NURBS裁剪環的定義  
  20. gluEndTrim  
  21.   
  22. gluPwlCurve     --描述分段線性NURBS裁剪曲線  
  23.   
  24. gluBeginPolygon     --限定多邊形的定義  
  25. gluEndPolygon  
  26.   
  27. gluPickMatrix       --定義拾取區域  
  28.   
  29. -----------------------------------------------------------------  
  30. 繪製二次幾何物體  
  31. -----------------------------------------------------------------  
  32. gluNewQuadric       --創建一個二次對象  
  33. gluQuadricDrawsope  --指定二次對象的繪製方式  
  34. gluQuadricNormals   --指定二次對象使用的法向量類型  
  35. gluQuadricorientation   --指定二次對象的內側面或外側面方向  
  36. gluCylinder     --繪製圓柱體  
  37. gluSphere       --繪製球體  
  38. gluDisk         --繪製圓盤  
  39. gluPartialDisk      --繪製部分圓盤  
  40. gluDeleteQuadric    --刪除二次對象  
  41. gluQuadricTexture   --指定是否爲二次對象使用紋理  
  42. gluQuadricCallback  --爲二次對象定義回調  
  43.   
  44. -----------------------------------------------------------------  
  45. 網格化  
  46. -----------------------------------------------------------------  
  47. gluNewTess      --創建一個網格化對象  
  48. gluTessVertex       --在多邊形上指定頂點  
  49. gluTessCallback     --爲網格化對象定義回調  
  50.   
  51. gluTessBeglnPolygon --限定多邊形的描述  
  52. gluTessEndPolygon  
  53.   
  54. gluTessBeglnContour --限定多邊形輪廓線的定義  
  55. gluTessEndContour  
  56.   
  57. gluTessProperty     --設置網格化對象的屬性  
  58. gluNextContour      --標記開始繪製另一個輪廓線  
  59. gluTessNormal       --爲多邊形指定法向量  
  60. gluDeleteTess       --刪除網格化對象  
  61.   
  62. -----------------------------------------------------------------  
  63. 座標變換  
  64. -----------------------------------------------------------------  
  65. gluOrtho2D      --定義二維正視投影矩陣  
  66. gluPerspective      --創建透視投影矩陣  
  67. gluLookAt       --定義視景轉換  
  68. gluProject      --將物體座標映射爲窗口座標  
  69. gluUnProject        --將窗口座標映射爲物體座標  
  70.   
  71. -----------------------------------------------------------------  
  72. 多重映射  
  73. -----------------------------------------------------------------  
  74. gluBuild1DMipmaps   --創建一維多重映射  
  75. gluBuild2DMipmaps   --創建二維多重映射  
  76. gluScaleImage       --將圖像縮放到任意尺寸  
  77.   
  78. -----------------------------------------------------------------  
  79. 查詢函數  
  80. -----------------------------------------------------------------  
  81. gluErrorString      --從OpenGL或GLU錯誤代碼中生成錯誤字符串  
  82. gluGetNurbsProperty --獲得NURBS屬性  
  83. gluGetString        --獲得描述GLU版本號或支持GLU擴展調用的字符串  
  84. gluGetTessProperty  --獲得網格化對象的屬性  

GLUT庫函數

  1. -----------------------------------------------------------------  
  2. 初始化和啓動事件處理  
  3. -----------------------------------------------------------------  
  4. glutInit        --初始化GLUT庫  
  5. glutInitWindowPosition  --設置初始窗口位置  
  6. glutInitWindowSize  --設置初始窗口大小  
  7. glutInitDisplayMode --設置初始顯示模式  
  8. glutMainLoop        --進入GLUT事件處理循環  
  9.   
  10. -----------------------------------------------------------------  
  11. 窗口管理  
  12. -----------------------------------------------------------------  
  13. glutCreateWindow    --創建頂層窗口  
  14. glutCreateSubWindow --創建子窗口  
  15. glutHideWindow      --隱藏當前窗口的顯示狀態  
  16. glutShowWindow      --改變當前窗口的顯示狀態,使其顯示  
  17. glutSetWindowTitle  --設置當前頂層窗口的窗口標題  
  18. glutSetIconTitle    --設置當前頂層窗口的圖標標題  
  19. glutPostRedisplay   --標記當前窗口需要重新繪製  
  20. glutSwapBuffers     --交換當前窗口的緩存  
  21. glutFullScreen      --關閉全屏顯示  
  22. glutPositionWindow  --申請改變當前窗口的位置  
  23. glutReshapeWindow   --申請改變當前窗口的大小  
  24. glutSetWindow       --設置當前窗口  
  25. glutGetWindow       --獲得當前窗口的標識符  
  26. glutPopwindow       --改變當前窗口的位置,使其前移  
  27. glutPushWindow      --改變當前窗口的位置,使其後移  
  28. glutDestroyWindow   --銷燬指定的窗口  
  29. glutIconifyWindow   --使當前窗口圖標化顯示  
  30. glutSetCursor       --設置當前窗口的鼠標形狀  
  31.   
  32. -----------------------------------------------------------------  
  33. 重疊層管理  
  34. -----------------------------------------------------------------  
  35. glutEstablishOverlay    --創建當前窗口的重疊層  
  36. glutUseLayer        --改變當前窗口的使用層  
  37. glutRemoveOverlay   --刪除當前窗口的重疊層  
  38. glutPostOverlayRedisplay--標記當前窗口的重疊層  
  39.   
  40. -----------------------------------------------------------------  
  41. 需要重新繪製  
  42. -----------------------------------------------------------------  
  43. glutShowOverlay     --顯示當前窗口的重疊層  
  44. glutHideOverlay     --顯示當前窗口的重疊層  
  45.   
  46. -----------------------------------------------------------------  
  47. 菜單管理  
  48. -----------------------------------------------------------------  
  49. glutCreateMenu      --創建一個新的彈出式菜單  
  50. glutAddMenuEntry    --在當前菜單的底部增加一個菜單條目  
  51. glutAddSubMenu      --在當前菜單的底部增加一個子菜單觸發條目  
  52. glutAttachMenu      --把當前窗口的一個鼠標按鍵與當前菜單的標識符聯繫起來  
  53. glutGetMenu     --獲取當前菜單的標識符  
  54. glutSetMenu     --設置當前菜單  
  55. glutDestroyMenu     --刪除指定的菜單  
  56. glutChangeToMenuEntry   --將指定的當前菜單中的菜單項更改爲菜單條目  
  57. glutChangeToSubMenu --將指定的當前菜單中的菜單項更改爲子菜單觸發條目  
  58. glutRemoveMenuItem  --刪除指定的菜單項  
  59. glutDetachMenu      --釋放當前窗口的一個鼠標按鍵  
  60.   
  61. -----------------------------------------------------------------  
  62. 註冊回調函數  
  63. -----------------------------------------------------------------  
  64. glutDispfayFunc     --註冊當前窗口的顯示回調函數  
  65. glutReshapeFunc     --註冊當前窗口的形狀變化回調函數  
  66. glutMouseFunc       --註冊當前窗口的鼠標回調函數  
  67. glutMotionFunc      --設置移動回調函數  
  68. glutIdleFunc        --設置全局的空閒回調函數  
  69. glutVisibilityFunc  --設置當前窗口的可視回調函數  
  70. glutKeyboardFunc    --註冊當前窗口的鍵盤迴調函數  
  71. glutSpecialFunc     --設置當前窗口的特定鍵回調函數  
  72. glutOverlayDisplayFunc  --註冊當前窗口的重疊層顯示回調函數  
  73. glutPassiveMotionFunc   --設置當前窗口的被動移動回調函數  
  74. glutEntryFunc       --設置當前窗口的鼠標進出回調函數  
  75. glutSpaceballMotionFunc --設置當前窗口的空間球移動回調函數  
  76. glutSpaceballRotateFunc --設置當前窗口的空間球旋轉回調函數  
  77. glutSpaceballButtonFunc --設置當前窗口的空間球按鍵回調函數  
  78. glutButtonBoxFunc   --設置當前窗口的撥號按鍵盒按鍵回調函數  
  79. glutDialsFunc       --設置當前窗口的撥號按鍵盒撥號回調函數  
  80. glutTabletMotionFunc    --設置圖形板移動回調函數  
  81. glutTabletButtonFunc    --設置當前窗口的圖形板按鍵回調函數  
  82. glutMenuStatusFunc  --設置全局的菜單狀態回調函數  
  83. glutTimerFunc       --註冊按一定時間間隔觸發的定時器回調函數  
  84.   
  85. -----------------------------------------------------------------  
  86. 顏色素引映射表管理  
  87. -----------------------------------------------------------------  
  88. glutSetColor        --設置當前窗口當前層一個顏色表單元的顏色  
  89. glutGetColor        --獲得指定的索引顏色  
  90. glutCopyColormap    --將邏輯顏色表從指定的窗口拷貝到當前窗口  
  91.   
  92. -----------------------------------------------------------------  
  93. 狀態檢索  
  94. -----------------------------------------------------------------  
  95. glutGet         --檢索指定的GLUT狀態  
  96. glutLayerGet        --檢索屬於當前窗口重疊層的  GLU T狀態  
  97. glutDeviceGet       --檢索GLUT設備信息  
  98. glutGetModifiers    --返回修飾鍵在引起某些回調的事件發生時的狀態  
  99. glutExtensionSupported  --判別當前OpenGL版本是否支持給定的OpenGL擴展  
  100.   
  101. -----------------------------------------------------------------  
  102. 字體繪製  
  103. -----------------------------------------------------------------  
  104. glutBltmapCharcter  --繪製一個位圖字符  
  105. glutBitmapWidth     --返回一個位圖字符的寬度  
  106. glutStrokeCharcter  --繪製一個筆畫字符  
  107. glutStrokeWidth     --返回一個筆畫字體的寬度  
  108.   
  109. -----------------------------------------------------------------  
  110. 幾何圖形繪製  
  111. -----------------------------------------------------------------  
  112. glutSolidSphere     --繪製實心球體和線框球體  
  113. glutWireSphere  
  114.   
  115. glutSolidCube       --繪製實心立方體和線框立方體  
  116. glutWireCube  
  117.   
  118. glutSolidCone       --繪製實心圓錐體和線框圓錐體  
  119. glutWireCone  
  120.   
  121. glutSolidTorus      --繪製實心圓環和線框圓環  
  122. glutWireTorus  
  123.   
  124. glutSolidDodecahedron   --繪製實心十二面體和線框十二面體  
  125. glutWireDodecahedron  
  126.   
  127. glutSolidOctahedron --繪製實心八面體和線框八面體  
  128. glutWireOctahedron  
  129.   
  130. glutSolidTetrahedron    --繪製實心四面體和線框四面體  
  131. glutWireTetrahedron  
  132.   
  133. glutSolidIcosahedron    --繪製實心二十面體和線框二十面體  
  134. glutWireIcosahedron  
  135.   
  136. glutSolidTeapot     --繪製實心茶壺和線框茶壺  
  137. glutWireTeapot  

發佈了35 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章