NVIDIA MDL SDK - Get Started



Key Features and Components

  • MDL 1.6 Compatible.
  • Database view on the imported MDL package space.
  • MDL editing. Create instances of functions and materials and connect them to create new materials with new interfaces.
  • Compile materials into DAG's, including inlining, dead code elimination, and complete evaluation of uniform subgraphs, allowing renderers to inspect the material model.
  • Class and Instance compilation modes fitting different rendering requirements.
  • Backends for compilation of texturing functions as well as full materials:
    • Native x86
    • PTX
    • LLVM IR
    • HLSL
    • *GLSL (no material compilation yet)
  • *Distill from the MDL source to the capabilities of the render engine.
  • C++ component-based API, and plugin architecture for extensibility.
  • SDK code examples for best practice use of the SDK.
  • For use on GPU as well as CPU.
  • Support for MDL's module system. Import and export of MDL modules including dependencies.
* feature not included in open source version

Requirements

Operating System

Windows 10 - 64-bit, Linux and Mac OS

Development Environment

C++ Compiler


MDL SDK 2020.1

The MDL SDK API is a comprehensive C++ API for integration and customization tasks, which can be dynamically loaded and linked to visualization applications at runtime. The API allows applications to load MDL modules, analyze and understand the structure of a material so it can build a UI for material editing and render the results.


By downloading this SDK, you are confirming that you have read and agree to be bound by the SOFTWARE DEVELOPER KITS, SAMPLES AND TOOLS LICENSE AGREEMENT for use of the SDK package.


The open source version is licensed under the BSD-3 clause.

MDL SDK 2020.1 (August 2020)

Enhancements:

  • additional functionality for efficient internal database inspection
  • improvements to the derivative calculation
  • added ability to apply certain code transformations to MDL modules
  • Autodesk Arnold integration example (CPU rendering)
  • improved DXR example including support for GLTF
  • improved Optix 7 example

For a complete list of changes and fixes please see the release notes shipped with the SDK

MDL SDK 2020.0.2 (June 2020)

Windows / Linux / MAC

  • maintenance release

MDL SDK 2020.0.1 (April 2020)

Windows / Linux / MAC

Enhancements:

  • Code generation for hair bsdf added
  • Example for cuda rendering now supports hair materials
  • Runtime support for user scene data added to HLSL backend
  • Example for DXR rendering now supports user scene data (primvars)
  • Example for DXR rendering now supports UDIM textures

MDL SDK 2020.0 (March 2020)

Windows / Linux / MAC

Enhancements:

  • Code generation for hair bsdf added
  • Example for cuda rendering now supports hair materials
  • Runtime support for user scene data added to HLSL backend
  • Example for DXR rendering now supports user scene data (primvars)
  • Example for DXR rendering now supports UDIM textures

MDLMDL SDK 2019.1.1 (June 2019)

Windows / Linux / MAC

Enhancements:

  • Support for annotations on annotation declarations
  • Configurable parameter folding in class compilation related to ternary operators
  • Performance improvements for MDLE files

MDLMDL SDK 2019.1

Windows / Linux / MAC

Enhancements:

  • New HLSL backend including full material compilation
  • DXR rendering sample using HLSL
  • MDL 1.5
    • MDL encapsulated file (MDLE)
    • New BSDF: measured_factor
    • Localization (final)
    • New type hair_bsdf and interface for chiang_hair_bsdf

MDLMDL SDK 2019

Windows / Linux / MAC

Enhancements:

  • New distilling target supporting anisotropy, volume, glossy transmission with refraction
  • MDL 1.5 feature preview: MDL encapsulated file format

MDLMDL SDK 2018.1.2

Windows / Linux / MAC

Enhancements:

  • First pre-release draft of the NVIDIA Material Definition Language 1.5: Appendix E - Internationalization has been added to the documentation set.
  • New standalone tool to manage MDL archives has been added (mdlm).
  • Support for removal of MDL modules from the database has been added.
  • Support for automatic derivatives for 2D texture lookups has been added to the PTX, Native x86 and LLVM IR backends.
  • support for more distribution functions (DF) (spot EDF, measured EDF, measured BSDF) has been added to the PTX, Native x86 and LLVM IR backends.

For a complete list of changes and fixes please see the release notes shipped with the SDK



Additonal Resources