Flicker problem with Approximate Ambient Occlusion

I have used approximate ambient occlusion for several still renders and have been quite impressed by it. I recently used it for an animation and it didn’t go so well. There is an obvious flicker between frames where areas are alternately very dark or light. Here is a sample: http://rapidshare.com/files/141064077/flicker.avi.html

I tried increasing the “passes” setting from 0 to 1, but that increases the render time to the point of being unusable. Also, I’m not sure if that should be different from frame to frame.

This was rendered on a renderfarm. Perhaps unique hardware/software setups behave differently?

The meshes where the flicker occurs are clean, open meshes with no duplicate vertices or overlapping faces. The normals are all facing outward.

I know the feature works since it was used in Peach. I just can’t get it to work for me.

Any help would be much appreciated.

I had a similar problem. Actually, mine was a bit worse. It has something to do with a combination of occlusion settings, shaders, and camera angle/distance. Is the occlusion on plain? Skycolor? Is it set to 1 or something else. Are you using simple lambert shaders? What type of lights do you have?

Sometimes I think this happens no matter what you do…

But we can try to help…

The occlusion is set to add a plain color at an energy of 1.5. The shaders are lambert and oren-nayer. The lighting setup is simply a raytraced sun and a hemi fill light.

I also find it odd that the flicker only happens in part of the image, even though the buildings share common geometry and shaders. I agree that it seems angle dependent. When the camera is translating only the flicker isn’t a problem, but when the camera starts to rotate the flickering starts.

I’m glad to hear that it isn’t just me who’s seeing this. I’ve resigned myself to raytraced AO for now with high ray count to avoid graininess. I might try the hemisphere of spotlights too.

have you tried to reduce the error tolerance for AAO?

Check to see if you have any verticies overlapping, and check the normals. That could be the problem.

Even Peach had flickering. If you watch the bunny’s armpit area at about 2:37 on the High Definition version, you can see ambient occlusion flickering.

I’ve noticed 2 things that could cause this…

When rendering on multiple clients, 32-bit clients sometimes render different than 64-bit clients. Mainly with long camera shots. It could just be a “math thing”.

The other could be with “thin” objects (both 32/64 clients). If flickering goes away when you move the camera closer, you may have objects with thin meshes. I can only guess that the renderer gets confused about which face is in front (rounding errors?) when you have faces too close to each other (and the camera is so far away).

You’ll probably get a fish eye effect, but you could try moving the camera closer and set the camera lens smaller (wider angle).

It might also have to do with the energy setting. The first time I encountered this was when i changed this setting.

I was having the same problem (i think), by reducing the error tolerance, like Kai said, you should get nice smooth AO renders.