读 Hierarchical Russian Roulette for Vertex Connections 论文

Abstract

虽然双向路径追踪是一种成熟的光传输算法,但需要许多样本才能获得specular-diffuse-glossy或者glossy-diffuse-glossy的高质量结果,尤其是当它们具有高光泽时。为了提高这种光路配置的效率,我们提出了一种用于顶点连接的分层俄罗斯轮盘赌技术。

我们的技术根据许多缓存的光子路径顶点的眼睛子路径顶点处的近似散射波瓣,加速了大量的俄罗斯轮盘赌操作。我们的方法通过引入以自上而下的方式分配随机数的分层拒绝算法,显着减少了俄罗斯轮盘赌所需的随机数生成次数。为了有效地拒绝每个层次结构中的光顶点,我们还引入了用于俄罗斯轮盘赌概率的各向异性散射波瓣的有效近似。我们的技术很容易集成到一些现有的基于双向路径跟踪的算法中,这些算法缓存光子路径顶点(例如,概率连接、顶点连接和合并)。此外,与现有的多光方法不同,由于俄罗斯轮盘赌的简单性,我们的方法不限制多重重要性采样策略。尽管所提出的技术不支持完美的镜面反射表面,但它显着提高了以无偏差方式在极其光滑的表面上反射焦散的效率。

1. Introduction

蒙特卡洛光传输模拟如今广泛用于逼真渲染,但是为各种场景开发鲁棒的算法仍然是一个具有挑战性的问题。双向路径追踪 (BPT) [Lafortune 和 Willems 1993; Veach 和 Guibas 1994] 是一种成熟的光传输算法,它通过连接从光源和眼睛追踪的子路径(即光子路径和眼睛子路径)来构建各种路径。通过使用多重重要性采样 (MIS) [Veach 和 Guibas 1995],这种路径采样技术的组合显着减少了估计误差。

然而,由于缺乏适合这些路径配置的采样技术,BPT 会为镜面反射-漫反射-光泽 (SDG) 或光泽-漫反射-光泽 (GDG) 路径(图 1a)产生高方差。因此,需要大量样本才能为高光泽表面渲染高质量图像。概率连接 [Popov et al 2015] 通过重用数百个光子路径来增加样本数,但它仍然不够,并且由于相关方差而产生类似斑点的伪影(图 1c)。本文解决了为 BPT 重用数百万光子路径的问题。

为了提高 BPT 中的连接效率,我们根据眼睛顶点(即眼睛子路径的顶点)的近似散射波瓣,提出了一种用于俄罗斯轮盘赌操作的加速技术 [Arvo 和 Kirk 1990]。俄罗斯轮盘赌用于拒绝不重要的连接以减少阴影射线的数量 [Veach 1998]。然而,当许多光子路径被缓存并重新用于每个眼睛顶点以增加路径样本的数量时,这种随机拒绝仍然很昂贵。这是因为许多光顶点(即光子路径的顶点)是连接到眼睛顶点的候选者,并且对每个候选者执行俄罗斯轮盘赌。我们的方法通过使用分层拒绝算法来加速大量的俄罗斯轮盘赌操作。