© Square Enix © Goodbye Kansas


Table of Contents

This page provides information on the BRDFSSS2Complex material node.


Overview


The V-Ray SSS is a material primarily designed for rendering translucent materials like skin, marble, etc. The implementation is based on the concept of BSSRDF originally introduced by Jensen et al. (see the references below). It is an approximation of the sub-surface scattering effect observed in the physical world, while still being fast enough to be used in practice.

The V-Ray SSS is a complete material with diffuse and reflection components that can be used directly without the need of a V-Ray Blend Material material. More precisely, the material is composed of three layers: a reflection layer, a diffuse layer, and a sub-surface scattering layer. 



Overall


Color – Specifies the overall coloration for the material. This color serves as a filter for both the diffuse and the sub-surface component. The effect is a color tint, where pure white means neutral and doesn't introduce tinting.

Index Of Refraction – Specifies the index of refraction for the material. Most water-based materials like skin have an index of refraction of about 1.3.

Refraction Depth – Determines the depth of refraction rays when the Single Scattering parameter is set to Raytraced (Refractive) mode.

Amount – Controls the strength of the diffuse component of the material by blending between the diffuse and the sub-surface layers. When set to 0.0, the material does not use the diffuse component. When set to 1.0, the material has only a diffuse component, without a sub-surface layer. Values in between can be used to “harden” the surface while retaining the SSS effect inside when using larger Scatter Radius values. A texture in the Diffuse Аmount can be used as a mask for the SSS layers to simulate dust or paint on the surface.

Color (Diffuse) – Specifies the color of the diffuse portion of the material. The Amount needs to be greater than 0 for it to have any effect.

Scale – Additionally scales the subsurface scattering radius. Normally, SSS takes the scene units into account when calculating the subsurface scattering effect. However, if the scene was not modeled to scale, this parameter can be used to adjust the effect. It can also be used to modify the effect of the presets, which resets the Scatter Radius parameter when loaded, but leave the Scale parameter unchanged. The default value of 1 means that the Scatter Radius is used as it is. For example, to render a 1:10 scale model, set the scale to 0.10. For more information, see the Scatter Radius and Scale example below. 

Color Mode – Specifies one of the following modes for the SSS2Complex material color:

Diffuse surface reflectance and scatter radius – The default SSS mode, which calculates the material color using surface reflectance and a scatter radius value.
Scatter coefficient and fog color – Uses a Scatter coefficient to define the outside scatter layer color and translucency, and a Fog Color for the respective inside values. The translucency for both components is multiplied by the scaled Scatter Radius. This mode allows for control of the SSS components similar to that in the V-Ray Material. It is designed for translucent or refractive materials like juice or ice and works best when Single Scattering is set to Raytraced (Solid) or Raytraced (Refractive).

SSS Color – Specifies the general color for the sub-surface portion of the material. Note that the Sub-surface color value is filtered/multiplied by the Overall Color and both filter the Scatter ColorFor more information, see the Sub-Surface Color example below.

Scatter Color – Specifies the internal scattering color for the material that is visible in thin, backlit parts of the objects. It also affects the depth of scattering: brighter colors cause the material to scatter more light and appear translucent; darker colors result in a more diffuse-like look. The Scatter Color is filtered/multiplied by both the SSS Color and the Overall Color to achieve the final result. For more information, see the Scatter Color Example below.

Scatter Radius (cm) – Controls the amount of light scattering in the material. Smaller values cause the material to scatter less light and to appear more diffuse-like; higher values make the material more translucent. Note that this value is always specified in centimeters (cm); the material automatically takes care to convert it into scene units based on the currently selected system units. For more information, see the Scatter Radius and Scale example below.

Radius Mult – Controls the depth of scattering light inside the material for both color modes. Smaller values cause the material to have shallower layer of scattered light and to appear more diffuse-like. Higher values define a deeper layer where the material scatters light and make it look more translucent. Note that Scatter Radius is always specified in centimeters (cm); the material automatically takes care to convert it into scene units based on the currently selected system units. For more information, see the Scatter Radius and Scale example below.

Phase Function – Specifies a value between -1.0 and 1.0 that determines the general way light scatters inside the material. Its effect can be somewhat likened to the difference between diffuse and glossy reflections from a surface. However, the phase function controls the reflection and transmittance of a volume. A value of 0.0 means that light scatters uniformly in all directions (isotropic scattering). Positive values mean that light scatters predominantly forward in the same direction as it comes from. Negative values mean that light scatters mostly backward. This, depending on the direction of illumination leads to changes in the blending between the two SSS colors: boosts one or the other. Most water-based materials (e.g. skin, milk) exhibit strong forward scattering, while hard materials like marble exhibit backward scattering. This parameter affects most strongly the single scattering component of the material. Positive values reduce the visible effect of single scattering component, while negative values make the single scattering component generally more prominent. For more information, see the Phase Function example and Phase Function: Light Source example below.



Specular


Amount – Specifies the strength of the specular component for the material. Note that there is an automatic Fresnel falloff applied to the specular component, based on the Index of refraction (IOR) of the material.

Color – Specifies the specular color for the material.

Glossiness – Determines the glossiness (highlights shape). A value of 1.0 produces sharp reflections, lower values produce more blurred reflections and highlights.

Cutoff Threshold – Specifies a threshold below which reflections are not traced. V-Ray tries to estimate the contribution of reflections to the image, and if it is below this threshold, these effects are not computed. Do not set this to 0.0 as it may cause excessively long render times in some cases.

Trace Reflections – Enables the calculations of glossy reflections. When disabled, only highlights are calculated.

Max Depth – Sets a maximum number of reflection bounces for the material.



Scattering


Single Scattering – Controls how the single scattering component is calculated. For more information, see the Single Scattering Mode example below.

None – No single scattering component is calculated.
Simple – Approximates the single scattering component from the surface lighting. This option is useful for relatively opaque materials like skin, where light penetration is normally limited.
Raytraced (Solid) – Accurately calculates the single scattering component by sampling the volume inside the object. Only the volume is raytraced; no refraction rays on the other side of the object are traced. This is useful for highly translucent materials like marble or milk, which at the same time are relatively opaque.
Raytraced (Refractive) – Similar to the Raytraced (Solid) mode, but in addition refraction rays are traced. This option is useful for transparent materials like water or glass. In this mode, the material also produces transparent shadows.

Multiple Scattering – Specifies the method used to calculate the subsurface scattering effect.

Prepass-Based Illumination Map – Uses an approach similar to the irradiance map to approximate the sub-surface scattering effect. It requires a prepass and the quality of the final result depends on the Prepass Rate parameter
Object-Based Illumination Map – Similar to the Prepass-Based Illumination Map in that it also creates an illumination map used to approximate the final result. The only difference is the method used for sample placement. Rather than using the resolution of the image as a guide, the samples are placed based on the surface area of the geometry. When this mode is used the final quality depends on the Samples/Unit Area parameter.
Raytraced – True raytracing inside the volume of the geometry is used to get the subsurface scattering effect. This method is physically accurate and produces the best results.
None (Diffuse Approximation) – Disables multiple scattering. Instead, the subsurface scattering effect is calculated using diffuse approximation.

Scatter GI – Determines whether the material accurately scatters global illumination. When disabled, the global illumination is calculated using a simple diffuse approximation on top of the sub-surface scattering. When enabled, the global illumination is included as part of the surface illumination map for multiple scattering. This is more accurate, especially for highly translucent materials, but may slow down the rendering quite a bit.

Front Lighting – Enables the multiple scattering component for light that falls on the same side of the object as the camera.

Back Lighting – Enables the multiple scattering component for light that falls on the opposite side of the object as the camera. If the material is relatively opaque, turning this off speeds up rendering.

Prepass Blur – Determines if the material uses a simplified diffuse version of the multiple scattering when the Prepass Rate for the direct lighting map is too low to adequately approximate it. A value of 0.0 causes the material to always use the illumination map. However, for objects that are far away from the camera, this may lead to artifacts or flickering in animations. Larger values control the minimum required samples from the illumination map in order to use it for approximating multiple scattering.

Prepass Rate – SSS accelerates the calculation of multiple scattering by precomputing the lighting at different points on the surface of the object and storing them in a structure called an illumination map. An illumination map is similar to the irradiance map used to approximate global illumination, and uses the same prepass mechanism built into V-Ray that is also used for interpolated glossy reflections/refractions. The Prepass Rate parameter determines the resolution at which surface lighting is computed during the prepass phase. A value of 0 means that the prepass is at the final image resolution; a value of -1 means half the image resolution, and so on. For high quality renders, it is recommended to set this to 0 or higher, as lower values may cause artifacts or flickering in animations. If the chosen prepass rate is not sufficient to approximate the multiple scattering effect adequately, SSS replaces it with a simple diffuse term. This can happen, for example, for objects that are very far away from the camera, or if the subsurface scattering effect is very small. This simplification is controlled by the Prepass Blur parameter. For more information, see the Prepass Rate example below.

Prepass ID – Allows several SSS materials to share the same illumination map. This could be useful if you have different SSS materials applied on the same object. If the Prepass ID is 0, then the material computes its own local illumination map. If this is greater than 0, then all materials with the specified ID share the same map.

Interpolation Accuracy – Controls the approximation quality of the multiple scattering effect when the type is Prepass-Based Illumination Map or Object-Based Illumination Map. Larger values produce more accurate results but are slower to render. Lower values render faster, but values that are too low may produce blocky artifacts on the surface.

Prepass Mode – Controls the way V-Ray handles the illumination map for the subsurface scattering.

New – Calculates a new map for every frame of the animation and then discards it after rendering.
Save (Per-Frame) – Calculates a new map and saves on the hard drive for every frame of the animation.
Load (Per-Frame) – Looks for and loads a previously saved illumination map for each frame of the animation.
Save/Load (First Frame) – Creates/loads a single illumination map for all frames of the animation when only the camera is moving.

Prepass File – Specifies a file name for the illumination map to be saved or loaded from.

Auto Density – When enabled, V-Ray automatically chooses an appropriate value for the Samples/Unit Area parameter.

Samples / Unit Area – Controls the resolution of the illumination map by setting a number of samples for each square unit of surface. Higher values make V-Ray take more samples and produce a better result. Available when Multiple Scattering is set to Object-Based Illumination Map.

Surface Offset – To prevent artifacts, each sample is taken a tiny distance away from the actual surface in the direction of the normal. This parameter controls the offset from the surface.

Preview Samples – When enabled, V-Ray renders an image that displays the samples distribution along the surface of the geometry. It can be used for debugging artifacts.

Max Distance – Represents each preview sample as a circle in the final image. This parameter allows you to specify the radius of the sample.

Background Color – Specifies the color of the geometry where there are no preview samples present.

Samples Color – Specifies the color of the preview samples.






Example: Prepass Rate


This example shows the effect of the Prepass Rate parameter. To better show the effect, the Prepass Blur parameter is set to 0.0 for these images, so that SSS does not replace the sub-surface component with diffuse shading when there are not enough samples. Note how low values of the Prepass Rate reduce render times but produce blocky artifacts in the image. Also note that more translucent objects can do with lower Prepass Rate values, since the lighting is blurred anyways. In the examples below, when Scatter Radius is 4.0 cm, the image looks fine even with Prepass Rate of -1. However, when Scatter Radius is 1.0 cm with a Prepass Rate of -1, there are still visible artifacts.



 
 Scatter Radius = 1cm
 Prepass Rate = -3

 
 Scatter Radius = 1cm
 Prepass Rate = -1

 
 Scatter Radius = 1cm
 Prepass Rate = 0

 
 Scatter Radius = 1cm
 Prepass Rate = 1

 
 Scatter Radius = 4cm
 Prepass Rate = -3

 
 Scatter Radius = 4cm
 Prepass Rate = -1

 
 Scatter Radius = 4cm
 Prepass Rate = 0

 
 Scatter Radius = 4cm
 Prepass Rate = 1






Example: Scatter Radius and Scale


This example shows the effect of the Scatter Radius and Scale parameters. Note how increasing them allows the inside (Scatter Coefficient) color to show up more and leads to a softer look.


Scatter Radius = 2 cm, Scale  = 1

Scatter Radius = 4 cm, Scale = 1

Scatter Radius = 8 cm, Scale = 1

Scatter Radius = 8 cm, Scale = 2






Example: Sub-Surface Color


This example and the next demonstrate the effect of and the relation between the Scatter Color and the SSS Color parameters. Note how changing the SSS Color changes the overall appearance of the material, whereas changing the Scatter Color only modifies the internal scattering component.

The Scatter Color is set to beige.


SSS Color = Beige

SSS Color = Red

SSS Color = Blue

SSS Color = Green






Example: Scatter Color


The SSS Color is kept to green.


Scatter Color = Beige

Scatter Color = Red

Scatter Color = Blue

Scatter Color = Green





Example: Phase Function


This example shows the effect of the Phase Function parameter. This parameter can be likened to the difference between diffuse reflection and glossy reflection on a surface. However, it controls the reflectance and transmittance of a volume. Its effect is quite subtle, and mainly related to the single scattering component of the material.



Phase function = -1.0 (Backward Scattering)

Phase function = 0.0 (Isotropic Scattering)

Phase function = 1.0 (Forward Scattering)





Phase Function = -0.5 (Backward Scattering)


Phase Function = 0 (Isotropic Scattering)



Phase Function = 0.5 (Forward Scattering)



The red arrow represents a ray of light going through the volume; the black arrows represent possible scattering directions for the ray.




Example: Phase Function: Light Source


This example demonstrates the effect of the Phase Function parameter when there is a light source inside the volume. The material uses Color mode: Scatter coefficient and fog color, large Scatter Radius and Single Scattering: Raytraced (Refractive).



Phase Function = -0.9

Phase Function = 0.0

Phase Function = 0.7



 

 

Example: Single Scattering Mode


This example shows the effect of the Single Scattering mode parameter.

For relatively opaque materials, the different Single Scattering modes produce quite similar results (except for render times). In the following set of images, the Scatter Radius is set to 1.0 cm.

In the second set of images, the Scatter Radius is set to 50.0 cm. In this case, the material is quite transparent, and the difference between the different Single Scattering modes is apparent. Note also the transparent shadows with the Raytraced (refractive) mode.


Single Scattering = Simple

Single Scattering = Raytraced (solid)

 Single Scattering = Raytraced (refractive)

Single Scattering = Simple

Single Scattering = Raytraced (solid)

Single Scattering = Raytraced (refractive)



Notes


  • SSS uses the V-Ray prepass system to simulate and interpolate the sub-surface scattering. During other GI calculations (e.g. light cache or photon mapping), the material is calculated as a diffuse.
  • For the reason explained above, SSS renders as a diffuse with the progressive path tracing mode of the light cache.


References


Here is a list of references used when building the SSS material.

  • H. C. Hege, T. Hollerer, and D. Stalling, Volume Rendering: Mathematical Models and Algorithmic aspects
    An online version can be found at https://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/
    Defines the basic quantities involved in volumetric rendering and derives the volumetric and surface rendering equations.
  • T. Farrell, M. Patterson, and B. Wilson, A Diffusion Theory Model of Spatially Resolved, Steady-state Diffuse Reflectance for the Noninvasive Determination of Tissue Optical Properties in vivo , Med. Phys. 19(4), Jul/Aug 1992
    Describes an application of the diffusion theory to the simulation of sub-surface scattering; derives the base formulas for the dipole approximation used by Jensen et al. (see below).
  • H. Jensen, S. Marschner, M. Levoy, and P. Hanrahan, A Practical Model for Subsurface Light Transport, SIGGRAPH'01: Computer Graphics Proceedings, pp. 511-518
    An online version of this paper can be found at http://www-graphics.stanford.edu/papers/bssrdf/
    Introduces the concept of BSSRDF and describes a practical method for calculating sub-surface scattering based on the dipole approximation derived by Farrell et al. (see above).
  • H. Jensen and J. Buhler, A Rapid Hierarchical Rendering Technique for Translucent Materials, SIGGRAPH'02: Computer Graphics Proceedings, pp. 576-581
    An online version of this paper can be found at http://graphics.ucsd.edu/~henrik/papers/fast_bssrdf/
    Introduces the idea of decoupling the calculations of surface illumination and the sub-surface scattering effect in a two-pass method; describes a fast hierarchical approach for evaluating subsurface scattering and proposes a reparametrization of the BSSRDF parameters for easier user adjustment.
  • C. Donner and H. Jensen, Light Diffusion in Multi-Layered Translucent Materials, SIGGRAPH'05: ACM SIGGRAPH 2005 Papers, pp. 1032-1039 (note that this link is no longer available)
    An online version of this paper can be found at http://graphics.ucsd.edu/~henrik/papers/layered/ (note that this link is no longer available)
    Provides a concise description of the original BSSRDF solution method presented by Jensen et al; extends the model to multi-layered materials and thin slabs using multipole approximation.