PxrDisney

PxrDisney

images/risTransitron.jpg

Transitron, PxrDisnified

The PxrDisney shader is a "catch-all" shader, designed to be flexible and dynamic in a production shading pipeline. The shader is based on the Disney "principled" BRDF by Brent Burley; it is "principled" rather than strictly physical. The principles that Disney followed when developing this model were:

  1. Intuitive rather than physical.
  2. As few parameters as possible.
  3. Parameters are zero to one over their plausible range.
  4. Parameters are allowed to be pushed beyond their plausible range where it makes sense.
  5. All combinations of parameters should be as robust and plausible as possible.

The original Disney BRDF had one color parameter and ten scalar parameters. Our implementation has the following parameters:

Parameters

baseColor
The diffuse base color of the surface. This can be set trivially, as a color, but typically this is supplied by texture maps.
images/pxrDisney/pxrDisneyRGB.png

RGB, baby

emitColor
The emission energy. Non-black values represent glow.
images/pxrDisney/pxrDisneyEmissive.png

Changing the emitColor from Red to Black, and Red with .5 saturation in between

subsurface
Controls of the diffuse shape using a subsurface approximation. Note that this is not a true "subsurface".
subsurfaceColor
The color to mix with diffuse response. The amount is controlled by the subsurface parameter.
images/pxrDisney/pxrDisneySubsurface.png

Subsurface values of .667, .333, and 0, with a pink-ish subsurfaceColor

metallic
The metallic-ness of the material. 0 is purely dielectric and 1 is fully metallic; the transition from one model to the other is linear. Note that the metallic model has no diffuse component; it does have a tinted incident specular.
images/pxrDisney/pxrDisneyMetal.png

The metallic parameter at 1, .5, and 0

specular
Incident (maximum) specular amount. This is in lieu of an explicit index of refraction.
images/pxrDisney/pxrDisneySpecular.png

The specular parameter at 1, .5, and 0

specularTint
A concession for artistic control, this parameter tints incident specular toward the base color. Note: grazing specular is still achromatic (i.e. the specularTint parameter doesn't tint incoming light at grazing angles).
images/pxrDisney/pxrDisneySpecularTint.png

With the Specular set at .5, here are specularTints of 1, .5, and 0

roughness
Surface roughness, controls both diffuse and specular response.
images/pxrDisney/pxrDisneyRoughness.png

The roughness parameter at 0, 0.3, and 0.6 (specular at 0.5)

anisotropic
Degree of anisotropy, controls the aspect ratio of the specular highlight, wherein 0 is isotropic and 1 is maximally anisotropic. The direction of anisotropy is governed by s-t
images/pxrDisney/pxrDisneyAnisotropic.png

Anisotropy set at 1, .5, and 0 (specular at .667)

sheen
An additional grazing-angle component (primarily for cloth, not entirely irrelevant to cows, depending, but an entirely different sense of "grazing" nevertheless).
images/pxrDisney/pxrDisneySheen.png

Sheen values of 1, .5, and 0

sheenTint
Amount to tint sheen towards the base color. At 0, sheen is achromatic (i.e. it doesn't tint incoming light).
images/pxrDisney/pxrDisneySheenTint.png

With the Sheen set at .5, here are sheenTints of 1, .5, and 0

clearcoat
A second, special-purpose specular lobe.
images/pxrDisney/pxrDisneyClearcoat.png

Clearcoat set at 1, .5, and 0 (metallic at .667, specular at .5)

clearcoatGloss
Controls the clearcoat glossiness. 0 produces blurry highlights; 1 produces tight highlights. Note: this parameter has the inverse sense of roughness.
images/pxrDisney/pxrDisneyClearcoat.png

ClearcoatGloss set at 1, .5, and 0 (clearcoat at .667)