Going Skin-Deep
by pberto. Average Reading Time: about 3 minutes.
/*jupiter jazz*/ goes skin-deep to provide photoreal virtual human tissue to full CG mech-a-tronic protagonist in Hindi Sci-Fi flic “Endiran”.
India’s most expensive film to date, “Endiran, The Robot”, uses Jupiter SGI Skin and 3Delight for the photo-realistic skin rendering of the digital double(s) for the main character, the human-robot chimera, Endhiran.
Jupiter SGI Skin, where SGI stands for Spherical Gradient Illumination, is a RenderMan shader that inputs data acquired from the dome light stage at the University of Southern California Institute for Creative Technologies led by researcher Paul Debevec. The same technique was previously used in “The Curious Case of Benjamin Button” and “Spiderman”. Rendering was accomplished with 3Delight, the powerful production renderer, compliant to the RenderMan standard.
When in Hong Kong, Paolo Berto and Moritz Moeller, founders of /*jupiter jazz*/, met with VFX Supervisor Srinivan M. Mohan and Eddy Wong, CEO of Hong Kong based Menfond Electronic Arts, and, while tasting some cantonese cuisine, they discussed the task of skin rendering for the movie and how to use the dataset acquired at USC ICT.
Luis B. Barrancos, Director of Light Scattering on Jupiter, quickly prototyped a shader which we were able to show in matter of days. We improved the shader described in the original paper which mentioned a Blinn specular model, while we used Torrance-Sparrow, with a simple Gaussian distribution, and as an alternative, Beckmann (as suggested by Cook & Torrance). Then a two pass point-based full subsurface scattering solution was added, also to overcome the lack of back-scattering from the original model, see more on the technical notes here below.
Mohan, a very professional and thorough VFX Sup, was immediately open to a new distribution way, and the proposal to OpenSource the tool (there is no point reinventing the wheel) was immediately agreed.
Face scans

Comparison

Technical notes
Jupiter Spherical Gradient Illumination Skin is a 3Delight RenderMan shader that reads scanned RGB world space normal maps for 3 different wavelengths (red, green, blue), and a fourth normal map to be used in the specular term.
This technique, presented at:
http://gl.ict.usc.edu/Research/FaceScanning/
allows the user to re-create the appear of the subtle subsurface effects of skin, together with self-shadowing and inter-reflections.
Once the texture are acquired:
- The three normal maps for the Lambertian diffuse term contain increasing detail as the light wavelength decreases.
- The normal map for the blue wavelength contains more detail than the normal map for the green wavelength, which in turn contains more detail than the red wavelength map.
- The specular normal map is used to drive the specular contribution (and the reflections), with the specular term being comprised of two specular lobes based on the Torrance-Sparrow model.
The user has the possibility of selecting between two microfacet distribution functions used:
- the Beckmann microfacet distribution, as suggested in the publication by Robert L. Cook and Kenneth E. Torrance, “A reflectance model for computer graphics”
- a Gaussian distribution, which is cheaper to compute and produces slightly softer results.
The weight of each of the specular lobe’s contribution can also be controlled directly by the user, or it can be made automatically via the extracted data in the specular intensity image.
Notice also that this shader provides optionally a full two pass (point-based) subsurface term as well for greater flexibility.
This work s based on the following research:
- “Rapid Acquisition of Specular and Diffuse Normal Maps from Polarized Spherical Gradient Illumination”.
By Wan Chun Ma, Tim Hawkins, Pieter Peers, Charles-Felix Chabert, Malte Weiss, Paul Debevec.
University of Southern California Institute for Creative Technologies.
Eurographics Symposium on Rendering 2007. - “Estimating Specular Roughness and Anisotropy from Second Order Spherical Gradient Illumination”.
By Abhijeet Ghosh , Tongbo Chen, Pieters Peers, Cyrus A. Wilson, Paul Debevec.
University of Southern California Institute for Creative Technologies.
Eurographics Symposium on Rendering 2009.
Links
- The Jupiter Skin open source project on Google Code
- Also featured on OpensSourceVFX.org
- The shader user manual
- The light stage at USC ICT
- Article on FXGuide
- Article on CGChannel forum

[…] This post was mentioned on Twitter by Ravinder Sembi and Ravinder Sembi, Paolo Berto. Paolo Berto said: http://bit.ly/9ZsmLL — going skin-deep to provide photoreal virtual human tissue to fullCG mechatronic protagonist in Hindi Sci-Fi flic […]
Thanks to Eddy, Paolo, Moritz and Luis for great support.
This has helped lot in our production and because of easier GUI I’m able to involve lot of artist.
Srinivas Mohan
http://www.srinivasmohan.wordpress.com