Updated : This article was originally published in June 2016. In October 2016 it was made publicly available and updated to include links to AcesCentral.com
ACES VFX Roundtrip Essentials
While ACES certainly has many workflow benefits, for me, one of the largest is how easy it makes VFX roundtrips.
How does it do this? Well, that’s simple – standardization. Not only standardization of color science, but also the file format (EXR).
If you’ve ever done a VFX heavy project and had to export files for another artist to use, you’ve probably been frustrated with color spaces, gamma and other workflow particulars.
ACES doesn’t totally eliminate the occasional question about a file, but it does take a plenty of the guess work out of VFX-heavy workflows. In my experience with VFX artists, it lives up to one of the core tenets of ACES; shots look the same no matter where you view them.
In this Insight, I’d like to discuss a couple more Resolve specific things about IDTs/ODTs (and what’s happening in the background), the essentials of making a hand-off to a VFX artist and what to do when you get files back from VFX in an ACES Workflow.
Also, while I was planning to cover the very cool DaVinci CTL scripts from Nick Shaw in this Insight – I’m going to handle those later in another article/video because I realized they have more uses than with just a VFX workflow, and I’m still trying to get my head around a few things regarding their uses.
Let’s dive in…
Bypassing IDTs and ODTs
You may have noticed in the previous Insight’s video when I turned off a project-wide IDT – and prior to enabling a clip specific IDT – the shot got really weird looking! The image got really flat and very linear looking.
What exactly happened there? It’s a little complicated, so let me explain:
When disabling an IDT (so, no global IDT or clip specific IDT is applied), Resolve treats incoming footage in the media pool as linear AP0 2065, but it converts it to the working space of your project i.e. ACEScc or DaVinci ACES both of which are AP1. BUT, either log (with ACEScc) or with a 2.6 gamma modification (with DaVinci ACES). Remember, there is no AP0 2065 linear working space in Resolve.
This makes sense when you’re thinking about it from an internal processing point of view – parse footage into the gigantic AP0 2065 space and then convert to the smaller working space. From a math point of view it’s better to go big > smaller.
In practical workflow terms, bypassing the IDT is not necessary for a VFX workflow (or in a normal ACES grading workflow) as the whole point of the IDT is to get shots into ACES scene linear and get rid of any camera ‘secret sauce’.
However, it’s important to understand that while you can’t work in AP0 2065, Resolve does do some processing in the full ACES 2065 AP0 space.
Next, when you disable an ODT, Resolve doesn’t ‘keep’ your working ACES space, i.e. ACEScc or DaVinci ACES, in a similar fashion to disabling an IDT. Resolve will convert your footage to linear AP0 2065. This is very important for a VFX workflow as I’ll explain in a moment
EXRs & AP0 2065 For Handoffs (step-by-step)
When in Resolve, you’ll most likely be working ACEScc (AP1), but AMPAS states that for file exchange AP0 2065 should be used.
ACES, as I’ve previously mentioned, relies on half-float EXRs – you can’t render handoffs for ACES in anything other than EXRs.
So if Resolve doesn’t have a linear AP0 2065 working space, how do you export an EXR that adheres to AMPAS spec?
TURN OFF THE ODT (AND GRADE) PRIOR TO RENDERING EXRs FOR HANDOFF!
Turning off the ODT for handoff makes sense if you think about it. An ODT as part of the ACES viewing transform allows you to setup your project to match your monitoring – but for interchange, it doesn’t make sense to bake that monitoring choice into the file.
What if someone on the other end has a different monitoring need?
By turning off the ODT you create a linear AP0 2065 file, which lets the person on the other end either match your ODT or make another choice.
We’ll talk more about this below and in the video.
Step #1 Export Your Grade
Prior to turning off an ODT & your grade for exporting a shot to an EXR, you need to export a viewing LUT of the grade – in ACES speak this would be an LMT or Look Modification Transform – so a VFX artist knows what the shot is supposed to look like.
It’s important to remember the limitations of a LUT – secondaries like windows, keys, etc., won’t translate. If you have these items on a shot – simply disable them prior to exporting a LUT – you’ll reapply them later.
Also keep in mind, you’ll refine a grade a lot more, when you get a shot back from VFX. With an initial handoff, you’re trying to get an initial look/balance with primaries.
It’s also important to understand that when it comes to the IDT used on a shot, you don’t need to turn off the IDT for a handoff.
Remember, an IDT provides that initial conversion to the scene linear ACES space – that’s what you want!
A visual effects artist when getting the hand-off from you, doesn’t then need to apply an IDT – the file is already in ACES space with (hopefully) the proper IDT. You simply need to tell them what ACES space you were working in i.e. ACEScc so they can match their working space to yours and then apply the LUT you gave them.
*********UPDATE for Resolve Users*********
Thanks to Nick Shaw for pointing out (who posted below about this in the comments) something slightly flawed about the way Resolve Exports LUTs in an ACES workflow.
It had previously been my understanding that Resolve did not bake in color management settings like the RRT/ODT (ACES Viewing Transform) into an exported LUT. THIS IS NOT TRUE!
LUT’s exported by Resolve in an ACES workflow do, by default, contain the RRT/ODT along with the grade.
In practical workflow terms, this means if that LUT was applied in VFX there could be possible doubling up of the RRT/ODT combo and the artist couldn’t change their ODT without further screwing up the image.
So why didn’t I (or Jason Bowdach, who helped me out with the composite in the movie below) notice this?
As it turns out the LUT I exported for Jason wasn’t used as the simple compositing he was doing didn’t rely on the ‘look’. But obviously, this problem could be a serious issue for many workflows.
Both Nick and I have been in touch with the Resolve team and they’re aware of the issue – RRT/ODT being baked into the LUT, but admitted a fix is not at the top of the priority list right now.
In the meantime, Nick’s CTL scripts provide a suitable workaround for the problem.
Yes, it’s a pain, but with a few more steps you can get a properly working LUT out of Resolve for a compositor to use in an ACES workflow.
- Keep your grade on for the LUT export – the goal is to provide the look of the shot to a compositor/VFX artist so for the LUT export you’ll want to keep your grade enabled – unlike the EXR export in the Step #2 section below.
- Turn off the ODT – as mentioned earlier and again in Step #2 below, turning off the ODT will convert your shot back to ACES linear AP0 2065 this not what we want for the LUT export (we’ll fix that in a moment) but it’s the only way of making sure the RRT/ODT is not baked into the LUT.
- Append your node tree – place a new node at the end of your node tree you’ll use this node to apply one of Nick’s DaVanci CTL scripts.
- Apply the ACES > ACEScc CTL – because the RRT/ODT is disabled, Resolve takes your graded shot and converts it back to ACES linear AP0 2065. But you don’t want your grade represented in AP0 2065 you want it in ACEScc. So… on the appended node tree apply Nicks ACES > ACEScc script to convert the clip back to ACEScc (effectively canceling out what turning off the ODT does).
- Export the LUT – Yes, things will look a little screwy on screen. That’s normal! Simply right click on the clip thumbnail and export a LUT as you normally would.
At this point, you can delete or disable the node with the CTL script and if you’re not ready to move onto Step #2 below you can turn the ODT back on.
You can test the LUT export you made rather easily (just remember to turn the ODT back on if you do):
- Add the LUT to your Resolve LUT folder
- Add a new version of the clip
- Reset your grade
- Apply the exported LUT to the clip.
The result should be the original clip with your grade applied, plus the alternate version with the LUT applied. They both should look exactly the same.
I’ve provided a second video at the end of this Insight about this ‘exporting an ACES LUT in Resolve’ routine that updates the steps I showed in the original video for this Insight.
Step #2 Turn Off Grade, ODT, Export EXR
Now that you’ve exported a LUT (phew.. that was harder than you thought right?!) of what a shot is supposed to look like, the next step is to turn off the grade as you don’t want the look of your grade baked into the EXR – the VFX artist will reapply that look to view your exported LUT.
Next, disable the ODT for your project. Yep, you can turn it back on (as well as your grade) right after an export of shot, but to get that linear AP0 2065 EXR you’ll need to turn it off.
At this point, things will look weird (as shown in the previous screenshot above)! Don’t worry this is totally normal. You’re preserving a ton of data for a handoff.
When it comes to actually exporting an EXR from Resolve, obviously choose EXR as your format, but when it comes to the type of compression….well… I literally have no idea! Because I don’t understand the plethora of compression options I always choose none – hasn’t gotten me in trouble yet but probably makes files much larger than they should be!
Remember EXRs, especially at higher resolutions are huge – you’ve been warned! You need lots of fast storage for an ACES EXR workflow.
Step #3 VFX Magic
While I won’t show this in the movie below (I’m not a VFX artist), with your handoff a VFX artist can easily do their work.
Here is what your VFX Artist does (using built-in tools or 3rd party ones like OpenColorIO (OCIO))
- Setup a working space to match yours – most likely ACEScc – and import the ACES AP 2065 Linear EXRs that you provided
- Configure their ODT like you had it (i.e. REC 709 or P3) or they’ll choose a suitable ODT for their monitoring.
- Apply your view LUT (LMT) to see what the shot looks like in the working space
- Do VFX magic
- Disable your viewing LUT and their ODT
- Render out an AP0 2065 EXR – the result is linear and ugly – but that’s what you want!
This export is now ready to import back into your color project.
Step #4 Importing & Refining The Grade
With a freshly composited file in hand, you’re now ready to put that shot back in your Resolve project.
- Add the clip to the media pool (remember it’s already in your working space because with no IDT applied Resolve automatically handles it AP0 2065 > AP1 Working Space i.e. ACEScc)
- Edit the shot in your timeline placing it above your original clip
- Copy the grade from the original clip to the new one
- Rejoice in the fact it worked seamlessly!
- Continue to refine the grade
Seriously, it’s that simple assuming that the VFX person was working in a properly configured ACES project and has rendered out an EXR without an ODT and your look LUT. I can’t tell you how much time and stress an ACES workflow with VFX has saved me in the past two films I’ve done in ACES that have been FX heavy.
The additional benefit is that the producer/director see’s what is returned from VFX, it looks in your suite as it did when they approved the visual effects artist!
As Always, Communication Is Important
When working with another vendor, I tend to document and communicate as much as I possibly can about my handoff – that’s true for an ACES workflow as well.
Here are some of the things I always communicate:
- The original footage format
- The ACES working space
- My ODT
- My LUT format
- Compression scheme & naming of EXR renders
Because I’m a bit OCD (ok, a lot a bit!) I also double check with the VFX artist that they’re properly setup – that can be a bit annoying for some people, but I’d rather make sure the workflow is smooth at the start and not have to figure out a disaster when in the final stages of finishing a film.
Be sure to check out the movie below where I put all this into action.
As always if you have something to add to the conversation or a question please use the comments below.