环境光遮蔽

环境光遮蔽（）是计算机图形学中的一种着色和渲染技术，用来计算场景中每一点是如何接受环境光的。例如，一个管道的内部显然比外表面更隐蔽（因此也更暗），越深入管道光线就越暗。环境光遮蔽可以被看作是光线能到达表面上每一点的能力的数值。在拥有开放天空的场景中，这是通过估算每个点的可看见天空的大小来完成的；而在室内环境中，只考虑一定范围内的物体，并假设墙壁是环境光源。处理结果是一个漫反射、非定向的着色效果，并不会形成明确的阴影，只是能让靠近物体及被遮蔽的区域更暗，并影响渲染图像的整体色调。环境光遮蔽常被用作后期处理。

与局部方法如Phong著色法不同，环境光遮蔽是一种全局方法，意味着每个点的照明是场景中其他几何体的共同作用。然而，这只是一个非常粗略的近似全局光照。仅通过环境光遮蔽得到的物体外观与阴天下的物体相似。

第一个可以实时模拟环境光遮蔽的算法是由Crytek（CryEngine 2）的研发部门开发的。 随着英伟达2018年发布的实时光线追踪硬件，光线追踪环境光遮蔽（）在游戏和其他实时应用中成为可能。虚幻引擎在4.22版本中加入了这个特性。

实现

在没有硬件辅助的光线追踪环境光遮蔽时，实时应用程序，如电脑游戏，可以使用屏幕空间环境光遮蔽（）或水平基准环境光遮蔽（）作为真实感环境光遮蔽的一个更快速的近似处理，使用像素深度而不是场景几何形成一个环境光遮蔽地图。

环境光遮蔽与可访问着色法相关，它根据表面被各种元素（如污垢、光线等）接触的容易程度来决定外观，以其相较之下的简单性和高效性在动画制作中得到了广泛的应用。

环境光遮蔽着色器能让人更好地感知三维的显示对象。一篇论文中的感知实验的结果表明，漫反射均匀天空照明下的深度提示优于直接照明模型。

分类
SSAO
螢幕空間環境光遮蔽（）
SSDO
螢幕空間定向定向遮蔽（）
RTAO
光線追蹤環境光遮蔽（）
HDAO
高分辨率環境光遮蔽（）
HBAO+
水平基準環境光遮蔽（）
AAO
Alchemy Ambient Occlusion
ABAO
角度基準環境光遮蔽（）
PBAO
預烘焙環境光遮蔽（）
VXAO
體素基準環境光遮蔽（）
GTAO
Ground Truth based Ambient Occlusion

认可
2010年，海登·兰迪斯、肯·麦高和希尔玛·科赫因为他们在环境光遮蔽渲染方面的工作获得了。

参考资料

三维计算机图形学
全局光照算法