混合延迟路径追踪技术解析
1. 混合方法概述
为了提高效率,我们将镜面反射和漫反射光照分量分开处理,例如重用前一帧中与视图无关的漫反射分量。整体流程如下:
1. 射线启发式判断 :通过对前一帧未过滤的结果根据相机运动进行重新投影,然后将每个像素的结果与目标射线数量进行比较,以此决定是否需要新的射线。
2. 屏幕空间遍历 :从最后一帧的深度缓冲区开始遍历。由于只使用一个Z缓冲区层,我们假设其有一定厚度t,计算公式为:
[t = d \cdot \tan(\frac{\alpha_{fov}}{2}) \cdot \frac{w}{h}]
其中,(\alpha_{fov}) 是相机的视野,d 是片段到相机的距离,w 和 h 分别是屏幕的宽度和高度(以像素为单位)。这个厚度近似值有助于避免射线在像素边缘穿透封闭表面。在屏幕空间射线步进过程中,如果采样点位于深度缓冲区之后且超出可接受的厚度范围,则停止屏幕空间遍历,将该射线分类为未命中。为解决读取前一帧辐照度结果不准确的问题,我们存储一个不包含与视图相关分量(镜面反射)或 alpha 混合几何的缓冲区,并通过一个常数因子补偿能量损失。最后将射线步进结果写入射线长度缓冲区,并重建前一帧缓冲区中的获取位置。
3. BVH 遍历 :在屏幕空间投射结束的位置继续在 BVH 中进行射线遍历,并评估辐射值。如果未命中,则将天空盒获取结果写入累积缓冲区,该缓冲区存储所有射线投射的辐射总和。可以根据估计的瓣大小从过滤后的 mip 级别读取,以减少方差。
4. 过滤 :在合成遍历结果之前
超级会员免费看
订阅专栏 解锁全文
1230

被折叠的 条评论
为什么被折叠?



