LUT — Oak Video Editor Manual

LUT

Oak’s color management is built on OpenColorIO (OCIO). Use the OCIO LUT node to load external LUT files for creative or technical transforms.

Color Management Basics

Each project has its own ColorManager with the following settings:

  • OCIO config file: The color-space configuration file used by the project.

  • Default input color space: The assumed color space for new footage.

  • Reference space: The working space for compositing and grading, either Scene Linear or Compositing Log.

  • Display / View / Look: Used for final display and stylistic looks.

You can change these in Sequence > Project Properties > Color Management. If no external OCIO config is specified, Oak falls back to the built-in :/ocioconf configuration.

Footage Color Space

  • If a footage file’s metadata contains a color space, Oak uses it.

  • Otherwise it falls back to the project’s default input color space.

  • During rendering, footage is transformed into the reference space before further processing.

The OCIO LUT Node

The OCIO LUT node applies a .cube or .3dl file to a texture.

Node Parameters

Parameter

Description

LUT File

Path to the LUT file. Only .cube and .3dl are supported.

Direction

Forward or Inverse.

Input

Upstream texture input.

Usage

  1. In the Node Editor, place an OCIO LUT node after the node you want to grade, for example:

    Footage → Transform → OCIO LUT → Sequence Viewer
    
  2. In the Param Editor, click the LUT File path and choose a .cube or .3dl file.

  3. Choose Direction:

    • Forward: maps the LUT’s source space to its target space (common for Log→Rec.709 or stylistic LUTs).

    • Inverse: applies the LUT in reverse (for restoration or special effects).

  4. The result is visible in the Sequence Viewer. On export, the original high-quality source is re-rendered and the LUT effect is preserved.

Supported LUT Formats

Currently supported:

  • .cube

  • .3dl

Other formats (.csp, .lut, .spi1d / .spi3d, etc.) are not loaded by the OCIO LUT node.

Color Grading Nodes

Besides LUTs, Oak provides:

Three-Way Color

  • Adjusts Shadow / Midtone / Highlight color and intensity.

  • Rendered in real time using the threewaycolor.frag shader.

OCIO Grading Primary (Linear)

  • Parameters: Contrast, Offset, Exposure, Saturation, Pivot, Black Clamp, White Clamp.

  • Processes in linear space using OCIO::GradingPrimaryTransform.

Display Transform

  • Explicitly sets Display, View, and Direction for converting reference space to display space.

  • Useful when you need precise control over the color-space transform.

Color Picker Dialog

Clicking a color parameter opens the ColorDialog:

  • Color wheel, HSV value slider, numeric inputs, and swatches.

  • A color-space chooser; returned values are converted to the project reference space.

Limitations and Known Issues

  • The OCIO LUT node has no global LUT library; each node references its own file path.

  • If the file does not exist or the extension is unsupported, the node passes the input through unchanged (no error, but no effect).

  • In the ColorDialog, the display→reference inverse transform is disabled to avoid an OCIO reverse-conversion crash (FIXME).

  • OCIOGradingTransformLinearNode temporarily disables dynamic minimum clamp limits because they interfered with keyframing and connections.

  • Regression tests for LUT behavior are in tests/gtest/color_lut_test.cpp.