OpenGL库函数列表

OpenGl核心函数库
 
glAccum 操作累加缓冲区
glAddSwapHintRectWIN 定义一组被SwapBuffers拷贝的三角形
glAlphaFunc允许设置alpha检测功能
glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中
glArrayElement 定义一个被用于顶点渲染的数组成分
glBegin,glEnd 定义一个或一组原始的顶点
glBindTexture 允许建立一个绑定到目标纹理的有名称的纹理
glBitmap 绘制一个位图
glBlendFunc 特殊的像素算法
glCallList 执行一个显示列表 
glCallLists 执行一列显示列表 
glClear 用当前值清除缓冲区 
GlClearAccum 为累加缓冲区指定用于清除的值 
glClearColor 为色彩缓冲区指定用于清除的值 
glClearDepth 为深度缓冲区指定用于清除的值 
glClearStencil 为模板缓冲区指定用于清除的值 
glClipPlane 定义被裁剪的一个平面几何体 
glColor 设置当前色彩 
glColorMask 允许或不允许写色彩组件帧缓冲区 
glColorMaterial 使一个材质色彩指向当前的色彩 
glColorPointer 定义一列色彩 
glColorTableEXT 定义目的一个调色板纹理的调色板的格式和尺寸 
glColorSubTableEXT 定义目的纹理的调色板的一部分被替换 
glCopyPixels 拷贝帧缓冲区里的像素 
glCopyTexImage1D 将像素从帧缓冲区拷贝到一个单空间纹理图象中 
glCopyTexImage2D 将像素从帧缓冲区拷贝到一个双空间纹理图象中 
glCopyTexSubImage1D 从帧缓冲区拷贝一个单空间纹理的子图象 
glCopyTexSubImage2D 从帧缓冲区拷贝一个双空间纹理的子图象 
glCullFace 定义前面或后面是否能被精选 
glDeleteLists 删除相邻一组显示列表 
glDeleteTextures 删除命名的纹理 
glDepthFunc 定义用于深度缓冲区对照的数据 
glDepthMask 允许或不允许写入深度缓冲区 
glDepthRange 定义z值从标准的设备坐标映射到窗口坐标 
glDrawArrays 定义渲染多个图元 
glDrawBuffer 定义选择哪个色彩缓冲区被绘制 
glDrawElements 渲染数组数据中的图元 
glDrawPixels 将一组像素写入帧缓冲区 
glEdgeFlag 定义一个边缘标志数组 
glEdgeFlagPointer 定义一个边缘标志数组 
glEnable, glDisable 打开或关闭OpenGL的特殊功能 
glEnableClientState,glDisableClientState 分别打开或关闭数组 
glEvalCoord 求解一维和二维贴图 
glEvalMesh1,glEvalMesh2 求解一维和二维点或线的网格 
glEvalPoint1,glEvalPoint2 生成及求解一个网格中的单点 
glFeedbackBuffer 控制反馈模式 
glFinish 等待直到OpenGL执行结束 
glFlush 在有限的时间里强制OpenGL的执行 
glFogf,glFogi,glFogfv,glFogiv 定义雾参数 
glFrontFace 定义多边形的前面和背面 
glFrustum 当前矩阵乘上透视矩阵 
glGenLists 生成一组空的连续的显示列表 
glGenTextures 生成纹理名称 
glGetBooleanv,glGetDoublev,glGetFloatv,glGetIntegerv 返回值或所选参数值 
glGetClipPlane 返回特定裁减面的系数 
glGetColorTableEXT 从当前目标纹理调色板得到颜色表数据 
glGetColorTableParameterfvEXT,glGetColorTableParameterivEXT 从颜色表中得到调色板参数 
glGetError 返回错误消息 
glGetLightfv,glGetLightiv 返回光源参数值 
glGetMapdv,glGetMapfv,glGetMapiv 返回求值程序参数 
glGetMaterialfv,glGetMaterialiv 返回材质参数 
glGetPixelMapfv,glGetpixelMapuiv,glGetpixelMapusv 返回特定的像素图 
glGetPointerv 返回顶点数据数组的地址 
glGetPolygonStipple 返回多边形的点图案 
glGetString 返回描述当前OpenGl连接的字符串 
glGetTexEnvfv 返回纹理环境参数 
glGetTexGendv,glGetTexGenfv,glGetTexGeniv 返回纹理坐标生成参数 
glGetTexImage 返回一个纹理图象 
glGetTexLevelParameterfv,glGetTexLevelParameteriv 返回特定的纹理参数的细节级别 
glGetTexParameterfv,glGetTexParameteriv 返回纹理参数值 
glHint 定义实现特殊的线索 
glIndex 建立当前的色彩索引 
glIndexMask 控制写色彩索引缓冲区里的单独位 
GlIndexPointer 定义一个颜色索引数组 
glInitName 初始化名字堆栈 
glInterleavedArrays 同时定义和允许几个在一个大的数组集合里的交替数组 
glIsEnabled 定义性能是否被允许 
glIsList 检测显示列表的存在 
glIsTexture 确定一个名字对应一个纹理 
glLightf,glLighti,glLightfv,glLightiv 设置光源参数 
glLightModelf,glLightModeli,glLightModelfv,glLightModeliv 设置光线模型参数 
glLineStipple 设定线点绘图案 
glLineWidth 设定光栅线段的宽 
glListBase 为glcallList设定显示列表的基础 
glLoadIdentity 用恒等矩阵替换当前矩阵 
glLoadMatrixd,glLoadMatrif 用一个任意矩阵替换当前矩阵 
glLoadName 将一个名字调入名字堆栈 
glLogicOp 为色彩索引渲染定义一个逻辑像素操作 
glMap1d,glMap1f 定义一个一维求值程序 
glMap2d,glMap2f 定义一个二维求值程序 
glMapGrid1d,glMapGrid1f,glMapgrid2d,glMapGrid2f 定义一个一维或二维网格 
glMaterialf,glMateriali,glMateriafv,glMaterialiv 为光照模型定义材质参数 
glMatrixMode 定义哪一个矩阵是当前矩阵 
glMultMatrixd,glMultMatrixf 用当前矩阵与任意矩阵相乘 
glNewList,glEndList 创建或替换一个显示列表 
glNormal 设定当前顶点法向 
glNormalPointer 设定一个法向数组 
glOrtho 用垂直矩阵与当前矩阵相乘 
glPassThrough 在反馈缓冲区做记号 
glPixelMapfv,glPixelMapuiv,glPixelMapusv 设定像素交换图 
glPixelStoref,glpixelStorei 设定像素存储模式 
glPixelTransferf,glPixelTransferi 设定像素存储模式 
glPixelZoom 设定像素缩放因数 
glPointSize 设定光栅点的直径 
glPolygonMode 选择一个多边形的光栅模式 
glPolygonOffset 设定OpenGL用于计算深度值的比例和单元 
glPolygonStipple 设定多边形填充图案 
glPrioritizeTextures 设定纹理固定的优先级 
glPushAttrib,glPopAttrib 属性堆栈的压入和弹出操作 
glPushClientAttrib,glPopClientAttrib 在客户属性堆栈存储和恢复客户状态值 
glPushmatrix,glPopMatrix 矩阵堆栈的压入和弹出操作 
glPushName,glPopName 名字堆栈的压入和弹出操作 
glRasterPos 定义像素操作的光栅位置 
glreadBuffer 为像素选择一个源色彩缓冲区 
glReadPixels 从帧缓冲区读取一组数据 
glRectd,glRectf,glRecti,glRects,glRectdv,glRectfv,glRectiv,glRectsv 绘制一个三角形 
glRenderMode定义光栅模式 
glRotated,glRotatef 将旋转矩阵与当前矩阵相乘 
glScaled,glScalef 将一般的比例矩阵与当前矩阵相乘 
glScissor 定义裁减框 
glSelectBuffer 为选择模式值建立一个缓冲区 
glShadeModel 选择平直或平滑着色 
glStencilFunc 为模板测试设置功能和参照值 
glStencilMask 控制在模板面写单独的位 
glStencilOp 设置激活模式测试 
glTexCoord 设置当前纹理坐标 
glTexCoordPointer 定义一个纹理坐标数组 
glTexEnvf,glTexEnvi,glTexEnvfv,glTexEnviv 设定纹理坐标环境参数 
glTexGend,glTexgenf,glTexGendv,glTexGenfv,glTexGeniv 控制纹理坐标的生成 
glTexImage1D 定义一个一维的纹理图象 
glTexImage2D 定义一个二维的纹理图 
glTexParameterf,glTexParameteri,glTexParameterfv,glTexParameteriv 设置纹理参数 
glTexSubImage1D 定义一个存在的一维纹理图像的一部分,但不能定义新的纹理 
glTexSubImage2D 定义一个存在的二维纹理图像的一部分,但不能定义新的纹理 
glTranslated,glTranslatef 将变换矩阵与当前矩阵相乘 
glVertex 定义一个顶点 
glVertexPointer 设定一个顶点数据数组 
glViewport 设置视窗
 
 
 
[OpenGL应用函数库] 
gluBeginCurve,gluEndCurve 定义一条不一至的有理的NURBS曲线 
gluBeginPolygon,gluEndPolygon 定义一个非凸多边形 
gluBeginSurface,gluEndSurface 定义一个NURBS曲线 
gluBeginTrim,gluEndTrim 定义一个NURBS整理循环 
gluBuild1Dmipmaps 建立一维多重映射 
gluBuild2Dmipmaps 建立二维多重映射 
gluCylinder 绘制一个圆柱 
gluDeleteNurbsRenderer 删除一个NURBS对象 
gluDeleQuadric 删除一个二次曲面对象 
gluDeleteTess 删除一个镶嵌对象 
gluDisk 绘制一个盘子 
gluErrorString 根据OpenGL或GLU错误代码产生错误字符串 
gluGetNutbsProperty 得到一个NURBS属性 
gluGetString 得到一个描述GLU版本号或支持GLU扩展调用的字符串 
gluGetTessProperty 得到一个镶嵌对象 
gluLoadSamplingMatrices 加载NUMRBS例子和精选矩阵 
gluLookAt 设定一个变换视点 
gluNewNurbsRenderer 创建一个NURBS对象 
gluNewQuadric 建立一个二次曲面对象 
gluNewTess 建立一个镶嵌对象 
gluNextContour 为其他轮廓的开始做标记 
gluNurbsCallback 为NURBS对象设定一个回调 
gluNnrbsCurve 设定一个NuRBS曲线的形状 
gluNurbsProperty 设定一个NURBS属性 
gluNurbsSurface 定义一个NURBS表面的形状 
gluOrtho2D 定义一个二位正交投影矩阵 
gluPartialDisk 绘制一个盘子的弧 
gluPerspective 设置一个透视投影矩阵 
gluPickMatrix 定义一个拾取区间 
gluProject 将对象坐标映射为窗口坐标 
gluPwlCurve 描述一个分段线性NURBS修剪曲线 
gluQuadricCallback 为二次曲面对象定义一个回调 
gluQuadricDrawStyle 为二次曲面设定合适的绘制风格 
gluQuadricNormals 定义二次曲面所用的法向的种类 
gluQuadricOrientation 定义二次曲面内部或外部方向 
gluQuadricTexture 定义是否带二次其面做纹理帖图 
gluScaleImage 将图象变换为任意尺寸 
gluSphere 绘制一个球体 
gluTessBeginContour,gluTessEndContour 划定一个边界描述 
gluTessBeginPolygon,gluTessEndPolygon 划定一个多边形描述 
gluTessCallback 为镶嵌对象定义一个回调 
gluTessNormal 为一个多边行形定义法向 
gluTessProperty 设置镶嵌对象的属性 
gluTessVertex 定义在一个多边形上的顶点 
gluUnProject 将窗口坐标映射为对象坐标

译 者 序 近年来,随着计算机技术的进步,我们跨入了一个三维时代,各种扣人心弦的三维游戏、能数字化地显示天气变化的气象服务、震撼人心的3D数字化特殊效果,无不使我们体验到三维世界的全新感觉。可视化、计算机动画、虚拟现实是当今图形学领域的三大热门话题,它们的技术核心都是三维图形。 1992年7月,SGI公司首次发布了作为三维图形编程接口的OpenGL。目前它已成为国际上通用的开放式三维图形标准。一方面,OpenGL规范由ARB(OpenGL Architecture Review Board,OpenGL结构评审委员会)负责管理,充分保证了它的独立性、开放性、前瞻性和跨平台性。它可被集成到Unix、Windows NT 4.0、Windows 98、x窗口等窗口系统中。另一方面,Compaq 、IBM、 Intel、Microsoft等在计算机界具有主导作用的公司纷纷采用OpenGL图形的国际标准。各种游戏加速卡、专用加速部件都能不同程度地提高OpenGL程序的运行性能。这些都推动了OpenGL的发展,并迅速成为三维图形的国际标准。再者,SGI公司不断推出以OpenGL为基础的高级开发工具,以满足对图形工具性能日益增长的需求。这一切使得OpenGL成为最流行的三维图形开发工具。目前它已被广泛应用于CAD/CAM/CAE、地质、航空、医学图像处理、广告、艺术造型、电影后期制作等领域。 OpenGL由大量功能强大的图形函数组成,它集成了所有曲面造型、图形变换、光照、材质、纹理、像素操作、融合、反选择、雾化等复杂的计算机图形学算法。开发人员可以利用这些函数对整个三维图形轻松进行渲染,从而达到数字化现实生活景象的目的。 本书是OpenGL 参考手册的第3版,对OpenGL函数进行了详细而简洁的说明,是程序员利用OpenGL进行程序开发的不可缺少的工具书。本书第1章是OpenGL入门,第2章对命令和例程进行了简介,第3章集中介绍了各种命令和例程,第4章介绍了定义的常量和相关命令,第5章是OpenGL参考说明,第6章是GLU的参考说明,第7章是GLX的参考说明。 本书在翻译过程中得到了国家863计划项目(863-511-942-016)的支持。参加翻译的人员还有王火亮、许宇荣、杨勤、杨颖、余牛、周贵仔、蒋丽、李岳梅,在此感谢他们的辛勤劳动。 由于计算机软件行业的飞速发展,加之时间仓促,翻译中难免会有不妥之处,如能得到您的及时指正将不胜感激。 我们的电子邮箱地址为caid@cs.zju.edu.cn. 译 者 2000年9月于求是园 目 录 译者序 前言 第1章 OpenGL简介 1 1.1 OpenGL基础 1 1.1.1 OpenGL图元及命令 1 1.1.2 OpenGL是一种过程语言 1 1.1.3 OpenGL的执行模式 2 1.2 基本OpenGL操作 2 第2章 命令和例程概述 4 2.1 OpenGL处理流程 4 2.1.1 顶点 4 2.1.2 ARB绘图子集 8 2.1.3 片断 9 2.2 其他OpenGL命令 11 2.2.1 使用求值器 11 2.2.2 执行选择和反馈 11 2.2.3 显示列表的使用 12 2.2.4 模式和运行的管理 12 2.2.5 获取状态信息 12 2.3 OpenGL实用库 13 2.3.1 生成纹理操作所需的图形 13 2.3.2 坐标转换 13 2.3.3 多边形的镶嵌分块 14 2.3.4 绘制球体、圆柱和圆盘 14 2.3.5 NURBS曲线和曲面 14 2.3.6 错误处理 15 2.4 对X窗口系统的OpenGL扩展 15 2.4.1 初始化 15 2.4.2 控制绘制操作 15 第3章 命令和例程一览 18 3.1 注释 18 3.2 OpenGL命令 19 3.2.1 图元 19 3.2.2 顶点数组 19 3.2.3 坐标转换 20 3.2.4 着色与光照 20 3.2.5 剪切 21 3.2.6 光栅化 21 3.2.7 像素操作 22 3.2.8 纹理 22 3.2.9 雾 23 3.2.10 帧缓冲区操作 24 3.2.11 求值器 24 3.2.12 选择与反馈 25 3.2.13 显示列表 25 3.2.14 模式与执行 25 3.2.15 状态查询 26 3.3 ARB扩展 26 3.3.1 多重纹理 26 3.3.2 绘图子集 26 3.4 GLU例程 28 3.4.1 纹
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值