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