Demo:http://www.artvily.com/renderCase?sample=ssao5
如果一段時間加載不到資源,請刷新頁面再試
SSAO是實時渲染中常用的一種屏幕空間環境遮蔽效果,它能很好的更好的表現光照明暗的層次感和立體感,使用SSAO的畫面感覺更真實細節也更豐富。上面所給的Demo爲了清晰展示SSAO效果,所以場景中的顯示對象都是純色的。
請見下面的兩個效果圖比較.
沒有使用SSAO,畫面明暗層次很單調:
使用SSAO, 畫面明暗層次細節更豐富立體感更強:
SSAO的相關技術實現(基於OpenGL GLSL): https://learnopengl-cn.readthedocs.io/zh/latest/05%20Advanced%20Lighting/09%20SSAO/
基本技術實現這裏就不囉嗦了,但是半球空間採樣的樣本數量越大,實時渲染運行時性能越低。
這裏降低了採樣次數,儘量還能保持視覺效果的質量。主要使用了以下三個步驟來優化:
1.採樣核心的隨機轉動,使用了更豐富的隨機值,這裏用了一張細節更多尺寸更大的noise紋理作爲這個隨機值
2.在for循環中對樣本每一次計算時,再次使用隨機值對半球半徑做抖動
3.使用合適的模糊機制來平滑低採樣帶來的噪點
更好效果請見: https://blog.csdn.net/vily_lei/article/details/87821878