A LUT in use that doesn't clip the ACEScct range?

Dear all,

The company I work for would like:

• To find an existing LUT-format that actually contains three combined LUTs: 1D shaper LUT + 3D LUT + Inverse 1D shaper LUT;

• To be able to export that general LUT, representing the grade without IDT nor RRT+ODT, from Resolve as well as from Daylight/Baselight;

• That general LUT to expect ACEScct AP1 as input as well as output;

• To use that general LUT in the viewing path of The Foundry’s Nuke as follows: (ACEScg AP1 > ACEScct AP1) > (that general LUT’s 1D shaper LUT) > (that general LUT’s 3D LUT) > (that general LUT’s Inverse 1D shaper LUT) > (ACEScct AP1 > ACEScg AP1).

Because: If only using a single 3D LUT without any shapers, only the partial range 0-1 is preserved of the larger -0.35828683 to +1.4679964 ACEScc range!

The question: Please, which are the LUT export settings in Resolve as well as in Daylight/Baselight – today, not in the future – to achieve the above goals?

Kindly, Lars HAGLUND
Stockholm, September 13, 2020


See https://github.com/ampas/aces-dev/tree/master/documents and, regarding ACEScc, http://j.mp/S-2014-003.

That general LUT’s 1D shaper must be able to pick the range -0.35828683 to +1.4679964 and downscale (squeeze) that picked range into the 0 to 1 range that the subsequent “3D LUT” accepts.
In principle:

See https://github.com/ampas/aces-dev/tree/master/documents and, regarding ACEScct, http://j.mp/S-2016-001.
Screen Shot 2020-09-12 at 18.44.29
Note: As the ACEScct min non-zero, +0.072906162, is “higher up” than ACEScc min non-zero, -0.35828683, the very same “1D shaper LUT” and “Inverse 1D shaper LUT” can, and should for simplicity, be used regarding both ACEScc and ACEScct – i.e. a “1D shaper LUT” that picks the -0.35828683 to +1.4679964 range (based on ACEScc).

That general LUT’s Inverse 1D shaper must upscale (stretch) the 0 to 1 range, coming out from the “3D LUT”, back to the -0.35828683 to +1.4679964 range.
In principle:


1 Like

CLF can contain a sequence of as many process nodes as you wish, so could do what you are after. However there is not currently a simple way to export a CLF of a grade from either Resolve or Baselight. Resolve simply bakes the grade into a 0-1 domain cube, to be applied in the working space. Baselight is more flexible, but still not able to do what you are after.

So you would have to build your LUT manually.

I would also caution that while it seems intuitively ideal to have your transform cover the entire half-float domain, normally your image data will only cover a fraction of that range. You would therefore be spreading your 3D LUT very “thinly” across a wide range, and sacrificing (possibly a great deal of) precision.

Preserving ACEScc data down to -0.358 will still not pass negative values (i.e. outside the AP1 gamut). ACEScct, due to its linear toe will preserve data right down to (and slightly below) linear zero in its 0-1 range – ACEScct 0.0 is -0.007 linear.

Dear Mr Shaw, all,

Thank you so much for your detailed answer.

You are right, imagine that the pre-grade to be represented includes an offset downwards that has created a serious amount of negative values: as you indicate, it wouldn’t be safe enough to only pick out the -0.359 to +1.468 range, but a much larger range down in the negative part.

So, let me try to be pragmatic:

As my question is about the “viewing path” in Nuke, i.e. only about perceptually enable/disable the pre-grade representation in the viewing path, should I simply recommend the following?

Simply and roughly export a 0-1 range 33x33 3D-LUT on its own from Resolve/Daylight; be aware of that clipping of the ACEScct based pre-grade will occur in both highlights and lowlights, but as ACEScct has a quasi-log transfer function, one will still view a “quite fair” amount of preserved dynamic range. Quite “good enough” for a quick viewing/checking of the pre-grade’s impact, but not appropriate for rendering of final deliverables etc.

Could it be that my pragmatic approach above is common among companies - or - may “extended range LUT-formats” like “Truelight .cub” or “Autodesk CTF” (I have not studied them) be in use in situations like this?

Kindly, Lars

In terms of viewing, since the Output Transforms can only preserve a limited amount of dynamic range, I would not expect to see a difference caused by using a look LUT restricted to the ACEScct 0-1 range. Bear in mind that the OCIO ACES view transform in Nuke and the ACES DRT in Baselight (prior to 5.3) use LUTs with a limited range to the shaper in any case.

Thank you so much!