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库函数

[cpp]  view plain copy
  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库函数

[cpp]  view plain copy
  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  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值