Garibaldi Shader

From Garibaldi Express
Jump to: navigation, search

A typical human head of hair is made up of hundreds of thousands of incredibly fine shafts of translucent proteins. Each of these hair shafts surfaces is itself made from thousands of microscopic overlapping scales.

It would be not desirable to try and fully replicate this structure using geometry. Garibaldi Express combined with DAZ Studio's built in renderer will generate a smooth flat line facing the viewing camera. The purpose of the Garibaldi Shader is to take this smooth flat line and give it the appearance of the complex interactions with light that takes place in real hair strands.


Scanning Electron Microscope Image of single hair strand. Biosciences Imaging Centre, University College Cork, Ireland.


Compared to conventional 3D computer graphic rendered surfaces Garibaldi Express's strand based hair structure is different and therefore requires a different approach to its shading. Garibaldi Express provides a hair shader which at its heart is based on Marschner's classic model of hair reflectance. In this shading model the way the light is reflected from the hair to the camera is broken down into three separate components:

  • Primary Specular: The main bright highlight of the surface of the hair. This highlight is narrower and 'whiter' than the secondary highlight.
  • Secondary Specular: The larger highlight of the surface of the hair. This highlight gives the hair most of it's colour.
  • Transmission: The light that passes through the hair strands from behind the hair in respect to the camera.


Description of how a ray of light would pass through a strand of hair using the above Marschner reflectance approximation.


The final rendered lit hair is a combination of the [ 'Primary Specular' + 'Secondary Specular' + 'Transmission' + 'Diffuse' + 'Ambient' ] these lit samples optionally are then multiplied by shader ambient occlusion component.


Additional shading setting are provided to extend and complement these parts as descried below.


Shader Panel parameters in 'DAZ Studio 4.6'.
Example of simple rendered 'Garibaldi Express' hair.

Contents

General

General Shader Settings.

Shading Rate

Opacity

This setting sets the level of Opacity/transparency that the hair strands will be rendered using.

Setting the opacity value to 0.0 will result in the hair strands rendering fully transparent. A setting of 1.0 will result in the hair strands rendering fully opaque. Lowing the opacity will result in hair strands to become softer. A value in the range between 0.6 to 0.9 depending on hair type will result in more realistic result.

By setting the opacity value to something other than 1.0 (fully opaque) will result in more memory use and increased rendering times.

This opacity setting will not be used with tracing based lighting features unless the corresponding 'hitMode' is set to 'Shader' in the 'Advanced' section of these material settings. If the 'Shader' 'hitMode' is used then it will result in more memory use and increased rendering times.

Opacity = 0.33
Opacity = 0.66
Opacity = 1.0

S Opacity

This setting sets the level of Opacity/transparency that the hair strands will be rendered using in Deep shadow passes. This allows the ability to set the softness of shadows produced by the hair strands independently to the above main hair opacity setting.

Setting the opacity value to 0.0 will result in the hair strands rendering fully transparent in the deep shadow passes. A setting of 1.0 will result in the hair strands rendering fully opaque in the deep shadow passes. Lowing the opacity will result in shadows produced by the hair strands to become softer. Normally circumstances this setting would be set the same as the above main hair opacity setting but can be changed to produce different shadow softness effects.

By setting the opacity value to something other than 1.0 (fully opaque) will result in more memory use and increased rendering times.

Shadow Opacity = 0.33
Shadow Opacity = 0.66
Shadow Opacity = 1.0

Ambient & Diffuse

Ambient & Diffuse Shader Settings.

A Intensity

This will set the ambient shading intensity of the hair strands. The ambient colour used will be what has been set in in the colour settings of the 'Garibaldi Editor'.

Setting the Ambient Intensity value to 0.0 will result in none of the ambient shading component to be added rendered hair strands. A setting of 1.0 will result in the hair strands rendering with the full amount ambient shading component.

Normally when simulating the appearance of realistic hair strands the ambient Intensity would be set to 0.0 (off).

This shading component is mainly provided to allow the creation of non-photorealistic rendering results such as a 'cartoon' appearance.

Ambient only. Ambient Intensity = 0.33
Ambient only. Ambient Intensity = 0.66
Ambient only. Ambient Intensity = 1.0

D Intensity

Diffuse only. Diffuse Intensity = 0.33
Diffuse only. Diffuse Intensity = 0.66
Diffuse only. Diffuse Intensity = 1.0

Primary Specular (R)

Primary Specular (R) Shader Settings.

R Intensity

Primary Specular only. 'R Intensity' = 0.33
Primary Specular only. 'R Intensity' = 0.66
Primary Specular only. 'R Intensity' = 1.0

R Colour

R Colour Blend

Primary Specular only. 'R Colour Blend' = 0.0
Primary Specular only. 'R Colour Blend' = 0.5
Primary Specular only. 'R Colour Blend' = 1.0

R Longitudinal Shift

Primary Specular only. 'R Longitudinal Shift' angle = -20 degrees
Primary Specular only. 'R Longitudinal Shift' angle = 0 degrees
Primary Specular only. 'R Longitudinal Shift' angle = 20 degrees

R Longitudinal Width

Secondary Specular only. 'R Longitudinal Width' angle = 2.5 degrees
Secondary Specular only. 'R Longitudinal Width' angle = 5.0 degrees
Secondary Specular only. 'R Longitudinal Width' angle = 10 degrees


Secondary Specular (TRT)

Secondary Specular (TRT) Shader Settings.

TRT Intensity

Primary Specular only. 'TRT Intensity' = 0.33
Primary Specular only. 'TRT Intensity' = 0.66
Primary Specular only. 'TRT Intensity' = 1.0

TRT Colour

TRT Colour Blend

Secondary Specular only. 'TRT Colour Blend' = 0.0
Secondary Specular only. 'TRT Colour Blend' = 0.5
Secondary Specular only. 'TRT Colour Blend' = 1.0

TRT Longitudinal Shift

Secondary Specular only. 'TRT Longitudinal Shift' angle = -10 degrees
Secondary Specular only. 'TRT Longitudinal Shift' angle = 0 degrees
Secondary Specular only. 'TRT Longitudinal Shift' angle = 10 degrees

TRT Longitudinal Width

Secondary Specular only. 'TRT Longitudinal Width' angle = 10 degrees
Secondary Specular only. 'TRT Longitudinal Width' angle = 20 degrees
Secondary Specular only. 'TRT Longitudinal Width' angle = 30 degrees


G Intensity

G Azimuthal Shift

G Azimuthal Width

Transmission (TT)

Transmission (TT) Shader Settings.

TT Intensity

Transmission only. TT Intensity = 1.0
Transmission only. TT Intensity = 1.5
Transmission only. TT Intensity = 2.0

TT Colour

TT Colour Blend

Transmission only. 'TT Colour Blend' = 0.0
Transmission only. 'TT Colour Blend' = 0.5
Transmission only. 'TT Colour Blend' = 1.0

TT Longitudinal Shift

Transmission only. 'TT Longitudinal Shift' angle = -5 degrees
Transmission only. 'TT Longitudinal Shift' angle = 0 degrees
Transmission only. 'TT Longitudinal Shift' angle = 5 degrees


TT Longitudinal Width

Transmission only. 'TT Longitudinal Width' angle = 1 degrees
Transmission only. 'TT Longitudinal Width' angle = 2 degrees
Transmission only. 'TT Longitudinal Width' angle = 4 degrees


Occlusion

Transmission (TT) Shader Settings.

O Shader Intensity

O Shading Rate

O Max Error

O Max Distance

O Number Samples

Advanced

Advanced Shader Settings.
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox