CS348b Final Project Proposal
There are two ideas I am considering for my final project. Both involve frequency-dependent light diffraction, an area which has always peaked my interest, but they require different implementations and different types of final scene presentation. I am trying to weigh the feasibility (difficulty vs. creativity vs. quality of final render) of each in making my decision, but it's tough without full knowledge of current research and pbrt implementation issues. Some relevant papers which apply to both projects:
I'd really appreciate your (the staff's) input on which project might be better so I don't unknowingly go down a treacherous path.
- "Rendering Light Dispersion With A Composite Spectral Model" by Sun, Fracchia, and Drew
- "Tone Reproduction and Physically Based Spectral Rendering" by Devlin, Chalmers, Wilkie, and Purgathofer
- "Prisms and Rainbows: A Dispersion Model for Computer Graphics" by Musgrave
Proposal 1 - Accurate Gemstones
I've always been fascinated with the amazing refractive and diffractive properties of gemstones. The Siggraph 2004 paper "Graphics Gems Revisted - Fast and Physically-Based Rendering of Gemstones" by Guy and Soler, discusses the physics of light propogration in gemstones in preparation for a real-time strategy (using OpenGL programmable shaders) for rendering accurate gemstones. The paper mentions that ray tracing is the obvious solution for computing the amazing images, but obviously suffers from long render time. Since that is not a concern, I wish to utilize the general light propogration principles outlined in this paper to render a spectacular scene of gemstones, with lighting carefully placed to maximize effect, as in the above diamond.
- Find a method for modelling gemstone geometry (or find existing models)
- Render the model as a glass object in a test scene
- Implement diffraction and absorption
- (TIME PERMITTING) Implement uniaxial (optically anisotropic) gemstones, such as sapphire and tourmaline) that will demonstrate dual images.
Real gemstones are usually lit with bright light and produce glare effects. An approach such as that taken by Dale Neal in his project would add to realism, but I probably won't have time.
Usually, gemstones are displayed with bright environment lighting in order to display their light propogration properties from any viewing direction. It may be interesting to render a scene with a single light through a gemstone to view the intricate caustics. This would probably require photon mapping for efficient sampling.
I expect to make various approximations to the properties laid out in the Siggraph paper, as they take into account complex details like polarization.
The math and physics in the paper, though comprehensive, is rather dense, especially as I have little background beyond an E&M course 4 years ago. There are several more specific papers listed in the bibliography which would help me understand the background, but many of them seem difficult to obtain as they are from old graphics conferences. Some examples:
- "Ray Tracing Formulas for Refraction and Internal Reflection in Uniaxial Crystals" by Beyerle and McDermid
- "Raytracing of Dispersion Effects in Transparent Materials" by Wilkie, Tobler, and Purgathofer
- "Gemstone Fire: Adaptive Dispersive Ray Tracing of Polyhedrons" by Yuan et al
Proposal 2 - Wet Parking Lot With Oil Slick
I've been similarly fascinated with the amazing rainbow patterns produced by the seemingly depressing combination of oil, water, and concrete in a parking lot. I wish to create a scene that exemplifies this effect, combining the propogration properties of water (transparent at direct angles, reflective at glancing angels) and the diffractive proprties of oil as thin film interference. There have been several previous projects involving thin film interference, which is somewhat encouraging for feasibility. The dispersion papers listed above should be enough material to generate the proper effect, which leaves time to focus on various modelling details.
- Model a parking lot as a heightfield with water at a certain elevation. Parking lot is diffuse, water is a glass material.
- Implement thin film interference and test render with a simple, flat oil slick
- Combine oil into parking lot scene, implementing some as oil droplets as shown above (will have to investigate a meshing technique), and some as a thin film over existing water puddles.
- (TIME PERMITTING) Implement additional scene details, such as bump mapping, a few Audi TT's, a nice sky as environment lighting, and various material alterations like wet ground (not actually covered in a puddle), cracks and tar patches, etc.
- For simplicity, I will probably model the parking lot as blacktop (a heightfield with bumpmapping), but a concrete material with discrete pebbles would be really interesting.
- To generate realistic oil slicks, I will have to find a way to scatter/swirl the oil over the water.