Thursday, July 13th, 2017 Posted by Jim Thacker

Lucasfilm and ILM open-source MaterialX

ILM used MaterialX, its new open standard for rich materials, in production on Rogue One: A Star Wars story.

Lucasfilm and Industrial Light & Magic have open-sourced MaterialX, a new standard for exchanging rich material content between DCC applications used on Rogue One: A Star Wars Story.

The open standard, which is intended to do for look development what Alembic did for modelling and USD is intended to do for scene layout, is backed by software developers including Autodesk and Foundry.

A new open standard for the interchange of rich material data
Although Lucasfilm first posted the specification for MaterialX at Siggraph 2016, this is the first time that the source code has been officially available.

MaterialX provides a standard for the display of “rich material content” – that is, anything that contributes to the way a model looks when displayed in a DCC application, game engine or rendered output.

As well as textures and shaders, that includes material assignments and colour-space associations.

Lucasfilm hopes that it will help eliminate issues where content created in one application displays differently in another, in the same way that Alembic did for geometry.

Support in DCC applications due soon?
Of course, for that to happen, MaterialX support actually has to be implemented in third-party applications.

At the time of posting, there aren’t actually any plugins for DCC tools available, but contributors to the project include both Autodesk and Foundry developers, so we’d expect that to change quickly.

For other firms, the release includes Open Shading Language definitions for the standard BxDF shading nodes required, and Lucasfilm hopes that definitions for other shading languages like GLSL will follow.

Pixar is also working on integration of MaterialX with USD, its open standard for the exchange of scene data.

Intentionally simplified for use in real-time as well as offline projects
As well as visual effects, MaterialX has been developed for use in real-time work: in addition to Rogue One, the Lucasfilm group has used it on Trials on Tattooine, ILMxLAB’s virtual reality experience.

For that reason, the standard shading nodes used by MaterialX are intentionally simple.

Although Lucasfilm acknowledges that most professional DCC tools have additional functionality, it is discouraging developers from creating complete sets of custom nodes mimicking their proprietary ones.

Its FAQs note that MaterialX is intended to strike a balance between “usable and useful” and “cross-package compatible”, and that the standard nodes replicate only functionality that is universal between tools.

The MaterialX 1.35 specification is available publicly at the link below. The standard C++ and Python libraries are available open-source, under a modified Apache licence.

Visit the MaterialX website

Download the MaterialX source code from GitHub