屏幕空间环境遮挡(SSAO)是一种模拟场景辐射着色型外观的技术,其方法为利用储存在 G-Buffers(几何体缓存)中的位置信息。 该技术可生成极其逼真的间接照明,哪怕在完全不使用光照贴图 / 光照网格的场景中,且支持静态和完全动态的场景元素。
我们目前支持两种 SSAO 技术:
第一种称为 Ambient Occlusion(环境遮挡),会朝所有方向的每个像素”发射”一定数量的射线,使用深度信息判断周边像素是否可能遮挡入射光照。 在延迟渲染模式下,该技术使用法线缓存来改善视觉品质,并减少遮阴伪影。 正向渲染模式下不能使用该技术,因为缺少法线缓存;法线要通过屏幕空间偏导数计算,其结果精度较低。 因此,延迟渲染下的视觉品质通常较好。
第二种技术是 Volumetric Obscurance(体积遮蔽)。 该技术基于线积分,使用深度信息计算。 与环境遮挡技术相比,体积遮蔽获得相同品质所需采样较少,因此性能要好得多;并且,因为该技术无需法线信息,在正向和延迟渲染模式下也有一致的品质。 所以体积遮蔽是两者中的优先选择。
环境遮挡属性
下图是仅显示环境遮挡效果的外观,可使用在属性中启用的调试模式切换。
Samples(采样): SSAO 采样数量(设置越高,质量越高,但性能越低)
Range(范围): 像素周边球体范围,以世界单元为单位,SSAO 会在该范围内采样。
RangeFactor(范围因数): 减少光晕伪影的调整值。 值越大,通常导致更强的光晕伪影
Offset(补偿): SSAO 深度偏移。 减少自遮蔽伪影的调整值。
体积遮蔽属性
下图是仅显示体积遮蔽效果的外观,可使用在属性中启用的调试模式切换。
VOSamples(VO 采样): 采样数量。 12 采样时,该效果使用两个范围进行计算。 这些范围可通过 Inner/Outer Range(内部 / 外部范围)和 MaxDistance(最大距离)选项调整。
Inner/OuterRange(内部 / 外部范围): 调整效果的范围。 通常,内部范围大约是外部范围的一半。
Inner/OuterMaxDistance(内部 / 外部最大距离): 计算时会考虑的最大距离。 这用于减少光晕伪影。
Threshold(阈值): 映射为无遮挡的最小值。
常用属性
Amount(量): 控制 SSAO 效果的强度。
FilterTechnique(过滤技术): 可使用的过滤技术为: Box / Gaussian_5_Samples / Gaussian_9_Samples / Adaptive。 通常,带一个模糊通路的 Gaussian_5_Samples 技术是最佳的性能 / 质量折中方案。
NumBlurPasses(模糊通路数量): 用于模糊环境遮挡结果的模糊通路数量。
DebugMode(调试模式): 启用该选项仅显示 SSAO 效果,而非将其混合到场景中显示。 使用该功能时,您应关闭所有其他后期处理器。
UseHalfResolution(使用半分辨率): 启用该选项使用一半尺寸的渲染目标来生成 SSAO。 因为可以在不明显劣化质量的前提下提升性能,建议将该属性设为 true。
转自:
阅读(370) | 评论(0) | 转发(0) |