光线追踪技术在渲染与可视化中的应用解析
1. 镜面光传输
与漫反射过滤不同,镜面过滤容易让反射中的细节在视觉上过度模糊。为了创建镜面波瓣的估计值,我们必须仔细挑选并权衡合并的样本。受Stachowiak的启发,我们以半分辨率追踪镜面光线,之后使用比率估计器将其解析为全分辨率。引入的偏差是可以接受的,并且该估计器能够保留法线贴图细节和粗糙度变化。主要挑战在于,在高方差场景(如粗糙金属表面)中尽可能减少偏差的同时降低噪声。在采样过程中,我们仅对微面元的分布项进行重要性采样,菲涅尔项和几何项则通过查找表进行近似。
1.1 时间累积
与漫反射通道类似,我们通过将像素位置重新投影到之前的镜面缓冲区来查找其历史信息。这通过使用Stachowiak和Aizenshtein的虚拟光线长度校正技术来实现。为避免硬件双线性过滤产生的伪影,我们需要分别对四个双线性样本进行加权,并记录总权重。若重新投影完全失败(如出现遮挡解除的情况),我们只能使用新上采样的结果。我们使用经过3×3高斯模糊处理且带有非线性特性(如感知量化器电光传递函数,在高动态范围视频信号处理中用作伽马曲线)的上采样缓冲区来隐藏闪烁亮点。
时间过滤中基于方差的邻域钳制允许我们丢弃错误的重新投影。然而,如果目标辐射偶尔不在局部YCoCg边界框内,就会出现闪烁现象。可以通过对镜面波瓣进行偏置、在时间累积后应用基于方差的后滤波器、扩大邻域的空间大小,或者简单地调暗引入偏差的亮像素来解决这个问题。我们发现闪烁主要是由时间上不稳定的最大亮度分量引起的,因此选择对结果颜色钳制的最大亮度进行时间平滑处理,这只需要额外存储一个值,且副作用较少。
1.2 漫反射波瓣的复用
镜面通道在漫反
超级会员免费看
订阅专栏 解锁全文
6657

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



