(计算机应用技术专业论文)基于路径追踪的能量重新分配全局光照算法研究.pdf_第1页
(计算机应用技术专业论文)基于路径追踪的能量重新分配全局光照算法研究.pdf_第2页
(计算机应用技术专业论文)基于路径追踪的能量重新分配全局光照算法研究.pdf_第3页
(计算机应用技术专业论文)基于路径追踪的能量重新分配全局光照算法研究.pdf_第4页
(计算机应用技术专业论文)基于路径追踪的能量重新分配全局光照算法研究.pdf_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

中文摘要 通过结合m o n t ec a r l o 路径追踪方法和m l t 中的路径变换策略可以得到一种 新的全局光照算法:能量重新分配算法。它主要用来解决相关积分问题。这种算 法通过对初始光线路径所带的能量在图像平面上重新分配来工作。能量重新分配 算法的核心就是选择一个能量流动滤波器来重新分配这些初始m c 采样点的能 量。 本文的主要研究内容是能量重新分配抽样方法中能量流动滤波器的设计,在 路径追踪的基础上实现能量重新分配光线追踪器,以及把能量重新分配光线追踪 器应用到动画中。文中首先介绍了m o n t ec a r l o 方法,然后从理论上说明了能量 重新分配采样方法。接着,提出了两种新的能量流动滤波器:相同沉积能量流动 滤波器和能量相关的相同沉积能量流动滤波器。最后将能量重新分配采样方法和 路径追踪结合得到了能量重新分配路径追踪算法。首先使用路径追踪方法在每个 像素内选定多个种子路径,然后以每个种子路径为起点使用定义的路径变换策略 不断的转移现有路径生成新的路径,然后根据计算的接收概率决定接收新路径或 接收旧路径,从而把初始种子所带的能量的一部分分给它们。随着这个过程的不 断进行,能量分布会逐渐趋近于和结果图像相同的稳态分布。文中介绍了三种路 径变换策略和对现有渲染系统进行改进,实现能量重新分配路径追踪渲染器的细 节。最后详细介绍了能量重新分配光线追踪在动画中的应用,首先介绍了对渲染 系统的改造,然后对场景中的路径进行了分类,并介绍了对不同类型路径运用的 复用策略:首先,检查种子路径能否复用,如果能复用则保存相同的种子路径; 否则重新采样得到种子路径。然后,每得到一条新路径,检查它能否复用,如果 能复用通过计算接收概率来决定接收新路径或接收旧路径,否则用保存的路径经 过路径变换得到一条新路径,通过计算接收概率来决定接收新路径或接收旧路 径。最后给出了有物体运动的动画和视点变化的动画。 关键词:能量重新分配m e t r o p o l i s 路径追踪滤波器动画 a b s t r a c t an e w g l o b a li l l u m i n a t i o na l g o r i t h mc a nb eg o tb yc o m b i n i n gm o n t ec a r l op a t h t r a c i n gw i t hm e t r o p o l i sl i g h tt r a n s p o r tm u t a t i o ns t r a t e g i e s :e n e r g yr e d i s t r i b u t i o n a l g o r i t h m i t su s e dt os o l v ec o r r e l a t e di n t e g r a lp r o b l e m s t h ea l g o r i t h mw o r k sb y r e d i s t r i b u t i n gt h ee n e r g yo fi n i t i a lp a t ht r a c e ds a m p l e so v e rt h ei m a g ep l a n e t h eh e a r t o fe ra l g o r i t h ml i e si nc h o o s i n gaf l o wf i l t e rt or e d i s t r i b u t et h ee n e r g yo ft h ei n i t i a l m c s a m p l e s t h em a i nc o n t e n to ft h i st h e s i si st od e s i g nt h ee n e r g yf l o wf i l t e ri ne n e r g y r e d i s t r i b u t i o ns a m p l i n gm e t h o d ,t or e a l i z et h ee n e r g yr e d i s t r i b u t i o nl i g h tt r a c e rb a s e d o np a t ht r a c i n ga n dt oa p p l yi ti nt h ef i e l do fa n i m a t i o n a tf i r s t ,t h em o n t ec a r l o m e t h o di si n t r o d u c e d a n dt h e n ,t h eb a s i ce n e r g yr e d i s t r i b u t i o ns a m p l i n gm e t h o di s i n t r o d u c e d l a t e r ,t w oe n e r g yf l o wf i l t e r sn a m e de q u a ld e p o s i t i o nf l o wf i l t e ra n d e n e r g yd e p e n d e n te q u a ld e p o s i t i o nf l o wf i l t e r a r ep r o p o s e d a tl a s t , t h ee n e r g y r e d i s t r i b u t i o np a t ht r a c i n ga l g o r i t h mi s g o tb yc o m b i n i n ge n e r g yr e d i s t r i b u t i o n s a m p l i n ga n dp a t ht r a c i n g f i r s ts o m es e e dp a t h sa r eg e n e r a t e da te a c hp i x e lu s ep a t h t r a c i n g ,a n df r o me a c hs e e dp a t h ,as e q u e n c eo fp a t h sa r eg e n e r a t e db ym u t a t i n gt h e c u r r e n tp a t hu s i n gt h em u t a t i o ns t r a t e g i e s e a c hm u t a t i o ni sa c c e p t e do rr e j e c t e dw i t h c a l c u l a t e da c c e p t a n c ep r o b a b i l i t y , a n dg i v e ns o m ee n e r g yo ft h ei n i t i a ls e e dp a t ht o t h e m a st h ep r o c e s sc o n t i n u e d ,t h ee n e r g yd i s t r i b u t i o nc o n v e r g e st oas t a t i o n a r y d i s t r i b u t i o nt h es a m ea st h ei m a g ec o n t r i b u t i o n t h r e ep a t hm u t a t i o ns t r a t e g i e sa r e i n t r o d u c e dm e a n w h i l e t h ed e t a i l so ft h ee n e r g yr e d i s t r i b u t i o np a t ht r a c e ra r ea l s o i n c l u d e d a tl a s t , t h ea p p l i c a t i o no fe n e r g yr e d i s t r i b u t i o np a t ht r a c i n gi na n i m a t i o ni s i n t r o d u c e di nd e t a i l f i r s tt h ea l t e r a t i o no ft h er e n d e rs y s t e mi si n t r o d u c e d ,t h e n ,t h e p a t h so ft h es c e n ea r ec l a s s i f i e da n dt h er e u s es t r a t e g i e so ft h ed i f f e r e n tc l a s s e so f t h e s ep a t h sa r ei n t r o d u c e d :i ft h es e e dp a t hc a l lb er e u s e d ,t h es a m es e e dp a t hi s r e c o r d e di no t h e rf r a m e s ;o t h e r w i s ean e ws e e dp a t hi ss a m p l e d a n dt h e n ,i ft h ep a t h i tg o tc a nb er e u s e d ,t h ea c c e p t a n c ep r o b a b i l i t ym u s tb ec a l c u l a t e dt od e c i d ew h e t h e r a c c e p ti to rn o t ;o t h e r w i s e ,t h ec u r r e n tp a t hr e c o r d e di no t h e rf r a m ei sm u t a t e dt og e ta n e wp a t ha n dt h ea c c e p t a n c ep r o b a b i l i t yi sc a l c u l a t e dt od e c i d ew h e t h e ra c c e p ti to r n o t a tl a s ts o m er e s u l t so ft h ea n i m a t i o nw i t ho b j e c tm o v i n ga n dw i t hc a m e r a c h a n g i n ga r ee x h i b i t e d k e y w o r d s :e n e r g yr e d i s t r i b u t i o n ,m e t r o p o l i s ,p a t ht r a c i n g ,f i l t e r ,a n i m a t i o n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:面3t 忘乏己 签字日期: j 。0 7 年石月f 弓日 学位论文版权使用授权书 本学位论文作者完全了解墨鲞盘堂有关保留、使用学位论文的规定。 特授权墨鲞叁堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 书1 志起 l 、一 导师签名: 铂、及 签字日期:。1 年 6 月f 弓日 签字日期:。0 7 年 月f ,日 第一章绪论 第一章绪论 计算机技术的迅猛发展推动了图形学的快速发展。人们对于动画、游戏的热 衷是图形学发展的最大动力,它不仅推动了硬件厂商研制出运算速度更快、功能 更强大的图形加速卡,也为图形技术的发展提供了更加广阔的舞台。全局光照算 法作为计算机图形学中的一个核心组成部分在近二十年得到了快速的发展,研究 全局光照算法成为计算机图形学领域的一个主要议题。 1 1 研究的背景和现状 目前,存在大量的渲染算法可以产生近乎照片级的图像。通过衡量光线路径 的传输而得到近乎照片级的图像的算法一般被称为全局光照算法。全局光照计算 是计算机图形学中的一个核心组成部分,它的基本任务是使用预先组织好的三维 场景生成具有完全真实感的图像。为了达到这一目的,必须模拟光线在场景中进 行传播所发生的各种物理现象,如多次的反射、阴影、焦散等。 全局光照计算的复杂性造成了获得一副真实感图像需要很长的时间,如何更 好的实现全局光照算法,在更短的时间内生成高质量的图像是努力的方向。当前, 最通用的全局光照算法是基于光线追踪和多维积分的,k a j i y a i l 】首先提出了目前 非常经典的路径追踪算法,它是通过对到达图像平面上的光线路径进行采样,然 后估计它们对最终图像的贡献来生成图像的,这是第一个从统计上无偏的算法。 a r v 0 1 2 】【3 】提出了一些改进,并提出了等价的逆向粒子追踪算法。v c a c h l 4 1 通过使用 多重重要性采样策略,结合多种采样方法的优点,极大的提高了光线追踪算法的 适应性和效率。l a f o r t u n e 和w i l l e m s l 5 】【6 】和v e a c h 和g u l b a s 7 1 8 1 分别提出了双向路径 追踪算法,通过生成一对眼睛子路径和光源子路径然后连接每个结点的方法,提 高了采样效率,降低了方差。j e n s e n l 9 1 1 1 0 】提出了p h o t o nm a p p i n g 算法,它是包括 生成光子图和光子收集两阶段的算法,大大加速了图像的生成速度,但是它是一 个统计上有偏的算法,可以使用它计算焦散和间接光照,从而和一般的光线追踪 算法结合使用。 这些全局光照算法最大的问题是它们都有不适应的场景,也就是说没有一种 方法对任意场景都起作用,因为这些方法对场景中从光源到视点的路径进行采样 时都没有考虑到场景的路径分布特征,都是采用随机采样的方法采样路径并计算 第一章绪论 贡献。因此,一旦场景的路径空间中路径分布极不均匀,这些方法就会因为大量 的路径没有带来贡献而造成效率的极度降低,例如在间接光照主导的场景中,光 源和视点之间被严重遮挡,只有很小的通道可以通过,随机采样时,只有很少的 路径可以通过这个通道带来贡献,其他的路径只能被丢弃。为此v e a c h i l l 】【1 2 1 首次 将最早应用在计算物理领域的m e t r o p o l i s 采样方法引入图形学。实际上,早在1 9 7 0 年,p e s k u n l l 3 1 1 4 1 就在m o n t ec a r l o 采样中使用马尔可夫链。之后s z i r m a y 【1 5 】研究了 m e t r o p o l i s 采样的起始偏差问题。a s h i k h m i n l l 6 1 5 i 寸m e t r o p o l i s 光线追踪进行了方差 分析。c l i n e 和e g b e r t l l 7 1 ( 1 8 】提出了一种新的结合m e t r o p o l i s 和普通光线追踪的算法 e r p t 。p a u l y l l 9 】将m e t r o p o l i s 应用到参与介质的计算中。在本文中研究了对间接 光照计算效率很高的能量重新分配路径追踪算法,它在解决t m e t r o p o l i s 采样方 法的一些限制条件的同时保持了它的大部分高效的特性。同时把它应用到动画领 域也取得了不错的效果。 1 2 本文的组织 在第一章,介绍了研究的背景和现状。第二章介绍了m o n t ec a r l o 方法,能 量重新分配的原理及m e t r o p o l i s 方法。第三章描述了能量重新分配采样方法的理 论基础,提出了两种能量流动滤波器:相同沉积流动规则和能量相关的相同沉积 流动规则。第四章介绍了能量重新分配路径追踪方法,介绍了使用的三种转移策 略,视点路径扰动转移策略、焦散路径变换策略和双向路径变换策略。描述了能 量重新分配路径追踪方法的实现过程,并给出了一些渲染结果。第五章详细介绍 了能量重新分配在动画中的应用,并给出了只有物体运动动画和只有视点变化动 画的结果。第六章总结了工作,并对下一步的工作进行了展望。 第二章能景重新分配采样涉及到的问题 第二章能量重新分配采样涉及到的问题 在本章将对形成能量重新分配采样方法的一些采样思想作一下概述。首先对 蒙特卡罗方法作了简单介绍,然后给出了相关性积分、能量流动、全局平衡和细 节平衡、接收概率的一些概念,接着简要介绍了m e t r o p o l i s 【1 1 l 方法及缺点。最后 对p b r t l 2 0 】【2 1 】渲染系统做了简要介绍。 2 1 蒙特卡罗方法 考虑- - - f f f g 数厂在积分域n 上0 0 积分问题: 瓜) d ( ;) 公式( 2 1 ) 在x 上加一横杠来表示它是一向量而非标量,蒙特卡罗积分方法通过创建随 机变量使它的数学期望等于积分值来解决此积分问题: 研一】= l f ( x ) d p ( x ) 公式( 2 2 ) 为了计算,可以在空间q 上利用某种概率分布p 采样得到采样x , 一( - ) = 器 公式( 2 - 3 ) 公式( 2 3 ) 是对积分的一个无偏估计,但是可能有很高的方差。降低方差 的一个通常做法就是取随机变量的平均值。 由公式( 2 3 ) 可以得到f ( x ) 的值: ( ) = ( - ) p ( - ) 公式( 2 - 4 ) 把一( ;) 称为采样;的初始能量,把t ( 两p ( _ ) 成为采样点;的平均能量。 第_ 章能量重新分配采样涉及到的问题 2 2 能量重新分配原理 2 2 1 相关性积分 在生成图像的过程中,需要对大量的积分进行估计,例如图像中的每一个像 素都对应着一个积分。在光线追踪中,每一个像素的所对应的积分都是独立进行 的。相邻像素对应的积分有很高的相关性,对于相关性积分比较成功的解决方法 就是利用它们的相关性来降低方差。临近像素对应积分的相关性问题其实也是目 前很多全局光照算法的基础。 在实际应用中是利用临近光线路径的相关性来降低方差的,光线追踪过程会 不断的产生新的光线路径,每条光线路径作为一次采样只利用了一次从而丢弃了 大量的光线路径信息。利用光线路径的相关性可以降低方差同时可以减少渲染时 间。 能量重新分配采样过程:首先采样得到一条光线路径,然后通过路径变换得 到周围相关的光线路径并把能量分配给它们。通过路径变换每得到一条光线路 径,都要把原始光线路径能量的一部分分给它。为了理解这个过程,需要了解一 下能量流动的过程。 2 2 2 能量流动 能量流动的思想是允许能量在相关的采样点间直接流动。能量流动可以用来 平衡相关性积分之间的采样效果,因为能量流动可以通过某种采样过程在相关性 积分的积分域内直接寻找相似的采样点。例如,考虑相关性积分和厶,积分域 分别为q 和q ,在采样过程中,假如在积分域q 内找到一个贡献大的采样点x ( 例如:x ,( x ) 大) ,因为积分和厶有相关性,所以很可能在积分域q :内找到 一个贡献大的采样点y ,它和采样点x 有相似的位置。能量流动采样在采样点x 和 采样点y 建立了联系,可以把x 处的一部分能量转移到y 处。如图2 1 所示: 一i 盐型| :仝 蛾 逸 j , 图2 1 能量流动示意图 第_ 章能帚重新分配采样涉及到的问题 能量流动可以在相关性积分的采样点间建立联系,并在这些采样点之间传递 能量,做法恰当时,可以得到无偏的积分值。 2 2 3 平均能量流动 实际中,可以通过变换或变异源采样点;得到新的采样点歹来达到能量的流 动( 可以想象成x 和y 有一管子相连,通过管子能量可以在x 和y 之间流动) 。从 采样点x 到采样点y 的平均能量流动为: 研( x 专y ) 】= 研( x ) p ( x ) t ( x - - y ) q ( x - - y ) 】 公式( 2 - 5 ) 其中: j y ) 表示从x 到y 的能量流动; t ( x j y ) 表示从x 至_ l j y 的转移概率,也就是源采样点为x 的情况下目 标采样点为歹的概率; q ( x 专y ) 为x 和y 建立联系是从x 转移到y 的能量的百分比。 2 2 4 全局平衡和细节平衡 对于任意采样点x 当流出能量的平均值等于流入能量的平均值时可以得到 能量的稳态分布,把这种特性叫做全局平衡。达到全局平衡状态只需下面公式成 立: 研( ;专歹) d ( 歹) 】= 研p 6 专- ) d ( _ ) 】 v - 公式( 2 6 ) 保证积分无偏的更强的限制条件叫细节平衡。细节平衡需要任意两个采样点 间的能量流动都相等,也就是满足下面的公式: 研 j 力】= e o ( y 专x ) 】 v x ,y 公式( 2 7 ) 图2 2 展示了这两种不同的平衡条件。 _f, 、。,夏。一, ,二j :。 , | ,- 一。,y ;,t ” ,l -, , 图2 - 2 全局平衡和细节平衡示意图 第二章能鼍重新分配采样涉及到的问题 2 2 5 接收概率 公式( 2 - 5 ) 和公式( 2 7 ) 给出了计算接受概率q ( y _ x ) 的方法,因为f ( x ) 是已知的,而t ( y _ x ) 则是任意选取的转移策略决定的。所以可以得到 q ( y 专x ) q ( x y ) 。对于接收概率的要求是要在允许的情况下尽量增大接收概 率的值,这样做的目的是为了能够尽快达到稳态。为了达到这一目的,可以这样 定义接收概率q ( y x ) : g c 歹j 两= m ;n - ,手嬲) 公式c 2 8 ) 这样,可以使得q ( y 专工) 和q ( x 哼y ) 中的较大者被置为1 ,这表明两个状态 之间的转移,一个方向的转移一定会被接收,而另外一个方向的转移有一定的概 率会被接收。如此设定接收概率,既可以保证细节平衡条件的满足,又可以使向 稳态的趋近速度达到最快。 2 3m e t r o p o l i s 方法 m e t r o p o l i s 方法处理的情况是:知道一个函数厂,可以估计函数厂在某处的 值,为了得到函数厂,需要设计转移概率k ,使得最终可以达到和函数厂成比例 的稳态分布,而且要尽量使得收敛速度达到最快。 尽管m e t r o p o l i ss a m p l i n g 在大量的采样环境中被证明是有效的,但是由于它 自身的一些限制把它应用到全局光照环境是有一定困难的。例如:m e t r o p o l i s 算 法的思想是基于某种概率分布来采样尽管没有显示的去计算这种概率分布。这种 框架和直接利用函数能量来工作相比缺乏灵活性。m e t r o p o l i s 算法同时有一种称 为s t a r t u pb i a s 的问题,这意味着只有大量采样它才能工作。另外m e t r o p o l i s 的分 层性不好,并且它的收敛性也很难分析。 2 4p b r t 渲染系统简介 p b r t t 2 0 】【2 1 】渲染系统是由m a t tp h a r r7 【i g r e gh u m p h r e y s 编写的基于物理的全 局光照渲染系统。它采用插件式的结构,由一个核心模块c o r e 来管理控制整个系 统的渲染流程,渲染过程的每一个环节都提供了多种实现,渲染时根据需要选择 加载某些插件协作完成渲染任务。 p b r t 系统的渲染过程主要由三部分组成。首先,系统读入设计的场景文件, 第_ 章能量重新分配采样涉及到的问题 场景文件中包括场景的几何、材质、光源设置、纹理等信息,还包括为每个渲染 环节选定的插件模块名称,系统会根据设定加载需要的模块,并建市k d 树1 2 2 】1 2 3 】 来保存读入的几何面片。接下来,系统进入主渲染流程,如图2 3 所示: 图2 3p b r t 系统渲染流程图 p b r t 是逐像素生成图像的,对于每个像素,首先,采样器s a m p l e r 生成若 干采样点,虚拟相机c a m e r a 根据采样点生成射线射入场景,然后路径积分器 i n t e g r a t o r 追踪该射线在场景中进行传播,如反射、折射,生成一条路径并返回 光照值,在这个过程中要使用根据各种不同的材质确定的b s d f 计算出射方向, 使用光线与场景中不同表示形式的几何体的相交运算方法i n t e r s e c t i o n 计算交点。 最后光照值被记录在虚拟胶片f i l m 中,并且将计算得到的每个像素的光照值进 行一些滤波操作和值映射,记录在e x r 格式的结果图像中。 第三章能量重新分配中能量流动规则的设计 第三章能量重新分配中能量流动规则的设计 在本章中提到了能量重新分配( e r ) 采样方法,它在解决了m e t r o p o l i s 采样方 法的一些限制条件的同时保持了它的大部分高效的特性。e r 采样方法直接利用 函数能量来工作。它消除了s t a r m pb i a s 问题,因为它在无偏的蒙特卡罗采样环境 下进行。e r 采样不需要像m l t 那样需要设计大量的抖动策略才能工作,初始的 m c 采样点可以保证它的遍历性。另外,因为e r 采样是蒙特卡罗积分的一个拓 展,因此它可以利用分层采样和一些蒙特卡罗降低方差的技术。 e r 采样方法在计算相关性积分时分为两个步骤:首先在积分区域内得到一 些蒙特卡罗采样点,然后把这些初始采样点所带的能量利用能量流动过程在相关 性积分的积分域内重新分配,但是要保证这种分配是无偏的。过程总结如下所示: e n e r g y r e d i s t r i b u t i o n s a m p l i n g o 力,e a c hi n t e g r a li n t e g r a l ,q j 力,j = 1t o 所 c r e a t ea nm cs a m p l e ,x ,i nq ta c c o r d i n gt os 口 e v a l u a t ex ,( x ) = f ( x ) p ( x ) 矿彳,( x ) 0 r e d i s t r i b u t ee n e r g yo fx ,( x ) u s i n gab a l a n c e de n e r g yf l o wf i l t e r e r 采样方法的核心就在于选择一个流动过滤器来重新分配这些初始采样点 所带的能量。本章介绍了三种守恒的能量流动滤波器( 它们可以保证能量的流动 符合全局平衡) :细节平衡流动规则、相同沉积流动规则和能量相关的相同沉积 流动规则。相同沉积流动规则和能量相关的相同沉积流动规则构成了e r 采样方 法的基础。 3 1 细节平衡流动规则 要想用e r 采样方法,需要定义一些抖动策略并且要确定当流动事件发生时 转移的能量的数量( q ) 。最终目标就是保持全局平衡的同时尽量降低方差。从 m e t r o p o l i s 得到启发,可以试着用细节平衡来定义g ,从m e t r o p o l i s 的接受概率 的定义可以得到相似的q 的定义。 第三章能量重新分配中能帚流动规则的设计 拆专y ) = m i n ( 1 ,一 洲3 这种流动规贝, u n q 做细节平衡流动规则。在实际应用中,把初始的m c 采样点 进行多次变换,然后把一部分能量转移到这些变换得到的采样点上。例如:m c 采样点x 进行了疗次变换,由它可以得到刀个采样点,y 。,转移到每一个采 样点y ,上的能量为x ,( x ) g ( x y ,) n 。 当流动发生时,采样点x 处没有流走的能量将留在原处,并对采样点x 所影 响的像素所对应的积分做出贡献。因而细节平衡流动原则是无偏的但是却有很严 重的缺点:一大部分能量不会流走。因此如果一个亮斑在初始积分估计中存在, 当流动发生后它很可能还会存在,导致方差很大。 3 2 相同沉积流动规则的设计 细节平衡流动规则的主要问题是一部分能量不能流走,通过在初始采样点和 经过变换得到的采样点上递归的应用细节平衡流动规则可以部分的解决这个问 题。每运用一次细节平衡流动规则,采样点处的能量就会流走一部分,因此经过 多次流动,非常少的原始能量会留下。但是以这种方式递归会造成采样点的指数 级的增长。实际上,递归会造成采样点以树状的马尔可夫链的形式爆炸式的增长。 用这种方法的另一个问题是由抖动所得到的采样点上的能量相差很大,从而会导 致方差的增长。 一个好的解决方法就是从每一个m c 采样点出发建立线性的马尔可夫链而 不是爆炸式的马尔可夫链。可以通过随机的决定把能量全部留在当前的采样点上 还是全部转移到通过抖动得到的采样点上来得到线性的马尔可夫链。采样点所形 成的这些链就形成了一系列的对相关性积分的无偏估计。为了重建积分,e r 采 样器首先通过抖动得到一个新的采样点,然后把原始能量的一部分转移给它,每 次转移的这部分能量都是相同的。所以把这种规则叫相同沉积流动规则。 相同沉积流动规则是无偏的,可以看到长度为刀的采样点所形成的链其实是 对相关性积分的力次估计,而最终结果是这刀次无偏估计的平均值,所以是无偏 的。 在间接场景中,由于光线路径的选择具有很大的随机性,因此同一像素内的 光线路径的贡献相差的很大。可以看到相同沉积流动原则中当找到一条贡献大的 光线路径时,要以它为起点形成多条链,形成的链的均值就等于有贡献的光线路 径的均值除以所有光线路径的均值。通过对不同的场景进行测试得到这个比值是 第三章能量重新分配中能帚流动规则的设计 非常大的。以一条光线路径为起点形成大量链的结果就是亮斑的出现,因为一条 种子路径形成了太多的属于同一路径空间的路径。 因此设计流动规则的思想有两点:一是减少链的数目,二是在相同的时间内 尽可能的多采种子路径,这样会使每个像素的能量值更接近实际值。 相同沉积流动规则过程如下: e q u a l d e p o s # i o n f l o w ( x ,e ,m ,e a ,s ) n u m c h a i n s = ( r a n d o m ( o ,1 ) + e l ( m x e a s 2 j 力,i = lt on u m c h a i n s y2 x 力,j = lt om z = m u t a t e ( y ) i fq ( y 专z ) r a n d o m ( o ,1 ) y2 z d e p o s i te d se n e r g ya ty 其中:e 为光线路径x 所带的能量,m 为每条链的长度,e a 为平均沉积能量, j 为缩放因子。 3 3 能量相关的相同沉积流动规则的设计 基于3 2 节提到的设计流动规则的思想又提出了能量相关的相同沉积流动规 则,也就是按初始路径所带能量对它们分段,能量越大对它变换的次数越多,也 就是一条光线路径经过变换只形成一条马尔可夫链。在应用中可以把能量分为四 段。能量相关的相同沉积流动规则过程如下: e n e r g y r e l a t e d d e p o s i t i o n f l o w ( x , e ,e a ,m ,d i = e l m x e a i f ( i j ) 册= m x 6s 专s 6 e l s ei f ( f 0 5 s ) m = 埘3j = s 3 e l s ei f ( f 0 3 s ) m = m x 2s = s 2 声,j = 1t om 少= m u t a t e ( x ) i fq ( x - - y ) r a n d o m ( o ,1 ) x2 j , d e p o s i te d x se n e r g ya tx 其中:e 为光线路径x 所带的能量,m 为每条链的长度,为平均沉积能量, s 为缩放因子。 第三章能量重新分配中能帚流动规则的设计 3 4 流动规则实现中的一些细节 3 4 1 接收概率的计算 在运用流动规则时需通过计算接收概率来决定经过路径变换得到的新路径 能否被接收。和细节平衡中的g 定义相似: 缸一y ) = m i n t ,一 矧3 彩 在实际中因为一( x ) p ( x ) = ( x ) ,在后续章节中会提到路径密度的改变,其 实塑幽就表示了路径密度的改变。 t ( x 专y ) 砒瑚砸_ _ ) = 嬲 公式( 3 3 ) 考虑到光线路径的比值可以用它们的l u m i n a n c e 值之比来衡量,可以得到在 实际应用中的接收概率的计算公式: 拆_ - ) 刊n 啡l u m 聊i 伽n a n c e ( 帅f ( y ) ) ) ) a d e 淞砂( - j _ ) ) 公式c 3 4 , 3 4 2 平均沉积能量、图像平面的平均亮度和缩放因子的计算 在相同沉积流动规则和能量相关的相同沉积流动规则中用到了平均沉积能 量。缩放因子s 和平均沉积能量的乘积即为流动事件发生后沉积下来的能量。用 公式( 3 5 ) 来计算平均沉积能量: e d = e 。e | k 公式( 3 5 ) 其中:表示平均沉积能量,图像平面的平均亮度,七表示抖动次数。 过程如下: c o m p u t e e d o e n e r g y = ( 0 ,0 ,0 ) ,c o u n t l = 0 ,c o u n t 2 = 0 ,s c a l e = 0 力,e a c hp i x e li ni m a g e c r e a t eap a t hxi nt h ec u r r e n tp i x e l 第三章能鼍重新分配中能量流动规则的设计 e v a l u a t ex ,( x ) = f ( x ) p ( x ) e n e r g y = e n e r g y + x r ( x ) 矿x ,( x ) 0 c o u n t 2 + + c o u n t l + + e d = l u m i n a n c e ( e n e r g y ) ( c o u n t l 掌m u t a t i o n s ) = l u m i n a n c e ( e n e r g y ) c o u n t l s c a l e = c o u n t l c o u n t 2 其中:s c a l e 为缩放因子。 3 4 3 平均沉积能量的作用 从上节中可以知道,平均沉积能量乘以路径变换次数就等于图像平面的平均 亮度,在相同沉积流动规则和能量相关的相同沉积流动规则中,只是用它作为一 个标准来决定最终的沉积能量。 3 4 4 在应用中怎样使用能量流动规则 每一条光线路径对它所通过的像素的贡献应该是一个具有s p e c t r u m 类型的 值。如果e ( r ,g ,b ) 是一条光线路径的贡献,耐是计算出来的平均沉积能量,那么 加到图像平面上的值应为: d e p o s i t i o n v a l u e ( r ,g ,b ) = e l u m i n a n c e ( e ) e d 公式( 3 - 6 ) 可以从两个角度来理解这个过程:一是把光线路径的贡献( 颜色值) 归一化, 然后乘以耐来保证加到此光线路径影响的像素上的贡献具有相同的能量耐。二 是l u m i n a n c e ( e ) 和耐的比例应该等于e 和d e p o s 豇i o n v a l u e ( r ,g ,b ) 的比例,因为 l u m i n a n c e 是颜色值的一个线性函数,所以这种比值是合法的。 3 5 两种能量流动规则与起始偏差问题 当所有采样链都带有相同能量时,相同沉积流动规则就变成了消除了起始偏 差的m e t r o p o l i s 采样的一种形式。初始种子路径可以对整个路径空间的进行遍 历,并且初始种子路径所带的能量是随机的,它们的均值和图像平面的平均亮度 是一致的,因此相同沉积流动规则和能量相关的相同沉积流动规则都没有起始偏 差的问题。 第四章能景重新分配路径追踪的实现与结果 第四章能量重新分配路径追踪的实现与结果 使用e r 采样方法对全局光照计算中用到的路径空间进行采样,可以产生了 一种新的全局光照算法,称之为能量重新分配路径追踪。 将能量重新分配方法应用到光照计算中有很多好处,首先,也是使用能量重 新分配方法最重要的一点,和m e t r o p o l i s 方法类似,能量重新分配路径追踪可以 解决复杂光照条件场景的绘制问题,尤其是间接光照占主导地位的场景和一些有 焦散现象的场景,这些场景使用通常的全局光照算法都无法得到很好的结果。而 能量重新分配路径追踪之所以能做到这一点是因为它一旦获得了一条可以带来 很大贡献的路径,它可以通过局部的搜寻找到其它的很多临近的大贡献路径,而 不是像其他方法一样,路径的获取是完全相互独立的,很多计算量都被耗费在最 终不会产生贡献的路径上。其次,能量重新分配路径追踪是一种无偏的全局光照 算法,它的效率至少和其它通用的全局光照算法( 如双向路径追踪,m l t ) 是相当 的。 在本章给出了实现能量重新分配路径追踪的一些细节,它其实就是能量重新 分配采样在路径追踪上的应用,因此它和路径追踪方法是非常相似的。能量重新 分配路径追踪的伪代码如下: e r p a t h t r a c i n g ( ) d e t e r m i n et h ed e p o s i t i o ne n e r g y ,e d 力,e a c hp i x e l 砌t h ei m a g e 力,j = 1 t o 所 c r e a t ea p a t h ,x ,i nt h ec u r r e n tp i x e l x ,( 工) = f ( x ) p ( x ) i ie v a l u a t et h ep a t h 矿石,o ) 0 s e l e c tab a l a n c e de n e r g yf l o w f i l t e rl or e d i s t r i b u t et h ee n e r g y 在本章将介绍能量重新分配路径追踪的一些关键细节。首先介绍了光线路径 和路径密度的思想,接着介绍了决定光线路径密度的一些规则,这些规则在计算 q 时会用到,接着介绍了在能量重新分配路径追踪中用到的三种路径变换策略, 最后详细介绍了了能量重新分配路径追踪的具体实现并给出了结果。 第四章能最重新分配路径追踪的实现与结果 4 1 光线路径 路径追踪器是通过光线路径来对渲染方程进行采样的,这里所说的光线路径 是指通过一些散射事件( 反射或者折射) 连接眼睛和光源的一条光线。为了得到 一条光线,路径追踪器通过眼睛向场景中发射一条光线,然后通过散射事件延伸 这条光线得到眼睛子光线,可以通过某种概率采样函数耽在交点处随机采样来 得到出射方向。 既然路径追踪器产生的这些光线路径是对渲染方程的m o n t ec a r l o 采样,那 么像素的亮度就等于这些光线路径对此像素贡献的平均值,路径追踪器就是通过 此方法对它们进行估计的。光线路径如图4 1 所示: 4 1 1 隐式路径 而 毛_ 图4 1 光线路径示意图 路径追踪器可以通过两种方式把眼睛子路径和光源连接起来,胁选择的出 射方向可能正碰到了光源,把这种光线路径叫做隐式路径。 为了得到通过方向而专而到达眼睛的光线的无偏估计,经路径追踪器得到 的m c 采样需要把渲染方程中的相关部分相乘( 例如:,c o s o 和t ) ,然后除 以产生这条光线路径的概率。 对于隐式路径来说,用下式来对此光线路径进行估计: 丛趔i = 丛坠望删 公式( 4 1 ) g t h ( 刀)甘办( 甲,付o ,) 其中:甲,和 ,分别为薯处的入射和出射方向; 只为 ,和薯处方向量的夹角; p k n 蚰( 聍) 为光线路径长度为聆的概率。 第四章能量重新分配路径追踪的实现与结果 4 1 2 显式路径 路径追踪器可以把眼睛子路经和光源上一点直接相连,把这种路径叫做显式 路径。 显式路径估计方法和隐式路径相似,例如眼睛子路经和光源k 相连,可以用 下式来对此光线路径进行估计: 觜尊苦铲 z ( 甲川1 - 1 , o 川) ic o s o 一lc o s 。l 喧t p b j d 2 公式( 4 2 ) 可以看出,前两项和隐式路径的估计公式非常相似,第三项把对光源k 的面 积采样转换为对点吒一,和光源所成立体角的采样。 其中:c o s 。为光源上点毛处的法向量和入射方向。的夹角余弦; d 为点毛一。和毛之间的距离; p h g h ,( 七) 为光源足被m c 采样器采到的概率; ( ) 为光源上一点毛在表面积采样的情况下被采到的概率。 4 2 光线路径密度变化规则分析 在光线路径中和概率相关的项( 仇啦,a 帅,和p a ) 的乘积n - - l 以看作 是任意给定的m c 采样器在路径空间下的路径密度。 能量重新分配路径追踪基于两个基本采样步骤,初始m c 采样和利用路径变 换来重新分配能量过程。为了能在能量重新分配过程中允许能量在光线路径z 和 通过对x 变换得到的光线路径y 之间流动,能量重新分配采样器需要计算y 的光 线路径密度和x 的光线路径密度的比率。下面的一些规则可以很好的计算路径变 换所造成的光线路径密度的改变。 4 2 1 像素坐标的改变 显式的改变光线路径通过的像素位置不会改变光线路径密度,除非m c 采样 器对不同的图像平面坐标

温馨提示

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

评论

0/150

提交评论