SSAO approximations
Sun, 20 Jul 2014 23:56:43 +0100
If you've read about the fake SSAO implementation I used in Snake on a Sphere, you'll know it's just a depth differential. It worked for me because the view was always from above the character. However, if you tilt the camera, you'll notice that the contact area has actually no ambient occlusion, and the further away, the darker it looks. That's the opposite of what ambient occlusion should be... But I can't do better with the differential of the depth... What about using the normals? I've tried replacing the depth by a normal buffer, blur it, and take the length of the differential, similar to what I did with the depth. Here's a comparison,

This is without any fake SSAO,

This is using the depth differential, the same I used in Snake o.S.,

And this is with the normal differential,

The normal differential helps to define some lines, but it also introduces shadowing of whole surfaces. On the other hand, the depth approach looks more like a toon-shader effect. Moreover, as I already mentioned, there's no ambient occlusion where the houses contact the floor. Nevertheless, I think I'm going to stick with this toon-shader look. I think it's better than no fake SSAO at all, and I can't afford any real SSAO on iOS at the moment (less now that I introduced real shadows for directional lights ;) More about that in another post). What do you think?


◀️ Older | Newer ▶️

⏪ Previous year | Next year ⏩