Raytracer
Link to this picture

Shadowing test, where each colour value is multiplied by the dot product of the light beam and the surface normal.
Link to this picture

Multiple lighting test - two white and one red light, all in different positions.
Link to this picture

The obligatory chessboard texture (created by XORing X, Y and Z components together).