環境光遮蔽(英語:ambient occlusion)是計算機圖形學中的一種着色和渲染技術,用來計算場景中每一點是如何接受環境光的。例如,一個管道的內部顯然比外表面更隱蔽(因此也更暗),越深入管道光線就越暗。環境光遮蔽可以被看作是光線能到達表面上每一點的能力的數值。[1]在擁有開放天空的場景中,這是通過估算每個點的可看見天空的大小來完成的;而在室內環境中,只考慮一定範圍內的物體,並假設牆壁是環境光源。處理結果是一個漫反射、非定向的着色效果,並不會形成明確的陰影,只是能讓靠近物體及被遮蔽的區域更暗,並影響渲染圖像的整體色調。環境光遮蔽常被用作後期處理。

Thumb
用了環境光遮蔽的地圖(中),只有在拐角的最內側才會變暗

與局部方法如Phong著色法不同,環境光遮蔽是一種全局方法,意味着每個點的照明是場景中其他幾何體的共同作用。然而,這只是一個非常粗略的近似全局光照。僅通過環境光遮蔽得到的物體外觀與陰天下的物體相似。

第一個可以實時模擬環境光遮蔽的算法是由CrytekCryEngine 2)的研發部門開發的。[2] 隨着英偉達2018年發布的實時光線追蹤硬件,光線追蹤環境光遮蔽(英語:ray traced ambient occlusion, RTAO)在遊戲和其他實時應用中成為可能。[3]虛幻引擎在4.22版本中加入了這個特性。[4]

實現

右側的3D動畫上啟用了環境光遮蔽

在沒有硬件輔助的光線追蹤環境光遮蔽時,實時應用程序,如電腦遊戲,可以使用屏幕空間環境光遮蔽(英語:Screen space ambient occlusion)或水平基準環境光遮蔽(英語:Horizon Based Ambient Occlusion+)作為真實感環境光遮蔽的一個更快速的近似處理,使用像素深度而不是場景幾何形成一個環境光遮蔽地圖。

環境光遮蔽與可訪問着色法相關,它根據表面被各種元素(如污垢、光線等)接觸的容易程度來決定外觀,以其相較之下的簡單性和高效性在動畫製作中得到了廣泛的應用。

環境光遮蔽着色器能讓人更好地感知三維的顯示對象。一篇論文中的感知實驗的結果表明,漫反射均勻天空照明下的深度提示優於直接照明模型。[5]

分類

  • SSAO
螢幕空間環境光遮蔽(英語:Screen space ambient occlusion
  • SSDO
螢幕空間定向定向遮蔽(英語:Screen space directional occlusion
  • RTAO
光線追蹤環境光遮蔽(英語:Ray Traced Ambient Occlusion
  • HDAO
高分辨率環境光遮蔽(英語:High Definition Ambient Occlusion
  • HBAO+
水平基準環境光遮蔽(英語:Horizon Based Ambient Occlusion+
  • AAO
Alchemy Ambient Occlusion
  • ABAO
角度基準環境光遮蔽(英語:Angle Based Ambient Occlusion
  • PBAO
預烘焙環境光遮蔽(英語:Pre Baked Ambient Occlusion
  • VXAO
體素基準環境光遮蔽(英語:Voxel Accelerated Ambient Occlusion
  • GTAO
Ground Truth based Ambient Occlusion[6]

認可

2010年,海登·蘭迪斯、肯·麥高和希爾瑪·科赫因為他們在環境光遮蔽渲染方面的工作獲得了學院科學技術獎英語Scientific and Technical Academy Award[7]

參考資料

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.