Photos:
Movies:
caustics1.mpg : Water caustics
duck.mpg : A duck trying to get food from passers-by using its cuteness
Project Description:
Objective: render water, caustics, and maybe a water fountain -- and if we get *REALLY* ambitious we *MAY* add particle interaction with splash. (We still don't know about the duck).
Why: It looks cool. For example, in the first image, one of the coins appears "overly" bent due to light interaction with the water surface. The human eye might sometimes miss these effects in their fullest because the water surface is moving relatively fast; in fact, this effect was not captured on purpose, but instead recognized after reviewing the video at a slower frame rate.
Challenges: appropriate surface generation to achieve realistic looking caustics (given the environment).
Tentative approach: We will use Henrik Jensen's photon mapping approach. Apropos the surface of the water, generate the surface and normals procedurally
Project Break Down:
* 1. Photon Mapping Pass One ()
- sending out rays from
the light (backwards ray tracing)
- building up the photon
map using a k-w tree, one for caustics and another for general" surfaces
- figuring out where to
send the rays (intelligent sampling)
* 2. Photon Mapping Pass Two ()
- incorporate photon
map lookup into normal raytracing
- use appropriate
interpolation scheme when using photon map information
* 3. Merging pass one and pass two
* 4. Modelling the water surface
- write a script that
generates a RIB file of water with sinusoidal perturbation
* 5. Modelling the Environment
- the ground under
the water
- maybe add some interesting
tidbits such as plants, fish, dirt, etc.
* 6. Procedural noise (optional)
- generate a noisy
underwater ground surface
* 7. Splash (***OPTIONAL***)
- particle interaction,
chaos effects, bubbles
Michael - 2, 3, 4, 5
Nader - 1, 3, 6, 7