OpenGL 常用函数库


OPENGL 常用函数 ——精通 OpenGL 2013-4-11 王杰 整理于聊城大学东校 15#527 目录 GL 库函数 ........................................................................................................................................ 2 使用颜色 ................................................................................................................................... 2 绘制几何图原及物体 ............................................................................................................... 2 坐标转换 ................................................................................................................................... 3 堆栈操作 ................................................................................................................................... 3 显示列表 ................................................................................................................................... 3 使用光照和材质 ....................................................................................................................... 4 像素操作 ................................................................................................................................... 4 纹理映射 ................................................................................................................................... 4 特殊效果操作 ........................................................................................................................... 5 帧缓存操作 ............................................................................................................................... 5 绘制曲线和曲面 ....................................................................................................................... 6 查询函数 ................................................................................................................................... 6 GLU 库函数 ..................................................................................................................................... 6 绘制 NURBS 曲线和曲面 ......................................................................................................... 7 绘制二次几何物体 ................................................................................................................... 7 网格化....................................................................................................................................... 8 坐标变换 ................................................................................................................................... 8 多重映射 ................................................................................................................................... 8 查询函数 ................................................................................................................................... 9 GLUT 库函数 ................................................................................................................................... 9 初始化和启动事件处理 ........................................................................................................... 9 窗口管理 ................................................................................................................................... 9 重叠层管理 ............................................................................................................................. 10 需要重新绘制 ......................................................................................................................... 10 菜单管理 ................................................................................................................................. 10 注册回调函数 ......................................................................................................................... 11 颜色素引映射表管理 ............................................................................................................. 11 状态检索 ................................................................................................................................. 11 字体绘制 ................................................................................................................................. 12 几何图形绘制 ......................................................................................................................... 12 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
还剩13页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

离开的123

贡献于2013-10-20

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf