Quixel Partner with NVIDIA and what it means for Unreal Engine Developers
MDL may not be new, but now Quixel has partnered with NVIDIA to support MDL (Material Definition Language) and that means artists will now have access to more MDL ready assets to import into their games, or in our case our virtual sets that we design for realtime virtual production.
Recreate real-world materials and ensure that they display consistently across applications
In Unreal Engine 4.22 release, MDL import was apparently improved makes significant improvements to the import process for MDL including support for displacement, and the ability to reimport non-baked Textures from disk using their original paths. This means better realtime textures.
“Also you’ll notice several improvements to the way your Materials, Material Functions, and Textures are generated and laid out in your Project, and small but helpful usability fixes like showing descriptions for material functions and properties in tooltips.” points out the details on the Unreal Engine website page for the 4.22 update.
But what does MDL mean for 3D texture artists and developers? The first thing to get your head around is how MDL thinks about light, and there are two main ideas.
Idea 1 – Light is only Reflected, Transmitted and Emitted.
If you are reading this you are already a bit of pro in 3D rendering terms so I wont go too deeply into what these terms mean, but what I will say is that in MDL, any texture can do all 3.
Idea 2 – Angles and Intensity matter.
If we then look at how the surface texture in the form of roughness changes how the type of light bounces off a texture, and we add in the variable of intensity too, and we can tweak the angle of light, again in MDL all this is possible in one texture in any number of variables.
MDL textures use a programmable source of variables based on the above ideas so that texture designers and renderers can interoperate allot more data to achieve a more defined look, through the texture and not necessarily at the mesh or the texture rotation level.
NVIDIA have started a Material Definition Language Handbook that is the best place to start for anyone interested in designing / programming materials for MDL rendering.
The whole idea behind MDL is to give developers a broader pallet of variables as a language, so that they can observe any object in any given situation and create a material that better represents the real world.
It reminds me of the concept for quantum computing, where a bit can be on or off or any degree of both, in MDL a texture can be any variant of all the texture properties, very cool.
For instance is it very hard to replicate some of the finest details in nature as a polygon mesh, and let alone the computing power some materials would require as meshes. Take the examples given by NVIDIA like brushed aluminium.
“Very small geometric structures are difficult to construct using triangles or other geometric primitives used in the modeling process. MDL also provides a means to modify the normal vector to simulate a more complex surface than the underlying “real” surface. In Chapter [TBD], this technique is used to create the appearance of brushed aluminum. The very fine grooves in the metal surface are represented by an image that specifies how the normals should be modified, a traditional technique known as bump mapping. Modification of the surface structure itself can be defined by MDL through a technique called displacement, used in Chapter [TBD] to simulate fine engraving on metal. Displacement adds geometric data to an object—adding triangles to a triangle mesh, for example—rather than modifying the description of surface orientation that the normal vector represents. These manipulations of the geometric proprieties of objects are defined in MDL in the same way as the attributes of appearance and complement the physically based descriptions of the distribution functions.”
If you are still with us on this, then I suggest you get over to read the full Material Definition Language Handbook, happy creating.