Graphics Reference
In-Depth Information
dielectric materials and reflect the light without coloring it, so it can be modeled
with a specular reflection function.
Most of the light enters the skin, where it is absorbed, scattered, or reflected.
A significant portion of the light is reflected at the interface between subsurface
layers and exits the skin again. Unsurprisingly, as demonstrated by [Donner and
Jensen 05], single specular lobe is not enough to simulate this complicated process.
For our implementation we have followed advice from [d'Eon and Luebke 07] and
adopted two separate specular reflectance lobes.
We know from practical observations that surface reflectance is very important
for how we perceive skin. Modeling specular reflectance with traditional Blinn-
Phong is simply not enough. For more physically accurate surface reflectance we
chose a model inspired by microfacet theory.
We use (a) Beckmann as microfacet distribution function, (b), we use a very
crude approximation of the geometric term, and (c) we sacrifice correctness of
the Fresnel term by measuring it from per-pixel normal instead of half-vector.
Overall, our model is close to the simplification of Cook-Torrance in [Kelemen
and Szirmay-Kalos 01].
1.2.2 Skin Subsurface Scattering Model
Beneath the skin's surface, light quickly becomes diffuse as it scatters and acquires
color as it gets partially absorbed by the tissue. To make matters more compli-
cated, skin consists of many layers of tissue with slightly different absorption
properties—an analytical solution for such a process quickly becomes unviable.
Instead of simulating complex diffusion in subsurface skin layers, incoming
light can be captured in a dedicated buffer and then blurred. Both the original
article [Borshukov and Lewis 03] and the high-quality real-time implementation
[d'Eon and Luebke 07] suggest using multiple gaussian blurs in texture space.
However, such an approach quickly becomes impractical on mobile GPU due to
high-memory bandwidth requirements.
Alternatively, incoming light can be captured in a screen-space buffer [Jimenez
et al. 09], and subsurface scattering can be approximated by blurring directly in
screen space. This approach has significantly lower memory bandwidth require-
ments with relatively small quality degradation—perfect for mobile GPUs.
1.2.3 Importance of Linear Lighting
Accurate shading of skin will fall short without gamma correction; an unrealistic
yellowish tint of the skin is a typical sign [d'Eon and Luebke 07]. Since albedo
textures are authored and stored in sRGB gamma, we have to uncompress them
into the same linear space where lighting equations take place and then compress
them back to match the sRGB gamma of display.
Search WWH ::




Custom Search