(计算机应用技术专业论文)交互式自然场景实时渲染的研究与实现.pdf_第1页
(计算机应用技术专业论文)交互式自然场景实时渲染的研究与实现.pdf_第2页
(计算机应用技术专业论文)交互式自然场景实时渲染的研究与实现.pdf_第3页
(计算机应用技术专业论文)交互式自然场景实时渲染的研究与实现.pdf_第4页
(计算机应用技术专业论文)交互式自然场景实时渲染的研究与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)交互式自然场景实时渲染的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

:;: 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:垄遂舡 日期:沙p 年r 月殄日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名埤导师躲她蹲需封 日期:伽7 d 年! 月易日 1 , 自然场景实时交互技术是一种能表达自然场景的真实感,同时给用户极强的 沉浸感的元素。自然场景的交互式实时渲染已成为目前的研究热点,尽管目前已 取得了不少成果,但是早期的研究工作主要集中在草体外形的真实感表现上,而 其它交互性和光影效果的模拟成果较少。直到2 0 0 6 年k e v i l lb o u l a l l g e r 实现了动态 光照下的自然场景的实时真实感渲染,虽然真实感的实现几乎完美,但是没有涉 及多少交互,而已有的交互实现还不是很完善,还有很大的研究前景。此外,很 多自然景物还没有统一的建模方法,已经存在的建模方法各有其优缺点,还可以 继续完善。因此,如何实现自然场景的真实感、可交互性和实时性渲染,是本文 将要解决的问题。 首先,本文在i 盯1 i c h t 图形引擎的基础上设计了一个草地渲染系统。该系统以 i 玎1 i c h t 图形引擎为平台,主要包括草体建模模块,草体交互模块,草体阴影模块 等。具体每一模块的内容后续章节再一一进行详细介绍。 其次,本文实现了草地场景的l o d 显示。虽然草体的几何建模方法很多,但 是如果要实现对整个自然场景的几何建模,则数据量很大,重复性高。因此本文 将整个草地根据离视点的距离分为三级l o d 显示,其中第一级l o d 作者借鉴了 已有的改进的粒子系统草体建模的方法实现了近距离草体的几何建模,通过实验 我们发现这种建模方法得到的草体真实感强,并且能方便地用于交互。在保证渲 染质量的前提下,我们将星形布告板进一步简化作为第二级l o d 的草体建模。 再次,本文针对基于改进的粒子系统建模的草体,提出了一种改进的基于过 程的草体碾压算法,实现了球体碾压草体的动态过程。碾压效果的实现有两种方 法:基于过程的方法和基于物理的方法。前者采用经验公式来模拟交互的过程, 适用于实时应用:后者则采用精确的物理公式来计算,可以模拟出逼真的效果, 但计算量大。本文通过采用基于过程的方法,达到了实时性的要求,同时,考虑 了草体之间的碰撞检测,实验结果表明该方法能较真实地模拟球体与草体的交互 过程,是实现草体碾压效果的一种简单有效的方法。 最后,本文利用一种适用于大规模虚拟环境中实时阴影生成算法,实现了草 体阴影。该算法通过使用多张阴影图来代替一张代表整个场景的阴影图,既减少 了系统开销,又改善了生成的阴影的质量。实验结果表明使用该算法生成的阴影 摘要 能达到满意的视觉效果和生成速度。 关键词:草体渲染,实时渲染,交互,草体阴影 a b s t r a c t a b s t r a c t r e a l t i m e 撒1 d 甜n ga 1 1 di n t 蹦栅o nt e e h n 0 1 0 9 ) ,m a k et h es i n m l a t i o no fn a t l l r a l s c e sr e a l i s t i c t l h ef i e l da b o u th o wt 0r d e rr e a l t i m en 砷】r a ls c e i l e si n t e r a c t i v e l yh 嬲 b e e nr e s e a r c hh i 曲1 i g h t a l t l l o u 曲w eg e ti n uc _ hw o r k s ,m o s to ft l l e mw e r cf o c u s e do n m eg e o m e h yo f t l l e 孕a s s ,0 1 1 1 yal i 钍l eo fn l e ma r ea b o u tt 1 1 ei i l t e r a 以o na 1 1 dt l l e1 i g h t0 r s h a d o w u n _ t i l2 0 0 6 ,k 啪lb o u l a l l g e rs i i n u l a t e dr e a l t i m en a t u r a ls c e l l e sw i md y n 锄i c l i g b t n es c e i l e ss m l l a t e db yk 讹a r cv 叫r e a l i s t i c ,b u th ed o e s n th a l l d l en e r a c t i o n e 虢c t s t h ei n t e r a c t i o ne 丘e c t sc i l r r 即t l yr e a l i z e da r es t i l ln o t 廿l o r o u g l l l y ,n l e r ei s s t i l l i n u c hw o r kt 0d o b e s i d e s ,m a n yn a t u r a l0 _ b j e c t s ,f o re x 锄p l e 黟a s s ,h a v e n tau m f o m m o d e l i l l gm e 虹l o d n o n eo ft h ee x i s t i i l gm o d e l m gm e t h o d sa r ep e r f e c t a c c o r d i n 酉y ,h o w t 0r e i l i l 讹gan a t u r a ls c e l l e ,r e a l - t i m e ,r e a l i s t i ca n di n t e m c t i v e ,i st h ep r o b l e mt l l e r e s e a r d h 抽st os 0 1 v e f i r s u y ,b a s e do nt 1 1 eg r a p l l i c a l 饥百n eo f h r l ic _ h t ,m em e s i sd e s i 印sag r a s s - r 吼d 嘶n g s y s t e m t h es y s t e mi n c l u d e s 廿1 em o d u l eo f 伊a s sm o d e l i n g ,i n t e r a c t i o l l ,s h a d o wo f 孕a s s 锄ds oo n n ef 0 1 l o w i n gp a n sw i l li n 们d u c et 量l 锄i nd e t a i l - s e c o n d l y ,t h e 也e s i sr e a l i z e sm el e v e lo fd e t a i l ( l o d ) o ft l l e 伊a s s l a r l d a sw e k n o w , a l n l o u g ht 1 1 e r ea r em a l l yw a y s t 0m o d e lm e 伊a s s ,f 0 rt h e 、) l ,_ h 0 1 e 铲a s s l a l l d ,m e r er e q u i r e s m u c hd a t a ,距ds o m eo fm ed a t ai sn o tam u s t t 1 1 e r e f o r e ,t 1 1 et l l e s i sd i 、r i d e sm e 蓼a s s l a i l di n t ot :1 1 r e ep a r t s ,a c c o r d i n gt om ed i s t a n c eb e 附e e l lt 1 1 ee y e a i l dm e 铲a s si n 也e s c e n e t h e 黟嬲so ft 1 1 ep a r t 廿1 a ti sc l o s e s tt om ee y ei sm o d e l e db yt l l em e t h o db a s e do n t l l et l l e 0 巧o ft h ei n a p r o v e dp a n i c l es y s t e m t h e 莎a s si sv e r i f i e dt 0b er e a l i s t i cb yo u r e x p 砸m e n t ,a i l di tc a i lb ei n t e r a c t e de a s i l y t or e d u c et l l eg e o m e 仃yi i l f o n n 撕o nb u tn o t a 侬赋m ev i s u a lo fm es c e i l e ,1 e 铲a s so ft h es e c o n dp a r ti sm o d e l e db ys :i 1 坤l i f i e ds t a r b i l l b o a r d 硼1 i l d l y b a s e do nt l l e 黟a s sm o d e l e db y l em e o r yo fm ei m p r 0 v e dp 枷c l es y s t e m , a i li n l p r 0 v e dp r o c e d _ u r a l 印p r o a c hf o rs i i i 【u l a t i n gm ed y n a i i l i cp r o c e s so ft r c a d i i l g 莎a s s i sd e s i 驴e d 孤di n l p l 锄c n t e d t 0s i m u l a t em ep r o c e s so f 的a d i n gg 粥s ,m e r ea r e 锕o m e a l l s :n l ep r o c c d u r a la p p l r o a c ha n dm ep h y s i c a la p p a c h n ef 0 彻e rs i l i l u l a t 懿m e p r o c e s sb yt l l ee x p 耐c e df 0 砌l u l a ,s 0i t i sa d 印t e dt 0m er e a l 一t i m ea p p l i c a t i o n 1 1 1 e a b s 仃a c t l a 钍e rc a l ls i m u l a t er e a l i s t i ce 虢c tb ym ec x a c t l yp h y s i c a lf o m l u l 码b u tn m c h 缸ei s n e e d e d s ot 1 1 em e s i sa d 印t sm ep r o c 文m a la p p r o a c _ hf o rt l l er e q u i r 锄e n to fr e a l - t i m e b e s i d e s ,w ec o n s i d e rm ec o n 丑i c ti n 孕a s s e s t h er e s u l to fe x p 谢m e n ts h o w sm a tt h e a p p r o a c hc a i ls i i l l u l a t et 1 1 ep r o c e s so f 伊2 u s st r e a d i n ge 虢c 咖e l y a i l dr e a l i s t i c a l l y f i n a l l y ,b a s e do nm ea 1 9 0 r i n 皿o fr e a l 一t i m es h a d o wr e l l i l e r i n gf o rl a r g e - s c a l e v i m a le n v i r o 啪e 1 1 t s ,w er e a l i z em es h a d o wo fm e 黟a s s l a n d 1 1 1 s t e a do fu s i n gab i g s h a d o wm a pf o rm ew r h o l eg m s s l a l l d ,m ea 1 9 0 r i m mu s e ss e v e r a ls m a l ls h a d o wm a p s n r e q u i r e s1 e s st e x t u 】em e n l o 巧a i l di m p r o v e st l l eq u a l 时o f s h a d o w k e y w o r d s :伊a s sr e n d e r i n g ,r e a l t i m er e n d 甜n g ,i n t e r a c t i o n ,蓼a s ss h a d o w 目录 目录 第一章绪论1 1 1 引言1 1 2 国内外研究背景及现状1 1 2 1 草体建模1 1 2 1 1 基于过程的建模技术1 1 2 1 2 基于图像的建模技术4 1 2 1 3 体纹理建模技术6 1 2 2 交互6 1 3 课题研究目的与意义8 1 4 论文结构一8 1 5 主要工作与创新9 第二章相关理论基础1 1 2 1 引言1 l 2 2g p u 技术发展回顾1 1 2 3 图形渲染管线1 3 2 4 图形a p i 介绍1 5 2 4 1o p e n g l 1 5 2 4 2d i r e c t 3 d 15 2 5s h a d e rl a n g u a g e 介绍1 5 2 6 草体阴影国内外研究现状1 6 2 7 本章小结1 8 第三章草地系统总体设计1 9 3 1 引言1 9 3 2 草地系统设计目的1 9 3 3 图形引擎介绍1 9 3 3 1 场景管理模块1 9 3 3 2 渲染系统模块2 0 3 3 3 资源管理模块2 0 v 目录 3 3 4 消息处理模块2 0 3 3 5 ( ;u i 模块2 0 3 3 6h r l i c h t 引擎介绍2 0 3 4 草地系统设计2 4 3 5 本章小结2 7 第四章草体建模与绘制实现2 8 4 1 引言。2 8 4 2 三维地形的生成2 8 4 3 草体建模。3 0 4 4 渲染优化3 4 4 5 实验结果与分析3 5 4 6 本章小结3 5 第五章球体碾压草体的交互过程实现3 6 5 1 引言3 6 5 2 碾压算法3 6 5 3 碰撞检测计算3 9 5 4 实验结果与分析。4 1 5 5 本章小结4 3 第六章草体阴影实现4 5 6 1 引言4 5 6 2 阴影技术介绍4 5 6 3 草地场景阴影实现5 0 6 4 实验结果与分析5 4 6 5 本章小结5 4 第七章总结与展望5 5 7 1 论文工作总结。5 5 7 2 研究展望5 5 参考文献5 7 致谢5 9 第一章绪论 1 1 引言 第一章绪论 计算机软硬件水平的逐步提高,我们能够通过计算机越来越真实地来仿真自 然场景,如电影中的特效,游戏中的场景,飞行过程的仿真,现实场景的三维展 示等等。通过这些仿真可以节约成本,带来生活乐趣,甚至创造现实生活中难以 出现的奇观美景。而自然场景模拟得是否逼真,直接影响用户的真实感和沉浸感。 人们对于自然场景仿真真实感的要求也越来越高,他们甚至期望他们在现实生活 中所看到的能够完全真实地被模拟,这对目前的计算机软硬件水平都是一个严峻 挑战。由于自然场景的种类数量繁多,细节丰富,要精确地建模出所有细节存在 很大困难,同时要真实地实现它们的光照与阴影效果也要求相当大的计算量,再 加上自然景物彼此之间相互作用,瞬息万变,景象背后的物理机制复杂,要真实 地再现它们之间的交互变化过程也是极其复杂的。尽管如此,自然场景仿真已成 为目前的研究热点,并且已有大量学者投身该研究于领域,也出现了相当的研究 成果。但是,早期的研究成果主要集中在自然景物外形真实感的研究上,对自然 景物与光照以及其他物体的交互研究成果较少,因此,本课题具有重要的研究意 义。 1 2 国内外研究背景及现状 1 2 1 草体建模 1 2 1 1 基于过程的建模技术 草体建模方法很多,但是如果要对整个自然场景的建模,由于自然场景中的 景物往往重复性比较大,数据量很大,重复性高,并且彼此之前形状各异,必须 考虑渲染效果的效率问题,此外还得考虑与其它事物的交互的形状的动态变化。 传统的面片表示方法( 如多边形或三角形) 并不适用于单个自然场景的建模。如果 使用传统的方法来表示,很难定义其动态变化。针对上述问题,目前出现了一种 兼顾渲染效率和渲染真实感的建模方法,即基于过程的建模方法。所谓基于过程 电子科技大学硕士学位论文 的建模就是整个自然场景的建模方法通过l o d 来进行分类,每一级l o d 采用不同 的建模方法。这也是目前的一种比较流行的建模方法。文献 2 ,6 ,1 9 都使用了该 方法。为了描述方便,针对不同的建模方法,这里我们根据草体距离视点的远近 来对l o d 进行分级,其中离视点最近的草体为第一级l o d ,而较中位置的草体为第 二级l o d ,最远位置的草体为第三级l o d 。 文献6 的建模方法是:第一级l o d :草体建模使用埃密尔特曲面,上面加上 几个公告板,一片树叶5 个多边形就可以,并且多边形的数目随视点到几何的距 离的减少而动态减少。为了减少几何复杂性,草的建模使用公告板;第二级l o d : 采用公告板的方式。由垂直的多边形带,被贴上半透明纹理。几个草叶用同一个 纹理,不同的草叶使用不同的a l p h a 值。第三级l o d 只是使用简单的平铺2 d 纹 理。文献 1 9 】采用的方法如图1 1 所示,第一级l o d 采用基于粒子系统的原理建 模的草体,第二级l o d 水平方向为了防止当视点位置较高时出现人工痕迹,直接 用一张平铺的纹理表示,而垂直方向采用多张垂直分片表示,并且每个分片都是 b t f 图像。由于当前的硬件还无法对整个自然场景进行纯几何的渲染,因此基于 过程的建模是对硬件性能与数据的几何复杂性的一个平衡。 图1 1 三级l o d 建模 d 晦t a n 咖t h e c a 盯垮陋 第一级l o d 因为其离视点较近,因此真实感是考虑的首要因素。而要满足真 实感要求必须是几何建模。而几何建模方法目前已经有很多种,其中主要的几种 几何建模方法如下: 1 粒子轨迹建模 2 方法。使用该方法可以很容易地实现动画,并且内存要求低,但是,用粒子系统 构造的植被看起来有比较明显的人工痕迹,而且粒子系统的光照效果无法根据客 观天气严格计算,因此缺乏光影真实感。同时,由于计算量太大,不适于实时绘 制。 2 埃米尔特曲线建模 图1 3 埃米尔特曲线建模 如图1 3 所示,用埃米尔特曲线的起点p o 和终点p l 和切线m o 和m 1 来描述 自然景物的形状。中间点的坐标可以通过计算求得。类似于粒子系统,该方法也 电子科技大学硕士学位论文 可以很好地模拟草的形状,并且通过控制点和切线可以灵活地改变草体的形状。 文献 2 4 中草的变形方法与该方法类似:首先抽取草的三维骨架线,草叶通过骨架 线展成的多个四边形来表达,再通过保长的骨架线f f d 变形和带a 测试的动态纹 理映射,可以生成不同形状的带有叶脉细节的草。该方法有利于对草的参数化动 态建模,并且对于风吹草动的效果也容易模拟,但该建模方法相对而言较复杂。 3 公告板链建模 图卜4 公告板链建模 如图1 4 所示,所谓公告板链建模就是用链接的四边形带来表示自然景物的形 状。文献 2 ,6 都使用了该方法。2 0 0 4 年n v i d i a 的d 锄。中的草的建模也是使用该 方法。该建模方法非常简单,速度快,实现风吹草动的效果只需要平移中层和上 层四边形的顶点,并且用户可以动态地改变草叶的宽度,但是使用该方法模拟出 来的草叶真实感还有待提高。很少单独用该方法来渲染整个场景,一般用于后面 所讲的基于过程的建模方法的其中的一级。 4 点线建模 点线建模就是使用简单的点和线来表示自然景物,该方法理解起来非常简单, 但是如果不考虑l o d 的话,要绘制整个自然场景数据量还是相当的大。文献 1 4 】 使用基于点线的l o d 方法,并且层次化优化场景。长而瘦的部分使用线,如叶子 或分支,更小的部分用点表示。l o d 通过根据视点的距离减少点和线的数目来实 现。使用两种层次类型优化系统:几何复杂性较大的单株植物空间上采用八叉树 分割,而其它小的植物被就近组合,每一组用点和线统一显示。 1 2 1 2 基于图像的建模技术 所谓基于图像的建模就是将草叶成组地渲染到单一图元。该方法也适用于基 4 第一章绪论 于过程的建模方法中离视点较远距离的自然景物的渲染。而该方法又分为两种: 1 公告板:其基本思想是将物体的几何模型替换为平面布告板,并将物体某 个观察角度的“快照”作为纹理贴到布告板上,以替代场景中的真实物体。这样草 原的渲染简化为几个纹理图元的渲染。该方法与前面的公告板链的方法有区别, 公告板链是指四边形带,而这里是指用几个公告板交叉。文献 4 ,1 6 都是使用该 方法。n d i a2 0 0 5 后的d e m o 也是使用该方法来实现的,它没有使用l o d ,整个 场景都是用的相同的公告板渲染,该方法几何复杂性小,并且纹理的透明性使得 它可以表现复杂的模型,但是当视点位置较高时会产生如图1 5 所示的效果:真实 性不够,在视点较近的时候有人工的痕迹,不能随着视点的改变而产生视差。 图1 5 公告板建模导致的视差效果 2 b t f ( 双向纹理函数) :对应不同的视点和光照条件,构建一个b t f ,并结合 依赖该视点的深度图,生成一张草的纹理。深度图主要用来形成草的轮廓和支持 环境遮挡。文中共构建了8 1 木2 1 个b t f ,每个b t f 有1 2 8 宰1 2 8 个像素,其中8 1 指采样8 1 个不同的视点方向,而2 1 是采样2 1 个不同的光照方向,因此需要对数 据进行压缩存储。文献 1 1 就是使用该方法来渲染草,渲染效果如图1 6 所示。这 方法相对于几何建模渲染时间减少。但是该方法使用的是静态纹理,无法产生实 时的视差。而且由于纹理是平坦映射,几何对象的整体轮廓真实感不强。如果采 用该方法,需要特别处理这些问题。 5 电子科技大学硕士学位论文 图1 6 b 邛建模 1 2 1 3 体纹理建模技术 所谓体纹理建模,就是把整个立方体分成一系列小的立方体微元,每个微元 代表一小块自然景物,通过简单的参数来描述在该子空间景物的分布特征。只要 对纹理的映射尺寸、形状和方向引入一定的随机性以避免单一,构造出来的自然 场景的视觉效果可以接近真实场景。但是体积渲染计算量相当大,因此在实时应 用中光照通常是静态的。也适用于基于过程建模方法中的第二级l o d 的渲染。该 方法可以用来绘制复杂重复的数据如毛发、树叶和森林等,通过存储一个几何样 本到纹元,它最终映射到表面。使用该方法可以简化场景,消除因采用几何对自 然景物建模引起的走样,使构造和绘制高度复杂的草地成为可能。但是由于绘制 时实现比较复杂,运算时间复杂度较大。同时,由于缺乏几何信息,实现与其它 事物精确的交互效果比较难以实现。该方法目前研究的比较多,文献 3 ,5 ,8 ,9 , 1 6 1 都使用了该方法。其中文献 3 采用细圆柱体来构造草。对单株草进行参数化 建模,采用随机l 系统的方法构造整个草地。但是该方法只适用于细长的草,对 草的动态变形没有较好的表达方法,同时由于草地中的数量太多,绘制速度较慢, 同时绘制的草体真实感不够。文献 5 】使用该方法绘制整个森林,森林的渲染基于 照相机的倾斜度实时地使用不同的分片方法,并且根据l o d 算法采用不同的分片 数。 1 2 2 交互 草的动态行为主要由风和其它事件如行人在草上行走或车辆碾过等引起,可 6 第一章绪论 以通过过程近似或基于物理建模的方法来实现。基于过程的方法主要适用于实时 应用。而要实现精确的基于物理的动画是非常耗时的。基于图像的渲染方法由于 使用的是静态图像,无法在实时应用中实现动画,要实现动画就必须计算新的图 像,这是非常耗时的。如果草体只是简单的以纹理的形式贴在地形上,可以通过 对下面的地形进行几何变形来模拟草的动画效果。实际上,地形并没有变形,而 是动态改变了光照反射参数。要动画简单交叉的公告板,需要弯曲相应的四边形, 文献 4 提出移动公告板的上层顶点,下层顶点不动否则就会产生草根移动,看起 来非常不真实。公告板链建模的草动画可以平移上层和中间层的顶点来实现,同 样下层顶点保持不动,该方法适用于以行人的视点高度进行观察。 基于体渲染方法的动画:文献【2 2 提出了三种简单的方法来动画这些纹素:( 1 ) 对地形表面进行变形;( 2 ) 变化纹素的高度向量( 考虑整个体空间的变形) ;( 3 ) 纹素 集的连续简单运动,如草叶在低幅度下循环移动。第一种方法不适用于草,因为 下面的地形没有移动。第二种方法比较容易实现:每一帧只需要更新几组向量。 向量的移动通过作用力实现,而这些作用力可以由物理仿真或经验函数提供。通 常经验函数比纯物理的方法更快。文献 2 】采用第二种方法。第三种方法需要很大 的内存空间。文献 3 中草的偏移量根据风的方向预先计算出来,在顶点着色器中 实现偏移,并且草的长度保持不变。该方法更适用于较高视点的动画,例如飞行 模拟。但是由于只使用了一级l o d 和草的偏移量是预先计算的,无法实现视点高 度为行人的草的交互式碾压动画。同时,由于草是由柱状物组成,生成的动态序 列不是很流畅。文献 2 使用过程动画方法,采用了三级l o d ,实现了l o d 的平 滑过渡。风可以交互地在地形上移动,考虑了各种风力作用下的草的动画,产生 草的过程式运动。但是,草的纹理都是统一预先计算的,无法实现草的多样性。 并且草的动画仅局限于较少程度的用户交互。第三级l o d 没有实现动画,也许可 以使用光照贴图来建模草弯曲时光反射的变化。文献 2 4 在考虑风吹草动的物理特 征基础上,通过骨架线的变形来实现草的运动,采用一种快速碰撞检测方法来避 免草的互相穿刺,一方面必须进行草与草之间的碰撞检测,以增强绘制场景的真 实感:另一方面,考虑到草的数量太多,需采用特殊的方法来尽量简化碰撞检测的 计算量。文献 1 0 】中草的动画实现通过应用一个正弦波运动到由光线跟踪纹素建模 的草叶的控制点,草叶的变化类似于被嵌入f f d 中,因此,草的动画都是一致的, 真实感不够。文献 4 】用三角函数来近似模拟草叶的摆动。文献 6 】模拟了移动的物 体对草地的碾压等作用。但是该方法没有考虑具体的物理模型,也没有考虑草之 间的碰撞,因此绘制的效果有待进一步提高。 7 电子科技大学硕士学位论文 目前与自然场景的交互领域研究成果较少,主要是考虑风的交互,如图1 7 所示,该图考虑了直升飞机飞过时草体的呈旋涡状摆动的动态表示,真实感较强。 文献 2 4 中实现了草体自身的碰撞检测和文献 6 实现了简单的球体碾压草地,渲染 效果如图1 8 所示,采用基于过程的方法模拟了球体碾压草体的动态过程,但是没 有考虑草体之间的碰撞检测,存在一定的瑕疵。 图1 7 草体与风的交互 1 3 课题研究目的与意义 图1 8 草体与球的交互 无疑,交互式自然场景的实时渲染已成为目前的研究热点,2 0 0 6 年k e v i n b o u l a l l g e r 实现了动态光照下的自然场景的实时真实感渲染,虽然真实感的实现几 乎完美,但是没有涉及多少交互,而已有的交互实现还不是很完善,还有很大的 研究前景。另外,很多自然景物还没有统一的建模方法,已经存在的建模方法各 有其优缺点,还可以继续完善。 自然场景实时交互技术是一种能表达自然场景逼真程度,同时给用户极强的 沉浸感的元素。交互的方式有多种多样,如风吹草动,人、车辆等与自然景物的 交互等。实时交互技术会带来很大的计算开销,如何在渲染效率和实时交互两者 间找到一个折中点是非常具有研究意义的。同时,如果场景中没有光照和阴影, 就不可能实现非常真实的效果。 1 4 论文结构 本文共分七章,各章节的主要内容如下: 第一章绪论。本章首先分析了该课题的研究意义,随后分别针对草体建模, 第一章绪论 交互,真实感渲染方向的国内外研究现状进行了介绍,总结和归纳了主要的相关 技术,为后续章节的进行提供了技术支持。 第二章相关理论基础。本章首先回顾了g p u 发展历程,使我们对g p u 架 构有了清楚的认识。随后介绍了图形渲染管线以及图形渲染a p i ,图形渲染流程是 计算机图形学的关键,也是我们进行任何3 d 渲染所必须要掌握的知识点。然后介 绍了s h a d e r 语言,为后续章节的g p u 编程提供理论基础。 第三章草地系统总体设计。本章首先分析了系统设计的目标,然后h d i d l t 引擎的介绍为我们的草地系统提供了平台支持。接下来介绍了系统的每一个模块。 具体每一模块的实现由后续章节介绍。 第四章草体建模实现。在渲染草体之前首先得准备好地形,因此本章首先 介绍了三维地形的生成,随后实现了一种基于l o d 分级建模的草体,以及考虑了 草体分布,渲染优化等因素。 第五章基于过程的草体碾压效果模拟。针对第三章的几何建模草体,提出 了一种改进的基于过程的球体碾压草体的方法,并分析和比较了实验结果,由于 本文在碾压的同时考虑了草体之间的碰撞检测,实验结果表明本文提出的方法真 实感更强。 第六章草体阴影实现。本章分析了阴影贴图算法产生的走样问题,归纳了 自然场景阴影生成的困难所在,利用一种大规模虚拟场景实时阴影生成算法,实 现了草体阴影。 第七章总结与展望。最后本章对论文进行了总结并就未来可能的研究方向进 行了分析。 1 5 主要工作与创新 在课题的研究与实现过程中,本文主要完成了以下工作和创新: 1 研究和学习了目前国内外关于草体建模,草体交互和草体阴影方面的文献, 归纳和掌握了其中的主要技术; 2 设计了一个交互式草地渲染系统。该系统主要包括草地建模模块、交互模 块和草体阴影模块等; 3 实现了一种基于l o d 分级建模的草地场景,并在第二级l o d 中创造性地 采用简化的星形布告板建模草体,这大大减少了整个场景中需要用到的几何信息; 4 通过对基于布告板建模的草体碾压算法的借鉴和学习,针对上述的第一级 9 电子科技大学硕士学位论文 l o d 的基于粒子系统原理建模的草体,提出了一种改进的基于过程的球体碾压草 体的方法,在草体被压倒后考虑了草体之间的碰撞检测,该方法被证明能较真实 地模拟球体碾压草体的动态过程; 5 利用大规模虚拟场景的实时阴影生成算法,实现了草体阴影。 l o 第二章相关理论基础 2 1 引言 第二章相关理论基础 最近十几年,g p u 技术取得了飞速发展,促进了实时渲染应用的发展。了解 它的发展历程和图形渲染管线能让我们整个渲染流程有更清楚的认识。在正式进 入正文前,为了更好地理解本文,有必要介绍后述章节所需要用到的理论背景。 2 2g p u 技术发展回顾 回顾g p u 的发展历史,自1 9 9 8 年后可以分为5 个阶段,每一阶段都拥有比 前一阶段拥有更强的性能和更完善的可编程架构。 第一代g p u ( 到1 9 9 8 年为止) 包括n v i d 认的t n t 2 ,a t i 的r a g e 和3 d & 的 v 0 0 d 0 0 3 。这些g p u 拥有硬件三角形处理引擎,只能用于纹理组合的数学计算或 者像素颜色值的计算,能够大大提高c p u 处理3 d 图形的速度。但这一代图形硬 件没有硬件t & l 引擎,没有三维顶点的空间坐标变换能力,3 d 模型的几何运算, 复杂的光照效果转换都要由c p u 来完成。这样不但给c p u 额外的负担,还得不到 较好的效果。 第二代g p u ( 19 9 9 2 0 0 0 ) 包括n v i d 认的g e f o r c e2 5 6 和g e f o r c e 2 ,a t i 的 r a d e o n 7 5 0 0 ,s 3 的s a v a g e 3 d 。它们将t & l 功能从c p u 分离,因此3 d 模型可以 用更多的多边形来描绘,这样就拥有了更加细腻的效果。而对于“曲t i n g 来说, c p u 不必再计算大量的光照数据,直接通过显卡就能获得更好的效能。相应的图 形a p i 即0 i p e i l g l 和d i r e c t ) ( 7 都提供了开发接口,支持应用程序使用基于硬件的 坐标变换。同时,这一阶段的g p u 对于纹理的操作也扩展到了立方体纹理。这一 代g p u 的可配置性得到了加强,但不具备可编程能力。 第三代g p u ( 2 0 0 1 ) 包括n v i d 队的g e f o r c e 3 和g e f o r c e 4t i ,微软的x b o x ,及 a t i 的r a d e o n 8 5 0 0 。这一代g p u 首次引入了可编程性,即顶点级操作的可操作性, 允许应用程序指定一个序列的指令进行顶点操作控制,并可以将图形硬件的流水 线作为流处理器来解释。但是还不支持像素级的编程能力,只提供了更多的配置 选项。 电子科技大学硕士学位论文 第四代g p u ( 2 0 0 3 ) 包括n v d 队的g e f o r c e f x ( 具有c i n e f x 架构) ,a t i 的 r a d e o n 9 7 0 0 。相比上一代g p u ,它们的像素级和顶点级操作的可编程性得到了大 大的扩展,可以包含上千条指令,访问纹理的方式更为灵活,可以用做索引查找。 最重要是的具备了对浮点格式纹理的支持,不在限制在 o ,1 】范围内,从而可以做 任意数组,这对于通用计算而言是一个重要突破。c g 语言等其他高级语言在这一 代g p u 开始得到应用。同时d 揪和o p e n g l 也扩展了自身的a p i ,用以支持 顶点编程和像素编程。 第五代g p u ( 2 0 0 6 ) ,主要指g p u 通用计算和统一渲染架构。随着通用可编程 能力的提高,图形处理器迎来新的变革与发展,顶点处理和片元处理在统一的硬 件处理单元上执行,体系结构更加通用化,如n v i d i ag 8 x 和a m d a t ir 6 x x 。由 图形处理器衍生出的协处理器,将会提升个人电脑的并行计算能力。这个阶段的 图形处理器的特点是“数据流通用计算( g p g p u ) ”。 g p u 具有高并行结构,在处理图形数据和复杂算法方面拥有比c p u 更高的效 率。c p u 大部分面积为控制器和寄存器,与之相比,g p u 拥有更多的 a l u ( a r i 1 i i l e t i cl 0 西cu i l i t ,逻辑运算单元) 用于数据处理,而非数据高速缓存和流 控制,这样的结构适合对密集型数据进行并行处理。c p u 执行计算任务时,一个 时刻只处理一个数据,不存在真正意义上的并行,而g p u 具有多个处理器核,在 一个时刻可以并行处理多个数据。 g p u 采用流式并行计算模式,可对每个数据进行独立的并行计算,所谓“对 数据进行独立计算”,即流内任意元素的计算不依赖于其它同类型数据。例如,计 算一个顶点的世界位置坐标,不依赖于其他顶点的位置。而所谓的“并行计算 是指多个数据可以同时被使用,多个数据并行运算的时间和1 个数据单独执行的 时间是一样的”。在c p u 上运算的c + + 代码通过循环语句依次遍历像素,而g p u 只需一条语句就足够。 在p c 技术领域,c p u 和g p u 始终是相辅相成,在二者已经发展到出现新的 瓶颈时,结合也许是明智的解决方案,如果能够发挥g p u 的性能潜力,让它协助 c p u 处理复杂的任务,比如c p u 负责一般任务计算,而g p u 则负责专门浮点计 算,这样就可以解决未来c p u 发展的性能瓶颈。为此,通用“c p u g p u 计算构 架被一致看好。 d i i 优1 0 和g e f o r c e8 ,为我们迎来了g p u 新的一页,即统一渲染架构。在 0 6 年底出现的这种新技术和产品中,顶点、像素、几何处理等各种其他3 d 处理 都能被映射成浮点处理,被g p u 的流处理器( s 骶a i i l i i l gp r o c 韶s o r s ) 计算。几何 1 2 第二章相关理论基础 着色处理是d i r e c t ) 【1 0 的新特性,这种功能统一渲染架构的流处理器可以很好的 支持,以此实现更加丰富的特效,并大大降低几何处理对c p u 的依赖。g p u 的分 遣控制逻辑可以动态的分配流处理器去执行前面所述的顶点、像素和几何着色部 分,甚至对于3 d 开发者来讲都不用过多的考虑不同着色器的分配,现在这些完全 都可以交给a p i 和驱动自动控制。这种新的g p u 流处理器的通用性良好,未来更 多的3 d 应用也可以在a p i 和驱动的支持下被加进来,就这一点来说统一架构的着 色器也远优于不可扩展的传统架构。 在统一的管线着色器架构里,g e f o r c e8 9g p u 的设计显著的降低了管线处理 阶段,并且把顺序流方式改成了循环执行。信号被输入到统一着色器核心处理后 输出至寄存器,然后再被重复输入至着色器核心进行下一步处理。深入图形程序, 通常来说都是像素着色应用多于顶点着色应用,这也是早先着色器分离架构中像 素着色器多于顶点着色器的原因。不过这只是总体上的统计情况,而在具体3 d 应 用程序中,某个时段还是有所不同。因此,统一着色器架构的g p u 的动态着色器 处理能力将比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论