PxrHair

PxrHair

Important Note

PxrHair is being replaced by PxrMarschnerHair. For backward compatibility, in PRMan 20, PxrHair is moved to $RMANTREE/lib/RIS/r19/bxdf. This directory also contains other PRMan release 19 shading plug-ins compiled with PRMan 20.

To achieve physically correct hair shading, it is highly recommended to use PxrMarschnerHair. PxrHair will not be in the standard plug-in path in the future releases.

To render your existing scene created in PRMan 19 with PxrHair, you can add ${RMANTREE}/lib/RIS/r19/bxdf in your rendermn.ini:

/standardrixpluginpath ${RMANTREE}/lib/RIS/pattern:${RMANTREE}/lib/RIS/r19/bxdf:${RMANTREE}/lib/RIS/bxdf:${RMANTREE}/lib/RIS/light:${RMANTREE}/lib/RIS/integrator:${RMANTREE}/lib/RIS/projection

The PxrHair shader is a physically plausible Bxdf that provides multiple specular transport paths (R, TT, and TRT paths based on the the hair scattering model of Marschner et al.) and a diffuse term adapted from Goldman's "Fake Fur Rendering".

images/pxrHair/pxrHairColorDark.jpg

Dark Hair

images/pxrHair/pxrHairColorCopper.jpg

Copper Hair

images/pxrHair/pxrHairColorBlond.jpg

Blonde Hair

The color changes above were made by altering the values of Diffuse Root Color and Diffuse Tip Color.

Parameters

Diffuse Gain

Multiplier on diffuseRootColor and diffuseTipColor. The product of diffuseGain and diffuseRootColor or diffuseTipColor should be high (up to 1.0) for woolly fur, and low for e.g. human hair.

RIB: float diffuseGain
Default: 1.0

Diffuse Reflection Gain

Diffuse reflection gain.

RIB: float diffuseReflectGain
Default: 1.0

Diffuse Transmission Gain

White and gray fur is well represented by nearly equal reflection and transmission gains. Fur with more pigment will have much higher reflectance than transmission.

RIB: float diffuseTransmitGain
Default: 1.0

Diffuse Root Color

Diffuse color of hair roots.

RIB: color diffuseRootColor
Default: 0.05 0.05 0.05

Diffuse Tip Color

Diffuse color of hair tips.

RIB: color diffuseTipColor
Default: 0.18 0.18 0.18

Highlight Shift

Shift specular highlight from root to tip. Valid range is 5.0 to 10.0.

RIB: float highlightShift
Default: 7.5

Highlight Width

Specular highlight width. Valid range is 5.0 to 10.0.

RIB: float highlightWidth
Default: 7.5

Kr

Specular reflection amount. Valid range is 0.0 to 0.1.

RIB: float kr
Default: 0.04

Transmit Root Color

Tint for light that shines through the hair (at hair root). Used for specular lobes (and for shadows if transmissionBehavior is 1).

RIB: color transmitRootColor
Default: 0.6 0.5 0.4

Transmit Tip Color

Tint for light that shines through the hair (at hair tip). Used for specular lobes (and for shadows if transmissionBehavior is 1).

RIB: color transmitTipColor
Default: 0.6 0.5 0.4

Transmission Behavior

Select a transmission behavior. Only relevant when transmitRootColor and/or transmitTipColor is non-zero.

  • 0: None
  • 1: ShadowsOnly
  • 2: ShadowsOnly (uncached)
RIB: int transmissionBehavior
Default: 0