What's the difference between ambient lighting,ambient illumination and ambient occlusion ? What are they? What's the difference between them?
2 Answers
They approximate indirect lighting in a local illumination light model.
In other words, the interaction between lights bouncing from one surface to another is not a part of local illumination; we call the light model where bounces are considered global illumination.
Ambient lighting and occlusion simulate accumulated light (or find areas where indirect light has difficulty accumulating in the case of occlusion) without actually doing the complicated work of bouncing photons around the scene.
This is a necessary hack for lighting in general purpose real-time rendering.
To begin with, most real time rendering is done by rasterization, rather than ray tracing. While much faster, it means that we're essentially imitating how light works rather than simulating it. We get an even bigger speed boost by "baking" our static lighting information into the environment.
Ambient lighting is the base level of light, or the minimum amount of brightness everything is rendered at. Therefore, a white surface without any light sources will be as bright as the ambient light level. In a non-normalized lightmap, every point will be at least whatever this value is. This is usually used to make up for lack of...
Ambient illumination, usually called Global illumination, which is light that bounces from one surface to another. For example, if you shine a bright white light on a flat green wall, that light will bounce off and illuminate the other walls in green.
However, global illumination can be processor intensive, so...
Ambient occlusion is often used to support the scene. Rather than calculate how much light each point in a scene receives, we instead calculate how much light would be blocked (or occluded). There are various implementations of ambient occlusion, the most common being screenspace, which uses the depth buffer - it isn't "realistic," strictly speaking, as detailed further in Sean Barrett's article Corners Don't Look Like That: Regarding Screenspace Ambient Occlusion, but makes things more interesting than just having flat walls.
-
\$\begingroup\$ Thanks for the reply.What is Sky occlusion?Is Sky occlusion part of Global Illumination? \$\endgroup\$ Feb 22, 2015 at 1:17
-
\$\begingroup\$ No. The sky is often treated as a very large light. But since calculating "how much of the world can the sky see" can be an intense process for outdoor scenes, we instead calculate how much of the world is "hidden from the sky," and map the light level based on that. For indoor scenes with very few exposed areas it's faster to do the opposite: sky illumination. \$\endgroup\$– jzxFeb 22, 2015 at 1:30
-
\$\begingroup\$ Can you explain in more depth ambient lighting and ambient occlusion? \$\endgroup\$ Feb 22, 2015 at 1:42
-
\$\begingroup\$ That's really all there is to explain. Ambient lighting is just "the least amount of light there is." As far as ambient occlusion goes, the rest is implementation specific, and most of it is stylistic. These are basically all just techniques that give a certain "look" to different rendering engines, many have nothing to do with realism and just make things look "better," which often just means "less flat," as seen in gaming.stackexchange.com/questions/95161/… \$\endgroup\$– jzxFeb 22, 2015 at 1:51
-
\$\begingroup\$ I especially like this quote: "HBAO is a more recent algorithm, it produces much closer approximations of... an approximation." \$\endgroup\$– jzxFeb 22, 2015 at 1:53