nVidia Material Definition Language (MDL)
While talking about the new Layering Library (MILA) you have seen us mention the Material Description Language or “MDL”
You can find out more on this from nVidia by looking here: nVidia iray Material Definition Language
It is also listed on the homepage for the Advanced Rendering Center
Posted on January 22, 2013, in Uncategorized. Bookmark the permalink. 5 Comments.
Great. OSL (Open Shader Language) not enough?
This isn’t a shading language.
MDL allows renderers to use a common material description that can be rendered by the core in whatever manner it desires. The algorithm decides how to represent the material description. This can be adopted and shared by any rendering core (iray, mental ray, Arnold, etc.)
This is already used in iray where you can represent and render the same material in realtime (OpenGL), interactive raytracing, or the full bidirectional pathtracing. The advantage is that this can be rendered in a CPU or GPU rendering core. Many shading languages are GPU or CPU alone (OSL is CPU right now), MDL can represent the material to either core and render similarly.
Adding in mental ray would mean you can render the material in another flexible way.
In terms of abstraction:
C/C++ < metaSL < OSL < MDL
This abstraction allows MDL to easily address features that would otherwise be difficult:
– Strong hardware-software correlation
– Fully functional light path expressions (LPE)
– Layering/mixing of arbitrary BSDFs (programmed as well as measured)
While a single BSDF might be defined with a proper shading language (C/C++, metaSL, OSL, etc.), MDL provides generalized description of how that BSDF contributes to a your greater material and output framebuffers.
Pingback: MILA New Features – May | elemental ray
Pingback: MILA tip and trick – Dispersion | elemental ray