环境光遮挡是遮挡环境光的物理近似方法。如果不考虑环境光的后处理,为什么使用AO?环境光遮挡与常规的延迟照明具有相同的输入,再加上内核和噪声贴图,但从本质上讲,可以用相同的方式进行处理。是否有理由将其视为后期处理而不是延迟的照明/阴影?

#1 楼

这可能会使术语重用。环境光遮挡本身并不是后处理效果。屏幕空间环境光遮蔽是一种后期处理效果,它使用深度缓冲区来近似环境光遮蔽所产生的效果。

环境光遮蔽是一种相对昂贵的全局方法,而屏幕空间环境光遮蔽是真正的廉价替代品时间动画。只有后者被视为后期处理。

评论


$ \ begingroup $
造成混淆的另一个可能原因是,环境光遮挡在大多数情况下被渲染为单独的通道,并在以后添加。使其看起来可能是后处理效果。
$ \ endgroup $
–bram0101
17年6月1日在18:41

$ \ begingroup $
@ bram0101是否适用于未使用屏幕空间环境光遮挡近似的环境光遮挡?
$ \ endgroup $
– trichoplax
17年6月1日在19:48

$ \ begingroup $
@trichoplax是的,例如使用Voxel-Cone跟踪AO。在该方法中,将AO作为单独的通道添加
$ \ endgroup $
–RichieSams
17年6月1日在22:10

$ \ begingroup $
@trichoplax使用脱机渲染引擎可以完成很多工作,尤其是使用VFX或常规3d动画时。可能有一些单独渲染它的原因。 1.大多数着色器和灯光没有打开按钮,这意味着您必须为其创建渲染通道。 2.通行证可以更快地渲染或更容易设置。 3.在VFX或某些动画作品中,它们以一系列不同的方式渲染,然后将它们添加到后期以进行更多控制。我说的是离线渲染引擎中的ao,所以它是光线追踪的ao。
$ \ endgroup $
–bram0101
17-6-27 at 5:46



$ \ begingroup $
这些评论表明它并不像我描述的那么简单,还有一个更好的答案有待发布...
$ \ endgroup $
– trichoplax
17年6月2日在9:35

#2 楼

环境光遮挡不是一种技术,而是一种概念。可以将其实现(并近似)为诸如SSAO,SSDO,HBAO +等的后处理效果。 />是否有理由将其视为后期处理而不是延迟的光照/阴影?


我个人认为延迟渲染是一种后期处理效果,但这取决于根据您对后处理效果的定义。对于此答案,我将假定它是不需要渲染屏幕空间四边形或(三角形)以外的任何几何图形的任何东西。屏幕空间AO技术涉及读取深度和/或正常缓冲区以确定是否应遮挡光线。这些技术的扩展涉及时间混叠以及场景中对象的遮挡。有些人还将AO应用于场景的各个部分(例如,动态和静态对象)。在这里,后处理的定义可能会变得模棱两可。

有些渲染器在光照通过之前对AO进行了后处理。通常,这些渲染器执行Z前置渲染,或者是灯光前置渲染器。可以在具有较低VRAM或eDRAM的设备上使用,以保留内存,因为您还可以在光照过程中进行色调映射。

世界空间静态技术

可以使用光照贴图特别是对于静态环境,可以轻松地离线计算AO。同样,艺术品也可以具有AO纹理。例如,可以在有或没有SSAO的情况下使用AO字段和贴花来改善某些对象的AO(Nathan Reed)。另一个示例包括在角色的脚周围放置一个圆圈。

世界空间动态技术

NVidia提出了VXAO,VXAO是基于体素的环境光遮挡效果,可以在屏幕不可见的地方帮助模拟AO。这一直是SSAO的缺点之一。 SSAO的另一个问题是,必须在每个帧上对其进行计算,并且必须进行时间混叠(对于VR不利,尽管有人对此进行了改进)。 VXAO还可以减少具有许多AO纹理的内存/生产成本。此外,VXAO的更新可能会有相当大的延迟(如果应用程序需要这样做)。但是,VXAO的性能成本很高。

其他应用程序(例如,基于体素的游戏)可以通过使用基于邻域信息的算法非常轻松地逼近AO。这有点类似于VXAO,但没有栅格化(体素化)步骤,并且它们可能具有更粗略的近似值。 t后处理效果。