Volume rendering with Spherical Harmonics

In the winter of 2005 I was lucky to be selected for an internship at the visual effects company Digital Domain in Los Angeles, USA. The internship was a part of my thesis work at the M.Sc. Mediatechnology programme at Linköping University.

My task was to research and develop a new lighting system for Digital Domains proprietary and Academy Award winning volume renderer Storm. After some initial research we choose to use Spherical Harmonics.

In overview the system calculates visibility transfer functions, in essence a function which says how much a certain voxel can see in any given direction. These functions are parametrized in spherical coordinates, which can easily be transformed into a set of Spherical Harmonic coefficients describing the function in all directions. This gives a very compact description of a complex function.

Now the visibility transfer function only accounts for two of the four possible effects light is subject to when travelling through a volume of participating media, namely absorbtion and out-scattering. This is commonly known as single scattering. In order to take multiple scattering into account we need to have in-scattering in our model. We approximated this using a Lattice-Boltzmann like method, but using the transfer functions in Spherical Harmonic space.

We submitted two sketches on this subject to the Siggraph conference 2006. One was accepted, and I had the opportunity to co-present it in Boston together with Nafees bin Zafaar.

My supervisor at Digital Domain was Doug Roble and Nafees bin Zafaar, and my academic supervisor in Linköping was dr Ken Museth.

Thesis report from LiU2.85 MB