URP管线下的SSAO
- 启用Downsample可以降低纹理采样,对效率提升作用很大,URP源码中降采样比例是1/4,可以通过修改源码改变这个值,或是通过扩展SSAO参数为每张生成的中间纹理指定降采样系数,以达到视觉表现和效率的平衡;
- AfterOpaque选项是将计算和应用SSAO放到不透明物体渲染之后,以改善在tiled-based的GPU架构下的效率,可能会带来一定的物理不准确,但移动平台往往可以忽略,建议勾选;
- Source选项是灰的是因为设置为延迟渲染,所以默认就会生成Depth和Normal的信息,如果改为前向渲染,就可以只使用Depth来生成Normal,并调整生成的Normal精度质量;
- Intensity为AO强度,只影响混合设置,一般不影响效率;
- Radius是AO信息计算的采样半径,越大GPU开销越大;
- DirectLightingStrength一般不影响效率;
- SampleCount采样次数,值越大性能开销越大,虽然表现较好但往往得不偿失,在移动平台上要在最小采样次数下调整AO效果;
SSAO进一步优化
- 使用HBAO(horizon-based ambient occlusion)或GTAO(Ground Truth Ambient Occlusion)方案替代SSAO;
- 针对SSAO的Shader指令做进一步优化;
- 可以采用烘焙AO到光照贴图的方案替代SSAO方案;