Extract RRT into a .cube LUT

Hello everyone!

Here’s a question for the pros, as part of an OCIO/ACES implementation where we are replicating what most of the studios are doing now for color grading, we want to grade our game in DaVinci. In short we want to bake our CC LUTs from Resolve into the engine, to do it correctly we have to grade before the RRT tonemap takes place to keep in line with the ACES pipeline.

So, and correct me if I’m wrong, we are outputting the game in ACEScc without tonemap (I’m told from the programming side that the tonemap refers directly to the RRT), in DaVinci the idea is to take this feed and apply the RRT as a LUT so that we can restore that tonemap back to the game output and do our color grading session from there. I guess that the approach makes sense up to that point. But…

We just found out that the tonemap/RRT is somewhat already “baked” in OCIO in the form of .spi3d LUT files along with its shapers. [i.e. $OCIOPath\OpenColorIO-Configs\aces_1.2\luts\Log2_48_nits_Shaper.RRT.Rec.2020]

So my questions are:

  • How would I convert this .spi3d into a .cube?
  • Do I need to create an RRT for every color space? i.e RRT.sRGB, RRT.rec2020, etc.

Whatever the default RRT/ACES filmic tonemap, my final goal is to extract it as a LUT so that it can be applied in Davinci.

Cheers and thanks a lot for any advice!


In Resolve the RRT is applied automatically when you are in ACES mode, or you can manually construct an ACES pipeline in DaVinci YRGB mode using the OFX ACES Transform. You do not need a LUT to apply the RRT in Resolve.

1 Like

I see, thanks a lot Nick, I will then have to take a look again and talk with the programming team, there may be something we are missing on our side then. When we turn off the “tonemap” component which is supposedly applying the OCIO RRT step, the color reverts back to that redish ACES 2065-1 look.
We preciously had a direct ACES approach where we were manually constructing the ACES pipeline, but with OCIO seems that there are some steps that may be different. I’ll keep you guys posted!

I don’t follow completely what you are doing. But Resolve includes the RRT in the selected Output Transform. So if you select “None” then the RRT is not applied either. That is what you need if you want to render out ACES2065-1 EXRs.

1 Like

I see, thanks a lot Nick! I will check again with my dev team.
Basically what we want is to feed Resolve an image without just before the ACES tonemap (which by my understanding happends durint the RRT step).
The idea was to have such tonemap baked into a LUT and apply it back in Resolve to “reconstruct” it and have a grading session that will be then baked in a .cube LUT (with the tonemap turned off again) and back to our game engine.
But if the RRT is already included, then that means that we don’t need to bake anything and we just have to make sure that we are outputting correctly the image without the RRT.