Pollux Logo

Real-Time CSV-Driven Material Updates in Omniverse Using MDL Graphs

Real-Time CSV-Driven Material Updates in Omniverse Using MDL Graphs

NVIDIA Omniverse offers a powerful, extensible platform for building interactive 3D applications, where dynamic data integration can play a vital role—especially for simulation, digital twins, and live visualizations. In this post, we’ll explore how to modify object materials in real time using data from a CSV file, with a focus on interacting with MDL (Material Definition Language) graphs.

By connecting external data (like CSV) to Omniverse’s USD and MDL structures, we can achieve real-time, data-driven visualization, where object appearance can adapt dynamically based on incoming values. This is ideal for applications like dashboards, simulations, sensor visualizations, and more.

What is MDL (Material Definition Language)?

MDL, or Material Definition Language, is NVIDIA’s physically based material description format. It allows sharing realistic materials and lighting across different applications and renderers—while maintaining physical accuracy and consistency.

In Omniverse, MDL is used to construct visual material graphs (via the Material Graph Editor), where each node controls parameters such as base color, roughness, emissive intensity, etc. These parameters can be accessed and updated programmatically via USD.

1. Enabling Extensions and Accessing MDL Graphs

To begin, open Omniverse Code and ensure that the MDL-related extensions are enabled.

Check MDL related extensions in Extension

This gives you access to the Material Graph Editor and scripting APIs required to modify MDL parameters.

Run MDL Graph
Note: You can open the Material Graph window to visually check the structure and node connections of the actual MDL.

2. Accessing and Modifying MDL Properties via USD

Once active, you can inspect the material of a target object (e.g., Sphere_03) and visualize its node-based structure in the graph editor.

Open the Material Graph and check it out

This will help identify which MDL inputs you want to modify (e.g., base_color).

Check the graph of Sphere_03

MDL properties are stored inside USD files as graph inputs, such as:

  • inputs:base_color
  • inputs:roughness
  • inputs:specular
  • inputs:emission

Using Python and the Omniverse Kit API, you can programmatically update these values in real time. This forms the basis for linking them to CSV-based external data.

Real-time change of Material of Sphere_03 is possible in the code of the corresponding USD

3. CSV Reader Extension

Omniverse provides a built-in CSV Reader Extension, which allows you to read CSV data and map it to scene parameters.

Read csv through csv reader extension

This extension is especially useful for data-driven simulations or dashboards, where object properties (like color or position) change according to real-world or pre-recorded data.

4. Example: Real-Time Color Change via CSV

Here’s a practical use case: changing the color of a material in real time based on RGB values from a CSV file.

Sample CSV:

Image

Python script to update the material color:

ImageCheck csv color changeImage

This script reads the CSV in real time and updates the base_color of the target material accordingly—enabling smooth color transitions or data-driven alerts.

5. Beyond Color: Object Creation and MDL Customization

Using the CSV Reader Extension, you're not limited to modifying materials.

You can dynamically create objects and assign them materials whose MDL parameters are customized in real time.

ImageImage

For example, your CSV file might include:

  • Object type
  • Position (x, y, z)
  • Color (r, g, b)
  • Size or rotation

These parameters can be mapped to generated objects, creating real-time simulations or dashboards where objects reflect the latest data state.

ImageImage

This opens the door for digital twin systems, IoT data visualization, and live operational overviews—fully rendered in 3D using Omniverse’s RTX rendering capabilities.

Summary

This workflow illustrates the power of combining Omniverse’s USD + MDL framework with external, real-time data sources like CSV. With minimal scripting, it’s possible to:

  • Modify MDL material parameters in real time
  • Link CSV data to object appearance or properties
  • Dynamically generate and update scene content
  • Visualize live sensor or status data in an interactive 3D environment

By leveraging the CSV Reader Extension, MDL Graphs, and Python scripting, you can build flexible, automated 3D visualizations that adapt to any dataset—without manually editing USD scenes.

Share this post:

Copyright 2025. POLLUX All rights reserved.