Undergraduate Project – Raytracer
April 29th 2009, No CommentsOne 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
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:
