I had to debug a scene where one EXR image showed as reddish when used in USD. While debugging I happened to run iinfo to see if it had something irregular. In the Output I saw:
channel list: R, G, B, channel3
The fourth channel has an unconventional name and this seems to trip the custom EXR loader found in USD to load channel3 data in the R channel of the loaded texture:
I suspect this fourth channel is an accident since OIIO uses that naming convention when trying to save two channels with the same name.
Steps to Reproduce
Take your favorite RGB EXR image and add an extra channel named channel3 using oiiotool:
The message boards seem to indicate unconventional channel names is a common feature of many renderers, especially when using AOVs. This might require an extra input field in MaterialX and USD image nodes to map unconventional channel names to RGBA, which seems to be supported by OIIO.
Description of Issue
I had to debug a scene where one EXR image showed as reddish when used in USD. While debugging I happened to run
iinfo
to see if it had something irregular. In the Output I saw:The fourth channel has an unconventional name and this seems to trip the custom EXR loader found in USD to load channel3 data in the R channel of the loaded texture: I suspect this fourth channel is an accident since OIIO uses that naming convention when trying to save two channels with the same name.
Steps to Reproduce
Take your favorite RGB EXR image and add an extra channel named
channel3
using oiiotool:Try to use this image in a Storm scene.
To reproduce the accidental scenario, use instead:
Optionally, use this image: color_palette_ACEScg_channel3.zip
The message boards seem to indicate unconventional channel names is a common feature of many renderers, especially when using AOVs. This might require an extra input field in MaterialX and USD image nodes to map unconventional channel names to RGBA, which seems to be supported by OIIO.
System Information (OS, Hardware)
Package Versions
Build Flags