Author Topic: Saved Image Looks Different Than Frame Buffer  (Read 22803 times)

2016-10-24, 15:11:39

RobSteady

  • Active Users
  • **
  • Posts: 45
    • View Profile
My saved render always look a little bit different than the one in the frame buffer (working with Octane & FStorm).
It does not look like a gamma problem, the difference seems too subtle for that - I'm using Gamma 2,2 and when saving the render "automatic" is checked.

The saved image has a little bit less contrast and colors are slightly different; overall it's less punchy.
I've looked several hours on the web but didn't find a solution. Is anyone else having this issue?

"Buffer" is a screenshot from the Frame Buffer in Max.
"Saved" is the saved render.


« Last Edit: 2016-10-24, 15:22:17 by RobSteady »

2016-10-24, 16:36:31
Reply #1

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
It's color-gamut difference. Framebuffer is non-colormanaged, so what you see is the highest gamut your Display/System outputs (wrongly, since the result is computed for sRGB only).

What you see in Photoshop or opening in managed editor (Windows Photo viewer, but not "Photo" app in Windows10) is sRGB clamped version, the actually correct one. It has no color profile, and in such case, managed applications assume it's sRGB out of convention. Photoshop will ask you if you specify so in Color settings. You should always have those settings set to "Ask when opening/Ask when importing".

If you want to see 100perc. identical image like the one in framebuffer (but this is wrong one, it's over-saturated because of color space shift), you have to assign larger color space when importing to Photoshop (for 10000perc. the same, it's the monitor profile, but AdobeRGB will suffice), and then convert to working-space of you choice right after or after you're finished editing (ideally sRGB for web).

What's your Display ?

You can't find much about it on internet because color-management is non-existant topic in CGI community for some historical reason, and 99perc. people do not even know what it is.
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!

2016-10-24, 17:02:19
Reply #2

pokoy

  • Active Users
  • **
  • Posts: 1850
    • View Profile
If Photoshop is set to use sRGB and assigns this upon opening there should be absolutely no difference. A difference would only occur if the colors were transformed, for example if you convert to a different profile.

If you open both images in PS and assign the same profile to both there should be absolutely no difference, the images should be 100% identical... and they're not.

Were you saving either of the images from PS? Neither of them has a profile assigned so I assume you saved 'Saved.png' from Corona's VFB... Does it still look differently if you save a tif or bmp? If there's still a difference there's something else going on.


2016-10-24, 17:07:54
Reply #3

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
If Photoshop is set to use sRGB and assigns this upon opening there should be absolutely no difference. A

It only looks the same to people whose displays are close to color gamut of sRGB or their space (Windows) is set to use one, i.e deliberately clamping on colors you can visually see on display.

The difference on highend-displays is night-marish. Like, seriously brutal over-saturation.
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!

2016-10-24, 17:11:36
Reply #4

RobSteady

  • Active Users
  • **
  • Posts: 45
    • View Profile
Thanks for explaining in detail, Juraj.

Using a BenQ BL3200 and an Eizo, both managed by Spyder 4.

What's your workflow? Or, what's the best workflow for this setup?

2016-10-24, 17:59:52
Reply #5

pokoy

  • Active Users
  • **
  • Posts: 1850
    • View Profile
If Photoshop is set to use sRGB and assigns this upon opening there should be absolutely no difference. A

It only looks the same to people whose displays are close to color gamut of sRGB or their space (Windows) is set to use one, i.e deliberately clamping on colors you can visually see on display.

The difference on highend-displays is night-marish. Like, seriously brutal over-saturation.
On the same display - which we can safely assume is the case - there should be no difference.

If a screenshot of Corona's VFB captures, for example, a grey value of 128/128/128 and Corona saves a grey of 130/130/130 then there's something else going on, regardless of profiles, displays etc. Since there IS a difference between the images, it's important to make sure there was no color transform done so we can compare RGB values. If one of these images was, for example, opened in PS and converted to a different profile for viewing prior to saving the PNG then that's probably the reason why they're different. If no color transforms were done then there's something else happening and discussing profiles and displays is pointless.

To find out what's happening here:
1. Make a screenshot of Corona's VFB, save this as bmp or tiff.
2. Save Corona's VFB as bmp or tiff.
3. Open both in PS, and whatever you do with profiles, make sure they're both using the same profile. If you see a difference, chances are Corona's VFB saves out the images differently.

2016-10-24, 18:59:53
Reply #6

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
Quote
On the same display - which we can safely assume is the case - there should be no difference. Discussing profiles and displays is pointless.

If you make screenshot of framebuffer, or any non-color managed application, you will capture the image in the shifted color gamut unless you whole environment is clamped down (and then you had no reason to buy anything other that TN calculator for display).
There could still be another shift depending how his whole environment is set-up, or how he actually did the screenshot.

I've tested 100 times how Corona (or Vray, or VFB+ any renderer embedded in 3dsMax environment without color management) saves and displays color. As long as pure sRGB pipe-line is maintained, Corona preserves color and tone 100perc. correctly. Which is not exactly a win situation, using damn sRGB in 2016.

Here is a screenshot examples: Blue color can actually be brutally more saturated. The assign sRGB is the correct one matching the input colors (in form of values or textures). The framebuffer is what you see on wider-gamut displays, and is also what a screenshot will look like.
Or if you assign higher-gamut spectrum to saved render. Both of them are incorrect of course in terms of input, but consistent if you want PS=Framebuffer to look the same in wide-gamut environment without actual color accuracy.









If you want your input colors to match output in Corona, you have to assign sRGB only. Only this option currently preserves accuracy.
If you want the same colors as in framebuffer, assign your display profile, and then convert to working space (sRGB for example). You will get your framebuffer look, but inconsistent colors with input.

Please don't share this examples anywhere, it's from non-published project, but one that best illustrates the issue.



« Last Edit: 2016-10-24, 19:30:56 by Juraj_Talcik »
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!

2016-10-24, 19:08:25
Reply #7

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
Quote
What's your workflow? Or, what's the best workflow for this setup?

I wanted to write an extended article (you can read some of the stuff on forum, but it's hard to search for) on color-management for color-accuracy in 3d rendering but generally...it's painful.

I'll wait until Ondra integrates some CC (he promised he could do so, it's definitely doable, Maxwell has it).

Short answer: IGNORE framebuffer. Seriously. Or dumb down your whole environment (Windows, Display) to lowest common denominator: sRGB space.
You should finalize colors in Photoshop. Always, and ever.
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!

2016-10-24, 22:44:51
Reply #8

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
to make this more interesting: Corona actually uses faster color mapping in the frame buffer display than when saving (it is more precise for saving to preserve for example 100% accuracy in 16bit and float image formats). So there might be actually some color shifts even caused by corona. To test this, try copying the image to 3dsmax frame buffer (copy to max button in VFB) - if there is some shift in the appearance as captured by printscreen, then please report it to us ;)
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2020-01-25, 02:22:55
Reply #9

lupaz

  • Active Users
  • **
  • Posts: 951
    • View Profile
Hey guys.

Thanks so much for all the info.

I wanted to ask if this workflow is still valid today.

I got a new Benq monitor that uses its own profile, so when I open the images in Photoshop they appear more desaturated and slightly darker.

What I'm doing now is assigning the Benq profile and then converting to sRGB, as explained above.

However, with 32bit it doesn't seem to work as well as with 8 bit.

Is there anything better now in 2020?

Thanks.
Guido.

2020-01-25, 16:06:44
Reply #10

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
No, since 2016 nothing has changed. 3dsMax or Corona are still not color managed. Autodesk Maya is color managed ;- ).

Windows 10 is slightly better color managed than it used to, but it's not perfect (it's not even close to where Mac OSX is for example).
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!

2020-01-26, 19:59:07
Reply #11

Radim Razzak

  • Active Users
  • **
  • Posts: 23
    • View Profile
Hi there.

I am having a similar problem. The scene background image looks brighter (and the colors are shifted too) in the VFB than in Photoshop, where it was prepared. The bitmap is connected to the CoronaTonemapControl map with the Exposure/Tone Mapping/LUT disabled. It shouldn't be color profile related, as I tried saving the image in PS with sRGB profile attached and also without any color profile, it always looks brighter in the VFB.

When I save the render and open it in Photoshop, the background looks exactly like in the Corona VFB (brighter with the shifted colors compared to the original state, so there is actually something happening to the image).

The Gamma in 3DS max is set to 2.2.

Any ideas on why is this happening?

Thanks in advance.

2020-01-26, 23:15:58
Reply #12

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
with sRGB profile attached and also without any color profile

That's absolutely the same for 3dsMax.

As long as 'everything' has shifted colors, it's color gamut related. If it's only your background (and rest of image is fine), it's your Corona setup.
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!

2020-01-27, 13:25:22
Reply #13

Radim Razzak

  • Active Users
  • **
  • Posts: 23
    • View Profile
Thank you, Juraj for your swift answer.

You were right, it was the LUT and tone mapping which were changing the visual appearance of my background image. I thought that the CoronaTonemapControl map would avoid that from happening, but now I see that it doesn't work like that. Could anybody explain to me please, what is the right workflow then? Because adding the background image a posteriori in PS won't work for me if there are reflections and refractions involved (interior render with a view to the exterior through a window).

Thanks in advance.

2020-01-27, 13:47:32
Reply #14

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
ToneMapControl map is bit finicky.. anytime you make framebuffer change, you have to restart the render for it to negate everything.

That is particularly issue with LUTs and when and how you use them in process. Unless you're making an animation you might be better off adding that LUT in Photoshop.

(Btw, reflections/refractions for compositing will be added in upcoming Corona version).
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!