Download

Edge of screen eliminates Ambient Occlusion

Basically my issue appears to be that when a corner isn’t visible by the edge of the camera, the camera doesn’t render the Ambient Occlusion that that corner would have otherwise provided. It’s as if the AO is only applied to the camera and not to the actual objects… It’s incredibly noticeable especially when you’re at a perpendicular corner and move the camera up and down. Is there any way to make it so the AO stays where it should be even when the camera isn’t looking directly at the corner that’s outputting the AO?

This GIF shows what I mean. If you see the top corners of the wall, when those corners aren’t visible, the AO also is removed gradually as the camera stops focusing on the corners.

Yep, that’s how it works. There’s no information about what’s offscreen so you can get ambient occlusion from that. You could do a custom “guard band” around the screen, that draw depth only in an extra “Wide” render target that goes offscreen so as to get depth information and thus SSAO all the way to the edges, though it obviously comes with a performance cost.

I can’t say I know anything about – well, everything you said; but still, thanks for responding! I’m in the middle of experimenting with the post processing settings, and I kind of cranked the Ambient Occlusion up much higher than it probably needs to be, which must be why the AO is so noticeable when it practically slides off the screen. So AO is really only applied to the camera and not the actual objects? Also, is your solution the only way around the go about it, and is it a practical one? Sadly all my games are currently uninstalled at the moment and I can’t test one to see, but how do other games get around this? I’ve never noticed any of the edge sliding that the AO does in any games, is there a reason (or was I just never looking for it before)?