环境光照用来模拟光的散射,光的强度随着光的散射一直改变,这种间接光照的模拟叫做环境光遮蔽
原理是在片段上,根据周边的深度值计算遮蔽因子,这个遮蔽因子用来减少环境光照分量。遮蔽因子通过片段周围球形的多个深度样本和当前深度值进行对比得到的,高于样本depth的个数就是遮蔽因子
如果样本数量过低,会产生波纹效果,过高则影响性能,所以我们需要进行模糊处理,引入随机性,使用沿着表面法向量的半球体采样核心,在法向半球体周围采样
- 逐片段位置向量
- 逐片段的法线向量
- 逐片段的反射颜色
- 采样核心
- 用来旋转采样核心的随机旋转矢量
渲染几何体数据到屏幕纹理中,然后再发送到SSAO着色器
在单位半球中使用加速插值函数使得样本靠近原点分布,并创建一个随机旋转向量纹理平铺在屏幕上