环境光遮蔽
环境光遮蔽(英語:)是计算机图形学中的一种着色和渲染技术,用来计算场景中每一点是如何接受环境光的。例如,一个管道的内部显然比外表面更隐蔽(因此也更暗),越深入管道光线就越暗。环境光遮蔽可以被看作是光线能到达表面上每一点的能力的数值。[1]在拥有开放天空的场景中,这是通过估算每个点的可看见天空的大小来完成的;而在室内环境中,只考虑一定范围内的物体,并假设墙壁是环境光源。处理结果是一个漫反射、非定向的着色效果,并不会形成明确的阴影,只是能让靠近物体及被遮蔽的区域更暗,并影响渲染图像的整体色调。环境光遮蔽常被用作后期处理。
与局部方法如Phong著色法不同,环境光遮蔽是一种全局方法,意味着每个点的照明是场景中其他几何体的共同作用。然而,这只是一个非常粗略的近似全局光照。仅通过环境光遮蔽得到的物体外观与阴天下的物体相似。
第一个可以实时模拟环境光遮蔽的算法是由Crytek(CryEngine 2)的研发部门开发的。[2] 随着英伟达2018年发布的实时光线追踪硬件,光线追踪环境光遮蔽(英語:)在游戏和其他实时应用中成为可能。[3]虚幻引擎在4.22版本中加入了这个特性。[4]
实现
在没有硬件辅助的光线追踪环境光遮蔽时,实时应用程序,如电脑游戏,可以使用屏幕空间环境光遮蔽(英語:)或水平基准环境光遮蔽(英語:)作为真实感环境光遮蔽的一个更快速的近似处理,使用像素深度而不是场景几何形成一个环境光遮蔽地图。
环境光遮蔽与可访问着色法相关,它根据表面被各种元素(如污垢、光线等)接触的容易程度来决定外观,以其相较之下的简单性和高效性在动画制作中得到了广泛的应用。
环境光遮蔽着色器能让人更好地感知三维的显示对象。一篇论文中的感知实验的结果表明,漫反射均匀天空照明下的深度提示优于直接照明模型。[5]
分类
- SSAO
- 螢幕空間環境光遮蔽(英語:)
- SSDO
- 螢幕空間定向定向遮蔽(英語:)
- RTAO
- 光線追蹤環境光遮蔽(英語:)
- HDAO
- 高分辨率環境光遮蔽(英語:)
- HBAO+
- 水平基準環境光遮蔽(英語:)
- AAO
- Alchemy Ambient Occlusion
- ABAO
- 角度基準環境光遮蔽(英語:)
- PBAO
- 預烘焙環境光遮蔽(英語:)
- VXAO
- 體素基準環境光遮蔽(英語:)
- GTAO
- Ground Truth based Ambient Occlusion[6]
认可
2010年,海登·兰迪斯、肯·麦高和希尔玛·科赫因为他们在环境光遮蔽渲染方面的工作获得了学院科学技术奖。[7]
参考资料
- (英文)Miller, Gavin. . . 1994: 319–326.
- (英文). ARVIlab. [2018-11-26]. (原始内容存档于2018-11-26).
- (英文). Nvidia. [2019-12-21]. (原始内容存档于2019-06-18).
- (英文). ExtremeTech. [2019-12-21]. (原始内容存档于2019-04-16).
- (英文)Langer, M.S.; H. H. Buelthoff. . Perception. 2000, 29 (6): 649–660. CiteSeerX 10.1.1.69.6103 . PMID 11040949. doi:10.1068/p3060.
- (英文) (PDF). [2019-12-21]. (原始内容存档 (PDF)于2020-02-24).
- (英文)Oscar 2010: Scientific and Technical Awards (页面存档备份,存于), Alt Film Guide, Jan 7, 2010