Hair

This shader is deprecated! Please use Principled Hair instead.

Table Of Contents


Introduction

The hair shader simulates the complex, anisotropic reflections that are typically found in real hair and fur. Redshift takes inspiration from the paper 'An Artist Friendly Hair Shading System' by Sadeghi et al, which simplifies the Marschner shading model and introduces controls that are more intuitive, while maintaining realistic rendering results. Redshift further simplifies the Sadeghi shading model into three reflections:

  1. Internal reflection, which is light that has entered the hair and reflected back out. This reflection is responsible for the overall color of the hair.
  2. Transmission, which is light that has entered the hair and reflected through the back-side. This reflection is responsible for the back-lit translucency effect.
  3. Primary reflection, which is light that is reflected off the surface of the hair. This reflection is responsible for the shininess.

Our shader also supports a basic diffuse component, which allows you to cheaply illuminate the hair, without requiring extra reflection bounces. Use the diffuse with caution though, as it may make the hair look flat and unrealistic.



General

Internal Reflection

Color

This is the color of the internal reflection. This defines the color of the hair.


Weight

This scales the overall amount of the internal reflection.


Glossiness

This controls the longitudinal glossiness of the reflection along the hair strand. A glossiness of 1 means almost mirror reflection, while a glossiness of 0 means a deviation of around 30 degrees, for a very rough reflection. Internal Reflections are typically rough compared to primary reflection, which yields a more diffuse look.


Samples

This defines the number of samples to use for the reflection. More samples means less noise.


Highlights Only

This optimization option defines whether only lights are sampled for the reflection. Disabling this means 'indirect' lighting from surrounding objects and environment maps will also be sampled.
It is recommended that this option is disabled for GI, in order to catch indirect lighting contributions.


Diffuse

Color

This is the color of Lambertian diffuse component. This contributes extra color to the hair.


Weight

This scales the overall amount of the diffuse.


Translucency Weight

This scales the overall amount of diffuse translucency, which is the diffuse back-lit lighting.


This diffuse lighting effectively replaces the anisotropic Transmission, so the stronger this weight, the weaker the anisotropic Transmission contribution will be. When this weight is 1.0, there is no Transmission lighting.


Transmission

Color

This defines the color of the transmission.


Weight

This scales the overall amount of the transmission.


Length Glossiness

This controls the longitudinal glossiness of the reflection along the hair strand. A glossiness of 1 means almost mirror reflection, while a glossiness of 0 means a deviation of around 30 degrees, for a very rough reflection.


Width Glossiness

This controls the azimuthal glossiness of the reflection along the hair strand. A glossiness of 1 means almost mirror reflection, while a glossiness of 0 means a deviation of around 30 degrees, for a very rough reflection.


Primary Reflection

Color

This defines the color of the primary reflection.


Weight

This scales the overall amount of the primary reflection.


Glossiness

This controls the longitudinal glossiness of the reflection along the hair strand. A glossiness of 1 means almost mirror reflection, while a glossiness of 0 means a deviation of around 30 degrees, for a very rough reflection.


Samples

This defines the number of samples to use for the reflection. More samples means less noise.


Highlights Only

This optimization option defines whether only lights are sampled for the reflection. Disabling this means 'indirect' lighting from surrounding objects and environment maps will also be sampled.
It is recommended that this option is disabled for GI, in order to catch indirect lighting contributions.


Angular Shift

Hair is made up of tiny scales. This option allows you to specify the tilt of those scales. Values are typically in the range -10 to -5 degrees.


Enable Fresnel

Enables Fresnel reflection fall-off, so reflections perpendicular to the camera will be brighter than when facing the camera.


IOR

The index of refraction which is used to compute the Fresnel fall-off effect. The recommended default value is 1.55.


Transparency

Color

This defines the tint color of the transparency.


Weight

This scales the overall amount of the transparency.


Enabling transparency for hair will have a significant impact on performance. It is not recommended.


Advanced


Balance Diffuse/Reflection Energy

For physically correct energy conservation, stronger reflections will automatically result in weaker overall diffuse lighting, in order for the material to not reflect more light than it receives.


Disabling this option means the reflection strength will not affect the diffuse lighting strength.
Disabling this option can result in non physically correct lighting, unless the reflection and diffuse weights are carefully balanced by hand.


Enable Trace Depth Overrides

This enables the Max Reflection/Refraction Trace Depth parameters. When not enabled, the global trace depths will be used.


Reflection

Trace Depth

This specifies how many reflection bounces can occur after shading the material. Increasing this can add indirect lighting to thick fur, but will impact rendering time.


Enable Trace Depth Overrides must be enabled for this setting.


Cut-off Override Enable

This enables the luminance cut-off threshold override, which is used instead of the global threshold.


Cut-off Override Threshold

When the reflected results are very dark (because of low "Weight" or "Color" values) they contribute very little to the final image. This parameter defines what is considered "very dark" at which point no more reflection rays will be shot - which will speed up rendering. Scenes containing very strong lights might need this parameter set to very low values such as 0.0001 in order to avoid early termination of tracing which can produce a grain-like effect.


Transparency

Trace Depth

This specifies the trace depth for transparency rays for this material. Increasing this depth will dramatically impact rendering performance.


Enable Trace Depth Overrides must be enabled for this setting.


Transparency Cut-off Override Enable

This enables the luminance cut-off threshold override, which is used instead of the global threshold.


Transparency Cut-off Override Threshold

When the transparency results are very dark (because of low "Weight" or "Color" values) they contribute very little to the final image. This parameter defines what is considered "very dark" at which point no more reflection rays will be shot - which will speed up rendering. Scenes containing very strong visible lights, or incandescent objects might need this parameter set to very low values such as 0.0001 in order to avoid early termination of tracing which can produce a grain-like effect.


Combined Trace Depth

This allows you to set a custom combined trace depth for your hair shader. 


Enable Trace Depth Overrides must be enabled for this setting.


Hair Example

The example above shows a head of hair using the default shader settings, lit by a single dome light. Model courtesy of Emilio Hernandez. To demonstrate what each reflection layer looks like, above is the primary reflection only, which contributes to the shininess of the hair. Here is the transmission layer, which adds translucency to the hair.




Here is the internal reflection layer, which determines the overall color of the hair. You may notice a difference in color strength from the first image. This is due to energy preservation, with the primary reflection layer taking away energy from the internal reflection layer. The image above now has a diffuse color of white added, with a fairly low weight of 0.3. This effectively replaces the internal reflection color and makes the hair look 'powdery'.