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.****.net/wolf96