Author Topic: Tonemapping - Plz Halp  (Read 45851 times)

2020-04-26, 01:03:28
Reply #30

Designerman77

  • Active Users
  • **
  • Posts: 507
    • View Profile
oh god this is going to turn into one of those threads isnt it haha

This discussion might one day catapult Corona into another level of realism.

2020-04-26, 01:10:35
Reply #31

cjwidd

  • Active Users
  • **
  • Posts: 924
    • View Profile
    • Artstation
Yes, and perhaps more to the point, why aren't there more tutorials from accomplished (professional) artists on this topic - is because so much is left up to taste?

I would pay for a tutorial / walkthrough from Juraj just to study his process. @Jpjapers pointed me to Vizguru which has some good stuff, but it's funny how realtime art is basically drowning in tutorials - for every little workflow or technique you can imagine - but archviz, not so much.

Maybe I'm just not looking in the right places? Obviously Youtube has some tutorials, but it's mostly a toss-up.

2020-04-26, 01:13:22
Reply #32

Designerman77

  • Active Users
  • **
  • Posts: 507
    • View Profile
These threads are just getting weirder and weirder.

Hopefully you mean these *comments* are getting weirder and weirder - the thread is a pretty honest request for help on a diverse topic.

Those great images mostly have like a color layer that influences all colors... vs. too clean colors. And no crazy contrasts... since actually real world looks like this.

@Designerman77 can you elaborate on what is meant by "too clean colors"?

the way Fstorm handles highlight peaks, the bottom curve of extreme darks and colours in general is still superior.

F-storm always comes up as the comparison group on Corona threads when tonemapping is concerned, and what is described here^ is often the punchline of those conversations.

Is there really any disagreement about this, and if not, how is that reflected in the tonemapping rework that appears on the roadmap?




I mean "raw" looking colors... you know, that unnatural, artificial look. :)

2020-04-26, 02:32:01
Reply #33

lolec

  • Active Users
  • **
  • Posts: 168
    • View Profile
I'm starting to believe that there are 2 simultaneous conversations happenings because there is a lot of overlap between the two, they look like a single conversation. I'm hoping this post would help see everything more clearly.

Last time I did some cornell box tests and some of you rightfully noted that it is not a sufficiently conclusive test as it is a simple setting with no dramatic light or materials. I decided to run a second test. My goal is NOT to say: Corona is as good or better than Fstorm, because I actually don't know.

My goal is to find out WHY people seem to think Fstorm is SO MUCH BETTER in terms of color management. And to find out if it is, maybe I should switch to Fstorm.

Disclaimer: I never used Fstorm before yesterday.

For that reason I set myself a few requirements:

1. The scene should be based in a Johannes L. Image, since that's what most people refer to when they say "Fstorm handles color better"
2. The least number of materials. Since I will have to replicate them in Fstorm and I'm a noob
3. Real World use. Something that a client would ask for.
4. Basic lighting

Ok, so I found this perfect scene by Johannes L. I set it up using just 4 materials. Corona Sun and Corona Sky. For Fstorm I used Fstorm Sun and Fstorm Sky. I left everything I could at default, only played with white balance to match colors on both engines.

Maybe it would be more "correct" to load the same HDR in both engines instead of using the stock SUN and SKY system. But I figured they are close enough, and an accurate representation of the available tools.


First, this is the image I'm trying to approximate:




This is what I get out of both engines by default:



Ok, sure Fstorm is in fact producing a more pleasing and "photographic" by default. But you can see it is nowhere NEAR what Johannes makes.

Next is to enable everything I usually enable in Corona. This is my default workflow and the only thing I needed to tweak to come closer to the original image was a greater contrast value (usually 3 or 4, this time 7) 



As I showed in my previous example, the image changes dramatically.

Here is a before and after:




Then I tried to match the Fstorm Default with as few settings as possible. To me, it looks like highlight compression plus contrast does a good job.




You can see how my workflow produces more "photographic" images than Fstorm default. I must say that I use these settings for 90% of my renders. And only tweak in specific cases. I usually do most of the project in my default settings and only tweak at the very end (Curves, contrast)




I wanted to see what would happen if I loaded Kim Amlan 02 LUT into Fstorm. I needed to tweak the "burn" value a little bit. I tried to move the least possible settings. I bet an experienced user would be able to get a better result, but this was very interesting to me.



Yes, of course, there are slight differences. Their SUN and SKY models are different, so maybe that's why colors are a little different. And the reflections don't match. I don't know how to properly use Fstorm materials so I did what I could. 

But after this experiment, I think it's clear that it would be very very difficult for anyone in a real-world scenario like this to say that Corona's tonemapping needs to be reworked from scratch because Fstorm produces incredibly more photographic images.

I simply don't believe that is true. I can tweak my contrast and color settings to make the images match a little better, but I wanted to see what a minimum workflow looks like, and if Fstorm is truly superior beyond a doubt.

I do believe that there is a very valid argument to be made about enabling LUT, highlight compression, and increasing contrast by default. Or make it a single button. Or in some way make it SUPER EASY to do, even by accident. My logic is that the pros would don't like it but know how and why to disable. And the rest of the world would enjoy much better images by default.

There is a different discussion, that only the top of the top of th professional users understand and really care about when you are pushing Corona to the limits you DO bump into the inherent limitations of the sRGB color space. But my guess is that 90 -95% of the time, when people complain about tonemapping, what ther are taliing about is what I'm showing in this experiment.

Another note. When a lot of people say something, even if you KNOW it is wrong, it is worth paying attention to. My guess is that because the experts know how to do what I'm showing intuitively and naturally, they dismiss conversations as nonesense. If there was only one or two people asking for "fstorm colors" then I would agree. But a LOT of people want that, maybe they don't know exactly what they want, but they want their images to look better.

So my hypothesis stands.

"fstorm colors" means 2 things.

1 is super complex, only a handful of people understand it and care about that. It requires a lot of work from the devs.

The other one is making certain settings, that are already there, more approachable, maybe the default.
« Last Edit: 2020-04-26, 02:41:09 by lolec »

2020-04-26, 05:46:34
Reply #34

agentdark45

  • Active Users
  • **
  • Posts: 570
    • View Profile
Regarding the "colour" issue, I'm talking specifically about saturated colours breaking down in unrealistic ways under certain lighting conditions. There was an example above that shows the difference with what happens to reds and blues in ACES vs SRGB colour spaces as the exposure/lighting intensity changes. I have noticed this first hand in my scenes (yes even with the fabled Kim LUT) that sometimes a material that is properly created, without wacky RGB values will just not work as it should in real life and will need heavy post editing - I have yet to come across the same issue in FStorm.

While I appreciate your latest tests lolec, you would need to redo this with exactly the same materials (not quickly converted ones) and an HDRI capture of the exact same exterior lighting to draw any meaningful conclusions. We would also need to see a histogram of the images to compare what is going on in more details. When I talk of Coronas tone mapping limitations, which cannot be fixed by simply cranking the contrast slider (which crushes the hell out of blacks) + applying a LUT; I'm speaking specifically about the well known limitations of Reinhard tonmapping (burnt, saturated highlights or murky greys when clamped). The interplay between highlights, mids and the falloff to extreme black levels without getting crushed blacks gets completely ruined by cranking Corona's contrast slider.

Lets take a look at your last example, I will bullet point the major differences:

1.  The highlights are clearly overly clamped on the Corona version - most noticeably on the exterior/backplate, look at that ugly Reinhard burn and grey murkyness surrounding it. Now compare to the Fstorm version, notice how the highlights have a much more photographic burn and a realistic falloff to the green mids on the plant (which has kept its vibrancy and contrast, vs being washed out in a shade of grey). In fact you can see Corona struggling to tame the highlights of the exterior and plant from the very beginning (look at that neon green/yellow, and it doesn't get any better until it goes grey...sigh.)

2. Wood tones have not desaturated or lightened realistically in the presence of light/exposure in the Corona version. Perfect example of what I'm talking about when it comes to colour issues (along with the neon green plant highlights). I've had wood go vibrant overly contrasted red on certain parts of a scene, when the same material is almost desaturated in other parts of the scene (which it should have all been fairly desaturated) - usually in the presence of strong directional spotlights with a realistic Kelvin value. A good test of this is warm spot lighting in wooden shelves, with the same material elsewhere in the scene. Give it a go in Fstorm and Corona and marvel at the difference (again in a full scene). This colour phenomenon also happens sometimes to materials with a strongly coloured reflection (gold, copper e.t.c - and no, the RGB values were not sky high).

I will sum this up: you can not simply stick a LUT on a photo taken with a phone camera from 2010, adjust the contrast and claim it's as good as starting with the photo taken with the DSLR. You might get 90% of the way there, maybe fool a few people who think "it's good enough" but after extensive testing of both engines myself in many different types of scenes (yes even with dubcats ACES emulation settings, Kims LUTS e.t.c) I can hands down tell you they are not at parity tonemapping wise.
« Last Edit: 2020-04-26, 06:33:18 by agentdark45 »
Vray who?

2020-04-26, 07:02:38
Reply #35

cjwidd

  • Active Users
  • **
  • Posts: 924
    • View Profile
    • Artstation
@lolec Johannes has a Patreon page, Vizguru, where this scene can be downloaded for FStorm - is that where you obtained the scene file?

It sounded like you were recreating the scene from reference, but you could access the actual scene files from the Patreon page, if you are a member, of course.
« Last Edit: 2020-04-26, 07:15:05 by cjwidd »

2020-04-26, 07:33:19
Reply #36

cjwidd

  • Active Users
  • **
  • Posts: 924
    • View Profile
    • Artstation
@agentdark45 just to be clear, the summary of your analysis is that Fstorm and Corona are not on parity in terms of tonemapping (?) and you are in disagreement with @lolec who is saying that, on balance, the tonemapping potential of both renderers, Corona and Fstorm, is basically comparable(?)


2020-04-26, 13:48:26
Reply #37

agentdark45

  • Active Users
  • **
  • Posts: 570
    • View Profile
@agentdark45 just to be clear, the summary of your analysis is that Fstorm and Corona are not on parity in terms of tonemapping (?) and you are in disagreement with @lolec who is saying that, on balance, the tonemapping potential of both renderers, Corona and Fstorm, is basically comparable(?)

Correct. One more example to show how badly Reinhard stacks up compared to a proper filmic/ACES implementation:



Again, this cannot be done just by sticking a LUT over an image (i.e the band-aid approach).
« Last Edit: 2020-04-26, 13:56:36 by agentdark45 »
Vray who?

2020-04-26, 14:20:37
Reply #38

Jpjapers

  • Active Users
  • **
  • Posts: 1443
    • View Profile
TLDR: Its all about the filmic response curve and coronas currently isnt how it should be for proper filmic tonemapping. Fstorm has a more DSLR-like tonemapping system and so produces slightly more photographic looking renders.

2020-04-26, 14:22:30
Reply #39

Jpjapers

  • Active Users
  • **
  • Posts: 1443
    • View Profile

This discussion might one day catapult Corona into another level of realism.

This issue has been discussed at length for the years on these forums in threads much much bigger than this as im sure agentdark remembers.

https://forum.corona-renderer.com/index.php?topic=14958.0

2020-04-26, 16:58:56
Reply #40

Designerman77

  • Active Users
  • **
  • Posts: 507
    • View Profile
@Lolec, I guess all of us are very thankful for the work you have put into the tests!
Very cool, man!


@agentdark45: you, Sir have a brilliant eye and observation! The over clamping and grayish stuff behind that plant, as well as the tone of the wooden furniture, etc... exactly those are the things that also bug me in my renders. And I guess a lot of other users.
One could always say "aaah, that's only small differences". BUT our eye / brain instinctively notices exactly that stuff and realizes that it´s a fake pic.

As I superficially mentioned before: it´s all about the correct proportions of colors, contrasts, etc. that make images seem real.

Dudes, this discussion is by far the most awaited and defo my favorite one. I do believe that this is going to boost the quality of Corona in the next months, as the devs. brains surely start to work in the background. :)







2020-04-26, 17:02:29
Reply #41

Designerman77

  • Active Users
  • **
  • Posts: 507
    • View Profile

This discussion might one day catapult Corona into another level of realism.

This issue has been discussed at length for the years on these forums in threads much much bigger than this as im sure agentdark remembers.

https://forum.corona-renderer.com/index.php?topic=14958.0


I remember that this topic is not new.
Well, then it is high time to not only discuss but start programming. :)

2020-04-26, 20:05:44
Reply #42

lolec

  • Active Users
  • **
  • Posts: 168
    • View Profile
No, my point is not that corona is as good at tonemapping. It is an objective truth that Fstorm uses a superior system. More realistic.

My point is that I have a feeling that when people, specially new users, complain about corona's tone mapping. What they are really talking about is that it is harder to get photographic images in corona, because the default settings are not meant to be photographic and the tweaks are not obvious.

That is why I think this topic comes up over and over and over. I believe there are two different subjects.

TRUE: Corona needs to move away from sRGB. It is the future, it is demonstrably better.

Also true: In order to notice the limits of sRGB you need to do some very extreme examples. In the day to day, most people would probably not hit that limit.

Maybe true: A lot of people, specially new users don't know the correct workflow and don't even get all of what Corona can offer. So they are comparing Corona default to Fstorm default. 

Fixing the first takes a lot of development  time apparently. but fixing the second might be easier.



2020-04-26, 23:36:08
Reply #43

Designerman77

  • Active Users
  • **
  • Posts: 507
    • View Profile
No, my point is not that corona is as good at tonemapping. It is an objective truth that Fstorm uses a superior system. More realistic.

My point is that I have a feeling that when people, specially new users, complain about corona's tone mapping. What they are really talking about is that it is harder to get photographic images in corona, because the default settings are not meant to be photographic and the tweaks are not obvious.

That is why I think this topic comes up over and over and over. I believe there are two different subjects.

TRUE: Corona needs to move away from sRGB. It is the future, it is demonstrably better.

Also true: In order to notice the limits of sRGB you need to do some very extreme examples. In the day to day, most people would probably not hit that limit.

Maybe true: A lot of people, specially new users don't know the correct workflow and don't even get all of what Corona can offer. So they are comparing Corona default to Fstorm default. 

Fixing the first takes a lot of development  time apparently. but fixing the second might be easier.



Lolec, let´s be honest. Tweaking here, twisting there... all of us want colors & contrasts that look realistic as a starting point.
It is 2020... this should be the basic in any good render engine.




2020-04-27, 13:24:57
Reply #44

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
@agentdark45 just to be clear, the summary of your analysis is that Fstorm and Corona are not on parity in terms of tonemapping (?) and you are in disagreement with @lolec who is saying that, on balance, the tonemapping potential of both renderers, Corona and Fstorm, is basically comparable(?)

Correct. One more example to show how badly Reinhard stacks up compared to a proper filmic/ACES implementation:



Again, this cannot be done just by sticking a LUT over an image (i.e the band-aid approach).

The thing is, Reinhard is only compressing highlights. Filmic TM is compressing Highlights and applying a filmic curve to the render so that's a biased comparison. So basically, using dubcat LUT (the curve) and compressing the Highlights (Reinhard) already give pretty decent results. But, there is still that outdated sRGB EOTF in the process and that sucks. Other than that, the technical side of Corona is way more solid than Fstorm one from what I've seen.

But it's not all about Tonemapping, rendering space also have a significant impact. The wide gamut of ACEScg space offers quite a lot of extra colors that are beneficial to the render (colors are not compressed at the boundary of the gamut like in sRGB). Chris brejon made some interesting tests on that matter and you can clearly see it :

https://imgsli.com/MTQ2NzA

https://imgsli.com/MTQ2NzA/2/3

Corona is already using a wide gamut render space on which we do not know anything. How are handled the translations between sRGB and this space? Could totally be fine but i'd be curious to see how it compares to ACEScg one as we know the choice of the colorspace as a tremendous impact color saturation and can lead to bad results if not chosen carefully (otherwise everybody would be using XYZ as rendering space). All I know is that there is a reddish color cast on corona that is caused by that choice of colorspace(?).

edit : (?) mark on colorspace part
« Last Edit: 2020-04-28, 19:14:47 by Fluss »