Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EXR Reader Bug: With file colourspace != outputcolourspace, all layers are set to the output (color) layer #714

Closed
Phoenix-64 opened this issue Dec 4, 2021 · 4 comments

Comments

@Phoenix-64
Copy link

Do to the Bug issue template being broken I am trying to submmit my issue this way

Natron 2.4.1

Windows 10

RAM: 23.8 GB
CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
GPU 0: Intel(R) UHD Graphics 630
GPU 1: NVIDIA GeForce GTX 1660 Ti with Max-Q Design

With the file colorspace set to somthing else as output colorspace, using aces_1.2 ocio config. Viewing a multilayer OpenEXR generated by Blenders file output node with three layers: Image.RGBA, AO.RGBA, Emit.RGBA. Display a Layer different the one selected as output layer

No matter how I change the Layer in the Viewer1 only the layer selected as output layer in the Reader1 is displayed. If file colourspace is == output colourspace this problem vanishes.

  1. Download aces_1.2 https://github.com/colour-science/OpenColorIO-Configs/tree/feature/aces-1.2-config/aces_1.2
  2. Start Natron
  3. In Prefrences -> Color Managment select as OpenColorIO configuration Custom configuration and as Custome OpenColorIO configuration file selected aces_1.2/config.ocio
  4. Run Project natron_problem.zip
  5. Make sure exr is loaded properly in both Read nodes
  6. Make sure in node Read1 File colourspaces and Output colourspaces are set to ACES/ACES - ACEScg and Output layer is set to AO.RGBA
  7. Make sure in node Read1_2 File colourspaces is set to ACES/ACES - ACEScg and output colourspace is set to ACES/ACES ACES2065-1 and Output layer is set to AO.RGBA
  8. Make sure Viewer1 Layer is set to I
    mage.RGBA
    image
  9. View Read1 node and observe Image.RGBA being properly displayed, colourful image
  10. View Read1_2 node and observe, even though Viewer1 Layer is till set to Image.RGBA, how AO.RGBA, Grayscale image, is displayed.
  11. Wounder why??
@devernay
Copy link
Member

devernay commented Dec 5, 2021

Confirmed!
simpler way to reproduce (no need to set a custom OCIO config):

  • create a reader from the EXR in the sample project above. The output color layer is set to the first layer (AO).
  • if file colorspace in the reader is the same as the output colorspace, all layers are set to the selecter color layer

What is expected:

  • all original layers should remain unchanged (no colorspace conversion)
  • the Color layer (Color.RGBA) should be set to the selected output layer transformed from input to output colorspace

@devernay devernay added this to the 2.4 milestone Dec 5, 2021
@devernay devernay changed the title Bug: With file colourspace != outputcolourspace VIew Layer does not corepsond to displayed layer EXR Reader Bug: With file colourspace != outputcolourspace, all layers are set to the output (color) layer Dec 5, 2021
@devernay
Copy link
Member

I found the bug and I'm fixing it, but be careful that all color layers will be affected by the colorspace change. in the case of your file, this includes the AO layer, which is RGBA, so be careful about that. One solution is to write a single-channel AO

@devernay
Copy link
Member

fixed by NatronGitHub/openfx-io@d48adf0

@Phoenix-64
Copy link
Author

Phoenix-64 commented Dec 17, 2021 via email

devernay added a commit to NatronGitHub/openfx-io that referenced this issue Jan 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants