UBC CPSC 314 Project 3: Raytracer
Mar 8, 2008

Ken Pratt
Student #83817015
Login: m3v4

By submitting this file, I hereby declare that I worked individually on this 
assignment and that I am the only author of this code. I have listed all 
external resources (web pages, books) used below. I have listed all people 
with whom I have had significant discussions about the project below. 

Functionality Implemented:
 - All the stuff in the spec, including reflection, shadows, specular/diffuse/ambient lighting
 - Refraction (spheres are treated as solid, planes as infinitely thin)
 - A couple of scenes (golden spiral of spheres, transparent sphere with grid backdrop)

Important note: I added two lines to the Material specification for transparency
and refractive index. Hence, all .ray files must have those extra two lines 
defined to be processed, even if they are 0.0.

References:
 - (course notes, textbooks, OpenGL online reference)
 - Thinking in C++, by Bruce Eckel
 - line-sphere intersection: http://en.wikipedia.org/wiki/Ray_tracing
 - line-plane intersection: http://en.wikipedia.org/wiki/Line-plane_intersection
 - phong shading: http://en.wikipedia.org/wiki/Blinn%E2%80%93Phong_shading_model
 - point light attenuation: http://java.sun.com/products/java-media/3D/forDevelopers/J3D_1_2_API/j3dapi/javax/media/j3d/PointLight.html
 - refraction: http://www.cs.unc.edu/~rademach/xroads-RT/RTarticle.html	
