3Delight Hair and Fur shader.

The 3Delight Hair and Fur material is an artist friendly, yet physically plausible, hair and fur shader. Internally, the shader relies on a Monte-Carlo simulation to explore the different light paths inside a medium (in this case, a clump of hair) to produce an image. The complexity of this process is hidden from the artist which controls only high level shader parameters such as color and roughness.

Note the glow caused by light scattering inside blond and light coloured red hair. Also note how black hair has nice silky features. The "glint" is caused by caustics inside hair strands and is not an after thought of the shading model. All these features necessitate proper simulation of light scattering in hair clumps. 



This parameter, along width the Melanin Redness,  controls the generation of natural-looking hair colors. It sets  the amount of melanin in each hair strand. Colors will range from white at around 0 to blonde at around 0.2 to red and brown around 0.5 and to black at the maximum value of 1.0. 

Melanin Redness

Controls the redness of hair. In more technical terms, this controls the proportion of red pheomelanin (as found in red hair) relative to the amount of eumelanin

Dye Weight and Dye Color

It is sometimes desirable to render non-natural looking colors for hair. Using a dye color allows setting the color directly, without using the melanin parameters. The dye weight allows mixing both methods using a simple mix. Setting the Dye Weight to 1 will use only Dye Color and setting it to 0 will only use Melanin and Melanin Red. All values in between will use a mix of both.


Specular Level

Sets the overall specular level for hair. Values closer to 0 will render rough looking hair, values closer to 1.0 will render very shiny hair.

Roughness Along

Roughness Around


Synthetic Fiber


Natural looking hair requires a slightly different variations from one hair strand to the next (having totally uniform parametrisation  over the entire hair clump is generally only possible for synthetic hairs). The values in this section allow to randomly vary most parameters by a certain amount. Note that the variation is coherent from frame to frame in animation. A value of 0 indicates no variation for the parameter, a value of 1 indicates the largest possible variation and will be closer to a totally random value.

Dye Hue Variation

White Hair

This parameter controls the amount of white hairs in the clump of hair.

Technical Notes

An interesting aspect of hair rendering is that all the intricate visual details seen in hair stem from the scattering of light in a multitude of hair strands and is not due to the complexity of the BRDF on a single hair strand. This seemingly simple observation explains why so many complex shaders are not successful at conveying a realistic look for hair. This includes the widely used shaders based on the Marschner model not using volume scattering. Our shader simulates 3 scattering events from one single hair strand and then proceeds with a Monte-Carlo simulation to follow light paths inside the hair volume. Note that it offers no control over directly reflected color. Direct reflections have the same color as the incoming light. Any coloured visual features are due to light passing through a strand of hair.

  • No labels