Skip to content

Review MaterialX namespaces #2730

@ashwinbhat

Description

@ashwinbhat

The MaterialX specification allows for nodes that can be scoped in a namespace. MaterialX namespaces are most commonly used to define families of custom nodes (nodedefs), material libraries, or commonly-used network shaders or nodegraphs. The usage of the namespace node is in the form namespace:nodename

The rationale behind namespace was to allow DCCs to publish overridden nodes that have same names as stdlib nodes and include them in the data library so that DCC published nodes and stdlib nodes could coexist side by side to allow for interop of materials between DCCs.

Based on an informal survey, Autodesk is the only user of the namespaced nodes. It has be found that many implementations of MaterialX don't fully support MaterialX namespace. One of the main issues being the reason to process node names with : token. MateiralX namespace might become more easier to adopt if the namespace was just a prefix with _ token.

I'm not sure how USD handles MaterialX namespaced nodes when written to Sdr Shader Node so replacing the token might be easier.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions