How to Color Manage using Nodes in DaVinci Resolve

In this article, I’m going to show you how I set up my color management using nodes and how this benefits my color grading process. If you’re a little shaky on color management or you’re not confident with the core concepts, don’t worry. I’ll give you a pretty good primer on color management in the course of this article.

Let’s quickly recap what color management is. Essentially, color management takes what the camera sees and transforms it into what your display can show. To put it simply, we want to see what our image looked like on set when it was photographed. That’s the goal of color management.

Using groups

This is how I set up my pipeline with nodes inside DaVinci Resolve. Below, you will see I have a timeline with images that come from a couple of different cameras. Because they come from different cameras, each shot is going to need some individual treatment.

Let’s start by focusing on the first three shots. All three were gathered with ARRI Alexa cameras using the ARRI Wide Gamut LogC3 color space. Right off the bat, you might be wondering, “What if I don’t know what the color space is?” You can read some recommendations in my Color Management Cheat Sheet article to figure out what your color space is and how to use it inside of Resolve. For now, let’s say that we know the color space of our first three shots is ARRI Wide Gamut LogC3.

Let’s take advantage of Resolve’s Group function. Click on shot number one and hold Shift. Then, tap on shot number three to select all three shots. After that, right-click and select Add Into a New Group. Label this group Alexa.

Understanding node levels

Before I hit “OK” I want to point out the two dots that are currently sitting above the node graph. The first dot represents the Clip level of our node graph. That’s where we can do Clip-level adjustments that are specifically linked to the clip in question.

The other dot is for the Timeline section of our node graph. We will make use of the Timeline section soon. For now, I just want you to notice that there are two dots here. Once I click “OK” and create a group for our three Alexa clips, that number of dots is going to increase from two to four.

Now, instead of having only a Clip and a Timeline section of the node graph, we also have sections named Group Pre-Clip and Group Post-Clip. Group Pre-Clip is why I wanted to use this Group functionality. Pre-Clip is a great place for us to perform the first step in our two-step color management journey.

Step one: common color spaces

The first step is to get our image into a common working color space, or what Resolve sometimes calls a timeline color space. I always use the timeline color space when I’m color grading in DaVinci Wide Gamut Intermediate.

How do we do this? First, go to Effects and grab a Color Space Transform. Then, drag and drop it onto node number one in the Group Pre-Clip level of our node graph.

I want to draw your attention to the Group Pre-Clip level. Anything we do on this level is specific to the group that we selected. No clips outside of our Alexa group will be affected by the nodes that we are creating or adjusting. But the clips in the Alexa group will all receive any adjustments that we assign to this node as their very first operation before we do any color grading. That’s perfect because we want to do all of our color grading in the working color space of DaVinci Wide Gamut Intermediate.

To get there, go to Input Color Space and select ARRI Wide Gamut 3 from the drop-down menu. Then, go to Input Gama and select ARRI LogC3. For Output Color Space, choose DaVinci Wide Gamut. For Output Gamma, select DaVinci Intermediate.

Also, make sure to set Tone Mapping to None. We generally don’t need to do anything in the Tone Mapping or Gamut Mapping sections when we’re going from a camera color space into a working color space. Finally, let’s label our node ‘IN’ to show that it is now our input. This node is taking all of our ARRI material and turning it into our common working space of DaVinci Wide Gamut Intermediate.

Some colorists choose to color manage in their Project Settings instead of using Color Space Transforms (CSTs). I want to emphasize that using CSTs and managing color in Project Settings is the same thing. The same math and science drive both operations, they just apply it using different mechanisms. Both options will give you the same outcome.

Notice that we still haven’t exactly accomplished the goal of getting a normalized image on our screen. Our node is having an effect, but the image does not look like what the camera captured on set. It still feels kind of flat. That’s because we are still in a Log color space. We haven’t performed the second step in our two-step color management journey.

Step two: Timeline

Our second step is to go from a working color space out to a display color space. We are going to do this in the Timeline section of our node graph.

We need to tell Resolve that our image has already been transformed into DaVinci Wide Gamut Intermediate by the time it reaches this point in its signal flow,. Resolve needs to know that our color grading is done and that we’re ready to send the image out to the display.

How do we do that? We’ll do it by using the same mechanism as before, a Color Space Transform. Like before, grab a Color Space Transform and drop it onto your Timeline node. However, this time we need to choose DaVinci Wide Gamut Intermediate as the Input Color Space because that is the color space that we last moved into at the Group Pre-Clip level. We also need to set our output to Rec.709 Gamma 2.4K. Lastly, label this Timeline node ->709.

Tone mapping and OOTF

There are a few more settings that we need to correct to get a consistently pleasing image on our screen. Here’s the process that works well for me. You’re welcome to use this or experiment with doing something else.

The first thing I use is Tone Mapping. Go into the Color Space Transform and select a Tone Mapping Method from the dropdown menu. I like to use Luminance Mapping. Then, set the Custom Max Input to 10,000 nits and the Custom Max Output to 100 nits. Under Gamut Mapping, choose Saturation Compression.

Under Advanced, make sure to turn on Apply Forward OOTF. OOTF is short for Opto-Optical Transfer Function. It is also sometimes called System Gamma. I could write a whole article on the nuances of these settings, but for now, let’s just say that these are the settings I always use in my color management.

These settings ensure that as the image reaches the brightness and pixel color limitations of the display, it gracefully decelerates to that limit. That way, nothing is clipping or looking strange as a result of there being too much color in the source image. Let’s look at the result of our output transform.

Our first three images are now good to go. We have a reproduction of the first three images as they would have generally appeared if we had been standing next to the camera the moment they were shot. This gives us a great foundation for creative color grading. We now have a baseline of accuracy and a somewhat normalized image for our display. But there are a couple of other shots that we need to deal with, right?

Color managing RED Raw footage

Our next two shots are not in the ARRI LogC3, are they? These images were actually shot on a RED camera, so we need to handle them a little differently. We need to get them into DaVinci Wide Gamut Intermediate so they are feeding the proper image into our Color Space Transform (CST).

Let’s set up another group for our RED material. To do that, follow the same steps we did for our Alexa group. Toggle over to the Clip level of the node graph, select the range of clips, right-click, and select Add to a New Group. Let’s name this group RED.

Before we do our Group Pre-Clip settings, there’s something very important that I want to call out here. These shots are R3D, or Raw files. They require extra diligence when color managing in nodes versus color managing in Project Settings. When color managing in nodes, one needs to make sure that the image is being debayered from its Raw state into the proper color space.

In Project Settings, go to Camera Raw. For RED Raw profile, set Color science to IPP2, Color space to REDWideGamutRG, and Gamma curve to Log3G10. These are RED’s recommended color spaces for decoding RED Raw material. These settings give us a sensible point to color manage from in the Group Pre-Clip section of our RED group.

Also, make sure to select the ISO and Color temp boxes under the Use Camera Metadata section. This ensures the metadata that the cinematographer was using is being carried forward through your grade. Remember to also hit Save.

Once again, we are going to use a Color Space Transform. In the Group Pre-Clip level, set the Color Space Inputs to REDWideRGB and RED Log3G10. For Output Color Space, select DaVinci Wide Gamut and for Output Gamma select DaVinci Intermediate. This time, turn off Tone Mapping and Inverse OOTF. We don’t need those for RED Raw.

Now, our camera color space is being mapped into our working color space. We have now built a sound journey from scene to screen for our two Red clips. We’re almost home free.

Recognizing double-transformed footage

We only have one more clip to look at. But this clip requires some special attention. It looks wrong. Everything is blown out and clipped. It’s very harsh.

When you see an image like this, you’re usually looking at an image that has been double-transformed. Essentially, the image is already in Rec.709, so it’s being transformed into Rec.709 twice.

Right now, we haven’t added this clip to a group at all. We have no Group Pre-Clip CST happening at all for this clip. The image is coming in and going straight through to an Output Transform in the Timeline level of the node graph. But the node graph is expecting DaVinci Wide Gamut Intermediate as an input. Then, it is outputting the image as Rec.709 Gamma 2.4.

If you turn the Timeline node off, you’ll see that the image was probably captured in Rec.709 Gamma 2.4. There is no way to explicitly know what color space was being targeted when this image was made, but it is already normalized. This image doesn’t look flat like the other images did before we applied our color management to them.

Working with Rec.709

So, what do we do? One sensible thought would be, “If this clip is already in Rec.709 and I am going to Rec.709, can’t I just leave it alone because it’s already where it needs to go?”

That makes sense, but there’s a better approach. Even though we are starting and ending in Rec.709, there are some benefits to sending our image through our working color space of DaVinci Wide Gamut Intermediate.

To start, let’s add this clip into a new group. Right-click on the thumbnail and choose Add into a New Group. Let’s call this one ->709. Next, go to the Group Pre-Clip level and drag in a Color Space Transform. Choose Rec.709 and Gamma 2.4 for our Inputs. Then, select DaVinci Wide Gamut Intermediate as your Outputs.

By the way, your Inputs are not such a clean-cut operation when you’re going from a baked image to a working color space like DaVinci Wide Gamut Intermediate. Rec.709 is usually a good Input Color Space. For Gamma, you might get better results with Gamma 2.2 or Rec.709-A. This is something you can play around with. I’m going to stick with Gamma2.4.

Next, we’ll use Tone Mapping again, but we’re going to do it a little backwards. For Tone Mapping Method, choose Luminance Mapping, and then set your Custom Max Output to 2000. You could go all the way to 10,000 if you want, but I generally find between 1000 and 2000 is plenty.

For Custom Max Input, sweep through your nits and try to recover all the highlight detail you can without dimming down the image. Setting this image’s Max Input to around 120 nits recovers a bit of detail. Beyond that, the highlights don’t recover any additional information.

Benefits of common color space

It may sound counterintuitive to leave Rec.709 even though that’s where we’re heading back to. But it turns out there are benefits to moving all of our clips into a common color space even if they start in the color space that we’re going back to.

The next step in our color management is to set up a Macro-Level Creative Transform or what I call a look. We’re going to do that by creating a new node in the Timeline level upstream of our output transform.

In our case, let’s go into our LUTS and choose the Voyager subfolder to find the Cabra LUT in the Essentials Pack. I’ve already auditioned this LUT and I think it looks nice on all the shots in this timeline. Let’s use the Cambra LUT as the baseline for all of our creative rendering.

This LUT will not make the image look perfect. Some grading still needs to be done. For example, this shot of the woman sitting at a table still feels underexposed to me.

But we now have one nice baseline creative transform for our whole timeline. That only works if all our shots are in one common color space before being outputted into Rec.709. We can now use LUTs like the ones in my Voyager Pack which expect to receive and return DaVinci Wide Gamut Intermediate.

Working with nodes versus Project Settings

At first glance, this process might seem more difficult than setting up your color management in Project Settings. But there are a couple of reasons why I prefer managing color using nodes.

I use nodes because I’m used to working in DaVinci Wide Gamut Intermediate. I can work faster since I already know how to make my images look good in that color space. If I were grading shots in different color spaces, I might not immediately know what tools to use. Working in a common color space is excellent for getting an intuitive sense for how to quickly and effectively push the images in the direction they need to go.

It’s also easier to learn color management when everything is spelled out in nodes. With nodes, we can click through and see every shot’s full journey through our color grading and out to our display. That would still be true if we had used Project Settings but it would not be so easy to see. If you are still learning about color management, I recommend setting things up in nodes.

Nodes can also be good for troubleshooting. For example, if we were looking at our image and thought, “Why does this not look right?” we could click through our nodes to check all of our settings. We could look at our input transform by itself and say, “Hey, my camera didn’t shoot in Rec.709! It shot in LogC3.” With nodes, it’s a little easier to see and adjust these parameters rather than having them hidden inside the Project Settings.

There’s one more big reason to like managing color in nodes. When using Project Settings, you cannot get to the left of the Input Transform node or to the right of the Output Transform. With Project Settings, everything has to happen inside the working color space.

That’s usually what we want. However, there are many situations where you might want to access your image before mapping it into a working color space or after mapping it out to a display space. If you want to do that, you have to use nodes. You cannot get there by managing color using the Project Settings.

Wrapping up

I hope this was a helpful guide on how to manage color using nodes. Hopefully, you now have a better understanding of how an image flows from scene to screen.

Nodes can help you visualize an image’s full journey while also being able to grade without distraction. You can now grade each shot individually without having to think about color management at all because your settings are living in the Group, Pre-Clip, or Timeline sections of your node graph. This means your Clip-level node is completely free for doing all of your color grading.

Overall, nodes give us greater flexibility in the grading process. With nodes, we can visualize an image’s color journey, troubleshoot that journey, and customize it beyond what can be done in Project Settings.

Cullen Kelly

Cullen Kelly is a Los Angeles-based senior colorist with credits spanning film, television, and commercials, for clients and outlets including Netflix, HBO, Hulu, Microsoft, McDonald’s, and Sephora. With a background in image science as well as the arts, he’s passionate about the intersection of the creative and technical, and its role in great visual storytelling. In addition to his grading work, Cullen is an educator and proven thought leader, with platforms including his podcast The Color Code as well as his YouTube channel.