Non-destructive color correction workflow using interconnected node graphs for complex grading, visual effects integration, and modular color pipeline design.
Definition
Node-based color grading is a non-destructive color correction workflow based on networks of interconnected nodes. Each node performs a specific task (e.g., color correction, masking, transformation) and passes its result to the next node. This enables complex, modular, and reusable color pipelines.
Core Concept
Unlike traditional page-based interfaces (Lumetri, Legacy Resolve Color Page), which rely on sequential controls, the node graph system visualizes the entire workflow as a diagram:
[Input] → [Pre-Transform] → [Primary Correction] → [Secondary 1] → [Output]
↓
[Power Window Node]
↓
(Masking)Technical Details
Node Types in DaVinci Resolve Fusion
1. Input/Output Nodes
- MediaIn: Imports video clips from the timeline
- ColorPageInput: Connects to the DaVinci Color Page
- MediaOut: Exports the result back to the timeline
- Saver: Saves frames as image files
2. Color Correction Nodes
- ColorCorrector: Primary correction with Lift-Gamma-Gain
- Curves: Tone curves and individual RGB channel curves
- HSL: Hue-Saturation-Luminance selective adjustments
- Qualifier: Color-based selection for secondary grades
- DeltaKeyer: Chroma key-based masking
3. Transformation Nodes
- ColorSpace: Conversion between color spaces (Log→Linear→Rec.709)
- Fusion: Combines two or more video inputs
- Background: Inserts background elements
- Matte: Creates alpha channels for transparency
4. Effect Nodes
- Blur: Blurring with various algorithms
- Sharpen: Sharpening and detail enhancement
- Vignette: Edge darkening
- Grain: Adds film grain
5. Control Nodes
- PrimaryIn: Receives values from the Color Page
- Merge: Combines alpha channels
- Expression: Mathematical operations between parameters
Node Workflow Structure
Standard Professional Node Tree (Minimal)
MediaIn (Timeline Import)
↓
ColorSpace (Log→Linear Input Transform)
↓
ColorCorrector (Primary LGG)
↓
Qualifier → Power Window (Selective Secondary)
↓
Curves (Fine-Tuning)
↓
ColorSpace (Linear→Output Transform Rec.709)
↓
MediaOut (Export)Complex Multi-Branch Grade
┌─ Primary CC Node
│ ↓
MediaIn ─→ ColorSpace ─┼─ Secondary 1 (Skin)
│ ↓
├─ Secondary 2 (Sky)
│ ↓
├─ LUT Node (Look)
│ ↓
└─ Grain/Vignette
↓
Merge (3 Inputs)
↓
Output Transform
↓
MediaOutParameter Linking
Nodes can directly link parameters – this allows for dynamic adjustments:
// Example: Secondary node is controlled by qualifier mask
Qualifier Node
└─ Red Channel Output → ColorCorrector Alpha Input
└─ Qualifier selects red pixels
└─ ColorCorrector is applied only to these pixelsBatch Processing
A node tree, once created, can be applied to hundreds of clips:
# DaVinci Resolve Scripting Example
project = resolve.GetProjectManager().GetCurrentProject()
timeline = project.GetCurrentTimeline()
clips = timeline.GetClips()
for clip in clips:
# Apply saved Fusion composition to each clip
clip.AddFusionComp()
# Load Node Graph from template
clip.GetFusionComp().SetNodeGraphString(saved_graph)Workflow Integration
Offline Edit with Node-Based Finishing
DaVinci Edit Page + Fusion Integration:
- Edit Page: Editing with rough grade LUTs
- Fusion Page: Click "Add Fusion Composition" on problematic clips
- Node Building: Create complex grades only where necessary (instead of global grades)
- Timeline Return: Graded clips automatically integrated into the timeline
Color Grade → Deliver
DaVinci Color Page (Primary Correction)
↓
Picture Lock
↓
Fusion (Secondary Correction, Compositing)
↓
[Create 3 Output Nodes for 3 Deliverables]
├─ Rec.709 Node → ProRes 422 Master
├─ DCI-P3 Node → DCP-Master
├─ Rec.2020 HDR Node → Master File
↓
DeliverBest Practices for Node-Based Grading
1. Structured Node Organization
- Pre-Transform Section: All input transformations (Log→Linear)
- Correction Section: Primary and secondary corrections
- Look Section: LUTs and creative grades
- Output Section: Output transformations
Naming Convention:
01_PreTx_LogC3toLinear
02_Primary_LGG
03_Secondary_SkinTone
04_Look_FilmEmulation
05_Output_Rec7092. Documentation Through Comments
Fusion allows notes on nodes:
// This node protects skin tones during shadow lift
// Qualifier: Hue 0-60°, Saturation 30-100, Luminance 20-80
// Prevents orange shift in faces during night interior scenes3. Reusable Node Trees
Save frequently used patterns as templates:
- Night Interior Template: Shadows-Lift + Warm Color + Skin-Protection
- Golden Hour Template: Highlight-Roll + Warm Tint
- Cool/Sad Look Template: Desaturation + Blue Shadows + High Contrast
These can be applied in seconds via Paste-Node-Graph.
4. GPU vs. CPU Optimization
Certain nodes are GPU-optimized:
- ColorSpace Transforms: GPU-accelerated
- Curves: GPU-accelerated
- Blur: GPU-optimized for radii >10 pixels
Complex nodes like DeltaKeyer use more CPU – place these at the end of the tree for better real-time performance.
Practical Application Scenarios
Scenario 1: Multi-Camera Dialogue Grade
Challenge: 3 cameras (different angles, exposures)
Solution Node Graph:
Camera A MediaIn ──→ ColorSpace → Primary CC → Output
Camera B MediaIn ──→ ColorSpace → Primary CC → Merge → MediaOut
Camera C MediaIn ──→ ColorSpace → Primary CC ↗Grade all 3 cameras with identical node trees for automatic matching.
Scenario 2: VFX Plate Matching
Challenge: Match CGI rendering with live-action plate
Solution Node Graph:
Live-Action Plate
↓
Primary CC
↓
[Save Node Graph as "VFX-Base"]
↓
VFX Artist loads in Nuke:
- Applies identical node grade to CGI render
- Result: Perfect color matching without color deviationsScenario 3: Multi-Format Deliverables
Challenge: Same grade in Rec.709 (TV), DCI-P3 (Cinema), Rec.2020 HDR (Netflix)
Solution Node Graph with 3 Output Branches:
Master Grade Nodes (all identical)
├─ Output Transform Rec.709 → ProRes 422
├─ Output Transform DCI-P3 → DCP
└─ Output Transform Rec.2020 HDR → H.265 MasterOne render, 3 different formats – achieved through pure output node adjustment.
Comparison: Page-Based vs. Node-Based
| Aspect | Color Page | Fusion Nodes |
|---|---|---|
| Learning Curve | Easy (1-2 weeks) | Medium (4-8 weeks) |
| Real-time Performance | Very fast | Slower with complexity |
| Flexibility | Limited | Maximum |
| VFX Integration | Not possible | Native Fusion Integration |
| Batch Processing | Limited | Fully automatable |
| For Beginners | Recommended | After initial experience |
| For Professionals | Rough Pass | Final/Complex Grades |
Common Beginner Mistakes
Mistake 1: Too Many Nodes
Symptom: Performance collapses, timeline lags
Solution: Consolidate similar nodes (e.g., 5 Curves nodes → 1 Master Curves node)
Mistake 2: No Organization
Symptom: Node spaghetti, untraceable
Solution: Use viewer nodes between sections for validation
Mistake 3: Forgetting Output Node
Symptom: Grade is graded, but rendering shows original
Solution: Always have a MediaOut node at the end + check node connections
Mistake 4: Incorrect Colorspace
Symptom: Grade looks different in Resolve than in the final master
Solution: Visualize output transform with monitor emulation
See Also
- Color Grading – Creative Grading Fundamentals
- DaVinci Resolve – Grading Software
- Fusion – Compositing & Color-Grading Hybrid
- Power Window – Selective Masking
- Qualifier – Color-Based Selection
- Secondary Correction – Secondary Grades
- Color Correction – Technical Basis