Motion Research Group
Thomas K. Uchida, BASc, PhD
Postdoctoral Fellow
Motion Research Group
Systems Design Engineering
University of Waterloo
Office: E3-3169
Phone: 519-888-4567 x33825
Department Fax: 519-746-4791
Email: tkuchida[at]uwaterloo.ca
Supervisor: Professor John McPhee
Thomas K. Uchida

Course Project: Advanced Ray Tracer (CS 688)

GOLD MEDAL awarded for best final project in class.
Ray tracing is a method of producing realistic images given a user-defined 3D scene. In its simplest form, rays are traced from the eyepoint, through each pixel in a virtual screen, and into the scene. The colour of each pixel in the final image is determined based on the colour of the closest object that the corresponding ray intersects, the colour and occlusion of the light sources illuminating the point of intersection, and the fate of the reflected and refracted rays. This project involved the implementation of 10 objectives of my own choosing, which are described below. The ray tracer was programmed in C++, and the scenes were defined hierarchically using Lua scripts.
Show Objective 0: Antialiasing using adaptive supersampling
Show Objective 1: General quadrics added as primitives and combined using constructive solid geometry
Show Objective 2: Texture mapping and Perlin noise
Show Objective 3: Bump mapping and normal mapping
Show Objective 4: Reflection and refraction calculated using Fresnel equations
Show Objective 5: Light intensity through dielectrics calculated using Beer-Lambert Law
Show Objective 6: Caustics using photon mapping
Show Objective 7: Increased efficiency using hierarchical bounding volumes
Show Objective 8: Depth of field using Monte Carlo stratified sampling of the aperture
Show Objective 9: Soft shadows using area light sources
Show Objective 10: An attractive scene that demonstrates these features

Return to main page


Motion Research Group | People  ]
Systems Design Engineering | University of Waterloo  ]
[  200 University Avenue West | Waterloo, Ontario, Canada | N2L 3G1  ]

Last updated: May 6, 2011.