(论文)[2023] 基于子空间的双向路径连接渲染技术(5)

基于子空间的双向路径连接渲染技术(5)

代理追踪技术

处理镜面连接

  • 视子路末端顶点在漫反射表面上,光子路 y¯=y0ys1 末端顶点 ys1 在光滑表面上
  • 固定视子路,重新采样光子路
  • 目的:让光滑表面的 BSDF 表现正常
  • 固定 ys1 重新采样 ys2 使得 ys1 的 BSDF 表现正常
    • 如果 ys2 也是光滑表面,则也需要重追踪采样 ys2
    • 也就是说如果 y¯ 末端有 u连续的光滑顶点,则需要重新采样 ys2ysu1
  • 采样过程:
    • 反向追踪
    • 先根据 zt1ys1 重追踪 ys2
    • 如果还有光滑顶点,则继续(ys1ys2 重追踪 ys3,以此类推),否则停止
  • 材质不变
    • 保证重追踪的顶点材质和之前相同
    • 这样可以让一条路径对应的残缺路径被唯一确定,简化 PDF 计算
    • 不加限制:LDSDE 的路径可能被 LSSDE 的路径重追踪得到

路径划分

  • 残缺路径 h¯ 包含完整视子路 z¯、残缺光子路 h¯y
  • 光子路 y¯ 如下

  • 重追踪 g¯ 中顶点
  • 残缺路径的 PDF

p(h¯)=p(h¯y)p(z¯)

  • 一条完整的光子路 y¯ 的生成过程,概率如下

p(y¯)=p(h¯)p(g¯ωc,hc)p(ys1hc,g¯)

  • 只需要通过倒数评估估计 p(h¯y)
    • 概率为所有能够生成 h¯y 的完整光子路的概率
    • R 表示修复操作,R(h¯y,g¯) 就是完整路径

p(h¯y)=Aup[R(h¯y,g¯)]dμ(g¯)=Aup(h¯)p(g¯ωc,hc)p(ys1hc,g¯)dμ(g¯)=p(h¯)Aup(g¯ωc,hc)p(ys1hc,g¯)dμ(g¯)=p(h¯)P(u,hc,ys1,ωc)

  • P 只取决于如下几个变量
    • 控制顶点 hc
    • 镜面点 ys1
    • 控制方向 ωc
    • 连续光滑顶点的个数 u
  • 如果 g¯ 包含 y0,y1,则 hc,ωc 不存在
  • 注意:这几个变量在光子路追踪时可以获取到,因此可以在光子路追踪时进行倒数评估,减小开销

不同路径的处理

  • 无偏估计 1P 时,需要有一个辅助分布 q(g¯)
  • q(g¯) 可行策略集中的均匀混合
    • 例如:u=1y0g¯ ​ 光源采样 + 从镜面点出发追踪

光源采样

  • u=1y0g¯
    • 随机在光源表面采样
  • u>1 时不使用,固定 ys1 + 随机采样 y0 无法找到镜面约束的中间顶点
    • 概率为 0

从控制顶点出发追踪

  • u=1y0g¯
    • hc=y0:光源所处的半球空间中 cos 均匀采样
    • hcy0:根据 ωc,hc 进行 BSDF 重要性采样
  • u>1 时不使用,理由同上

从镜面点出发追踪

  • 该策略都可用
  • 流程
    • ys1 的半球空间中采样初始方向,得到 ys2
    • 接着根据 ys1ys2 方向根据 ys2 的 BSDF 进行采样
    • 知道采样 g¯ 完成后停止

子空间统计量

  • 统计量无法在一次评估中获取
    • 优化倒数评估过程需要用到 p(h¯)q(h¯)
      • 参数 B
    • MIS 权重需要用到倒数评估的期望
  • 使用子空间作为倒数评估的媒介
  • 预追踪一部分镜面投射光路 ,取 hc,ωc 为样本建立控制子空间,取 ys1 为样本建立镜面子空间
    • 控制子空间:(hc,ωc) 控制子空间编号 C
      • C
    • 镜面子空间:ys1 镜面子空间编号 S
  • 于是 P 的一个三维矩阵近似如下

P(u,hc,ys1,ωc)P(u,C,S)

  • 注意:这个近似只会用于对 B 和 MIS 权重的评估,而不作为倒数评估的结果

与子空间概率连接的结合

  • 代理追踪方法能够实现对镜面投射光路的高效采样
  • 可以使用 SPCBPT 的思想,为光子路残缺路径建立子空间,改善光子路残缺路径的选取

细节

  • 重采样
    • SPCBPT 中光子路的局部贡献值 fy 会被用于重采样,但是残缺路径 g¯ 的局部贡献值不可知,需要与视路径连接并以重追踪构筑完整光路之后才能够得到
    • 因此对于残缺光路的重采样就是直接在子空间内部均匀采样
  • 存储
    • 重追踪后镜面点的入射方向不可知,残缺子路径直接根据镜面子空间 ID 进行子空间存储
  • PDF 评估
    • 倒数估算难以给出准确的 PDF 评估,采样子空间时不在追求全局最优,而是考虑光照能量在子空间之间的流通情况
    • Γ[T,S] 视子空间 T 中的视子路 z¯ 和镜面子空间 S 中的残缺光子路 h¯y 的链接在冲追踪之后得到的完整路径的贡献值的期望

SPCBPT & Proxy Tracing

  • 代理追踪和子空间概率连接天然地就能得到良好的结合,我们使用代理追踪处理那些镜面投射光路,而使用SPCBPT 来处理那些一般的路径
  • 代理路径追踪能够补全 SPCBPT 的短板