LMSubsurface

LMSubsurface

images/pxrLM/lmSubsurfaceHead.jpg

Skin via LM Subsurface

Parameters

Overlay

Connect a PxrLMLayer or PxrLMMixer node here to apply one or more layers atop the subsurface substrate.

RIB: struct lmlayer

Near Color

Diffuse color for short-range subsurface scattering. (Short-range surface albedo is the product of Near Color and Near Weight.) The default value is representative for pale caucasian skin.

RIB: color nearColor
Default: 1.0 1.0 1.0

Near Weight

Multiplier on Near Color (albedo = color * weight).

RIB: float nearWeight
Default: 0.13

Near Length

Diffuse mean free path length for the short-range subsurface scattering. Determines how far the light is scattered inside an object and how smooth the subsurface scattering is. Diffuse mean free path lengths are usually measured in millimeters (but see the discussion under the unitLength parameter).

RIB: float nearLength
Default: 0.8

Mid Color

Diffuse color for mid-range subsurface scattering. The default value is representative for pale caucasian skin.

RIB: color midColor
Default: 1.0 1.0 0.3

Mid Weight

Multiplier on Mid Color.

RIB: float midWeight
Default: 0.27

Mid Length

Diffuse mean free path length for the mid-range subsurface scattering.

RIB: float midLength
Default: 2.5

Far Color

Diffuse color for far-range subsurface scattering. The default value is representative for pale caucasian skin.

RIB: color farColor
Default: 1.0 0.0 0.0

Far Weight

Multiplier on farColor.

RIB: float farWeight
Default: 0.4

Far Length

Diffuse mean free path length for the far-range subsurface scattering.

RIB: float farLength
Default: 5.0

Unit Length

A multiplier on Far Length. Far Length is often measured in millimeters. If the scene is modeled in some other scale, Unit Length should be set accordingly. The default value of 0.1 is appropriate for scenes modeled in centimeters and Far Length measured in millimeters.

RIB: float unitLength
Default: 0.1

Indirect at SSS

Compute indirect illumination at subsurface illumination samples. When 1 (on), indirect illumination can be the source of subsurface scattering. This effect is often subtle and due to its extra cost defaults to 0 (off).

RIB: int indirectAtSSS
Default: 0

Bump

Connect a PxrBump node here if you need bump or normal-mapped normals for your clearcoat. Note that layers can override this value as well as apply independent bump to the specular or clearcoat channels.

RIB: normal bumpNormal
Default: 0.0 0.0 0.0

continuationRays

Trace subsurface continuation rays. When 1 (on), subsurface scattering can be scattering from across surface creases and also from other nearby objects. But internal blockers (such as bone within a finger) are ignored. When 0 (off), internal blockers are taken into account but there is no subsurface scattering across surface creases or from other objects. Turning subsurface continuation rays on can increase noise or render time.

RIB: int continuationRays
Default: 0

Specular

Color

The specular reflectivity of the material. To be physically plausible, the diffuse and specular colors should sum to less than 1. Materials should be brightened with light, not material response.

RIB: color specularColor
Default: 0.0 0.0 0.0

Roughness

Controls the specular roughness of the material.

RIB: float specularRoughness
Default: 0.1

Anisotropy

Controls the shape of the specular highlights and reflections. At 0.0 the shape is circular. Values from -1.0 to 1.0 produce the range of ellipses from fat to tall. The direction of anisotropy can also be controlled by your model texture parameters and by the Shading Tangent parameter. This value can range from -1.0 to 1.0.

RIB: float specularAnisotropy
Default: 0.0

Refractive Index

Refractive Index is the dielectric index of refraction for the material. For dielectric materials like plastic, changing this value primarily affects the amount reflectivity as the light or camera position relates to the surface normal. Channel values for this parameter typically lie in the range 1 - 3. Since we support 3-color values to capture the spectral effect, presets may be prefered over color pickers.

RIB: color specularEta
Default: 1.5 1.5 1.5

Bump

Connect a PxrBump node here if you need bump- or normal-mapped normals for your specular. Note that layers can override this value as well as apply independent bump to the specular or clearcoat channels.

RIB: normal specularNn
Default: 0.0 0.0 0.0

Shading Tangent

Controls the anisotropy direction. Only valid when provided as a texture/connection.

RIB: vector specularTn
Default: 0.0 0.0 0.0

Clear Coat

Color

The clearcoat models a dielectric coating material, so it does not exhibit colored highlights and reflections. The clearcoat color parameter governs the amount of the clearcoat effect to apply. The default black color results in no clear coat.

RIB: color clearcoatColor
Default: 0.0 0.0 0.0

Roughness

Controls the sharpness of the clearcoat highlights and reflections. This value can range from 0.01 to 1.0.

RIB: float clearcoatRoughness
Default: 0.01

Anisotropy

Controls the shape of the specular highlights and reflections. At 0.0 the shape is circular. Values from -1.0 to 1.0 produce the range of ellipses from fat to tall. The direction of anisotropy can also be controlled by your model texture parameters and by the Shading Tangent parameter. This value can range from -1.0 to 1.0.

RIB: float clearcoatAnisotropy
Default: 0.0

Refractive Index

Since clearcoat is a dieletric, we provide a single index of refraction to control the reflection response. Typical values for Refractive Index (eta) might be in the same range as for glass: 1.5 - 1.8.

RIB: float clearcoatEta
Default: 1.3

Thickness

Controls the "thickness" of the clearcoat, which affects how much the under-materials are affected by the clearcoat color. This value can range from 0.0 to 5.0.

RIB: float clearcoatThickness
Default: 0.0

Transmission

Controls the amount and color of light absorbed by the clearcoat. Interoperates with thickness to produce a variety of aging effects for the clearcoat.

RIB: color clearcoatTransmission
Default: 1.0 1.0 1.0

Bump

Connect a PxrBump node here if you need bump- or normal-mapped normals for your clearcoat. Note that layers can override this value as well as apply independent bump to the specular or clearcoat channels.

RIB: normal clearcoatNn
Default: 0.0 0.0 0.0

Shading Tangent

Controls the anisotropy direction. Only valid when provided as a texture/connection.

RIB: vector clearcoatTn
Default: 0.0 0.0 0.0

Presence

Connect a mask function here to apply a cutout pattern to your object. Presence is defined as a binary (0 or 1) function that can take on continuous values to antialias the shape. Useful for modeling leaves and other thin, complex shapes.

IMPORTANT NOTE: This value should be either 0 or 1. A value between 0 and 1 will produce unwanted noise !!!

RIB: float presence
Default: 1.0

Input AOV

A MatteID node can be connected here.

RIB: int inputAOV
Default: 0
images/pxrLM/lmSubsurfaceEyes.jpg

Peek-a-boo!


Example: Using Subsurface Color

The figure below illustrates how the subsurface color is computed depending on the distance between the surface entry and exit points (i.e. subsurface scattering distance). First the distance is used to evaluate the bssrdf profile (the gray-scale curve in the figure); this gives the intensity of the subsurface scattering. Then that intensity is multiplied by a color that is a mix of the near, mid, and far color - determined by the scattering distance as shown by the yellow, orange, and red areas in the figure.

Note that nearColor is multiplied by nearWeight, and similar for mid and far; this makes it simple to brighten or darken an input color texture.

Also note that the total subsurface color is guaranteed to be a mix of nearColor, midColor, and farColor. For example, if all three colors have a brighter red component than blue and green, the total subsurface color will always be more red than blue and green, no matter what the scattering lengths are and what the surface geometry is.

images/bssrdfColorCurves.png