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