zoukankan      html  css  js  c++  java
  • OpenGL函数参考

    GL库函数

     

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

     

  • 相关阅读:
    sql注入常用的判断方法
    refere是什么
    mysql语句
    linux命令
    软件测试
    tcp和udp
    java面试干货
    为什么重写了equals方法一般也要重写hashCode方法
    redis源码解析
    Numpy复习
  • 原文地址:https://www.cnblogs.com/ghw0501/p/4733911.html
Copyright © 2011-2022 走看看