Subsurface

Subsurface scattering is an important component for simulating physically-plausible materials that internally scatter light.

Some transfluent materials not only reflect the light off their surface, but also allow light to penetrate the surface to a certain depth and bounce around internally. The light is partially absorbed and exits the surface at a different point. This effect is called subsurface scattering (also referred to as SSS). For a brief overview of this effect in computer graphics, see Understanding Subsurface Scattering. Subsurface scattering is often used for materials such as human or animal skin, flesh, milk, fat or oil, fruits and vegetables, wax, marble, jade or some plastics.

Adding the subsurface component to a material slows down the rendering process. Consider this when trying to find a balance between image realism and rendering speed.

Note

The SSS effect is only possible in materials that transmit light. For this reason, in AMD Radeon ProRender, the subsurface component can only be added to refractive materials to simulate volume, or to materials that have diffuse backscattering enabled. Note that AMD Radeon ProRender plug-ins enable diffuse backscattering weight by default when subsurface scattering is turned on.

The subsurface scattering component can be controlled using the following parameters:

Subsurface Scattering Color

This parameter defines the color of the SSS effect or, in other words, it tints the color of the light reflected by the subsurface effect.

For layered materials, the color of the surface can differ from that of the depth layer. An example of such a material is human skin, with its depth layer having a more reddish tone.

The input type of this parameter is a color. In most cases, you would provide a color map as the parameter input.

Scattering color: gray

Scattering color: yellow

Scattering color: blue

Subsurface Use Diffuse Color

When enabled, this parameter sets the subsurface scattering color to be identical to the base diffuse color.

Subsurface Weight

The subsurface weight is the multiplier of the SSS effect, i. e. the scaling factor which defines how the SSS contributes to the overall appearance of the material. Greater weight values produce a more intense subsurface scattering with a more apparent color bleeding effect.

The input type for this parameter is normally a value from 0 to 1. The default weight is 1.

Subsurface weight: 0

Subsurface weight: 0.5

Subsurface weight: 1

Subsurface Multiple Scattering

By default, in AMD Radeon ProRender, light falling on the object’s surface is deflected once (single scattering) and then travels further in a straight line.

With the multiple scattering enabled, light is randomly deflected multiple times before it reaches the surface at some other point or gets absorbed. Multiple scattering results in brighter colors but slows down the rendering process.

Single scattering can be used for materials with a low density, such as fog or water. For materials with a higher density, like marble or wax, multiple scattering is recommended.

Multiple scattering: off

Multiple scattering: on

Subsurface Radius

The subsurface radius parameter defines how far a color will scatter from a place that was hit by a light ray. The subsurface radius is the distance that the light of a certain color can travel in the material. The greater the value, the further the light is dispersed.

Radius values can be set separately for the red, green and blue color channels. For example, in skin, the red color scatters deeper than blue and green, so its radius should be set to a greater value. Having the greatest radius value, red will be the predominating color in the perceived scattering color of the skin.

The input type for this parameter is typically a numeric value, but a grayscale depth map can also be used. In the latter case, the depth map should be multiplied by the color.

Typical values (in mm) of the subsurface radius for some translucent materials for red/green/blue respectively range from 4.76/0.58/0.39 for ketchup and 3.67/1.37/0.68 for skin to 6.96/6.40/1.90 for apple and 18.42/10.44/3.50 for skimmed milk [Jensen et al., 2001].

Scattering radius: 0.5, 0.5, 0.5

Scattering radius: 1, 1, 1

Scattering radius: 2, 2, 2

Subsurface Scattering Direction

The parameter determines the direction in which light rays will be scattered.

The input type for this parameter is normally a value from -1 to 1.

With the direction parameter set to positive values, the light is scattered in the direction of the light is traveling (forward scattering), and more light is allowed though the material. Negative values make the light scatter backwards, back along the path it was traveling (backward scattering), illuminating the light incidence side of the surface. Keeping the default value of 0 scatters the light evenly in all directions (isotropic scattering).

Scattering direction: -1

Scattering direction: 0

Scattering direction: 1

See Also