Conference

Hierarchical Light Sampling with Accurate Spherical Gaussian Lighting

Yusuke Tokuyoshi, Sho Ikeda, Paritosh Kulkarni, Takahiro Harada

Advanced Micro Devices, Inc.

SIGGRAPH Asia 2024Rendering

一句话总结

用球面高斯(SG)为光树每个节点构造更精确的重要性近似,配合把 NDF 滤波扩展到 SG 光照的技巧,让”每次树遍历只取一个光样本”也能显著压低多光源渲染中掠射角高光的蒙特卡洛噪声。

研究背景

在拥有大量自发光物体的场景里做直接光照,逐个追踪阴影线并评估贡献是不现实的,必须高效地对重要光源做重要性采样。理想采样应正比于”入射辐射 × BRDF”的乘积积分,但精确解不可行;现代物理材质的微表面 BRDF 又具有高频、各向异性的散射特性,进一步加大了难度。

基于光树(层次化光簇)的重要性采样是主流方案:通过按每个节点的重要性随机遍历树来选择光源。关键在于节点重要性要尽量接近该光簇的光照积分,并满足无偏采样约束:

\[ I > 0 \quad \text{if} \quad \int_{S^2} L(\mathbf{x}, \mathbf{o}) f(\mathbf{i}, \mathbf{o}) \vert \mathbf{o}\cdot\mathbf{n}\vert \, d\mathbf{o} > 0 \]

以往方法只能用粗糙近似(上界、忽略 BRDF、用各向同性瓣近似各向异性反射),导致在靠近根节点处误差很大,只能在遍历时自适应地拆分光簇、每次查询生成多个样本,增加了计算量与实现复杂度。已有的高质量 SG 光照近似虽精确,却会因近似误差产生零或负的重要性,违反无偏约束,因而不能直接用于层次采样。本文要解决的正是在满足约束前提下,如何用 SG 给出足够精确的节点重要性。

方法

整体框架:构建一棵”SG 光树”,每个节点用紧凑的分布参数描述光簇,遍历时把光簇视为从着色点看到的一盏 SG 光,再用满足无偏约束的解析近似计算漫反射与光泽两类 BRDF 的乘积积分作为重要性。

flowchart TD
    A[按 SAOH 构建二叉光树] --> B[自底向上计算每节点<br/>SG 光簇参数]
    B --> C[遍历: 从着色点看光簇<br/>合成为一盏 SG 光 Wg]
    C --> D{BRDF 类型}
    D -->|漫反射| E[插值式 SG 与<br/>clamped cosine 乘积积分]
    D -->|光泽/各向异性| F[NDF 滤波 + VNDF 近似<br/>求 SG 光照积分]
    E --> G[按反射率加权得节点重要性 I]
    F --> G
    G --> C

紧凑的 SG 光簇表示

沿用虚拟 SG 光的思路:光簇的空间位置分布用各向同性高斯(均值 \(\boldsymbol{\mu}\)、方差 \(\sigma^2\))表示,辐射强度的方向分布用 vMF(即归一化 SG,轴 \(\boldsymbol{\nu}\)、锐度 \(\lambda\))表示。参数在建树时自底向上以辐射通量加权聚合,例如方向平均:

\[ \bar{\boldsymbol{\nu}} = w_{\text{left}}\bar{\boldsymbol{\nu}}_{\text{left}} + w_{\text{right}}\bar{\boldsymbol{\nu}}_{\text{right}} \]

每节点只需存 \(\boldsymbol{\nu},\lambda,\boldsymbol{\mu},\sigma_s^2,r,\Phi\) 共 10 个浮点数,比 Conty & Kulla 的包围盒加包围锥表示(12 个浮点)更紧凑。遍历时把空间高斯与 vMF 在光方向空间上相乘,得到一盏 SG 光 \(W g(\mathbf{o};\boldsymbol{\xi},\kappa)\),天然避开了以簇中心求逆平方距离带来的奇异性。

插值式漫反射 SG 光照

漫反射用 Lambert 模型,重要性即 SG 与 clamped cosine 的乘积积分。作者利用 SG 轴恰为 \(\pm\mathbf{n}\) 时的两个闭式解 \(\hat{B}(\kappa)\)、\(\check{B}(\kappa)\),再用单次插值得到任意轴的结果:

\[ I \mathrel{\dot\propto} \frac{W}{\pi}\left[\hat{B}(\kappa)u + \check{B}(\kappa)(1-u)\right] \]

由于 \(\hat{B}(\kappa)>0\) 且 \(\check{B}(\kappa)>0\),插值形式恒满足无偏约束。插值因子 \(u\) 用平面高斯与 clamped cosine 的解析卷积近似,在 \(\boldsymbol{\xi}\cdot\mathbf{n}\to\pm1\) 与 \(0\) 处都很准。该方法只算一次插值(此前方法要算一次 SG 乘积加两次插值),在 RX 7900 XTX 上比 SOTA 快 1.4 倍,且精度更高。

面向各向异性微表面 BRDF 的 NDF 滤波

这是提升采样质量的主贡献。原始 NDF 滤波把像素足迹投影到半程向量空间做抗锯齿,本文反过来把 SG 光投影到半程向量空间去卷积 NDF。NDF 在 \([h_x,h_y]\) 空间用二元高斯表示,SG 光的方差 \(1/\kappa\) 经雅可比矩阵 \(\mathbf{J}\) 变换后加到协方差上:

\[ \bar{\Sigma}_D \approx \Sigma_D + \frac{1}{\kappa}\mathbf{J}\mathbf{J}^\top \]

由此得到”变粗糙”的滤波 NDF,其卷积近似为:

\[ \int_{S^2} D(\mathbf{h};\mathbf{A})\, g(\mathbf{o};\boldsymbol{\xi},\kappa)\, d\mathbf{o} \mathrel{\dot\propto} D\!\left(\frac{\mathbf{i}+\boldsymbol{\xi}}{\|\mathbf{i}+\boldsymbol{\xi}\|};\bar{\mathbf{A}}\right) \]

与之前用各向异性 SG(ASG)近似反射瓣不同,NDF 滤波保留了原 NDF 模型,不会把 GGX 这类长尾 NDF 的尾部低估为零,也不会扭曲各向异性反射瓣。为进一步满足无偏约束,作者再用无 Heaviside 的 VNDF 近似反射瓣,并引入滤波可见性 \(V\),最终光泽重要性为:

\[ I \mathrel{\dot\propto} W V\, p(\boldsymbol{\xi};\mathbf{i},\bar{\mathbf{A}}) \int_{S^2} g(\mathbf{o};\boldsymbol{\xi},\kappa)\, d\mathbf{o} \]

实验结果

在 3840×2160、HIPRT、AMD Radeon RX 7900 XTX 上,与 CK2018、CK2018+LY2020、LXY2019 对比。等时(5 秒)直接光照(不用 BRDF 采样)主结果:

场景 方法 RMSPE MAPE spp
Hangarship CK2018 216.5% 35.2% 303
(4,775 光源) CK2018+LY2020 89.1% 32.2% 294
  LXY2019 482.3% 29.6% 102
  Ours 65.9% 20.9% 213
Museum CK2018 55.1% 25.6% 246
(16,940 光源) CK2018+LY2020 45.2% 23.0% 237
  LXY2019 26.5% 25.1% 82
  Ours 18.5% 20.1% 170
Toyshop CK2018 64.9% 26.2% 233
(167,493 光源) CK2018+LY2020 30.8% 25.4% 217
  LXY2019 29.9% 27.3% 75
  Ours 20.7% 18.8% 167

尽管本文方法因 SG 光照的数学函数开销 spp 低于 CK2018+LY2020,但误差更低,掠射角光泽高光尤为明显。路径追踪(配合 MIS)下,光泽场景收敛更快;在漫反射主导的 Bistro 场景与 CK2018+LY2020 在 RMSPE 上相当、MAPE 略优。对高各向异性材质,其优势最突出。本文方法比需两次树遍历的 LXY2019 更快,只用一次遍历就降噪,光簇参数计算也比 CK2018 略快(如 Toyshop 13.5 ms vs 20.1 ms)。

亮点与局限

亮点:

  • 用满足无偏约束的高质量 SG 光照近似替代粗糙上界,使”每次查询单样本”也能高质量渲染,避免了自适应拆分的复杂度。
  • 把用于抗锯齿的 NDF 滤波创造性地扩展到 SG 光照,正确处理半程向量与光方向之间的变换(推导了雅可比矩阵),对 GGX 长尾与各向异性反射都不失真、不低估。
  • 光簇表示更紧凑(10 vs 12 浮点),参数计算更快。
  • 提供了数值稳定的开源实现。

局限:

  • 光簇是各向同性单瓣,无法表示复杂的多瓣入射辐射与各向异性光源分布(如细长光元)。
  • SG 光照计算带来指数等数学函数开销,单样本成本高于忽略 BRDF 的方法。
  • 多瓣 BRDF 仅用简单的漫反射-光泽加权模型近似,两层光泽瓣被合并为单瓣。

延伸思考

该方法可作为 ReSTIR 初始候选采样的强力生成器,因为 ReSTIR 方差正比于初始候选技术的质量,更准的层次采样有望直接改善重采样效果。把 NDF 滤波与光照积分统一在半程向量空间的思路,也提示了”抗锯齿工具”与”重要性近似”之间的深层联系,或可推广到折射、分层材质与体渲染等场景。若能对光簇参数做量化压缩,或引入多瓣/各向异性簇表示,有望在保持精度的同时进一步降低存储与带宽成本。