AbcMaterial is a module which sits above Abc. It is not dependent upon AbcGeom – nor is AbcGeom currently dependent upon it. It provides schema and object types for representing materials and material bindings.

Explanation of terms

target: a string representing a target application or renderer by name and agreed-upon convention. Examples include “prman,” “arnold” and “maya.” The library could also include a document of conventions for interchange via a reserved “abc” target value. (More on this later).

shader type: a string representing a shader classification by name and agreed-upon convention. Examples include “surface,” “displacement” and “light.” This could also express things like “coshader_taco” in which the value text following the “coshader_” prefix is used as a coshader instance name.

shader name: a string identifying a shader object within a specified target and shader type. Examples include “paintedplastic” and “spot_light_v12.”

assignment: binding of a material object onto another object via an alembic object path

inheritance/flattening: combining the contributions of multiple material definitions. The common case is the flattening of a hierarchy of material objects following assignment. It can also reference to the combination of a locally defined material with that of an assigned material.