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 workFor 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:
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:
The late penalty is 10% per day with a maximum of 5 days late.