Compositor color nodes with inverse values when Exposure is negative #71066

Closed
opened 2019-10-24 11:00:03 +02:00 by Rogério Perdiz · 7 comments

System Information
Operating system: Linux mint 19.1
Graphics card: Nvidia Titan X

Blender Version
Broken:
v2.81.15
ac18c3c28dee
Worked:

All the color nodes of the compositor work inversely of what is expected if the Exposure value is negative.
On the Input - > RGB for example, if you select green it will tint your scene of purple and if you select purple it will tint the scene of green. On theColor-> RGB curves, if you push the curve up it will darken the scene and if you push it down it will bright it up. Everything else under Color will also works inversely.

Exact steps to reproduce the error:

  • On the "Render properties"go to"Color Management"and set the"Exposure"to -6
  • Go to the Compositor and activate "Use nodes"
  • Render the scene
  • Add a "Color -> RGB curves"between theRender Layersand**Composite ** nodes and push the curve up and down.
**System Information** Operating system: Linux mint 19.1 Graphics card: Nvidia Titan X **Blender Version** Broken: v2.81.15 ac18c3c28dee Worked: All the color nodes of the compositor work inversely of what is expected if the Exposure value is negative. On the **Input - > RGB** for example, if you select green it will tint your scene of purple and if you select purple it will tint the scene of green. On the**Color-> RGB curves**, if you push the curve up it will darken the scene and if you push it down it will bright it up. Everything else under Color will also works inversely. Exact steps to reproduce the error: - On the **"Render properties"**go to**"Color Management"**and set the**"Exposure"**to** -6** - Go to the **Compositor** and activate **"Use nodes"** - Render the scene - Add a **"Color -> RGB curves"**between the**Render Layers**and**Composite ** nodes and push the curve up and down.

Added subscriber: @rogper

Added subscriber: @rogper

Added subscriber: @rocketman

Added subscriber: @rocketman

I'm unable to reproduce this issue. Can you include a .blend file which gives this result?

I'm unable to reproduce this issue. Can you include a .blend file which gives this result?

InverseValues-Bug.blend
Hello Sam! Here is a .blend with the issue.
Allow me to explain visually too:

Here's the screenshots of the attached file.
RGB Curve up darkens:
InverseValuesBug_v1.jpg
If curve is Down it brights it:
InverseValuesBug_v2.jpg

Stranger than that if I overlay a color Green it tints it red:
InverseValuesBug_v3.jpg
And if I overlay Red it tints it green:
InverseValuesBug_v4.jpg

[InverseValues-Bug.blend](https://archive.blender.org/developer/F7856249/InverseValues-Bug.blend) Hello Sam! Here is a .blend with the issue. Allow me to explain visually too: Here's the screenshots of the attached file. RGB Curve up darkens: ![InverseValuesBug_v1.jpg](https://archive.blender.org/developer/F7856257/InverseValuesBug_v1.jpg) If curve is Down it brights it: ![InverseValuesBug_v2.jpg](https://archive.blender.org/developer/F7856262/InverseValuesBug_v2.jpg) Stranger than that if I overlay a color Green it tints it red: ![InverseValuesBug_v3.jpg](https://archive.blender.org/developer/F7856265/InverseValuesBug_v3.jpg) And if I overlay Red it tints it green: ![InverseValuesBug_v4.jpg](https://archive.blender.org/developer/F7856273/InverseValuesBug_v4.jpg)

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Sam Brubaker self-assigned this 2019-10-25 21:59:10 +02:00

I understand the issue now. It's not a bug; you are misunderstanding the color math!

In order to be visible at -6 exposure, you created a VERY bright scene. This means that all the scene-referred pixel values are much higher than 1.0, which is unusual for most workflows:

Untitled.png

Color management happens at the end, after compositing. So those very high values are what get passed into the compositor.

The RGB Curves node has a default range of only 0.0 through 1.0. Beyond those values, the curve is extrapolated like so:

Untitled2.png

All your super-bright color values lie in that range to the right of the node, so shaping the curve gives you the opposite effect that you would expect.

Similarly, the overlay mixing mode only works as expected for values within a range of 0.0 - 1.0. It is a non-linear operation. Try "Add" instead of "Overlay", and you will get the expected result.

Hope that helps!

I understand the issue now. It's not a bug; you are misunderstanding the color math! In order to be visible at -6 exposure, you created a VERY bright scene. This means that all the scene-referred pixel values are much higher than 1.0, which is unusual for most workflows: ![Untitled.png](https://archive.blender.org/developer/F7856927/Untitled.png) Color management happens at the end, after compositing. So those very high values are what get passed into the compositor. The RGB Curves node has a default range of only 0.0 through 1.0. Beyond those values, the curve is extrapolated like so: ![Untitled2.png](https://archive.blender.org/developer/F7856964/Untitled2.png) All your super-bright color values lie in that range to the right of the node, so shaping the curve gives you the opposite effect that you would expect. Similarly, the overlay mixing mode only works as expected for values within a range of 0.0 - 1.0. It is a non-linear operation. Try "Add" instead of "Overlay", and you will get the expected result. Hope that helps!

Thank you very much for the clear explanation and for your time Sam! I've fully understood, "continuing happily" ;)
To further clarify, the reason of me stumbling on this issue was due the usage of an atmospheric add-on called "Real-Sky" that, for it to work correctly, it uses similar exposure.

Thank you very much for the clear explanation and for your time Sam! I've fully understood, "continuing happily" ;) To further clarify, the reason of me stumbling on this issue was due the usage of an atmospheric add-on called "Real-Sky" that, for it to work correctly, it uses similar exposure.
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#71066
No description provided.