1. 程式人生 > >Stochastic Screen Space Reflections(二):SSR

Stochastic Screen Space Reflections(二):SSR

Stochastic SSR是在SSR基礎上的改進,下面看一下SSR流程

整體流程:分塊分類->Raymarching->卷積->處理反射(得到結果)->處理artifacts(解決噪聲)->非同步處理(優化)

計算反射hit位置

將螢幕分成16×16塊tile

此處的取樣分佈引用了刺客信條黑騎的方法

黑旗算了一張Mask作為反射計算精度的權重

回到Surge的SSR,上面列出了SSR中幾種難點,比如Hi-Z等等

進行RayMarching,GGX分佈取樣

生成5張不同模糊程度的mip,作為不同粗糙度顏色結果,模擬Cone Tracing

讀取鄰居hit點顏色做混合,模擬多次射線取樣,做到射線Reuse,但這裡會有Artifact出現(如果鄰居點恰好為不同物體,或者法線角度差異過大,就會出現反射結果錯誤,出現Artifact),可以通過判斷法線夾角大小解決部分Artifact,下一節說如何處理

非同步計算部分沒翻譯= =

再來看看如果反射的結果超出螢幕渲染範圍如何解決

算出ReflectionProbe顏色作為代替

資料:

[Michele Giacolone, 2016] “Screen Space Reflections in The Surge”

[Timonen15] Ari Silvennoinen and Ville Timonen, “Multi-Scale Global Illumination in Quantum Break”, SIGGRAPH, 2015

[Wronski14] Bart Wronski, “Assassin’s Creed 4: Road to Next-gen Graphics”, GDC, 2014

 

-------by  wolf96 https://blog.csdn.net/wolf96