User Guide Cancel

MDL graphs | Substance 3D Designer

MDL graphs

This page presents MDL graphs in Substance 3D Designer, which let you author MDL materials and preview their behavior in real time.


Malachite MDL material

Malachite with Chrysocolla, MDL material by Mark Foreman available on our Legacy Substance Share platform

Overview

MDL stands for Materials Definition Language: "a technology developed by NVIDIA to define physically-based materials for physically-based rendering solutions." (Source: NVIDIA MDL Documentation)

Using this language, a full material definition is portable and thus can be used across applications and renderers for a consistent output. Substance 3D Designer is currently the only application offering graph-based nodal authoring of MDL materials, by exposing the MDL functions and value types as nodes in an MDL graph.

While authoring materials, you can use NVIDIA's own Iray renderer, embedded in Designer and available in the 3D view panel, to preview the behavior of the material interactively.

MDL graphs are complementary with Substance graphs in that the latter output textures which can be sampled by the MDL material to affect its behavior and appearance.

We suggest going through the sections of this documentation in order for a guided learning path, starting with the properties of an MDL graph resource, just below.
Eager to jump in? Get started with MDL graphs in the MDL learning resources section!

Note:

You can learn more about the technical implementation of the Material Definition Language in the NVIDIA MDL Documentation, which includes links to the MDL Specification and MDL Handbook, all authored and maintained by NVIDIA.


MDL graph properties

MDL graph properties in the Properties panel

MDL graph properties

Attributes

This section includes information regarding the MDL material for the purposes of identification, classification and establishing authorship.

  • Identifier: The name of this resource, which should be unique under its parent in the package
  • Display name: The MDL material name displayed in the interface
  • Icon: The image used as a thumbnail for this graph in Designer’s Library
  • Hidden*: When set to True, the MDL material is not visible in an MDL library but still exists internally and may be referenced
  • Show in Library: When set to True, the MDL graph is displayed in Designer’s Library
  • Description: The description of the MDL material, which can be displayed in the tooltip of instance nodes referencing this graph
  • Category*: The category the MDL graph belongs to – this currently has no impact on how the graph is sorted in Designer's Library
  • In group*: The library group the MDL material belongs to
  • Author*: The author of the MDL material
  • Contributors*: The contributors to the MDL material other than the author
  • Keywords*: The keywords that may be used to find the MDL material in a library search
  • Copyright notice*: The copyright notice relevant to the authorship and usage of the MDL material

Note: Properties marked with an asterisk (*) are MDL annotations to be used by MDL library integrations and have no impact in Designer.

Graph inputs

This section lists the interactive parameters connected to exposed parameters of the MDL graph and define their default values. They may be tweaked and reordered at any time.

The interface and behavior of these inputs is defined by the value type and ranges of the exposed parameters they are connected to. For instance:

  • An exposed value of type Float set to a soft range of [0.0,4.0] will be displayed as a single slider ranging from 0.0 to 4.0
  • An exposed value of type Color will be displayed as a color widget, which includes a picking gradient and color thumbnail

To reorder graph inputs, place the cursor on the dark handle to the left of the parameter, click and hold LMB and drag the cursor up or down. This custom order will be used to display the properties of the MDL material in the following contexts:

  • Instance nodes referencing the MDL graph for this material
  • The material properties in the 3D View
  • Third party MDL integrations

Get help faster and easier

New user?