Resolve FX · Color · DCTLStudio

DCTL в DaVinci Resolve 21

DCTL — не один фиксированный цветовой эффект. Это Resolve FX-оболочка для пользовательского кода DaVinci Color Transform Language. Выбранный скрипт может быть technical color transform, creative look, gamut-инструментом, diagnostic utility или другой pixel-operation — поэтому реальное поведение определяет именно загруженный DCTL.

Панель на скриншоте закономерно почти пустая: NONE означает, что скрипт ещё не выбран. Специфические controls появляются только если их определяет выбранный DCTL. Поэтому DCTL нужно разбирать как программируемую оболочку, а не как обычный FX с постоянным набором ползунков.

Что такое DCTL на самом деле

Программируемый transform-host, а не один постоянный эффект

Resolve FX DCTL предоставляет оболочку и финальный Blend. Сама математика, ожидаемый color space, дополнительный UI и назначение приходят из выбранного DCTL/DCTLE. Поэтому два инструмента, загруженные через одну и ту же панель DCTL, могут вести себя совершенно по-разному.

Исполняемая transform-логика

В отличие от фиксированной lookup table, DCTL может рассчитывать output кодом и выводить пользовательские controls, если их определил автор.

Color transforms и looks

DCTL часто используют для color-space математики, tone/gamut shaping, film-style инструментов и других цветовых операций.

Diagnostics и utilities

DCTL может визуализировать clipping, false color, gamut limits и другую аналитическую информацию, а не создавать финальный look.

Зависит от pipeline

Один и тот же код может быть корректен в одном signal state и ошибочен в другом. Input/output assumptions важны не меньше видимых значений sliders.

Параметры Inspector

За маленькой панелью скрывается очень гибкая система

При NONE панель почти пустая, потому что показывать специфический интерфейс ещё нечего. После выбора скрипта Resolve может вывести те поддерживаемые controls, которые определены внутри конкретного DCTL.

Выбор установленного transform/script

DCTL

Поле DCTL выбирает конкретный DCTL-файл, который будет исполняться этим Resolve FX. Значение NONE означает, что пользовательский transform не выбран: сама оболочка DCTL FX остаётся в ноде, но полезная обработка из DCTL-кода не выполняется. После выбора скрипта интерфейс может расшириться дополнительными sliders, checkboxes, combo boxes и другими контролами — их набор задаёт автор конкретного DCTL.

  • NONE — DCTL-код не выбран
  • Список формируется из установленных DCTL/DCTLE
  • Параметры ниже зависят от выбранного скрипта
Интерфейс задаёт сам DCTL

Script-defined controls

У DCTL нет фиксированного универсального набора параметров вроде Contrast Pop. Один скрипт может быть техническим color-space transform без пользовательских регуляторов, другой — film-look инструментом с Exposure, Contrast и gamut controls, третий — диагностическим False Color или gamut-checker. Поэтому после поля DCTL нужно читать документацию именно выбранного инструмента, а не переносить настройки от другого DCTL.

  • UI может отсутствовать полностью
  • Названия и диапазоны контролов задаёт код
  • Color-space assumptions тоже script-specific
Финальный mix результата

Global Blend

Blend смешивает результат выбранного DCTL с исходным состоянием ноды. Значение 1.000 даёт полный результат DCTL, меньшие значения ослабляют его. Но Blend не исправляет неправильный input color space, неверный порядок нод или неподходящий DCTL — это только финальное смешивание уже рассчитанного результата.

  • 1.000 — полный output выбранного DCTL
  • Полезен для creative tools, но не всегда уместен для technical transforms
  • Сначала исправьте pipeline, потом используйте Blend

DCTL и LUT

Оба могут менять цвет, но работают принципиально по-разному

DCTL

Исполняемый код может рассчитывать transform, использовать условия, выводить controls и реализовывать операции, которые неудобно описывать конечной 3D lookup table. Открытый .dctl можно читать и редактировать; зашифрованный .dctle скрывает исходник автора.

LUT

LUT хранит заранее рассчитанные input→output соответствия и интерполирует значения между точками таблицы. Это отличный механизм для известного color transform или look, но он не даёт такой программируемой логики и script-defined UI, как DCTL.

Рабочий workflow

Безопасный workflow для незнакомого DCTL за шесть шагов

Главное — относиться к скрипту как к контракту обработки сигнала. Не угадывайте color space, range, назначение и допустимость смешивания только по имени файла.

01

Сначала определите назначение DCTL

Не считайте любой .dctl универсальным look. Сначала выясните: это technical transform, creative look, utility, diagnostic overlay или другая pixel-operation, и какие input/output conditions он ожидает.

02

Поставьте его в правильную точку сигнала

DCTL, рассчитанный на DaVinci Wide Gamut/Intermediate, нельзя бездумно ставить после Rec.709 output transform, а display-referred инструмент — автоматически переносить в scene-referred участок. Место в node tree определяется контрактом скрипта.

03

Выберите DCTL и изучите его UI

Выберите инструмент в списке DCTL. Если появились дополнительные controls, сначала зафиксируйте или восстановите defaults. Панель Resolve FX — лишь оболочка; реальную операцию и параметры определяет выбранный скрипт.

04

Проверьте ожидаемое состояние сигнала

Используйте подходящие scopes и известный reference. Для technical transform проверяйте neutrals, primaries, clipping и gamut behaviour; для creative tool сравнивайте bypass и следите, чтобы он не ломал техническую цепочку.

05

Проверьте весь клип, а не один кадр

Пользовательский код может резко реагировать на out-of-range values, highlights, noise или необычные сочетания каналов. Просмотрите весь клип и сложные кадры, а не только один красивый frame, на котором настраивали look.

06

Используйте Blend только когда смешивание имеет смысл

Creative DCTL часто можно ослаблять Blend. С technical conversion всё иначе: частичное смешивание transform с его input может создать сигнал, который корректно не принадлежит ни одному color space. Ориентируйтесь на документацию конкретного DCTL, а не на привычку к Blend.

Типичные ошибки

Большинство проблем DCTL — это проблемы pipeline, а не загадочный плохой slider

01

DCTL получает неправильный color space

Инструмент под DWG/Intermediate может дать экстремальную saturation, contrast или clipping, если подать ему Rec.709, camera log или другой state. Сначала сверяйте контракт скрипта, а не крутите Blend.

02

Technical transform частично смешивают Blend

Частичное смешивание color-space conversion может дать неопределённый промежуточный сигнал. Global Blend нельзя автоматически считать creative intensity для любого DCTL.

03

Скрипт дублируется другим transform

DCTL, внутри которого уже есть input/output transform, можно случайно продублировать RCM, ACES, CST или LUT. Перед оценкой самого DCTL проследите всю node tree и project color management.

04

NONE принимают за сломанный DCTL

Если в поле остаётся NONE, пользовательский скрипт не выбран. Установите/обновите список DCTL и выберите нужный инструмент — только после этого появятся его параметры и обработка изображения.

Код как часть color pipeline

DCTL: модель на уровне сигнала

DCTL нельзя описать одной фиксированной математикой, потому что Resolve FX DCTL — это host для пользовательского DaVinci Color Transform Language кода. Состояние NONE означает отсутствие выбранного transform, а после выбора конкретного DCTL поведение ноды определяется его кодом: от color-space conversion и tone/gamut shaping до creative look или diagnostic overlay.

Главный контракт DCTL — не имя файла, а ожидаемое состояние сигнала. Скрипт может быть написан под DaVinci Wide Gamut/Intermediate, camera log, Rec.709 display space или другой конкретный input; output тоже может быть working-space, display-space либо чисто диагностическим. Поэтому правильный node placement определяется документацией конкретного DCTL, а не самим фактом, что это DCTL FX.
Global Blend нельзя считать универсальным intensity control. Для creative DCTL частичное смешивание часто уместно, но для технического color-space transform blend 0.5 может создать сигнал, который корректно не соответствует ни input, ни output space. Сначала определите семантику скрипта, потом решайте, допустим ли mix.

Когда использовать

  • кастомные технические color transforms и gamut/tone operations, которых нет среди штатных контролов
  • creative look-инструменты с собственной математикой и script-defined параметрами
  • diagnostic utilities: false color, clipping/gamut visualisation и другие анализаторы

Когда лучше другой инструмент

  • задача полностью решается штатным CST/ACES/Primaries и DCTL лишь усложнит переносимость проекта
  • вы не знаете input/output assumptions стороннего DCTL и пытаетесь подобрать место в pipeline исключительно на глаз

Контроль → смысл сигнала → проверка

СлойЧто означаетКак проверять
DCTL selectorВыбирает установленный .dctl/.dctle. NONE означает, что пользовательский код не выбран и script-specific transform не выполняется.Если нужного инструмента нет в списке, проверьте LUT folder, Update Lists/refresh и совместимость конкретного файла.
Script-defined UIДополнительные sliders, checkboxes и menus существуют только если их объявляет выбранный DCTL; универсального набора контролов нет.Сверяйте defaults, диапазоны и единицы с документацией автора, а не с другим DCTL.
Input signal stateЦветовое пространство, gamma/transfer, range и другие предположения, под которые написана математика скрипта.Проследите upstream RCM/ACES/CST/LUT и убедитесь, что к ноде приходит именно ожидаемый сигнал.
Output semanticsРезультат может оставаться в working space, переходить в другой space, становиться display-referred или быть diagnostic view.Следующие ноды должны ожидать именно этот output; diagnostic DCTL обычно не должен оставаться в финальном render chain.
Global BlendСмешивает output DCTL с исходным состоянием ноды после вычисления скрипта.Используйте только когда частичный mix семантически корректен; technical conversion не ослабляют Blend автоматически.
.dctl / .dctle.dctl — читаемый source; .dctle — зашифрованная форма, скрывающая исходный код. Для пользователя обе формы могут появляться как выбираемый DCTL-инструмент.Не делайте вывод о signal contract по тому, открыт исходник или зашифрован; это вопрос распространения, а не назначения transform.

Рабочий workflow

  1. 01Получите документацию DCTL и зафиксируйте expected input, output и назначение: technical, creative или diagnostic.
  2. 02Установите файл через папку, которую Resolve открывает из Project Settings → Color Management → Lookup Tables → Open LUT Folder, затем обновите списки.
  3. 03Создайте отдельную ноду в том месте pipeline, где signal state соответствует требованиям скрипта.
  4. 04Выберите DCTL в dropdown; если появились custom controls, начните с defaults и меняйте по одному параметру.
  5. 05Проверьте scopes, known references, clipping/gamut и сложные кадры по всей длине клипа; сравните bypass.
  6. 06Только после этого решайте, нужен ли Global Blend; для technical transform оставляйте полный корректный transform, если документация не говорит обратного.

Диагностика: симптом → причина → решение

Изображение резко перенасыщено, слишком контрастно или уходит в странные hue

Вероятная причина: DCTL получает не тот gamut/gamma/range, под который написан.

Что делать: Проверьте upstream transform chain и expected input автора; не компенсируйте mismatch Primaries или Blend.

Нужного DCTL нет в списке

Вероятная причина: Файл лежит не в активной LUT folder, список не обновлён либо файл/версия несовместимы.

Что делать: Откройте LUT folder из Resolve, поместите файл туда, выполните Update Lists/refresh и при необходимости перезапустите Resolve.

После DCTL и CST/RCM картинка выглядит как двойной transform

Вероятная причина: Сам DCTL уже включает часть input/output conversion, которую pipeline применяет ещё раз.

Что делать: Выясните точные input/output semantics DCTL и оставьте transform только в одном месте цепочки.

Blend 0.5 даёт грязный или нелогичный технический результат

Вероятная причина: Частично смешивается color-space/tone transform, который должен применяться целиком.

Что делать: Верните Blend 1.000 и управляйте look downstream; ослабляйте Blend только если конкретный DCTL предназначен для creative mixing.

Место в node tree

У DCTL нет универсального места в node tree. Technical input transform может находиться в начале, working-space look — в середине, display-referred output/utility — ближе к концу, а diagnostic overlay вообще временно включаться только для проверки. Правило одно: signal entering the node должен совпадать с ожиданиями кода.

Scopes / проверка

Для technical DCTL используйте Waveform/RGB Parade/Vectorscope и, где уместно, CIE Chromaticity вместе с known test/reference images. Creative DCTL оценивайте ещё и perceptually по bypass, а diagnostic DCTL проверяйте по тому, действительно ли его threshold/false-color условия соответствуют заявленной шкале.

Managed-pipeline контроль

RCM/ACES не делают DCTL автоматически корректным или некорректным. В managed project важно понимать, где именно происходит input mapping, timeline working-space processing и output mapping. DCTL должен быть placed относительно этих стадий согласно своим input/output assumptions; иначе получится duplicate transform или работа в неправильном пространстве.

Не путайте роли инструментов

DCTL и соседние Color FX

Color Space Transform

явный перевод между описаниями color space / gamma, включая tone/gamut mapping

Открыть разбор
ACES Transform

node-level вход/выход через стандартизированный ACES transform set

Открыть разбор
Chromatic Adaptation

перевод между white point / illuminant через CAT-модель

Открыть разбор
Color Compressor

сведение разброса hue/saturation/luminance вокруг выбранного Target Color

Открыть разбор
Color Stabilizer

временное выравнивание нежелательного brightness/white-balance drift по выбранному референсу и области анализа

Открыть разбор
Contrast Pop

выборочное усиление или смягчение локального контраста на заданном масштабе структур и в ограниченном тональном диапазоне

Открыть разбор
Dehaze

depth-weighted уменьшение smog/airlight/haze через simulated depth matte и связанную color/contrast коррекцию

Открыть разбор
Despill

подавление отражённого red/green/blue screen spill после того, как subject уже отделён key/matte/roto

Открыть разбор
False Color

пространственное отображение экспозиционных зон через camera-matched или creative false-colour mapping и legend

Открыть разбор
Gamut Limiter

финальное hard-clipping ограничение chromaticities по заданной delivery/QC gamut boundary

Открыть разбор
Gamut Mapping

tone/gamut remapping через luminance roll-off, saturation compression/clip и OOTF без отдельного input/output color-space conversion

Открыть разбор
Invert Color

простая независимая инверсия каналов Red/Green/Blue/Alpha для creative и технических channel/key операций

Открыть разбор
NVIDIA RTX Video HDR

AI-assisted SDR→HDR mapping с явным input/output signal contract, Middle Gray, target peak luminance и creative shaping

Открыть разбор
Camera Shake

процедурная генерация Pan/Tilt/Rotation/Zoom движения с waveform, randomness, pauses и blanking handling

Открыть разбор
ColorTone Diffuser

creative optical-look effect: spatial diffusion, цветные Tone Lights, tonal protection, falloff mask и LUT-compatible subset

Открыть разбор
Film Damage

procedural texture/look effect: blur/colour drift, vignette, changing dirt и до пяти scratches с motion/flicker

Открыть разбор
Film Grain

процедурная film-style texture: gauge presets, grain geometry, composite modes, tonal/RGB weighting и финальный mix

Открыть разбор
Film Look Creator

интегрированная scene-referred film-emulation среда: baked-in Blackmagic film response, color shaping, halation/bloom/grain/flicker/gate weave и LUT-compatible subset

Открыть разбор
Flicker Addition

dedicated temporal exposure modulation: tonal flicker modes, RGB selection, smoothness, randomness, pauses и deterministic seed

Открыть разбор
Halation

film-style highlight scatter: isolation matte, chromatic dye-layer reflections, secondary glow и optional grain

Открыть разбор
Split Tone

creative shadow/highlight colour separation через Natural/Strong/Custom modes, Pivot, Hue Angle, neutral protection и color-space overrides

Открыть разбор
Vignette

edge framing и visual-attention control через Basic/Advanced geometry, position, colour и compositing

Открыть разбор
Color Generator

solid-colour generation для Layer Mixer, masks, fills и simple colour wash

Открыть разбор

Первичные источники для технического слоя

Названия контролов дополнительно сверены со скриншотами Resolve 21, уже показанными на каждой странице. Там, где Blackmagic не публикует proprietary-математику реализации, материал описывает документированную семантику сигнала и наблюдаемое поведение, не выдумывая алгоритм.

FAQ

Практические вопросы по DCTL в Resolve

Что означает DCTL?

DCTL — DaVinci Color Transform Language. На практике в Resolve это способ выполнять пользовательский код цветовых и других pixel-level преобразований прямо внутри grading pipeline.

Почему в DCTL у меня только NONE и Blend?

Это базовая оболочка эффекта до выбора скрипта. NONE означает, что DCTL-transform не активен. Когда Resolve увидит установленные DCTL/DCTLE и вы выберете один из них, ниже могут появиться дополнительные параметры, если конкретный скрипт их определяет.

DCTL — это то же самое, что LUT?

Нет. LUT по сути хранит таблицу заранее рассчитанных соответствий, а DCTL является исполняемым transform-кодом и может содержать математические операции, условия и собственные UI controls. Оба подхода могут выполнять цветовые преобразования, но их возможности и поведение различаются.

Чем отличаются .dctl и .dctle?

.dctl — читаемый и редактируемый исходный код. .dctle — зашифрованная форма DCTL, которую используют для распространения инструмента без раскрытия исходника. Resolve может использовать оба формата при корректной установке.

Куда устанавливать DCTL-файлы?

Самый надёжный способ — открыть папку из самого Resolve: Project Settings → Color Management → Lookup Tables → Open LUT Folder. Скопируйте DCTL/DCTLE туда или в подпапку, затем обновите списки; если конкретная версия не подхватила файл, перезапустите Resolve.

Куда ставить DCTL в node tree?

Универсальной позиции нет. Scene-referred transform, display-referred look и diagnostic overlay могут требовать совершенно разного места. Правильная позиция определяется тем, какой input и output signal state ожидает конкретный DCTL.