Wax Stanford Dragon



By Pedram Azari

Inspiration

My inspiration for this image came from Rui Wang's incredibly realistic images of the Stanford dragon. My goal in this project was to see how far I could take the dipole approximation for sub-surface scattering in order to achieve a glowing, translucent effect similar to that of a wax object being illuminated from behind.

Renderer Features

  • Path Tracing: Because of the nature of the scene, photon mapping (with final gathering) would not be more efficient than path tracing. Because the only polygons in the scene without sub-surface scattering are all coplanar, the photon map would not contain any useful information.

    The following are some of my early experiments with path tracing:


    Dragon With no Path Tracing

    Dragon With Path Tracing

    With path tracing enabled the parts in shadow are more realistically illuminated. Although the path tracing is costly, when combined with depth of field, soft shadows, and anti-aliasing the additional cost is not as significant.

  • Soft Shadows/Depth of Field/Anti-Aliasing: While extremely costly, these effects significantly affect the realism of the image. The following is an image displaying all three effects:



    We can see that even simple scenes look nice with these very simple to add (but hard to compute) effects.

  • Sub-Surface Scattering: This effect was the main goal of the project.I used the methods outlined in two of Henrik Wan Jensen's papers: "A Rapid Hierarchical Rendering Technique For Translucent Materials" and "A Practical Model for Subsurface Light Transport." Although it might not look like it, the parameters for the wax material are taken from one of the materials listed in the second paper (hint: it's a condiment.)

    Because of the simple nature of the scene, in order to calculate the incident irradiance at each sample I simply computed the indicident irradiance due to the light source. I wanted the effect of illuminating something from behind so this turned out to be a safe approximation to make and significantly sped up the computation of the irradiance samples.

    The actual computation of the BSSRDF was done as described in Wan Jensen's paper. Specifically, I used an octree to store the samples and an accuracy criterion in order to decide whether or not to traverse further down the tree. The following is an early rendering of the BSSRDF:



    This scene also features anti-aliasing and depth of field (but no soft shadows.) Depending on the parameters, different effects can be achieved with the BSSRDF. In this scene we can see something somewhere in between ketchup and wax.

  • Bump-Mapping with Perlin Noise: The shimmering effect of the floor was achieved with bump-mapping and Perlin noise. The floor itself is reflective, which produces an interesting effect when combined with the diffuse and specular aspects of the illumination produced by the wax dragon.
    Final Image

    Here again is the final image:



    For the most part I think it turned out very nice. The sub-surface scattering effect did a nice job of creating a waxy look (there's also a specular component involved.) The anti-aliasing, depth of field, bump mapping, and soft shadows did a nice job overall of making the generic checkerboard plane look a little less generic. The global illumination effects from the path tracing are probably the weakest part, specifically in the shadow of the dragon on the black tiles you can see the shortcomings of the path tracing method. This could have been solved by brute force, but in the interest of time (and not taking up too many computers in the lab for too long) I decided to leave well enough alone.