PxrLM Materials form the basis of a production-ready, shading system designed with a clear layering model for artists, based on real materials, starting from elementary, results-oriented base shaders (or "substrates"). It includes an easy-to-use layering workflow and covers a wide range of surfaces while keeping maintenance and extensibility simple.
PxrLM Materials aim to provide a flexible surface shading system that can handle most of your shading needs. While PxrDisney is designed to present as few knobs as possible for the user to control the look of the surface, the PxrLM system accepts that sometimes more knobs are needed in order to be able to give the user the ability to simulate more complex surfaces. Furthermore, PxrDisney is limited to representing "hard" surfaces - it has no true subsurface component, nor does it support thin translucency or other properties that are often required by shading artists. However, if it does meet your shading needs, PxrDisney is an excellent option with a simple interface.
For shader developers, the LM Materials system provides a clear, simple layering order; layers are separate materials that can be set up based on a library of presets; adding a new substrate is a straightforward task and the availability of source code for the default substrates offers an excellent learning resource.
Using PxrLM Materials
PxrLM Materials can be used any of three different ways:
as a simple, singular material (PxrLMGlass1 in the image below),
as a simple layered material, using one of the "substrates" as a base layer and adding a single LMLayer atop it (PxrLMGlass2 in the image below),
as a complex layered material, again with a simple substrate, using the LMMixer node to combine multiple LMLayers (PxrLMGlass3 below) or with one LMLayer overlaid upon another (PxrLMGlass4).
The five fundamental base layer nodes, or "substrates", are Diffuse, Metal, Plastic, Glass, and Subsurface. The substrates have a simple subset of parameters specific to their needs, but each LMLayer contains a larger set to control additional diffuse and specular lobes, as well as a separate clearcoat. Each of these lobes can be enabled or disabled independently, and the entire layer is governed by a mask (usually a texture, though there are certain things, like a clearcoat over metal, that would warrant a constant mask). The clearcoat lobe is more than a simple clearcoat - it can be colored, enabling it to simulate lacquer or other materials where refracted highlights are tinted by a lobe's color. Note that you don't need to add layers atop the substrates - each substrate does a specific job and does it well.
The specular component of a PxrLM Material can behave as a dielectric material or as a conductor. In other systems, this control has typically been offered in the form of a "metallic" parameter. In PxrLM, we expose direct control over the complex Refractive Index and Extinction Coefficient for solving the Fresnel equations. In real materials the values for these parameters change with the light frequency and so we expose them as color parameters to the user. For dielectric materials like water, glass, or clearcoat you can set the Extinction Coefficient to 0 (black) and select values for the Refractive Index in the range of 1.2 to 2.5. For metallic materials the Extinction Coefficient is typically in the 2.0 - 3.5 range. We provide a handy set of presets for LMGlass and LMMetal, so you can quickly move between a broad range effects.
Certain shader parameters have user-selectable presets. These parameters appear in the UI with an arrow sign. Left-click on the parameter name to display the presets menu and select a value. The presets are simple text files that can easily be extended.
See the pages for the individual materials for more information about the particular presets provided for each.
(Diagram inspired by Weidlich and Wilkie's arbitrarily layered micro-facet surfaces.)