Final Project Proposal: Tom Brow, Ranjitha Kumar
Goal
We want to reproduce this (believe it or not) unretouched photograph by photographer Frans Lanting. To do so, we will need convincing models of the plant life, which accurately approximate the shapes and translucency characteristics seen here. We also need a sophisticated model of light transport that allows for light to be refracted by the water surface, reflected by the objects, and scattered by the murky pond water multiple times before reaching the eye.
Techniques
Subsurface Scattering
Like most living things, plants are not entirely opaque. Convincing renderings generally simulate light transport within a plant using subsurface scattering techniques. Our lily pad will present a special challenge in that some parts of the plant (such as the pad) are thin enough that some light exits the plant through a surface other than the one through which it entered. We may decide to model these parts using a single surface with a BSDF that accounts for scattering between layers, as in "Reflection from Layered Surfaces due to Subsurface Scattering", (Hanrahan and Krueger, 1993). Otherwise, we would need to define a primitive with a separate surface for either layer and a BSSRDF whose position parameter spans both layers.
Volume Rendering
The target image is an underwater scene, and scattering of both direct and reflected light in the water is evident. Since PBRT's volume integrator only integrates over direct light, we will need to add support for volume scattering of reflected light, and maybe multiple volume scattering. We can do both using photon mapping, which we will implement according to "Efficient Simulation of Light Transport in Scenes with Participating Media using Photon Maps" (Jensen and Christensen, 1998). The addition of photon mapping will also allow us better surface caustics, like the light focused on the pond botttom by the water's surface. We will use a common photon map for volume and surface scattering, as was the strategy in Kayvon's 2004 project.
Modeling Aquatic Plant Life
We haven't decided whether we are creating our models in Maya or procedurally generating them. It seems that lily-pads and the lily stems can be procedurally generated: the lily-pads can shaped using a cardiod function and the lily stems can be modelled using Catmull-Rom splines. We haven't found literature on creating meshes based on functions, so any helpful pointers would be appreciated.