In fact, @fooware improved the SSAO post-process one year ago (Improved SSAO2 when samples <16. Added more control over SSAO2 denoising filter. by fooware · Pull Request #13621 · BabylonJS/Babylon.js · GitHub).
I’m not sure why there’s a problem with Apple devices (except for the obvious reason: it’s Apple device)… Try the magic Ah, I think we now do it automatically when we detect a specific user agent!engine.disableUniformBuffers = true
Also, see:
If it’s the problem, try to use the geometry buffer renderer and see if that fixes it.
[…] Hum, that should do nothing, as the depth texture is now 32 bits by default with the pre-pass renderer:
[…] Ok, I could reproduce on my iPhone SE with this PG:
Forcing half float for the depth texture on my PC produces the same result.
The iPhone is using half float for the depth texture because float texture linear filtering is not supported:
Touch the screen to see the value for “textureFloat” and “textureFloatLinearFiltering”. You should get true
for the first (float textures are supported) but false
for the second (filtering float textures is not supported).
Unfortunately, we can’t do anything about it…