Inside the 3D Cube: How Lookup Tables Store Color
A 3D Lookup Table (.CUBE) is not a simple filter or preset—it is a three-dimensional coordinate mesh representing an entire color volume. The Red, Green, and Blue axes define a geometric cube. At each node intersection of the grid, a target RGB coordinate is stored. When your video plays, the color engine looks up the incoming pixel's coordinates and remaps them to the output coordinates.
Because storing every single 10-bit color would create a multi-gigabyte file, standard production LUTs use a 33x33x33 lattice (35,937 sample points) or a 65x65x65 lattice (274,625 sample points). For the millions of colors falling between these points, the software must perform mathematical interpolation.
Trilinear Interpolation: The Rectangular Prism Failure
Trilinear interpolation is the default algorithm in many legacy software packages because it is computationally lightweight. It evaluates the eight corner vertices of the sub-cube enclosing the target color and calculates linear weights along each axis sequentially.
However, trilinear math assumes orthogonal independence. In real-world cinematography, color transitions rarely follow straight XYZ Cartesian lines; gradients move diagonally across hue, saturation, and luminance simultaneously. Along these diagonals, trilinear math produces sharp derivative discontinuities. On screens with wide gamut displays, these mathematical sharp edges appear as visible, stair-stepped color banding stripes.
Open Project Settings → Color Management. Scroll down to Lookup Tables, find 3D Lookup Table Interpolation, and switch it from Trilinear to Tetrahedral. This instantly eliminates gradient tearing on all applied LUTs with zero performance penalty on modern GPUs.
Lattice Density vs Memory & Precision Comparison
Mathematical breakdown of 3D LUT grid sizes and memory overhead:
| Grid Density | Sample Points | File Size (.CUBE) | Interpolation Requirement | Best Use Case |
|---|---|---|---|---|
| 17x17x17 | 4,913 points | ~150 KB | Severe interpolation needed | Real-time on-camera EVF monitors |
| 33x33x33 (Industry Standard) | 35,937 points | ~1.1 MB | Tetrahedral recommended | Commercial color grading, Web, TV |
| 65x65x65 (Master Calibration) | 274,625 points | ~8.6 MB | Minimal interpolation needed | Hardware monitor calibration, DCI-P3 Print |
| 128x128x128 | 2,097,152 points | ~68 MB | Virtually zero interpolation | Mathematical research & offline renders |
The Tetrahedral Solution: Six Simplices in 3D Space
Tetrahedral interpolation solves the diagonal discontinuity problem through computational geometry. Instead of treating the sub-cube as a box, it subdivides the eight-vertex cube into six distinct four-vertex tetrahedra along the main diagonal (where R = G = B). It identifies exactly which tetrahedron contains the incoming pixel and calculates barycentric coordinates using four weights instead of eight.
Because tetrahedra have planar triangular faces that share continuous boundaries with adjoining tetrahedra, the mathematical gradient is continuous and smooth. Sky transitions, skin-tone roll-offs, and soft lens flares retain pristine 32-bit floating point graduation.
NLE Support: Premiere Pro, Final Cut, and DaVinci Resolve
While DaVinci Resolve Studio defaults to or easily toggles Tetrahedral interpolation, other NLEs vary. Adobe Premiere Pro's Lumetri engine historically used trilinear interpolation, which is why colorists often noticed banding in Premiere that didn't exist in Resolve. Modern versions of Premiere now utilize higher-order interpolation in 32-bit float mode, provided 'Max Bit Depth' and 'Max Render Quality' are checked in export settings.
よくある質問
Why does a 33x33x33 LUT require interpolation?
A standard 10-bit video image contains 1,073,741,824 distinct RGB colors. A 33x33x33 3D LUT contains only 35,937 discrete calibration points. The color grading software must mathematically interpolate (estimate) the color values of the 1+ billion missing points that fall in between the grid coordinates.
How does Tetrahedral interpolation eliminate banding compared to Trilinear?
Trilinear interpolation breaks the cube into rectangular sub-prisms, calculating weighted averages along the X, Y, and Z axes independently. This introduces discontinuities along diagonals. Tetrahedral interpolation subdivides each sub-cube into six 4-vertex simplices (tetrahedra) with planar boundaries, ensuring continuous C0 and C1 gradient continuity across the entire color space.
Is a 65x65x65 LUT always better than a 33x33x33 LUT?
A 65-point LUT contains 274,625 points, offering four times higher lattice density. While superior for extreme technical transforms (like steep camera Log to Linear matrix conversions), 65-point LUTs consume significant GPU VRAM and can cause playback stuttering on older hardware. With tetrahedral interpolation enabled, high-quality 33-point LUTs achieve indistinguishable mathematical smoothness.
33点高密度マスターLUTをダウンロード
補間エラーを極限まで低減した32ビット浮動小数点カーブ。