my diamond-shape logo; quite minimalisitic. Liam Collod

OpenDRT : a cool alternative to ACES

With the Academy Color Encoding System (ACES) becoming more and more omnipresent, it's important to not become lock behind its choices. There is a lot to discuss on the subject but we will only focus on using the tool for now, and leave the theory for another day.

If most people get into ACES, it's mainly for its "filmic" looks (provided by the RRT), rather than its color-management workflow. And that is understandable, as individual artists, you most of the time, only care about having the prettiest image possible at the end.

So what if you got a well-formed and pleasing image at the end without having to go through the complexity of ACES ?

Who's this for ?

My post mainly targets the VFX-CGI audience but OpenDRT work on any open-domain data (see also wide-dynamic-range, scene-linear); which includes photography and cinematography.

You should be familiar with a "scene-linear workflow":

render (.exr) -> compositing/postprod (linear) -> display output (jpg,mp4,...)

OpenDRT implementation is only available as a Nuke Gizmo and through Davinci Resolve DCTL feature (on paid licenses) which imply you are using one of these dccs.

No OCIO support, this means you will have with your traditional workflow in your rendering DCC and only be able to preview the final image in your post-prod one which is not the most ideal workflow.

With all of that, I consider my post to be aimed at individual artist doing personal projects that would like a quick solution for proper SDR-HDR export (not implying these are OpenDRT goals).

Introduction

It's always a good idea to read the official documentation, the author explain it best isn't it ? So have a look at the tool repository first:

OpenDRT repository.

Download on github.

Let's just remind the target of OpenDRT:

The tool has for goal the faithful conversion of open-domain data to a closed-domain : the display. This implies its output can look very neutral and should be graded.

Node Overview

As the tool is constantly changing, Jed's documentation is not up to date, and tneither this post will be.

The first option is to tell the tool in which gamut your input is. The input is expected to be linearly encoded.

OpenDRT global overview

You then have a bunch of presets that will tweak the knobs for you based on your target display encoding.

Lw : this is the nits level of the target display and shouldn't be used as a creative adjustment.

surround : the luminance level of the viewing environment.

  • dark : theatrical viewing environment.

  • dim: "home theater" (low light condition).

  • average: desktop/office average surround.

dechroma : this one is more "subjective", allowing to control the amount of chrominance compression that should be applied on values reaching display maximum (R,G,B=1.0). If HDR imagery needs to be produced, this can be lowered (as the target domain (hdr) has more volume to express chroma)

saturation : Expand chroma on the bottom values after the compression by the dechroma. See more here .

whitepoint : (from doc) Sets the creative whitepoint. This allows you to creatively set the whitepoint of your display rendering if you want it to be different than the technical whitepoint of your display device. For example, if you set this to D55, neutral colors will be rendered as a warmer hue compared to the default D65.

display encoding : see below explanations

  • The eotf should correspond to the transfer-function used by the targeted display.

  • The gamut correspond once again to the gamut that the targeted display is calibrated to (reminder that sRGB use the same gamut as Rec.709).

To adjust these settings properly you have to know the targeted display + user :

The issue is that with today range of displays, this is a rather difficult one to average (until you have the full-control on the display the image is going to be viewed on).

In the case of web publishing, for example, the average user will probably have a SDR display, sRGB encoded, with an average white peak of 100 nits and used in an office environment that can be brighter than a dim surround. If we add smartphones to the equation, thing will get messy ...
I'm still digging on the subject trying to gather more info and as such will close this topic.

So for now, using the presets is, I think a good practice.

Nuke Installation

  1. Download the .nk file (Right click on the page > save as > save it somewhere)

  2. Import the .nk file: File > Insert Comp Nodes

Or alternatively :

  1. Open the .nk file and copy all of his content (ctrl+a, ctrl+c)

  2. Paste in Nuke (ctrl+v)

Usage in Nuke

Things will now get a bit complicated at first. The issue is that has the OpenDRT handle the scene -> display conversion, this will collide with Nuke that try to do the same in the view-transform.

I found 4 different solutions that achieve the same result. I think the last one is recommend to use but it's good to have other example that might help to understand how everything works.

#1 Revert Display

We let the DRT handle everything (with display-encoding), then we apply the invert transform that applied by Nuke:

Revert Display method in Nuke

Writing the data is as before. You just have to be sure that the Colorspace node has the same in parameters as the colorspace one on the write node.

#2 Nuke Display-encoding disable

We disable Nuke's handling of the display-encoding. The DRT is the last step.

Method with Nuke display-encoding disable

This means the Nuke view-transform is always off which can be incovenient when you need to preview a node upstream.

#3 OpenDRT no Display-encoding

One good solution: the OpenDRT doesn't handle the display encoding but output closed-domain data ready for the display. Nuke apply the display-encoding as usually, writing data is the regular workflow.

Be careful as OpenDRT still handle the gamut conversion from the input to the output. Write node colorspace need to be choosen with this is mind.

Method with OpenDRT display-encoding disable.

Conclusion

If you tried to compare the result to an ACES processed image you would have probably notice that the image-formation produce much more "excepted" result, among others, in strong colored highlights, which make OpenDRT a solid candidate at better image-formation and a peak of what could be used in the future.

Even if it's current form kind of break the purpose of a consistant color-managed system across DCCs, it is a nice solution for individuals and looks very promising.

⭐ Make sure to star Jed's repository on Github !