GL库函数
- -----------------------------------------------------------------
- 使用颜色
- -----------------------------------------------------------------
- glShadeModel --选择平面明暗模式或光滑明暗模式
- glColor --设置当前颜色
- glColorPointer --定义颜色数组
- glIndex --设置当前颜色索引
- glIndexPointer --定义颜色索引数组
- glColorTableEXT --为目标调色板纹理指定调色板的格式和大小
- glColorSubTableEXT --指定需要替代的目标纹理调色板的一部分
- -----------------------------------------------------------------
- 绘制几何图原及物体
- -----------------------------------------------------------------
- glVertex --指定顶点
- glVertexPointer --定义顶点数据数组
- glArrayElement --指定用来绘制顶点的数组元素
- glBegin --限定一个或多个图原顶点的绘制
- glEnd
- glEdgeFlag --指定边界标记
- glEdgeFlagv
- glPointSize --指定光栅化点的直径
- glLineWidth --指定光栅化直线的宽度
- glLineStipple --指定点划线
- glPolygonMode --选择多边形光栅化模式
- glFrontFace --定义正面多边形和反反面多边形
- glPolygonStipple --设置多边形点划图
- glDrawElements --从数组数据绘制图原
- glRect --绘制矩形
- -----------------------------------------------------------------
- 坐标转换
- -----------------------------------------------------------------
- glTranslate --用平移矩阵乘以当前矩阵
- glRotate --用旋转矩阵乘以当前矩阵
- glScale --用缩放矩阵乘以当前矩阵
- glViewport --设置视口
- glFrustum --用透视矩阵乘以当前矩阵
- glOrtho --用正视矩阵乘以当前矩阵
- glClipPlane --指定切割几何物体的平面
- -----------------------------------------------------------------
- 堆栈操作
- -----------------------------------------------------------------
- glLoadMatrix --用任意矩阵替换当前矩阵
- glMultMatrix --用任意矩阵乘以当前矩阵
- glMatrixMode --指定哪一个矩阵是当前矩阵
- glPushMatrix --压入和弹出当前矩阵堆栈
- glPopMatrix
- glPushAttrib --压入和弹出属性堆栈
- glPopAttrib
- glPushClientAttrib --在客户属性堆栈中保存和恢复客户状态变量组
- glPopClientAttrib
- glPushName --压入和弹出名称堆栈
- gPopName
- gllnitNames --初始名称堆栈
- glLoadName --向名称堆栈中装载名称
- -----------------------------------------------------------------
- 显示列表
- -----------------------------------------------------------------
- glNewList --创建或替换一个显示列表
- glEndList
- glCallList --执行一个显示列表
- glCallLists --执行一列显示列表
- glGenLists --生成一组空的相邻的显示列表
- glDeleteLists --删除一组相邻的显示列表
- glIsList --检验显示列表的存在
- -----------------------------------------------------------------
- 使用光照和材质
- -----------------------------------------------------------------
- glNormal --设置当前的法向量
- glNormalPointer --定义法向量数组
- glLight --设置光源参数
- glLightModel --设置光照模型参数
- glMaterial --为光照模型指定材质参数
- glColorMaterial --使材质颜色跟踪当前颜色
- -----------------------------------------------------------------
- 像素操作
- -----------------------------------------------------------------
- glRasterPos --为像素操作指定光栅位置
- glBitmap --绘制位图
- glReadPixels --从帧缓存中读取一块像素
- glDrawPixels --将一个像素块写人帧缓存
- glCopyPixels --在帧缓存中拷贝像素
- glCopyTexImage1D --将像素从帧缓存拷贝到一维纹理图像中
- glCopyTexlmage2D --把像素从帧缓存拷贝到二维纹理图像中
- glCopyTexSubImage1D --从帧缓存中拷贝一维纹理图像的子图像
- glCopyTexSublmage2D --从帧缓存中拷贝二维纹理图像的子图像
- glPixelZoom --指定像素缩放因子
- glPixelStoref --设置像素存储模式
- glPixelTransfer --设置像素传输模式
- glPixelMap --设置像素传输映射表
- -----------------------------------------------------------------
- 纹理映射
- -----------------------------------------------------------------
- glTexImage1D --指定一维纹理图像
- glTexImage2D --指定二维纹理映射
- glTexParameter --设置纹理参数
- glTexSubImage1D --指定已存在的一维纹理图像的一部分
- glTexSubImage2D --指定已存在的二维纹理图像的一部分
- glTexEnvf --设置纹理环境参数
- glTexCoord --设置当前纹理坐标
- glTexGen --控制纹理坐标的生成
- glTexCoordPointer --定义纹理坐标数组
- glDeleteTextures --删除命名的纹理
- -----------------------------------------------------------------
- 特殊效果操作
- -----------------------------------------------------------------
- glBlendFunc --指定像素的数学算法
- glHint --指定由实现确定的控制行为
- glFogf --指定雾化参数
- -----------------------------------------------------------------
- 帧缓存操作
- -----------------------------------------------------------------
- glClear --将缓存清除为预先的设置值
- glClearAccum --设置累加缓存的清除值
- glClearColor --设置颜色缓存的清除值
- glClearDepth --设置深度缓存的清除值
- glClearIndex --设置颜色索引缓存的清除值
- glClearStencil --设置模板缓存的清除值
- glDrawBuffer --指定绘制的颜色缓存
- glIndexMask --控制颜色索引缓存中单个位的写操作
- glColorMask --激活或关闭帧缓存颜色分量的写操作
- glDepthMask --激活或关闭对深度缓存的写操作
- glStencilMask --控制模板平面中单个位的写操作
- glAlphaFunc --指定alpha检验函数
- glStencilFunc --设置模板检验函数和参考值
- glStencilop --设置模板检验操作
- glDepthFunc --指定深度比较中使用的数值
- glDepthRange --指定从单位化的设备坐标到窗口坐标的z值映射
- glLogicOp --为颜色索引绘制指定逻辑像素操作
- glAccum --对累加缓存进行操作
- -----------------------------------------------------------------
- 绘制曲线和曲面
- -----------------------------------------------------------------
- glEvalCoord --求取激活的一维和二维纹理图
- glMap1d --定义一维求值器
- glMap2d --定义二维求值器
- glMapGrid --定义一维或二维网格
- glEvalMesh --计算一维或二维点网格或线网格
- glEvalPoint --生成并求取网格中的单个点
- -----------------------------------------------------------------
- 查询函数
- -----------------------------------------------------------------
- glGet --返回所选择的参数值
- glGetClipPlane --返回指定的切平面系数
- glGetColorTableEXT --获得当前目标纹理调色板的颜色表数据
- glGetColorTableParameterfvEXT --从颜色表中获得调色板参数
- glGetColorTableParameterivEXT
- glGetError --返回错误信息
- glGetLight --返回光源参数值
- glGetMap --返回求值器参数
- glGetMaterial --返回材质参数
- glGetPixelMap --返回指定的像素映像
- glGetPointerv --返回顶点数据数组地址
- glGetPolygonStipple --返回多边形点画模式
- glGetString --返回描述当前OpenGL
- glGetTexEnv --返回纹理环境参数
- glGetTexGen --返回纹理坐标生成参数
- glGetTexImage --返回纹理图像
- glGetTexLevelParameter --返回指定细节水平的纹理参数值
- glGetTexParameter --返回纹理参数值
GLU库函数
- -----------------------------------------------------------------
- 绘制NURBS曲线和曲面
- -----------------------------------------------------------------
- gluNewNurbsRenderer --创建一个NURBS对像
- gluNurbsProperty --设置NURBS属性
- gluNurbsCallback --为NURBS对像定义回调函数
- gluBeginCurve --限定NURBS曲线的定义
- gluEndCurve
- gluNurbsCurve --定义NURBS曲线的形状
- gluDeleteNurbsRenderer --删除NURBS对像
- gluBeglnsurface --限定NURBS曲面的定义
- gluEndsurface
- gluNurbsSurface --定义NURBS曲面的形状
- gluBeginTrim --限定NURBS裁剪环的定义
- gluEndTrim
- gluPwlCurve --描述分段线性NURBS裁剪曲线
- gluBeginPolygon --限定多边形的定义
- gluEndPolygon
- gluPickMatrix --定义拾取区域
- -----------------------------------------------------------------
- 绘制二次几何物体
- -----------------------------------------------------------------
- gluNewQuadric --创建一个二次对象
- gluQuadricDrawsope --指定二次对象的绘制方式
- gluQuadricNormals --指定二次对象使用的法向量类型
- gluQuadricorientation --指定二次对象的内侧面或外侧面方向
- gluCylinder --绘制圆柱体
- gluSphere --绘制球体
- gluDisk --绘制圆盘
- gluPartialDisk --绘制部分圆盘
- gluDeleteQuadric --删除二次对象
- gluQuadricTexture --指定是否为二次对象使用纹理
- gluQuadricCallback --为二次对象定义回调
- -----------------------------------------------------------------
- 网格化
- -----------------------------------------------------------------
- gluNewTess --创建一个网格化对象
- gluTessVertex --在多边形上指定顶点
- gluTessCallback --为网格化对象定义回调
- gluTessBeglnPolygon --限定多边形的描述
- gluTessEndPolygon
- gluTessBeglnContour --限定多边形轮廓线的定义
- gluTessEndContour
- gluTessProperty --设置网格化对象的属性
- gluNextContour --标记开始绘制另一个轮廓线
- gluTessNormal --为多边形指定法向量
- gluDeleteTess --删除网格化对象
- -----------------------------------------------------------------
- 坐标变换
- -----------------------------------------------------------------
- gluOrtho2D --定义二维正视投影矩阵
- gluPerspective --创建透视投影矩阵
- gluLookAt --定义视景转换
- gluProject --将物体坐标映射为窗口坐标
- gluUnProject --将窗口坐标映射为物体坐标
- -----------------------------------------------------------------
- 多重映射
- -----------------------------------------------------------------
- gluBuild1DMipmaps --创建一维多重映射
- gluBuild2DMipmaps --创建二维多重映射
- gluScaleImage --将图像缩放到任意尺寸
- -----------------------------------------------------------------
- 查询函数
- -----------------------------------------------------------------
- gluErrorString --从OpenGL或GLU错误代码中生成错误字符串
- gluGetNurbsProperty --获得NURBS属性
- gluGetString --获得描述GLU版本号或支持GLU扩展调用的字符串
- gluGetTessProperty --获得网格化对象的属性
GLUT库函数
- -----------------------------------------------------------------
- 初始化和启动事件处理
- -----------------------------------------------------------------
- glutInit --初始化GLUT库
- glutInitWindowPosition --设置初始窗口位置
- glutInitWindowSize --设置初始窗口大小
- glutInitDisplayMode --设置初始显示模式
- glutMainLoop --进入GLUT事件处理循环
- -----------------------------------------------------------------
- 窗口管理
- -----------------------------------------------------------------
- glutCreateWindow --创建顶层窗口
- glutCreateSubWindow --创建子窗口
- glutHideWindow --隐藏当前窗口的显示状态
- glutShowWindow --改变当前窗口的显示状态,使其显示
- glutSetWindowTitle --设置当前顶层窗口的窗口标题
- glutSetIconTitle --设置当前顶层窗口的图标标题
- glutPostRedisplay --标记当前窗口需要重新绘制
- glutSwapBuffers --交换当前窗口的缓存
- glutFullScreen --关闭全屏显示
- glutPositionWindow --申请改变当前窗口的位置
- glutReshapeWindow --申请改变当前窗口的大小
- glutSetWindow --设置当前窗口
- glutGetWindow --获得当前窗口的标识符
- glutPopwindow --改变当前窗口的位置,使其前移
- glutPushWindow --改变当前窗口的位置,使其后移
- glutDestroyWindow --销毁指定的窗口
- glutIconifyWindow --使当前窗口图标化显示
- glutSetCursor --设置当前窗口的鼠标形状
- -----------------------------------------------------------------
- 重叠层管理
- -----------------------------------------------------------------
- glutEstablishOverlay --创建当前窗口的重叠层
- glutUseLayer --改变当前窗口的使用层
- glutRemoveOverlay --删除当前窗口的重叠层
- glutPostOverlayRedisplay--标记当前窗口的重叠层
- -----------------------------------------------------------------
- 需要重新绘制
- -----------------------------------------------------------------
- glutShowOverlay --显示当前窗口的重叠层
- glutHideOverlay --显示当前窗口的重叠层
- -----------------------------------------------------------------
- 菜单管理
- -----------------------------------------------------------------
- glutCreateMenu --创建一个新的弹出式菜单
- glutAddMenuEntry --在当前菜单的底部增加一个菜单条目
- glutAddSubMenu --在当前菜单的底部增加一个子菜单触发条目
- glutAttachMenu --把当前窗口的一个鼠标按键与当前菜单的标识符联系起来
- glutGetMenu --获取当前菜单的标识符
- glutSetMenu --设置当前菜单
- glutDestroyMenu --删除指定的菜单
- glutChangeToMenuEntry --将指定的当前菜单中的菜单项更改为菜单条目
- glutChangeToSubMenu --将指定的当前菜单中的菜单项更改为子菜单触发条目
- glutRemoveMenuItem --删除指定的菜单项
- glutDetachMenu --释放当前窗口的一个鼠标按键
- -----------------------------------------------------------------
- 注册回调函数
- -----------------------------------------------------------------
- glutDispfayFunc --注册当前窗口的显示回调函数
- glutReshapeFunc --注册当前窗口的形状变化回调函数
- glutMouseFunc --注册当前窗口的鼠标回调函数
- glutMotionFunc --设置移动回调函数
- glutIdleFunc --设置全局的空闲回调函数
- glutVisibilityFunc --设置当前窗口的可视回调函数
- glutKeyboardFunc --注册当前窗口的键盘回调函数
- glutSpecialFunc --设置当前窗口的特定键回调函数
- glutOverlayDisplayFunc --注册当前窗口的重叠层显示回调函数
- glutPassiveMotionFunc --设置当前窗口的被动移动回调函数
- glutEntryFunc --设置当前窗口的鼠标进出回调函数
- glutSpaceballMotionFunc --设置当前窗口的空间球移动回调函数
- glutSpaceballRotateFunc --设置当前窗口的空间球旋转回调函数
- glutSpaceballButtonFunc --设置当前窗口的空间球按键回调函数
- glutButtonBoxFunc --设置当前窗口的拨号按键盒按键回调函数
- glutDialsFunc --设置当前窗口的拨号按键盒拨号回调函数
- glutTabletMotionFunc --设置图形板移动回调函数
- glutTabletButtonFunc --设置当前窗口的图形板按键回调函数
- glutMenuStatusFunc --设置全局的菜单状态回调函数
- glutTimerFunc --注册按一定时间间隔触发的定时器回调函数
- -----------------------------------------------------------------
- 颜色素引映射表管理
- -----------------------------------------------------------------
- glutSetColor --设置当前窗口当前层一个颜色表单元的颜色
- glutGetColor --获得指定的索引颜色
- glutCopyColormap --将逻辑颜色表从指定的窗口拷贝到当前窗口
- -----------------------------------------------------------------
- 状态检索
- -----------------------------------------------------------------
- glutGet --检索指定的GLUT状态
- glutLayerGet --检索属于当前窗口重叠层的 GLU T状态
- glutDeviceGet --检索GLUT设备信息
- glutGetModifiers --返回修饰键在引起某些回调的事件发生时的状态
- glutExtensionSupported --判别当前OpenGL版本是否支持给定的OpenGL扩展
- -----------------------------------------------------------------
- 字体绘制
- -----------------------------------------------------------------
- glutBltmapCharcter --绘制一个位图字符
- glutBitmapWidth --返回一个位图字符的宽度
- glutStrokeCharcter --绘制一个笔画字符
- glutStrokeWidth --返回一个笔画字体的宽度
- -----------------------------------------------------------------
- 几何图形绘制
- -----------------------------------------------------------------
- glutSolidSphere --绘制实心球体和线框球体
- glutWireSphere
- glutSolidCube --绘制实心立方体和线框立方体
- glutWireCube
- glutSolidCone --绘制实心圆锥体和线框圆锥体
- glutWireCone
- glutSolidTorus --绘制实心圆环和线框圆环
- glutWireTorus
- glutSolidDodecahedron --绘制实心十二面体和线框十二面体
- glutWireDodecahedron
- glutSolidOctahedron --绘制实心八面体和线框八面体
- glutWireOctahedron
- glutSolidTetrahedron --绘制实心四面体和线框四面体
- glutWireTetrahedron
- glutSolidIcosahedron --绘制实心二十面体和线框二十面体
- glutWireIcosahedron
- glutSolidTeapot --绘制实心茶壶和线框茶壶
- glutWireTeapot