fbpx
Wikipedia

Subsurface scattering

Subsurface scattering (SSS), also known as subsurface light transport (SSLT),[1] is a mechanism of light transport in which light that 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 a different angle than it would have had if it had been reflected directly off the surface.

Real-world subsurface scattering of light in a photograph of a human hand
Computer-generated subsurface scattering in Blender

Subsurface scattering is important for realistic 3D computer graphics, being necessary for the rendering of materials such as marble, skin, leaves, wax and milk. If subsurface scattering is not implemented, the material may look unnatural, like plastic or metal.

Rendering techniques edit

 
Direct surface scattering (left) plus subsurface scattering (middle) creates the final image on the right.

To improve rendering efficiency, many real-time computer graphics algorithms only compute the reflectance 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.[2] An inherent property of semitransparent materials is absorption. The further through the material light travels, the greater the proportion absorbed. To simulate this effect, a measure of the distance the light has traveled through the material must be obtained.

Depth Map based SSS edit

 
Depth estimation using depth maps

One method of estimating this distance is to use depth maps,[3] 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.[citation needed]

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.[citation needed]

Potentially, problems can arise if models are not convex, but depth peeling[4] 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.[citation needed]

Texture space diffusion edit

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,[5] but is also used in the realm of real-time rendering 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 light 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.[6] 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.[citation needed]

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 provides one of the several factors that contribute to soft shadows, alleviating one cause of the realism deficiency of shadow mapping.[citation needed]

See also edit

References edit

  1. ^ "Finish: Subsurface Light Transport". POV-Ray wiki. August 8, 2012.
  2. ^ Krishnaswamy, A; Baronoski, GVG (2004). "A Biophysically-based Spectral Model of Light Interaction with Human Skin" (PDF). Computer Graphics Forum. Blackwell Publishing. 23 (3): 331. doi:10.1111/j.1467-8659.2004.00764.x. S2CID 5746906.
  3. ^ Green, Simon (2004). "Real-time Approximations to Subsurface Scattering". GPU Gems. Addison-Wesley Professional: 263–278.
  4. ^ Nagy, Z; Klein, R (2003). Depth-Peeling for Texture-based Volume Rendering (PDF). 11th Pacific Conference on Computer Graphics and Applications. pp. 429–433. doi:10.1109/PCCGA.2003.1238289. ISBN 0-7695-2028-6.
  5. ^ Borshukov, G; Lewis, J. P. (2005). "Realistic human face rendering for "The Matrix Reloaded"" (PDF). Computer Graphics. ACM Press.
  6. ^ d’Eon, E (2007). "Advanced Skin Rendering" (PDF). GDC 2007.

External links edit

  • Henrik Wann Jensen's subsurface scattering website
  • An academic paper by Jensen on modeling subsurface scattering
  • Subsurface Scattering: Using the Misss_Fast_Simple_Maya shader – Maya tutorial
  • 3d Studio Max Tutorial - The definitive guide to using subsurface scattering in 3dsMax
  • Subsurface scattering in Blender.

subsurface, scattering, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, news, newspapers, books, scholar, jstor, oct. This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Subsurface scattering news newspapers books scholar JSTOR October 2017 Learn how and when to remove this template message Subsurface scattering SSS also known as subsurface light transport SSLT 1 is a mechanism of light transport in which light that 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 a different angle than it would have had if it had been reflected directly off the surface Real world subsurface scattering of light in a photograph of a human handComputer generated subsurface scattering in BlenderSubsurface scattering is important for realistic 3D computer graphics being necessary for the rendering of materials such as marble skin leaves wax and milk If subsurface scattering is not implemented the material may look unnatural like plastic or metal Contents 1 Rendering techniques 1 1 Depth Map based SSS 1 2 Texture space diffusion 2 See also 3 References 4 External linksRendering techniques edit nbsp Direct surface scattering left plus subsurface scattering middle creates the final image on the right To improve rendering efficiency many real time computer graphics algorithms only compute the reflectance 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 2 An inherent property of semitransparent materials is absorption The further through the material light travels the greater the proportion absorbed To simulate this effect a measure of the distance the light has traveled through the material must be obtained Depth Map based SSS edit nbsp Depth estimation using depth mapsOne method of estimating this distance is to use depth maps 3 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 citation needed 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 citation needed Potentially problems can arise if models are not convex but depth peeling 4 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 citation needed Texture space diffusion edit 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 5 but is also used in the realm of real time rendering 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 light 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 6 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 citation needed 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 provides one of the several factors that contribute to soft shadows alleviating one cause of the realism deficiency of shadow mapping citation needed See also editBidirectional scattering distribution functionReferences edit Finish Subsurface Light Transport POV Ray wiki August 8 2012 Krishnaswamy A Baronoski GVG 2004 A Biophysically based Spectral Model of Light Interaction with Human Skin PDF Computer Graphics Forum Blackwell Publishing 23 3 331 doi 10 1111 j 1467 8659 2004 00764 x S2CID 5746906 Green Simon 2004 Real time Approximations to Subsurface Scattering GPU Gems Addison Wesley Professional 263 278 Nagy Z Klein R 2003 Depth Peeling for Texture based Volume Rendering PDF 11th Pacific Conference on Computer Graphics and Applications pp 429 433 doi 10 1109 PCCGA 2003 1238289 ISBN 0 7695 2028 6 Borshukov G Lewis J P 2005 Realistic human face rendering for The Matrix Reloaded PDF Computer Graphics ACM Press d Eon E 2007 Advanced Skin Rendering PDF GDC 2007 External links editHenrik Wann Jensen s subsurface scattering website An academic paper by Jensen on modeling subsurface scattering Subsurface Scattering Using the Misss Fast Simple Maya shader Maya tutorial 3d Studio Max Tutorial The definitive guide to using subsurface scattering in 3dsMax Subsurface scattering in Blender Retrieved from https en wikipedia org w index php title Subsurface scattering amp oldid 1177858581 Texture space diffusion, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.