NVIDIA's Material Definition Language provides a powerful tool for describing complex physically based materials. Using the MDL SDK, generation of actual GPU shader code from an MDL file is usually done in an offline process. We'll introduce the NVRTC CUDA runtime compilation library, and then demonstrate how it can be employed to build shader programs for the OptiX ray-tracing engine within a running rendering application. Using NVRTC not only relives end users from having to install an NVIDIA CUDA development environment, it also enables the creation of compact and efficient shader code that can be specialized at runtime. We'll demonstrate a prototypical implementation that has been integrated in ESI's IC.IDO decision-making platform.
Illuminating Engineering Society (IES) light profiles and X-Rite's Appearance Exchange Format (AxF) are popular file formats for the distribution of measured light and surface appearance data. In this talk, we will demonstrate how IES and AxF data can be used as building blocks within NVIDIA's Material and Definition Language (MDL) to create and design complex physically based materials focusing on measured content. We will demonstrate a prototypical implementation which has been integrated in ESI's IC.IDO decision making platform.
Learn how to implement a physically based ray tracing renderer with NVIDIA OptiX, which supports the material definition language (MDL). The concepts and specific renderer design decisions to support the fundamental building blocks in the MDL specification are explained using a global illumination path tracer implemented with OptiX as an example. Special attention has been given to the material description code inside that renderer to express complex material hierarchies via standard C++ mechanisms in a readable manner with the goal of automatic code generation from MDL files finally done via the MDL SDK.