Skip to content

MaterialX UsdTransform2D rotation direction does not align with USD specification #2901

Description

@ld-kerley

The USD specification states explicitly that the rotation component in UsdTransform2D is counter-clockwise and specified in degrees around the origin. The USD specification also has an explicit callout that its transforming the texture coordinates, not the texture.

NOTE : The UsdTransform2d node transforms texture coordinates, not the textures themselves, so to get the effect of moving, resizing, or rotating an image being applied to a surface, one must apply the inverse transformation of how you expect the image to move.

It appears that the MaterialX implementation doesn't follow this convention.

rotate_test_file.zip

The test files zip contain both a USD version where you can see the rotation occurs in opposing directions between USD and MaterialX.

USD version

Image

MaterialX version

Image

Caveat - the MaterialX version does have some modifications to work around other shortcomings in the MaterialX implementation of the UsdPreviewSurface node.

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