ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:30.71KB ,
资源ID:16799914      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16799914.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(OpenGL库函数大全Word下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

OpenGL库函数大全Word下载.docx

1、(9)曲线与曲面的绘制函数。生成曲线或曲面的函数glMap*()、glMapGrid*(),求值器的函数glEvalCoord*() glEvalMesh*()。(10)状态设置与查询函数。主要有glGet*()、glEnable()、glGetError()等。2OpenGL实用库The OpenGL Utility Library (GLU)包含有43个函数,函数名的前缀为glu。OpenGL提供了强大的但是为数不多的绘图命令,所有较复杂的绘图都必须从点。线、面开始。Glu 为了减轻繁重的编程工作,封装了OpenGL函数,Glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些

2、较为复杂的操作。此函数由 glu.dll来负责解释执行。OpenGL中的核心库和实用库可以在所有的OpenGL平台上运行。主要包括了以下几种:(1)辅助纹理贴图函数,有gluScaleImage() 、gluBuild1Dmipmaps()、gluBuild2Dmipmaps()。(2)坐标转换和投影变换函数,定义投影方式函数gluPerspective()、gluOrtho2D() 、gluLookAt(),拾取投影视景体函数gluPickMatrix(),投影矩阵计算gluProject()和 gluUnProject()等等。(3)多边形镶嵌工具,有gluNewTess()、 gluDe

3、leteTess()、gluTessCallback()、gluBeginPolygon() gluTessVertex()、gluNextContour()、gluEndPolygon()等等。(4)二次曲面绘制工具,主要有绘制球面、锥面、柱面、圆环面gluNewQuadric()、gluSphere()、gluCylinder()、gluDisk()、gluPartialDisk()、gluDeleteQuadric()等等。(5)非均匀有理B样条绘制工具,主要用来定义和绘制Nurbs曲线和曲面,包括gluNewNurbsRenderer()、 gluNurbsCurve()、gluBeg

4、inSurface()、gluEndSurface()、gluBeginCurve()、 gluNurbsProperty()等函数。(6)错误反馈工具,获取出错信息的字符串gluErrorString()。3OpenGL辅助库包含有31个函数,函数名前缀为aux。这部分函数提供窗口管理、输入输出处理以及绘制一些简单三维物体。此函数由glaux.dll来负责解释执行。创建aux库是为了学习和编写 OpenGL程序,它更像是一个用于测试创意的预备基础接管。Aux库在windows实现有很多错误,因此很容易导致频繁的崩溃。在跨平台的编程实例和演示中,aux很大程度上已经被glut库取代。OpenG

5、L中的辅助库不能在所有的OpenGL平台上运行。辅助库函数主要包括以下几类:(1)窗口初始化和退出函数,auxInitDisplayMode()和auxInitPosition()。(2)窗口处理和时间输入函数,auxReshapeFunc()、auxKeyFunc()和auxMouseFunc()。(3)颜色索引装入函数,auxSetOneColor()。(4)三维物体绘制函数。包括了两种形式网状体和实心体,如绘制立方体auxWireCube()和 auxSolidCube()。这里以网状体为例,长方体auxWireBox()、环形圆纹面auxWireTorus()、圆柱 auxWireCy

6、linder()、二十面体auxWireIcosahedron()、八面体auxWireOctahedron()、四面体 auxWireTetrahedron()、十二面体auxWireDodecahedron()、圆锥体auxWireCone()和茶壶 auxWireTeapot()。(5)背景过程管理函数auxIdleFunc()。(6)程序运行函数auxMainLoop()。4OpenGL工具库 OpenGL Utility Toolkit包含大约30多个函数,函数名前缀为glut。glut是不依赖于窗口平台的OpenGL工具包,由Mark KLilgrad在SGI编写(现在在Nvidi

7、a),目的是隐藏不同窗口平台API的复杂度。函数以glut开头,它们作为aux库功能更强的替代品,提供更为复杂的绘制功能,此函数由glut.dll来负责解释执行。由于glut中的窗口管理函数是不依赖于运行环境的,因此OpenGL中的工具库可以在X-Window, Windows NT, OS/2等系统下运行,特别适合于开发不需要复杂界面的OpenGL示例程序。对于有经验的程序员来说,一般先用glut理顺3D图形代码,然后再集成为完整的应用程序。这部分函数主要包括:(1)窗口操作函数,窗口初始化、窗口大小、窗口位置等函数glutInit() glutInitDisplayMode() glutI

8、nitWindowSize() glutInitWindowPosition()等。(2)回调函数。响应刷新消息、键盘消息、鼠标消息、定时器函数等,GlutDisplayFunc() glutPostRedisplay() glutReshapeFunc() glutTimerFunc() glutKeyboardFunc() glutMouseFunc()。(3)创建复杂的三维物体。这些和aux库的函数功能相同。创建网状体和实心体。如glutSolidSphere()、glutWireSphere()等。在此不再叙述。(4)菜单函数。创建添加菜单的函数GlutCreateMenu()、glu

9、tSetMenu()、glutAddMenuEntry()、glutAddSubMenu() 和glutAttachMenu()。(5)程序运行函数,glutMainLoop()。(一)库函数开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL图形库一共有100多个函数,它们分别属于OpenGL的基本库、实用库、辅助库等不同的库。1、核心库,包含的函数有115个,它们是最基本的函数,其前缀是gl;这部分函数用于常规的、核心的图形处理,由gl.dll来负责解释执行。核心库中的函数可以进一步分为以下几类函数。glBeg

10、ain()、glEnd()、glNormal*()、glVertex*()。矩阵入栈函数glPushMatrix(),矩阵出栈函数glPopMatrix(),装载矩阵函数glLoadMatrix(),矩阵相乘函数glMultMatrix(),当前矩阵函数glMatrixMode()和矩阵标准化函数glLoadIdentity(),几何变换函数glTranslate*()、glRotate*()和glScale*(),投影变换函数glOrtho()、glFrustum()和视口变换函数glViewport()等等。如设置颜色模式函数glColor*()、glIndex*(),设置光照效果的函数g

11、lLight*() 、glLightModel*()和设置材质效果函数glMaterial()等等。(4)显示列表函数。主要有创建、结束、生成、删除和调用显示列表的函数glNewList()、 glEndList()、glGenLists()、glCallList()和glDeleteLists()等。(5)纹理映射函数。主要有一维纹理函数glTexImage1D()、二维纹理函数glTexImage2D()、 设置纹理参数、纹理环境和纹理坐标的函数glTexParameter*()、glTexEnv*()和glTetCoord*()等。融合函数glBlendFunc()、反走样函数glHin

12、t()和雾化效果glFog*()。像素位置glRasterPos*()、线型宽度glLineWidth()、多边形绘制模式glPolygonMode(),读取象素glReadPixel()、复制象素glCopyPixel()等。主要有渲染模式glRenderMode()、选择缓冲区glSelectBuffer()和反馈缓冲区glFeedbackBuffer()等。生成曲线或曲面的函数glMap*()、glMapGrid*(),求值器的函数glEvalCoord*() glEvalMesh*()。2、实用库(OpenGL utility library,GLU),包含的函数功能更高一些,如绘制复

13、杂的曲线曲面、高级坐标变换、多边形分割等,共有43个,前缀为glu。Glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。此类函数由glu.dll来负责解释执行。主要包括了以下几种:(1)辅助纹理贴图函数。有gluScaleImage() 、gluBuild1Dmipmaps()、gluBuild2Dmipmaps()等。(2)坐标转换和投影变换函数。定义投影方式函数gluPerspective()、gluOrtho2D() 、gluLookAt(),拾取投影视景体函数gluPickMatrix(),投影矩阵计算gluProject()和 gluUnProject

14、()等。(3)多边形镶嵌工具。有gluNewTess()、 gluDeleteTess()、gluTessCallback()、gluBeginPolygon() gluTessVertex()、gluNextContour()、gluEndPolygon()等。(4)二次曲面绘制工具。主要有绘制球面、锥面、柱面、圆环面gluNewQuadric()、gluSphere()、gluCylinder()、gluDisk()、gluPartialDisk()、gluDeleteQuadric()等等。(5)非均匀有理B样条绘制工具。主要用来定义和绘制Nurbs曲线和曲面,包括gluNewNurbs

15、Renderer()、gluNurbsCurve()、gluBeginSurface()、gluEndSurface()、gluBeginCurve()、gluNurbsProperty()等函数。(6)错误反馈工具。获取出错信息的字符串gluErrorString()等。3、OpenGL辅助库(OpenGL auxiliarylibrary,GLAUX),包括简单的窗口管理、输入事件处理、某些复杂三维物体绘制等函数,共有31个,前缀为aux。此类函数由glaux.dll来负责解释执行。辅助库函数主要包括以下几类。(1)窗口初始化和退出函数。auxInitDisplayMode()和auxIn

16、itPosition()。(2)窗口处理和时间输入函数。auxReshapeFunc()、auxKeyFunc()和auxMouseFunc()。(3)颜色索引装入函数。auxSetOneColor()。包括了两种形式网状体和实心体,如绘制立方体auxWireCube()和 auxSolidCube()。这里以网状体为例,长方体auxWireBox()、环形圆纹面auxWireTorus()、圆柱auxWireCylinder()、二十面体auxWireIcosahedron()、八面体auxWireOctahedron()、四面体auxWireTetrahedron()、十二面体auxWir

17、eDodecahedron()、圆锥体auxWireCone()和茶壶auxWireTeapot()。绘制实心体只要将上述函数中的确Wire更换成Solid就可以了。(5)其他。背景过程管理函数auxIdleFunc();程序运行函数auxMainLoop()。4、OpenGL工具库(penGL Utility Toolkit)包含大约30多个函数,函数名前缀为glut,此函数由glut.dll来负责解释执行。这部分函数主要包括:(1)窗口操作函数窗口初始化、窗口大小、窗口位置等函数glutInit() glutInitDisplayMode()、glutInitWindowSize() gl

18、utInitWindowPosition()等。响应刷新消息、键盘消息、鼠标消息、定时器函数等,GlutDisplayFunc()、glutPostRedisplay()、 glutReshapeFunc()、glutTimerFunc()、glutKeyboardFunc()、 glutMouseFunc()。(4)菜单函数创建添加菜单的函数GlutCreateMenu()、glutSetMenu()、glutAddMenuEntry()、glutAddSubMenu() 和glutAttachMenu()。(5)程序运行函数。glutMainLoop()。5、16个WGL函数,专门用于Op

19、enGL和Windows窗口系统的联接,其前缀为wgl,主要用于创建和选择图形操作描述表(renderingcontexts)以及在窗口内任一位置显示字符位图。这类函数主要包括以下几类(1)绘图上下文相关函数。wglCreateContext()、wglDeleteContext()、wglGetCurrentContent()、wglGetCurrentDC() wglDeleteContent()等。(2)文字和文本处理函数。wglUseFontBitmaps()、wglUseFontOutlines()。(3)覆盖层、地层和主平面层处理函数。wglCopyContext()、wglCre

20、ateLayerPlane()、 wglDescribeLayerPlane()、wglReakizeLayerPlatte()等。(4)其他函数。wglShareLists()、wglGetProcAddress()等。6、另外,还有五个Win32函数用来处理像素格式(pixel formats)和双缓存。由于它们是对Win32系统的扩展,因此不能应用在其它OpenGL平台上。(二)OpenGL数据类型与C语言相对应,OpenGL中也有整数、字节、浮点数等数据类型,为了说明两者的对应关系,下表将OpenGL的数据类型与相应的C类型进行了对比:前缀 数据类型 相应C语言类型 OpenGL类型b

21、 8-bit integer signed char GLbytes 16-bit integer short GLshorti 32-bit integer long GLint,GLsizeif 32-bit floating-point float GLfloat,GLclampfd 64-bit floating-point double GLdouble,GLclampdub 8-bit unsigned integer unsigned char GLubyte,GLbooleanus 16-bit unsigned integer unsigned short GLushortu

22、i 32-bit unsigned integer unsigned long GLuint,GLenum,GLbitfield表一、OpenGL数据类型表此外,OpenGL也定义GLvoid类型,如果用C语言编写,可以用它替代void类型。(三)OpenGL库函数的命名规律了解了OpenGL的数据类型,让我们再回过头来看看OpenGL库函数的命名规律。所有OpenGL函数采用了以下格式:根命令可选的参数个数可选的参数类型库前缀有gl、glu、aux、glut、wgl、glx等等,分别表示该函数属于OpenGL某开发库等,从函数名后面中还可以看出需要多少个参数以及参数的类型。I代表int型,f

23、代表float型,d代表double型,u代表无符号整型。注意,有的函数参数类型后缀前带有数字2、3、4。2代表二维,3代表三维,4代表alpha值(以后介绍)。有些OpenGL函数最后带一个字母v,表示函数参数可用一个指针指向一个向量(或数组)来替代一系列单个参数值。下面两种格式都表示设置当前颜色为红色,二者等价。glColor3f(1.0,0.0,0.0);等价于:float color_array=1.0,0.0,0.0;glColor3fv(color_array);除了以上基本命名方式外,还有一种带*星号的表示方法,例如glColor*(),它表示可以用函数的各种方式来设置当前颜色。

24、同理,glVertex*v()表示用一个指针指向所有类型的向量来定义一系列顶点坐标值。第一篇GL库函数 第一章使用颜色 l. l glshadeModel-选择平面明暗模式或光滑明暗模式 1. 2 glColor-设置当前颜色 1. 3 glColorPointer-定义颜色数组 1. 4 gllndex-设置当前颜色索引 1. 5 gllndexPointer-定义颜色索引数组 1. 6 glCOforTableEXT-为目标调色板纹理指定调色板的格式和大小 1. 7 glColorsubTableEXT-指定需要替代的目标纹理调色板的一部分 第二章 绘制几何图原及物体 2. l glVer

25、tex-指定顶点 2. 2 glVertexPointer-定义顶点数据数组 2. 3 glArrayElement-指定用来绘制顶点的数组元素 2. 4 glBegin, glEnd-限定一个或多个图原顶点的绘制 2. 5 glEdgeFlag, glEdgeFlagy-指定边界标记 2. 6 glPointsize-指定光栅化点的直径 2. 7 glLinewidth-指定光栅化直线的宽度 2. 8 glLinestipple-指定点划线 2. 9 glPolygonMode-选择多边形光栅化模式 2. 10 glFrontFace-定义正面多边形和反反面多边形 2. 11 glPolyg

26、onstipple-设置多边形点划图 2. 12 glDrawElements-从数组数据绘制图原 2. 13 glRect-绘制矩形 第三章 坐标转换 3. l glTranslate-用平移矩阵乘以当前矩阵 3. 2 glRotate-用旋转矩阵乘以当前矩阵 3. 3 glscale-用缩放矩阵乘以当前矩阵 3. 4 glViewport-设置机口 3. 5 glFrustum-用透视矩阵乘以当前矩阵 3. 6 glorthO-用正视矩阵乘以当前矩阵 3. 7 glClipPlane-指定切割几何物体的平面 第四章 堆栈操作 4. l glLoadMatrix-用任意矩阵替换当前矩阵 4. 2 glMultMatrix-用任意矩阵乘以当前矩阵 4. 3 glMatrixMode-指定哪一个矩阵是当前矩阵 4. 4 glPushMatrix, glPopMatrix-压人和弹出当前矩阵堆栈 4. 5 glPushAttrib, glPopAttrib-压人和弹出属性堆栈 4. 6 glPushClientAttrib, glPopClientAttrib-在客户属性堆栈中保存和恢复客户状态变量组 4. 7 glPushName, gPopName-压人和弹出名称堆栈 4. 8 gllnitNames-初始名称堆栈 4, 9 gl

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1