Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
hair( dPdv, eta, absorption, ... closure subcomonents ... , optional parameters );

...

sub-components ... , optional parameters );

Follows a description of each parameter of the hair closure:

dPdv

This parameter gives the direction of the hair strand at the sampling point. 

eta

Index of refraction of the hair strand.

absorption

Absorption of the hair strand at the sampling point

sub-components

An expression of the form: weight1 * hair_component1 + weight2 * hair_component2 + ... + weightn * hair_componentn 

optional_parameters

accepts "float eccentricity" for now. It specifies the eccentricity of the cross section of one hair. 

Accepted sub-components call the hair_component closure with a parameter specifying the lobe to sample:

Code Block
weight * hair_component( lobe, longitudinal_roughness, azimuthal_roughness, hair_scales_tilt );

 Follow a description of each parameter of the hair_component closure :

weight

This scales the contribution of each lobe. Note that with values greater than 1, internal normalization might be done in order to avoid energy amplification by the BSDF. This means changing these weights can change the look of the hair but will generally not make it brighter overall.

lobe

Can be either "R", "T", "TRT" or "TRRT"

longitudinal_roughness

This will change the size of the lobe along the length of the hair. It behaves just like roughness for other BSDFs.

azimuthal_roughness

This will change the size of the lobe across the hair fiber. As the simulated hair is cylindrical, this parameter has little effect on the R and TT lobes. Its effect is most visible on the sharpness of the TRT lobe (glints).

hair_scales_tilt

The angle of the scales which form the surface of the hair fiber, in radians. It affects the position of the highlight on the strand. This will typically be in the range of -0.05 to -0.1 radians for human hair (negative to tilt towards the root). Note that the final position is computed from this angle differently for each lobe so using the same value for all lobes will produce distinct highlights.