The USD specification for UsdUVTexture specifies a sourceColorSpace input.
sourceColorSpace - token - auto
Flag indicating the color space in which the source texture is encoded. Possible Values:
raw : Use texture data as it was read from the texture and do not mark it as using a specific color space.
sRGB : Mark texture as sRGB when reading. The texture will be read using the sRGB transfer curve, but not filtered against the sRGB gamut.
auto : Check for gamma/color space metadata in the texture file itself; if metadata is indicative of sRGB, mark texture as sRGB . If no relevant metadata is found, mark texture as sRGB if it is either 8-bit and has 3 channels or if it is 8-bit and has 4 channels. Otherwise, do not mark texture as sRGB and use texture data as it was read from the texture.
The MaterialX implementation of the UsdUVTexture node is missing this input.
MaterialX uses a different convention to annotate inputs with colorspace information, adding a colorspace attribute to the input itself, instead of a separate input port. USD has also added the ColorSpaceAPI (see the guide here). It makes me wonder if we might be able to deprecate the sourceColorSpace input in favor of the ColorSpaceAPI on the USD side, this would align more cleanly with MaterialX. If not, then I think we will need to explore adding the sourceColorSpace input to the MaterialX nodes to bring complete alignment between the two systems.
The USD specification for
UsdUVTexturespecifies asourceColorSpaceinput.The MaterialX implementation of the
UsdUVTexturenode is missing this input.MaterialX uses a different convention to annotate inputs with colorspace information, adding a
colorspaceattribute to the input itself, instead of a separate input port. USD has also added theColorSpaceAPI(see the guide here). It makes me wonder if we might be able to deprecate thesourceColorSpaceinput in favor of theColorSpaceAPIon the USD side, this would align more cleanly with MaterialX. If not, then I think we will need to explore adding thesourceColorSpaceinput to the MaterialX nodes to bring complete alignment between the two systems.