How can I see Filmic transform in Natron viewport?

So basically I’ve seeing this Blender Guru’s video since recently I rendered in Natron (almost by chance) a file in filmic and the results were quite satisfactory:

Filmic

The point is, I ran into a problem: how am I supposed to correctly adjust my postproduction workflow if i’m unable to see the real results in viewport?
The differences are slight, but still differences. At the flame is where they are more obvious.

Inside the dropdown in the viewer there isn’t a “Filmic” option or similar

And for what I am reading the solution may be one of these OCIO color nodes, but I can’t figure how them work, despite I read the documentation.

Screenshot_5

¿Is there any way I can see exactly what my filmic image will look like in the viewer?

I kept reading and I think I came to one possible solution?

I basically came to this two seems-to-work solutions:

first OCIOColorSpace or OCIOLookTransform transforming from linear to filmic sRGB and then OCIODisplay to convert Filmic sRGB to display device (which is DCI-P3 for reasons that are beyond my understanding)

If someone could confirm me if this workflow is correct or not, and maybe explain to me why DCI-P3 instead of sRGB (which looks a lot darker) I would be very grateful. I’m kinda new to Color Managment and Post-production and I’m trying to understand.

PD: when I set this node workflow the viewer turns full dark every time I zoom-in, zoom-out or move trough the viewer, is this a expectable behaviour?

Thank you in advance for your inconvenience.

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:

Screenshot 2021-11-08 221510

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)

1 Like

Wow, such a great and datailed answer! First of all, thank you so much for your help in the matter and for your valuable time.

Before anything else, a few things:

  • I rendered that image in Natron, not Nuke. I don’t know where my head was when I wrote “Nuke”, my bad. It’s already corrected in the original post.
  • Thank you for reporting the bug!
  • The mentioned problem that image fully or partially disappear when I zoomed or paned seemed to be half caused by workload, and half because an animated mask I forgot to remove.
  • I couldn’t open your attached file cause it was .lock file and when I tried to delete the “.lock”, as expected, it messed up.

Now, to the matter:

I tried your workflow suggestion whit filmic-blender (aka the Filmic files from the link you provided) an the result were quite dissapointing. I did not success. I replicated the same node tree you indicated.
The only minimal change that approximated the image to the desired aspect was setting the OCIODisplay’s View transform = Filmic Log Encoding.

After that, I tested the workflow in blender OCIO.config that is default in Natron.
Since blender OCIO doesn’t have a “sRGB” View Transform, and the default “RRT” gives similar dark result as the “sRGB OETF” from the filmic-blender, I set the View Transform in “Filmic”.

It turned out I didn’t need to use OCIOSpaceColor and OCIOLookTransform, or it seems to, since the two node trees from the image avobe gives the same result.

I attach Natron files where I tested both blender and filmic-blender, with png image of reference and original .exr render in case you don’t agree with my results and wanted to take a look for something I missed or whatever. If not, there is no problem :blush:
filmicTest.zip (87.2 MB)

In resume, what I have learned (maybe it’s incorrect) is that I have to write the image in sRGB color space with a Filmic transform applied, that’s only “aesthetical”, to call ir somehow.

Also, may I ask some few things that still remain unclear to me?

  • Where in this workflow is supossed to be inserted the write node? It is indifferent as long as I select the correct Input Colorspace?

  • The default Natron’s OCIO configuration named “blender”. It isn’t acceptable? I downloaded Filmic from the link you provided me and installed it anyways.

  • When I writted the filmic-look-like image shown in my original post I did it using Natron’s “blender” OCIO.config; and writed it as it follows:
    -Node inserted direct into the linear colorspace
    -File Colorspace = display/Filimic sRGB; which could I assume that means sRGB-image with Filmic transformation applied?

Finally thank you again, I have (apparently) achieved my goal and I have learn beyond what I came looking for.