Hard at work: By Hyun Gu Lee & Murad Akhter

Project Goal and motivation

Rendering realistic human characters is considered the holy grail of 3D games and computer animation. One of the central challenges in shading 3D characters is the appearance and modeling of healthy-looking, life-like skin due to its sub-surface scattering and semi-translucent, non-homogenius, multi-layered structure. The different layers of skin exhibit a range of reflectance, transmission and absorption properties which need to be accounted for with a specific physical model. The rough surface layer of the skin also needs to be accounted for, otherwise the characters can look like plastic. On top of this, human skin often has a clumps of short, thin hairs without which rendered characters can look too clean and uninspired. Incorporating hair is a challenge because it greatly increases the geometric complexity of the scene.

Our project's goal is to incorporate all of the aforementioned enhancements necessary in PBRT to render realistic-looking human skin and hair. For reference we will be emulating the following picture of a studious CS348B student hard at work.


Outline of Implementation and key technical challenges

Hand Modeling

In order to build a realistic thin model we need a surface to bind it to. We are planning on deriving the hand and elbow 3D mesh by editing the CGHuman male model based on the Absolute Character Tools plugin for 3D Studio Max. This should allow us to export the 3D mesh as an OBJ file into Maya where we will pose it, add the shapes for the pen and notebook and probably use Mark Colbert's maya-pbrt plugin to generate the pbrt file to render our scene. Here's what our mesh currently looks like when loaded into Alias Motion Builder


Skin texturing

We plan on creating skin textures and procedurally generating normals for per-pixel bump-mapping to model the fine-scale and rough outer surface of the skin. For this we're planning on using the approach outlined by Haro et. all's Eurographics 2000 paper.

=== Sub-surface scattering Using the ideas from Hanrahan and Krueger's Siggraph '93 paper and Phasrr Hanrahan's Siggraph 2000 paper, we will implement subsurface scattering, simulating the multiple skin layers. These layers will consist of the outer oily, the epidermis, dermis and hypodermis layer as shown in the figure below

Hair

One way to model hair is by incorporating spatially inhomogeneous atmospheric attenuation and creating solid textures to define the color and opacity for each interval. However, this approach is probably unnecessary in our case since the amount of hair present on the hand is small and so we will simply model hair strands

Start by implementing spatially inhomogeneous atmospheric attenuation. Divide each ray into intervals. For each interval, interpolate between the ray's color and some constant fog color based on a procedurally computed opacity for that location in space. Experiment with opacity functions. Once you get this working, try defining a solid texture (probably procedurally) that gives color and opacity for each interval. See Perlin and Hoffert's Siggraph '89 paper on solid texture synthesis and Kajiya and Kay's teddy bear paper for ideas. If you want to make your volume renderer fast, use hierarchical spatial subdivision (e.g. an octree). Volumetric photon mapping is currently not implemented in pbrt. You could add it.

Illustrative images showing another hand pose and the effect of pigmentation on skin color, and translucency.


References

Hanrahan, P., and Krueger, W. 1993. Reflection from layered surfaces due to subsurface scattering. In Proceedings of the ACM Siggraph 1999, ACM Press / Addision-Wesley Publishing Co., New York, Computer Graphics Proeedings, 164-174.
Pharr, M., and Hanrahan, P. 2000. Monte carlo evaluation of non-linear scattering equations for subsurface reflection.
A. Haro, B. Guenter, and I. Essa, Real-time, Photo-realistic, Physically Based Rendering of Fine Scale Human Skin Structure, Proceedings 12th Eurographics Workshop on Rendering, London, England, June 2001.
http://www.turbosquid.com/FullPreview/index.cfm/ID/194044
http://graphics.cs.ucf.edu/mayapbrt/index.php

MuradAkhter/ProjectProposal (last edited 2006-05-20 05:54:43 by MuradAkhter)