Global Illumination (under construction)
Using ambient occlusion is an easy way to approximate global illumination without the cost of radiosity calculations. A simulated sky sphere is applied around the entire scene. As each surface point is shaded, raytracing is used to determine the amount of sky which the point has line of sight with. The final ratio of sky to occlusion is multiplied with the ambient coeffecient. Thus, points in cracks or under other objects see less of the sky and recieve less ambient lighting.

While this method produces fairly realistic results, I wanted to see what kind of interesting affects could be created by adjusting the ambient occlusion parameters and logic statements. Possibly, a lighting model for non-photorealistic rendering (NPR) could be created. First, I began with a basic occlusion shader:
So, my basic strategy came in in several stages:
- Increment the hit count by numbers greater than 1
- In darker areas, begin counting down, thus the shaded areas become highlights.
- Use fractal brownian motion to modulate the number of samples per surface point.
The resulting images has a very grainy, cartoon-like appearance:
