# 3D LUT & Color Management

OmniScope supports applying colour transforms to input sources using **3D LUTs**, **1D LUTs**, **ICC profiles**, and **OpenColorIO (OCIO)** configurations. This lets you preview graded images, match monitor profiles, or convert between colour spaces — all without affecting the original signal.

> **A 3D LUT is a lookup table**, not a formula. It samples the RGB cube on a regular grid (commonly 17³, 33³, or 65³ points) and stores the transformed output at each vertex. At runtime, the input colour is located inside the cube and interpolated from its eight surrounding vertices using either **trilinear** (fast, cheaper, slightly less accurate) or **tetrahedral** (higher quality, especially for saturated colours) interpolation. A 1D LUT only transforms one channel at a time and cannot do chromaticity changes — it is used for tone shaping (gamma / EOTF conversion) but cannot implement a full camera-to-display colour transform. Use 1D LUTs for transfer-function changes, 3D LUTs for gamut-and-transfer changes together.

<figure><img src="/files/KW2VG9CDg8FWkub7GH16" alt=""><figcaption><p>3D LUT browser window</p></figcaption></figure>

## Input 3D LUT

Each input source can have its own 3D LUT applied before the signal reaches the scopes. This is useful for monitoring how the image will look after a grade, or for converting log/RAW signals to a display colour space.

### Applying a LUT

1. Open the **3D LUT browser** — **Options > 3D LUT** or use the keyboard shortcut **⌥D** (macOS) / **Alt+D** (Windows) to toggle LUTs on all inputs
2. Select a LUT file from the browser
3. Enable **Input LUT** in the input settings

The LUT is applied per input slot, so each connected source can use a different transform.

<figure><img src="/files/C7ilat9fHOfxeVXl9tcG" alt=""><figcaption><p>Input 3D LUT enabled in the input settings</p></figcaption></figure>

### Supported Formats

| Format | Extension                       |
| ------ | ------------------------------- |
| 3D LUT | `.cube`, `.3dl`, `.csp`, `.lut` |
| 1D LUT | `.cube`, `.spi1d` (1.10.139+)   |

### LUT Options

| Option                        | Description                                                          |
| ----------------------------- | -------------------------------------------------------------------- |
| **Tetrahedral interpolation** | Higher-quality LUT interpolation (more accurate but slightly slower) |
| **Apply to output**           | Include the input LUT in NDI/SDI output signal                       |
| **Apply to snapshot**         | Apply the LUT when comparing snapshots in split mode                 |

## ICC Profiles

ICC profiles can be loaded to compensate for monitor colour characteristics. OmniScope can also read the system's display ICC profile on macOS.

| Setting                 | Description                                                       |
| ----------------------- | ----------------------------------------------------------------- |
| **Display ICC profile** | Use the monitor's ICC profile for accurate colour display (macOS) |
| **Custom ICC profile**  | Load a specific ICC profile file                                  |

## OpenColorIO (OCIO)

{% hint style="info" %}
OCIO support requires a **Pro** license.
{% endhint %}

OmniScope integrates with **OpenColorIO 2.5.1** for professional colour pipeline management. Load a custom OCIO configuration to access all colour spaces defined in your pipeline.

* Set the OCIO config path in **Preferences / OpenColorIO**
* Select input and display colour spaces from the OCIO configuration
* Colour space primaries from the active OCIO config are shown in the **CIE Plot**

### Bundled ACES Config

OmniScope ships with a bundled ACES configuration that does not require any external OCIO setup. In **Preferences / OpenColorIO**, select the ACES version that matches your project:

| Version               | Description                            |
| --------------------- | -------------------------------------- |
| **ACES 1.3**          | Standard ACES 1.3 transforms           |
| **ACES 2.0 (compat)** | ACES 2.0 with compatibility transforms |

Use the bundled config for ACES monitoring in DaVinci Resolve or other hosts — see [ACES Monitoring (DaVinci Resolve OFX)](/nobe-omniscope/sources/davinci-resolve-ofx/color-managed-timeline.md#aces-monitoring) for the full setup guide.

### ACES in a nutshell

The **Academy Color Encoding System** is a scene-referred, camera-agnostic colour pipeline standardised by the Academy of Motion Picture Arts and Sciences. Every ACES transform slots into one of four stages:

| Stage                                   | What it does                                                                                                                                   | Where                                 |
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
| **IDT** — Input Device Transform        | Converts a specific camera's native colour space (ARRI Log C, Sony S-Log3/S-Gamut3, RED IPP2, etc.) to scene-linear ACES2065-1 (AP0 primaries) | Per-source / per-clip                 |
| **LMT** — Look Modification Transform   | Optional creative "look" applied in ACES space, before the output transform. Examples: film emulation, print-emulation LUT, directorial look   | Per-sequence / global                 |
| **RRT** — Reference Rendering Transform | Fixed, canonical tone and gamut rendering from scene-linear to an intermediate display-referred space (OCES)                                   | Global (part of the Output Transform) |
| **ODT** — Output Device Transform       | Maps the RRT output to a specific display — Rec. 709 sRGB, Rec. 2020 PQ 1 000 nits, P3-D65 2 000 nits, DCI-P3, etc.                            | Per-output                            |

Working in ACES has two big advantages for scope analysis: (1) every camera looks like every other camera in the working space, so exposure and white-balance calls are apples-to-apples, and (2) the IDT — not the LUT chain — handles the camera conversion, so decisions about "what should this neutral grey be at" are stable across clips. The trade-off is that you must apply the matching ODT before looking at the picture on a display-referred monitor. OmniScope's OCIO support puts the ODT selection in your hands.

## 3D LUT / ICC Scope

The dedicated [3D LUT / ICC scope](/nobe-omniscope/scopes/3d-lut-icc-profile.md) shows the effect of the colour transform in a separate viewer, letting you compare the original and transformed image.

## Keyboard Shortcuts

| macOS | Windows | Action                             |
| ----- | ------- | ---------------------------------- |
| ⌥D    | Alt+D   | Toggle input 3D LUT on all sources |

## Related

* [3D LUT / ICC Scope](/nobe-omniscope/scopes/3d-lut-icc-profile.md)
* [False Color](/nobe-omniscope/scopes/false-color.md) — can export a 3D LUT
* [Available Actions](/nobe-omniscope/streamdeck/available-actions.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.timeinpixels.com/nobe-omniscope/features/3d-lut.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
