OpenGL函数参考(中文版)


 

GL库函数

—————————————————————–
绘制几何图原及物体
—————————————————————–
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库函数

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

—————————————————————–
窗口管理
—————————————————————–
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