Enables quick integration of physically-based materials into rendering applications
The NVIDIA MDL SDK is a set of tools to integrate MDL support into rendering applications. It contains components for loading, inspecting, editing of material definitions as well as compiling MDL functions to GLSL, PTX and LLVM-IR. With the NVIDIA MDL SDK, any physically based renderer can easily add support for MDL and join the MDL eco-system.
The NVIDIA Material Definition Language (MDL) is a programming language for defining physically based materials for rendering. A rich vocabulary of material building blocks based on bidirectional scattering distribution functions (bsdf) allows creation of a wide range of physical materials such as woods, fabrics, translucent plastics and more. The language is flexible enough to allow applications to add support for popular material models without additional changes in a renderers core shading code, examples would be the Epic’s Unreal physical material model or the material model used for in X-Rite’s SVBRDF model. MDL is defined in a way that it's abstract enough to allow renderers of various architectures to support it. A C-like language for defining texturing functions allows the implementation of custom texturing workflows, texture projections and procedural textures.
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.
MDL can be used to define materials compatible with NVIDIA’s mental ray and Iray. Chaos Group, Adobe and ESI use the MDL SDK to add MDL support to their applications.
Get access to the latest software releases and tools and receive notifications and invites to join special developer events, early access programs and educational webinars. The program is free-to-join and open to all developers.
|Operating System||Windows 7, 8, 10 (64-bit only), Linux and Mac OS|
|Development Environment||C++ Compiler|
MDL materials represent all the physical parameters needed to accurately reproduce a material in CGI.
Accuracy is important in design applications as the renders can drive design decisions.
Many of these parameters do not directly translate to real-time engines but the distiller allows customers to keep the original high fidelity material definition as reference while adapting or distilling the look with as much fidelity as possible to the real-time engine.
MDL support is used to define materials compatible with NVIDIA’s mental ray and Iray. Chaos Group, Adobe and ESI are developing applications that will incorporate MDL support for consistent look of realistic physical materials and seamless material exchange between supported applications.
Please contact your application environment of choice to inquire about support for MDL.
An integration SDK for application developers is available under the MDL SDK program. Membership is dependent upon review.
The MDL SDK is used by Chaos to support MDL in V-Ray.
NVIDIA vMaterials rendered in Chaos Group’s V-Ray
ESI/IC.IDO uses the MDL SDK to add MDL support to both GLSL as well as Optix based rendering solutions.
Comparing GLSL rendering (left) to Optix based rendering (right) in ESI’s rendering solution
Our forum community is where Developers can ask questions, share experiences and participate in discussions with NVIDIA and other experts in the field.
Check out available forums here.