OpenGL GLUT库函数汇总

合集下载

OpenGL函数

OpenGL函数

目录刷新 (2)glFlush (2)glutSwzpBuffers (2)glutPostRedisplay (2)回调 (2)glutKeyboardFunc (2)glutSpecialFunc (3)glutMouseFunc (3)glutReshapeFunc (3)glutDisplayFunc (4)glutTimerFunc (4)颜色: (4)glClearColor (4)glDrawBuffer (4)画笔及边属性 (5)glPointSize (5)glLineWidth (6)glEdgeFlag (7)glLineStipple (7)glPolygonStipple (7)glGetPolygonStipple (8)glPolygonMode (8)正反面效果 (8)glCullFace (8)glFrontFace (9)深度测试 (9)glClearDepth (9)glDepthFunc (9)glDepthMask (10)glDepthRange (10)模板测试 (10)glClearStencil (10)glStencilFunc (11)glStencilMask (12)glStencilOp (11)基本绘图: (12)glBegin / glEnd (12)glDisable/ glEnable (13)glOrtho (14)glViewport (15)glScissor (15)glutCreateWindow (15)glutMainloop (16)图元 (16)glVertex (16)glRect (17)刷新glFlushvoid glFlush();作用:刷新opengl命令队列和缓冲区glutSwzpBuffersvoid glutSwzpBuffers(void)作用:以双缓冲模式执行缓冲区交换glutPostRedisplayvoid glutPostRedisplay(void)作用:告诉GLUT刷新当前窗口说明:这个函数通知GLUT当前窗口需要进行刷新。

OpenGL 函数 gluLookAt

OpenGL 函数 gluLookAt

OpenGL 函数gluLookAt()glScalef() glTranslatef()glRotatef() glFrustum()glPerspective() 的使用1.gluLookAt()——视图变换函数把自己的眼睛当成是照相机,前三个参数表示眼睛的坐标,中间三个参数表示要拍照的物体的中心位置,可以理解成焦点吧,后三个参数表示头顶的朝向,比如说头可以歪着(哈哈)。

但是我测试过,如果歪的不对,原来的正前方现在已经不是正前方了,那么就看不见物体了。

举个例子:gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);//这个就表示头顶是朝着y方向gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0);//这个表示头歪了45度,头顶朝着(1.0,1.0,0.0)这个方向2.glScalef() ——模型变换函数缩放void glScalef(GLfloat x, GLfloat y, GLfloat z);模型变换的目的是设置模型的位置和方向,例如可以对模型进行旋转、移动和缩放,或者联合这几种操作。

这个函数表示模型在各轴上是如果进行缩放的。

举个例子:glScalef (1.0, 2.0, 1.0);//表示y坐标值扩大两倍,这样原本方的物体就变成长的了。

3.glTranslatef() ——模型变换函数移动void glTranslatef(GLfloat x, GLfloat y, GLfloat z);这个函数表示模型是怎样移动的。

举个例子:glTranslatef(-1.0,0.0,-2.0);//表示物体沿x负方向移动1.0,沿z轴负方向移动2.0。

所以就好像能看见侧面一样4.glRotatef()——模型变换函数旋转void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);angle表示旋转的角度(注意单位不是弧度),(x,y,z)表示转轴。

[专题]OpenGl函数解释

[专题]OpenGl函数解释

第一章使用顏色l. l glshadeModel--選擇平面明暗模式或光滑明暗模式1. 2 glColor--設置當前顏色1. 3 glColorPointer--定義顏色數組1. 4 gllndex--設置當前顏色索引1. 5 gllndexPointer--定義顏色索引數組1. 6 glCOforTableEXT--為目標調色板紋理指定調色板的格式和大小1. 7 glColorsubTableEXT--指定需要替代的目標紋理調色板的一部分第二章繪製幾何圖原及物體2. l glV ertex--指定頂點2. 2 glV ertexPointer--定義頂點數據數組2. 3 glArrayElement--指定用來繪製頂點的數組元素2. 4 glBegin, glEnd--限定一個或多個圖原頂點的繪製2. 5 glEdgeFlag, glEdgeFlagy--指定邊界標記2. 6 glPointsize--指定光柵化點的直徑2. 7 glLinewidth--指定光柵化直線的寬度2. 8 glLinestipple--指定點劃線2. 9 glPolygonMode--選擇多邊形光柵化模式2. 10 glFrontFace--定義正面多邊形和反反面多邊形2. 11 glPolygonstipple--設置多邊形點劃圖2. 12 glDrawElements--從數組數據繪製圖原2. 13 glRect--繪製矩形第三章坐標轉換3. l glTranslate--用平移矩陣乘以當前矩陣3. 2 glRotate--用旋轉矩陣乘以當前矩陣3. 3 glscale--用縮放矩陣乘以當前矩陣3. 4 glViewport--設置機口3. 5 glFrustum--用透視矩陣乘以當前矩陣3. 6 glorthO--用正視矩陣乘以當前矩陣3. 7 glClipPlane--指定切割幾何物體的平面第四章堆棧操作4. l glLoadMatrix--用任意矩陣替換當前矩陣4. 2 glMultMatrix--用任意矩陣乘以當前矩陣4. 3 glMatrixMode--指定哪一個矩陣是當前矩陣4. 4 glPushMatrix, glPopMatrix--壓人和彈出當前矩陣堆棧4. 5 glPushAttrib, glPopAttrib--壓人和彈出屬性堆棧4. 6 glPushClientAttrib, glPopClientAttrib--在客戶屬性堆棧中保存和恢復客戶狀態變量組4. 7 glPushName, gPopName--壓人和彈出名稱堆棧4. 8 gllnitNames--初始名稱堆棧4, 9 glLoadName--向名稱堆棧中裝載名稱第五章顯示列表5. l glNewList, glEndList--創建或替換一個顯示列表5. 2 glCallLISt--執行一個顯示列表5. 3 glCallLISts--執行一列顯示列表5. 4 glGenLists--生成一組空的相鄰的顯示列表5. 5 glDeleteLists--刪除一組相鄰的顯示列表5. 6 gllSLISt--檢驗顯示列表的存在第六章使用光照和材質6. l glNormal--設置當前的法向量6. 2 glNormalPointer--定義法向量數組6. 3 glLight--設置光源參數6. 4 glLightModel--設置光照模型參數6. 5 glMaterial--為光照模型指定材質參數6. 6 glColorMateria--使材質顏色跟蹤當前顏色第七章像素操作7. l glRasterPos--為像素操作指定光柵位置7. 2 glBitmap--繪製位圖7. 3 glReadPixels--從幀緩存中讀取一塊像素7. 4 glDrawPixels--將一個像素塊寫人幀緩存7. 5 glCopyPixels--在幀緩存中拷貝像素7. 6 glCopyTexlmage1D--將像素從幀緩存拷貝到一維紋理圖像中7. 7 glCopyTexlmageZD--把像素從幀緩存拷貝到二維紋理圖像中7. 8 glCopyTexsublmagelD--從幀緩存中拷貝一維紋理圖像的子圖像7. 9 glCopyTexsublmageZD--從幀緩存中拷貝二維紋理圖像的子圖像7. 10 glPixelZoom--指定像素縮放因子7. 11 glPixelstore--設置像素存儲模式7. 12 glPixelTransfer--設置像素傳輸模式7. 13 glPixelMap--設置像素傳輸映射表第八章紋理映射8. l glTexlmagelD--指定一維紋理圖像8. 2 glTexlmageZD--指定二維紋理映射8. 3 glTexParameter--設置紋理參數8. 4 glTexsublmage1D--指定已存在的一維紋理圖像的一部分8. 5 glTexsublmageZD--指定已存在的二維紋理圖像的一部分8. 6 glTexEnv--設置紋理環境參數8. 7 glTexCoord--設置當前紋理坐標8. 8 glTexGen--控制紋理坐標的生成8. 9 glTexCoordPointer--定義紋理坐標數組8. 10 glDeleteTextures--刪除命名的紋理第九章特殊效果操作9. l glBlendFunc--指定像素的數學算法9. 2 glHint--指定由實現確定的控制行為9. 3 glFOg--指定霧化參數第十章幀緩存操作10. l glClear--將緩存清除為預先的設置值10. 2 glClearAccum--設置累加緩存的清除值10. 3 glClearColor--設置顏色緩存的清除值10. 4 glClearDepth--設置深度緩存的清除值10. 5 glClearlndex--設置顏色索引緩存的清除值10. 6 glClearstencil--設置模板緩存的清除值10. 7 glDrawBuffer--指定繪製的顏色緩存10. 8 gllndexMask--控制顏色索引緩存中單個位的寫操作10. 9 glColorMask--激活或關閉幀緩存顏色分量的寫操作10. 10 glDepthMask--激活或關閉對深度緩存的寫操作10. 11 glstencilMask--控制模板平面中單個位的寫操作10. 12 glAlphaFunc-一指定alpha檢驗函數10. 13 glstencilFunc--設置模板檢驗函數和參考值10. 14 glstencilop--設置模板檢驗操作10. 15 glDepthFunc--指定深度比較中使用的數值10. 16 glDepthRange--指定從單位化的設備坐標到窗口坐標的z值映射10. 17 glLOgiCOp--為顏色索引繪製指定邏輯像素操作10. 18 glACCum--對累加緩存進行操作第十一章繪製曲線和曲面11. l glEvalCoord--求取激活的一維和二維紋理圖11. 2 glMapl--定義一維求值器11. 3 glMapZ--定義二維求值器11. 4 glMapGrid--定義一維或二維網格11. 5 glEvalMesh--計算一維或二維點網格或線網格11. 6 glEvalPoint--生成並求取網格中的單個點第十二章查詢函數12. l glGet--返回所選擇的參數值12. 2 glGetClipPlane--返回指定的切平面係數12. 3 glGetColorTableEXT--獲得當前目標紋理調色板的顏色表數據12. 4 glGetColorTableParameterfvEXT, glGetColorTableParameterlvEXT-從顏色表中獲得調色板參數12. 5 glGetError--返回錯誤信息12. 6 glGetLight--返回光源參數值12. 7 glGetMap--返回求值器參數12. 8 glGetMaterial--返回材質參數12. 9 glGetPixelMap--返回指定的像素映像12. 10 glGetPointery--返回頂點數據數組地J12. 11 glGetPolygonstipple--返回多邊形點戈12. 12 glGetstring--返回描述當前OpenGL12. 13 glGetTexEnv--返回紋理環境參數12. 14 glGetTexGen--返回紋理坐標生成參數12. 15 glGetTexlmage--返回紋理圖像12. 16 glGetTexLevelParameter--返回指定細節水平的紋理參數值12. 17 glGetTexParameter--返回紋理參數值第二篇GLU庫函數第一章繪製NURBS曲線和曲面1. l gluNewNurbsRenderer--創建一個NURBS對像1. 2 gluNurbsProperty--設置NURBS屬性1. 3 gluNurbsCallback--為NURBS對像定義回調函數1. 4 gluBeginCurve, gluEndCurve--限定NURBS曲線的定義1. 5 gluNurbsCurve--定義NURBS曲線的形狀1. 6 gluDeleteNurbsRenderer--刪除NURBS對像1. 7 gluBeglnsurface, gluEndsurface--限定NURBS曲面的定義1. 8 ghiNurbssurface--定義NURBS曲面的形狀1. 9 gluBeginTrim, gluEndTrim--限定NURBS裁剪環的定義1. 10 gluPwlCurve--描述分段線性NURBS裁剪曲線1. ll gfuBeglnPolygon, gluEndPolygon--限定多邊形的定義1. 12 gluPickMatrix--定義拾取區域第二章繪製二次幾何物體2. l gluNewQuadric--創建一個二次對象2. 2 gluQuadricDrawsope--指定二次對象的繪製方式2. 3 gluQuadricNormals--指定二次對象使用的法向量類型2. 4 gluQuadricorientation--指定二次對象的內側面或外側面方向2. 5 gluCylinder--繪製圓柱體2. 6 ghisphere--繪製球體2. 7 glllDISk--繪製圓盤2. 8 gluPartialDisk--繪製部分圓盤2. 9 gliJDeleteQuadric--刪除二次對象2. 10 gluQuadricTexture--指定是否為二次對象使用紋理2. 11 ghiQuadricCallback--為二次對象定義回調第三章網格化3. l gluNewTess--創建一個網格化對象3. 2 gluTessV ertex--在多邊形上指定頂點3. 3 gluTessCallback--為網格化對象定義回調3. 4 gluTessBeglnPolygon, ghiTessEndPolygon--限定多邊形的描述3. 5 gluTessBeglnContour, gluTessEndContour--限定多邊形輪廓線的定義3. 6 gluTessProperty--設置網格化對象的屬性3. 7 ghiNextContour--標記開始繪製另一個輪廓線3. 8 gluTessNormal--為多邊形指定法向量3. 9 gluDeleteTess--刪除網格化對象第四章坐標變換4. l gluOorthoZD--定義二維正視投影矩陣4. 2 gluPerspective--創建透視投影矩陣4. 3 gltlLOOkAt--定義視景轉換4. 4 gluProject--將物體坐標映射為窗口坐標4. 5 gluInProject--將窗口坐標映射力物體坐標第五章多重映射5. l gfuBuildlDMipmaps--創建一維多重映射5. 2 gluBuildZDMipmaps--創建H維多重映射5. 3 gluSCalelmage--將圖像縮放到任意尺寸第六章查詢函數6. l ghiErrorstring--從OpenGL或GLU錯誤代碼中生成錯誤字符串6. 2 gluGetNurbsProperty--獲得NURBS屬性6. 3 ghiGetstring--獲得描述GLU版本號或支持GLU擴展調用的字符串6. 4 ghiGetTessProperty--獲得網格化對象的屬性第三篇GLUT庫函數使用說明專用術語分類第一章初始化和啟動事件處理1. l ghjtlnit--初始化GLUT庫1. 2 glutlnitwindowPosition--設置初始窗口位置1. 3 glutlnitwindowsize--設置初始窗口大小1. 4 glutlnitDisplayMode--設置初始顯示模式1. 5 glutMainLoop--進人GLUT事件處理循環第二章窗口管理2. l glutCreatewindow--創建頂層窗口2. 2 glutCreatesubwindow--創建子窗口2. 3 ghitHidewindow--隱藏當前窗口的顯示狀態2. 4 glutshowwindow--改變當前窗口的顯示狀態, 使其顯示2. 5 gfutsetwindowTitle--設置當前頂層窗口的窗口標題2. 6 ghitsetlconTitle--設置當前頂層窗口的圖標標題2. 7 ghitPostRedisplay--標記當前窗口需要重新繪製2. 8 glutswapBuffers--交換當前窗口的緩存2. 9 glutFullscreen--關閉全屏顯示2. 10 glutPositionwindow--申請改變當前窗口的位置2. ll gintReshapewindow--申請改變當前窗口的大小2. 12 glutsetwindow--設置當前窗口2. 13 ghitGetwindow--獲得當前窗口的標識符2. 14 glutPopwindow--改變當前窗口的位置, 使其前移2. 15 ghitPtshwilldOO--改變當前窗口的位置, 使其後移2. 16 glutDestroywindow--銷毀指定的窗口2. 17 glutlconifywindow--使當前窗口圖標化顯示2. 18 glutsetCursor--設置當前窗口的鼠標形狀第三章重疊層管理3. l glutEstablishoverlay--創建當前窗口的重疊層3. 2 glutUseLayer--改變當前窗口的使用層3. 3 glutRemoveoverlay--刪除當前窗口的重疊層3. 4 glutPostoverlayRedisplay--標記當前窗口的重疊層需要重新繪製3. 5 glutshowoverlay--顯示當前窗口的重疊層3. 6 glutHideoverlay--顯示當前窗口的重疊層第四章菜單管理4. l glutCreateMenu--創建一個新的彈出式菜單4. 2 glutAddMenuEntry--在當前菜單的底部增加一個菜單條目4. 3 glutAddsubMenu--在當前菜單的底部增加一個子菜單觸發條目4. 4 glutAttachMenu--把當前窗口的一個鼠標按鍵與當前菜單的標識符聯繫起來4. 5 glutGetMenu--獲取當前菜單的標識符4. 6 glutsetMenu--設置當前菜單4. 7 glutDestroyMenu--刪除指定的菜單4. 8 glutChangeToMenuEntry--將指定的當前菜單中的菜單項更改為菜單條目4. 9 glutChangeTosubMenu--將指定的當前菜單中的菜單項更改為子菜單觸發條目4. 10 glutRemoveMenultem--刪除指定的菜單項4. 11 glutDetachMenu--釋放當前窗口的一個鼠標按鍵第五章註冊國調函數5. l glutDispfayFunc--註冊當前窗口的顯示回調函數5. 2 glutReshapeFunc--註冊當前窗口的形狀變化回調函數5. 3 glutMouseFunc--註冊當前窗口的鼠標回調函數5. 4 glutMotionFunc--設置移動回調函數5. 5 glutldleFunc--設置全局的空閒回調函數5. 6 glutV isibilityFunc--設置當前窗口的可視回調函數5. 7 glutKeyboardFunc--註冊當前窗口的鍵盤回調函數5. 8 glutspecialFunc--設置當前窗口的特定鍵回調函數5. 9 glutoverlayDisplayFunc--註冊當前窗口的重疊層顯示回調函數5. 10 glutPassiveMotionFunc--設置當前窗口的被動移動回調函數5. 11 glutEntryFunc--設置當前窗口的鼠標進出回調函數5. 12 glutspaceballMotionFunc--設置當前窗口的空間球移動回調函數5. 13 glutspaceballRotateFunc--設置當前窗口的空間球旋轉回調函數5. 14 glutspaceballButtonFunc--設置當前窗口的空間球按鍵回調函數5. 15 glutButtonBoxFunc--設置當前窗口的撥號按鍵盒按鍵回調函數5. 16 glutDialsFunc--設置當前窗口的撥號按鍵盒撥號回調函數5. 17 glutTabletMotionFunc--設置圖形板移動回調函數5. 18 glutTabletButtonFunc--設置當前窗口的圖形板按鍵回調函數5. 19 glutMenustatusFunc--設置全局的菜單狀態回調函數5. 20 glutTimerFunc--註冊按一定時間間隔觸發的定時器回調函數第六章顏色素引映射表管理6. l glutsetColor--設置當前窗口當前層一個顏色表單元的顏色6. 2 glutGetColor--獲得指定的索引顏色6. 3 glutCopyColormap--將邏輯顏色表從指定的窗口拷貝到當前窗口第七章狀態檢索7. l glutGet--檢索指定的GLUT狀態7. 2 glutLayerGet--檢索屬於當前窗口重疊層的GLU T狀態7. 3 glutDeviceGet--檢索GLUT設備信息7. 4 glutGetModifiers--返回修飾鍵在引起某些回調的事件發生時的狀態7. 5 glutExtensionsupported--判別當前OpenGL版本是否支持給定的OpenGL擴展第八章字體繪製8. l glutBltmapCharcter--繪製一個位圖字符8. 2 glutBitmapwidth--返回一個位圖字符的寬度8. 3 glutstrokeCharcter--繪製一個筆劃字符8. 4 glutstrokewidth--返回一個筆劃字體的寬度第九章幾何圖形繪製9. 1 glutSolidsphere, glutwiresphere--繪製實心球體和線框球體9. 2 glutsolidCube, glutwireCube--繪製實心立方體和線框立方體9. 3 glutsolidCone, glutwireCone--繪製實心圓錐體和線框圓錐體9. 4 glutsolidTorus, glutwireTorus--繪製實心圓環和線框圓環9. 5 glutSolidDOdeCahedroll, glLltwiFeDOdechedfotl--繪製實心十二面體和線框十二面體9. 6 glutSolidOctahedron, glutWireOctahedron--繪製買心八面體和線框八面體9. 7 glutsolldTetrahedron, glutwireTetrahedron--繪製實心四面體和線框四面體9. 8 glutSollelcosahedron, glutwirelcosahedron--繪製實心二十面體和線框二十面體9. 9 glutsolidTeapot, glutwireTeapot--繪製實心茶壺和線框茶壺。

glut常用函数介绍

glut常用函数介绍

GLUT常用函数介绍stephenxjc_千年一笑2010-7-29对象:GLUT的入门级(初学者)关键字:GLUT、函数核心内容:主要是通过在一个具体的程序中函数的作用平台:visual studio2008,需要配置好OpenGL32.lib、GLu32.lib、GlAux.Lib、glut32.lib和相应的dll文件。

正文1示例简单的一个主函数:glutInitWindowSize() ,glutCreateWindow()等函数比较简单,程序中的介绍已经足够。

下面重点介绍其它函数。

2glutInitDisplayMode()初始化显示模式。

这里主要采用RGB模式显示,并采用双缓存模式。

双缓存模式相对的是单缓存,双缓存是现在后台缓存绘制,在绘制完成后,将后台与前台缓存交换,后台变前台,前台变后台,达到快速输出的效果。

而单缓存,在绘制时就在唯一缓存中绘制,当绘制时间比较长时,会使屏幕比较卡。

3glutKeyBoardFunc(pressKeyboard)设定键盘响应函数为pressKeyboard,函数的结构为:其中,key为返回的按键的ASCII编码,x和y为鼠标的当前的位置。

4glutSpecialFunc(specialKey)实际也是针对按键响应,但与glutKeyBoardFunc相比,前者针对的是一些特殊的按键。

包括:GLUT_KEY_F1,GLUT_KEY_F2,GLUT_KEY_F3,GLUT_KEY_F4,GLUT_KEY_F5,GLUT_KEY_F6,GLUT_KEY _F7,GLUT_KEY_F8,GLUT_KEY_F9,GLUT_KEY_F10,GLUT_KEY_F11,GLUT_KEY_F12,GLUT_KEY_LEFT, GLUT_KEY_UP,GLUT_KEY_RIGHT,GLUT_KEY_DOWN,GLUT_KEY_PAGE_UP,GLUT_KEY_PAGE_DOW N,GLUT_KEY_HOME,GLUT_KEY_END,GLUT_KEY_INSERT。

OpenGL库函数一览表

OpenGL库函数一览表

OpenGL库函数列表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应用函数库]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 将窗口坐标映射为对象坐标一:GL库函数使用颜色glshadeModel--选择平面明暗模式或光滑明暗模式glColor--设置当前颜色glColorPointer--定义颜色数组gllndex--设置当前颜色索引gllndexPointer--定义颜色索引数组glCOforTableEXT--为目标调色板纹理指定调色板的格式和大小glColorsubTableEXT--指定需要替代的目标纹理调色板的一部分绘制几何图原及物体glVertex--指定顶点glVertexPointer--定义顶点数据数组glArrayElement--指定用来绘制顶点的数组元素glBegin,glEnd--限定一个或多个图原顶点的绘制glEdgeFlag,glEdgeFlagy--指定边界标记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--删除一组相邻的显示列表gllSLISt--检验显示列表的存在使用光照和材质glNormal--设置当前的法向量glNormalPointer--定义法向量数组glLight--设置光源参数glLightModel--设置光照模型参数glMaterial--为光照模型指定材质参数glColorMateria--使材质颜色跟踪当前颜色像素操作glRasterPos--为像素操作指定光栅位置glBitmap--绘制位图glReadPixels--从帧缓存中读取一块像素glDrawPixels--将一个像素块写人帧缓存glCopyPixels--在帧缓存中拷贝像素glCopyTexlmage1D--将像素从帧缓存拷贝到一维纹理图像中glCopyTexlmageZD--把像素从帧缓存拷贝到二维纹理图像中glCopyTexsublmagelD--从帧缓存中拷贝一维纹理图像的子图像glCopyTexsublmageZD--从帧缓存中拷贝二维纹理图像的子图像glPixelZoom--指定像素缩放因子glPixelstore--设置像素存储模式glPixelTransfer--设置像素传输模式glPixelMap--设置像素传输映射表纹理映射glTexlmagelD--指定一维纹理图像glTexlmageZD--指定二维纹理映射glTexParameter--设置纹理参数glTexsublmage1D--指定已存在的一维纹理图像的一部分glTexsublmageZD--指定已存在的二维纹理图像的一部分glTexEnv--设置纹理环境参数glTexCoord--设置当前纹理坐标glTexGen--控制纹理坐标的生成glTexCoordPointer--定义纹理坐标数组glDeleteTextures--删除命名的纹理特殊效果操作glBlendFunc--指定像素的数学算法glHint--指定由实现确定的控制行为glFOg--指定雾化参数帧缓存操作glClear--将缓存清除为预先的设置值glClearAccum--设置累加缓存的清除值glClearColor--设置颜色缓存的清除值glClearDepth--设置深度缓存的清除值glClearlndex--设置颜色索引缓存的清除值glClearstencil--设置模板缓存的清除值glDrawBuffer--指定绘制的颜色缓存gllndexMask--控制颜色索引缓存中单个位的写操作glColorMask--激活或关闭帧缓存颜色分量的写操作glDepthMask--激活或关闭对深度缓存的写操作glstencilMask--控制模板平面中单个位的写操作glAlphaFunc-一指定alpha检验函数glstencilFunc--设置模板检验函数和参考值glstencilop--设置模板检验操作glDepthFunc--指定深度比较中使用的数值glDepthRange--指定从单位化的设备坐标到窗口坐标的z值映射glLOgiCOp--为颜色索引绘制指定逻辑像素操作glACCum--对累加缓存进行操作绘制曲线和曲面glEvalCoord--求取激活的一维和二维纹理图glMapl--定义一维求值器glMapZ--定义二维求值器glMapGrid--定义一维或二维网格glEvalMesh--计算一维或二维点网格或线网格glEvalPoint--生成并求取网格中的单个点查询函数glGet--返回所选择的参数值glGetClipPlane--返回指定的切平面系数glGetColorTableEXT--获得当前目标纹理调色板的颜色表数据glGetColorTableParameterfvEXT,glGetColorTableParameterlvEXT-从颜色表中获得调色板参数glGetError--返回错误信息glGetLight--返回光源参数值glGetMap--返回求值器参数glGetMaterial--返回材质参数glGetPixelMap--返回指定的像素映像glGetPointery--返回顶点数据数组地JglGetPolygonstipple--返回多边形点戈glGetstring--返回描述当前OpenGLglGetTexEnv--返回纹理环境参数glGetTexGen--返回纹理坐标生成参数glGetTexlmage--返回纹理图像glGetTexLevelParameter--返回指定细节水平的纹理参数值glGetTexParameter--返回纹理参数值二:GLU库函数绘制NURBS曲线和曲面gluNewNurbsRenderer--创建一个NURBS对像gluNurbsProperty--设置NURBS属性gluNurbsCallback--为NURBS对像定义回调函数gluBeginCurve,gluEndCurve--限定NURBS曲线的定义gluNurbsCurve--定义NURBS曲线的形状gluDeleteNurbsRenderer--删除NURBS对像gluBeglnsurface,gluEndsurface--限定NURBS曲面的定义ghiNurbssurface--定义NURBS曲面的形状gluBeginTrim,gluEndTrim--限定NURBS裁剪环的定义gluPwlCurve--描述分段线性NURBS裁剪曲线gfuBeglnPolygon, gluEndPolygon--限定多边形的定义gluPickMatrix--定义拾取区域绘制二次几何物体gluNewQuadric--创建一个二次对象gluQuadricDrawsope--指定二次对象的绘制方式gluQuadricNormals--指定二次对象使用的法向量类型gluQuadricorientation--指定二次对象的内侧面或外侧面方向gluCylinder--绘制圆柱体ghisphere--绘制球体glllDISk--绘制圆盘gluPartialDisk--绘制部分圆盘gliJDeleteQuadric--删除二次对象gluQuadricTexture--指定是否为二次对象使用纹理ghiQuadricCallback--为二次对象定义回调网格化gluNewTess--创建一个网格化对象gluTessVertex--在多边形上指定顶点gluTessCallback--为网格化对象定义回调gluTessBeglnPolygon,ghiTessEndPolygon--限定多边形的描述gluTessBeglnContour,gluTessEndContour--限定多边形轮廓线的定义gluTessProperty--设置网格化对象的属性ghiNextContour--标记开始绘制另一个轮廓线gluTessNormal--为多边形指定法向量gluDeleteTess--删除网格化对象坐标变换gluOorthoZD--定义二维正视投影矩阵gluPerspective--创建透视投影矩阵gltlLOOkAt--定义视景转换gluProject--将物体坐标映射为窗口坐标gluInProject--将窗口坐标映射力物体坐标多重映射gfuBuildlDMipmaps--创建一维多重映射gluBuildZDMipmaps--创建H维多重映射gluSCalelmage--将图像缩放到任意尺寸查询函数ghiErrorstring--从OpenGL或GLU错误代码中生成错误字符串gluGetNurbsProperty--获得NURBS属性ghiGetstring--获得描述GLU版本号或支持GLU扩展调用的字符串ghiGetTessProperty--获得网格化对象的属性三:GLUT库函数初始化和启动事件处理ghjtlnit--初始化GLUT库glutlnitwindowPosition--设置初始窗口位置glutlnitwindowsize--设置初始窗口大小glutlnitDisplayMode--设置初始显示模式glutMainLoop--进人GLUT事件处理循环窗口管理glutCreatewindow--创建顶层窗口glutCreatesubwindow--创建子窗口ghitHidewindow--隐藏当前窗口的显示状态glutshowwindow--改变当前窗口的显示状态,使其显示gfutsetwindowTitle--设置当前顶层窗口的窗口标题ghitsetlconTitle--设置当前顶层窗口的图标标题ghitPostRedisplay--标记当前窗口需要重新绘制glutswapBuffers--交换当前窗口的缓存glutFullscreen--关闭全屏显示glutPositionwindow--申请改变当前窗口的位置gintReshapewindow--申请改变当前窗口的大小glutsetwindow--设置当前窗口ghitGetwindow--获得当前窗口的标识符glutPopwindow--改变当前窗口的位置,使其前移ghitPtshwilldOO--改变当前窗口的位置,使其后移glutDestroywindow--销毁指定的窗口glutlconifywindow--使当前窗口图标化显示glutsetCursor--设置当前窗口的鼠标形状重叠层管理glutEstablishoverlay--创建当前窗口的重叠层glutUseLayer--改变当前窗口的使用层glutRemoveoverlay--删除当前窗口的重叠层glutPostoverlayRedisplay--标记当前窗口的重叠层需要重新绘制glutshowoverlay--显示当前窗口的重叠层glutHideoverlay--显示当前窗口的重叠层菜单管理glutCreateMenu--创建一个新的弹出式菜单glutAddMenuEntry--在当前菜单的底部增加一个菜单条目glutAddsubMenu--在当前菜单的底部增加一个子菜单触发条目glutAttachMenu--把当前窗口的一个鼠标按键与当前菜单的标识符联系起来glutGetMenu--获取当前菜单的标识符glutsetMenu--设置当前菜单glutDestroyMenu--删除指定的菜单glutChangeToMenuEntry--将指定的当前菜单中的菜单项更改为菜单条目glutChangeTosubMenu--将指定的当前菜单中的菜单项更改为子菜单触发条目glutRemoveMenultem--删除指定的菜单项glutDetachMenu--释放当前窗口的一个鼠标按键注册国调函数glutDispfayFunc--注册当前窗口的显示回调函数glutReshapeFunc--注册当前窗口的形状变化回调函数glutMouseFunc--注册当前窗口的鼠标回调函数glutMotionFunc--设置移动回调函数glutldleFunc--设置全局的空闲回调函数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--绘制实心圆环和线框圆环glutSolidDOdeCahedroll,glLltwiFeDOdechedfotl--绘制实心十二面体和线框十二面体glutSolidOctahedron,glutWireOctahedron--绘制买心八面体和线框八面体glutsolldTetrahedron,glutwireTetrahedron--绘制实心四面体和线框四面体glutSollelcosahedron,glutwirelcosahedron--绘制实心二十面体和线框二十面体glutsolidTeapot,glutwireTeapot--绘制实心茶壶和线框茶壶glut库下的所有函数:[全部展开/还原]一、初始化void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。

OpenGL学习笔记

OpenGL学习笔记

OpenGL入门课程第一课#include <GL/glut.h>void myDisplay(void){glClear(GL_COLOR_BUFFER_BIT);glRectf(-0.5f, -0.5f, 0.5f, 0.5f);glFlush();}int main(int argc, char *argv[]){glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);glutInitWindowPosition(100, 100);glutInitWindowSize(400, 400);glutCreateWindow("第一个OpenGL程序");glutDisplayFunc(&myDisplay);glutMainLoop();return 0;}1、glutInit(&argc, argv),对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。

其格式比较死板,一般照抄这句glutInit(&argc, argv)就可以了。

2、glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)。

GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)。

更多信息,请自己Google。

当然以后的教程也会有一些讲解。

3、glutInitWindowPosition(int,int),这个简单,设置窗口在屏幕中的位置。

4、glutInitWindowSize(int,int),这个也简单,设置窗口的大小。

5、glutCreateWindow(char *str),根据前面设置的信息创建窗口。

GLUT函数库

GLUT函数库

GLUT 工具箱函数GLUT工具箱提供几种图形3维图形的函数:void glutWireSphere(GLdouble radius,GLint slices, GLint stacks); 丝状球void glutSolidSphere(GLdouble radius,GLint slices, GLint stacks); 实心球void glutWireCube(GLdouble size); 丝状立方体void glutSolidCube(GLdouble size); 实心立方体void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,GLint nsides,GLint rings); 丝状花环void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,GLint nsides,GLint rings); 实心花环void glutWireIcosahedron(void); 丝状20面体void glutSolidIcosahedron(void); 实心20面体void glutWireOctahedron(void); 丝状8面体void glutSolidOctahedron(void); 实心8面体void glutWireTetrahedron(void); 丝状4面体void glutSolidTetrahedron(void); 实心4面体void glutWireDodecahedron(GLdouble radius); 丝状12面体void glutSolidDodecahedron(GLdouble radius); 实心12面体void glutWireCone(GLdouble radius, GLdouble height,GLint slices,GLint stacks); 丝状圆锥体void glutSolidCone(GLdouble radius, GLdouble height,GLint slices,GLint stacks); 实心圆锥体void glutWireTeapot(GLdouble size); 丝状茶壶void glutSolidTeapot(GLdouble size); 实心茶壶如果需要用到长方体那就用glScalef(x,y,z); 做自己想要的长方体,这儿的x,y,z 分别对应x,y,z轴的缩放比例不过居然没有看到圆柱体的函数。

OpenGL库函数一览表

OpenGL库函数一览表

OpenGL库函数⼀览表OpenGL库函数列表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应⽤函数库]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 将窗⼝坐标映射为对象坐标⼀:GL库函数使⽤颜⾊glshadeModel--选择平⾯明暗模式或光滑明暗模式glColor--设置当前颜⾊glColorPointer--定义颜⾊数组gllndex--设置当前颜⾊索引gllndexPointer--定义颜⾊索引数组glCOforTableEXT--为⽬标调⾊板纹理指定调⾊板的格式和⼤⼩glColorsubTableEXT--指定需要替代的⽬标纹理调⾊板的⼀部分绘制⼏何图原及物体glVertex--指定顶点glVertexPointer--定义顶点数据数组glArrayElement--指定⽤来绘制顶点的数组元素glBegin,glEnd--限定⼀个或多个图原顶点的绘制glEdgeFlag,glEdgeFlagy--指定边界标记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--删除⼀组相邻的显⽰列表gllSLISt--检验显⽰列表的存在使⽤光照和材质glNormal--设置当前的法向量glNormalPointer--定义法向量数组glLight--设置光源参数glLightModel--设置光照模型参数glMaterial--为光照模型指定材质参数glColorMateria--使材质颜⾊跟踪当前颜⾊像素操作glRasterPos--为像素操作指定光栅位置glBitmap--绘制位图glReadPixels--从帧缓存中读取⼀块像素glDrawPixels--将⼀个像素块写⼈帧缓存glCopyPixels--在帧缓存中拷贝像素glCopyTexlmage1D--将像素从帧缓存拷贝到⼀维纹理图像中glCopyTexlmageZD--把像素从帧缓存拷贝到⼆维纹理图像中glCopyTexsublmagelD--从帧缓存中拷贝⼀维纹理图像的⼦图像glCopyTexsublmageZD--从帧缓存中拷贝⼆维纹理图像的⼦图像glPixelZoom--指定像素缩放因⼦glPixelstore--设置像素存储模式glPixelTransfer--设置像素传输模式glPixelMap--设置像素传输映射表纹理映射glTexlmagelD--指定⼀维纹理图像glTexlmageZD--指定⼆维纹理映射glTexParameter--设置纹理参数glTexsublmage1D--指定已存在的⼀维纹理图像的⼀部分glTexsublmageZD--指定已存在的⼆维纹理图像的⼀部分glTexEnv--设置纹理环境参数glTexCoord--设置当前纹理坐标glTexGen--控制纹理坐标的⽣成glTexCoordPointer--定义纹理坐标数组glDeleteTextures--删除命名的纹理特殊效果操作glBlendFunc--指定像素的数学算法glHint--指定由实现确定的控制⾏为glFOg--指定雾化参数帧缓存操作glClear--将缓存清除为预先的设置值glClearAccum--设置累加缓存的清除值glClearColor--设置颜⾊缓存的清除值glClearDepth--设置深度缓存的清除值glClearlndex--设置颜⾊索引缓存的清除值glClearstencil--设置模板缓存的清除值glDrawBuffer--指定绘制的颜⾊缓存gllndexMask--控制颜⾊索引缓存中单个位的写操作glColorMask--激活或关闭帧缓存颜⾊分量的写操作glDepthMask--激活或关闭对深度缓存的写操作glstencilMask--控制模板平⾯中单个位的写操作glAlphaFunc-⼀指定alpha检验函数glstencilFunc--设置模板检验函数和参考值glstencilop--设置模板检验操作glDepthFunc--指定深度⽐较中使⽤的数值glDepthRange--指定从单位化的设备坐标到窗⼝坐标的z值映射glLOgiCOp--为颜⾊索引绘制指定逻辑像素操作glACCum--对累加缓存进⾏操作绘制曲线和曲⾯glEvalCoord--求取激活的⼀维和⼆维纹理图glMapl--定义⼀维求值器glMapZ--定义⼆维求值器glMapGrid--定义⼀维或⼆维⽹格glEvalMesh--计算⼀维或⼆维点⽹格或线⽹格glEvalPoint--⽣成并求取⽹格中的单个点查询函数glGet--返回所选择的参数值glGetClipPlane--返回指定的切平⾯系数glGetColorTableEXT--获得当前⽬标纹理调⾊板的颜⾊表数据glGetColorTableParameterfvEXT,glGetColorTableParameterlvEXT-从颜⾊表中获得调⾊板参数glGetError--返回错误信息glGetLight--返回光源参数值glGetMap--返回求值器参数glGetMaterial--返回材质参数glGetPixelMap--返回指定的像素映像glGetPointery--返回顶点数据数组地JglGetPolygonstipple--返回多边形点⼽glGetstring--返回描述当前OpenGLglGetTexEnv--返回纹理环境参数glGetTexGen--返回纹理坐标⽣成参数glGetTexlmage--返回纹理图像glGetTexLevelParameter--返回指定细节⽔平的纹理参数值glGetTexParameter--返回纹理参数值⼆:GLU库函数绘制NURBS曲线和曲⾯gluNewNurbsRenderer--创建⼀个NURBS对像gluNurbsProperty--设置NURBS属性gluNurbsCallback--为NURBS对像定义回调函数gluBeginCurve,gluEndCurve--限定NURBS曲线的定义gluNurbsCurve--定义NURBS曲线的形状gluDeleteNurbsRenderer--删除NURBS对像gluBeglnsurface,gluEndsurface--限定NURBS曲⾯的定义ghiNurbssurface--定义NURBS曲⾯的形状gluBeginTrim,gluEndTrim--限定NURBS裁剪环的定义gluPwlCurve--描述分段线性NURBS裁剪曲线gfuBeglnPolygon, gluEndPolygon--限定多边形的定义gluPickMatrix--定义拾取区域绘制⼆次⼏何物体gluNewQuadric--创建⼀个⼆次对象gluQuadricDrawsope--指定⼆次对象的绘制⽅式gluQuadricNormals--指定⼆次对象使⽤的法向量类型gluQuadricorientation--指定⼆次对象的内侧⾯或外侧⾯⽅向gluCylinder--绘制圆柱体ghisphere--绘制球体glllDISk--绘制圆盘gluPartialDisk--绘制部分圆盘gliJDeleteQuadric--删除⼆次对象gluQuadricTexture--指定是否为⼆次对象使⽤纹理ghiQuadricCallback--为⼆次对象定义回调⽹格化gluNewTess--创建⼀个⽹格化对象gluTessVertex--在多边形上指定顶点gluTessCallback--为⽹格化对象定义回调gluTessBeglnPolygon,ghiTessEndPolygon--限定多边形的描述gluTessBeglnContour,gluTessEndContour--限定多边形轮廓线的定义gluTessProperty--设置⽹格化对象的属性ghiNextContour--标记开始绘制另⼀个轮廓线gluTessNormal--为多边形指定法向量gluDeleteTess--删除⽹格化对象坐标变换gluOorthoZD--定义⼆维正视投影矩阵gluPerspective--创建透视投影矩阵gltlLOOkAt--定义视景转换gluProject--将物体坐标映射为窗⼝坐标gluInProject--将窗⼝坐标映射⼒物体坐标多重映射gfuBuildlDMipmaps--创建⼀维多重映射gluBuildZDMipmaps--创建H维多重映射gluSCalelmage--将图像缩放到任意尺⼨查询函数ghiErrorstring--从OpenGL或GLU错误代码中⽣成错误字符串gluGetNurbsProperty--获得NURBS属性ghiGetstring--获得描述GLU版本号或⽀持GLU扩展调⽤的字符串ghiGetTessProperty--获得⽹格化对象的属性三:GLUT库函数初始化和启动事件处理ghjtlnit--初始化GLUT库glutlnitwindowPosition--设置初始窗⼝位置glutlnitwindowsize--设置初始窗⼝⼤⼩glutlnitDisplayMode--设置初始显⽰模式glutMainLoop--进⼈GLUT事件处理循环窗⼝管理glutCreatewindow--创建顶层窗⼝glutCreatesubwindow--创建⼦窗⼝ghitHidewindow--隐藏当前窗⼝的显⽰状态glutshowwindow--改变当前窗⼝的显⽰状态,使其显⽰gfutsetwindowTitle--设置当前顶层窗⼝的窗⼝标题ghitsetlconTitle--设置当前顶层窗⼝的图标标题ghitPostRedisplay--标记当前窗⼝需要重新绘制glutswapBuffers--交换当前窗⼝的缓存glutFullscreen--关闭全屏显⽰glutPositionwindow--申请改变当前窗⼝的位置gintReshapewindow--申请改变当前窗⼝的⼤⼩glutsetwindow--设置当前窗⼝ghitGetwindow--获得当前窗⼝的标识符glutPopwindow--改变当前窗⼝的位置,使其前移ghitPtshwilldOO--改变当前窗⼝的位置,使其后移glutDestroywindow--销毁指定的窗⼝glutlconifywindow--使当前窗⼝图标化显⽰glutsetCursor--设置当前窗⼝的⿏标形状重叠层管理glutEstablishoverlay--创建当前窗⼝的重叠层glutUseLayer--改变当前窗⼝的使⽤层glutRemoveoverlay--删除当前窗⼝的重叠层glutPostoverlayRedisplay--标记当前窗⼝的重叠层需要重新绘制glutshowoverlay--显⽰当前窗⼝的重叠层glutHideoverlay--显⽰当前窗⼝的重叠层菜单管理glutCreateMenu--创建⼀个新的弹出式菜单glutAddMenuEntry--在当前菜单的底部增加⼀个菜单条⽬glutAddsubMenu--在当前菜单的底部增加⼀个⼦菜单触发条⽬glutAttachMenu--把当前窗⼝的⼀个⿏标按键与当前菜单的标识符联系起来glutGetMenu--获取当前菜单的标识符glutsetMenu--设置当前菜单glutDestroyMenu--删除指定的菜单glutChangeToMenuEntry--将指定的当前菜单中的菜单项更改为菜单条⽬glutChangeTosubMenu--将指定的当前菜单中的菜单项更改为⼦菜单触发条⽬glutRemoveMenultem--删除指定的菜单项glutDetachMenu--释放当前窗⼝的⼀个⿏标按键注册国调函数glutDispfayFunc--注册当前窗⼝的显⽰回调函数glutReshapeFunc--注册当前窗⼝的形状变化回调函数glutMouseFunc--注册当前窗⼝的⿏标回调函数glutMotionFunc--设置移动回调函数glutldleFunc--设置全局的空闲回调函数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--绘制实⼼圆环和线框圆环glutSolidDOdeCahedroll,glLltwiFeDOdechedfotl--绘制实⼼⼗⼆⾯体和线框⼗⼆⾯体glutSolidOctahedron,glutWireOctahedron--绘制买⼼⼋⾯体和线框⼋⾯体glutsolldTetrahedron,glutwireTetrahedron--绘制实⼼四⾯体和线框四⾯体glutSollelcosahedron,glutwirelcosahedron--绘制实⼼⼆⼗⾯体和线框⼆⼗⾯体glutsolidTeapot,glutwireTeapot--绘制实⼼茶壶和线框茶壶glut库下的所有函数:[全部展开/还原]⼀、初始化void glutInit(int* argc,char** argv)这个函数⽤来初始化GLUT库。

OpenGL库函数大全

OpenGL库函数大全

1.OpenGL核心库核心库包含有115个函数,函数名的前缀为gl。

这部分函数用于常规的、核心的图形处理。

此函数由gl.dll来负责解释执行。

由于许多函数可以接收不同数以下几类。

据类型的参数,因此派生出来的函数原形多达300多个。

核心库中的函数主要可以分为以下几类函数:(1)绘制基本几何图元的函数。

如绘制图元的函数glBegain()、glEnd()、glNormal*()、glVertex*()。

(2)矩阵操作、几何变换和投影变换的函数。

如矩阵入栈函数glPushMatrix()、矩阵出栈函数glPopMatrix()、装载矩阵函数glLoadMatrix()、矩阵相乘函数glMultMatrix(),当前矩阵函数glMatrixMode()和矩阵标准化函数glLoadIdentity(),几何变换函数glTranslate*()、glRotate*()和glScale*(),投影变换函数glOrtho()、glFrustum()和视口变换函数glViewport()等等。

(3)颜色、光照和材质的函数。

如设置颜色模式函数glColor*()、glIndex*(),设置光照效果的函数glLight*() 、glLightModel*()和设置材质效果函数glMaterial()等等。

(4)显示列表函数、主要有创建、结束、生成、删除和调用显示列表的函数glNewList()、glEndList()、glGenLists()、glCallList()和glDeleteLists()。

(5)纹理映射函数,主要有一维纹理函数glTexImage1D()、二维纹理函数glTexImage2D()、设置纹理参数、纹理环境和纹理坐标的函数glTexParameter*()、glTexEnv*()和glTetCoord*()等。

(6)特殊效果函数。

融合函数glBlendFunc()、反走样函数glHint()和雾化效果glFog*()。

OpenGL 中 GLUT 消息事件处理函数

OpenGL 中 GLUT 消息事件处理函数

OpenGL 中GLUT 消息事件处理函数GLUT是一套OpenGL 的辅助函数库,他使我们能十分简单的设置各种消息处理函数,而且与平台无关,也就是说如果使用glut 在windows 下编译通过的程序无需更改便可在Linux, 和Mac OS 下的编译运行,这一点是十分有用的,要知道Win32 API 繁琐的代码走出了Windows 的窗户可什么也干不了。

给GLUT 作了这么多广告,让我们看看他是怎么用的。

GLUT的基本功能包括窗口初始化功能、事件处理、窗口和菜单管理、回调函数注册和几何建模功能。

窗口初始化功能,它有4个函数。

主要用于处理初始化并以及命令行参数,初始化显示模式,指定窗口左上角在屏幕上的位置和窗口大小,以像素为单位。

事件处理只有一个函数,它用于显示创建的窗口、处理输入的事件、触发回调函数、进入循环直到程序退出。

窗口管理包含18个函数,用于建立、销毁窗口及可能的子窗口,管理和设置窗口的属性。

在GLUT中有20个回调函数,用于响应用户事件。

最重要的回调函数是glutDisplayFunc,当GLUT认为需要重新显示窗口内容时,都将执行这一函数注册的回调函数。

另外一些重要的回调函数注册函数有:函数glutRe-shapeFunc用于注册窗口大小改变这一事件发生时GLUT将调用的函数。

glutKeyboardFunc和glutMouseFunc用于注册键盘和鼠标事件发生时的回调函数。

函数glutMotionFunc 注册鼠标移动事件的回调函数。

这3个函数用于人机交互处理。

在没有其他事件处理时,GLUT将调用函数glutldleFunc注册的函数,而函数glutTimerFunc则注册处理定时器事件的函数。

penGL绘图函数只能生成点、直线、多边形等简单的几何图元,GLUT提供了18个创建三维物体的函数。

利用它们可以创建9种三维物体,如圆锥体、立方体、球体等,每一物体有线框和实体2种方式。

glut函数解析1

glut函数解析1

glut函数解析1glut函数解析1:显示模式:glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);//创建窗口时使用单缓冲,并且使用RGB颜色模型。

和GLUT_SINGLE对应的有GLUT_DOUBLE双缓冲,主要用于动画。

2:创建OpenGL窗口:glutCreateWindow("窗口名");3:回调函数:glutDisplayFunc(RenderScene);glutReshapeFunc(ChangeSize);分别用于指定当前窗口的显示回调函数和再整型回调函数,回调函数是为了响应某种事件而响应的函数,是由程序员编写的。

需要绘制窗口就要调用glutDisplayFunc();而当窗口发生变化时就调用glutReshapeFunc();4;执行函数:glutMainLoop();//这个函数让GLUT框架开始运行,所有设置的回调函数开始运行,直到用户程序终止。

5:OpenGL初始化:SetupRC(){}6:glClearColor(1.0f,1.0f,1.0f,1.0f);//设置清除窗口时使用的颜色,即设定窗口内的背景色。

7:定义视区:void glViewport(GLint x,GLint y,GLsizei width,GLsizei height);//在这里x和y参数指定窗口的左下角,width和height参数以像素为单位指定宽度和高度。

通常情况下x和y都是0,但是可以用视区来渲染窗口不同区域中的多幅图形。

8:利用函数glOrtho定义修剪区;void glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far);//函数在3D 坐标系中定义了一个修剪空间,left和right指定X轴上显示的最小和最大坐标;bottom和top用于Y轴;near和far参数用于Z轴,通常是远离观察者的负值。

OpenGL中常用的GLUT函数库讲解

OpenGL中常用的GLUT函数库讲解

OpenGL 中常用的GLUT 函数库GLUT函数说明一、初始化void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。

对应main 函数的形式应是:int main(int argc,char* argv[]);这个函数从main 函数获取其两个参数。

1void glutInitWindowSize(int width,int height);2voidglutInitWindowPosition(int x,int y);设置glut程序要产生的窗口的大小和位置(左上角)。

以像素为单位。

void glutInitDisplayMode(unsigned int mode);设置图形显示模式。

参数mode的可选值为:∙GLUT_RGBA:当未指明GLUT-RGBA或GLUT-INDEX时,是默认使用的模式。

表明欲建立RGBA模式的窗口。

∙GLUT_RGB:与GLUT-RGBA作用相同。

∙GLUT_INDEX:指明为颜色索引模式。

∙GLUT_SINGLE:只使用单缓存∙GLUT_DOUBLE:使用双缓存。

以避免把计算机作图的过程都表现出来,或者为了平滑地实现动画。

∙GLUT_ACCUM:让窗口使用累加的缓存。

∙GLUT_ALPHA:让颜色缓冲区使用alpha组件。

∙GLUT_DEPTH:使用深度缓存。

∙GLUT_STENCIL:使用模板缓存。

∙GLUT_MULTISAMPLE:让窗口支持多例程。

∙GLUT_STEREO:使窗口支持立体。

GLUT_LUMINACE: luminance是亮度的意思。

但是很遗憾,在多数Ope nGL平台上,不被支持。

二、事件处理(Event Processing)void glutMainLoop(void)让glut 程序进入事件循环。

在一个glut程序中最多只能调用一次。

一旦调用,会直到程序结束才返回。

三、窗口管理(Window Management)int glutCreateWindow(char* name);产生一个顶层的窗口。

OpenGL主要函数

OpenGL主要函数

1opengl 函数查询一:GL库函数使用颜色glshadeModel--选择平面明暗模式或光滑明暗模式glColor--设置当前颜色glColorPointer--定义颜色数组gllndex--设置当前颜色索引gllndexPointer--定义颜色索引数组glCOforTableEXT--为目标调色板纹理指定调色板的格式和大小glColorsubTableEXT--指定需要替代的目标纹理调色板的一部分绘制几何图原及物体glVertex--指定顶点glVertexPointer--定义顶点数据数组glArrayElement--指定用来绘制顶点的数组元素glBegin,glEnd--限定一个或多个图原顶点的绘制glEdgeFlag,glEdgeFlagy--指定边界标记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--初始名称堆栈2glLoadName--向名称堆栈中装载名称显示列表glNewList,glEndList--创建或替换一个显示列表glCallLISt--执行一个显示列表glCallLISts--执行一列显示列表glGenLists--生成一组空的相邻的显示列表glDeleteLists--删除一组相邻的显示列表gllSLISt--检验显示列表的存在使用光照和材质glNormal--设置当前的法向量glNormalPointer--定义法向量数组glLight--设置光源参数glLightModel--设置光照模型参数glMaterial--为光照模型指定材质参数glColorMateria--使材质颜色跟踪当前颜色像素操作glRasterPos--为像素操作指定光栅位置glBitmap--绘制位图glReadPixels--从帧缓存中读取一块像素glDrawPixels--将一个像素块写人帧缓存glCopyPixels--在帧缓存中拷贝像素glCopyTexlmage1D--将像素从帧缓存拷贝到一维纹理图像中glCopyTexlmageZD--把像素从帧缓存拷贝到二维纹理图像中glCopyTexsublmagelD--从帧缓存中拷贝一维纹理图像的子图像glCopyTexsublmageZD--从帧缓存中拷贝二维纹理图像的子图像glPixelZoom--指定像素缩放因子glPixelstore--设置像素存储模式glPixelTransfer--设置像素传输模式glPixelMap--设置像素传输映射表纹理映射glTexlmagelD--指定一维纹理图像glTexlmageZD--指定二维纹理映射glTexParameter--设置纹理参数glTexsublmage1D--指定已存在的一维纹理图像的一部分glTexsublmageZD--指定已存在的二维纹理图像的一部分glTexEnv--设置纹理环境参数glTexCoord--设置当前纹理坐标glTexGen--控制纹理坐标的生成glTexCoordPointer--定义纹理坐标数组glDeleteTextures--删除命名的纹理特殊效果操作glBlendFunc--指定像素的数学算法glHint--指定由实现确定的控制行为glFOg--指定雾化参数3帧缓存操作glClear--将缓存清除为预先的设置值glClearAccum--设置累加缓存的清除值glClearColor--设置颜色缓存的清除值glClearDepth--设置深度缓存的清除值glClearlndex--设置颜色索引缓存的清除值glClearstencil--设置模板缓存的清除值glDrawBuffer--指定绘制的颜色缓存gllndexMask--控制颜色索引缓存中单个位的写操作glColorMask--激活或关闭帧缓存颜色分量的写操作glDepthMask--激活或关闭对深度缓存的写操作glstencilMask--控制模板平面中单个位的写操作glAlphaFunc-一指定alpha检验函数glstencilFunc--设置模板检验函数和参考值glstencilop--设置模板检验操作glDepthFunc--指定深度比较中使用的数值glDepthRange--指定从单位化的设备坐标到窗口坐标的z值映射glLOgiCOp--为颜色索引绘制指定逻辑像素操作glACCum--对累加缓存进行操作绘制曲线和曲面glEvalCoord--求取激活的一维和二维纹理图glMapl--定义一维求值器glMapZ--定义二维求值器glMapGrid--定义一维或二维网格glEvalMesh--计算一维或二维点网格或线网格glEvalPoint--生成并求取网格中的单个点查询函数glGet--返回所选择的参数值glGetClipPlane--返回指定的切平面系数glGetColorTableEXT--获得当前目标纹理调色板的颜色表数据glGetColorTableParameterfvEXT,glGetColorTableParameterlvEXT-从颜色表中获得调色板参数glGetError--返回错误信息glGetLight--返回光源参数值glGetMap--返回求值器参数glGetMaterial--返回材质参数glGetPixelMap--返回指定的像素映像glGetPointery--返回顶点数据数组地JglGetPolygonstipple--返回多边形点戈glGetstring--返回描述当前OpenGLglGetTexEnv--返回纹理环境参数glGetTexGen--返回纹理坐标生成参数glGetTexlmage--返回纹理图像4glGetTexLevelParameter--返回指定细节水平的纹理参数值glGetTexParameter--返回纹理参数值二:GLU库函数绘制NURBS曲线和曲面gluNewNurbsRenderer--创建一个NURBS对像gluNurbsProperty--设置NURBS属性gluNurbsCallback--为NURBS对像定义回调函数gluBeginCurve,gluEndCurve--限定NURBS曲线的定义gluNurbsCurve--定义NURBS曲线的形状gluDeleteNurbsRenderer--删除NURBS对像gluBeglnsurface,gluEndsurface--限定NURBS曲面的定义ghiNurbssurface--定义NURBS曲面的形状gluBeginTrim,gluEndTrim--限定NURBS裁剪环的定义gluPwlCurve--描述分段线性NURBS裁剪曲线gfuBeglnPolygon,gluEndPolygon--限定多边形的定义gluPickMatrix--定义拾取区域绘制二次几何物体gluNewQuadric--创建一个二次对象gluQuadricDrawsope--指定二次对象的绘制方式gluQuadricNormals--指定二次对象使用的法向量类型gluQuadricorientation--指定二次对象的内侧面或外侧面方向gluCylinder--绘制圆柱体ghisphere--绘制球体glllDISk--绘制圆盘gluPartialDisk--绘制部分圆盘gliJDeleteQuadric--删除二次对象gluQuadricTexture--指定是否为二次对象使用纹理ghiQuadricCallback--为二次对象定义回调网格化gluNewTess--创建一个网格化对象gluTessVertex--在多边形上指定顶点gluTessCallback--为网格化对象定义回调gluTessBeglnPolygon,ghiTessEndPolygon--限定多边形的描述gluTessBeglnContour,gluTessEndContour--限定多边形轮廓线的定义gluTessProperty--设置网格化对象的属性ghiNextContour--标记开始绘制另一个轮廓线gluTessNormal--为多边形指定法向量gluDeleteTess--删除网格化对象坐标变换gluOorthoZD--定义二维正视投影矩阵gluPerspective--创建透视投影矩阵gltlLOOkAt--定义视景转换gluProject--将物体坐标映射为窗口坐标5gluInProject--将窗口坐标映射力物体坐标多重映射gfuBuildlDMipmaps--创建一维多重映射gluBuildZDMipmaps--创建H维多重映射gluSCalelmage--将图像缩放到任意尺寸查询函数ghiErrorstring--从OpenGL或GLU错误代码中生成错误字符串gluGetNurbsProperty--获得NURBS属性ghiGetstring--获得描述GLU版本号或支持GLU扩展调用的字符串ghiGetTessProperty--获得网格化对象的属性三:GLUT库函数初始化和启动事件处理ghjtlnit--初始化GLUT库glutlnitwindowPosition--设置初始窗口位置glutlnitwindowsize--设置初始窗口大小glutlnitDisplayMode--设置初始显示模式glutMainLoop--进人GLUT事件处理循环窗口管理glutCreatewindow--创建顶层窗口glutCreatesubwindow--创建子窗口ghitHidewindow--隐藏当前窗口的显示状态glutshowwindow--改变当前窗口的显示状态,使其显示gfutsetwindowTitle--设置当前顶层窗口的窗口标题ghitsetlconTitle--设置当前顶层窗口的图标标题ghitPostRedisplay--标记当前窗口需要重新绘制glutswapBuffers--交换当前窗口的缓存glutFullscreen--关闭全屏显示glutPositionwindow--申请改变当前窗口的位置gintReshapewindow--申请改变当前窗口的大小glutsetwindow--设置当前窗口ghitGetwindow--获得当前窗口的标识符glutPopwindow--改变当前窗口的位置,使其前移ghitPtshwilldOO--改变当前窗口的位置,使其后移glutDestroywindow--销毁指定的窗口glutlconifywindow--使当前窗口图标化显示glutsetCursor--设置当前窗口的鼠标形状重叠层管理glutEstablishoverlay--创建当前窗口的重叠层glutUseLayer--改变当前窗口的使用层glutRemoveoverlay--删除当前窗口的重叠层glutPostoverlayRedisplay--标记当前窗口的重叠层需要重新绘制glutshowoverlay--显示当前窗口的重叠层6glutHideoverlay--显示当__________前窗口的重叠层菜单管理glutCreateMenu--创建一个新的弹出式菜单glutAddMenuEntry--在当前菜单的底部增加一个菜单条目glutAddsubMenu--在当前菜单的底部增加一个子菜单触发条目glutAttachMenu--把当前窗口的一个鼠标按键与当前菜单的标识符联系起来glutGetMenu--获取当前菜单的标识符glutsetMenu--设置当前菜单glutDestroyMenu--删除指定的菜单glutChangeToMenuEntry--将指定的当前菜单中的菜单项更改为菜单条目glutChangeTosubMenu--将指定的当前菜单中的菜单项更改为子菜单触发条目glutRemoveMenultem--删除指定的菜单项glutDetachMenu--释放当前窗口的一个鼠标按键注册国调函数glutDispfayFunc--注册当前窗口的显示回调函数glutReshapeFunc--注册当前窗口的形状变化回调函数glutMouseFunc--注册当前窗口的鼠标回调函数glutMotionFunc--设置移动回调函数glutldleFunc--设置全局的空闲回调函数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扩展7字体绘制glutBltmapCharcter--绘制一个位图字符glutBitmapwidth--返回一个位图字符的宽度glutstrokeCharcter--绘制一个笔画字符glutstrokewidth--返回一个笔画字体的宽度几何图形绘制glutSolidsphere,glutwiresphere--绘制实心球体和线框球体glutsolidCube,glutwireCube--绘制实心立方体和线框立方体glutsolidCone,glutwireCone--绘制实心圆锥体和线框圆锥体glutsolidTorus,glutwireTorus--绘制实心圆环和线框圆环glutSolidDOdeCahedroll,glLltwiFeDOdechedfotl--绘制实心十二面体和线框十二面体glutSolidOctahedron,glutWireOctahedron--绘制买心八面体和线框八面体glutsolldTetrahedron,glutwireTetrahedron--绘制实心四面体和线框四面体glutSollelcosahedron,glutwirelcosahedron--绘制实心二十面体和线框二十面体glutsolidTeapot,glutwireTeapot--绘制实心茶壶和线框茶壶__。

OpenGL GLUT库函数汇总

OpenGL GLUT库函数汇总

OpenGL 库函数汇总-3.GLUT 库函数3.GLUT 库函数初始化和启动事件处理-------------------------glutInitglutInitWindowPosition glutInitWindowSizeglutInitDisplayModeglutMainLoop窗口管理-------------------------glutCreateWindowglutCreateSubWindowglutHideWindowglutShowWindowglutSetWindowTitleglutPostRedisplayglutSwapBuffersglutFullScreenglutPositionWindowglutReshapeWindowglutSetWindowglutGetWindowglutPopWindowglutPushWindowglutDestroyWindowglutIconifyWindowglutSetCursor重叠层管理-------------------------glutEstablishOverlay glutUseLayer glutRemoveOverlay glutPostOverlayRedisplay glutShowOverlay glutHideOverlay菜单管理-------------------------glutCreateMenu glutAddMenuEntry glutAddSubMenu glutAttachMenu glutGetMenu glutSetMenu glutDestroyMenu glutChangeToMenuEntry glutChangeToSubMenu glutRemoveMenuItem glutDetachMenu注册回调函数-------------------------------glutDisplayFunc glutReshapeFunc glutMouseFunc glutMotionFunc glutIdleFunc glutVisibilityFunc glutKeyboardFunc glutSpecialFunc glutOverlayDisplayFunc glutPassiveMotionFunc glutEntryFunc glutSpaceballMotionFunc glutSpaceballRotateFunc glutSpaceballButtonFunc glutButtonBoxFunc glutDialsFunc glutTableMotionFunc glutTableButtonFunc glutMenuStatusFunc glutTimerFunc颜色索引映射表管理-------------------------------glutSetColor glutGetColor glutCopyColormap状态检索-------------------------------glutGetglutLayerGetglutDeviceGetglutGetModifiersglutExtensionSupported字体绘制-------------------------------glutBitmapCharacterglutBitmapWidthglutStrokeCharacterglutStrokeWidth几何图形绘制-------------------------------glutSolidSphere , glutWireSphere glutSolidCube , glutWireCubeglutSolidCone , glutWireConeglutSolidTorus , glutWireTorus glutSolidDodecahedron , glutWireDodecahedron glutSolidOctahedron , glutWireOctahedronglutSolidTetrahedron , glutWireTetrahedronglutSolieIcosahedron , glutWireIcosahedronglutSolidTeapot , glutWireTeapotvoid glutWireSphere(GLdouble radius, GLint slices, GLint stacks);绘制线框球体void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);绘制实心球体参数:radius:球体的半径slices:球体围绕z轴分割的数目stacks:球体沿着z轴分割的数目绘制中心在模型坐标原点,半径为radius的球体,球体围绕z轴分割slices次,球体沿着z轴分割stacks次//*******************************************************************************************void glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);绘制线框圆锥体void glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);绘制实心圆锥体参数:radius:圆锥体的半径height:圆锥体的高slices:圆锥体围绕z轴分割的数目stacks:圆锥体沿着z轴分割的数目圆锥体的轴为z轴方向,它的基底位于z=0的平面内,顶点z=height,圆锥体围绕z轴分割slices个数目,沿着z轴分割stacks个数目.//*******************************************************************************************void glutWireCube(GLdouble size);绘制线框立方体void glutSolidCube(GLdouble size);绘制实心立方体参数:size:立方体的边长//*******************************************************************************************void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); 绘制线框圆环void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); 绘制实心圆环参数:innerRadius:圆环的内半径outerRadius:圆环的外半径nsides:圆环腔的分割数rings:圆环的环线数//*******************************************************************************************void glutWireDodecahedron(void);绘制线框十二面体void glutSolidDodecahedron(void);绘制实心十二面体//******************************************************************************************* void glutWireTeapot(GLdouble size);绘制线框茶壶void glutSolidTeapot(GLdouble size);绘制实心茶壶参数:size:茶壶的相对大小//******************************************************************************************* void glutWireOctahedron(void);绘制线框八面体void glutSolidOctahedron(void);绘制实心八面体//******************************************************************************************* void glutWireTetrahedron(void);绘制线框四面体void glutSolidTetrahedron(void);绘制实心四面体//******************************************************************************************* void glutWireIcosahedron(void);绘制线框二十面体void glutSolidIcosahedron(void);绘制实心二十面体。

OpenGL常用几何图形绘制函数

OpenGL常用几何图形绘制函数

我想请问下使用twisted的建立httБайду номын сангаасs可以处理https请求的服务端和发送https请求的客户端需要用到哪些模块可以指点下吗
OpenGL常 用 几 何 图 形 绘 制 函 数
原创博文,转载请注明。
常见几何图形绘制函数:
glutSolidsphere,glutwiresphere--绘制实心球体和线框球体 glutsolidCube,glutwireCube--绘制实心立方体和线框立方体 glutsolidCone,glutwireCone--绘制实心圆锥体和线框圆锥体 glutsolidTorus,glutwireTorus--绘制实心圆环和线框圆环 glutSolidDOdeCahedroll,glLltwiFeDOdechedfotl--绘制实心十二面体和线框十二面体 glutSolidOctahedron,glutWireOctahedron--绘制买心八面体和线框八面体 glutsolldTetrahedron,glutwireTetrahedron--绘制实心四面体和线框四面体 glutSollelcosahedron,glutwirelcosahedron--绘制实心二十面体和线框二十面体 glutsolidTeapot,glutwireTeapot--绘制实心茶壶和线框茶壶

OpenGL相关函数及解释

OpenGL相关函数及解释

glEnable();//来启动模式。

glDisable()//可以关闭之。

void glLineStipple(GLint factor, GLushort pattern); //来设置虚线的样式。

glPolygonMode(GL_FRONT, GL_FILL); // 设置正面为填充方式glPolygonMode(GL_BACK, GL_LINE); // 设置反面为边缘绘制方式glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); // 设置两面均为顶点绘制方式glFrontFace(GL_CCW); // 设置CCW方向为“正面”,CCW即CounterClockWise,逆时针glFrontFace(GL_CW); // 设置CW方向为“正面”,CW即ClockWise,顺时针glEnable(GL_CULL_FACE);//来启动剔除功能(使用glDisable(GL_CULL_FACE)可以关闭之)glCullFace(GL_FRONT_AND_BACK);//剔除正反两面的多边形。

glEnable(GL_POL YGON_STIPPLE);//来启动镂空模式(使用glDisable(GL_POLYGON_STIPPLE)可以关闭之)。

void glPolygonStipple(const GLubyte *mask); //设置镂空的样式。

void glColor3f(GLfloat red, GLfloat green, GLfloat blue);//设置颜色void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);void glIndexi(GLint c); //在颜色表中选择颜色,它的参数是一个整形。

glClearColor(1.0f, 0.0f, 0.0f, 0.0f); //指定“空”的颜色glClear(GL_COLOR_BUFFER_BIT); //意思是把屏幕上的颜色清空。

OpenGL部分函数详解.docx

OpenGL部分函数详解.docx

OpenGL部分函数详解GL库: 1 o glClear 里(glbitfield 面具);功能;用预先设置的值清除缓冲区。

参数说明;而具指定被刷新的缓冲区,可以是gl_color_ buffer, bi to gl depth buffer bit, gl accum buffer bit, gl_stencil_buffer_bitgl color buffer bit。

表示颜色缓冲区gl depth buffer bit,表示深度缓冲区gl_accum_buffer_bit,表示累积缓冲区gl stencil buffer bit表示模板缓冲区2o glclearcolor (glelamof 红、GLelamof green> glelamof 蓝色,glelampf a )功能;指定颜色缓冲区的清除值参数说明;初始值0,取值范围[0,1]3o glcleardepth();功能;指定深度缓冲区的清除值参数说明;初始值0,取值范围[0,1]4o glclearindexO ;功能;指定颜色索引缓冲区的清除值参数说明;初始值0,取值范围[功能;指定颜色缓冲区的清除值参数说明;初始值0,取值范围[0, 1] [0, 1]5o glclearaccumO ;功能;用于设置累积缓冲区的清除值参数说明;初始值0,取值范围[0, 1]6o glclearstencil();功能;设置模板缓冲区的清除值参数说明;初始值0,取值范围[0, 1]7o glcolor3 { B, D, F, S, I, UB, UI,我们()};功能;设置当前的绘图颜色参数说明;取值范围[0. 0, 1. 1 ]8o glcolor4();功能;设置当前的绘图颜色参数说明;取值范围[0.0, 1. 1 ]9 gifinish (void);功能;在有限时间内强制执行OpenGL命令消隐在三维空间中,一些物体遮挡另一个物体是很自然的事,而且这种遮挡关系随视点的不同而不同,清除一个物体被其他物体挡住的部分的操作称为消隐;10. 3 glcleardepth (glelampd 深度);功能;指定深度缓冲区的清除值参数说明;深度指定清除缓冲区时用的深度值。

opengl核心库glut常用函数

opengl核心库glut常用函数

opengl核心库glut常用函数opengl 核心库glut常用函数2010-10-12 12:01:27| 分类:opengl|举报|字号订阅glut库下的主要函数一、初始化1、void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。

对应main函数的形式应是:int main(int argc,char* argv[]);这个函数从main函数获取其两个参数。

2、void glutInitWindowSize(int width,int height);void glutInitWindowPosition(int x,int y);这两个函数很好理解是设置glut程序要产生的窗口的大小和位置(左上角)。

以像素为单位。

3、void glutInitDisplayMode(unsigned int mode);设置图形显示模式。

参数mode的可选值为:GLUT_RGBA:当未指明GLUT—RGBA或GLUT—INDEX时,是默认使用的模式。

表明欲建立RGBA模式的窗口。

GLUT_RGB:与GLUT—RGBA作用相同。

GLUT_INDEX:指明为颜色索引模式。

GLUT_SINGLE:只使用单缓存GLUT_DOUBLE:使用双缓存。

以避免把计算机作图的过程都表现出来,或者为了平滑地实现动画。

GLUT_ACCUM:让窗口使用累加的缓存。

GLUT_ALPHA:让颜色缓冲区使用alpha组件。

GLUT_DEPTH:使用深度缓存。

GLUT_STENCIL:使用模板缓存。

GLUT_MULTISAMPLE:让窗口支持多例程。

GLUT_STEREO:使窗口支持立体。

GLUT_LUMINACE:luminance是亮度的意思。

但是很遗憾,在多数OpenGL 平台上,不被支持。

--------------------------------------------------------------------------------二、事件处理(Event Processing)1、void glutMainLoop(void)让glut程序进入事件循环。

OPENGL的函数查询第一篇

OPENGL的函数查询第一篇
OpenGL 的学习
基本框架
#include<GL/glut.h> #include<math.h> void myDisplay(void) { }
//*头文件
int main(int argc,char*argv[])
{
glutInit(&argc,argv); //*初始化
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE); //*
指向包含单个布尔元素的数组指针该元素表示当前边界指针在glbein与glend间指定的多边形单个三角形或单个四边形上每个顶点的边界标记若标记为glture那么该顶点标记为边界起点若flag非0值则此函数设置边界标记为glture否则为glfalse对于连的三角形或四边形的顶点无论边界标记为何值顶点总为标记边界只有glpolygonmode设置成glpoint或glline时边界标记和非边界标记才有意义参看glpolygonmode2
d,f,i,s c:指向一个单个元素组成的数组指针 *可以任何时候更改当前索引 *可以在 glBegin 和 glEnd 间调用 1.4 glIndexPointer(type,stride,count,pointer)——定义颜 色索引数组 type: 颜色分量的数据类型
GL_SHORT,GL_INT,GL_FLOAT,GL_DOUBLE stride:相邻两个颜色的字节偏移量。当为 0 时,颜色在数组中是一个
的线段,共 N-2 条 GL_LINE_LOOP——绘制从第一个顶点到最后一个依次相连
的线段,而后第一和最后相连,共 N 条 GL_TRIANGLES——依次把每三个顶点作为一个独立三角形,
共 N/3 个 GL_TRIANGLE_STRIP——绘制一组相连的三角形,奇数顶点
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OpenGL 库函数汇总-3.GLUT 库函数3.GLUT 库函数
初始化和启动事件处理
-------------------------
glutInit
glutInitWindowPosition glutInitWindowSize
glutInitDisplayMode
glutMainLoop
窗口管理
-------------------------
glutCreateWindow
glutCreateSubWindow
glutHideWindow
glutShowWindow
glutSetWindowTitle
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
注册回调函数
-------------------------------
glutDisplayFunc glutReshapeFunc glutMouseFunc glutMotionFunc glutIdleFunc glutVisibilityFunc glutKeyboardFunc glutSpecialFunc glutOverlayDisplayFunc glutPassiveMotionFunc glutEntryFunc glutSpaceballMotionFunc glutSpaceballRotateFunc glutSpaceballButtonFunc glutButtonBoxFunc glutDialsFunc glutTableMotionFunc glutTableButtonFunc glutMenuStatusFunc glutTimerFunc
颜色索引映射表管理
-------------------------------
glutSetColor glutGetColor glutCopyColormap
状态检索
-------------------------------
glutGet
glutLayerGet
glutDeviceGet
glutGetModifiers
glutExtensionSupported
字体绘制
-------------------------------
glutBitmapCharacter
glutBitmapWidth
glutStrokeCharacter
glutStrokeWidth
几何图形绘制
-------------------------------
glutSolidSphere , glutWireSphere glutSolidCube , glutWireCube
glutSolidCone , glutWireCone
glutSolidTorus , glutWireTorus glutSolidDodecahedron , glutWireDodecahedron glutSolidOctahedron , glutWireOctahedron
glutSolidTetrahedron , glutWireTetrahedron
glutSolieIcosahedron , glutWireIcosahedron
glutSolidTeapot , glutWireTeapot
void glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
绘制线框球体
void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
绘制实心球体
参数:
radius:球体的半径
slices:球体围绕z轴分割的数目
stacks:球体沿着z轴分割的数目
绘制中心在模型坐标原点,半径为radius的球体,球体围绕z轴分割slices次,球体沿着z轴分割stacks次//*******************************************************************************************
void glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
绘制线框圆锥体
void glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
绘制实心圆锥体
参数:
radius:圆锥体的半径
height:圆锥体的高
slices:圆锥体围绕z轴分割的数目
stacks:圆锥体沿着z轴分割的数目
圆锥体的轴为z轴方向,它的基底位于z=0的平面内,顶点z=height,圆锥体围绕z轴分割slices个数目,沿着z轴分割stacks个数目.
//*******************************************************************************************
void glutWireCube(GLdouble size);
绘制线框立方体
void glutSolidCube(GLdouble size);
绘制实心立方体
参数:size:立方体的边长
//*******************************************************************************************
void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); 绘制线框圆环
void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); 绘制实心圆环
参数:
innerRadius:圆环的内半径
outerRadius:圆环的外半径
nsides:圆环腔的分割数
rings:圆环的环线数
//*******************************************************************************************
void glutWireDodecahedron(void);
绘制线框十二面体
void glutSolidDodecahedron(void);
绘制实心十二面体
//******************************************************************************************* void glutWireTeapot(GLdouble size);
绘制线框茶壶
void glutSolidTeapot(GLdouble size);
绘制实心茶壶
参数:size:茶壶的相对大小
//******************************************************************************************* void glutWireOctahedron(void);
绘制线框八面体
void glutSolidOctahedron(void);
绘制实心八面体
//******************************************************************************************* void glutWireTetrahedron(void);
绘制线框四面体
void glutSolidTetrahedron(void);
绘制实心四面体
//******************************************************************************************* void glutWireIcosahedron(void);
绘制线框二十面体
void glutSolidIcosahedron(void);
绘制实心二十面体。

相关文档
最新文档