Yay! Another long colour management post from Henry Wilkinson! You’ve got a few things going wrong here so lets try and sort them out!
Settings and Viewing
When you export EXRs from blender they are written out as linear encoded light data expecting to be viewed with the filmic transforms because that’s how you have been viewing them in Blender the whole time. While Blender includes the filmic config as its default, in order to use it in Natron (or any other software) you’ll want to download it from here and set it as your config in Natron’s preferences.
Natron’s viewer annoyingly doesn’t use user-installed configs for colour management view transforms, as you have seen the only options are Linear(None), sRGB, and Rec.709. In order to use Filmic’s display transform we are going to set the viewer to Linear(None). And use an OCIO-Display node to handle the view transform while the viewer just does nothing.
Filmic Blender comes with two output transforms (OETFs), sRGB and Apple Display P3. You probably have an sRGB monitor (seeing as you’re using Windows) so you’ll likely want to use the sRGB transform. If you have a monitor that can display the wider P3 gamut, use the other one! If you select the Display P3 profile on an sRGB monitor you will be feeding the monitor different data than it is designed to display and it will not display the correct colours as you have observed.
Now that we understand all of that, this is how your OCIO Display node should likely be set up:
This OCIO Display node needs to live at the very end of anything you try to view. Whereas normally you’d drag the viewer input around parts of your graph you gotta do this now because whatever you’re viewing needs to go through this node to look correct. See earlier gripe!
Assuming you have written your files out from Blender as EXRs, all read node colour options should be set to Linear.
Exporting
“But wait!” you say, “If my files from Blender that have been worked on with a colour management workflow need to have a colour management config applied to view them correctly, how will anyone else be able to look at my exported files from Natron without the config that I have?!”
The answer lies in writing them with the same output transform we use for our monitor in our write node which will bake all our transforms into an sRGB encoded file that other programs will expect. You once again probably want to write them out with the sRGB transform if you’re writing to JPEG, PNG, or TIFF. Unless you’re making content specifically for a P3 display, you probably want to be using sRGB here as well. This ensures it will be read properly by regular image viewers like Preview and Photos which are expecting images to be written with sRGB data and will display them as such.
If you want to export your images as filmic log for grading in another application you can also set that option as the output transform.
Filmic Look Transforms
“But I was using view transforms in Blender and I like those because they’re half of the whole point of using this config, can I use them here too?”
You bet! You just need a few more nodes in the chain, these transforms are part of what makes Filmic an actually useful tool. Here’s what you need to do to make that happen (in this order).
-
Read
: Everything set to Linear
-
OCIOColorSpace
: Input = Linear, Output = Filmic Log Encoding
-
OCIOLookTransform
: Input = Filmic Log Encoding, Look = Your choice, Output Colorspace: Linear
-
OCIO Display
: Input Colorspace: Linear, Display Device: sRGB, View Transform: sRGB OETF
This takes our linear EXR, moves it into Filmic Log, Applies the look transform of choice, outputs as linear and then applies an sRGB transform beforewe pass it to the viewer that does nothing because we already applied our viewer process… got it?
Why does this look different when I replicate the graph in Nuke?
It’s a bug! And it has been filed. The discrepancy seems to appear in the OCIOLookTransform
node when “Enable GPU Render” is checked on. Be sure not to use that if you want your colours to render properly.
I have attached all project files. in the zip file linked below , the EXR is available here, thanks to Juan Callejas for providing it to me for these tests. Be sure to set up your OCIO configs as described above before using these files!.
filmictests.zip (3.2 KB)