Ambient Occlusion in Cycles


I download the Blender 2.63 testbuild and was doing a scene when I noticed AO in Cycles. Doesn’t Cycles already have AO because when you render there aren’t dark shadows.

Nope. Cycles renders don’t have dark shadows because this rendering engine uses Global Illumination. AO is a separate pass which you can use in compositing CG elements with a real footage (or do whatever esle you want to do :wink: )

Moved from “General Forums > Blender and CG Discussions” to “Support > Lighting and Rendering”

It depends on your scene. Ambient Occlusion is actually a fake of one of the aspects of Global Illumination as I have come to understand it.

Shadows are created primarily by light sources such as a lamp or sun. What Global illumination has is occlusion of light in areas where rays can not reach. (not to be confused with rays coming from an actual light).

For example a light source coming from the environment. I am not sure how it works in Cycles. But some render solutions fire rays out from from the surface to see what light will hit the surface. This is just an over simplified explanation. But say of you had a ball on a ground plane. The ground plane will look for what light can hit it. If it finds nothing (usually because something is in the way of that ray and the light source) it will make a “shadow”. Also if the ball sees light hitting the ground it will use that light on the ball. And then the ground will see that light and mix it with the “shadow”.

So now you take a particular scene. It will be a combination of environment light if any, any lights, bounce cards and so on. All this will be added up by Cycles ( How ever it gets calculated in Cycles) to become the lighting model for that scene. What areas are occluded and what areas receive light.

Lights themselves create shadows but these are not the same as areas of occlusion. Though they can more or less be considered the same for all intents and purposes. However they are not calculated the same. And I think I saw in a tutorial that it is not recommended to use standard lights in Cycles. That may have changed. Not sure. But suffice to say shadows from lights are different entirely.

Here is an image rendered in Cycles. There are no lights. Just two portals (one you can not see) that allow the background environment to come into the room.

I am not sure what the implementation of AO in Cycles is. But tytpically AO is just a fake. And in LightWave for example you can use Ambient light and turn on AO for Global Illumination (not the same as surface shader AO or other methods). In LightWave it is a method to speed up renders of interior scenes.

Otherwise occlusion (not AO) is already present in Cycles, just as it is in other render solutions that use some form of Global Illumination. Hope this helps.


I sent recently difference between AO and not AO in cycles.


1 Like

Interesting tests. Thanks for posting.

Here is the manual reference which in so many words confirms what I was trying to say about it:

Ambient Occlusion

Ambient occlusion is a lighting method, based on how much a point on a surface is occluded by nearby surfaces. This is a trick that is not physically accurate, but it is useful to emphasize shapes of surfaces, or as a cheap way to get an effect that looks a bit like indirect lighting.

  • Factor: The strength of the ambient occlusion, value 1.0 is like a white world shader.
  • Distance: Distance from shading point to trace rays. Shorter distance emphasizes nearby features, longer distance makes it also take objects further away into account.

Lighting from ambient occlusion is only applied to diffuse reflection BSDFs, glossy or transmission BSDFs are not affected. Transparency of surfaces will be taken into account, i.e. a half transparent surface will only half occlude.

From those tests, it appears as if it actually adds some ambient light and then calcs some occlusion.

Interesting to see this develop. Yet another rendering option in Cycles for those who need it. :eyebrowlift: