Unity AO SSAO


AO是干嗎的?

  Ambient Occlusion,環境遮罩,可以類比陰影,前者算是環境光的陰影,后者是直接光照的陰影,描述了場景中

  凹凸遮擋下的環境光表現,模擬的是大自然中間接光的不散射效果

AO效果怎么實現,在渲染中?

  1. 最好的方式,就是以當前點出發,在其半球面上向各方向發射大量光線,計算其平均的可見性,來得出一個曝光

   度,比如有一半的方向不可見,發出的光線被遮擋了,那么曝光度就是0.5,但是這樣計算量太大,適合離線處理

  2. SSAO,Screen Space AO,基於屏幕空間的AO,跟后處理的普通原理一致,是基於屏幕像素的,這樣的話,就

   與場景復雜度沒有關系了,而且可以實時計算

SSAO原理?

  將深度緩存當成場景屏幕化的代表,用深度比較計算代替光線發射遮擋計算,如果有法向的緩存,以R為半徑,在當前點的半球空間

  隨機采樣一些點,以這些點與當前點的深度關系,計算出當前點的曝光度

SSAO的問題

  當采樣點較少時,會產生不平滑的問題,這時需要使用平滑濾波的方式來消除采樣不足產生的噪點   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM