Abstract:
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.