Page tree


The Open Chess Set
( authored by Moeen and Mujtaba Sayed, contributed to MaterialX by SideFX, rendered in RenderMan for Houdini within Solaris

MaterialX is a ASWF standard for the material definition and exchange between renderers.  It provides definitions around a set of Physically Based Shading Nodes, as well as a set of pattern nodes (like texture nodes, procedural noise, etc) that you can use to build up a material.  Each renderer that supports MaterialX takes the material definitions and either renders them directly or converts them to an internal representation.  Because there are many renderers in this world, each approaching the challenge of rendering from a different perspective, MaterialX doesn't guarantee a pixel match between renderers. 

MaterialX only provides guidance to each renderer, and each renderer will do their best to match the intent of the material in the best way that they can.

RenderMan supports MaterialX via USD and Hydra.  USD and Hydra take the MaterialX material definitions and assign them to the relevant pieces of geometry.  As the materials flow through RenderMan's Hydra Renderer Delegate, they are passed through the MaterialX ShaderGen system to be transformed into native RenderMan materials.

RenderMan supports OSL patterns, so all of the patterns you use in your MaterialX networks are converted to RenderMan via OSL and should run exactly as you expect.

The Physically Based Shading Nodes you use in your MaterialX graphs are all converted to PxrSurface and then passed to RenderMan.  PxrSurface can represent most of what MaterialX defines.  Because each renderer is different, the picture you get from RenderMan with a given MaterialX network may vary from the picture you get from another renderer with the same network.  One limitation that currently exists is that we don't support material layering via MaterialX.