路径追踪技术(Path tracing,PT)已经是当下工业中离线渲染使用的主流技术,不管是商业渲染器如皮克斯的RenderMan,Solid Angle的Arnold等,还是迪士尼的in-house渲染器Hyperion以及Weta Digital的Manuka都是基于路径追踪技术。路径追踪算法非常简单,它首先将光照方程表述为面积积分的形式,然后一束光线从光源经过各个物体表面及内部多次交互(反射,折射,散射)后进入图像平面的贡献值(即辐射照度)被转换为这些表面交互点形成的路径的一个积分,其被积函数为这些表面的双向散射系数(BSDF),顶点之间的积分变量变化(change of variables)以及顶点之间可见性的乘积。在统计中,积分可以很简单地使用蒙特卡洛方法进行估计,因此光照传输的问题就转化为对场景进行路径采样,然后对每条路径的贡献值进行平均求和的蒙特卡洛积分计算。

尽管自基本的路径追踪算法被提出以来,各种增强改进的方法被整合进来,然而上述路径追踪技术的“基础架构”几乎没有多少实质性的变化。对于任何行业,工业中主流的技术一般不是当下最先进的技术,而是最成熟可工业化的方案,当前工业中的路径追踪技术优化主要集中在优化算法的执行效率,主要是针对处理器硬件架构进行优化,例如针对缓存系统的优化,增强数据局部性和指令局部性,以及改进光线连贯性(ray coherence)使其能够利用SIMD指令进行高效计算等,这方面比较突出的是迪士尼的Hyperion渲染器,一些渲染器的优化更是几乎能达到某些场景复杂度范围内实时渲染,例如Embree。

然而以上这些内容却不是本文关注的重点(上述内容会在thegibook中详细讨论),本文我们要讨论的是一些路径追踪算法基础架构层面的改进,这些算法还很少出现在当前工业解决方案中,但是确实未来的重要发展趋势。

传统的路径追踪算法是一个单纯的积分问题,因此可以使用蒙特卡洛方法来估计,然而蒙特卡洛方法的每个抽样是独立的,因此很难有效快速对一些比较困难的路径进行采样,一些很难被采样的路径需要巨量的采样数才能达到“令人满意”的结果,这导致非常缓慢的收敛速度。尽管开始的收敛速度非常快(4倍采样数量可以减少1/2的误差),但是越到后面会花费更多倍的时间。传统的方差缩减技术如重要性采样,分层采样,拟蒙特卡洛方法(Quasi-Monte Carlo)仍然不能改变这个收敛速度。

要提升蒙特卡洛估计的收敛速度,直观上,我们需要能够辨识每个图像的分布特征,然后在一些高频变化区域增加采样的密度。然而,传统的蒙特卡洛方法中每个抽样之间是独立的,它并不能有效辨识这种频率变化特征,尽管梅特波利斯光照传输(Metropolis light transport,MLT)通过采样点之间的相关性能够寻找一些困难路径,本质上它仍然并不善于处理和分析频率域特征。要想能够辨识图像的分布特征,我们需要了解每个路径的局部特征,即是我们需要对路径追踪算法引入微分运算。路径的微分涉及路径与附近局部范围内光线的差值,即图像的局部特征,因此它引入了光线之间的相关性,可以从多个层面改善路径追踪算法的效率(也正是如此,我们认为这是近几年路径追踪技术领域的重大进展)。

最近几年路径追踪领域的一些重大进展正是微分几何(differential geometry)的引入,由于微分反应的是流形(manifold)的局部变化,因此非常善于寻找图像分布中的高频部分,目前路径追踪算法中的微分运用主要包括:以通过计算纹理过滤函数实现反走样的光线/路径微分(ray/path differential)和协方差追踪技术(covariance tracing);以通过计算梯度图像用于利用筛选泊松方程(Screened Poisson equation)重建目标图像的梯度域渲染(gradient-domain rendering);以及通过将微分几何结合费马定理(Fermat principle)用来寻找镜面/光泽路径的流形探索(manifold exploration),半矢量空间光照传输(half vector space light transport)等技术;此外,微分还被用于适配性采样(adaptive sampling),成为重要的降噪技术(Denoising)。

以下我们就来从概念和思路上分析上述这些技术,当然我们可以提前知道的这些技术的一个重要共同点就是:这些微分计算通常不需要通过光线追踪引入新的采样点,否则那样的计算成本就很高,这些技术通常都是利用微分几何和某些假设进行单纯的微分计算,这里主要的工具是一阶泰勒展开式(first-order Taylor approximation)和顶点处的切线平面空间(tangent space),因此,这些新技术通常都可以很容易地集成于目前主流的路径追踪技术基础架构之上,更详细的内容请参考thegibook中相关章节。

接下来我们讨论的每一种微分的运用都涉及一个相对比较独立的层面,在阅读这些内容的时候,你首先需要非常清晰的了解的是它用来解决什么问题,因此我会在每一节的开头提出这个问题,然后读者可以围绕这个问题来阅读每一小节,即每一种技术。

光照传输的局部频率域分析

微分反应的是图像的局部特征,因此其在图像渲染中最

网友评论