Subsurface scattering

Subsurface scattering

Subsurface scattering (or SSS) is a mechanism of light transport in which light penetrates the surface of a translucent object, is scattered by interacting with the material, and exits the surface at a different point. The light will generally penetrate the surface and be reflected a number of times at irregular angles inside the material, before passing back out of the material at an angle other than the angle it would reflect at had it reflected directly off the surface. Subsurface scattering is important in 3D computer graphics, being necessary for the realistic rendering of materials such as marble, skin, and milk.

Rendering Techniques

Most materials used in real-time computer graphics today only account for the interaction of light at the surface of an object. In reality, many materials are slightly translucent: light enters the surface; is absorbed, scattered and re-emitted - potentially at a different point. Skin is a good case in point; only about 6% of reflectance is direct, 94% is from subsurface scattering cite journal|last=Krishnaswamy|first=A|last2=Baronoski|first2=GVG|title=A Biophysically-based Spectral Model of Light Interaction with Human Skin|journal=Computer Graphics Forum|publisher=Blackwell Publishing|volume=23|issue=3|year=2004|url=http://eg04.inrialpes.fr/Programme/Papers/PDF/paper1189.pdf|doi=10.1111/j.1467-8659.2004.00764.x|pages=331] .An inherent property of translucent materials is absorption. The further through the material light travels, the greater the proportion absorbed. To simulate this effect, a measure of the distance light has traveled through the material must be obtained.

Depth Map based SSS

One method of estimating this distance is to use depth maps cite journal|last=Green|first=Simon|title=Real-time Approximations to Subsurface Scattering|journal=GPU Gems|publisher=Addison-Wesley Professional|year=2004|pages=263–278] , in a manner similar to shadow mapping. The scene is rendered from the light's point of view into a depth map, so that the distance to the nearest surface is stored. The depth map is then projected onto it using standard projective texture mapping and the scene re-rendered. In this pass, when shading a given point, the distance from the light at the point the ray entered the surface can be obtained by a simple texture lookup. By subtracting this value from the point the ray exited the object we can gather an estimate of the distance the light has traveled through the object.

The measure of distance obtained by this method can be used in several ways. One such way is to use it to index directly into an artist created 1D texture that falls off exponentially with distance. This approach, combined with other more traditional lighting models, allows the creation of different materials such as marble, jade and wax.

Potentially, problems can arise if models are not convex, but depth peeling cite journal|last=Nagy|first=Z|last2=Klein|first2=R|title=Depth-Peeling for Texture-based Volume Rendering|journal=11th Pacific Conference on Computer Graphics and Applications|year=2003|pages=429|url=http://cg.cs.uni-bonn.de/docs/publications/2003/nagy-2003-depth.pdf] can be used to avoid the issue. Similarly, depth peeling can be used to account for varying densities beneath the surface, such as bone or muscle, to give a more accurate scattering model.

As can be seen in the image of the wax head to the right, light isn’t diffused when passing through object using this technique; back features are clearly shown. One solution to this is to take multiple samples at different points on surface of the depth map. Alternatively, a different approach to approximation can be used, known as texture-space diffusion.

Texture Space Diffusion

As noted at the start of the section, one of the more obvious effects of subsurface scattering is a general blurring of the diffuse lighting. Rather than arbitrarily modifying the diffuse function, diffusion can be more accurately modeled by simulating it in texture space. This technique was pioneered in rendering faces in The Matrix Reloaded cite journal|last=Borshukov|first=G|last2=Lewis|first2=J. P.|title=Realistic human face rendering for "The Matrix Reloaded"|publisher=ACM Press|journal=Computer Graphics|year=2005|url=http://www.virtualcinematography.org/publications/acrobat/Face-s2003.pdf] , but has recently fallen into the realm of real-time techniques.

The method unwraps the mesh of an object using a vertex shader, first calculating the lighting based on the original vertex coordinates. The vertices are then remapped using the UV texture coordinates as the screen position of the vertex, suitable transformed from the [0, 1] range of texture coordinates to the [-1, 1] range of normalized device coordinates. By lighting the unwrapped mesh in this manner, we obtain a 2D image representing the lighting on the object, which can then be processed and reapplied to the model as a normal map. To simulate diffusion, the light map texture can simply be blurred. Rendering the lighting to a lower-resolution texture in itself provides a certain amount of blurring. The amount of blurring required to accurately model subsurface scattering in skin is still under active research, but performing only a single blur poorly models the true effects cite journal|last=d’Eon|first=E|title=Advanced Skin Rendering|journal=GDC 2007|year=2007|url=http://developer.download.nvidia.com/presentations/2007/gdc/Advanced_Skin.pdf] . To emulate the wavelength dependent nature of diffusion, the samples used during the (Gaussian) blur can be weighted by channel. This is somewhat of an artistic process. For human skin, the broadest scattering is in red, then green, and blue has very little scattering.

A major benefit of this method is its independence of screen resolution; shading is performed only once per texel in the texture map, rather than for every pixel on the object. An obvious requirement is thus that the object have a good UV mapping, in that each point on the texture must map to only one point of the object. Additionally, the use of texture space diffusion causes implicit soft shadows, alleviating one of the more unrealistic aspects of standard shadow mapping.

External links

* [http://graphics.ucsd.edu/~henrik/images/subsurf.html Henrik Wann Jensen's subsurface scattering website]
* [http://graphics.ucsd.edu/~henrik/papers/bssrdf/ An academic paper by Jensen on modeling subsurface scattering]
* [http://www.highend3d.com/maya/tutorials/rendering_lighting/shaders/135.html Maya Tutorial - Subsurface Scattering: Using the Misss_Fast_Simple_Maya shader]

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Subsurface Scattering — Volumenstreuung (englisch subsurface scattering, Abkürzung SSS) bezeichnet die Streuung des Lichtes in transluzenten Körpern. Inhaltsverzeichnis 1 Prinzip 2 Bedeutung in der Computergrafik 3 Weblinks 4 Quel …   Deutsch Wikipedia

  • Subsurface scattering — Transluminescence Objet tridimensionnel avec transluminescence La transluminescence (ou Subsurface scattering (SSS) en anglais) et le phénomène de pénétration de la lumière au travers d une surface ou d un objet translucide. Il prend en compte la …   Wikipédia en Français

  • Bidirectional scattering distribution function — The definition of the BSDF (Bidirectional scattering distribution function) is not well standardized. The term was probably introduced in 1991 by Paul Heckbert ref|endnote veach1997 a. Most often it is used to name the general mathematical… …   Wikipedia

  • Low-energy ion scattering — LEIS redirects here; for the Hawaiian garland see Lei (Hawaii). Low energy ion scattering spectroscopy (LEIS), sometimes referred to simply as ion scattering spectroscopy (ISS), is a surface sensitive analytical technique used to characterize the …   Wikipedia

  • Biological small-angle scattering — Small angle scattering is a fundamental method for structure analysis of materials, including biological materials. Small angle scattering allows one to study the structure of a variety of objects such as solutions of biological macromolecules,… …   Wikipedia

  • Diffuse reflection — For reflection of charged particles, see Scattering from rough surfaces. Diffuse and specular reflection from a glossy surface[1] Diffuse reflection is the reflection of light from a surface such that an incident ray is reflected at many …   Wikipedia

  • Подповерхностное рассеивание — Трёхмерная модель бюста, в освещении которого задействовано подповерхностное рассеивание …   Википедия

  • Photon mapping — In computer graphics, photon mapping is a two pass global illumination algorithm developed by Henrik Wann Jensen that solves the rendering equation. Rays from the light source and rays from the camera are traced independently until some… …   Wikipedia

  • Рендеринг — Фотореалистичное изображение, созданное POV Ray 3.6. Модели кувшина, стаканов и пепельницы созданы при помощи Rhinoceros 3D, модель игральной кости  в Cinema 4D. Рендеринг ( …   Википедия

  • Рендер — Фотореалистичное изображение, отрендеренное в Rhinoceros 3D, модель игральной кости  в Cinema 4D. Рендеринг (англ. rendering  «визуализация») в компьютерной графике  процесс получения изображения по модели с помощью компьютерной программы. Здесь… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”