GL庫函數
-----------------------------------------------------------------<br />使用顏色<br />-----------------------------------------------------------------<br />glShadeModel--選擇平面明暗模式或光滑明暗模式<br />glColor--設定使用中色彩<br />glColorPointer--定義顏色數組<br />glIndex--設定使用中色彩索引<br />glIndexPointer--定義色彩索引數組<br />glColorTableEXT--為目標調色盤紋理指定調色盤的格式和大小<br />glColorSubTableEXT--指定需要替代的目標紋理調色盤的一部分</p><p>-----------------------------------------------------------------<br />繪製幾何圖原及物體<br />-----------------------------------------------------------------<br />glVertex--指定頂點<br />glVertexPointer--定義頂點資料數組<br />glArrayElement--指定用來繪製頂點的數組元素</p><p>glBegin--限定一個或多個圖原頂點的繪製<br />glEnd</p><p>glEdgeFlag--指定邊界標記<br />glEdgeFlagv</p><p>glPointSize--指定光柵化點的直徑<br />glLineWidth--指定光柵化直線的寬度<br />glLineStipple--指定點劃線<br />glPolygonMode--選擇多邊形光柵化模式<br />glFrontFace--定義正面多邊形和反反面多邊形<br />glPolygonStipple--設定多邊形點劃圖<br />glDrawElements--從數組資料繪製圖原<br />glRect--繪製矩形</p><p>-----------------------------------------------------------------<br />座標轉換<br />-----------------------------------------------------------------<br />glTranslate--用平移矩陣乘以當前矩陣<br />glRotate--用旋轉矩陣乘以當前矩陣<br />glScale--用縮放矩陣乘以當前矩陣<br />glViewport--設定視口<br />glFrustum--用透視矩陣乘以當前矩陣<br />glOrtho--用正視矩陣乘以當前矩陣<br />glClipPlane--指定切割幾何物體的平面</p><p>-----------------------------------------------------------------<br />堆棧操作<br />-----------------------------------------------------------------<br />glLoadMatrix--用任意矩陣替換當前矩陣<br />glMultMatrix--用任意矩陣乘以當前矩陣<br />glMatrixMode--指定哪一個矩陣是當前矩陣</p><p>glPushMatrix--壓入和彈出當前矩陣堆棧<br />glPopMatrix</p><p>glPushAttrib--壓入和彈出屬性堆棧<br />glPopAttrib</p><p>glPushClientAttrib--在客戶屬性堆棧中儲存和恢複客戶狀態變數組<br />glPopClientAttrib</p><p>glPushName--壓入和彈出名稱堆棧<br />gPopName</p><p>gllnitNames--初始名稱堆棧<br />glLoadName--向名稱堆棧中裝載名稱</p><p>-----------------------------------------------------------------<br />顯示列表<br />-----------------------------------------------------------------<br />glNewList--建立或替換一個顯示列表<br />glEndList</p><p>glCallList--執行一個顯示列表<br />glCallLists--執行一列顯示列表<br />glGenLists--產生一組空的相鄰的顯示列表<br />glDeleteLists--刪除一組相鄰的顯示列表<br />glIsList--檢驗顯示列表的存在</p><p>-----------------------------------------------------------------<br />使用光照和材質<br />-----------------------------------------------------------------<br />glNormal--設定當前的法向量<br />glNormalPointer--定義法向量數組<br />glLight--設定光源參數<br />glLightModel--設定光照模型參數<br />glMaterial--為光照模型指定材質參數<br />glColorMaterial--使材質顏色跟蹤使用中色彩</p><p>-----------------------------------------------------------------<br />像素操作<br />-----------------------------------------------------------------<br />glRasterPos--為像素操作指定光柵位置<br />glBitmap--繪製位元影像<br />glReadPixels--從幀緩衝中讀取一塊像素<br />glDrawPixels--將一個像素塊寫人幀緩衝<br />glCopyPixels--在幀緩衝中拷貝像素<br />glCopyTexImage1D--將像素從幀緩衝拷貝到一維紋理映像中<br />glCopyTexlmage2D--把像素從幀緩衝拷貝到二維紋理映像中<br />glCopyTexSubImage1D--從幀緩衝中拷貝一維紋理映像的子映像<br />glCopyTexSublmage2D--從幀緩衝中拷貝二維紋理映像的子映像<br />glPixelZoom--指定像素縮放因子<br />glPixelStoref--設定像素儲存模式<br />glPixelTransfer--設定像素傳輸模式<br />glPixelMap--設定像素傳輸映射表</p><p>-----------------------------------------------------------------<br />紋理映射<br />-----------------------------------------------------------------<br />glTexImage1D--指定一維紋理映像<br />glTexImage2D--指定二維紋理映射<br />glTexParameter--設定紋理參數<br />glTexSubImage1D--指定已存在的一維紋理映像的一部分<br />glTexSubImage2D--指定已存在的二維紋理映像的一部分<br />glTexEnvf--設定紋理環境參數<br />glTexCoord--設定當前紋理座標<br />glTexGen--控制紋理座標的產生<br />glTexCoordPointer--定義紋理座標數組<br />glDeleteTextures--刪除命名的紋理</p><p>-----------------------------------------------------------------<br />特殊效果操作<br />-----------------------------------------------------------------<br />glBlendFunc--指定像素的數學演算法<br />glHint--指定由實現確定的控制行為<br />glFogf--指定霧化參數</p><p>-----------------------------------------------------------------<br />幀快取作業<br />-----------------------------------------------------------------<br />glClear--將緩衝清除為預先的設定值<br />glClearAccum--設定累加緩衝的清除值<br />glClearColor--設定顏色緩衝的清除值<br />glClearDepth--設定深度緩衝的清除值<br />glClearIndex--設定色彩索引緩衝的清除值<br />glClearStencil--設定模板緩衝的清除值<br />glDrawBuffer--指定繪製的顏色緩衝<br />glIndexMask--控制色彩索引緩衝中單個位的寫操作<br />glColorMask--啟用或關閉幀緩衝顏色分量的寫操作<br />glDepthMask--啟用或關閉對深度緩衝的寫操作<br />glStencilMask--控制模板平面中單個位的寫操作<br />glAlphaFunc--指定alpha檢驗函數<br />glStencilFunc--設定模板檢驗函數和參考值<br />glStencilop--設定模板檢驗操作<br />glDepthFunc--指定深度比較中使用的數值<br />glDepthRange--指定從單位化的裝置座標到視窗座標的z值對應<br />glLogicOp--為色彩索引繪製指定邏輯像素操作<br />glAccum--對累加緩衝進行操作</p><p>-----------------------------------------------------------------<br />繪製曲線和曲面<br />-----------------------------------------------------------------<br />glEvalCoord--求取啟用的一維和二維紋理圖<br />glMap1d--定義一維求值器<br />glMap2d--定義二維求值器<br />glMapGrid--定義一維或二維網格<br />glEvalMesh--計算一維或二維點網格或線網格<br />glEvalPoint--產生並求取網格中的單個點</p><p>-----------------------------------------------------------------<br />查詢函數<br />-----------------------------------------------------------------<br />glGet--返回所選擇的參數值<br />glGetClipPlane--返回指定的切平面係數<br />glGetColorTableEXT--獲得當前目標紋理調色盤的顏色表資料</p><p>glGetColorTableParameterfvEXT--從顏色表中獲得調色盤參數<br />glGetColorTableParameterivEXT</p><p>glGetError--返回錯誤資訊<br />glGetLight--返回光源參數值<br />glGetMap--返回求值器參數<br />glGetMaterial--返回材質參數<br />glGetPixelMap--返回指定的像素映像<br />glGetPointerv--返回頂點資料數組地址<br />glGetPolygonStipple--返回多邊形點畫模式<br />glGetString--返回描述當前OpenGL<br />glGetTexEnv--返回紋理環境參數<br />glGetTexGen--返回紋理座標產生參數<br />glGetTexImage--返回紋理映像<br />glGetTexLevelParameter--返回指定細節水平的紋理參數值<br />glGetTexParameter--返回紋理參數值<br />
GLU庫函數
-----------------------------------------------------------------<br />繪製NURBS曲線和曲面<br />-----------------------------------------------------------------<br />gluNewNurbsRenderer--建立一個NURBS對像<br />gluNurbsProperty--設定NURBS屬性<br />gluNurbsCallback--為NURBS對像定義回呼函數</p><p>gluBeginCurve--限定NURBS曲線的定義<br />gluEndCurve</p><p>gluNurbsCurve--定義NURBS曲線的形狀<br />gluDeleteNurbsRenderer--刪除NURBS對像</p><p>gluBeglnsurface--限定NURBS曲面的定義<br />gluEndsurface</p><p>gluNurbsSurface--定義NURBS曲面的形狀</p><p>gluBeginTrim--限定NURBS裁剪環的定義<br />gluEndTrim</p><p>gluPwlCurve--描述分段線性NURBS裁剪曲線</p><p>gluBeginPolygon--限定多邊形的定義<br />gluEndPolygon</p><p>gluPickMatrix--定義拾取地區</p><p>-----------------------------------------------------------------<br />繪製二次幾何物體<br />-----------------------------------------------------------------<br />gluNewQuadric--建立一個二次對象<br />gluQuadricDrawsope--指定二次對象的繪製方式<br />gluQuadricNormals--指定二次對象使用的法向量類型<br />gluQuadricorientation--指定二次對象的內側面或外側面方向<br />gluCylinder--繪製圓柱體<br />gluSphere--繪製球體<br />gluDisk--繪製圓盤<br />gluPartialDisk--繪製部分圓盤<br />gluDeleteQuadric--刪除二次對象<br />gluQuadricTexture--指定是否為二次對象使用紋理<br />gluQuadricCallback--為二次對象定義回調</p><p>-----------------------------------------------------------------<br />網格化<br />-----------------------------------------------------------------<br />gluNewTess--建立一個網格化對象<br />gluTessVertex--在多邊形上指定頂點<br />gluTessCallback--為網格化對象定義回調</p><p>gluTessBeglnPolygon--限定多邊形的描述<br />gluTessEndPolygon</p><p>gluTessBeglnContour--限定多邊形輪廓線的定義<br />gluTessEndContour</p><p>gluTessProperty--設定網格化對象的屬性<br />gluNextContour--標記開始繪製另一個輪廓線<br />gluTessNormal--為多邊形指定法向量<br />gluDeleteTess--刪除網格化對象</p><p>-----------------------------------------------------------------<br />座標變換<br />-----------------------------------------------------------------<br />gluOrtho2D--定義二維正視投影矩陣<br />gluPerspective--建立透視投影矩陣<br />gluLookAt--定義視景轉換<br />gluProject--將物體座標映射為視窗座標<br />gluUnProject--將視窗座標映射為物體座標</p><p>-----------------------------------------------------------------<br />多重新對應<br />-----------------------------------------------------------------<br />gluBuild1DMipmaps--建立一維多重新對應<br />gluBuild2DMipmaps--建立二維多重新對應<br />gluScaleImage--將映像縮放到任意尺寸</p><p>-----------------------------------------------------------------<br />查詢函數<br />-----------------------------------------------------------------<br />gluErrorString--從OpenGL或GLU錯誤碼中建置錯誤字串<br />gluGetNurbsProperty--獲得NURBS屬性<br />gluGetString--獲得描述GLU版本號碼或支援GLU擴充調用的字串<br />gluGetTessProperty--獲得網格化對象的屬性<br />
GLUT庫函數
-----------------------------------------------------------------<br />初始化和啟動事件處理<br />-----------------------------------------------------------------<br />glutInit--初始化GLUT庫<br />glutInitWindowPosition--設定初始視窗位置<br />glutInitWindowSize--設定初始視窗大小<br />glutInitDisplayMode--設定初始顯示模式<br />glutMainLoop--進入GLUT事件處理迴圈</p><p>-----------------------------------------------------------------<br />視窗管理<br />-----------------------------------------------------------------<br />glutCreateWindow--建立頂層視窗<br />glutCreateSubWindow--建立子視窗<br />glutHideWindow--隱藏當前視窗的顯示狀態<br />glutShowWindow--改變當前視窗的顯示狀態,使其顯示<br />glutSetWindowTitle--設定當前頂層視窗的視窗標題<br />glutSetIconTitle--設定當前頂層視窗的表徵圖標題<br />glutPostRedisplay--標記當前視窗需要重新繪製<br />glutSwapBuffers--交換當前視窗的緩衝<br />glutFullScreen--關閉全螢幕顯示<br />glutPositionWindow--申請改變當前視窗的位置<br />glutReshapeWindow--申請改變當前視窗的大小<br />glutSetWindow--設定當前視窗<br />glutGetWindow--獲得當前視窗的標識符<br />glutPopwindow--改變當前視窗的位置,使其前移<br />glutPushWindow--改變當前視窗的位置,使其後移<br />glutDestroyWindow--銷毀指定的視窗<br />glutIconifyWindow--使當前視窗表徵圖化顯示<br />glutSetCursor--設定當前視窗的滑鼠形狀</p><p>-----------------------------------------------------------------<br />重疊層管理<br />-----------------------------------------------------------------<br />glutEstablishOverlay--建立當前視窗的重疊層<br />glutUseLayer--改變當前視窗的使用層<br />glutRemoveOverlay--刪除當前視窗的重疊層<br />glutPostOverlayRedisplay--標記當前視窗的重疊層</p><p>-----------------------------------------------------------------<br />需要重新繪製<br />-----------------------------------------------------------------<br />glutShowOverlay--顯示當前視窗的重疊層<br />glutHideOverlay--顯示當前視窗的重疊層</p><p>-----------------------------------------------------------------<br />菜單管理<br />-----------------------------------------------------------------<br />glutCreateMenu--建立一個新的彈出式菜單<br />glutAddMenuEntry--在當前菜單的底部增加一個菜單條目<br />glutAddSubMenu--在當前菜單的底部增加一個子功能表觸發條目<br />glutAttachMenu--把當前視窗的一個滑鼠按鍵與當前菜單的標識符聯絡起來<br />glutGetMenu--擷取當前菜單的標識符<br />glutSetMenu--設定當前菜單<br />glutDestroyMenu--刪除指定的菜單<br />glutChangeToMenuEntry--將指定的當前菜單中的功能表項目更改為菜單條目<br />glutChangeToSubMenu--將指定的當前菜單中的功能表項目更改為子功能表觸發條目<br />glutRemoveMenuItem--刪除指定的功能表項目<br />glutDetachMenu--釋放當前視窗的一個滑鼠按鍵</p><p>-----------------------------------------------------------------<br />註冊回呼函數<br />-----------------------------------------------------------------<br />glutDispfayFunc--註冊當前視窗的顯示回呼函數<br />glutReshapeFunc--註冊當前視窗的形狀變化回呼函數<br />glutMouseFunc--註冊當前視窗的滑鼠回呼函數<br />glutMotionFunc--設定移動回呼函數<br />glutIdleFunc--設定全域的空閑回呼函數<br />glutVisibilityFunc--設定當前視窗的可視回呼函數<br />glutKeyboardFunc--註冊當前視窗的鍵盤迴調函數<br />glutSpecialFunc--設定當前視窗的特定鍵回呼函數<br />glutOverlayDisplayFunc--註冊當前視窗的重疊層顯示回呼函數<br />glutPassiveMotionFunc--設定當前視窗的被動移動回呼函數<br />glutEntryFunc--設定當前視窗的滑鼠進出回呼函數<br />glutSpaceballMotionFunc--設定當前視窗的空間球移動回呼函數<br />glutSpaceballRotateFunc--設定當前視窗的空間球旋轉回呼函數<br />glutSpaceballButtonFunc--設定當前視窗的空間球按鍵回呼函數<br />glutButtonBoxFunc--設定當前視窗的撥號按鍵盒按鍵回呼函數<br />glutDialsFunc--設定當前視窗的撥號按鍵盒撥號回呼函數<br />glutTabletMotionFunc--設定圖形板移動回呼函數<br />glutTabletButtonFunc--設定當前視窗的圖形板按鍵回呼函數<br />glutMenuStatusFunc--設定全域的菜單狀態回呼函數<br />glutTimerFunc--註冊按一定時間間隔觸發的定時器回呼函數</p><p>-----------------------------------------------------------------<br />顏色素引映射表管理<br />-----------------------------------------------------------------<br />glutSetColor--設定當前視窗當前層一個顏色表單元的顏色<br />glutGetColor--獲得指定的索引顏色<br />glutCopyColormap--將邏輯顏色表從指定的視窗拷貝到當前視窗</p><p>-----------------------------------------------------------------<br />狀態檢索<br />-----------------------------------------------------------------<br />glutGet--檢索指定的GLUT狀態<br />glutLayerGet--檢索屬於當前視窗重疊層的 GLU T狀態<br />glutDeviceGet--檢索GLUT裝置資訊<br />glutGetModifiers--返回修飾鍵在引起某些回調的事件發生時的狀態<br />glutExtensionSupported--判別當前OpenGL版本是否支援給定的OpenGL擴充</p><p>-----------------------------------------------------------------<br />字型繪製<br />-----------------------------------------------------------------<br />glutBltmapCharcter--繪製一個位元影像字元<br />glutBitmapWidth--返回一個位元影像字元的寬度<br />glutStrokeCharcter--繪製一個筆畫字元<br />glutStrokeWidth--返回一個筆畫字型的寬度</p><p>-----------------------------------------------------------------<br />幾何圖形繪製<br />-----------------------------------------------------------------<br />glutSolidSphere--繪製實心球體和線框球體<br />glutWireSphere</p><p>glutSolidCube--繪製實心立方體和線框立方體<br />glutWireCube</p><p>glutSolidCone--繪製實心圓錐體和線框圓錐體<br />glutWireCone</p><p>glutSolidTorus--繪製實心圓環和線框圓環<br />glutWireTorus</p><p>glutSolidDodecahedron--繪製實心十二面體和線框十二面體<br />glutWireDodecahedron</p><p>glutSolidOctahedron--繪製實心八面體和線框八面體<br />glutWireOctahedron</p><p>glutSolidTetrahedron--繪製實心四面體和線框四面體<br />glutWireTetrahedron</p><p>glutSolidIcosahedron--繪製實心二十面體和線框二十面體<br />glutWireIcosahedron</p><p>glutSolidTeapot--繪製實心茶壺和線框茶壺<br />glutWireTeapot<br />