I thought I’d experiment a little with rendering to OpenEXR image sequences. I rendered out a series of frames using JPG and then OpenEXR. The OpenEXR images seem washed out – almost as if they need a major gamma correction. The JPG’s of the same frames look normal.
Is there some super-secret thing I need to know about OpenEXR that will fix this?
No they should look just fine.
What are you opening them with ? It is possible the software is assuming a colour profile. Try removing or changing it.
There is no problen in either the jpeg or exr file. They are both right. But their data interpretation is different.
When you save to a jpeg file (as well as most any other low dynamic range file formats), the data is automatically assumed to be gamma corrected. But unless you explicitly took specific steps in Blender to gamma correct your render, it is obviously not. So when you open a jpg file in say, Photoshop, there is very little color correction applied to it because it is already assumed to be color corrected.
The OpenEXR format assume the color data to be linear. High Dynamic Range data is designed to be linear. When you save your rendered image to OpenEXR. it is assumed to be linear and unless you took specific steps in Blender to gamma correct it or color correct it, it is indeed linear. So when you open an EXR in Photoshop, for instance, a gama correction is automatically applied to it to make it properly viewable on your monitor. That is why you see it as washed out.
There was a time where Photoshop would allow us to override the gamma correction when opening OpenEXR files. But in recent Photoshop versions, we cannot override this anymore. I guess Adobe figured that giving the user the option to override the gamma correction made no sense since no other assumption about the color space can be made except that is must be linear.
You can save to OpenEXR like any other file format but in order to properly use this file format, you need to understand the topic of “linear Workflow” and apply those principles to your own workflow. Otherwise, you gain nothing, you will only introduce yet even more light and color distortions everywhere in your process, and you are just making your workflow more complex.
Thanks for the detailed explanation of what’s going on. I’ll have to look into proper OpenEXR workflow. Could anyone who knows of a good learning resource for this please post to this thread?
Thanks Yves, that is what I was trying to say, but you put it so much more eloquently, and informatively…and factually.
There are several good resource on the web. Look for “Linear Workflow” on Google. You could also start here. But be warned that implementing a linear workflow in Blender requires a well integrated knowledge of the issue and of the ways that Blender can be coerced into adopting some of its principles. As far as I know, there haven’t been any complete resources for Blender on that topic yet. There are some python scripts around that can help. And if you search on this forum for “Linear Workflow” or “Gamma Correction” you will find a few posts and threads where this have been discussed. Good luck.