One of the assignments that I worked on during undergraduate studies at the University of Toronto was a raytracer, which I wrote for a 4th year computer graphics course. My raytracer took first place at the Fall 2006 Wooden Monkey competition. The prize: fame, glory, and a wooden monkey Image may be NSFW.
Clik here to view.
Clik here to view.

Raytracing Final Project (more images after the break!)
Some features of the raytracer are:
- CSGs, Arbitrary Polygonal Objects (loaded from wavefront obj files)
- Normals are phong interpolated for smooth shading
- Texture mapping with bilinear interpolation. Can be applied to any channel of phong model, as well as luminosity
- Reflections and refractions
- Diffuse (blurry) reflections and refractions (diffusivity can be set)
- Point lights with shadows
- Area lights: Polygonal geometry can serve as an area light. Texture can be applied to the luminosity channel of the geometry; this way the mesh can cast light with varying color and intensity over its surface.
The images below show how these features can be applied to a scene in order to enhance its visual appearance:
Clik here to view.

reflections (recursion depth: 1)
Clik here to view.

reflections (recursion depth: 2)
Clik here to view.

texture mapping
Clik here to view.

refraction (blue sphere)
Clik here to view.

diffuse reflections & refractions
Clik here to view.

area lights (and resulting soft shadows)
Clik here to view.

CSG subtractions
Finally, the images below combine the features of the raytracer. These images were submitted to the Wooden Monkey competition and took first place. In order to tune the lighting and various other parameters, thumbnail-sized images were rendered. Rendering times for full resolution images were about 2 hours each.
Clik here to view.

Scene 1 Close-up Test Rendering
Clik here to view.

Scene 1 Final
Clik here to view.

Scene 2: More Geometry
Clik here to view.

Scene 3: Colored Area Light