Open Search
    ExchangeMapper Material Definition Manual

    Introduction

    A Material Definition (FBX, GLTF, USDSurface) is represented by a series of maxon::MAXON_ATTRIBUTE and a namespace containing only maxon::MAXON_ATTRIBUTE is called a material description bundle.

    Default values must be defined via the Resource Editor.

    A maxon::material::MaterialExchangeData representing this series of attributes can be created to define a material definition as a single data structure.

    There are two categories of data that can be stored in a maxon::material::MaterialExchangeData:

    • Constants values: POD values like int, float, vector
    • Texture values: which are more complex like a gradient, a bitmap reference.

    To help build a maxon::material::MaterialExchangeData, the maxon::material::ParameterStorageInterface provides static helpers to build a complete maxon::material::MaterialExchangeData.

    This maxon::material::ParameterStorageInterface can also be used to retrieve a complete material definition from an incomplete maxon::material::MaterialExchangeData by retrieving default values if needed.

    Overview

    A maxon::material::MaterialExchangeData is the data representation of a material definition.

    A maxon::material::MaterialExchangeData may not be the complete representation of a material definition.

    As an example, a maxon::material::MaterialExchangeData may have stored only information about the diffuse color, while the overall material definition supports diffuse color and reflection.

    A maxon::material::MaterialExchangeData is made of:

    Constant Value

    A constant value can be represented by:

    Both have a boolean _isConstant and UInt _dynamicTimestamp members.

    The _isConstant defines whether the parameter is constant and only requires a single value for the representation.

    The _dynamicTimestamp is the time stamp of the dynamic texture-driven parameter. This is used to manage the parameter dirty state, especially useful for consistent viewport representation.

    Texture Value

    A Texture value can be represented by:

    Further Reading