0%
基于子空间的双向路径连接渲染技术(5)
代理追踪技术
处理镜面连接
- 视子路末端顶点在漫反射表面上,光子路 末端顶点 在光滑表面上
- 固定视子路,重新采样光子路
- 目的:让光滑表面的 BSDF 表现正常
- 固定 重新采样 使得 的 BSDF 表现正常
- 如果
也是光滑表面,则也需要重追踪采样
- 也就是说如果 末端有
个连续的光滑顶点,则需要重新采样
- 采样过程:
- 反向追踪
- 先根据
重追踪
- 如果还有光滑顶点,则继续( 重追踪 ,以此类推),否则停止
- 材质不变
- 保证重追踪的顶点材质和之前相同
- 这样可以让一条路径对应的残缺路径被唯一确定,简化 PDF 计算
- 不加限制:
的路径可能被
的路径重追踪得到
路径划分
- 残缺路径 包含完整视子路
、残缺光子路
- 光子路 如下

- 只需要通过倒数评估估计
- 概率为所有能够生成
的完整光子路的概率
- 表示修复操作,
就是完整路径
-
只取决于如下几个变量
- 如果 包含 ,则 不存在
- 注意:这几个变量在光子路追踪时可以获取到,因此可以在光子路追踪时进行倒数评估,减小开销
不同路径的处理
- 无偏估计
时,需要有一个辅助分布
-
可行策略集中的均匀混合
光源采样
-
- 时不使用,固定 + 随机采样 无法找到镜面约束的中间顶点
从控制顶点出发追踪
-
- :光源所处的半球空间中
均匀采样
- :根据 进行 BSDF 重要性采样
- 时不使用,理由同上
从镜面点出发追踪
- 该策略都可用
- 流程
- 从
的半球空间中采样初始方向,得到
- 接着根据
方向根据 的 BSDF
进行采样
- 知道采样
完成后停止
子空间统计量
- 统计量无法在一次评估中获取
- 优化倒数评估过程需要用到
- MIS 权重需要用到倒数评估的期望
- 使用子空间作为倒数评估的媒介
- 预追踪一部分镜面投射光路 ,取 为样本建立控制子空间,取
为样本建立镜面子空间
- 控制子空间:
控制子空间编号
- 镜面子空间:
镜面子空间编号
- 于是
的一个三维矩阵近似如下
- 注意:这个近似只会用于对 和 MIS 权重的评估,而不作为倒数评估的结果
与子空间概率连接的结合
- 代理追踪方法能够实现对镜面投射光路的高效采样
- 可以使用 SPCBPT
的思想,为光子路残缺路径建立子空间,改善光子路残缺路径的选取
细节
- 重采样
- SPCBPT 中光子路的局部贡献值
会被用于重采样,但是残缺路径
的局部贡献值不可知,需要与视路径连接并以重追踪构筑完整光路之后才能够得到
- 因此对于残缺光路的重采样就是直接在子空间内部均匀采样
- 存储
- 重追踪后镜面点的入射方向不可知,残缺子路径直接根据镜面子空间 ID
进行子空间存储
- PDF 评估
- 倒数估算难以给出准确的 PDF
评估,采样子空间时不在追求全局最优,而是考虑光照能量在子空间之间的流通情况
- 视子空间
中的视子路 和镜面子空间 中的残缺光子路
的链接在冲追踪之后得到的完整路径的贡献值的期望
SPCBPT & Proxy Tracing
- 代理追踪和子空间概率连接天然地就能得到良好的结合,我们使用代理追踪处理那些镜面投射光路,而使用SPCBPT
来处理那些一般的路径
- 代理路径追踪能够补全 SPCBPT 的短板