RESOLVE FX · PROGRAMMABLE HOST · STUDIO
DCTL.
Host — только разъём.
Эффектом является code.
Resolve FX DCTL — не один фиксированный image effect. Это Studio-only host для пользовательского DaVinci Color Transform Language code. Выбор, Reload DCTL и Global Blend принадлежат Resolve; математика, optional UI, input assumptions и output semantics принадлежат выбранному script.
DCTL List · Reload
Math · Custom UI
Input → Output
В лаборатории переключайте technical, creative и diagnostic scripts. Один и тот же DCTL host становится корректным или опасным в зависимости от входного signal, downstream output transform и того, имеет ли partial Blend смысл.
Только учебная модель. Она классифицирует состояние host, ownership input/output, семантику Blend и типовые pipeline risks. Она не исполняет DCTL-код, не воспроизводит GPU-поведение Resolve и не предсказывает pixels стороннего script.
Реальные captures Resolve + contract model, без выдуманного third-party UI
3 HOST CONTROLS · 3 CAPTURES · STUDIO01HOST × CODE × CONTRACT
DCTL удобно понимать в трёх слоях: Resolve даёт host, script выполняет вычисления, а signal contract определяет место в pipeline.
Смешивание этих слоёв создаёт большинство плохих workflow: Reload принимают за refresh списка, script UI — за фиксированную панель Resolve, а technical transform ослабляют как creative look.
Host ≠ алгоритм
Resolve FX DCTL — Studio-only оболочка для выполнения пользовательского DaVinci Color Transform Language. Сам host даёт выбор установленного DCTL, Reload DCTL и общий Blend; реальная математика, назначение и optional UI приходят из выбранного script. Поэтому «какой эффект делает DCTL» нельзя ответить без имени и документации конкретного файла.
Код вместо lookup table
Blackmagic описывает DCTL как исполняемый transformation code: в отличие от 1D/3D LUT, который хранит таблицу значений и интерполирует между ними, DCTL непосредственно вычисляет результат математическими функциями и выполняется на GPU. Это позволяет строить transforms, utilities, diagnostics и spatial operations, которые невозможно выразить одной обычной 3D LUT.
Главное — signal contract
Имя файла и красивый UI не сообщают автоматически, какой gamut, gamma, range и scene/display state ожидает скрипт и что он отдаёт дальше. Technical DCTL может менять color space, creative DCTL — оставаться в working space, diagnostic DCTL — превращать изображение в измерительный overlay. Node placement и допустимость Blend определяются именно этим контрактом.
Граница по manual Resolve 21.1: Resolve FX DCTL — Studio-only; DCTL List выбирает установленные scripts; Reload DCTL перечитывает выбранный файл и не обновляет список. Глава Advanced Workflows описывает DCTL как GPU-executed code, а не sampled lookup table.
02РЕАЛЬНЫЕ CONTROLS RESOLVE 21
Host-панель небольшая; выбранный code может сделать инструмент сколь угодно глубоким.
Три screenshots — реальные captures Resolve в состоянии NONE. Панель выбранного script не дорисовывается, потому что custom controls у каждого DCTL свои.
AHOST CONTROLS
Что принадлежит самому Resolve FX
- DCTL / DCTL List
Dropdown выбирает один из DCTL, уже доступных Resolve на workstation. NONE означает отсутствие выбранного пользовательского transform. Manual использует название DCTL List, тогда как видимая подпись Inspector — DCTL.
ПРОВЕРЬТЕЕсли новый файл отсутствует в списке, не крутите Blend и не жмите Reload: сначала проверьте LUT folder и перезапустите Resolve, потому что Reload DCTL не пересканирует список.
- Reload DCTL
Перечитывает содержимое текущего выбранного DCTL-файла. Это удобно при разработке: изменили code в text editor, сохранили файл, нажали Reload DCTL и проверили новую версию без повторного выбора host FX.
ПРОВЕРЬТЕManual прямо уточняет: Reload DCTL не обновляет DCTL List. Для нового файла, которого раньше не было в списке, требуется restart Resolve.
BSCRIPT-DEFINED SURFACE
Что определяет выбранный DCTL
- Script-defined controls
Дополнительные sliders, checkboxes, combo boxes, color pickers и другие controls появляются только если их объявляет конкретный DCTL. Универсального набора после dropdown не существует; defaults, диапазоны, единицы и семантика принадлежат автору script.
ПРОВЕРЬТЕBlank area после выбора не обязательно означает ошибку: DCTL может не иметь custom UI. Сверяйте ожидаемые controls с документацией именно этого инструмента.
- RGB / alpha behavior
Современный Transform DCTL в Resolve FX может работать не только как чистый RGB-transform: developer surface поддерживает alpha-channel handling, а spatial forms DCTL могут обращаться к координатам/texture data. Поэтому DCTL корректнее считать программируемым pixel-processing language, а не «продвинутой LUT».
ПРОВЕРЬТЕНе предполагайте alpha passthrough и spatial behavior по умолчанию. Для DCTL, который участвует в compositing/key workflow, проверяйте alpha contract и края matte на реальном материале.
CFINAL MIX
Общий mix после script
- Global Blend → Blend
Смешивает вычисленный output выбранного DCTL с исходным состоянием ноды. В creative tools это может быть удобный intensity control. Но Blend не меняет assumptions к input и не исправляет неверный порядок transforms.
ПРОВЕРЬТЕДля technical conversion сначала решите, имеет ли промежуточный mix физический/колориметрический смысл. Если DCTL переводит DWG/Intermediate → Rec.709, Blend=0.5 обычно не является «половиной правильного transform».
03DISCOVERY ≠ RELOAD
Установка нового файла и перечитывание изменённого файла — две разные операции.
Эта разница прямо описана в manual и защищает от очень распространённого бесполезного troubleshooting loop.
1 · Положите script в активную LUT location
Manual приводит LUT locations, используемые DCTL: macOS Library/Application Support/Blackmagic Design/DaVinci Resolve/LUT/, Windows C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support\LUT и Linux /home/resolve/LUT. Практически безопаснее открывать активную LUT folder из самого Resolve, когда этот путь доступен.
2 · Для нового entry перезапустите Resolve
Resolve 21.1 прямо указывает: Reload DCTL не обновляет DCTL List. Если вы установили новый DCTL, которого раньше не было в списке, перезапустите Resolve, чтобы список был построен заново.
3 · При разработке перечитывайте только текущий файл
Когда script уже выбран, измените и сохраните source, затем нажмите Reload DCTL для перечитывания этого файла. Если DCTL не собирается, современные версии Resolve могут показать build error dialog; подробная authoring documentation устанавливается в Help → Documentation → Developer.
04SIGNAL OWNERSHIP
Node placement определяется контрактом выбранного script, а не расширением .dctl.
Technical, creative и diagnostic DCTL могут использовать один host, но требовать совершенно разных позиций и Blend semantics.
Выберите и настройте script
Выберите entry DCTL, начните с author defaults и используйте Reload DCTL как reload текущего файла, а не discovery списка.
Это граф решений, а не обязательное число нод. Устойчивое правило: contract → input state → selected code → output ownership → допустимая mix semantics → verification.
05СОБЕРИТЕ В RESOLVE
Четыре упражнения закрывают установку, technical transform, creative look и diagnostic utility.
Это workflow-упражнения, а не универсальные presets. Сам сторонний code всё равно нужно проверять в конкретной версии Resolve и signal pipeline, где он будет использоваться.
Установка нового DCTL без ложного refresh
Понять разницу между discovery нового файла и Reload текущего script.
ПодготовьтеВозьмите тестовый .dctl, для которого известны назначение и ожидаемый input. Откройте активную LUT folder из Resolve либо используйте documented LUT location вашей системы.
- 01
Скопируйте .dctl в LUT folder или подходящую подпапку; не переименовывайте архив/текстовый файл так, чтобы расширение выглядело корректным только визуально.
- 02
Если файл новый и отсутствует в DCTL List, полностью перезапустите Resolve. Не ожидайте, что Reload DCTL добавит новый entry.
- 03
Добавьте Resolve FX DCTL на ноду, выберите script и подтвердите, что NONE сменился на нужный entry.
- 04
Теперь измените содержимое уже выбранного .dctl, сохраните и используйте Reload DCTL: это как раз тот случай, для которого control предназначен.
Новый файл появляется после restart; изменение уже выбранного файла подхватывается Reload DCTL без подмены этих двух механизмов.
Technical DCTL как контракт преобразования
Поставить technical transform в правильный signal state без double transform и бессмысленного Blend.
ПодготовьтеДокументируйте expected input, expected output и ownership project color management. Для упражнения считайте, что script ожидает DWG/Intermediate и отдаёт display-referred Rec.709.
- 01
Проследите upstream decode/RCM/CST и убедитесь, что на входе DCTL действительно DWG/Intermediate.
- 02
Поставьте DCTL в точку, где должен происходить технический transform, и оставьте Blend=1.000, если документация не говорит иное.
- 03
Проверьте downstream: второй output CST/RCM/ODT после уже display-referred DCTL создаст double transform.
- 04
Проверьте neutrals, primaries, highlights и out-of-range behavior scopes/reference chart, а не только «красивую картинку».
DCTL получает ожидаемый input, один раз выполняет свою техническую роль и передаёт downstream ровно тот output state, который там ожидается.
Creative DCTL внутри working space
Использовать script-defined look как creative operation, не разрушая technical pipeline.
ПодготовьтеВыберите creative DCTL, который документирован под вашу working space, например DWG/Intermediate, и не выполняет собственный output transform.
- 01
Поставьте его после технического normalization/base balance, но до единственного output transform.
- 02
Начните с author defaults и меняйте script-defined controls по одному, фиксируя, какой параметр отвечает за какую задачу.
- 03
Сравните full effect и Global Blend только после правильной core-настройки; здесь partial mix может быть семантически допустим.
- 04
Просмотрите весь shot и сложные frames: highlights, noise, negative/out-of-range values, skin и насыщенные цвета.
Look остаётся внутри заявленной working space, не дублирует технические transforms и не разваливается на сложных кадрах.
Diagnostic DCTL как временный измерительный слой
Применить false-color/gamut/clipping utility так, чтобы diagnostic output не попал в финальный render.
ПодготовьтеВыберите DCTL-диагност, для которого известен expected input state и смысл отображаемых цветов/порогов.
- 01
Разместите diagnostic DCTL в той точке pipeline, которую хотите измерять: до или после output transform — в зависимости от контракта.
- 02
Проверьте, что его custom controls/defaults соответствуют документации автора.
- 03
Используйте overlay для решения конкретной задачи, затем bypass/remove diagnostic node перед delivery.
- 04
Сделайте финальный QC без diagnostic DCTL и убедитесь, что никаких служебных colors/labels не осталось в render chain.
Diagnostic script помогает измерять конкретный signal state, но никогда не становится случайной частью master.
06ВЫБИРАЙТЕ ПРОСТЕЙШЕГО OWNER
DCTL силён программируемостью, но это не делает его лучшим owner для любой color-задачи.
| Tool | Чем владеет | Когда использовать |
|---|---|---|
| DCTL | Исполняемый GPU code с script-defined математикой и optional UI; может быть transform, look, utility, diagnostic или spatial effect. | Когда нужна пользовательская операция, которой нет среди native tools, и её signal contract известен. |
| 1D / 3D LUT | Lookup table хранит дискретные input→output соответствия и интерполирует между sample points. | Когда достаточно фиксированного color mapping/look без программируемой spatial/state logic и custom controls. |
| Color Space Transform | Штатная RCM-математика Resolve с явными Input/Output Color Space/Gamma, tone/gamut mapping и advanced options. | Когда задача — стандартное известное color-space преобразование и нет причины вводить сторонний custom code. |
| Native Resolve FX / palettes | Фиксированные Blackmagic tools с документированными controls и предсказуемой интеграцией в проект. | Когда native tool уже решает задачу: это обычно проще для portability, support и совместной работы. |
07СИМПТОМ → CONTRACT → РЕШЕНИЕ
Большинство проблем DCTL становятся предсказуемыми, если разделить discovery списка, compile code, signal state и output ownership.
01Новый .dctl скопирован, но его нет в DCTL List+
Проверьте реальную LUT folder и расширение файла, затем перезапустите Resolve. Reload DCTL не обновляет список — он перечитывает только текущий выбранный файл.
02Нажимаю Reload DCTL, но новый script так и не появляется+
Это ожидаемо: control предназначен для content reload уже выбранного файла. Discovery нового entry manual связывает с restart Resolve, а не с этой кнопкой.
03После выбора DCTL картинка резко пересатурирована или контраст сломан+
Первым подозревайте input contract: script может ожидать другой gamut/gamma/range или scene/display state. Проверьте upstream RCM/CST/LUT и авторскую документацию до попытки «лечить» результат Blend.
04DCTL выглядит нормально сам по себе, но вместе с RCM/CST получается double transform+
Определите ownership output conversion. Если DCTL уже делает display transform, downstream RCM/CST/ODT не должен повторять ту же работу. Если DCTL creative и остаётся в working space, output transform должен оставаться единственным downstream owner.
05При Blend 0.5 technical transform выглядит «между мирами»+
Global Blend линейно смешивает output script с исходным node state, но это не гарантирует валидный промежуточный color space. Для технических transforms обычно проверяйте full transform и используйте Blend только если его разрешает документация.
06После выбора DCTL нет дополнительных sliders/checkboxes+
Не каждый DCTL объявляет custom UI. Если tool должен иметь controls, проверьте совместимость версии, build error и документацию; если это чистый transform без UI, пустая область может быть корректным состоянием.
07Diagnostic false-color оказался в финальном render+
Диагностический DCTL должен иметь явного owner и exit-condition: использовать для анализа, затем bypass/remove перед delivery. Финальный QC выполняйте на render chain без diagnostic overlays.
Installation & portability
Project может хранить DCTL reference, но collaborator/render workstation должен иметь совместимый script в доступном LUT location. Для командной работы храните approved DCTL package/version рядом с project documentation и не рассчитывайте, что filename автоматически гарантирует одинаковый code.
Authoring & validation
Blackmagic помещает подробную developer documentation в Help → Documentation → Developer. Static syntax check полезен, но финальная проверка собственного DCTL — загрузка/compile в целевой Resolve build и тест на реальном signal, потому что host, GPU backend и DCTL parser являются частью фактической среды выполнения.
.dctl vs encrypted DCTL
Plain .dctl содержит читаемый source. Resolve также поддерживает encrypted DCTL distribution; шифрование скрывает исходник и может иметь expiry metadata, но не меняет необходимость понимать signal contract. Закрытый source — это distribution/security choice, а не доказательство качества transform.
08ПЕРЕД СДАЧЕЙ
Считайте DCTL-файл зависимостью проекта, а signal contract — частью grade.
Проект, который выглядит правильно только на workstation, где случайно установлен недокументированный script, нельзя считать production-safe.
09FAQ
Различия, которые не дают DCTL превратиться в чёрный ящик.
Что означает DCTL?
DaVinci Color Transform Language. На практике это C-подобный язык/исполняемый transform code для пользовательской обработки изображения в Resolve. Resolve FX DCTL является одним из host-способов запуска такого code внутри grading pipeline.
DCTL — это то же самое, что LUT?
Нет. LUT хранит дискретную таблицу input→output и использует interpolation; DCTL выполняет математический code на GPU и может иметь условия, spatial access, alpha logic и собственный UI. Некоторые задачи пересекаются, но модель выполнения разная.
Почему в панели только NONE и Blend?
NONE означает, что custom script не выбран. После выбора DCTL могут появиться дополнительные controls, если конкретный script их объявляет; чистый transform может не иметь собственного UI вообще.
Что делает Reload DCTL?
Он перечитывает content текущего выбранного DCTL-файла. Это удобно при редактировании code. Он не обновляет DCTL List и не предназначен для discovery нового файла.
Как заставить новый DCTL появиться в списке?
Положите корректный .dctl в активную LUT folder и перезапустите Resolve. Именно restart указан manual для refresh DCTL List; Reload DCTL здесь не заменяет restart.
Можно ли ослаблять любой DCTL через Global Blend?
Технически host позволяет смешивать output, но семантически это безопасно не всегда. Creative look часто можно микшировать; частичный color-space conversion может дать неопределённый intermediate signal. Следуйте контракту script.
Где должен стоять DCTL в node tree?
Универсальной позиции нет. Она зависит от expected input и output конкретного script: scene-referred creative look, display transform и diagnostic overlay требуют разных мест. Сначала описывайте signal state, потом выбирайте node placement.
DCTL работает в бесплатном Resolve?
Resolve 21 manual помечает DCTL Resolve FX как Studio Version Only. Поэтому страницу и workflow нужно рассматривать как Studio-функцию, даже если другие LUT/DCTL-related механизмы в Resolve имеют отдельные точки применения.
Источники и границы проверки
Видимые host controls и defaults сверены с тремя реальными screenshots Resolve из архива сайта. Поведение host, semantics list/reload, Studio-only статус, install paths и модель DCTL-vs-LUT дополнительно сверены с актуальным manual Resolve 21.1 и документацией Blackmagic по DCTL. Интерактивная contract lab не исполняет сторонний DCTL.
Этот веб-проход не заявляет live compile/render certification произвольных DCTL. Финальная production-приёмка относится к точной версии DCTL, целевой сборке Resolve, реальному материалу, scopes, GPU/runtime environment и delivery chain.