MaterialX C++ and Python libraries
Switch branches/tags
Clone or download

README.md

MaterialX

License Travis Build Status Appveyor Build Status

MaterialX is an open standard for transfer of rich material and look-development content between applications and renderers. Originated at Lucasfilm in 2012, MaterialX has been used by Industrial Light & Magic (ILM) in feature films such as Star Wars: The Force Awakens and real-time experiences such as Trials on Tatooine, and it remains the central material format for new ILM productions.

Quick Start for Developers

  • Download the latest version of the CMake build system.
  • Point CMake to the root of the MaterialX library and generate C++ projects for your platform and compiler.
  • Select the MATERIALX_BUILD_PYTHON option to build Python bindings.

Supported Platforms

The MaterialX codebase requires a compiler with support for C++11, and can be built with any of the following:

  • Microsoft Visual Studio 2015 or newer
  • GCC 4.8 or newer
  • Clang 3.3 or newer

The Python bindings for MaterialX are based on PyBind11, and currently support Python versions 2.6, 2.7, and 3.x.

Repository

The MaterialX repository consists of the following folders:

documents - The MaterialX specification, developer guide, and example files.
source    - A cross-platform C++ library for MaterialX with Python bindings.
            The MaterialXCore module supports the core MaterialX elements
            and graph traversal, while the MaterialXFormat module supports
            XML serialization.
python    - Support modules for MaterialX Python.

Additional Resources

  • The Developer Guide contains more detailed documentation and code examples in C++ and Python.