MaterialX

Rendering and Tools


ShaderGen

ShaderGen is a dynamic shader generation system that can build and compile complete GLSL, OSL, MDL, and MSL shaders from MaterialX nodegraphs. A key component of ShaderGen is a set of Physically Based Shading nodes, which can be used in conjunction with the standard pattern nodes to create complex layered energy-conserving surface, volume and emissive shaders for offline or real-time rendering.

MaterialX Viewer

The MaterialX Viewer leverages shader generation to build GLSL and MSL shaders from MaterialX graphs, rendering the results using the NanoGUI framework. The standard set of pattern and physically based shading nodes is supported, and libraries of custom nodes can be included as additional library paths.

MaterialX Graph Editor

The MaterialX Graph Editor is an example application for visualizing, creating, and editing MaterialX graphs. It utilizes the ImGui framework as well as additional ImGui extensions such as the Node Editor.

MaterialX Web Viewer

The MaterialX Web Viewer leverages shader generation to build ESSL shaders from MaterialX graphs, rendering the results using the Three.js framework. The Web Viewer uses the MaterialX JavaScript bindings to access the MaterialX API, allowing it to support the latest MaterialX nodes and features as they are added.