10样本值采样核心 SSAO (屏幕空间环境遮蔽)优化(WebGL实现Demo)

Demo:http://www.artvily.com/renderCase?sample=ssao6

效果图:

SSAO 采样越少渲染效率越高,但是如果不加优化图像质量必然越差。以上效果是10个采样核心的样本在比较大半球半径情况下生成的SSAO(当然采样次数改为9次也可以)。

主要优化的点有三个。

1.对于一个表面点来讲距离这个点太近或者太贴近这个点的切面的位置其实对环境遮蔽影响不大。因此发射的射线应该如下图分布(红线所示),当然也可以根据实际需求计算出适合自己需要的分布:

2.检测射线半径的半径随机抖动应该占比较小的比例,这里使用了30%产生抖动。

3.用两个pass来实行Blur

有了上述三方面的优化,再减少采样次数的情况下,效果要比 https://blog.csdn.net/vily_lei/article/details/87601887 还好一些。

猜你喜欢

转载自blog.csdn.net/vily_lei/article/details/87821878