3ds Max provides a set of MetaSL shaders for creating shader trees to use with hardware shading. A MetaSL shader tree is a hierarchical arrangement of MetaSL shaders that combine to serve as the equivalent of a material. For example, you could use two shaders in a tree to provide simple shading and reflectivity properties.
You can find general information about MetaSL shaders in the mental mill User’s Guide. Information about specific shaders, including shaders not provided with 3ds Max, is in the mental mill Shader Library documentation.
Viewing MetaSL Shader Trees in Viewports
To view a MetaSL shader tree in viewports, you must use a Map To Material Conversion node. When Map To Material Conversion is the parent material for the shader tree, you can then apply it to objects as you do any other material, and see the shader tree result in 3ds Max viewports.
While a Map To Material Conversion node is selected, you can save the MetaSL shader tree to an XMSL file. In the Slate Material Editor, choose Material Export As XMSL File.
To use an XMSL file as a texture in 3ds Max, add a DirectX Shader material to the scene, then choose the XMSL file as the shader to use. In the Slate Material Editor Parameter Editor panel, a rollout appears for each MetaSL shader in the shader tree. You can adjust the shader settings locally for the current scene, although the XMSL file remains unchanged.
Example of locally editable MetaSL shader rollouts for a DirectX material using an XMSL file
Generates a black-and-white falloff gradient. The gradient is based on the dot product between the viewer’s direction and the surface normal.
Generates a reflection.
Converts a color to a floating-point value by averaging the values of the three color components (RGB).
Converts a floating-point value to a color. RGB all equal the input value, and A (alpha) = 1.0.
Generates Phong shading, based on the lighting.
Generates the sum of two colors.
Generates a mix of two colors, based on linear interpolation controlled by a Mix color.
Generates the product of two colors.
Generates normals based on a normal map.
Generates normals from color values, typically by using a texture map.
Gets a texture from a 2D bitmap.