VIEWER NODE: Appears somewhat broken using CM OFF
Closed, InvalidPublic


Based on some testing, it appears that the Viewer Node is not behaving correctly with CM set to off.

1) Assert CM is ON.
2) Set a plane to a known value such as RGB 0.6, 0.7, 0.8. Render out to EXR.
3) Load the EXR in the UV Image Viewer. Note how selecting values reveals their correct levels.
4) Load the EXR into the Compositor via an Image Node. Pipe output to a Viewer.
5) In the UV Image pane, select the viewer and assert the values are as expected.
6) Turn CM to OFF.
7) Note how the values have shifted. In theory, the values for the EXR should not be shifting, only the display output. We can further assert that there is an incorrect series of events taking place by piping the output of the node to the composite output and rendering. When rendered to an EXR, the input node EXR is undergoing what appears to be undergoing an sRGB gamma transformation.

If we add a gamma node and set it to the approximate gamma of sRGB's 2.2 in this chain, we can see that the values indeed match our original expected results.

TL;DR: With CM set to OFF, image data is getting mangled via an sRGB transform.



Or to say it simple:

With color management off, the viewer (and previews) in compositor do gamma correction on the float data.
I don't understand the code here really. Need Matt's help:

Matt: check this code here:

CMP_image.c: node_composit_get_image()

Here the float buffers (!) get gamma corrected, in quite confusing way even. I wouldn't know a reason to do this ever...
According your old color doc about the patch, the ibuf->profile *only* is to indicate the display data (24 bits rgb), not for float buffers. Right?

Also the two checks for IB_PROFILE_NONE only make me stare blind at the code... what's going on! :)

Just assign back to me with info then i try to fix!

I think there have been some changes here since i last touched the code, I'll have a look as soon as I get a chance.

I guess this has been fixed now with the new OCIO color managament and new compositor.

>> Closing

Thomas Dinges (dingto) closed this task as Invalid.Sep 24 2012, 8:20 PM