Search code examples
three.jsssao

Artefacts with SSAO in Three.js only on MacBook Pro (Retina)


I'm currently using the SSAO shader provided in the Three.js examples. It works perfectly on most of my machines aside from my MacBook Pro Retina. The MBP rendered SSAO perfectly until a few weeks ago (potentially after a firmware upgrade on the MBP).

As it stands, the MBP renders SSAO scenes with a huge amount of flickering artefacts all over the screen, like so:

Scene code here enter image description here

Scene found here enter image description here

This same code renders perfectly on other machines. I have seen this problem on other MBPs so I'm confident that it's not a single issue.

Aside from the firmware update, I've not changed anything on this MBP between it working and the artefacts appearing (the code is the same).

If I remove the SSAO effect then the scene renders perfectly.

Any ideas?


Solution

  • I fixed the problem by changing the 'near' property of the camera object to be a value greater than 1. Still unsure why this fixes it but SSAO now works perfectly on the Retina MacBook.