View Full Version : correct use of AO (ambient occlusion)

05 May 2009, 04:58 PM
i read a post some time a go that most people don't use in a correct way an AO pass. I can't find that post but i think it has a link to some tips site.

Is there some theory behind this technique ?

I would like to know how is the correct way to use it, or some examples in how it's implemented.

Also if you can share some personal techniques or experience it woulb be nice. Thank you.

05 May 2009, 05:03 PM

05 May 2009, 05:54 PM
LOL I saw this post and was thinking to my self "Crap am I doing this wrong?" but as I read through it I couldn't understand the difference about what he was talking about until I saw the image at the very bottom where he saws the layer passes and realized I was safe :P I guess it never occurred to me to do it the "Wrong" way. :D

05 May 2009, 05:59 PM
One thing I can tell regarding passes is this:

I won't go into math unless it will be necessary, but when doing passes for compositing (especially with MB and DOF) is that you can NOT multiply layers on compose. Only thing that you CAN do is add layers. So i.e. with occlusion is you have to render occlusion (or ambient light) with color multiplied with occlusion and then add it to other passes. To give an example of what the passes might be here is a little breakdown of what is usually rendered:
1. Texture * Lightpass (blinn, lambert etc)
2. Specular
3. Reflections
4. Texture * Ambient Occlusion
5. Texture * Indirect Light

With all the passes above you and simply ADD them in compose to get the final image.
The quick explanation of why you cannot mult passes on compose is that when renderer samples the image it multiplies the resulting color before filtering (gathering weighted samples in stochastic sampling to result final pixel), but if you want to mult on compose you would get artifacts (especially in MB and DOF) because all the weighted sample information is lost, and you cannot multiply the pixels correctly.

At our facility here we had a special software that would output samples and their position instead of pixels to do multiplication in post for some complex scenes, where there would not be enough memmory to compute light, occlusion, gigs of textures and gigs of pointcloud files in a single pass.

Hope that helps

CGTalk Moderation
05 May 2009, 05:59 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.