NVIDIA Material Definition Language

The NVIDIA Material Definition Language (MDL) gives you the freedom to share physically based materials and lights between supporting applications. For example, create an MDL material in an application like Adobe Substance 3D Designer, save it to your library, then use it in NVIDIA® Iray® or Chaos V-Ray, or any other supporting application. Build a library of MDL materials once and be confident they'll maintain their appearance as they move into all the applications in the workflow. It's an easy way to save significant time and effort.

Unlike a shading language that produces programs for a particular renderer, MDL materials define the behavior of light at a high level. Different renderers and tools interpret the light behavior and create the best possible image, whether it's an OpenGL-based application or physically based renderer like Iray.

An MDL Advisory Board, consisting of partners developing applications with MDL guides and manages the development of the MDL specification.

The NVIDIA vMaterial Library using MDL makes it easy to get started designing with a set of real-world materials. Use the vMaterials as they are or modify and layer them to create the look that's needed within the applications. Easily export the modified materials and move them to other supporting applications with just a few clicks.

Rendering mdl sample metal
Rendering mdl sample cloth
One Definition, Many Render Applications

One Definition, Many Render Applications

NVIDIA and Chaos Group use the Material Definition Language to deliver extremely similar results across rendering applications. This enables users to seamlessly transition from OpenGL to fast ray tracing to full global illumination without any scene adjustments.

Accurate Material Simulations

Complex materials defined in MDL can be shared between renderers like Iray or Mental Ray, shown in this custom definition for a custom cloth material.

IRAY 2015
Mental Ray 3. 13

Under the Hood, MDL Building Blocks

Material definitions are constructed from physically based elements and functions that are easily layered to achieve a rich continuum of materials without the need to program or compile. Output from leading measurement devices, like those from X-Rite can also be used as elements and customized with layers and functions to greatly extend their usage range.

Rendering Material Definition samples

Seamless Material Exchange

While MDL materials and lights can move easily between supporting applications, they require the MDL Material Exchange package or the NVIDIA vMaterials library to be installed for proper operation. Guides and tips on exchanging materials are available in the Materials section of the NVIDIA Advanced Rendering Forum.

Applications and Plug-ins with MDL and Material Exchange Support

Resources for Developers

Please visit NVIDIA DesignWorks™ for information about supporting the Material Definition Language in your renderer, or for creating custom definitions and functions for use in your favorite renderer supporting MDL. For GPU-accelerated renderers like Iray, custom definitions, functions, and measurements will run entirely on the GPU, delivering high-performance results without any GPU programming knowledge.