虚拟现实Chapter2-2openGL.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《虚拟现实Chapter2-2openGL.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟现实 Chapter2 openGL
- 资源描述:
-
1、虚拟环境构建主要是应用虚拟环境构建主要是应用三维图形三维图形技术,技术,包括包括图形的构建图形的构建图形的显示图形的显示二、虚拟现实系统图形程序设计接口二、虚拟现实系统图形程序设计接口 OpenGL在虚拟现实系统中,模型是十分复杂的;在虚拟现实系统中,模型是十分复杂的;显示:显示:软件:软件: 3D图形应用程序图形应用程序硬件:硬件:3D图形加速卡图形加速卡接口:三维图形应用程序接口(接口:三维图形应用程序接口(3D API) 沟通沟通3D图形应用程序和图形应用程序和3D图形加速卡图形加速卡三维图形编程接口(三维图形编程接口(3D API)多达)多达50多种多种选择大公司和在图形应用方面获得广
2、泛认选择大公司和在图形应用方面获得广泛认可的公司提供的三维可的公司提供的三维API引擎;引擎;OpenGLQuick-Draw 3DDirect3DOpenGL:SGI优点:适用于跨平台的应用开发,可运优点:适用于跨平台的应用开发,可运行在行在Unix、Windows XP、Windows NT、及、及Mac平台上平台上缺点:不能完成某些高级功能,如某些缺点:不能完成某些高级功能,如某些文件操作功能文件操作功能Quick-Draw 3D(QD3D):): Apple公司公司优点:跨平台的应用开发,具有某些高优点:跨平台的应用开发,具有某些高级功能;是面向对象的图形系统;级功能;是面向对象的图形
3、系统;Direct3D: Microsoft1996年发布的三维年发布的三维API,是交,是交互式媒体技术家族互式媒体技术家族DirectX中的一员;中的一员;具有某些高级功能;具有某些高级功能;4.1 OpenGL简介什么是什么是OpenGLOpenGL的组成的组成OpenGL的工作流程的工作流程OpenGL的基本操作的基本操作OpenGL程序的基本结构程序的基本结构OpenGL优势:性能优越,计算环境广泛,个人计算机性能优越,计算环境广泛,个人计算机-工工作站作站-超级计算机;超级计算机;虚拟环境平台虚拟环境平台Open Inventor、World Tool Kit、Mulitgen C
4、reatorVega是以是以OpenGL为基础开发的;为基础开发的;计算机界具有领导地位的计算机公司很多计算机界具有领导地位的计算机公司很多采用采用OpenGL作为三维图形应用程序设计作为三维图形应用程序设计界面,界面,OpenGL程序具有广泛的移植性;程序具有广泛的移植性;一、什么是一、什么是OpenGL?功能强大的图形库:可开发多种特殊视觉功能强大的图形库:可开发多种特殊视觉(如光照,纹理,透明,阴影)的三维图(如光照,纹理,透明,阴影)的三维图形;形;软硬件平台无关的跨平台三维图形引擎,软硬件平台无关的跨平台三维图形引擎,运行于多种窗口系统之上;运行于多种窗口系统之上;包含图元生成、投影
5、、光照、光栅化等图包含图元生成、投影、光照、光栅化等图形显示过程所需的功能形显示过程所需的功能OpenGL的发展历史:的发展历史:前身是由前身是由SGI公司为其图形工作站开发的公司为其图形工作站开发的IRIS GL,是一个工业标准的三维图形软件接口。,是一个工业标准的三维图形软件接口。向其他平台移植时,开发了向其他平台移植时,开发了OpenGL有有GL的功能,而且是开放的,适用于多种硬件的功能,而且是开放的,适用于多种硬件平台及操作系统,平台及操作系统,用户可以创建出接近光线跟踪的高质量静止或用户可以创建出接近光线跟踪的高质量静止或动画的三维彩色图象,而且是要比光线跟踪算动画的三维彩色图象,而
6、且是要比光线跟踪算法快一个数量级。法快一个数量级。二、二、OpenGL的组成的组成OpenGL库库包括包括115个基本函数个基本函数函数以函数以gl开头开头例:例:glColor3f(), glTranslate3f().完成图元的定义、几何变换、投影等功能完成图元的定义、几何变换、投影等功能OpenGL实用库实用库实用函数实用函数43个个函数以函数以glu开头开头例:例:gluPerspective();完成更高层的图形处理如曲线曲面的生成、完成更高层的图形处理如曲线曲面的生成、图象操作等图象操作等OpenGL辅助库辅助库包括函数包括函数31个个函数以函数以aux开头开头例:例:auxIni
7、tWindow();主要用于窗口管理主要用于窗口管理主要特点主要特点OpenGL可以在网络上工作,即可以在网络上工作,即客户机客户机/服服务器务器型型客户机:显示图形客户机:显示图形服务器:运行图形程序服务器:运行图形程序客户机与服务器可以不同类型,但两者服从相客户机与服务器可以不同类型,但两者服从相同的协议。同的协议。OpenGL的的硬件无关性硬件无关性好的移植性好的移植性三、三、OpenGL基本工作流程基本工作流程(1)根据基本图形单元(点,线,多边形)根据基本图形单元(点,线,多边形)建立建立景物模型景物模型,并对景物模型进行数学描述。,并对景物模型进行数学描述。(2)在三维空间中)在三
8、维空间中放置景物模型放置景物模型,并设置视点。,并设置视点。(3)计算模型中物体的)计算模型中物体的颜色颜色(直接定义或由光照(直接定义或由光照及纹理间接给出)及纹理间接给出)(4)光栅化光栅化,把模型数学描述和颜色信息转换至,把模型数学描述和颜色信息转换至屏幕上屏幕上在上述过程中,可执行在上述过程中,可执行消隐处理消隐处理等操作等操作四、四、OpenGL的基本操作的基本操作图元绘制图元绘制图元属性图元属性OpenGL变换(几何变换、投影变换、裁变换(几何变换、投影变换、裁剪变换、视口变换)剪变换、视口变换)OpenGL图形的描绘图形的描绘1 1、图元绘制、图元绘制图元的表示图元的表示点:三维
9、坐标点:三维坐标(x,y,z)齐次坐标齐次坐标(x,y,z,1)线段:两个端点线段:两个端点多边形:顶点序列多边形:顶点序列矩形:左下角点、右上角点矩形:左下角点、右上角点绘制图元绘制图元定义一个顶点定义一个顶点void glVertex234sifdv(TYPE coords);例:例:glVertex3f(1.0,1.0,1.0);绘制函数要在绘制函数要在glBegin与与glEnd之间调用。之间调用。glBegin标志几何要素定义的开始,标志几何要素定义的开始,glEnd函数函数则标志结束一个几何要素的定义。则标志结束一个几何要素的定义。函数函数 void glBegin(Glenum
10、mode);mode 的值见下表。的值见下表。 Mode 的值的值 解释解释GL_POINTS一系列独立的点一系列独立的点GL_LINES每两点相连成为线段每两点相连成为线段GL_POLYGON简单,凸多边形的边界简单,凸多边形的边界GL_TRIANGLES三点相连成为一个三角形三点相连成为一个三角形GL_QUADS四点相连成为一个四边形四点相连成为一个四边形GL_LINE_STRIP顶点相连成为一系列线段顶点相连成为一系列线段GL_LINE_LOOP顶点相连成为一系列线段,连接最后顶点相连成为一系列线段,连接最后一点与第一点一点与第一点GL_TRIANGLE_STRIP相连的三角形带相连的三
11、角形带GL_TRIANGLE_FAN相连的三角形扇形相连的三角形扇形GL_QUAD_STRIP相连的四边形带相连的四边形带允许在允许在glBegin()与与glEnd()之间调用的之间调用的OpenGL命令命令 glVertex*();glColor*();glIndex();glNormal();glEvalCoord*();glCallList(),glCallLists();等2 2、图元的属性(、图元的属性(1/51/5)颜色颜色点点大小(缺省值为大小(缺省值为1)void glColor*();void glIndex();void glPointSize(GLfloat size)
12、;线段线段线宽线宽 线型:连续线(缺省值)、点画线等线型:连续线(缺省值)、点画线等void glLineWidth(GLfloat width); void glEnable(GL_LINE_STIPPLE);void glLineStipple(GLint factor,GLushort pattern);例:例:patternfactor结果结果0 x00FF 10 x00FF 2 图元的属性(图元的属性(2/52/5)多边形多边形绘制方式:顶点、边界、填充绘制方式:顶点、边界、填充 void glPolygonMode(GLenum face,GLenum mode);face:GL_
13、FRONT_AND_BACK(缺省值)GL_FRONTGL_BACKmode: GL_POINTGL_LINEGL_FILL(缺省值) 图元的属性(图元的属性(3/53/5)前向面与后向面前向面与后向面背面剔除背面剔除void glFrontFace(GLenum mode);mode: GL_CCW(缺省值)(缺省值)GL_CWvoid glCullFace(GLenum mode);mode: GL_FRONT GL_BACK(缺省值)(缺省值)GL_FRONT_AND_BACK 图元的属性(图元的属性(4/54/5)多边形填充方式多边形填充方式均匀填色方式均匀填色方式位图不透明方式位图不
展开阅读全文