Preserving HDR information in EXR output from Blender in a 8-bit PNG?

Does the right column represents the images with the same grading? That won’t really tell anything, you can’t reuse the same grade between the different tonemaps. What you can do is try to match the Reinhardt image you like using the Filmic as a base.

Underexpose when using Filmic Log, this will help maintaining colors in highlights.

This was a just some tests, and sometimes you can get some weird results after grading, thats what I show them. Maybe you’re right, and probably I used filmic in the wrong way, but you need to show or nowbody will understand. We are talking about images.

Preserve what kind of information?

[quote]
The only way to get the full dynamic range out in a render or bake is to save it as an EXR float from Blender. Not even saving 16-Bit PNG float will keep all the information in the highlights in Blender[/quote]

i do this outside blender , by using " Nip2"
it is a GUI for the VIPS image lib.

Information from different exposures.

Ok, so when you say information, you mean look. That is where confusing is coming from. That kind of information has nothing to do with 8bit, 32bit, PNG, EXR etc.

sRGB - Standard: Lost all information in the sky outside and in dark materials inside, dynamic range is too small.

Filmic - Very low contrast: stores a lot more information in highlights, but still burns some parts of the sky. Could adjust exposure but then shadows were getting too dark and losing information.

Filmic Log - Medium Contrast - Exposure -2.27: Lowered exposure to make sure the brightest point in the sky wasn’t reaching white.
Lower contrast looks exacerbated color artifacts in the browns, and didn’t really add more dynamic range, only reduced the contrasts in shadows.
This is my prefered way to grade in Resolve as well.

Graded in Resolve, adding more saturation to highlights using the Lum Vs Sat curve + other contrasts and temperature adjustments, but no masks or local adjustments, only primary grading.

Something worth noting: Filmic maintains luminance relation. What I mean by that: the sky is still brighter than the interior in the image out of Blender, it’s up to me to do whatever I want during grading, using luminance masks, shadow/mid/highlights wheels…

Photoshop HDR Toning Local adaptation is, as the name says, Local and thus destructive. It will apply different adjustments to different parts of the image, so bright parts of the image like the sky can end up with luminance that are then lower than the interior. You can hardly regrade such an image afterwards.

EDIT: Now, why not using the Tonemap node in Compositing?
Well, unless you want to “burn in a tonemap” into your EXR, which you should really NOT do (please keep your EXR scene-referred information intact), you will want to use it to tonemap from 32bits information to a 8bits format like PNG. Rh Simple is just a different tonemap than Filmic, but it’s also older and probably not at good at maintaining color information in highlights and such. It is also a bit harder to use as it has more settings than Filmic.

There is a reason why we don’t have Rh Simple in the Color Management panel, it’s because Filmic is most likely a better tonemapper.

2 Likes

So please tell me how. :slight_smile:

This is what I need. Save a tonemapped bake to 8-bit PNG. :wink:

The only reason I mentioned EXR was because I couldn’t save the full dynamic range to a PNG or save a tonemmaped bake to PNG. I don’t need to use EXR. I used it because I thought I would have to do the tonemapping in Gimp. :wink:

But if I can save and tonemap the dynamic range into a 8-bit PNG this is perfect! Please tell me how, because so far I couldn’t manage to do that. :slight_smile:

To reiterate, I’m using this for baking lighting into textures. I need to save the baked textures to 8-bit PNG. But then what I need is to squeeze more dynamic range into a 8-bit PNG baked texture. Otherwise whites for example blow in high contrast lighting. Reducing the contrast of the lighting is the workaround I have been using. But not the best as it makes for dull lighting. If I can tonemap more dynamic range into a 8-bit PNG bake, then this is perfect. How do I do that? Anything I tried has failed.

  • Set your Color Management settings (before or after render, it doesn’t matter).
  • Press F12 to render. Let it finish.
  • Alt-S in the Image editor that opened to show you the render.
  • A new window with the File Browser will open. Set the file Format to PNG.
  • VERY IMPORTANT, and maybe what you were missing all along: check SAVE AS RENDER.
    image

Thanks.

Yes, I have tried that. Save as render checked. But when I open the saved bake in another Blender project to check, the highlights are clipped on the waveform. And it looks visually different too. So the full dynamic range is not being saved to the 8-bit PNG. Maybe using the tonemapping node to “burn the dynamic range in” could change that and save the full dynamic range?

For the record, I’m not rendering. I’m baking. :wink:

So the F12 is not relevant( as far as I know). In this case it makes no difference, as the workflow you describe also works for baking. I just want to clear it again that I need it for baking and not for straight renders, since there’s been some confusion. And even though baking is a type of render, not all render possibilities is available for baking. :slight_smile:

Thanks again

Please provide images :slight_smile:

I don’t know if it does, I haven’t done baking with Cycles, but that’s a pretty big piece of information you omitted to mention (or mentioned very late).

How to you plan to use your baked lighting? Are you only baking the lighting buffer, or baking the beauty render? You can’t tonemap the lighting buffer and expect to reuse it later in a shader.

I mentioned a few times it was for baking. :slight_smile:

In the original post I don’t specifically say it’s for baking because the question was about tonemapping outside of Blender, using the EXR. So it didn’t matter if it was a bake or a render as at that point it is just an image. :slight_smile:

I’m doing combined baking. It will then be loaded to a model, to simulate the model is lit.

How do you open it? Are you potentially applying the scene tonemap on top of the baked tonemap?
Is your baked texture fine in other image viewers?
Please provide images :slight_smile:

I am not using much Blender lately but I think that doing bake is same as rendering, it is render output and it will be color managed as render is. What are you doing with baked image? Yes, provide images or scenes.

To reiterate, I’m using this for baking lighting into textures. I need to save the baked textures to 8-bit PNG. But then what I need is to squeeze more dynamic range into a 8-bit PNG baked texture. Otherwise whites for example blow in high contrast lighting. Reducing the contrast of the lighting is the workaround I have been using. But not the best as it makes for dull lighting. If I can tonemap more dynamic range into a 8-bit PNG bake, then this is perfect. How do I do that? Anything I tried has failed.

No, tonemapping will not give you option to put more dynamic range into 8 bit. Tonemappin will help you to choose look you like, and when you save it to 8bit png it will have same amount of information as any other look you choose. If you plan to do some contrast/brightness adjustments it will blow in high contrast lightning, as any other 8bit image. It will never behave like 32 bit image.

If you use this image in another Blender scene, than you should think more about tonemapping of that scene, as that is where you will control lightning. You baked render is just texture.

I just loaded it in Blender. I don’t think I’m applying tonemap on top of it. I mean, you have to choose a profile under Color Management to view it if on Cycles. But I left it at standard and none, when I tried viewing it in Cycles to see if it made any difference. But apart from that, I just load the baked textures to the model it was baked on.

About images, I would have to put together a mock up, maybe using the Monkey to show it. But as I described, the highlights are cut off in the waveform, but they aren’t if you look at the lighting before baking and saving.

But some things that can be rendered can’t be baked. For example you can’t bake the shadow catcher, as far as I know.

Ok, so maybe it is not possible. In film for example it is. Nobody’ TV has the dynamic range to properly display the images correctly. So you could say the dynamic range is tonemapped to REC709 or whatever viewing standard, so the format can handle it.

I would think the same can be done somehow with still images. But maybe I’m wrong.

Thank you for sharing. I’ll consider filmic if I need to tone a HDR image. There’s almost none decent and clear information about tone mapping over the internet, but now we have something to start with. I’m quite sure that this topic is solved.

[quote=“lucas.coutin, post:39, topic:1293187, full:true”] I’m quite sure that this topic is solved.
[/quote]

Would you say so? How? :slight_smile:

As in, it can’t be done?