1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: 三维场景中的真实环境特效模拟 云生成部分 姓 名: 学 院:软件学院 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 年 月 厦门大学软件学院毕业论文 第 1 页 共 32 页 三维场景中的真实环境特效模拟 云生成部分 摘要 : 随着计算机技术的不断进步和发展,计算机显示技术也在不断的进行革新。从最早的通过晶体管明暗显示,到现在的屏幕显示;从最早的以满足数据显示的需求到现在以满足人们视觉享受的需 求,一代 代的显示技术革新带给人们越来越真实美好的视觉享受。而这种 享受,在视觉三维系统的出现和不断发展中达到了极致。 最早的三维
2、场景出现是在电脑游戏中。 1992 年推出的德军总部 3D这款游戏揭示了三维时代的到来。而随后推出的毁灭战士、雷神之锤、毁灭战士 3等一款款我们耳熟能详的经典 3D 大作则代表了 3D技术的发展历程。 3D 技术在无数程序员的努力下变得越来越成熟。 而同时, 3D 技术的发展同样也离不开显卡硬件技术的发展。 1995 年,第一代 3D 显卡(加速器)的诞生,宣告了 3D 显卡时代的到来。而 1999 年,第 3代 3D 显卡的产生,带来了一种全新的 3D 技术和理念 GPU( Graphics Processing Unit)。它使 3D 显卡对 3D图像的处理能力达到了一个新的高度。它掀起了
3、 3D 显卡技术的新一轮革命。其后,随着可编程着色器、顶点处理器、像素处理器等一个个新技术的出现,使得实时渲染的三维效果越来越逼真。因此现在,三维 虚拟 场景也越来越广泛地应用于虚拟现实、 GIS 系统、模拟战场、数字化城市、游戏娱乐等领域。并且人们可以在 虚拟的三维场景中进行漫游、 查询等各种交互操作,从而达到一种身临其境的感觉,使人们能够 更低的成本与危险 性下发现更多的现象与规律。 关键词 : 3D 显示技术 GPU 虚拟场景 厦门大学软件学院毕业论文 第 2 页 共 32 页 Special virtual effect of truly environment in the 3D s
4、cene the part of cloud creation Abstract: Following the progressing and developing of the computer technique, the vision technique of computer is also renovating. From the transistor vision at first, to the screen vision at last; from content the demand of the data vision, to content the demand of s
5、eeing comforts now, generations of vision technique renovation take to people more and more reality and beautifully seeing comforts. With the appearance and development of 3D vision system, this comfort gets to the end. The 3D scenes first appeared in the pc games. In 1992, the game “Wolfenstein 3D“
6、 opened out the coming of the 3D times. Then, “DOOM“, “Quake“, “DOOM3“ and so on of the classical 3D pc games represent the development of 3D vision technique. Under the efforts of an uncountable number of programmers, the 3D technique is become more and more maturity. At the same time, the developm
7、ent of the 3D technique is also affected by the development of the graphics card technique. In 1995, the first generation of the 3D graphics card was contrived. It declared the time of the 3D graphics card coming. In 1999, the third generation of the 3D graphics card brought a bran-new 3D technique
8、and concept GPU (Graphic Processing Unit). The GPU make the 3D process ability of 3D graphics card reach to a higher level. It made a new revolution of 3D graphics card technique. Then, following a lot of new technique as vertex shader and piexl shader were taken up, the 3D impression of real-time r
9、omance is more and more reality. Now, the 3D virtual scenes are also used more and more in virtual reality, GIS system, virtual battlefield, digital city, game etc. People also can progress traveling, asking and so on in the virtual scene, accordingly a feel of “you-are-there“. So, people can find m
10、ore phenomena and rules with less cost and fatalness. Key words: 3D vision technique GPU virtual scene 厦门大学软件学院毕业论文 第 3 页 共 32 页 目录 摘要 .1 Abstract .2 引言 三维技术发展现状 .7 第一章 三维中的真实世界 .8 1.1 三维场景中的云 .8 1.2 绘制云的几种方法 .8 1.2.1 基于物理模型的方法 .8 1.2.2 基于体绘制的方法 .8 1.2.3 基于 3D 纹理的方法 .9 1.3 纹理映射 最 好的选择 .9 1.4 本文的主要工作
11、 .9 第二章 开发平台及开发软件简介 .10 2.1 开发平台和软件 .10 2.2 OGRE 特点 .10 2.2.1 效率特性 .10 2.2.2 平台和 3D API 支持 .10 2.2.3 网格 Meshes .11 2.2.4 场景特性 .11 2.2.5 特效 .11 2.2.6 其它特性 .12 第三章 天空的构建 .13 3.1 如何构建一个天空 .13 3.2 天空盒 .13 3.3 天空顶 .13 3.4 建立一个天空顶 .14 3.4.1 创建一个半球和球面坐标 .14 3.4.2 在球面上选取顶点 .14 厦门大学软件学院毕业论文 第 4 页 共 32 页 3.4.
12、3 连接点和渲染球体 .15 3.4.4 把天空图贴到天空顶 .16 第四章 云的自动生成 .17 4.1 选择的算法 Perlin 噪音算法 .17 4.2 噪音 .17 4.3 Perlin 噪音 .17 4.3.1 Perlin 噪音简介 .17 4.3.2 2D 连续噪音函数的生成 .18 4.3.3 返回伪随机梯 度 .19 4.3.4 计算噪音函数值 .19 4.3.5 构造新的噪音函数 .22 4.4 使用 Perlin 噪音生成云 .22 4.5 将云加入天空 .23 第五章 结论 .24 致谢语 .25 参考文献 .26 厦门大学软件学院毕业论文 第 5 页 共 32 页 C
13、ONTENTS Abstract .2 Introduction:The develop actuality of 3D techenique .7 Chapter.1 The truly world of 3D .8 1.1 The cloud in 3D scene .8 1.2 Several methods of cloud rendering.8 1.2.1 Base on the physical model .8 1.2.2 Base on the volume rendering .8 1.2.3 Base on the 3D texture .9 1.3 Texture ma
14、pping-the best choice .9 1.4 The main work .9 Chapter.2 Brief introduction of empolder platform and software .10 2.1 Empolder platform and software .10 2.2 Peculiarity of OGRE .10 2.2.1 Efficiency identity .10 2.2.2 Sustain of the platform of 3D API .10 2.2.3 Gridding Meshes . 11 2.2.4 Identity of s
15、cene . 11 2.2.5 Specially effect . 11 2.2.6 The other identities .12 Chapter.3 Build the sky.13 3.1 How to build a sky .13 3.2 Skybox .13 3.3 Skydome .13 3.4 Build a skydome .14 3.4.1 Create a hemisphere and spherical coordinates .14 3.4.2 Select vertex in the spheracal surface .14 3.4.3 Tie point a
16、nd romance sphere .15 3.4.4 Paste the picture of sky to the skydome.16 厦门大学软件学院毕业论文 第 6 页 共 32 页 Chapter.4 Auto-create cloud .17 4.1 Selective arithmetic Perlin noise arithmetic .17 4.2 Noise .17 4.3 Perlin noise .17 4.3.1 Brief introduction of Perlin noise .17 4.3.2 Create the 2D series of noisy fu
17、nction .18 4.3.3 Return the fake random grads .19 4.3.4 Account the value of noisy function.19 4.3.5 Create new noisy function.22 4.4 Make the cloud with perlin noise .22 4.5 Join the cloud in the skydome.23 Chapter.5 Conclusion .24 Acknowledgement .25 References.26 厦门大学软件学院毕业论文 第 7 页 共 32 页 引言 三维技术
18、发展现状 从 1992 年三维显示技术的出现至今,三维技术已走过了十五年的发展历程。三维技术也从最初 的伪“ 3D”, 发展到现在能够满足越来越多的视觉甚至于其他感官的需要及享受。三维技术成为了目前计算机领域中最热门的一项技术之一,而其发展空间和市场前景也被许多专家所看好。目前,三维技术已 广泛运用于游戏开发、影视制作、服装设计、 数字 城市地图等领域。 而三维场景设计作为三维技术的 重要 组成部分, 也在各个领域中得到大量使用。它通过对现实中的环境的逼真的、动态的模拟,营造出一个给人以 身临其境般 真实感受的三维场景 。因此,在许多三维应用领域,三维场景的开发是主要组成部分。 厦门大学软件学
19、院毕业论文 第 8 页 共 32 页 第一章 三维中的真实世界 1.1 三维场景中的云 在三维场景中,为了增强虚拟场景的真实感,在虚拟场景中增加自然景象十分必要。而自然场景中十分重要的就是具有云彩的天空。在三维虚拟环境中,逼真云的建模和绘制一直 是开发人员的难题之一。因为当光线通过云体时,在云体中存在非常复杂的光线反射、散射和折射。就目前技术而言,想要完美 地 模拟出真实的云体是不可能的。因此,在现阶段,关于云绘制的研究都集中在使用非交互技术绘制云,即先使用各种层次的准确性和复杂性近似云的物理特性,然后使用这些近似模型绘制云的图像。 1.2 绘制云的几种方法 目前,云的建模和绘制主要有如下的三
20、种方法 1: 1.2.1 基于物理模型的方法 Blinn2在图像分析中使用密度模型 , 提出了一个用于相同媒介上的低反射率 、 单散射光照模型 。 Nishita3提出了近似的绘制技术 , 对云的全局光照解决了多方向互斥散射和天空光照问题 。 基于物理模型的方法利用光线跟踪技术 , 计算光通过云的传播 , 绘制出具有色彩的云 。 用这种方法生成的云逼真度高 , 但计算量很大 , 对此目前硬件还 难以 支持实时绘制 。 1.2.2 基于体绘制的方法 Kajiya4扩展了 Blinn方法 , 使用光线跟踪体数据展示单个和多个光源的散射 。NelsonMax5总结了用于体绘制的光谱模型 , 得出物理
21、模型的公式 。 基于体绘制方法使用OpenGL技术 , 将多片 3D纹理组合起来绘制云 。 由于纹理数据量很大 , 这种方法需要消耗 大量的纹理内存 , 特别是在绘制很多云的情况更是如此 。 厦门大学软件学院毕业论文 第 9 页 共 32 页 1.2.3 基于 3D 纹理的方法 Gardner6, Perlin7和 David Ebert8使用过程纹理技术绘制云 、 烟等的 3D真实图像 。 1.3 纹理映射 最 好的选择 在虚拟环境中 , 由于对 3D场景绘制的实时性要求很高 , 因此在实际应用中许 多 云的绘制方法并不适用 。 Dobashi9利用 OpenGL的特性 , 在普通 PC机上
22、实现 3D云的动画绘制 , 其绘制速度大约是每帧 20 30秒 。 Pantelis10利用 SGI上 OpenGL的高端特性实现了 3D 云的实时绘制 。但这种方法只适用于 SGI工作站 。 Mark11利用商业软件绘制 3D云的图像 , 然后使用 impostor技术 , 利用帧与帧之间的相关性加速云的绘制 , 达到实时绘制场景的要求 。 但是由于云的大小位置和色彩都是固定不变的 , 因此这种方法绘制的天空是静态的 。 通过对几种常用的云生成方式的比较, 采用纹理映射技术绘制天空中的云 无疑是在当前条件下最好的方案。 具体做法 就 是利用 Perlin噪音生成 3D云图像 , 然后运用基于图像的绘制技术 , 将云图像映射到虚拟场景的天空上 , 并能够使云的位置和方向随用户漫游时视点的变化而变化 。 1.4 本文的主要工作 本文的以下内容就将如何使用纹理映射技术,在三维场景中实时绘制出较为真实的 动态云 , 做 一个 详细 的 介绍。