Chaos Corona Forum

Chaos Corona for 3ds Max => [Max] Feature Requests => [Max] Resolved Feature Requests => Topic started by: vicnaum on 2014-09-07, 18:53:17

Title: Exposure slider instead of Level in Diffuse slot
Post by: vicnaum on 2014-09-07, 18:53:17
Hello guys!

There is no intuitive way in 3dsmax to change the texture exposure, which is sad - because this action is needed 99% of time when working with textures in Albedo-correct way. Most textures are photographed with the wrong exposure, have reflection lighting in them, so they need to be tuned down a bit (or up!).

There are numerous ways of altering the texture brightness:
1) Level slider
2) Map % slider (with black color in the color slot)
3) Output Level inside bitmap map
4) RGB Level inside bitmap map
5) Gain in ColorCorrect map
6) .......
7) ...etc,etc,etc

But NONE of them tunes the exposure. They all tune brightness, so when you make the texture darker - it also looses saturation and contrast => becomes more faded & grayish.

To see what I mean by that - just open any texture in Photoshop, and apply Exposure in "Camera Raw..." filter.
Then open the same texture in 3dsmax and try any of the above ways to achieve the same - and you'll see the difference between the real exposure, and 3ds max ways instantly.

Also - it's also much harder to rise the texture exposure, than darken it. So the Exposure slider which can do -/+ to texture in the CORRECT way - will be a great handy tool when rendering objects with photographic textures.

P.S. I could post some screenshots, but I think you should try it yourself to see in your own eyes.

Thanks.
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: maru on 2014-09-07, 21:25:33
They all tune brightness, so when you make the texture darker - it also looses saturation and contrast => becomes more faded & grayish.
Doesn't some other slider in Color Correction map change the parameter that you would want (gamma or something)?

I'm not sure but I think when you are editing an 8-bit file in Adobe Camera Raw and you are changing "exposure" value, it does some black magic trickery trying to guess which parts of image are bright and which are dark and tries to simulate what it would do with 32-bit files. But I'm not sure...
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: vicnaum on 2014-09-08, 06:49:34
Well yes, I can tweak Gain + Gamma + (if needed) Saturation = to achieve similar looking result. But that's too complicated to get the right looking result by tweaking 3 sliders instead of one.

Yes, you're right about 8-bit file, the most majority of textures on the web are 8-bit files, actually. But I'm sure that the black-majic-trickery formulas of doing this are available somewhere in scientific papers. Or can be reverse-engineered from camera-raw by tweaking different gray (or not gray) gradient files, and looking how it works.
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: Ludvik Koutny on 2014-09-08, 08:34:12
That's not true. Output in bitmap setting tunes exposure. If you lower it with 8 bit map, then sure, you will get flat washed out areas, but that's because your texture is... well... 8bit. Try to load hdr or exr in there and twist around with the output spinner in bitmap. There is no need of adding controls that are already there. Alternatively, you can use output curve for even finer control.

CaramRaw in PS may be trying to fake exposure adjustments for non-hdr formats, but you should keep in mind that 3ds Max is not a photo editor, it's just a 3D software. So while it should (and does) have robust set of controls to control shading networks and maps, materials should not become also texture editors, as there is software dedicated to that.

I think all these things are doable...  like adding another exposure control (even when there already is one) adding different fresnel control, or changing glossiness to roughness. But it's also the quickest way to ruin renderer usability, if done unwisely. Not everyone stays away from things like Maxwell just because it's slow. Many people stay away from it cause it makes day to day tasks annoyingly complex.

If we don't talk about characters, but inanimate objects and materials, then uncanny valley has been crossed a long time ago, and yet no one needed some super complex reflectance models for that. Bertrand Benoit and Alex Roman being proof of that.

Again, not implying things should not be improved upon, but they first need to have some proven benefit they bring to the table. Not just a drawback of cluttering UI with dozens of buttons.

Remember that GGX hype or Grant Warwick tutorial hype in general? For a while, people thought they could not live without GGX and manually separating RGB components in reflectance curve, yet, after a short while they realized it just makes the workflow take a bit longer while not really making their materials looking noticeably better. And now the hype is over, and everyone is back to their usual routine. Turns out absence of GGX or not having separated RGB component curves in their reflectance falloff wasn't really the only reason their materials did not look the way they would like to ;)
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: Ludvik Koutny on 2014-09-08, 09:01:24
I even made a video showing the difference of HDRI vs JPEG. I didnt use HDRI with very wide exposure range, so the difference is not so strong, but still clearly visible.

Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: Ludvik Koutny on 2014-09-08, 09:19:15
Actually, i just checked how CameraRaw in CS6 handles exposure when working with JPEG, and it does the exact same thing as output.
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: vicnaum on 2014-09-08, 10:08:13
Well, if that's exactly same, then maybe you should look again at it?
(http://www.naumik.com/temp/scr5/20140908-853-39kb.jpg)
(Left is 3ds max output 0.08, Right is CameraRaw -3 EXP)

And please don't say the left grayish thing is okay for you, and artistic, or whatever.

Eveyone knows about 8bit, 32bit - that's school knowledge. But why even Nuke handles THE SAME 8-BIT FILES much better?
(http://www.naumik.com/temp/scr5/20140908-1g1-70kb.jpg)

Everyone knows that 32bit textures are much better, but where do we get them? cgtextures, etc - everything is 8bit. We'll wait for Megascans of course, but it's still not here. So all we're left with - is doing the same procedures we did, using 8bit ones that we have on the web.

And you know, I'm perfectly okay with loading adobe photoshop with each of 100 textures I have in scene, and tweaking it there with camera raw, then reloading and rendering it in Max. Also I'm okay with tweaking the curve in output, or gamma in ColorCorrect.

The same way I was okay with putting 10 negative values Omni's to fake Radiosity & Global Illumination.
Because there was just NO OTHER WAY.

And I completely understand the marketing strategy of Corona as "Same as Vray, but a bit better & faster". So I understand why everyone's so conservatively wants to keep the interfaces same & old-school.

But seriously, staying so conservative in such fast-developing world can play a bad joke on everyone. More & more renders & real-time engines are stepping on, with much simpler & more realistic "out-of-the-box" methods. So it's wise to think on how to make it more better & easy-to-use.

And some day the step away from Vray&Co will be made. The question is - who'll do it first.

P.S. Here's the original texture for tests: https://dl.dropboxusercontent.com/u/9944031/PlywoodNew0011_2_L.jpg
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: Ludvik Koutny on 2014-09-08, 10:31:33
I would tone it down, and first make sure you know what you talk about ;)

The reason Nuke and CameraRaw transform those colors differently is because both of these software expect to get linear HDR input. CameraRAW expects to get RAW file, and nuke expects to get linear HDR file (EXR mostly) so they transform colors according to that.

What you are doing is you are applying linear transform tool to bitmap (JPG) that has sRGB already baked in. In this case, it may look perceptually better, but it doesn't change anything on the fact it is wrong.

Here is a screenshot i made of your texture in Photoshop, with Exposure adjustment layer, and Bitmap swatch window from 3ds Max.
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=5134.0;attach=20382;image)

 If you apply Exposure layer in Photoshop, it will first detect which bit depth you are using (in case of JPG 8bit) and then adjusts Exposure pivot point accordingly. So exposure in Photoshop does exact same thing as output. Exposure in CameraRaw doesn't... you are right about that. That doesn't change anything about using linear tools to adjust image file with sRGB baked in is wrong.

Now, if you want to get nice dark tones without gray flat areas, you can easily counter sRGB transformation by adjusting curve, like on this picture
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=5134.0;attach=20384;image)

And you are right that being conservative is not a good thing. But these improvements have to be done carefully. Vray went the way of simply doing everything everyone wanted, and look what a beast it has grown into. You can't just slap more buttons in.

BTW... as you are saying, there are more and more engines and PBR renderers jumping in with simpler and more realistic out-of-the-box methods. But i can't really find any examples of these renderers producing noticeably more realistic output. We've got Maxwell for years, same with Fryrender, and now there's Octane with another layered approach, yet almost every time I see a CG work i could have sworn is a photo, there's "Vray" written under it ;)
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: Ludvik Koutny on 2014-09-08, 10:47:57
Here's another example by the way. Thea renderer. They got probably the most complex, physically based and flexible material system.
(http://www.thearender.com/cms/images/screenshots/AMS-Windows7.jpg)

New version ever simulates micro roughness that varies reflection glossiness based on angle. They got layered system to allow you build your complex physically correct shaders out of complex BRDF components.

Yet look how it helps their users to achieve photorealism: http://www.thearender.com/cms/index.php/gallery/album/2-interior-architecture-and-design.html
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: Juraj on 2014-09-08, 10:58:48

Remember that GGX hype or Grant Warwick tutorial hype in general? For a while, people thought they could not live without GGX and manually separating RGB components in reflectance curve, yet, after a short while they realized it just makes the workflow take a bit longer while not really making their materials looking noticeably better. And now the hype is over, and everyone is back to their usual routine. Turns out absence of GGX or not having separated RGB component curves in their reflectance falloff wasn't really the only reason their materials did not look the way they would like to ;)

Not really. Everyone wished for GGX so they could avoid absolutely bothersome stacking of multiple specular layers. RGB curves was completely other thing, that was to get slightly unique color behavior for metals instead of single shade but that was even more over the top. But not so much GGX, which does all that with single internal algorithm. Necessary for life ? No, nothing is. But then why even bother with anything new ? How can you at same time defend software with unique and novel approach and at same time, always reserve that same opinion about any sort of progression that's not in line with your current understanding of workflow. You're not even on same page with your stuff.

And regarding your overused argument with Alex Roman and Bertrand (or other outliers) having zero problems making nice stuff. Except that Bertrand reiterates his workflow every few months and it takes him quite effort to do what he does and yeah, I don't think few outliers identify the critical mass of users just because they manage to utilize extreme out-of-box thinking and peculiar attention. Most do not. And neither of those two needed Corona (or even use it daily for that matter), so who do you think this software is actually catering to ?

With that I agree with you not every addition is necessary I also like simplicity of Corona because it doesn't add stuff. But there are changes that arent' addition, but could streamline the workflow a lot who wish to to "easily" achieve photoreal results. Which after all is like the main motto behind Corona renderer.

Ad Examples: Almost every of your argument is logical fallacy or doesn't apply to topic you illustrate. What does the correlation of users's quality of work have to do with usability of renderer ? All these minor-market renderers like Thea, Indigo,etc.. only showcase they never attracted critical mass of users among which few outliers could demonstrate their highly above-average skill. Yet give it to that outlier and he will largely exceed their portfolio (Bertrand with Octane, Maxwell, Corona,etc... not only Vray).

Can we apply reverse logic to that ? MentalRay has some of the most amazing work on internet given how long it is on market and how large its userbase used to be (and probably still is). Does it prove Mental Ray's superiority in usability against others ?
It doesn't, and neither does your point.
Title: Re: Exposure slider instead of Level in Diffuse slot
Post by: Ondra on 2014-11-05, 14:22:23
This is seriously derailed. I dont see merit in implementing anything here - exposure can be changed via other ways.