大学毕业论文-—3d游戏引擎中的室外大场景渲染技术研究与实现.doc
《大学毕业论文-—3d游戏引擎中的室外大场景渲染技术研究与实现.doc》由会员分享,可在线阅读,更多相关《大学毕业论文-—3d游戏引擎中的室外大场景渲染技术研究与实现.doc(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 3D游戏引擎中的室外大场景渲染技术研究与实现关键字: 室外场景渲染LOD技术GeoMipMap场景管理多纹理混合3D游戏特别是网络在线游戏中,室外大场景渲染是一块非常重要的内容,它也是3D图形引擎的核心。它是图形学和图像处理理论最直接的应用,其涉及的技术还可以应用于其它领域,比如虚拟现实、3D GIS、数据可视化等,其重要性不容置疑。随着硬件的不断发展,行业对渲染场景的规模和真实感提出了更高的要求。毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其
2、他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:
3、所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作
4、者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订
5、及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论
6、文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文
7、(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日第一章 绪论1.1概述众所周知,近几年以电子游戏为主的计算机互动娱乐产业迅猛
8、发展,已成为国民经济的重要组成部分。然而,由于我国的软件业起步较晚,3D游戏的核心技术被欧美、日韩等牢牢占据。如何掌握相关核心技术已成为中国电子娱乐产业的当务之急。室外场景渲染是指对户外所有景物的真实绘制,相对于室内场景渲染,它更为复杂。在3D游戏特别是网络在线游戏中,室外大场景渲染是一块非常重要的内容,它也是3D图形引擎的核心(见图1.1)。游戏引擎中大场景的渲染技术是图形学和图像处理理论的最直接应用,其涉及的技术还可以应用于其它领域,比如虚拟现实、3D GIS、数据可视化等,其重要性不容置疑。1.1.1室外场景渲染研究的内容和难点真实感的室外场景除包括地表的基本几何形状绘制,还包括地表上的
9、生物如:草、岩石、树等的渲染以及对光影效果的表现。其中的难点主要在大规模地表的数据处理和真实感的仿真。地形场景中模型图元的数量是以场景大小平方的速度增长的。一个81938193维数的地形,如果不考虑减低细节程度和裁剪,绘制一帧将要渲染128M个三角形,这样的三角形量在PC级别的机器上目前还是远不能实现交互式帧率的。所以,如何减少渲染地形的图元数目一度成为室外场景实时渲染的关键问题。随着硬件技术的发展,每秒钟处理上亿个三角形已不再困难。很多计算如几何变换和光栅处理都可以交给GPU去计算。在GPU数据吞吐量很大的情况下,如果个算法在剔除渲染图元的过程中占用了太多CPU资源,出现GPU等待CPU的情
10、况,那么即使算法在剔除多余顶点方面做得很好,总体绘制效率也不是高效的。所以在目前的显卡硬件架构下,能充分发挥CPU与GPU性能,消除局部效率瓶颈的算法才是最好的算法。在真实感仿真上,比如对草丛的模拟,如果全部用细节三角形面片,那即使一片草地需要渲染的三角形个数也是难以想像的。目前对物体细节的表现还主要是运用纹理贴图的方式来实现。光影效果的表现涉及局部光照模型、全局光照模型、光照贴图、阴影生成等相关算法和技术。1.1.2国内外技术发展历程和现状在国外,3D游戏中场景渲染技术的发展大致可以分为三个阶段:三维真实感场景渲染领域的研究在国外起步很早,很多相关算法在8090年代就已提出,并建立了非常严密
11、的理论体系。比如对场景渲染非常重要的多边形LOD算法,场景空间管理的BSP、四叉树、八叉树等算法,光照模型,阴影算法等。但是这些算法在资源有限的微机上受到各方面限制。当时的这些算法还仅限于在大型机和图形工作站上实现。92年,随着ID Soft公司一款游戏Quake(雷神之锤)的发布,标志着第一款支持多边形模型、动画、粒子系统的全三维游戏在个人计算机上正式诞生。在随后发布的QuakeII、Unreal、Half Life等游戏中,场景渲染相关的LOD技术、BSP空间管理技术、光照贴图、凹凸贴图、多重贴图等相继应用在3D游戏中。随后出现的Quake、Unrea游戏引擎,更是标志着3D游戏引擎技术走
12、向成熟。现阶段,随着显卡技术的发展,GPU不但支持标准的(固定的)变换与光照(TL)管道线,还支持顶点着色(vertex shader)和像素着色(pixel shader) 方式,开发人员因此有了更大的自主空间,可以实现更真实的绘制功能。在此环境下,各大公司都着手开发新一代3D游戏引擎。其中商业引擎以QuakeIII、UnrealII最为出名。此外,软件开源社区的不断壮大,也诞生出一些比较好的开源3D引擎,比如OGRE等。运用这些引擎中的场景渲染技术能生成真实感更强的水波、天气系统、茂密的森林、流熔岩的火山等效果,场景的规模也更大,顶点动态光照技术也开始在室外场景中应用。3D游戏的趋势是往超
13、大规模场景,真实感表现的虚拟世界发展。大规模场景表现和游戏的虚拟仿真,自然也成为了世界上3D游戏行业非常热门和前沿的研究领域与方向。比如美国暴雪公司的“魔兽世界和韩国NCSOFT公司的“天堂2已经在这两个方而取得了相当的突破和进展。暴雪的“魔兽世界按人的比例来计算,世界地图已达到35km35km。随着电子娱乐业的迅猛发展,国内目前从事3D引擎研究和开发的公司也多了起来。比如目标软件的GFX3D引擎,盛大公司的3D引擎,网易公司的3D引擎,锦大科技的AURORA引擎等,还有一些游戏工作组的3D引擎,比如WIN3D系列,Origo系列,TUAM9系列引擎等。但总体上来说,国内还处在使用和模仿优秀引
14、擎的阶段,很多都是在国外优秀引擎上做一些延伸。真正严格意义上自主开发产品还几乎没有,或者说自主开发产品的质量和欧美日韩还有一定差距。这种差距在一定程度上反映在3D大场景渲染技术方面,因此深入的展开这方面的研究十分必要。1.2课题研究的目的本课题希望通过剖析多款成熟3D游戏、引擎,对3D引擎的核心部分一室外场景渲染技术进行探讨,并设计和实现自己的一些方案,给我国商业游戏引擎的开发带来一些启示。1.3论文的篇章结构本文本着注重实际应用的前提,通过剖析开源3D引擎并运用推测验证的方法,对室外场景渲染的主要技术进行了研究和实现,在很多章节也提出了自己的方案和优化方法。以下对各章的内容进行简要描述。第一
15、章绪论。介绍3D室外场景渲染的基本概念,介绍国内外在这一领域的研究现状,阐述课题的意义和研究内容。第二章介绍3D图形渲染的基础知识,包括图形渲染的原理、流程以及实现图形渲染可以应用的类库OpenGL。第三章研究室外超大场景地形网格的生成与简化算法,比较各种基于LOD思想的网格简化算法的优劣,提出基于几何多重映射(GeoMipMap)的地形绘制优化方案,并得以实现。研究也涉及到地形的空间管理算法、可见性剔除算法、超大场景的数据加载方式研究等。第四章研究场景的真实感渲染技术。主要涉及应用多层纹理混合贴图模拟融合性地表技术,室外场景的光影效果处理技术,天空、树、草、雾等的渲染方案和技术。第五章描述本
16、设计实现的室外渲染软件Demo OSRender,以及程序编写过程中可用的优化技术。第六章对全文进行总结,介绍开题论文的完成情况,客观评价优点和不足,并给出改进的方向。第二章 3D游戏场景渲染的基础知识室外场景渲染从基本原理上来说可以分为两类:基于体素的渲染方法和基于多边形的渲染方法。早期的3D游戏,如三角洲特种部队就是采用的体素渲染法。体素法类似光线跟踪渲染,它从屏幕空间出发,找到地形与屏幕像素发出的射线交点,然后确定该像素的颜色。这种方法不依赖具体的图形硬件,整个渲染过程完全使用CPU处理,因此它不能使用图形卡硬件来加速,并且对于一个场景来说,往往不只是地形,还有其他使用多边形描述的物体,
17、体素法渲染的图像很难与硬件渲染的多边形进行混合,因此这种方法现在用得极少,而多边形渲染方法则成为一种主流。选择多边形来描述和渲染地形有很多优点,最主要的是它能够很好地使用硬件加速,并且能够和其他多边形对象一起统一管理。因此本课题仅对基于这种多边形面片的场景渲染技术进行研究。2.1基于多边形面片的3D渲染原理2.1.1基于多边形面片的图形绘制流程用多边形面片来建立物体的三维模型有容易表示、计算简单、容易绘制几个方面的好处,因此在游戏三维图形渲染中被广泛采用(通常是三角形面片)。从模型的顶点送入渲染管道到最后形成二维图像的过程如下图2.1所示:2.1.2变换渲染管道中大部分工作是把对象模型的顶点在
18、一个坐标系中的表示转化为另一坐标系中的表示,一般需要经过模型变换和相机变换两个过程。通常,几何模型被保存在自身的建模空间,即每个模型拥有单独的局部坐标系统。为了建立场景几何关系,模型将统一放置到世界坐标系中,从建模坐标系变换到世界坐标系叫模型变换。几何模型的最终成像是在摄像机坐标下,将场景物体从世界坐标系变换到摄像机坐标系叫相机变换。相机的外部参数决定了相机坐标系,因此场景在屏幕上的成像位置与形状和相机的外部参数有关。模型和相机变换采用44齐次矩阵表示,其形式如下:比如平移变换可表示如下:点(x,y,z)平移(tx,ty,tz)后的坐标为(x,y,z)。此外还有旋转、缩放变换,这三种基本的变换
19、可以合成任意几何变换。通常把模型变换和相机变换的矩阵复合成一个矩阵处理,便于提高效率。在所有的图形绘制库中,都提供了程序接口供应用程序设置模型和相机变换对应的矩阵。其中,模型变换由场景物体的平移和旋转、缩放变换组成,相机变换则通过设置相机的位置、相机方向和向上向量来决定。2.1.3裁剪相机的参数包括投影方式、近平面、远平面、视野和屏幕的长宽比率,它们决定了物体从相机坐标系投影变换到屏幕坐标系的位置。这些参数实际上定义了一个视域四棱锥,也叫做视锥体。位于视锥体之外的场景部分不需要送入后续阶段处理。因此,对完全位于规一化的设备空间之外的几何元素,可简单地舍弃。而部分位于规一化的设备空间之外的几何元
20、素则需要进行裁剪操作。由于裁剪的面就是立方体的6个表面,实现起来非常简便。应用程序也可以定义额外的平面对场景进行裁剪。视域裁剪通常由底层图形AP自动完成。注意这里所说的裁剪是比后面章节要介绍的视锥体剔除更底层的裁剪。2.1.4投影把三维物体变为二维图形表示的过程称为投影,其又分为平行投影和透视投影。透视投影是所有投影线交于投影中心;而平行投影是投影线平行,投影中心在无穷远。在游戏虚拟场景模拟中主要应用透视投影。透视投影可分为一点透视、二点透视和三点透视。针对一点透视投影如下图:从上图P点在观察平面上的投影我们可以得到描述尸点的参数方程:2.1.5光栅化从顶点组成的几何模型变换到像素的过程称为光
21、栅化(Rasterization)。它的机理与得名来源于CRT显示器的电子枪发射方式。光栅化可分为四个子阶段,即消隐、逐像素光照明计算、纹理映射和颜色融合。(1)消隐消隐的目的是解决场景的可见性问题。所谓可见性计算,是指计算物体投射到投影平面如果有交叠,观察者应该看到哪个投影点。图形学中经典的解决方案是物体空间Z一缓冲器算法和图像空间的光线跟踪算法。由于Z-缓冲器算法易于在图形硬件中实现,逐渐演化称标准的图形硬件消隐技术。在深度缓冲器中,每个像素上始终保留最接近视点的深度。当光栅化产生新的像素后,该像素的深度和保存在深度缓冲器的像素深度进行比较,如果小于已有的像素深度,则用像素的颜色和深度替换
22、分别保存在颜色缓冲器的像素颜色和深度缓冲器中的像素深度,反之保持不变。在绘制之前,深度缓冲器必须初始化为最远的深度,以保证可见性计算的正确性。(2)光照计算光照计算影响物体的外观。进行光照计算的几个要素包括光源位置、光源属性、光照模型、物体表面材质属性、纹理和物体表面几何属性(包括法向、微几何结构)等。最简单的光照明计算技术是在物体建模时指定每个顶点的颜色和纹理坐标,在绘制时直接利用颜色和纹理映射融合为最终颜色。这种方法称为平坦渲染(Flat shading)模式,它的速度快,但效果欠佳,是早期游戏中最常用的技术。真正意义上的光照计算必须指定每个光源本身的属性,包括光源的类型(点、线、面光源)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学毕业 论文 游戏 引擎 中的 室外 场景 渲染 技术研究 实现
限制150内