MP3 Global Illumination

Handin info

Gallery of Spring 2006 student work

Gallery of Spring 2005 student work

Gallery of Spring 2004 student work

Gallery of Spring 2003 student work

Gallery of Spring 2002 student work

Gallery of Spring 2001 student work

For this assignment you will need some sort of spatial data structure, like a KD-tree, to perform fast range queries. You can find Scott Kircher and Andrew Colombi's WickBert KDtree implementation (in C++) here.

We now have a distributed ray tracer. Now we need to be able to make the lighting look realistic. This assignment will make the scene look as photorealistic as possible by sampling the many different paths of light from the light source(s) to the eye.

The goal of this assignment is to implement photon mapping and use it to generate an image that displays color bleeding (resulting from an LDDE path) and a caustic (resulting from an LSDE path). You will be expected to use importance sampling and Russian roulette to sample the subset of paths that contain most of the power:

In such cases, make sure to divide by the corresponding probability density function to avoid biasing your result.

You may want to develop and debug your code on a ``Cornell box'' which is just a room with colored walls and a white floor to test color bleeding, and it is easy to add a sphere to test caustics. I would encourage you to try more complicated scenes and so you can find 100, 200 and 400 polygon versions of a Siebel Center office here.

Successful implementation of the caustics and color bleeding effects will each be worth 20% of your grade. Be sure to include a picture that combines these effects, or pictures that demonstrate these effects individually. Implementation of importance sampling will account for 10% of the grade. The program is due:

10am, Monday, 16 Oct 2006.

Grading for Spring 2005:

The late penalty is 10% per day with a maximum of 5 days late.