Understanding How Pat Designs His Fixed Node Trees In DaVinci Resolve

Inside Pat’s Color Grading Head – The Evolution of His Fixed Node Tree

January 3, 2020

Learn the benefits of a 'fixed node tree' in DaVinci Resolve. Get a look inside one colorist's node tree - and how it evolved over time.

Day 3: 24 Insights In 24 Days – 2020 New Year Marathon!

How Pat’s Fixed Node Tree Has Evolved Over Time

We’ve talked quite a bit about using fixed node trees in DaVinci Resolve. The ultimate goal is to increase your productivity while color grading and keep you more focused on your reference display (and less focused on Resolve’s user interface). If this concept is new to you then here are a few Insights you should look at first:

Over time, my node tree has evolved quite a bit.

I started simply with a skeleton of a tree. As the jobs rolled on, I started rebuilding it – added in new areas of the node tree where I kept finding it necessary to ‘Add Node’ while working with a previous version of the tree. With each new version, I’d reorder some of the nodes, as I became more self-aware of how I prefer to group and order my operations.

In this Insight, you’ll learn how I initially approached building my node tree – and where it is today. The basic structure is still there – but there’s much more granularity in my trees (reducing the time I spend fiddling with buttons and knobs in the user interface).

I also offer a quick demo on the benefits of a fixed node tree as I turn on, modify, and then disable a Noise Reduction node across multiple shots with a single command.

Enjoy and leave comments below!


Member Content

Sorry... the rest of this content is for members only. You'll need to login or sign up to continue (we hope you do!).

Membership options
Member Login


Homepage Forums Inside Pat’s Color Grading Head – The Evolution of His Fixed Node Tree

Viewing 27 reply threads

    • Jordan M


    • Scott Stacy

      Nice arrangement. Over the years, I’ve collected around 6-7 different node trees from various folks, but this one has some nice touches – like the white and black point and others. Thanks for sharing.

    • Marc Wielage

      Yes, terrific as always, Patrick. Three comments: 1) it’s really tough to use Fixed Node Trees on smaller panels because you don’t have a button that jumps to a specific Node #. The Advanced Panel has that, and that’s a big sales point for me. 2) You learn quickly that you need a TRIM node towards the end for client-dictated changes; there are colorists (like Walter Volpatto of EFilm) who actually have 3 Trims: one for the DP, one for the Director, and one for the Producer. And 3) I would suggest using the Gamut Mapping plug-in to limit chroma excursions for Rec709 projects: knock the Saturation Maximum down, and it does a gentle job of limiting that’s not as noticeable as the Sat curves. But great thoughts: I want to create a new Fixed Node Tree for 2020 (the year, not the color space), and this has given me some new ideas. Always great to see how other people work.

    • Marty

      Nice insight. It’s always interesting seeing others fixed node graphs.

      Have you run into the issue of NR slowing down with large node graphs? I’ve found that the more (disabled or not) nodes I have in a graph the slower NR will render. I might have 12 disabled nodes and playback with NR isn’t real time. Then if I delete instead of disabling those nodes, all of sudden playback jumps a few fps faster. Sometimes it’s the difference between real-time and not realtime.
      I usually do NR as the first node so I can node cache if I need to and work quickly on top of that. Maybe the NR node position matters???

      Just wondering if you’ve noticed this issue.

    • Pat Inhofer

      Marc – Yes! Gamut Mapping. Thanks. I’m making that change right now. You’re correct, using the Sat v Sat Curve as a legalizer can introduce artifacts and I tend to not turn it on, as a result.

      Trim nodes for client notes is also a great idea. I’ll have to figure out where to include that. I tend to just Version out so that if I need to revert I switch versions. The client trim node is a good workflow tip.

      RE: Prev. / Next Node buttons – Those buttons became mappable via keyboard shortcuts a few years ago. So if you’re mouse-based that’s one of the first shortcuts I’d add to my Custom Keyboard mapping. It’s a great shortcut to add to a StreamDeck or other gaming pad.

    • Pat Inhofer

      Definitely, there’s something to your observation. I was playing with that earlier this week. On my next job I plan on keeping the NR node blank until I’m ready to enable it – then add it in, ripple to all shots, and turn on the render cache (for real-time playback).

      Robbie mentioned to me last night that he has some tips on performance killers in large node trees. I’ve asked him to turn that into an Insight!

    • Robbie Carman

      yea, I def. experienced bad performance on large trees, it recently caused me to trim my tree quite a bit to get down to really just the stuff I’m using on a day to day basis.

      I know of 4 things that dramatically kill performance in large trees (a disabled NR node is not one of them btw @pat) I think now that Joey, and Pat have broken down their node tree I’m going to do the same in a follow up Insight.

    • Robbie Carman

      Direct node selection is possible via Streamdeck. It works great and just as fast/easy as on the Advanced panel (I have both setups).

      Def. need trims but I have them both pre-transform and post transform.

      Interesting on the gamut mapping, I’ll have to compare that setup vs what I do know at the end of my tree with a softclip node.

    • R Neil Haugen

      Two things … first, interesting your LUT node is shifted to the backend. Second, it is also interesting to watch your working setup change over time. That “desk” is very different from even a year ago.

    • andi winter

      which gamut mapping plug-in do you refer to? knock sat max down? how does this method work exactly?

    • Pat Inhofer

      The pushing of the ‘LUT’ node back is an experiment for me. So far, so good.

      RE: Desk – I think the main difference from last year is the Wacom. I really enjoy it. HT to Robbie for getting me back on it.

    • Jan K

      I was just updating my tree template with ideas from this insight. A few options to consider:

      On the LUT node at the beginning (borrowing some ideas from the Standard Candle Benchmark), it’s useful to use versions for alternate setups of a function. On the LUT node version 1 can be the LUT for the input color space, while version 2 can be the color space transform. That makes it easy to see which one does better one a given shot.

      Along those lines, labeling it ‘Input CSX’ and then having a matching ‘Output CSX’ behind the final NR node allows the same tree to be pivoted between scene and display referred by simply enabling/disabling nodes based on project needs.

      Lastly, I like keep a pre-configured key segment. In my case it’s a ‘Pre Key’ node that reads from the input LUT node. This can be contrast/NR pre-treatment for a difficult key as needed. It then splits into Key 1 and Key 2 that combine into a key mixer. That mixer then feeds the key input on ‘Fix 3’. It’s easy enough to move the input of the ‘Pre Key’ if you want to key pre-LUT. And the output of the key mixer can quickly be moved between Fix 1/2/3 as needed. I find I way too often build my key section manually. So this is a good improvement.

      One useful trick to keep your trees smaller – come up with a core tree. Then create a few segments (like the key segment) and save them as separate power grades. It’s easy enough to pull them in as needed and hook them up. Of course that messes with node numbering for the add-ons making rippling harder, so there is a fine line. As along as the core tree has everything that may need rippling, that keeps at least that part consistently numbered.

    • Jean-Francois R

      I also have an ever-evolving fixed node tree. Right now, it goes like this:

      – Noise Reduction
      – Printer Lights
      – Log adjustments
      – LUT/CST
      – Qualifiers (2 in parallel)
      – Global controls (all in parallel: curves, temperature, LGG, secondary, LAB)
      – Client trims
      – Windows (2 window nodes in parallel, each with an outside node)
      – OFX node (could be anything really, sometimes I add additional ones)
      – Vignette
      – Limiter/Legaliser

      Order of operations:
      First, I apply the fixed node tree that already contains the correct LUT or CST. Then I jump to the pre-LUT nodes: first Printer lights, then Log controls. This gets me in the right ballpark. Typically, I won’t go back to these nodes after the initial setup.

      Next are the global adjusments: custom gamma curve, temperature, LGG.

      After that, it’s secondaries (vs. curves), qualifiers, windows, OFX, etc. as required. I don’t mind adding additional nodes if I need more OFX plugins for instance.

      Typically for skintones or sky. The qualifiers are after the LUT, so that the HSL key can be extracted from the normalized image. But I keep them before my other adjustments so that these adjustments won’t affect the key either. I hate having to go back to a key because some other adjustment broke the selection.

      Noise Reduction:
      I used to put the NR node as the first node, in order to take advantage of caching, but I recognize that it’s workaround. I’m now experimenting with putting the NR node right after the LUT. Because I don’t usually go back to my pre-LUT nodes, this still lets me take advantage of caching.

      Client Trims:
      I keep a few client trim nodes. If I get comments from multiple people then each will get their own node (I add nodes as required). I will also add trim nodes with each further revision. That lets me easily toggle the latest changes on/off. If a revision needs to go into another location of the node tree, then I’ll add a trim node where required.

    • Pat Inhofer


      More good ideas in here. I’m going to think more on having a core tree and then adding extensions with Power Grades. It’s a good idea.

    • Pat Inhofer

      Jean-Francois – Great stuff! Really well thought out. Yeah. I may add that NR node earlier in my tree. On 4K timelines it really slows things down when it’s constantly re-caching. I’m still iff’y on Log controls. The band between tonal ranges always feels so narrow to me. But in these color managed workflows, they are useful.

      Thanks for sharing your workflow!

    • Jean-Francois R

      I only use log controls for two things:
      – to reign in highlights before the LUT/CST
      – to tweak where my deepest shadows fall without affecting too much of the image. I usually do this Post-LUT, in my primary LGG node.

      For anything else, I don’t find Log Controls that efficient. If I’m going to have to change the ranges, it just feels more natural to jump to the custom curves and adjust things there. I suspect that there useful and efficient uses for Log controls that I haven’t figured out yet.

    • Luca Enrico Canessa

      Hey Pat thanks for this tutorial, having a fixed node tree structure helps a lot, especially if you don’t own the big panel.
      I tend to use a lot also compound nodes, especially for Luts and for the noise reduction section of my tree.
      Let’s say I want also to add a creative Lut other that the tech lut/color transform fx, each one of those requiring the three node structure. I’d like to put these 6 nodes in a single compound.
      I often use a compound node toward the end of the graph, including in order: soft/sharp, N.R. and then again a sharp/soft node (more selective) to balance the softening effect of the N.R and Film Grain (I don’t want the film grain to be softened or sharpened or noise reduced).
      I do color mostly for indie stuff and NR is always required a lot, so I tend to use it as wisely as I can, even though I wish I could avoid to use it at all.
      Please Let me know your thoughts about it.

      Luca Enrico Canessa

    • Roberto N


    • Jacob F

      Robbie, can you please clarify how you’re directly selecting nodes on a fixed tree with Streamdeck? It’ll change my world.

    • Pat Inhofer

      Luca – I missed your comment, sorry about that. Technically, I think your approach is fine. Personally, I’ve not adopted Compound nodes. I’m not a huge fan of stepping into and out of those nodes – I find it slows me down. That’s why you see a flat node tree for me.

      I have tried using Compound Node trees and then ‘Decompose Compound Node’ when I need those nodes, to keep the tree flat. But it messes up the node numbering which adds more confusion.

      It’s smart to carefully control your film grain. In real life, grain is sharp and doesn’t defocus.

      Thanks for sharing your workflow!

    • Warwick Field ACS

      I’m curious about the apparent constant need to apply Noise Reduction to projects. My work mainly involves footage from ARRI, RED, Sony and Panasonic higher end cameras. I just don’t see that many poorly exposed or under lit shots that cry out for noise reduction. Or perhaps shots delivered in highly compressed codecs.
      For me, NR only gets to play to save a disaster. Is it right to say maybe I’m rare here and that a lot of you have to retrieve badly shot video, possibly on lower quality digital cameras?
      How many of you would say you use NR on the majority of your grades?
      Warwick Field ACS

    • Tam L

      I’m in this group where most of my footage is Arri etc. and denoising is mostly used for footage exposed incorrectly or certain cameras which just have excessive grain by nature (older red cameras). That being said, the purpose of a fixed node tree is to have a constant workflow with which to accomodate the majority of different situations and your grading style. Even if I don’t use denoising very often I would still probably very much consider having a denoising node in a fixed node tree. You’ll see that the nodes are numbered and if you’re adding nodes on a clip by clip basis it kind of defeats the purpose of the tree.

    • Warwick Field ACS

      Got it. Thanks Tam. That makes sense and I get the idea of the fixed node tree. It sounded like most in the chat were constantly applying fierce NR to everything that went through the pipeline.

    • Robbie Carman

      Warwick/Tam –

      Yeah simply having a node with NR accessible is the point – doesn’t even need to be on – just there. I have mine setup to cover the majority of the situations that I encounter.

      Next, I think to noise reduce or not to noise reduce is largely dependent on content. I work mainly in long form, broadcast and the amount of utter crap we get in many shows does often require NR on every shot!

      But there is also few other points to be had:

      Continuity – sure you might have a super clean shot of an Alexa etc but what about when its intercut with GoPro, Drone etc. I think of NR often as a continuity tool.

      Texture – I’m often applying NR on shots that probably don’t need it so I can better layer my own texture/grain on top.

      Sensitivity – I remember when real-time NR tools first became available we were using them on everything – at first that was because no one new you could get something so clean! But that’s shifted I think to a lot of people not liking any detail removal to now a lot of people wanting a grungy non-clean/perfect image

      I used to use a whole lot more NR then I do now but I think that speaks to better quality footage/cameras as well as a tolerance for more imperfections in an image that I personally used to have, and my clients used to have.

      my 2cents.

    • Warwick Field ACS

      Thanks so much Robbie

    • Tyler H

      I have a NR node in my fixed template. Most of my footage is Alexa-based so I don’t need it much, but when I do it’s there to turn on and already has settings I’ve found to be conservative/safe on almost any footage and not lose detail, so a good starting point before turning it more aggressive for a a troublesome shot. I put it in a different place, in the middle of my tree. All my balance / contrast / matching comes first, then it goes to an NR node that is set to cache, then splits out again for secondaries and isolated selections. I do this because NR works best when the input has the full / proper contrast you intend to go with, but I like the NR to happen before isolated changes like brightening/sharpening a face, for instance, as I may push it to a different degree depending on what the NR is able to do. Since it’s cached, it doesn’t slow me down. I rarely go back to adjust my balance once it’s done (get it right the first time), so flipping on NR after that pass works for me.

    • Jim Robinson

      Seems like the new tools in Resolve version 17 have me changing my fixed node tree. The HDR tool and color warper especially seem to make some of my previous node choices less and less in the mix. I think I may add about 4 or 5 nodes as future 1 -5,

    • Pat Inhofer

      Yup! I did the same thing for a while. Although unless I’m working on a long-form feature where I’ve customized the pivot points and roll-offs of the various HDR zones and pre-load them as presets on a fixed node tree, I don’t have dedicated nodes for those tools anymore. I tend to run with more generic ‘Fix 1’, ‘Fix 2’ nodes and I’ll activate those tools in those nodes as necessary.

Viewing 27 reply threads
  • You must be logged in to reply to this topic.

Hundreds of Free Tutorials

Get full access to our entire library of 900+ color tutorials for an entire week!

Start Your Free Trial