Viewer Input Process Equivalent in Natron

Greetings!
I am a feature film vfx compositor who uses Nuke all day, and I’ve been playing around with a linear to light color pipeline using open source software on linux in my spare time.

I’ve recently been playing with Natron and am pretty impressed with the new features and OCIO implementation.

There’s one thing I can’t figure out though, and wanted to ask the knowledgeable community here if it is possible or not.

Say I have a linear exr source image, and I want to continue to work in linear, but display my work in the viewer through a complex color transform, for example a OCIODisplay node set to the reference rendering transform: rrt_srgb.

I can set my read node to Output Colorspace “display/rrt_srgb” but this defeats the whole point of a linear workflow, since I would be converting my linear image into a tonemapped image before starting work on it.

Is there any equivalent in Natron to the VIEWER_INPUT process in Nuke? Can I use a node to modify the colors displayed in the viewer? Or is it really only possible to view the linear image data in natron through a naive sRGB or rec709 lookup?

Thanks for your help!

You can set the Viewer LUT to linear, and add an OCIODisplay node just before the viewer.
See the following screenshot:

  • viewer 1 applies a standard sRGB LUT
  • viewer 2 applies no LUT (linear), and the OCIODisplay node is set to RRT/sRGB, as defined in the default (blender) OCIO config

Note the GPU render is disabled by default in OCIODisplay, because GPU Render is not considered accurate in OCIO (see this OCIO github issue) but if it’s just for display you may try to enable it (not: there may be also a Natron bug when GPU render is enabled)

There is no way in Natron 2 to add your custom color colorspace to the list of display luts in the viewer.

Does that answer your question?

Thanks for your reply!
I am aware of the workflow you describe above, but don’t you agree it’s a huge pain to manually move an OCIODisplay node around and connect it to whatever node you want to view?

The lack of ability to view linear images using the OCIO system that is in the software, in the viewer as a lut seems like a huge gap in functionality to me.

What would the procedure be for making a feature request for this?

This may be a huge pain for you, but you may also consider the efforts we already put in the 600000 lines of code of Natron.
Using two viewers (Viewer1 with sRGB for standard graph inspection and Viewer2 with OCIODisplay for final render) is not that much of a PITA.
Just think about it, and think about the money you are saving by using FOSS maintained by volunteer(s) who do not have any financial interest in the fact that more people are using Natron. If using Nuke is more efficient money-wise and time-wise for you, then you are free to switch to Nuke.
This functionality is already in Natron 3, but unfortunately Natron 3 is not stable enough for release.
You can post a feature request on Issues · NatronGitHub/Natron · GitHub but there are chances that it does not get implemented: I am the sole maintainer ATM, and I only have a very small amount of time to give short answers to questions about Natron or fix obvious bugs. I won’t add any feature. I will fully retire as a Natron maintainer this summer (July or August).

1 Like

Don’t get me wrong I think Natron is amazing especially given the resources you all have to develop it. I was only intending to suggest the feature if it hadn’t been thought of already. If it’s in the works for Natron 3 I’m happy :slight_smile:

Thanks for your time!

It’s not always the best choice, but I often use a Log2Lin after my main plate and tweak it to the look I want. Then I add an inverted version at the end before I render to convert everything back to log. Not sure if it’ll help in your case, but thought I’d throw it out there