Author Topic: Tonemapping Order/Behaviour  (Read 2672 times)

2023-07-27, 15:50:31

dj_buckley

  • Active Users
  • **
  • Posts: 879
    • View Profile
Hi guys

Getting some funky results with various tonemapping combinations.

The effect of the Tone Curve operator appears to inverse depending on whether it's above or below the ACES OT Operator.

We've been advised to keep ACES OT at the bottom, so let's assume Tone Curve being above ACES OT is the correct way to go.

However, when I have it in that order, the settings appear to do the reverse of what I'd expect.  i.e. changing Highlights to 1.0 makes the highlights duller.  Changing them to -1.0 makes them brighter.

It's also have a strange effect on the bright spots in the HDRI.  The bright spots on the HDRI appear to adjust inversely to the bright walls.

So when I adjust the highlights to -1.0 the walls get bright, but the HDRI bright spots get dull.  When I adjust the highlights to 1.0, the walls get dull but the HDRI bright spots get brighter.

In the attachment, the very bottom image is the one that appears to be working as I'd expect it to, but that has the tone curve placed below ACES OT.

Confused .....

2023-08-03, 06:48:17
Reply #1

Avi

  • Corona Team
  • Active Users
  • ****
  • Posts: 508
    • View Profile
Hi,

I am unable to reproduce the 1st 2 behavior you have shown in your Image in which the sky and walls are getting affected inversely. I was able to reproduce 3rd and 4th. However, the correct way to use tone mapping is to use it above Aces OT. As per my investigation, when tone mapping was above aces OT and I set the highlight value to -1 then both Sky and bright wall highlights went dull and when I set the highlight value to 1, they were both boosted.

I have checked this with default settings, Corona Sun and sky, and using a day HDRI from Cosmos. In both ways, I got the same behavior.

« Last Edit: 2023-08-03, 08:06:07 by Avi »
Arpit Pandey | chaos-corona.com
3D Support Specialist - Corona | contact us

2023-08-03, 10:22:25
Reply #2

dj_buckley

  • Active Users
  • **
  • Posts: 879
    • View Profile
Hmm I'm wondering now then if it's related to the Curves bug I posted about.  I'm pretty sure this scene originally had Curves in the Tonemapping stack which I've since deleted and assumed the stack was working fine again https://forum.corona-renderer.com/index.php?topic=40316.0

Could you try adding Curves in various combinations, doing some processes, renders, deleting curves and see if your Tonemapping stack still works as expected.

Maybe repeate the processes described in that thread, save a scene, continue working in it etc etc

2023-08-03, 17:34:36
Reply #3

piotrus3333

  • Active Users
  • **
  • Posts: 250
    • View Profile
However, the correct way to use tone mapping is to use it above Aces OT.

ACES OT is tone mapping. No reason to do it twice.
Marcin Piotrowski
youtube

2023-08-03, 18:16:10
Reply #4

dj_buckley

  • Active Users
  • **
  • Posts: 879
    • View Profile
However, the correct way to use tone mapping is to use it above Aces OT.

ACES OT is tone mapping. No reason to do it twice.

Each to their own.  Personally I find ACES OT too aggressive on the highlights.  So I like to tweak to taste with the Tone Curve.  Creative license and all ....

2023-08-03, 19:43:37
Reply #5

Juraj

  • Active Users
  • **
  • Posts: 4765
    • View Profile
    • studio website
Tone Curve in Corona isn't really tonemapper, it's mostly parametric Curve and somehow weirdly behaving, I played with it a bit and it's just odd. Right now the whole stack is mostly a mishmash of modifiers working either in SDR or HDR with no designation. I personally avoid using Tone Curve completely. Or most modifiers in fact.

The reason while stacks in Lightroom/ACR or Unreal 5 work so well is because everything is hardcoded to work in intended space and order of operations. Tone Curve in Lightroom is automatically working in linear space when Raw File is opened, and just like regular curve when SDR file like jpeg is opened. Result is always what you expect there.

And while ACES OT in full-scale ACES Workflow is meant as output at the end of stack, the workflow requires everything to work that way (in HDR space). Whereas in Corona, ACES OT is just singular tonemapper modifier to be used however you want. And most of the combinations with other modifiers just don't work...
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2023-08-03, 19:53:10
Reply #6

dj_buckley

  • Active Users
  • **
  • Posts: 879
    • View Profile
Either way, I'm just trying to find out why, in that specific instance, it wasn't working as 'sold'.  It wasn't intended to start a debate about tonemapping :)

2023-08-03, 21:44:24
Reply #7

Juraj

  • Active Users
  • **
  • Posts: 4765
    • View Profile
    • studio website
Yeah sorry for the unintended tangent, not sure why I even wrote all that lol.

I actually wanted to write but somehow got lost, that imho the behavior is working as intended, it's just visually it is "wrong". It can't account for what ACES OT will do afterwards, and ACES OT really doesn't work with majority of current modifiers before it.
I had mentioned this quite a lot in chat with devs but correcting it would probably require rebuilding this pipeline without the legacy behavior and compatibility.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2023-08-03, 21:50:10
Reply #8

dj_buckley

  • Active Users
  • **
  • Posts: 879
    • View Profile
It's all good.  I strongly think the other thread I linked to has something to do with it.  Especially if Avi wasn't able to replicate it.

2023-08-03, 22:08:42
Reply #9

piotrus3333

  • Active Users
  • **
  • Posts: 250
    • View Profile
if highlights need to be adjusted do that with simple Curves operator before ACES OT.
Tone Curve op seems to be intended to be applied after tone mapping.
comparison of Tone Curve highlights -1 with ACES OT within 0-1 range:

Marcin Piotrowski
youtube

2023-08-03, 22:12:45
Reply #10

dj_buckley

  • Active Users
  • **
  • Posts: 879
    • View Profile
Tone Curve op seems to be intended to be applied after tone mapping.

This would correlate with the example I felt was working 'as intended', but as I say, I questioned it because I've seen the Corona devs mention multiple times in these forums that ACES OT should come last.

2023-08-03, 22:19:14
Reply #11

piotrus3333

  • Active Users
  • **
  • Posts: 250
    • View Profile
and my bad - in my first post I confused Tone Curve with Filmic which does exactly what is on the tin:
Marcin Piotrowski
youtube

2023-08-03, 22:35:35
Reply #12

piotrus3333

  • Active Users
  • **
  • Posts: 250
    • View Profile
Tone Curve op seems to be intended to be applied after tone mapping.

This would correlate with the example I felt was working 'as intended', but as I say, I questioned it because I've seen the Corona devs mention multiple times in these forums that ACES OT should come last.

not necessarily as long as you keep in mind you are adjusting already adjusted colors. and last element in the stack is still before final view transform applied by CIE and not accessible through UI.
Marcin Piotrowski
youtube

2023-08-04, 10:18:19
Reply #13

Juraj

  • Active Users
  • **
  • Posts: 4765
    • View Profile
    • studio website
Yeah Tone Curve here is just name for parametric control of normal Curves, it's just what Lightroom (and few other Raw editors) calls it.
The devs should perhaps just added those controls to normal Curves modifier and it would at least visually show what is it doing each time.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2023-08-07, 10:25:19
Reply #14

Avi

  • Corona Team
  • Active Users
  • ****
  • Posts: 508
    • View Profile
However, the correct way to use tone mapping is to use it above Aces OT.

ACES OT is tone mapping. No reason to do it twice.

Sorry, I made a typo mistake, I meant Tone Curve not Mapping.

and @dj_buckley, I tried the repro steps as you posted but I still cannot repro the same behaviour as you are pointing out. Can you perhaps share your file with me and some repro steps so I can try that and see if that is happening with me.
Arpit Pandey | chaos-corona.com
3D Support Specialist - Corona | contact us