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).