(计算机应用技术专业论文)视点无关的水体效果模拟方法研究.pdf_第1页
(计算机应用技术专业论文)视点无关的水体效果模拟方法研究.pdf_第2页
(计算机应用技术专业论文)视点无关的水体效果模拟方法研究.pdf_第3页
(计算机应用技术专业论文)视点无关的水体效果模拟方法研究.pdf_第4页
(计算机应用技术专业论文)视点无关的水体效果模拟方法研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)视点无关的水体效果模拟方法研究.pdf.pdf 免费下载

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

文档简介

视点无关的水体效果模拟方法研究 摘要 虚拟现实技术融合多种信息技术的最新发展成果,为我们创建和体验虚拟 世界提供了强有力的支持,并广泛应用到了社会的各个领域。在虚拟场景中,水 体真实感的渲染是非常重要的组成部分,包括从天空到海面再到海底的仿真再 现,其中水中光学效果的模拟是一个很重要的研究领域。在表现水中场景时要考 虑水下场景庞大的数据量,需要找到一种快速有效的方法应用于大规模场景的水 体模拟。因此本文研究的目的就是找到一种有效的方法提高水下场景的绘制速 度,同时兼顾真实感的要求。n i s h i t a 等人提出计算光束光强的方法,并给出了 照明体的概念。本文在1 w a s a k i 等人提出的水体光照渲染方法基础上,提出了视 点无关的海洋场景构建方法,应用图形硬件加速卡进行加速,借助微软提供的 d i r e c t x 3 d 图形库,再现了水下场景的光学效果,给用户带来较强烈的真实感。 本文首先介绍了虚拟现实以及水体光照渲染的发展概况,然后介绍了已有的水体 计算模型及其绘制方法、焦散效果模拟和阴影效果模拟的方法,最后讨论了本文 提出的视点无关的海洋场景构建方法,给出了水体以及焦散的绘制过程,应用阴 影体算法绘制了水下场景中的物体阴影。目前水下场景的绘制和水中光学效果的 模拟得到了一些较好的实验结果,但仍存在一些问题需要解决。海洋的复杂多变 为我们的仿真工作带来了很大的困难。真实性和实时性是今后工作的两大重点。 关键词:虚拟现实;照明体;视点无关 avie w irr eia tiv em e t h o df o rsim uia tin gu n d e r w a t e r o p t ic aie f f e c t a b s t r a c t v i r t u a lr e a l i t y i n t e g r a t e sm a n yi n f o r m a t i o nt e c h n o l o g ya c h i e v e m e n t s a n d p r o v i d e sas t r o n gs u p p o r ti nb u i l d i n ga n dr o a m i n gi nv i r t u a lw o r l d ,u s e di nm a n y f i e l d s o fa l lt h ev i r t u a ls c e n e r i e s ,t h er e a l i s t i cr e n d e r i n go fw a t e ri so n eo ft h em o s t e s s e n t i a lc o m p o n e n t so fc o m p u t e rg r a p h i c s c o n s t r u c t i o no ft h ev i r t u a lw a t e rs c e n e i n c l u d e sf r o ms k yt ot h es e as u r f a c ea n dt h e nt ot h eb o t t o mo ft h es e a s i m u l a t i n gt h e o p t i c a le f f e c t su n d e r w a t e ri sav e r yi m p o r t a n tf i e l d w h i l ed i s p l a y i n gt h eo p t i c a l e f f e c t su n d e r w a t e r , as i m p l ea n de f f e c t i v em e t h o ds h o u l db eu s e di nc o n s i d e r a t i o no f t h eh u g ed a t aq u a n t i t y t h ea i mo ft h i st h e s i si st op r o p o s ea l le f f e c t i v em e t h o do ni m p r o v i n gt h e d i s p l a y i n go fo p t i c a lw a t e ru n d e r w a t e r , i nt h e 岛l n 圮t i m et h er e a l i s t i c s h o u l db ec o n s i d e r e d n i s h i t ae ta 1 p r o p o s e st h em e t h o do fc a l c u l a t i n gt h ei n t e n s i t yo fs h a f t so fl i g h ta n d d e f i n e st h ei l l u m i n a t i o nv o l u m ei nt h et h e s i s b a s e do nt h em e t h o dp r e s e n t e db y 1 w a s a k ie ta 1 ,av i e w - i r r e l a t i v em e t h o df o rs i m u l a t i n gs c e n e su n d e r w a t e ri sp r o p o s e d h e r e w i t ht h eh e l po fg r a p h i c sh a r d w a r ea n dd i r e c t x 3 dg r a p h i c sw a r e h o u s eo f m i c r o s o f t ,o p t i c a le f f e c tu n d e r w a t e ri sd i s p l a y e d t h ee x p e r i m e n tr e s u l t sg i v eas t r o n g r e a l i t yo fu n d e r w a t e rs i g h ti na na c c e p t a b l ef r a m e r a t e t h i st h e s i sg i v e sas u r v e yo f v i r t u a lr e a l i t ya n dr e n d e r i n go fo p t i c a le f f e c t su n d e r w a t e ra tf i r s t a n dt h e n i n t r o d u c e st h em e t h o do fc a l c u l a t i o nm o d e lo fw a t e rb o d ya n dm e t h o do fd i s p l a y i n g o fl i g h t ,c a u s t i c sa n ds h a d o w se f f e c t s a tl a s tp r e s e n t so u rm e t h o do ns i m u l a t i n g v i e w - i r r e l a t i v eo p t i c a le f f e c t sw i t h i nw a t e r , a n dg i v e st h ep a s s e so fd i s p l a y i n gw a t e r s c e n e r yi n c l u d i n gc a u s t i c sa n ds h a d o w s a tp r e s e n t ,t h o u g hm a n yg o o dr e s u l t so f d i s p l a y i n go p t i c a le f f e c t su n d e r w a t e rh a v eb e e np r e s e n t e d , t h e r ea r ea l r e a d ym a n y p r o b l e m sa sar e s u l to ft h ec o m p l i c a t e do ft h ew a t e re f f e c t s r e a l i s t i ca n d r e a l t i m ea r e t h em o s ts i g n i f i c a n tt w op a r t si nt h ef u t u r ew o r k k e yw o r d s :v ir t u a ir e a ii t y :ii iu m in a tio n v oiu m e :v ie 1 i r ir r e ia tiv e 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经 发表或撰写过的研究成果,也不包含未获得 ( 洼! 翅遗直基 丝盂塞挂别童盟鲍:奎拦亘窒2 或其他教育机构的学位或证书使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:亨l j 茗易签字日期: 年 月 e l 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权学校 可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。同时授权中国科学技术信息研究所将本学位论 文收录到中国学位论文全文数据库,并通过网络向社会公众提供信息服务。( 保密 的学位论文在解密后适用本授权书) 学位论文作者签名:主u 老易 签字日期:年月日 导师签字: 骞秭, 签字日期:年月日 视点无关的水体效果模拟方法研究 1 绪论 1 1 本文的研究背景 虚拟现实技术( v i r t u a lr e a l i t y ,简称v r ) 是上世纪8 0 年代提出、9 0 年代 以来得到迅猛发展和广泛应用的- t 3 计算机学科方向。采用计算机图形学的先进 理论与方法,将科学计算的过程和结果转换成更为直观、形象的计算机图像在屏 幕上显示,并进行交互处理,真实再现与仿真自然现象的变化过程,为人们发现 和研究自然规律提供了更有效的手段。目前,虚拟现实技术广泛应用于地学( 地 质勘探、海洋、气象) 、计算流体力学、医学、以及其他诸多领域,并获得了十 分显著的成果。 海洋场景的真实再现为揭示海洋现象及其动力机制,确定和找出影响这一 现象的海洋要素的主要特征结构提供了更直观的途径。虚拟海洋场景的构建包括 从天空到海面再到海底的仿真再现,其中水中光学效果的模拟是一个很重要的研 究领域。近几年国外有很多学者对水下光学效果的模拟进行了大量研究,也提出 了一些有效的模拟方法。 模拟水中光束是模拟光散射的一个最重要的元素f l 】on i s h i t a 等人【2 】提出了 光的散射和吸收明暗模型。d o b a s h i 等人提出了渲染穿过云隙光束的方法【3 1 。他 们也改进了该方法从而不仅能够处理平行光源也能够处理点光源【4 】。j e n s e n 和 c h r i s t e n s e n 【5 1 用光子图表现了水中光束和焦散效果。t i n - t i ny u 等人在【6 】中给 出了基于光子图的应用,然而,一般而言,应用光子图的方法太耗费时间。渲染 焦散效果,光束和水体颜色的方法本身已经进一步发展为生成水体图像的方法。 s h i n y a 等人【7 】提出表现焦散的方法。他们利用栅格笔( g r i d p e n c i l ) 提前计算表 面光照分布。w a t t i s 完善了反向光束追踪方法。w a l d 9 1 等人提出一种交互式光线 追踪方法,该方法需要大量的c p u 时间来计算复杂场景。 b r i e r e 和p o u l i n 1 0 】应用分级光束结构表现了焦散效果。这些方法借鉴了光 线追踪算法,因此生成图像的时候需要大量时间。s t a m 提出了生成焦散纹理的方 法【1 1 】。然而,该方法不能在任意物体上直接生成焦散效果。k u n i m a t s u 等人【1 2 】提 出用最短轮转时间渲染焦散的方法。他们主要描述了视点在水面上渲染焦散的方 视点无关的水体效果模拟方法研究 法。t r e n d a l l 和s t e w a r t 1 3 】应用图形硬件表现了焦散效果。然而这一方法不能处 理复杂形状物体上的焦散效果。n i s h i t a 和n a k a m a e 1 4 】提出了应用累计缓存表现焦 散、光束和水体颜色的方法。他们将水面分解为网格还定义了照明体。该方法的 一个好处是能够处理自由形态的表面,但由于使用的累积缓存不是图形硬件缓存 并且每个扫描平面的照明体光强都要计算,因此生成图像的时候需要一些时间。 因此如何平衡真实感与速度之间的关系是海洋场景模拟仿真的关键。研究 海洋环境模拟再现与仿真的虚拟现实技术,并将它们应用于海洋研究与实践,具 有十分重大的现实意义。 1 2 虚拟现实的发展状况及关键技术 虚拟现实技术融合了数字图像处理、计算机图形学、人工智能、多媒体技 术、传感器、网络以及并行处理技术等多个信息技术分支的最新发展成果,为我 们创建和体验虚拟世界提供了强有力的支持。利用虚拟现实技术,可以使参与者 足不出户就感受到身外的世界。 v r 技术由于它的诱人前景,一经问世就立即受到了人们的高度重视。有人 认为,8 0 年代是个人计算机的年代,9 0 年代是多媒体计算机的年代,而2 1 世纪 则是v r 技术的时代。同时,它在许多不同领域的应用,也必将带来巨大的经济 效益。 美国是v r 技术的发源地,目前美国在该领域的基础研究主要集中在感知、 用户界面、后台软件和硬件四个方面。美国宇航局( n a s a ) 的a m e s 实验室完善了 h m d ,并将v p l 的数据手套工程化,使其成为可用性较高的产品。n a s a 研究的重 点放在对空间站操纵的实时仿真上,大多数研究是在n a s a 的约翰逊空间中心完 成。北卡罗来纳大学( u n c ) 的计算机系是进行v r 研究最早最著名的大学。l o m a l i n d a 大学医学中心是一所经常从事高难度或是有争议课题的医学研究单位, d a v i dw a r n e r 博士和他的研究小组成功地将计算机图形及v r 设备用于探讨与神 经疾病相关的问题。s o f t i m a g e 公司的专家们提出了渗透将有助于扩大v r 的美 感,这是v r 未来的一个发展方向。 德国国家数学与计算机研究中心( g m d ) 专门成立了一个部门,研究科学计算 与v r 技术。德国d a m a s t s d t 的f r a u n h o f e r 计算机图形学研究所开发了一种名为 2 视点无关的水体效果模拟方法研究 “虚拟设计 的v r 组合工具,可使得图像伴随声音实时显示。英国的b r o s t o l 有限公司发现v r 应用的焦点应该集中在软件与整体综合技术上,他们在软件研 究和硬件开发的某些方面在世界上处于领先地位【1 5 】。 日本在虚拟现实方面的研究工作,除了在游戏领域以外,一般集中于有潜 力的能加强人机接口能力的研究项目上。其中,s e g ae n t e r t a i n m e n t 和n i n i e n d o 公司的游戏产品居于市场的领导地位。京都的先进电子通信研究所系统研究室的 开发者们正着手开发一套系统,能用图像处理来识别手势和面部表情,并把他们 作为系统输入。东京大学的原岛研究室开展了3 项研究:人类面部表情特征的提 取、三维结构的判定和三维形状的表示、动图像的提取。 v r 技术是一项投资大,具有高难度的科技领域,和一些发达国家相比,我 国还有一定的差距,但已引起政府有关部门和科学家们的高度重视。例如九五规 划、国家自然科学基金会、国家高新技术研发计划等都把v r 列入了研究项目。在 紧跟国际新技术的同时,国内一些重点院校已积极投入到了这一研究领域。清 华大学计算机系在虚拟现实和临场感方面进行了研究。北京航空航天大学计算机 系是国内最早进行v r 研究、最有权威的单位之一,哈尔滨工业大学计算机系已 经成功地解决了人的高级行为中特定人脸图像、表情和唇动等的合成技术问题, 并正在研究人说话时头势和手势动作、语音和语调的同步等。浙江大学c a d c g 国家重点实验室开发出了一套桌面型虚拟建筑环境实时漫游系统。国内还有很多 单位在v r 的相关方面开展了研究并取得了一定进展。 1 3 课题研究的目的及意义 海洋环境仿真存在的问题主要根源有两方面:一是海洋空间数据模型的复 杂性,完整的海洋空间数据模型包括从天空到海面,然后进入海水水体直到海底 地貌。由于各种空间数据模型差别较大,难以建立统一的仿真集成环境平台;二 是海洋空间数据的缺损,目前缺损最为严重的是海面海浪和海水水质的勘测数 据。 水下场景的构建包括水面、水中光束、焦散、阴影等的再现与仿真,其中 水中光束的表现有很多方法,如光子图法,光线追踪以及路径追踪等,这些方法 在小规模场景中应用效果很好,能够达到较高的模拟要求,然而在表现海洋场景 3 视点无关的水体效果模拟方法研究 时需要考虑海洋场景庞大的数据量,因此需要找到一种快速有效的方法应用于大 规模场景的水体模拟。本文提出一种与视点无关的水中效果模拟方法,提高了计 算和绘制速度,为今后构建统一的海洋仿真集成环境平台奠定了基础。 1 4 本文的主要工作和内容安排 针对国外已有的水下场景再现的各种方法,本文在前人研究的基础上,着 重研究了水中光束与焦散的计算模型和绘制方法,并给出了视点无关的海洋场景 构建方法,以可以接受的速度较好地再现了水下场景的光学效果,给用户带来较 强烈的真实感,为研究海洋现象及其动力机制提供了更直观、有效的途径。 本论文组织如下:第二章介绍了n i s h i t a 和1 w a s a k i 的水体计算模型和绘 制方法,阐述了通过绘制照明体以及四面体的方法来渲染水中光束。讨论了光束 绘制的两种方法,局部照明和全局照明的特点。第三章主要对现有的焦散效果模 拟方法进行了研究,给出了两种不同情况下计算焦散的方法,介绍了折射焦散和 反射焦散的绘制方法,着重讨论了折射焦散的绘制过程。第四章主要介绍了两种 绘制阴影的方法,着重研究了阴影体算法以及根据该算法产生物体阴影的步骤。 第五章提出了视点无关的水体效果模拟方法,给出了从水面到水体以及焦散的绘 制过程。第六章是本课题的实验结果。第七章对本课题进行了总结与展望。 4 视点无关的水体效果模拟方法研究 2 水体光学效果模拟 2 1 水面网格构建 人们对水面的模拟是从上世纪八十年代开始研究的。文献【1 6 】中详细地介绍了 从八十年代开始至九十年代对水面的绘制、渲染和动画技术的发展情况:从早期 的对无边界的海洋模拟到中期对水流的模拟,再到后期对各种水现象的模拟所采 用的技术变化做了详细的叙述。文献【1 7 】对国外近几年的研究做了很好的回顾。 从对海浪绘制的基本方法上说,当前对于海浪的绘制有如下几大类。 基于几何的模型采用的是直接构造参数曲面来代表海浪表面,参数曲面由波 形函数表示,例如z 一,o ,y ,f ) ,璐4 s i n ( 咄f + 魂) 其中4 ,q ,蛾都随时间变化。 他们的典型代表是f o u r n i e r 1 踟、p e a c h y 1 9 】和b a r s k y m 。它的计算量小,通过 让波的振幅等随时间变化可以实现海洋的动画显示,对于海洋远景和深海的显示 效果比较好,但是,对海洋近海以及近景的显示效果就不能令人满意了。 基于物理的模型通过对基本流体力学n a v i e r s t o k e s 方程的近似求解得到 海浪的精确表示。根据它的解所绘制出的海浪比较真实、形态各异。但是,由于 对它的求解所涉及的物理量比较多,求解过程比较复杂,计算量也很大,生成一 幅图像有时需要几分钟甚至一两个小时,很难应用到对实时性要求很高的虚拟海 洋场景的建立之中。 基于粒子系统的基本思想是把模糊物体定义为由成千上万个运动的、不规则 的、随机分布的粒子组成的粒子集,每个粒子均有一定的生命周期及其它的属性 ( 如颜色、形状、大小、速度等) ,它们不断改变形状、不断运动,从而表现出景 物的总体形态和特征的动态变化。这种方法用于绘制海洋中海浪产生的泡沫比较 方便,效果逼真,但用它来实现整个海洋场景的绘制就比较麻烦,显得很不适用。 基于海浪谱的方法采用大量正弦曲线的叠加来模拟海面,通常依赖于复杂的 数学模型,运算量较小,更适合于实时图像的生成。多个g e r s t n e rw a v e 相互叠 加,就能模拟出相当不错的水面。如果要渲染真实度更高的水面,可以使用f f r 来模拟更真实的水面,它使用了统计波的模型,通过快速傅立叶畔l 变换合成一个 类似于真实海浪谱分布的高度场。f f l 方法可以同时模拟不同形态的波浪,获得 5 视点无关的水体效果模拟方法研究 较好的视觉效果。 2 2 水体光照计算模型 2 2 1 光强计算基本思想 图2 - 1 :到达视点的光线路径 如图2 - 1 ,当视点在水中时,可将到达视点的光线路径分为如下三种情况。 ( 1 ) 视线与物体相交的情况:折射光线在物体上q 点发生反射,从而进入视 点,这样的光线在其路径上发生了散射和衰减( 图2 - 1 中的点p ) 。 ( 2 )视线与水面相交的情况:折射光进入视点。根据视线与水面法向的夹角 将光线路径又分为如下两种情况。 ( a ) 夹角小于临界角( 图2 一l 中的点p 1 ) :进入视点的光线为入射光的折 射光线。 ( b ) 夹角大于临界角( 图2 一l 中的点尸2 ) :进入视点的光线为在水面恰好 发生反射的光线。 ( 3 )与视线没有交点的情况( 图2 - i 的点为正无穷) :由于视点在水中,视线 与远处某物相交,如与水底相交。严格的来说,由于水中粒子的衰减系数【2 1 】一般 很高,与远处物体相交的光线可以忽略不计,从而光线路径属于情况( 1 ) 或者 情况( 2 ) 。 关于折射光线应考虑如下几个方面。( 1 ) 由于折射光线的汇聚和发散,使 6 视点无关的水体效果模拟方法研究 得空间中的光强分布不均。( 2 ) 根据入射光线的方向,物体的反射光强包括漫反 射和镜面反射两部分。( 3 ) 粒子的散射光强主要依赖于入射方向与散射方向的相 位角,这种效果称为相函数,从物理上来讲,它表达了入射方向的能量在出射方 向上传播能量的比率【2 1 1 。 图2 - 2 :照明体和扫描面上的焦散三角形 完全搞清楚到达物体( 图2 - 1 中的点q ) 和粒子( 图2 - i 中的点p ) 的光 线路径以及折射光产生的焦散效果导致的光强分布是件困难的事情,为了解决这 一问题,以前( 如i n ) 使用照明图方法,然而n i s h i t a 的方法不需要这样的图。 考虑水面网格化后对其细分的三角形( 如图2 - 2 ) ,对每个网格点的折射向量进 行计算并扫描,沿着折射向量扫描得到的体称为照明体。 对于密度不均的透明物体如云雾烟,需要对视线上的密度进行累积积分。 然而,由于水密度一致,并不需要这样做,只需要使用解析函数计算水中光强分 布即可。 光束和焦散效果的计算等价于计算空间的光照分布变化。计算水体的视空 间是困难的,可以应用深度缓存的方法获得这一空间。可通过深度缓存获得水体 视空间的各点象素,即扫描平面上的不可见区域被舍弃( 如图2 2 中的画点区 域) 。 光强与扫描平面和照明体的相交区域面积成反比,由此,粒子的散射光强 可由照明体上的扫描面积变化得到,即扫描线上的光强分布计算完成之后,这些 光强被存储在累积缓存中。 水中进入视点的光线分为两部分:折射光线直接进入视点和来自物体反射 及粒子散射光线。对于后者来说,只需要计算水中光强分布,同时还要考虑以下 7 视点无关的水体效果模拟方法研究 情况。 ( 1 )虽然水中光强分布决定于入射光线以及阳光和水面上的天空光,但还是 可以认为光束仅由阳光产生,例如天空光可以忽略,可以认为照明体是由阳光的 折射光线构成的。 ( 2 )外界的散射光由于忽视了粒子的多重散射从而无法到达视点。由于粒子 的衰减系数很高,远点光也无法进入视点。定义到达视点光线的最大距离为可见 长度,则空间将成为有限空间,视椎体的高度定义为可见长度的长。 ( 3 )照明体构成计算空间。定义焦散三角形为照明体和扫描平面间的三角形 ( 如图2 - 2 ) 。扫描平面上的每个点都至少被一个焦散三角形所包含,因为照明 体的每条边都由相邻照明体所共有( 三角形间没有空白) 。 ( 4 )焦散三角形的光强与其面积成反比。通常照明体是很细的,因此,其焦 散三角形也很小,认为焦散三角形中散射光强是均匀的。 ( 5 )由于水密度一致,所以到达视点的光线仅由焦散三角形到视点的距离决 定,即光强可由距离的解析函数( 指数函数) 表示。 ( 6 )由于天空光来自各个方向,计算水中光强分布有一定的困难,因此定义 经过海面传播的光为环境光,其光强与深度的指数函数有关。 图2 - 3 :光强计算和扫描面上的阴影测试 考虑来自物体上点q 的光线或者是来自水面反射的光线,其光强受到路径 上粒子的散射吸收的影响。由于认为焦散三角形内的光强是均匀的,三角形的 投影区域各点像素光强计算如下:各点光强由三角形光强乘以视线与三角形距离 得到,然后将结果累积到累积缓存中。 8 视点无关的水体效果模拟方法研究 点p ( 如图2 一1 ) 的散射光强如f 。 ,p q ) = 口f t ( o i , 0 :) f p ,a ) e x p ( - c ( z ) l n ) + ,口加 ( 2 一1 ) 此处允代表波长。j f 代表海面的入射光光强。r 代表遵循f r e s n e l 反射定 律的透射系数。0 i 和口,分别代表入射角和反射角,这些角度遵循s n e l l 定律。卢 代表体散射函数,该函数是关于入射方向与散射方向夹角妒的函数( 如图2 一1 ) 。 c 轨) 是光传播的单位衰减能量。j d 为水密度。l a 为环境光。水体颜色由c 轨) 和p 确定。f p 是水面下光强与p 点的比率f ,与辐照度方法相类似。& 是照 lp s s 明体与水面的相交面,s :是与点p 处的相交面。s ;由扫描面上的焦散三角形和 角6 决定( 如图2 - 3 ) 。即 s :- s s c o s d ( 2 2 ) 由于视线上各点散射光强的衰减,视点处光强,v 计算如下。 , ) 一i g 似) c x p ( 一c 似汪) + f ,p 似) e 印( 一c ( a ) o d l ( 2 3 ) ,鼋是物体的反射光强或海面的反射光,p 表示点p 处的散射光强,z 是p 和视点间的距离,是物体和视点间的距离。 当点q 位于水面,而目,小于临界角( 4 8 6 。) 的时候。 j 口( a ) 一哟0 灯删北i 一0 ,j + ,咖b ,) j ( 2 4 ) ,删是入射光强,6 b ;一0 ,) 函数当日;一0 ,的时候为l ,j 咖b ;) 是角p ,的天空光 光强。 当到达视点光线夹角小于临界角时( 见图2 一l 中的点p 2 ) ,此时光线恰巧在 水下发生反射,即反射线上的粒子散射光发生了反射。由于反射光到达视点时发 生衰减,所以不需要计算的非常准确。这些光强依赖于反射角,然后提前根据每 个反射角计算这些值,并储存在一个表单中。 当光线不与任何物体( 或水面) 相交的时候,可见距离视为l 。水中的 衰减效果很强,距离远的光线不会到达视点,这表示积分范围有限。给定公差g , 9 视点无关的水体效果模拟方法研究 积分范围如,。可定义为e x p ( 一c ( a 弛) 占。在这一点,的值视为0 。 上j 、, _ d 2 2 2 照明体分割成四面体 应用照明体方法绘制焦散、光束和水体颜色的方法,通过大规模网格的每 个网格点的折射向量来计算,然后应用扫描线算法计算照明体的光强,并存入累 计缓存,这一方法的好处是能够处理自由形态的表面,但由于使用的累积缓存不 是图形硬件缓存并且每个扫描平面的照明体光强都要计算,因此生成图像的时候 需要很多时间。1 w a s a k i 在2 0 0 2 年基于n i s h i t a 方法基础上提出将照明体分割 成四面体的方法,通过采用先进的图形硬件来加速计算,得到了不错的效果图。 图2 - 4 照明体和子体 渲染光束的基本方法是表现照明体的阴影正面。沿着视线与照明体相交部 分的散射光积分来计算照明体光强。然而,每个象素的相交测试需要大量计算, 因此,如图2 - 4 ,将每个照明体沿水平面分割为许多体,得到的体称为子体。由 于被水面折射后的阳光光强成指数级衰减,照明体被分割,因此沿着子体的散射 光可以以线形近似。这使得应用g o u r a u d 方法来表现照明体成为可能。子体被进 一步分为三个四面体,从而可以沿着子体内的视线方向对散射光强进行积分,通 过绘制这些四面体来渲染光束。 1 0 视点无关的水体效果模拟方法研究 z3 图2 5 :分割子体为三个四面体 p j 渤 图2 6 :情况1 中四面体的几何关系 马 兄 或 已 娜(婶 图2 7 :情况2 中四面体的几何关系 如图2 - 5 ,子体中包括六个点p j ( i - 1 ,6 ) 。先看包含四个点p 1 ,p 2 ,r 和 p 4 的四面体a 几何上,四面体投影到平面上可以分为两种情况( 如图2 - 6 和图 2 7 ) 。令a ,或,a 和p :分别为p 1 ,p 2 ,p 3 并 l l p 4 的投影点。情况1 中, 点p i 在三角形p 2 a 戌内部,情况2 中尸:在三角形外部。 视点无关的水体效果模拟方法研究 第一种情况下,通过表现三个三角形a 或 ,a p :p j 和p i p ;p 4 累积 光强到帧缓存来渲染光束。对扫描线和四面体相交的部分散射光强进行积分来计 算三角形内部象素的光强,然而,对所有象素的相交测试是非常耗时的,因此若 照明体被有效分割为小的子体这一假设是合理的,可以假设相邻象素的光强相 等。然后,只计算四个顶点p :,p :,p :和p :的光强,用g o u r a u d 方法加入三 角形内部象素光强。当视线经过p ,时,视线和四面体的相交区域最长( 如图2 6 ) 。 计算这一最长情况下到达视点的散射光积分,c 。另一方面,由于或,p j 和p 1 4 在 四面体和视线的相交区域等于0 ,散射光积分也为0 。因此,置点p :的光强为 ,r ,其他顶点光强为0 ,若照明体能够合理地分割为小的子体则这一方法能生成 很好的可视化效果。 同样的,第二种情况下,如图2 7 ,令点砖为线段a p :和a 砖的交点。当 视线经过点p ;时相交区域最长,所以,沿着该区域计算积分,c 。点p ;的光强置 为,c ,其他点光强置为0 ,然后累积显示这四个三角形a a a ,p ;a a , j m p 1 p 。p 。捌p 1 p 3 p 。 这样,由于不需要像n i s h i t a 给出的方法【1 4 】阎那样要进行视线( 或扫描平 面) 和照明体间的相交测试,因此能够降低计算时间。此外,由于通过表现三角 形来渲染光束,可以利用图形硬件来加速计算。 渲染光束过程要点如下。 ( 1 ) 初始化帧缓存。 ( 2 ) 对每个照明体重复做如下操作: ( a ) 将照明体分解为子体,去掉自相交子体。 ( b ) 对每个子体重复做如下操作: ( i )将每个子体分解为三个四面体。 ( i i )将每个四面体投影到屏幕上。 ( i i i ) 将四面体分为两种情况。 ( i v )计算四面体顶点光强。 1 2 视点无关的水体效果模拟方法研究 ( v ) 显示三角形并在帧缓存中累积光强。 研究四面体的投影顶点间的几何关系将四面体分为几类。下面,将给出计 算,c 的方法。 2 2 3 四面体子体光强计算 如上讲到的积分值,c 计算如下。首先,计算经过点a ( 情况1 ) 或 ( 情 况2 ) 的视线和四面体的交点,有两个交点,令这两个交点分别为只和p b ,记 这两点p 口和p b 的光强分别为,4 和,6 。通常,线段p 4 p b 很短,因此假设线段 p a p b 的光强成线性变化,然后,c 可表示如下。 i c - f 学。出- 半丁 ( 2 - 5 ) 此处,f 是p 。和线段p 4 p b 上点的距离,r 是p 口p b 和f 的间距。,。和,6 可 以通过插入子体顶点光强进行计算。首先,给出计算每个子体顶点光强的方法, 然后,分别给出计算情况1 和情况2 中光强,4 和,6 的方法。 考虑如图2 - 5 中的子体。首先用式( 2 1 ) 计算子体每个顶点只g 。1 ,3 ) 的 散射光强,暑。式( 2 1 ) 中的通量比由f 计算,此处s 为三角形p 23 o 只 口一上 23 ( 如图 的面积, 为水面相应照。明- $ 体v :c 的面积。子体上点p f 的光强,r p 计p f s l_r2-5) s u 算 公式如下。一 ,尸i ( a ) 一j ;j ( x ) e x p ( 一c ( x ) l f ) ( 2 - 6 ) 此处z ;为p ,和视点的距离。点p 。,p ;和p ;的光强也同样计算。11上4h 。 首先,计算视线和四面体的交点p 4 和p b 。情况l 中,p 4 等于r 。计算三 角形p 2 p 3 p 4 和光线的交点得r ( 如图2 6 ) p 4 的光强,。由式( 2 6 ) 给出,p b 的光强,6 通过对顶点尸2 ,p 3 和尸4 插值计算得出。这些顶点的光强也由式( 2 6 ) 给出。 视点无关的水体效果模拟方法研究 情况2 中,视线和四面体的交点只和p b 计算如下。很明显,尸。在线段p 1 p 4 上,p b 在线段p 2 p 3 上( 如图2 - 7 ) 。同样,p 6f h p 2 p 3 获得。计算线段尸1 p 。和二 j 工口 二 j工l4 p 4 p 4 的比率。同样,计算线段p 2 r 和p 6 p 3 的比率。然后,点p 4 的光强,4 可 由插入顶点p 1 和尸4 来计算。点r 的光强,6 可由顶点尸2 和p 3 的光强来计算。 2 2 4 子体光强计算 掣 挚形 导蕊 i 砟 j ! 二一工 x i 葛; x ; 一 ; i | l 图2 8 焦散三角形光强计算 计算空间的光强分布用照明体来计算,即扫描变换( 如提取扫描面上的相 交三角形) ,并逐扫描线的计算光强分布。 由于到视点的光线上每一点至少被一个焦散三角形包含,式2 - 3 的第二项, ,0 可重写为如下形式: 曲) 叁口p i d i + 厶h ;觇c 川 2 7 此处k 代表视线上可见域中的焦散三角形个数。,耐为每单位长度焦散三角 形的平均光强。d 。为三角形和视线相交的长度。厶为三角形和视点的距离( 如图 2 8 ) ,h f 是一个二进制函数,当第f 个三角形与物体( 可见面或者水面) 相交时 为1 。三角形深度比可见长度大时可舍弃该三角形。式2 7 给出的是一条光线的 光强,v 。考虑扫描面上的每个三角形,可以计算扫描线上的每个点光强,v 。将 1 4 视点无关的水体效果模拟方法研究 其应用到每条扫描线上就可以得到空间光束的光强。 ( 1 )提取扫描面上的焦散三角形 扫描面上的每个焦散三角形坐标计算如下( 如图2 - 3 ) :考虑视点坐标系下 的水面网格点p _ k ,) ,磊) 和折射光单位向量厶乜,厶,厶j 。若视点和屏幕距离为7 一,- 7 0 , 一_ 一j 一,。一; r ,扫描线的y 坐标为y j ,法向肌的x ,y ,z 分量为( o ,l ,一r s ) ,并且h 。誓。 网格点p 与扫描面和折射光线交点的距离为z 。,计算如下。 ( 2 - 8 ) 当折射光与扫描面相交时分子为正( r 在扫描面之下时为负) 。交点p 可 计算如下尸- z s 厶。+ 尸雎。分母同扫描面法向与折射向量的夹角6 的余弦成正比 ( 如图2 - 3 ) ,c o s 6 计算如下。 c o s 6 - 乜,一 三:k 。口s ( 【+ ,;严( 2 - 9 ) 这里口s 在同一个扫描面上是常量。式2 8 和式2 9 中的c o s 6 和z s 可由式2 一l 和式2 - 2 分别得到。 ( 2 )焦散三角形中的散射光强计算 焦散三角形的光强可根据其面积计算。对每个扫描面上的每个焦散三角形 进行计算非常耗时,因此采取对每个像素近似计算的方法来避免上述情况的发 生。 考虑式2 7 的第一项。图2 - 8 给出的是视坐标系统中扫描面的顶视图。考 虑扫描面上的焦散三角形p l k l ,z 1 ) p 2 k 2 ,z 2 ) p 3 b 3 ,z 3 ) ,记三角形面积为s s ,顶 点存储顺序为而s 勋量x 2 。如图2 - 8 ( a ) 中点r 和点p 2 沿r p 3 旋转至r p 2 与 p v b 垂直;移动后的点标示为a 和p 1 2 。这种情况下, 出p , p 2 p 3 的面积等于 a p l p 2 p 3 的面积( 例如s s ) a 三角形的面积是平行四边形面积的一半,即 i 瓦d 2 。需要光线和三角形的相交长度来计算光强。光线穿过p 3 时长度最长。 三角形和p ,p 3 的相交长度可表示为2 & 。长度瓦夏可通过作p ,p 3 到a 以及 夏瓦 视点无关的水体效果模拟方法研究 p v p ,到p 1 2 的辅助线求得,表示为( k 一麓) - 匕:一z 彳詈) ) 卢出f j # b - 。标记 三角形r 只投影到屏幕上的x 坐标为x i ,x :,z :。投影之后,三角形影 响了x i 到x t 2 之间各点的光强,由于光强与光线和三角形相交长度有关,所以点 x :处的光强最大。即如图2 8 ( b ) ,x i 到x :之间的光强分布可近似看作两个线 性函数。为了计算简便,可以将x ;稍微移动到像素中心点。分布函数可由最大 光强唯一决定。如前所述,计算光束光强时只考虑太阳光,因此式2 一l 的第二项 可忽略。设式2 c o f p 之外的部分为,:( ,p l n ) ,i p 表示为i ;孕。式2 - 7 口工jo 一s 上口 。一 的第一项r r 1 的最大光强如下。 j ”一l k s 跚v2ass。嘲2,svb ( 2 - 1 0 ) 即s s 被取消了,不需要计算焦散三角形的面积。由于( 尝) 很小例如屏幕 中点附近x 阿近似为1 + 眇柚于时刚、,三角形光强与从视点看的三角 形宽度& :一x 。) 成反比。除点x :外对范围k :,x j 内的像素光强进行线性插值计算。 为了计算点q 到物体的反射光强,需要提取与q 点相交的照明体,这里至 少有一个照明体。在以前的方法中,是提前计算光强分布并存储为一张照明图, 这需要大量的实际存储空间,并且即使仅可见部分的光强其形状也受多边形的影 响。如果不使用照明图,计算物体上的照明体与每个点的相交测试非常耗时。 然而n i s h i t a 的方法既不需要照明图也不需要物体和照明体的相交测试。 如图2 - 2 ,如果扫描面上的焦散三角形包含点q ,则包含焦散三角形的照明体照 亮点q 。由于物体上每个点的深度存储在深度缓存中,通过比较三角形的深度和 物体的深度执行起来非常简单。 反射光的光强由物体和照明体的相交区域面积( 比例系数有面积决定) 、物 1 6 视点无关的水体效果模拟方法研究 体法向和光线夹角以及材质属性( 例如反射系数) 决定。以前处理多边形物体的 方法中,物体和照明体之间的相交区域( 如焦散多边形) 可以忽略。对于曲面, 这一计算是困难的。式2 - 1 中的通量f 计算可使用扫描面的面积来代替与物体 相交的面积。三角形面积计算只是为了计算物体上的光强,通常焦散三角形的面 积不需要计算。反射光光强,。计算如下。 i q s i ,0 ) f p e x p ( - c i k d c o s a + k 。( c 。s ) ,) 1 1 1 2 11 尼。和七。分别为漫反射系数和镜面反射系数,z 。是待计算点与水面的间距,口 为物体法向与入射光线的夹角,为视线方向和反射方向的夹角,咒是镜面反射 指数。 2 3 光束绘制渲染方法 所谓渲染,就是根据光学物理的有关定律,计算场景中所有物体可见表面 上任一点投向观察者眼中的光亮度的大小和色彩。它可分为局部照明渲染和全局 照明渲染。 2 3 1 局部照明 ( a ) ( b ) 图2 - 9 局部照明图例 局部照明也称为直接照明( d i r e c ti l l u m i n a t i o n ) ,只计算光源发出的光 直接照射在物体表面所产生的光照效果,物体表面通常被假定为不透明,且具有 均匀的反射率。局部照明能表现由光源直接照射在漫射表面上形成的连续明暗色 1 7 视点无关的水体效果模拟方法研究 调、镜面上的高光以及由于物体相互遮挡而形成的阴影等。但它不考虑周围环境 对当前物体表面的光照影响,忽略了光在环境中各物体之间的传递,因而在局部 照明中,直接光照不到的地方是黑暗的,阴影的边缘也是硬的,很难表现自然界 复杂场景中的很多光照现象,因而是片面的、不完全真实的,如图2 9 所示。 大多数局部照明模型的基础是一个经验的方法,从考察一个光学上光滑的 表面光的入射现象开始,入射行为由f r e s n e l 公式确定,把反射能量和透射能量 关联为一个入射方向、极化作用和材料性质的函数,于是有如下公式幽j : ( 2 1 2 ) 其中是入射角,p 是折射角,肛;罢妥( 为材料的折射系数) 。当:0 s m 或者法向入射时,f 最小,即大多数光线被吸收了,对于驴- 时,f 等于l , 表面不吸收光线,的波长

温馨提示

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

评论

0/150

提交评论