home | results
CS348B Final Project Proposal - Spring 1999-2000
Inspiration
I decided that I'd like to model caustics.
Caustics are global illumination phenomena and are therefore challenging
to model. I considered rendering the caustics that form on the walls and
floor of a swimming pool when the surface is disturbed. I also considered
rendering the caustics formed by light focussing through a glass of wine.
Here are a couple of the photographs that I took of wine glass caustics:

Another type of caustic that I considered
was the effect of light focussing through a glass ball onto a diffuse surface.
I finally picked an image containing the caustics cast onto a surface under
a ring of metal. Here are a couple of the photographs that I took of this
effect:

The second image is particularly interesting.
The light is reflecting from the back wall of the ring onto the inside
of the front wall of the ring and casting a second caustic inside the ring
on the nearest side. This is similar to the effect you get when there are
two light sources in the scene.
Objective
The objective of my final project is
to render the following image including the effect of the caustic inside
the ring:
Technique
The technique I will be using is the
Photon mapping technique described in Henrik Wann Jensen and Niels Jørgen
Christensen's Siggraph 2000 notes for the course entitled "A Practical
Guide to Global Illumination using Photon Maps".
Potential extensions
The following items are interesting
extensions to the project. I would like to do one or more of them if I
have time:
-
Dispersion through a polyhedral crystal
(taking advantage of the LRT Spectrum abstraction).
-
Addition of diffuse objects to demonstrate
color bleeding.
-
Rendering of caustics generated by the
curved reflector from "Illumination from Curved Reflectors, Hanrahan &
Mitchell, SIGGRAPH 92 Proceedings".
-
Animation of the ring caustic as light
source is moved around (the gradual appearance of the double caustic shown
above will be interesting).
Technical challenges
At the time of writing, I think that
I will need to modify LRT in the following ways. However, I am still thinking
and investigating and some of the following assumptions may be wrong. There
may also be other aspects to the work that are needed that I am not yet
aware of:
-
Implement specular reflection (and transmission
for extensions).
-
Implement russian roulette photon tracing.
-
Improve/modify the algorithms for ray
tracing to handle the recommended type of distribution ray tracing (I have
not read section 4 on rendering yet).
-
Modify the camera model to carry out
the multiple steps required to render with photon maps; shooting photons
into the scene from the point of view of each light sourse, then doing
ray tracing from the eye point. Possibly implement projection maps.
-
Implement the system to store and organize
the photons into a balanced kd tree and to locate the photons near to the
ray hit point.
-
Ensure that LRT handles textures sufficiently
for my needs - probably.
Duncan Riach - May 19, 2000