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 variations on the general cardiod function and the lily stems can be modelled using Catmull-Rom splines. We haven't found literature on creating meshes based on functions and splines, so any helpful pointers would be appreciated. We are going to experiment with varying the thickness of the lily pad so it is thicker in the middle and thinner towards the edges; we are interested in observing how that will interact with the subsurface scattering that we are choosing to implement. (If there is time we plan to model the other underwater plant life as well, using possibly L-systems.)
Also, we think that bump mapping is necessary for capturing the bumps and veins on the lily pads.
Other Interesting Aspects
We still haven't figured out what the lighting situation and the environment looks like above the water, and we are relying on trial and error to achieve the look captured by the photograph. It appears as if there exists an optical manhole somewhere offscreen, so that we are not seeing through the water at all, and only seeing reflections of the bottom. We are pretty sure that the lilly stems, which appear as blue streaks that we see on the surface of the water, don't extend out through to the world outside.