QuiltiX Plugin

This plugin provides serialization, compilation, and decompilation between MaterialX graphs and SLX (Shading Language X) format. It integrates with QuiltiX to enable conversion between MaterialX graphs and SLX code representation.

Features
  • Export to SLX
  • Import from SLX
  • Syntax highlighting (*)
Dependencies
  • MaterialX
  • mxslc
  • QuiltiX
File Types
  • .mxsl (SLX files)
  • .mtlx (MaterialX)
Issues
  • SLX minimum is Python 12 and QuiltiX USD prebuilt release is Python 11 so will clash. Using fork of SLX using Python 11 support. See : this branch which also hsa a minor patch for decompilation from MaterialX to SLX.
  • Currently both SLX and QuiltiX have limitations that require reading or writing to disk. For SLX this is in the area of compilation / decompilation. For QuiltiX this affects finding dependeing textures and definitions.
  • SLX produces node definitions for functions. This includes "main" function wrappers. This can cause clashes in definition libraries due to duplicate identifiers.
  • QuiltiX uses USD for rendering and hence some MaterialX configurations produced by SLX may not be supported via UsdMtlx or bespoke MaterialX to USD conversion. An example is the embedding of `surfacematerials` in MaterialX nodegraphs. This is more a MaterialX / USD interoperability issue than a plugin or SLX issue.
  • Minor: There is no formal schema to produce syntax hilighting from. C-like syntax is assumed

Plugin Source Code (plugin.py)