Stochastic Screen Space Reflections(二):SSR

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wolf96/article/details/83032458

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

猜你喜欢

转载自blog.csdn.net/wolf96/article/details/83032458