Building a LUT Pipeline: Show LUTs, CDLs, and Governance
Executive Summary
This guide covers the complete architecture of a professional LUT pipeline, from the mathematics of how LUTs transform color to the governance systems that keep a 200-shot feature visually consistent. You will learn how show LUTs and CDLs interact within ACES and OCIO frameworks, how to choose between interpolation methods and cube sizes, how to manage LUTs on set with professional tools (Pomfort LiveGrade Pro, Silverstack, DaVinci Resolve), and how to implement version control and QC that prevents the costly mistakes that derail post-production.
Table of Contents
1. LUT Mathematics: How Color Transforms Actually Work
Start Here
- Setting up your first LUT pipeline? Start with Section 1 (LUT Mathematics) and Section 6 (Building a Scalable Pipeline).
For a complete overview of the cinematography workflow, see our Cinematography Pipeline Guide: From Camera Tests to Deliverables. This guide is part of the Color Grading Mastery pillar.
---
1. LUT Mathematics: How Color Transforms Actually Work
A Look-Up Table is a mathematical instruction set that maps input color values to output color values. Understanding the math behind this mapping is what separates professionals who can diagnose pipeline failures from those who simply load .cube files and hope for the best.
1D vs. 3D LUTs
A 1D LUT operates on each color channel independently. It maps an input R value to an output R value, an input G to an output G, and an input B to an output B. This makes 1D LUTs effective for gamma corrections and simple contrast curves, but incapable of performing cross-channel operations. You cannot, for example, use a 1D LUT to shift blue shadows toward teal, because that operation requires knowing the relationship between the B channel and the R/G channels simultaneously.
A 3D LUT maps a combined RGB input triplet to a new RGB output triplet. The input color space is divided into a three-dimensional grid (a cube), with each intersection point storing a predetermined output value. For any input color that falls between grid points, the software must calculate the output through interpolation, and the method used has a measurable impact on image quality.
Interpolation Methods: Tetrahedral vs. Trilinear
Trilinear interpolation treats the 3D cube as a stack of 2D planes. It interpolates along each axis sequentially (R, then G, then B), using eight surrounding grid points. The method is computationally simple but can introduce visible stepping artifacts in smooth gradients, particularly in shadow regions where small color differences matter most. Some consumer-grade LUT implementations default to trilinear because it is faster to compute.
Tetrahedral interpolation divides each cube cell into six tetrahedra (pyramids) and interpolates within the tetrahedron containing the input color, using only four points. This produces smoother transitions between grid points, especially in areas where color changes are non-linear. DaVinci Resolve, Baselight, and most professional grading systems use tetrahedral interpolation by default. The visual difference is most apparent in skin tones and sky gradients, where trilinear can produce subtle but visible banding.
Cube Size: 17 vs. 33 vs. 65 Points
The cube size determines how many sample points exist along each axis of the 3D LUT:
- 17-point (17x17x17 = 4,913 points): Sufficient for simple technical transforms (Log-to-display conversions). File size is approximately 150 KB. Appropriate for on-set monitoring devices with limited memory.
💡 Pro Tip: When a LUT produces banding artifacts, increasing the cube size is not always the correct fix. First, verify that the grading application is using tetrahedral interpolation. Switching from trilinear to tetrahedral on a 33-point LUT often eliminates the same artifacts that a 65-point LUT would fix through brute-force resolution.
---
2. Technical LUTs vs. Creative Show LUTs
Technical LUTs
Technical LUTs convert a camera's native Log encoding (Blackmagic Film, S-Log3, V-Log, LogC3/LogC4) into a standard display color space (Rec.709, Rec.2020, P3-D65). They are designed for accuracy, not aesthetics. Camera manufacturers provide these LUTs as part of their color science packages.
The critical distinction: a technical LUT should produce a neutral, "what you'd see with your eyes" image. It should not add contrast, shift color temperatures, or impose a look. When a manufacturer's technical LUT appears to have a "look" (Sony's S-Log3 to Rec.709 LUT, for instance, is often criticized for being slightly cool), the professional approach is to use an ACES IDT (Input Device Transform) instead, which provides a mathematically defined, vendor-neutral conversion.
Creative Show LUTs
A show LUT embodies the artistic vision of the film. It is developed during pre-production through collaboration between the cinematographer, director, and colorist, and it defines the project's visual DNA.
The development process typically follows this sequence:
1. Reference gathering: The cinematographer and director assemble visual references (paintings, photographs, films, color palettes) that communicate the emotional intent.
A common and costly mistake is applying creative LUTs too early in the processing chain. The show LUT must always be applied non-destructively, to monitoring paths and dailies proxies, never baked into the camera negative. The original Log footage is the master asset.
---
3. MASTER STUDY: Joker (2019)
Jill Bogdanowicz, Dr. Mitch Bogdanowicz, and the Kodak Heritage LUT
The color pipeline for Todd Phillips' Joker (2019) represents one of the most meticulous show LUT development processes in recent cinema, bridging decades of photochemical film science with modern digital grading.
Jill Bogdanowicz, Senior Colorist at Company 3, graded Joker in DaVinci Resolve. For the film's signature look (desaturated midtones, cyan-shifted shadows, warm but restrained highlights evoking late 1970s and early 1980s New York), Bogdanowicz turned to an unusual collaborator: her father, Dr. Mitch J. Bogdanowicz.
Dr. Bogdanowicz spent 32 years at Eastman Kodak, where he worked on the photochemical properties of motion picture film stocks. He holds over 25 patents related to film emulsion technology and received two Academy Awards for Technical Achievement for his contributions to color film science. His deep understanding of how silver halide crystals respond to light, and how the chemical development process produces specific color characteristics in the final print, gave him a unique ability to translate photochemical behavior into digital LUT parameters.
For Joker, Dr. Bogdanowicz helped construct a show LUT that emulated the color response curves of specific Kodak film stocks from the era the film depicts. This was not a generic "film emulation" preset. The LUT was built from first principles, based on the sensitometric data (H&D curves) of actual film stocks, translating the non-linear response of photochemical processing (toe compression, shoulder roll-off, cross-channel dye coupling) into a 3D LUT that could be applied to the ARRI Alexa 65's digital negative.
What Makes This Pipeline Notable
The grain structure: Rather than applying a flat, uniform grain overlay (the common shortcut), the colorists built the grain in Resolve using channel-specific processing. Red, green, and blue channels received different grain characteristics, mimicking how actual film stock has different grain structures in each emulsion layer. This approach produces grain that responds to the image content (more visible in shadows, less in highlights) rather than sitting on top of it like a filter.
The color separation: The LUT's desaturation was not uniform. Skin tones retained warmth while environmental colors (the grimy greens and browns of Gotham's streets) were pushed toward a more monochromatic palette. This selective desaturation is characteristic of how certain film stocks rendered color: prioritizing skin tone reproduction while allowing background colors to fall into a narrower range.
The shadow behavior: The LUT compressed deep shadows without crushing them entirely, maintaining detail in the darkest areas while preventing the "milky" lifted blacks that plague many digital film emulation attempts. This behavior mirrors the toe region of a film stock's characteristic curve, where exposure approaches the base fog level.
Cinematographer Lawrence Sher, ASC, shot Joker on the ARRI Alexa 65, and the show LUT was present on set from the first day of principal photography, applied to monitoring via Resolve's live grading capabilities. This meant that Phillips and Sher were making lighting and framing decisions while seeing the intended final aesthetic, not a flat Log image.
💡 Pro Tip: When building film emulation LUTs, work from actual sensitometric data (characteristic curves) rather than eyeballing the result. The non-linear behavior of photochemical film (the toe, straight-line section, and shoulder) cannot be accurately reproduced by simple lift/gamma/gain adjustments. This is the difference between a LUT that "looks filmic" and one that actually behaves like film.
---
4. CDL Integration for Dynamic Grading
A Color Decision List (CDL) provides parametric, shot-specific adjustments on top of the base show LUT. Where a LUT is a fixed transform (input A always produces output B), a CDL offers real-time, reversible controls.
The ASC CDL Standard
The American Society of Cinematographers standardized CDL parameters as:
- Slope (multiplier): Affects the entire tonal range proportionally. A slope of 1.1 on the red channel increases all red values by 10%. Used primarily for highlight-region corrections.
These four parameters are vendor-agnostic and can be exchanged as XML files (.cdl or .cdlxml) between any standards-compliant application.
CDL Workflow in Practice
The typical node chain in DaVinci Resolve for an ACES pipeline:
1. Node 1: IDT (Input Device Transform), converting camera Log to ACEScct working space
This ordering matters. CDL adjustments applied before the show LUT operate in the linear-ish ACEScct space, where the math behaves predictably. CDL adjustments applied after the show LUT operate in a non-linear, display-referred space, where small parameter changes can produce disproportionate visual effects.
Common CDL Mistakes
- Over-adjusting power values beyond 1.2: This introduces haloing artifacts in high-contrast transitions. Keep power adjustments within the 0.85-1.15 range for most corrections.
Professionals use CDL "trim" passes for subtle inter-shot matching: a +0.03 slope adjustment on shadows or a -0.01 offset on highlights to align shots that appear slightly different due to production variables (cloud cover, time of day, practicals dimming). This precision work is what separates a professional grade from a "good enough" one.
---
5. OCIO: The VFX Pipeline Standard
What OCIO Solves
OpenColorIO (OCIO) is an open-source color management framework developed by Sony Pictures Imageworks and now maintained by the Academy Software Foundation. While ACES defines a color encoding standard, OCIO provides the software infrastructure that enforces color consistency across every application in a VFX and post-production pipeline.
The core problem OCIO solves: when a VFX shot passes through Nuke, Maya, Houdini, After Effects, and Resolve, each application has its own internal color management. Without a shared configuration, the same pixel values render differently in each application. OCIO provides a single configuration file (config.ocio) that defines all color spaces, transforms, and display rules, ensuring that a pixel value of (0.5, 0.3, 0.2) in ACEScg looks identical whether viewed in Nuke, Maya, or Resolve.
OCIO Config Structure
An OCIO config defines:
- Color spaces: Every input format (camera Logs, texture maps, rendered CGI) gets a defined color space with a transform to and from the working space.
Integrating Show LUTs into OCIO
Show LUTs are registered in the OCIO config as a "look" that sits in the viewing pipeline. This means VFX artists see the show LUT applied to their renders in real-time, ensuring that compositing decisions (edge blending, atmospheric effects, color matching) are made in the context of the final look. Critically, the LUT is applied only at the display stage; the actual pixel data in the EXR files remains in scene-linear ACEScg.
For productions using both DaVinci Resolve (for editorial/grading) and OCIO (for VFX), the colorist exports the show LUT as a .cube file, and the VFX supervisor registers it in the OCIO config. The Resolve project's ACES settings (IDT, ODT) must match the OCIO config's corresponding transforms. Mismatches here are the single most common source of "the VFX shots don't match" problems.
💡 Pro Tip: When handing off to VFX vendors, always provide the OCIO config.ocio file alongside the show LUT .cube files. A LUT without context (what color space is the input? what display is the output?) is ambiguous. The OCIO config removes that ambiguity entirely.
---
6. Building a Scalable LUT Pipeline Workflow
Pre-Production: Look Development
The pipeline begins with structured look development:
1. Shoot test footage under representative conditions (the actual locations or similar lighting setups, with the actual camera and lens package).
The Node Chain
The core Resolve pipeline for a show LUT workflow:
Camera Raw → IDT (camera Log to ACEScct) → CDL (shot-specific corrections) → Show LUT (creative look) → ODT (to display: Rec.709, P3, HDR)
Each node is independently updateable. If the show LUT changes in week three of production, you swap one node. If the camera changes from ARRI to RED for a specific sequence, you swap the IDT. The CDLs, being shot-specific, persist regardless of upstream changes.
Version Control
Professional version control for LUTs requires:
- Dated folders: `LUTs_YYYYMMDD/` containing all versions from that session.
Multi-Scenario LUT Management
A single show LUT rarely works perfectly across all lighting conditions. Professional pipelines often maintain 2-4 LUT variants:
- Day Exterior: Optimized for daylight color temperature (5600K), handling blue sky, green foliage, and direct sunlight.
---
7. On-Set Implementation and Professional Tools
The On-Set Monitoring Chain
The standard signal path from camera to creative monitor:
Camera SDI Out → Signal Splitter → LUT Box / Monitor with LUT support → Calibrated Display
The camera always records the original Log footage. The LUT is applied only to the monitoring path.
Professional On-Set Tools
Pomfort LiveGrade Pro is the industry-standard on-set color management application for macOS. It provides:
- Real-time LUT and CDL application to monitoring feeds
LiveGrade Pro is the tool that DITs on major features use to manage the show LUT on set. It creates a direct metadata bridge between on-set color decisions and the post-production pipeline, ensuring that every CDL adjustment made on set is preserved as an exchangeable file.
Pomfort Silverstack handles on-set media management and dailies, with built-in LUT application and CDL export. It offloads, verifies (checksum), and transcodes camera originals while applying the show LUT to dailies proxies.
Blackmagic Video Assist 7" 12G HDR provides a monitoring solution with .cube LUT loading, built-in scopes (waveform, vectorscope, histogram, parade), and a 1920x1200 HDR display. For productions using the Blackmagic ecosystem, the Video Assist can also record ProRes or DNx proxies with the LUT baked in for editorial reference.
Blackmagic Micro Converter SDI/HDMI 12G embeds LUTs into the SDI-to-HDMI conversion path, allowing any HDMI monitor to display the graded look. These compact units can be velcroed to monitor stands and run on USB power.
Lattice is a standalone LUT management application that allows colorists to inspect, edit, and convert LUTs between formats (.cube, .3dl, .csp, .lut). It provides visual previews of how a LUT transforms the color space, which is invaluable for diagnosing LUT problems.
FilmLight's Baselight and Daylight represent the alternative high-end grading ecosystem. Baselight uses a different internal color pipeline (Truelight) that can import and export standard .cube LUTs. Productions that grade in Baselight and finish in Resolve (or vice versa) must ensure their LUT exchange accounts for any differences in the default working color spaces.
Monitor Calibration
Calibrate on-set monitors daily using a colorimeter (X-Rite i1 Display Pro or similar). A show LUT is only as accurate as the display it is viewed on. A LUT that looks correct on a calibrated FSI or Flanders Scientific monitor may appear completely different on an uncalibrated consumer display in video village.
Use "false color" overlay modes to verify exposure independently of the show LUT. False color maps IRE values to visible colors, allowing you to identify clipped highlights or crushed shadows in the Log signal before the LUT is applied.
💡 Pro Tip: Beyond the primary DP monitor, ensure video village and client monitors receive the same LUT-applied feed. Creative miscommunication often originates from stakeholders viewing different images. One consistent feed eliminates "it looked different on my monitor" conversations.
---
8. Governance: Standards, Version Control, and QC
The Governance Framework
LUT governance prevents the three most expensive post-production problems: version mismatches, uncalibrated monitoring, and missing metadata.
Version control has been covered in Section 6. Beyond file management, governance requires:
- A single point of authority: One person (typically the DIT or post supervisor) is responsible for distributing approved LUTs. No one else sends LUT files to anyone.
QC Process
Quality control for LUTs is an ongoing process, not a single checkpoint:
1. Dailies verification: After LUTs are applied to dailies, checksum the output files against the originals to confirm data integrity. Verify the LUT-applied dailies against approved reference stills on a calibrated monitor.
Metadata and Audit Trail
Every LUT application and CDL adjustment should be documented through:
- CDL XML sidecar files (.cdlxml): Exported alongside footage, logging all parametric adjustments per shot.
Without this audit trail, colorists in post-production are working blind, unable to reconstruct the creative intent established on set. This is what separates a professional color pipeline from "we applied a LUT and hoped for the best."
💡 Pro Tip: Conduct periodic "LUT check-ins" with the director and cinematographer throughout the shoot. Review a selection of dailies with the applied show LUTs on a calibrated monitor, confirming that the look is still aligned with the creative vision. Make any necessary adjustments before they become entrenched in the workflow.
---
9. Practical Templates
LUT Naming Convention
| Field | Format | Example |
|---|---|---|
| Project Code | 3-4 uppercase letters | JKR |
| LUT Type | ShowLUT / TechLUT / VFXLUT | ShowLUT |
| Version | v01, v02, v03... | v03 |
| Scenario | DayExt / NightInt / Mixed / VFXPull | NightInt |
| Cube Size | 17pt / 33pt / 65pt | 33pt |
| Extension | .cube | .cube |
| Full Filename | [Code]_[Type]_[Ver]_[Scenario]_[Size].cube | JKR_ShowLUT_v03_NightInt_33pt.cube |
CDL Tracking Sheet
| Shot ID | Scene | Take | Slope (R/G/B) | Offset (R/G/B) | Power (R/G/B) | Sat | LUT Version | Notes |
|---|---|---|---|---|---|---|---|---|
| A001_C003 | 12 | 4 | 1.02/1.00/0.98 | 0.00/0.00/+0.01 | 1.00/1.00/1.00 | 1.0 | v03 | Neutral, no correction needed |
| A001_C007 | 12 | 2 | 1.05/1.02/0.97 | -0.01/0.00/+0.02 | 0.98/1.00/1.02 | 0.95 | v03 | Overcast, slight desat to match C003 |
| A002_C001 | 14 | 1 | 1.00/1.00/1.00 | 0.00/0.00/0.00 | 1.05/1.03/1.00 | 1.0 | v03 | Night interior, lifted mids for practicals |
LUT Pipeline QC Checklist
| Check | When | Responsible | Pass Criteria |
|---|---|---|---|
| Monitor calibration verified | Daily, start of shoot | DIT | Delta E < 2.0 on color checker |
| LUT version confirmed on all monitors | Daily, start of shoot | DIT | All monitors show identical LUT version hash |
| Dailies LUT match verified | Daily, after transcode | DIT / Post Supervisor | Dailies match on-set reference stills |
| CDL sidecar files exported | Daily, after wrap | DIT | .cdlxml files exist for every graded shot |
| Checksum verification on deliverables | Per delivery | Post Supervisor | MD5/SHA-256 match between source and delivery |
| VFX OCIO config validated | Per vendor onboarding | VFX Supervisor | Frame grab comparison within Delta E < 3.0 |
| LUT stress test on new scenarios | Per new location / lighting setup | DIT / Colorist | No clipping, banding, or skin tone shifts |
---
10. Interface and Handoff Notes
What you receive (upstream inputs):
What you deliver (downstream outputs):
Top 3 failure modes:
For deeper context on the DP-to-colorist relationship, see What Your Colorist Really Wants You to Know. For dailies pipeline design, see Proxy Workflow Design.
Browse This Cluster
- 📚 Color Grading Mastery: From Technical Foundations to Creative Excellence (Pillar)
Next Steps
Ready to see how this fits into the bigger picture? Start with the complete guide.
📚 Pillar Guide: Color Grading Mastery: From Technical Foundations to Creative Excellence
---
---
© 2026 BlockReel DAO. All rights reserved. Licensed under CC BY-NC-ND 4.0 • No AI Training.