当前位置:   article > 正文

中路由拦截的路径_使用双向路径追踪渲染参与介质

使用双向路径追踪渲染参与介质

74e8ad48b01a451d5a35f46b7219944c.png

前言:关于大作业-体积散射的参考资料的第二个链接(实现细节,可跳过第四节,获得简单的路径追踪实现),Lafortune 和 Willems 撰写的这篇论文的翻译,英语苦手手动翻译难免有错

18eafd2633417fd14bff3c1136d47062.png

论文摘要:在本论文中,我们展示了如何扩展双向路径追踪,以处理由于参与介质而产生的全局照明效果。由此产生的基于图像的算法计算开销大,但比以前的解决方案更通用。它能正确处理复杂照明条件下非均匀各向异性介质中的多次散射。通过实例说明了它的具体优点。


1 介绍(Introduction)

目前大多数的全局光照(globalillumination)算法都没有考虑到光所通过的介质的影响,在这些光照模拟中,光线只在表面发射(emitted)和反射;由于烟雾、灰尘、雾或火焰而引起的光的吸收、散射和自发光(emission)被忽略了。虽然这是大多数日常场景的合理近似值,介质的存在有时可以增强渲染的真实感。一个典型的例子是太阳光穿过布满灰尘的室内。在其他应用程序中,例如交通或建筑物消防出口的能见度研究,介质甚至在模拟问题中起着中心作用。

Rushmeier[1]等人[2,3]对参与介质中模拟光的研究工作和封装(packages)进行了广泛的概述。根据不同的应用场合,它们处理均质或非均质、各向同性或各向异性介质。许多技术只模拟单一散射,这就满足了光学薄膜(optically thin)介质。大多数方法可以分为几个基本类别:各向同性散射的区域法、

法、离散纵坐标(discrete ordinate)法、点配置(point collocation)法和基于图像的蒙特卡洛方法。Rushmeier[4]提出了区域法,对参与介质进行处理,作为基本的辐射算法的扩展。该算法假设参与介质为各向同性,计算场景中离散体积元素与表面元素之间的光的交换。
方法也将体积离散成有限的元素,但是现在把辐射函数表示为一系列的球面谐波。然后他们用微分形式解决问题,例如[5,6]。离散纵坐标方法离散的不但将原体积转化为有限体积元素,而且球的方向形成有限的立体角,比如[7]。这就提出了区域法的假设,即参与介质是各向同性的,以增加内存需求为代价。 Languénou等人[2]和Max[3]提出了在离散元素之间有效分配功率(distribute power)的算法。点配置方法使用高阶基函数,比如球谐函数(spherical harmonics),表示球面上的光照函数,例如[8]。

蒙特卡洛方法是对Kajiya[9]提出的路径追踪算法或由Arvo[10]首创的光线追踪(light tracing)算法的扩展。例如,Rushmeier[4]给出了对路径追踪算法的扩展。它追踪从视点开始的随机行走(walk),在表面上反射,在介质中附加散射。Roysam等人[11]和Rozé等人[12]应用光线追踪方法,从光源追踪随机行走,直到它们击中检测器(detector)。在区域法的上下文中,Pattanaik[13]遵循这种方法,更新离散体积元素和表面元素的辐射值。

在本文中,我们提出了一种基于图像的蒙特卡洛解决方案,现在应用双向路径追踪而不仅仅是路径追踪,该方法因此集成了先前的光线拍摄(light shooting)和参与介质的光收集(light gathering)技术。第2节回顾了具有参与介质的场景的全局光照的数学模型。我们讨论了可能具有各向异性散射的非发射(non-emitting)介质的情况。第3节解释了如何在数学框架的基础上对场景中的随机行走进行采样。然后,第4节将说明这些随机行走如何集成到双向路径追踪算法中。这种基于图像的方法非常普遍,类似于路径追踪,但更适合处理复杂的光照情况。第5节展示了如何将均匀介质的处理进一步扩展到非均匀介质。第6节给出了一些结果来展示算法的通用性。我们在第7节指出了算法的具体优点和缺点,并得出了一些最终结论。


2 数学模型(Mathematical model)

最常用的形式,渲染方程定义了辐射函数,假设它在辐射方向上是不变的。方程可以很容易地扩展到考虑参与的介质。在这种情况下,辐射度沿直线逐渐变化,当光被吸收时,向其他方向散射和从其他方向散射。定义介质内部辐射函数的积分方程变成积分-微分方程:

72adc49a464c49b25e29f881a8a0dd89.png
  • 是3D空间的一个点
  • 是一个方向
  • 是沿着方向
    的微分距离
  • 是球的方向
  • 是一个围绕方向
    的微分立体角
  • 是场辐射函数
  • 是散射系数
  • 是消光系数(通常被定义为
    )
  • 就是所谓的相位函数(通常被定义为
    ),表示从方向
    被散射到方向
    的点
    辐射的辐射率

164d4de9c3d0f649ff9b3c58b4fc9e62.png

图1:辐射方程表示介质中的光是沿直线散射和从表面反射的结果

我们不考虑介质的发射率,比如火焰或等离子体。散射可能是各向异性的:

可以是任何函数,只要它在方向和相互作用的范围内正常化(normalised)。如果我们假设参与的介质是均匀的,即
,然后,将原积分-微分方程改写为下面的积分方程(图1):

b6376d2ba98c3dc24afbd892e0bd6281.png

是到最近表面的距离,
是在那点的出射辐射度。我们现在还可以考虑边界条件。在表面上入射和出射辐射度之间的关系用著名的积分表达式来表示:

e3e74c1f8f6aeb26c56c585ecb4fbd66.png
  • 是点
    朝方向
    的自发光辐射度
  • 是双向反射分布函数(BRDF)
  • 是入射方向的半球或球体在点
  • 是在
    点的方向
    和面法线之间的角度

方程(2)和(3)分别定义了光在介质和表面上的行为。由于它们的积分公式,它们非常适合于蒙特卡洛估计(evaluation),我们将在下一节中讨论。


3 追踪随机游走(Tracing a random walk)

辐射度方程的采样是非常简单的,例如Rushmeier[4]就描述过。它是直观的,因为它可以被看作是光粒子在尘埃或雾粒子散射和在表面反射,直到它们被吸收的直接模拟。在这种情况下,随机行走从视点

开始,朝方向
指向一个像素。这辐射值
可以用随机行走来估计。我们可以通过将方程(2)改写为一个单一的积分来引入一个较小的优化:

652e4ff5c4a2663e23a84e2f6b902d72.png

被定义为:

4bdb3a571cfd3cf438ebf47f03224ad7.png

由式(4)可知,因子

可以作为外积分的概率密度函数(probability density function,PDF):

20091fcf48922a9e93b22b833981384f.png

从物理的角度来看,这种Poisson分布表示光粒子与在远距离

的介质相互作用的概率密度。如果沿光线最近的表面,在距离
处,比距离
处的点更远,前者
需要估计(estimated),否则,后者
需要估计。光线追踪函数决定了最近的表面,因此只需要寻找距离
以内的表面。例如,在雾蒙蒙的户外,随机地计算与远处村庄的光线交点并不总是必要的。光粒子到达最近表面的后验概率(posteriori probability)等于透射率:

c7803ad79c83dc40d042ba993388029b.png

都是通过采样它们各自的内在表达式来估计的:
  • 通过采样式(5)(图2)的积分来估计。对于散射方向
    ,一个合适的次临界(suitable subcritical)PDF(即它不会积分到1)是:

fcdb947b96f0523f0e308209f02f221e.png
  • 通过式(3)来估计。包含两项,自发光辐射度
    能够简单的被估计。第二项是通过采样积分表达式(图3)来估计。对于反射方向
    一个常见的次临界PDF是:

77f053fb94111422ace502f9630e81e8.png

在这两种情况下,通过采样方向来估计辐射度的值

。这个递归过程会导致在场景中随机行走。因为后者PDFs是次临界的,随机行走以概率1终止。

一般情况下,随机光线追踪算法通过显式采样光源和追踪附加阴影光线来计算直接照明,而间接光照的计算与前面相同。生成随机行走的过程保持不变。

f6f935e8e635df93e8d650003368bd61.png

图2:随机路径(random walk)中的散射。首先,距离

根据
采样,接着,散射方向
根据

f55882a912006ad23967887f569d5303.png

图3:随机路径中的反射。如果距离

过了最近的表面,则存在一个反射,其后验概率为
。在这种情况下,反射方向
根据
反射来采样的。

49fe9690fb4fd4bbeff2ff859097fa3e.png

图4:参与介质中双向路径追踪的示意图概述。一对随机路径的构成:从视点开始的视线路径,通过像素以及从光源出发的光路。这些路径可以散射在介质内部或者在表面反射。在各自的路径上的点通过阴影射线(shadow rays)连接,估计像素通量来决定贡献。


4 双向路径追踪(Bidirectional path tracing)

我们已经引入了双向路径跟踪[14,15],并得到了Veach和Guibas的独立介绍和改进[16,17]。它结合了路径追踪和光线追踪(light tracing)的思想,创建随机路径,不仅从视角,而且从光源。图4显示了基本思想。视线路径从视点开始,通过正在计算的像素,就像在经典的路径追踪中一样。光路从光源上沿采样方向的采样点开始。这两种类型的随机路径都像第3节中描述的那样生成。在这里的扩展中,光线可以在介质中散射或吸收,也可以在场景的表面反射或吸收。

在追踪一对随机路径之后,通过阴影射线将各自路径上的交点连接起来。在场景中,没有被物体拦截的每一个阴影光线都会影响通过像素的估计通量或平均辐射。与普通路径追踪相比,该算法已被证明是特别有效的渲染场景的间接照明[18]。不同的光照传输路径对通量有不同的估计,每条路径都有其自身的潜在强度。估计量[17]的合理组合产生了一个通常方差(variance)较小的稳健估计量。为了达到这个目的,必须在相同的参数空间中考虑具有相同反射次数的光照传输的替代估计量,例如作为点的序列

在3D空间中。
是光路的一部分,从
点的光源开始。
是视线路径的一部分,从
点的视点开始。

该参数空间中传输路径的光照贡献(illumination contribution)为:

769ef0b3704b09986f8888c02a7df438.png

为了方便起见,我们使用箭头符号。

是点
和点
之间的欧几里德(Euclidean)距离。函数
解释了随机路径中
点的散射或反射:

27beb1188cc31202f1190fe73452df1c.png

是入射和出射方向与法线在
点的夹角。

产生这条路径的概率密度与前面提到的视线路径

和光路
是它们相应的概率密度的乘积,因为随机路径是独立的:

24a80e9a0fcdc6ecfbc7ea4624675a48.png

这些概率密度依次可以递归地定义:

136d825f01532534ed5c4d26f97334ea.png

是已知
情况下
的概率密度。最初的概率
,
,
分别依赖于像素和光源的采样序列。其他概率密度是用于构造随机路径的PDF的函数,如第3节所示。它们取决于在
点和
点的相互作用的类型:

9175be37b9d4c2192f880d265effac95.png

对于

c74068ec5f4766a7368f181647b190ea.png

0d59ee5b730edb4a285d605e4e3262ca.png

结合适当的概率密度(11),光照贡献(10)可以组合成一个无偏估计量,如[17]中所讨论的。我们应用了平衡法则(balance heuristic),光照贡献的权重可以写成如下形式:

f6ebd4ac6889b6dbae7a7814fba91d7b.png

求和是对所有可能的传输路径类型的求和,这些传输路径类型的贡献将被添加。


5 扩展不均匀的介质(Extension to non-homogeneous media)

虽然前面几节只讨论均匀的参与介质,但扩展到非均匀介质是相当简单的。一种常用的方法是把介质分解成体积单元,每个单元都有自己的散射特性。这种表现特别适合区域法和其他已经离散场景计算光照的技术。在光线追踪上下文中,离散过程可以在追踪光线时进行,将每个元素视为均匀的介质,例如[13]。另一种稍微更一般的表示方法允许任何函数描述介质的散射特性。通常情况下,这是一个经验噪声函数,它模拟了烟雾和尘埃云等介质。

我们选择了一种简洁的方法,通过简单的体积的手段,在场景中加入更多的介质。对于每一束光线,用一种参与介质穿透一卷体(piercing a volume),确定其穿过的截面。然后在采样介质的光学特性的离散区间内遍历此部分。利用这一信息,可以对可能的散射进行采样,也可以对每个间隔的不透明度进行估计。因此,对非均匀介质的处理变得类似于对均匀介质的处理。遍历显然需要额外的工作,这取决于离散步骤的粗糙程度(discrete steps)。


6 实现及性能(Implementation and results)

我们已经实现了现有的双向路径追踪程序中提出的扩展。利用Schlick[19]提出的相位函数对介质的散射特性进行建模,该函数具有节能和互反(reciprocal)的优点,并且计算成本低,可作为PDF进行评估和使用。

1a9aa23f521e981af0d1a39d6c40ed23.png

图5显示了一个测试场景,其中有几个具有各种光学特性的几何对象。在图(b)中,场景被一团略微各向异性的烟雾所吞没。它被渲染为640x480像素,每个像素有100个采样点。双向路径追踪算法正确地渲染了光源下方的灯火通明的波瓣和由此产生的间接光照。物体与参与介质的结合是光滑的。

图6显示了教堂内部。太阳将一束光投射到彩色玻璃窗上,这在图(b)中只能在尘土飞扬的空气中看到。太阳被模拟为外部的一个点光源。彩色玻璃窗是一个半透明的表面,入射光的散射部分是扩散的,部分是定向的。室内的照明完全是间接的结果。在渲染这个场景时,传统的路径追踪是非常低效的。只有到达外部的随机路径会得到光照贡献,从而导致高方差。双向路径追踪光路在内部散射和反射,并最终与视线路径相遇。

1b2019712ed06e08baef5f0e42440e96.png

图7演示了双向路径追踪在交通场景中确定可见性的可能用途。在这种情况下,该算法还模拟了由前大灯反射镜反射和聚焦(focusing)的光。在图片(b)中,汽车的大部分被散射在雾中的光线间接照亮。使用交通灯、交通标志、水坑等渲染更复杂的环境将非常简单。

图8显示了带有壁炉的室内场景,演示了非均匀介质的渲染。从壁炉里冒出来的烟从下面被照亮了。因此,它参与了房间其他部分的照明。


7 结论(Conclusions)

我们讨论了双向路径追踪的扩展,以包括模拟中参与介质的影响。该算法正确地处理了非发射(non-emitting)、非均匀、各向异性介质中的多次散射问题。它提供了保证收敛到精确解的无偏估计量。与大多数基于图像的蒙特卡洛方法一样,该算法是通用的,并且只需要很少的内存。因此,它非常适合于渲染场景与参与介质、复杂的几何形状和光学特性的组合。

然而,所需的计算时间可能是费力的,即使对于最坚硬的蒙特卡洛用户。示例图像花了几个小时渲染,计算分布在一些工作站上。参与介质的存在明显了问题的复杂性。有限体积元素技术没有那么灵活,但对于简单场景,它们无疑是更快的和更高效的。与单向蒙特卡洛方法相比,双向算法有了明显的改进。它处理传统路径追踪无法处理的场景。它还提供了一种解决方案,通过不需要人工的大型探测器在合理的时间内接收至少一些光粒子,在参与介质的一些可见度研究中使用的光线追踪方法。


References

1. H. Rushmeier, “Rendering participating media: Problems and solutions from ap-

plicationareas,”inProceedingsoftheFifthEurographicsWorkshoponRendering,

(Darmstadt, Germany), pp. 35–55, June 1994.

2. E. Languénou,K. Bouatouch,and M. Chelle, “Global illumination in presence of

participating media with general properties,” in Proceedings of the Fifth Euro-

graphics Workshop on Rendering, (Darmstadt, Germany), pp. 69–85, June 1994.

3. N. Max, “Efficient light propagation for multiple anisotropic volume scattering,”

in Proceedings of the Fifth Eurographics Workshop on Rendering, (Darmstadt,

Germany), pp. 87–104, June 1994.

4. H. Rushmeier,Realistic ImageSynthesisforSceneswith RadiativelyParticipating

Media. PhD thesis, TheSibley SchoolofMechanicaland AerospaceEngineering,

Cornell University, 1988.

5. J. Kajiya and V. Herzen, “Ray tracing volume densities,” Computer Graphics,

vol. 18, pp. 165–174, July 1984.

6. J. Stam, “Multiple scattering as a diffusion process,” in Proceedings of the Sixth

Eurographics Workshop on Rendering, (Dublin, Ireland), pp. 69–79, June 1995.

7. Ch. Patmore, “Simulated multiple scattering for cloud rendering,” in Proceedings

of ICCG, (Bombay, India), pp. 59–70, Feb. 1993.

8. N. Bhate and A. Tokuta, “Photorealistic volume rendering of media with direc-

tional scattering,” in Proceedingsof the Third EurographicsWorkshop on Render-

ing, (Bristol, UK), pp. 227–245, May 1992.

9. J. Kajiya, “The rendering equation,” Computer Graphics, vol. 20, pp. 143–150,

Aug. 1986.

10. J. Arvo, “Backward ray tracing,” Aug. 1986.

11. B. Roysam, A. Cohen,P. Getto, and P. Boyce, “A numericalapproachto the com-

putation of light propagation through turbid media: Application to the evaluation

of lighted exit signs,” IEEE Transactions on Industry Applications, pp. 661–669,

May 1993.

12. C. Rozé, B. Maheu, and G. Gréhan, “Evaluations of the sighting distance in

a foggy atmosphere by Monte Carlo simulation,” Atmospheric Environment,

vol. 28, no. 5, pp. 769–775, 1994.

13. S. Pattanaik, Computational Methods for Global Illumination and Visualisation

of Complex 3D Environments. PhD thesis, NCST Birla Institute of Technology &

Science, Pilani, India, Feb. 1993.

14. E. Lafortune and Y. Willems, “Bi-directional path tracing,” in Proceedings of

CompuGraphics, (Alvor, Portugal), pp. 145–153, Dec. 1993.

15. E. Lafortune and Y. Willems, “A theoretical framework for physically based ren-

dering,” Computer Graphics Forum, vol. 13, pp. 97–107, June 1994.

16. E. Veach andL. Guibas, “Bidirectionalestimatorsforlight transport,”in Proceed-

ings of the Fifth Eurographics Workshop on Rendering, (Darmstadt, Germany),

pp. 147–162, June 1994.

17. E. Veach and L. Guibas, “Optimally combining sampling techniques for Monte

Carlo rendering,” Computer Graphics, vol. 29, pp. 419–428, Aug. 1995.

18. E. Lafortune, Mathematical Models and Monte Carlo Algorithms for Physically

Based Rendering. PhD thesis, Katholieke Universiteit Leuven, Belgium, Feb.

1996.

19. Ch. Schlick, Divers Eléments pour une Synthèse d’Images Réalistes. PhD thesis,

Université Bordeaux 1, France, Nov. 1992.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/95054
推荐阅读
相关标签
  

闽ICP备14008679号