




已阅读5页,还剩59页未读, 继续免费阅读
(计算机科学与技术专业论文)基于可视度图的实时软阴影算法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
j 卜 l 、 c a n d i d a t e :l i uz h i x u s u p e r v i s o r :g o n gf a m i n g c o l l e g eo fc o m p u t e r & c o m m u n i c a t i o ne n g i n e e r i n g c h i n au n i v e r s i t yo f p e t r o l e u m ( e a s t c h i n a ) j 关于学位论文的独创性声明 本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的 成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外, 本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得中国石油 大学( 华东) 或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志 对研究所做的任何贡献均已在论文中作出了明确的说明。 若有不实之处,本人愿意承担相关法律责任。 学位论文作者签名:j 恤 日期:b o1 1 年 多月芗。日 ,学位论文使用授权书 i 本人完全同意中国石油大学( 华东) 有权使用本学位论文( 包括但不限于其印刷版 和电子版) ,使用方式包括但不限于:保留学位论文,按规定向国家有关部门( 机构) 送交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被查阅、借阅和 复印,将学位论文的全部或部分内容编入有关数据库进行检索,采用影印、缩印或其他 复制手段保存学位论文。 保密学位论文在解密后的使用授权同上。 学位论文作者签名:三i 】态夕凰 指导教师躲确帅 日期:7 0 11 年r 月? o 日 日期:加j1 年3 - 月方p 日 r e s e a r c ho i lr e a l t i m es o f ts h a d o w a l g o r i t h m b a s e do nv i s i b i l i t ym a p l i uz h i x u ( c o m p u t e rs c i e n c ea n dt e c h n o l o g y ) d i r e c t e db ya s s o c i a t ep r o f g o n gf a m i n g a b s t r a c t s h a d o wi sa ni m p o r t a n tt e c h n o l o g yt oe n h a n c et h ec o m p u t e rv i r t u a lr e a l i t y s h a d o w e f f e c t sp l a ya ni m p o r t a n tr o l ei n3 dg a m e s i ti sn e c e s s a r yt oi l l i l i t a r ys i m u l a t i o nf i l e d i ti s m u c hm o r er e a l i s t i ca n dv i v i di fa d d i n gs h a d o wt o3 ds c e n e h i g h 一删i 锣s h a d o we f f e c t s ,n o t o n l ym a k et h ev i r t u a ls c e n ec l o s e rt ot h er e a lw o r l d ,b u ta l s op r o v i d em o r er i c hi n f o r m a t i o nt o i t , s u c h 嬲s h a d o w sc a nr e f l e c tt h er e l a t i v ed i s t a n c eo fl i g h t ,o c c l u s i o nb o d ya n dr e c e i v e r t h e s i z ea n ds h a p eo ft h es h a d o w sc a nr e f l e c tt h ea t t r i b u t e so fg e o m e t r ya n ds u r f a c eo ft h e o c c l u s i o nb o d ya n dr e c e i v e ri n t h es c e n e s h a d o wc o m p u t a t i o ni sm a i n l yi n c l u d i n gi m a g e b a s e da n do b j e c t b a s e da l g o r i t h m s t h e a d v a n t a g e so fi m a g e - b a s e da l g o r i t h m sa r et h ea b i l i t yt oq u i c k l yg e n e r a t ei n t e r a c t i v es h a d o w s , a n di n d e p e n d e n to ft h es c e n ec o m p l e x i t y , b u t 谢t ht h e d i s a d v a n t a g e so fa l i a s i n g ,e t c o b j e c t b a s e dm e t h o d sa r ed i r e c t l yt oa n a l y z et h es c e n et og e n e r a t eh i g h q u a l i t ya n da c c u r a t e s h a d o w s ,b u tt h e ya l en o ts u i t a b l e f o rr e n d e r i n gr e a l - t i m es h a d o w sb e c a u s eo fh i g h c o m p l e x i t y a sac l a s s i c a li m a g e - b a s e dt e c h n o l o g y , t h es h a d o wm a pc a ng e n e r a t es h a d o w sw h i c h o n l yn e e dt w op a t h sf o rr e n d e r i n g i nt h i sp a p e r , w ec a r e f u l l ys t u d ya n da n a l y z et h es h a d o w m a pa n di t ss e r i e so fi m p r o v e da l g o r i t h m s ,a n ds u m m a r i z et h eg e n e r a le x p a n s i o nt e c h n i c a l r o u t eo f i t r e a l - t i m es h a d o w sa n ds o f ts h a d o w sa r et h es h a d o w sw i t hh i 曲- q u a l i t yw h i c hn e e dal o t o fc a l c u l a t i o n s t h et r a d i t i o n a ls h a d o wm a p sc a no n l yg e n e r a t eh a r ds h a d o w s t h i sp a p e r p r o p o s e sb i v a r i a t ea t t e n u a t i o nf u n c t i o nd u r i n gt h ep r o c e s so fs h a d o wm a pg e n e r a t i o nt o e x p e n dt h et r a d i t i o n a ls h a d o wm a p f i s r to fa l l ,g e n e r a t i n gt h es h a d o ww i d t ha n ds h a d o w d e p t hm a p ,a n dt h e nc o n s t r u c t i n ga t t e n u a t i o nf u n c t i o n ,c o m p u t i n ga d j u s t m e n tf a c t o r s , a d j u s t i n gt h eb r i g h t n e s so fp i x e la n dg e n e r a t i n gs h a d o w s t h e r ea r es o m ep r o b l e m sw h e n s i m u l a t i o ns o f ts h a d o w sf o ra s i n g l es a m p l ep o i n t ,s u c ha sa l i a s i n g t h i sp a p e ra l s op r o p o s e s v i s i b i l i t ym a pa l g o r i t h mf o rs h a d o wg e n e r a t i o n s a m p l e db yt h el i g h ts o u r c e ,g e n e r a t ea v i s i b i l i t ym a pf o rt h es c e n e t h em a p s t o r e sv i s i b i l i t yr e l a t i v eo fe a c hp i x e lw i t hl i g h ts o u r c e , a n dt h e na d j u s t i n gt h eb r i g h t n e s so f p i x e lu s i n gv i s i b i l i t yt og e n e r a t et h ef i n a ls h a d o w t h et w om e t h o d sc a na c h i e v ep e r f e c t l yr e a l - t i m ep e r f o r m a n c eb yt h er a p i d l yc o m p u t i n g a b i l i t yo fg p u t h eb o r d e r so fs h a d o w sa l s oh a v eg o o ds o f t n e s s k e yw o r d s :r e a l - t i m es h a d o w , s o f ts h a d o w , a t t e n u a t i o nf u n c t i o n ,v i s i b i l i t ym 印,l i g h t s o u r c es a m p l i n g 目录 第一章绪论。l 1 1 弓i 言l 1 2 课题提出的目的及意义l 1 3 国内外研究现状2 1 3 1 可编程图形硬件g p u 2 1 3 2 国外研究现状3 1 3 3 国内研究现状4 1 4 研究目标和主要研究内容5 1 5 论文的组织结构。5 第二章实时阴影算法。7 2 1 引言7 2 2 阴影算法基本概念7 2 2 1 什么是阴影7 2 2 2 影响阴影的因素8 2 2 3 阴影的作用8 2 2 4 硬阴影( h a r ds h a d o w ) 9 2 2 5 软阴影( s o f ts h a d o w ) 9 2 2 6 实时阴影( r e a l t i m es h a d o w ) 10 2 2 7 伪阴影( f a k es o f ts h a d o w ) 1 1 2 3 实时阴影算法11 2 3 1 平面投射。l l 2 3 2 阴影图算法。13 2 3 3 阴影体算法15 2 4 本章小结18 第三章软阴影算法1 9 3 1 引言1 9 3 2 基于图像空间算法1 9 3 2 1 组合多个采样点的阴影图。1 9 3 2 2 层次衰减图算法2 l 3 2 3 基于p c f 的p c s s 软阴影算法2 3 3 2 4 线性光源的软阴影算法2 5 3 2 5 使用单个采样点的软阴影算法2 6 3 2 6 卷积技术2 7 3 3 基于对象空间算法2 8 3 3 1 组合多个硬阴影。2 8 3 3 2 使用高原体( p l a t e a u s ) 生成平面软阴影2 8 3 3 3 使用光滑翼。2 9 3 3 4 半影楔子3 0 3 4 本章小结3l 第四章经典阴影算法实现及分析3 2 4 1 引言。3 2 4 2 实验准备3 2 4 2 1 实验环境。3 2 4 2 2 框架设计。3 2 4 3 传统阴影图算法3 4 4 4 本章小结3 8 第五章基于双变量衰减度函数的实时软阴影算法。3 9 5 1 引言。3 9 5 2 算法概述3 9 5 2 1 传统阴影图算法流程3 9 5 2 2 算法改进4 0 5 2 3 参数说明。4 0 5 2 4 双变量衰减函数4 l 5 3 算法流程4 2 5 4 实验结果及分析4 3 5 5 本章小结4 4 第六章基于可视度图的实时软阴影算法4 5 6 1 引言。4 5 6 2 算法概述4 5 6 2 1 光源特征提取4 5 6 2 2 场景层次划分4 7 6 2 3 可视度图。4 8 6 2 4 可视度图合并4 9 6 2 5 可视度图优化。4 9 6 2 6 调整像素亮度4 9 6 , 3 算法流程4 9 6 4 实验结果及分析51 6 , 5 本章小结5 2 结论。5 3 参考文献。5 5 i g 【谢5 9 中国石油大学( 华东) 硕士学位论文 1 1 引言 第一章绪论 本章主要介绍课题提出的目的及意义、国座j j b 研究现状、论文的研究目标和主要研 究内容以及论文的组织结构。 1 2 课题提出的目的及意义 在现实世界中,阴影是一种常见的物理现象,反应了物体接收光照强度信息,在计 算机虚拟场景中增加阴影效果,能提高场景的真实感和逼真度。高质量的阴影效果有助 于产生实时动态的照片级真实感图形,使场景更接近现实世界。同时,阴影能帮助观察 者更好地理解3 d 场景中物体的几个形状和空间相对位置。为此,各种显卡制造厂商在产 品中提供了硬件加速的阴影计算方法,很多3 d 游戏引擎设计公司实现实现了对阴影特效 的支持,使开发出的游戏更加接近真实世界,提高了游戏的趣味性和可玩性,使得阴影 技术具有很大的商业价值。 阴影可以提供丰富的场景信息,有利于观察者更好地理解3 d 场景【1 】【2 ,3 】:首先阴影 有助于理解物体间的相对位置和大小,不同位置的物体在同一接收面产生的阴影大小不 同,如图1 1 ( a ) 最左边图形无法判断机器人的位置信息,而右边的三幅图可以清晰地反 映机器人离阴影接收体的距离越来越远;其次,阴影有助于理解复杂接收体的几何信息, 图1 1 ( b ) 左图无法判断阴影接收体的表面信息,而右图加入阴影之后,可以很容易地判 断地面的表面起伏信息以及机器人与地面的之间的相对距离;最后,阴影有助于理解复 杂遮挡物的几何信息,如图1 1 ( c ) 所示,根据阴影的形状可以准确判断遮挡体的类别和 形状。 套 事亨 ll a 阴影提供场景物体相对位置信息b 阴影提供阴影接收体的几何信息 l辅詹旺奄忿纹乞忿娃 第一章绪论 c 阴影提供遮挡体几何信息 图1 1 在虚拟场景中阴影提供了丰富的空间几何信息图 f i g l 一1 s h a d o w sp r o v i d er i c hi n f o r m a t i o na b o u tg e o m e t r yi nas c e n e 因此,一个高质量的阴影生成方法,对于提高场景真实度起到重要作用。 c r o w 4 1 在1 9 7 7 年首次正式提出阴影体算法,w i l l i a m s 5 1 在1 9 7 8 年首次提出阴影映射 算法,此后的所有阴影算法都是由这两种算法发展演变而来。很多算法在一定程度上能 得到逼真的阴影效果,但这些算法都存在共同的缺点,阴影图算法简单容易实现,但难 以克服走样现象。阴影体算法能够产生更为真实和精细的阴影,但算法计算量较大且与 场景复杂度相关,不适用于规模较大的复杂场景。为此,本文提出基于可视度图的阴影 绘制方法,使用可视度图调整像素点光源可见度,从而完成阴影的绘制。可视度图 ( v i s i b i l i t ym a p ,v m ) 既可以通过图像空间方法计算,又可以通过对象空间方法计算, 合理结合这两种技术,可以快速生成高质量的阴影。 1 3 国内外研究现状 阴影作为一种物理现象最早在物理学中被研究。然而随着计算机图形学的发展,如 何通过计算机模拟出真实的阴影逐渐被关注。由于阴影技术在虚拟现实、游戏、医学、 军事等行业有重要应用,一直以来实时软阴影算法都是计算机图形学研究热点。 1 3 1 可编程图形硬件g p u g p u 是g r a p h i cp r o c e s s i n gu n i t 的简称,是现代3 d 图形显卡的心脏,其地位等同于电 脑里的c p u ,g p u 的性能是衡量一个显卡的重要标准。在2 d 显卡时代,处理3 d 图像和 特效主要通过c p u 运算处理,通常称为“软加速 。3 d 显卡的出现,彻底改变了这一现 状,g p u 提供了超强的并行计算能力和复杂3 d 图形处理能力,使得传统密集型计算从 c p u 解放出来,使计算机具有更高的效率。现在两大图形显卡厂商n v i d i a 和a t i 都提供 了具有并行计算能力的g p u 显卡。 g p u 的出现改变了传统固定流水线绘制过程,使得图形绘制过程是可编程了,这极 2 中国石油大学( 华东) 硕士学位论文 大提高了程序的可控制性,给程序开发人员留下足够的自由发挥空间。顶点和片段可编 程是图形绘制可编程流水线的两个重要阶段。顶点可编程提供了对顶点的灵活操作,可 以更加直观和方便地控制顶点属性,对顶点进行计算,如顶点的坐标变换、纹理坐标计 算、法向量计算等。片段可编程提供了丰富的片段属性控制操作,这个阶段可以非常容 易地改变像素颜色,可以实现复杂算法,生成一些特效等。 g p u 可编程流水线技术提高了图形渲染的灵活性,并且由于其快速的计算能力,在 3 d 计算机图形领域得到了广泛的应用。借助于g p u 处理能力,一些复杂高质量的阴影生 成算法可以得到实现。 1 3 2 国外研究现状 c r o w 首先提出阴影计算的方法,该方法从对象空间出发,分析物体轮廓边,然后从 光源位置向轮廓边投射光线,形成一个棱台,位于棱台内部的点不被光源照射,处在阴 影区,c r o w 算法称为阴影体算法( s h a o d w v o l u m e ) ;h e i d m a n n l 6 使用模版缓存实现了 阴影体算法,由于模板缓存是硬件加速的,该算法具有一定的实时性;b r o t m a n 和b a d l e t i t 对阴影体算法进行扩展,并用深度缓存技术实现了软阴影算法;p a r k e r1 8 】提出在对象空 间进行卷积运算的算法,可以生成较好的阴影,但随着光源面积增大,会出现错误的阴 影;a s s a r s s o n 和a k e n i n e 9 】【l o 】扩展了阴影图算法,并提出半影楔子算法,通过构造半影 楔子来渲染阴影,w e s t e r h o l m 1 1 1 在硬件上实现了半影楔子算法;一些光线追踪算法【1 2 1 3 】 也被引入阴影体算法的计算,能生成高质量的软阴影。 w i l l i a m s 提出了在一般曲面物体上绘制阴影的阴影图( s h a d o wm a p p i n g ) 算法,该 算法简单容易实现,通过硬件加速可以使用在实时场景,但是算法具有难以克服的走样 问题并且阴影边界不够柔和。s e g a lf 1 4 】提出的光照图算法加速了阴影绘制过程。r e e v e s 【1 5 】 等人在阴影测试阶段对阴影图算法进行改进,提出了p c f 算法,通过对阴影边界进行模 糊,在一定程度上解决了走样问题,l a u f i t z e n 1 6 1 提出的方差阴影图算法也是一种边界模 糊技术;l e f o l m1 1 7 提出了分辨率匹配的阴影图算法,通过在局部区域增加采样点来消除 走样;a i l a 掣1 8 提出了无走样阴影图算法,可以生成无走样的阴影图,a r v o 1 明等人在硬 件上实现了该算法,s i n t o m 【2 0 】用无走样阴影图算法实现了软阴影效果。针对阴影图算法 不能生成软阴影问题,出现了很多改进算法,如单光源采样点算法1 8 , 2 1 1 ,通过一次光源 采样模拟软阴影,计算光源可见度的算法 2 2 甾】,通过反投影、离散遮挡体、组合阴影图 等技术计算像素点相对于光源可见度。s o l e r 和s i l l i o n 2 6 】从数学分析出发,提出了对遮挡 3 第一章绪论 体和阴影图进行卷积运算生成软阴影的算法,该算法能快速生成阴影,但需要对场景进 行严格限制。 一些全局光照算法也被引入阴影的计算,如分布式光线追踪算法 2 7 1 和辐射度算法【2 8 1 等。前者是物理精确的算法,能生成高质量的软阴影,但是计算复杂,不适合大规模实 时场景;辐射度算法通过预计算对光线信息处理,使得算法具有一定的实时性。 作为一些阴影体和阴影图的混合算法也被提出,h a i n e s 【2 明把阴影图渲染到纹理中, 然后根据阴影图查找轮廓边构造半影,算法通过牺牲阴影质量来换取渲染效率,w y m a n 等【3 0 1 对该方法进行扩展,实现光滑的阴影效果。 此外,一些3 d 游戏开发厂商、图形显卡制造厂商和一些著名高校,都投入了对阴影 的研究,取得了很多优秀的成绩。 1 3 3 国内研究现状 程, 佥l j t 3 1 】等提出圆面光源软阴影算法,该算法扩展j h e r d r i c h 3 2 1 的线性光源软阴影算 法,只需要一次光源采样,对硬件依赖极低,不依赖场景复杂度,具有很好的性能;陶 力【3 3 1 等提出一种混合算法,算法以b s p 树算法阴1 和衰减光照算法为基础,这两种算法都 是基于图像空间的,与几何场景的复杂度无关;沈潇【3 5 1 等结合图像精确技术和对象精 确技术的优点,提出一个基于阴影体和阴影图算法的混合算法,算法思想源自光滑翼算 法 3 6 1 ,算法在可编程图形硬件上实现,具有很好的实时性和精确性;龚怿等【3 7 1 详细分析 了阴影图算法走样问题及解决方法,并提出各向异性遮挡计算的实时软阴影算法,不需 要预计算就可以生成实时软阴影;王成n i j i 3 s j 等提出的混合算法,主要基于分层衰减图和 光线追踪算法f 3 9 1 ,该算法结合两种算法的优点,在保证实时性的同时,生成高质量的软 阴影,但算法实现起来比较复杂;梁晓辉【4 川等提出基于g p u 的光源空间平行分割的阴影 图算法,该算法在光源空间对场景进行平行分割,避免t z h a n g 4 1 , 4 2 等视点空间分割的 冗余渲染问题,适合大规模场景渲染;杨刚【4 3 】等提出基- 于g p u 的真实感毛发绘制的阴 影算法,该算法适用于像毛发这样层次性比较强、自阴影比较复杂的场合,通过g p u 硬 件加速,可以得到很高的效率。 国内还有其他很多针对不同场景和适用条件的改进算法,这些算法大部分都是改进 算法,有很多思路可供学习。 4 中国石油大学( 华东) 硕士学位论文 1 4 研究目标和主要研究内容 本课题的主要研究内容是在对场景、光源分析的基础上,给出不同类型光源的特征 采样策略,然后对场景进行层次划分,计算分层正负可视度图,最后合并正负可视度图 并优化,得到可以调节整个场景亮度的可视度图。具体包括以下几个方面: ( 1 ) 光源特征采样点的确定:分析光源几何特征,提取特征点作为采样点。 ( 2 ) 计算可视度图:在光源空间中查找能产生阴影的物体,按照距离光源的远近 分类排序;渲染不同遮挡体,得到正负可视度图;计算同一层中场景像素点相对于所有 光源采样点的可见度累加和,得到分层可视度图;根据光源、遮挡体、阴影接收体的大 小和形状以及三者之间的相对距离,合并分层可视度图,计算场景像素点相对于所有光 源采样点和所有遮挡体的可见度累加和,生成中间可视度图。 ( 3 ) 可视度图优化:对中间可视度图进行优化处理,利用优化结果调整像素亮度, 绘制带阴影的场景。 ( 4 ) 实验结果分析:对实验结果从性能、质量等指标进行评估,给出实验结论。 1 5 论文的组织结构 本文的组织结构如下: 第一章绪论 主要介绍本课题的提出、目的及意义,概述阴影概念以及在三维场景中的重要性, 总结国内外研究现状,并提出基于可视度图阴影计算方法的研究内容与思路。 第二章实时阴影算法 详细介绍阴影相关概念、阴影的重要性及影响阴影的关键因素。重点介绍几种重要 的实时阴影算法,分析算法原理、优缺点和改进方向。 第三章软阴影算法 介绍软阴影算法分类,针对图像空间算法和对象空间算法,分别列举几种经典算法, 并对其详细分析。 第四章经典阴影算法实现及分析 搭建实验框架,并选取几个基础算法进行框架验证,通过实验分析传统算法优缺点。 第五章基于双变量衰减度函数的实时软阴影算法 通过对传统阴影图算法扩展,在阴影图生成阶段生成阴影宽度和阴影深度图,然后 5 6 中国石油大学( 华东) 硕士学位论文 第二章实时阴影算法 本章主要介绍阴影算法相关的一些背景知识,重点介绍实时阴影算法的分类,分析 实时阴影算法的优缺点和适用场景。 2 1 引言 阴影效果是计算机虚拟仿真中一种重要手段,通过在场景中添加阴影,极大地提高 了场景的真实度和用户体验,是3 d 游戏和军事仿真领域一种不可缺少的元素。自从 c r o w 提出阴影体算法和w i l l i a m 提出阴影图算法之后,各大图形公司和图形研究者们迅 速推动了计算机模拟阴影技术的发展。近四十年来,出现了一些高质量和开创性的阴影 算法。本章详细介绍阴影的基本概念,并对实时阴影算法进行综述。 2 2 阴影算法基本概念 2 2 1 什么是阴影 阴影在生活中随处可见,只要有光的地方,就能看到阴影。然而真实中的阴影非常 复杂,为了更好地、简单地描述阴影,需要做一些简化。如图2 1 所示场景,有一个地 面g ,点光源l ,阴影遮挡体o ,阴影接收体r 。对于点光源发出的光线照射到地面上, 部分光线被o 、i 逑挡,照射到r 上的光线部分被o 遮挡,同时o 上也有部分被自身遮挡。 被遮挡的空间里由于看不到光源,被定义成阴影区( s h a d o wr e g i o n ) ,能看到光源的 区域称为照亮区( l i g h tr e g i o n ) 。对于面光源,如果有一个区域,只可以看见部分光 源,则称为半影区( p e n u m b r ar e g i o n ) 。根据产生阴影物体的不同,还可以把阴影分为 以下两大部分脚】: 自阴影( s e l f s h a d o w ) :遮挡物的阴影被投射到自身形成的阴影。 投射阴影( c a s t i n gs h a d o w ) :遮挡物投射到其它物体上的形成的阴影。 7 第二章实时阴影算法 阴影区 、 、 匕 图2 1 阴影概念 f i 9 2 1c o n c e p to fs h a d o w 2 2 2 影响阴影的因素 阴影的形成离不开光源,遮挡体和接收体,因此影响阴影的主要因素是: 光源大小、形状、颜色、朝向等; 遮挡体的大小形状透明度等几何属性; 接收体的形状等; l o r 的相对距离。 a 点光源b 面光源c 。彩色光源 图2 - 2 影响阴影的因素 量i 9 2 。z f a c t o r sa f f e c tt h es h a d o w 2 2 3 阴影的作用 从阴影的产生条件可以看出,阴影跟场景中光源、遮挡体、接收体有极大的关系, 因此阴影对于理解三维空间物体的几何信息有着重要的作用。通过下面几个实际的例子 可以很好地说明这一点: 阴影有助于我们理解场景中物体间的相对位置关系和大小【4 5 1 。利用投射阴影, 我们可以决定物体在空间中的位置,图2 3 ( a ) 。 阴影有助于理解复杂遮挡物的几何形状,图2 3 ( b ) 。 8 中国石油大学( 华东) 硕士学位论文 阴影有助于理解复杂接收体的几何信息,图2 3 ( c ) 。 8 物体相对关系 b 遮挡体形状 c 接收体表面属性 图2 - 3 阴影的作用 f i 9 2 - 3 t h er o l eo ft h es h a d o w 2 2 4 硬阴影( h a r ds h a d o w ) 在不考虑环境光的情况下,对于只有一个点光源或方向光的场景中,遮挡物投射到 阴影接收面上形成的阴影区域,由于完全接收不到光线,而外部区域可以完全接收到光 线,称这种阴影为硬阴影阳,如图2 4 所示。 图2 - 4 硬阴影 f i 9 2 4g e o m e t r yo fh a r ds h a d o w s 2 2 5 软阴影( s o f ts h a d o w ) 点光源或平行光产生的硬阴影在计算机模拟中容易表示和实现,然而真实世界不存 在这种理想化的点光源或很少存在面积无限大的平行光光源。更常见的是具有一定面积 9 屯爵“ 第二章实时阴影算法 和形状的面光源,对于这类光源的三维场景,阴影接收面上的点,可以划分为以下三个 区域:一是完全接收不到来自光源的光线,称为本影( u m b r a ) 区域;二是可以部分接 收来自光源的光线,称为半影( p e n u m b r a ) 区域;剩下的区域可以完全接收光源的光线, 也就是非阴影区域,称为照亮区【4 7 】。如图2 5 。包含半影的阴影就称为软阴影。随着光源 面积的增大,本影区域可能完全消失,只剩下半影。 图2 - 5 软阴影 f i 9 2 - 5g e o m e t r yo fs o f ts h a d o w s 与硬阴影相比,软阴影具有更强的真实感,更符合现实世界的情况。由于软阴影考 虑n l o r 的距离,使得软阴影可以很好地表达三维场景物体的关系。如图2 6 中同一场 景用硬阴影和软阴影渲染的结果,通过对软阴影半影区域的形状进行分析,可以直观地 判断光源的位置及距离,判断遮挡体的形状等其他信息。 图2 - 6 硬阴影和软阴影比较 f i 9 2 - 6 h a r dv s s o f ts h a d o w s 2 2 6 实时阴影( r e a l t i m es h a d o w ) 在虚拟3 d 场景中,物体或光源有可能不是静止不动的,这就导致每帧都需要重新计 算阴影,我们称之为实时阴影。实时阴影更有助于增强场景真实感,实时阴影可能是由 于光源产生的,如跳动的火焰,轮回的太阳灯;也有可能是移动的物体产生的,如场景 1 0 中国石油大学( 华东) 硕士学位论文 物体的移动,导致了遮挡关系发生了变化等,都会导致阴影重新计算,形成动态阴影。 2 2 7 伪阴影( f a k es o f ts h a d o w ) 在实际实现中,出现了一种称之为伪阴影的概念。计算阴影是件很耗时的工作,尤 其是高质量的实时软阴影。由于受计算机硬件的限制,图形工作者们提出了伪阴影的概 念,顾名思义,通过伪造阴影来模拟真实软阴影的效果。这种阴影往往是通过图像处理 技术处理硬阴影边界,通过对边界进行模糊淡化,从而形成具有过渡效果的半影区域, 看起来像软阴影。然而,伪阴影和软阴影有本质区别,软阴影是通过真实物理模型计算 得出来的,是真实的模拟,而伪阴影是为了达到一定效率,通过图像处理技术简单地把 硬阴影边界模糊得出的,是错误的阴影,只是视觉上有点相似而已。 虽然伪阴影是不正确的,但由于它计算简单,消耗资源较少,效率很高,使得在计 算机性能受约束的情况下,还是得到广泛的应用。 2 3 实时阴影算法 随着图形硬件的发展,以及3 d 游戏迫切需要,实时阴影已经进入实用阶段。实时阴 影的加入,进一步增强了场景的真实感,然而由于实时阴影的高资源消耗,在实现过程 中又不得不对算法进行精简。本节对常用的实时阴影算法进行总结。 2 3 1 平面投射 b l i n nf 4 s l 于1 9 8 8 年最早提出实时阴影算法,该算法把阴影接收体限制为平面物体, 并假定场景物体不会层次遮挡。这种对场景进行限定的方法,虽然在一定程度上增加了 场景的维护,但是极大地简化了阴影计算,使得实时阴影成为可能。如图2 7 ,把地方 作为阴影接收体,则可快速正确地生成阴影,如果对算法加以改进,可以放宽对接收体 的限制,使其适用于一般接收面。 图2 - 7 平面阴影 f i 9 2 - 7 p l a n n a rs h a d o w s l l 第二章实时阴影算法 算法需要对阴影遮挡体进行两次绘制,第一次绘制得到遮挡体顶点相对于平面接收 体的投影矩阵,如图2 8 所示,假设投影平面即阴影接收体为r :y = 0 ,光源l ,遮挡体0 。 光源l 发射一条光线,光源位置为t ( t ,l ,z :) ,经过遮挡体o 上一点v ( v ,1 ,:) ,投射到 平面上,该点记为p ( p ,p ,p :) ,贝, l j p 就是阴影点。从图形学角度看,存在一个投影矩阵 m ,把点v 投影到平面r 上,得到点p ,畏 j m v = p 。下面用数学原理来推导这个投影矩阵。 首先来推导p 点x 分量的投影,根据相似三角形法则,可以得到下面的方程式: 等= 南营以= 訾 , 同样可以推导出p 点z 分量的投影:p := ( 1 y v :一l z ,y ) i ( 1 y v y ) ,容易看出p 点y 分为o 。 以矩阵的形式可以表示为: m = ly i x00 o 000 0 一t l y 0 0 10 7 y 很容易证明m v = p ,即m 是投影矩阵。 ( 2 2 ) 图2 - 8 平面阴影算法 f i 9 2 - 8 p i a n n a rs h a d o wa l g o r i t h m 通常情况下阴影投射平面为一般平面,如图2 8 右图所示,投影平面为n :n x + d = o , 这时为了得到点v 在平面上的投影矩阵,可以通过点与平面求交计算,即先求出交点p , 然后反推回来,得到投影矩阵。不难得出投影点p 的表达式为: 1 2 中国石油大学( 华东) 硕士学位论文 p _ 1 - 揣( v - 1 ) ( 2 3 ) 将上述等式以矩阵的形式表达,可以得出投影矩阵m 如下: m = m + d l x n 。 一t ”x l x 一刀。 一l , n , n l + d l y n x l z n ) , 一栉y i x n : 一l :d , 一l y n :一l y d 栉7 + d - l :刀:- l , d 一甩: n l ( 2 - 4 ) 当y = o 时( 取刀= ( 0 1 o ) td = o ) ,那么矩阵与式( 3 3 ) 一致,投影平面退化成平面方 程为) ,= o 的简单形式。 在渲染场景时,先把场景中所有遮挡体的颜色设置为黑色,对场景中所有阴影遮挡 体使用这个投影矩阵进行绘制,渲染出的黑色区域就是阴影区。但是在实际实现中,必 须对场景图形进行一定的控制,例如可以先绘制阴影投射面,然后关闭深度缓存,关闭 光照等,再设置阴影投影矩阵,绘制出所有阴影遮挡体的投影,最后恢复正常投影矩阵、 打开深度缓存、打开光照等,绘制剩下的场景物体,最后渲染出的场景就是带有阴影真 实感很强的三维场景,由于每帧都计算阴影,且耗费资源较少,能达到实时帧率【4 9 1 。 在实际使用中可能会遇到一些阴影投射到有效区域之外的情况,这是由于阴影接收 体面积较小或者过边界问题,这时可以利用模板缓存来解决这个问题。实际渲染时,把 阴影接收体同时绘制到帧缓存和模板缓存里,然后关闭深度缓存、光照等,绘制阴影, 这时由于模板缓存的限制,可以使阴影绘制在有效区域内,最后开启深度缓存、关照等, 渲染场景中其他物体。 平面投射法的优点是计算简单效率高,适合实时渲染,但是确定也很明显,对场景 限制比较大,阴影接收体必须是平面,需要明确知道阴影投射体,在渲染顺序上也有严 格要求,使得在实际使用中收到很多限制,不适合一般场景的渲染。 2 3 2 阴影图算法 最早关于阴影生成的算法由w i l l i a m s 于1 9 7 8 年提出,该方法基于图像空间,算法原 理简单易于实现,并且具有很好的效果,奠定了图像空间计算阴影的基础。 w i l l i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2021年人民警察节活动训练学习心得与体会五篇
- 2025年教师招聘之《幼儿教师招聘》题库必背100题含答案详解(精练)
- 教师招聘之《幼儿教师招聘》综合提升测试卷及答案详解(典优)
- 2025年教师招聘之《小学教师招聘》通关提分题库及完整答案详解【各地真题】
- 教师招聘之《幼儿教师招聘》考试彩蛋押题附答案详解【模拟题】
- 教师招聘之《幼儿教师招聘》自测题库及参考答案详解(模拟题)
- 2025年教师招聘之《小学教师招聘》通关提分题库附答案详解【培优】
- 实商务英语综合教程(第一册)-课件 Unit 9 Business Environment
- 2025年新能源商用车辆在电力运输中的应用场景分析报告001
- 教师招聘之《幼儿教师招聘》练习题(一)附参考答案详解【典型题】
- GB/T 19787-2005包装材料聚烯烃热收缩薄膜
- 多维阅读第4级Animal Fathers 动物爸爸 课件
- 国寿基本法晋升组经理的意义和价值课件
- 人教版七年级美术上册全套课件
- 《企业内部控制(第二版)》配套教学课件
- 新中韩进出口水产品卫生管理协议
- 护理晋升晋升副主任护师病例分析专题报告(急性心肌梗死患者的护理要点)
- 高级食品生物化学脂类PPT
- 油气集输管线管道工程征地外协管理方案
- 《智慧农业》的ppt完整版
- CT图像伪影及处理
评论
0/150
提交评论