Similar to how an artist composites an scene layer by layer, a ray-tracer can be built up by adding simple operations...


Ambient color of object


Diffuse color of object using surface normal


Directional Lights


Reflections


Shadows


Anti-Aliasing Multi-Sampling: None


Anti-Aliasing Multi-Sampling: 1x


Anti-Aliasing Multi-Sampling: 2x


Anti-Aliasing Multi-Sampling: 4x


Anti-Aliasing Multi-Sampling: 5x


Anti-Aliasing Multi-Sampling: 9x


Anti-Aliasing Multi-Sampling: 16x


Refraction


Planar Texture Mapping with Bi-Tangents