Version 3.13
In the library we include the layering components and component combiners. The declaration of the shaders and Phenomena can be found in the file layering.mi. To use the shaders, the declaration file must be included and the library linked:
link "layering.so" $include "layering.mi" $include "layering_phen.mi"
The shader names in the layering library are all prefixed with "mila_".
Since these shaders attempt to simulate physics, it is important to light them with lights that are physically plausible.
The light shaders used should ideally be physical, and in general they should be visible area lights.
The layering shaders also take advantage of light importance sampling features. For global light importance sampling for area and point lights, use the string option "light importance sampling" "on".
A special physical light is included in this package.With the layering library, one builds up material quality with a combination of elemental components. These elemental components represent a standard variety of surface interaction, such as diffuse, glossy, or specular, reflection or transmission. In material description terms, reflection or transmission is called a scatter type, where transmission is scattering in the forward direction, and reflection is scattering in the backward direction.
A light path is an identified path of light from the light to the eye (camera) through whatever surface interactions may occur. L represents light, E represents eye, so LDE would represent light that interacts with a D diffuse surface before reaching the eye. A simple material might handle one light path, while more complex materials, may handle a great variety of light paths. A Light Path Expression (LPE) is a way to describe one or more light paths with a single representational text expression. A simple example is the above LDE.
Internally, these shaders make an important distinction between Transparency and Tranmission(including refraction); for the layering shaders in practical usage, we can further clarify an important conceptual difference.
Though suited for arbitrarily complex materials, this library contains specific enhancements to aid in simulating skin. For this reason, these shaders should replace any older mental ray skin shaders where possible!
Use the scatter component shader of this library instead of misss_* shaders. These should perform better, and give more intuitive sense to the controls. Further details are covered in tutorial section.