CS 184/284A Spring 2024: Final Project

paper • video • slides
Abstract
In this project, we write a ray tracer that includes spectral information about rays within the light field. A traditional ray tracer tracks RGB intensities along the ray and propagates the ray using RGB information about scene elements. In reality, light is distributed by wavelength in a continuous space, with visible light occupying the range approximately from 400 nm to 700 nm. Optical phenomena arise from wavelength-dependent interactions, including dispersion, iridescence, and reflection probability. In this project, we refactor the ray tracer we wrote in Homework 3 to incorporate wavelength dependence by adding a layer of wavelength sampling. We also implement scene elements that leverage this feature, including glass materials, mirror surfaces, microfacet surfaces, thin films, and black body emitters. With these, we can create striking photorealistic scenes accessible only through spectral information.
Out of ~80 other projects, we got an honorable mention!
 |
Left, bunny rendered with non-dispersive glass. Right, bunny rendered with dispersive glass. |
 |
CBdragon with copper surface. On the left, RGB upsampled microfacet BSDF. On the right, spectral microfacet BSDF. |
 |
Soap films on PVC and Copper with film thicknesses given on the left. |
 |
Iron oxide film on iron dragons, compared to a real reference of tempered steel Wikipedia. The left dragon uses varying refraction index from RefractionIndex.info, the right dragon uses constant refractive index, similar to Belcour and Barla, 2017. |
 |
Soap bubbles modeled using a film on a vacuum. The foreground and background bubbles have a thickness of 500 nm and 350 nm, respectively. |
 |
CBspheres with a black body area light temperature at 3000 K (left) and 12000 K (right). |
