Dual-scattering, multiple-importance-sampled hair shader.

Fibre properties
The base properties of the hair fibres used to drive all lobes and the dual scattering. The color of the hair is defined by the Melanin and Dye color parameters and generates the correct color for all lobes based on the attenutaion of light inside the hair fibre. The Highlight Width and Shift parameters are also remapped to control each lobe in a plausible fashion. For the most part, you should be able to drive the hair shading with these parameters alone.


Add randomization to each hair fibre to create a more natural feel. In order for these controls to work correctly, an int or float user data named curve_id must be applied to the hair geometry with a unique value per hair.


These parameters controls the rolloff of the highlights, which is a measure of how quickly the highlights appear as the light moves around the longitudinal axis of the hair.
The diffuse lobe represents light that has scattered multiple times between hair fibres and so become soft and diffuse. This is especially important for lighter hair colors, whereas dark brown and black hair have little to no diffuse component.
Specular 1
The direct-reflected, primary white highlight on the hair.
Specular 2
The secondary colored highlight on the hair. This lobe is broader than the primary highlight and is strongly colored by the Fibre color. It also contains caustic glints caused by the hair focusing light.
The transmitted colored highlight on the hair. This lobe is tighter than the primary highlight and is weakly colored by the Fibre color.
Whatever you plug in or set in the ID parameters in this section is written straight out to the corresponding id_X AOV. This is exteremely useful for creating mattes, or for outputting textures or other sub-network results to be used in comp.
Use these parameters to change the name of the AOVs that the shader writes