К содержанию
fohbook/ TouchDesigner
уверенный

Spout, Syphon и Touch In/Out

Передача картинки между программами и между процессами: что работает локально, а что по сети.

Иногда картинку надо отдать не на экран, а в другую программу — или в другой процесс TouchDesigner. Способов три, и они не взаимозаменяемы.

Что выбрать

Способ Между чем Скорость Через сеть
Syphon / Spout Программами на одной машине Мгновенно, без копирования Нет
Touch In / Out TOP Процессами TouchDesigner Быстро Да
NDI Чем угодно Со сжатием и задержкой Да

Syphon Spout Out / In TOP

Один оператор на обе платформы: Spout на Windows, Syphon на macOS. Работает через разделяемую видеопамять — картинка не копируется через процессор и не сжимается. Это самый дешёвый способ отдать кадр.

Ограничение жёсткое: только внутри одной машины. По сети — не работает.

Форматы: Spout передаёт вплоть до 32-битного float RGBA, Syphon ограничен 8 битами RGBA.

Типовые связки:

  • TouchDesigner генерирует слой → Resolume играет сет;
  • Resolume отдаёт микс → TouchDesigner делает мэппинг;
  • Unreal Engine рендерит сцену → TouchDesigner выводит и коммутирует;
  • сторонний AI-процесс (диффузия, сегментация) обменивается кадрами с TouchDesigner — Диффузия.

Touch In / Touch Out

Родная передача между экземплярами TouchDesigner — и по сети тоже. Есть версии для TOP, CHOP и DAT: можно гонять не только картинку, но и сигналы с данными.

Применения:

  • Разделение нагрузки: тяжёлая генерация на одной машине, вывод на другой;
  • Резерв: две машины считают одно и то же, третья выбирает — Резерв;
  • Изоляция: рискованная часть (нейросеть, чужой плагин) живёт в отдельном процессе и не роняет шоу — Несколько процессов.

Engine COMP — не передача, а вложение

Отдельный случай: Engine COMP загружает .tox и крутит его в отдельном процессе, показывая результат внутри вашего проекта. Никакой ручной передачи не нужно, картинка и данные ходят автоматически.

Это правильный ответ на «нейросеть роняет мне шоу» и на «один тяжёлый компонент съедает весь кадр».

Spout — лучший способ подружить TD с чужим софтом

Прежде чем писать интеграцию, проверьте: почти всё в этой индустрии умеет Spout или Syphon. Это две строчки настройки вместо дня работы.

Имена источников — часть конфигурации

Spout и NDI находят друг друга по имени. Задайте имена явно (show_main, show_mask) и запишите их в документацию проекта. «Sender 1» и «TouchDesigner» на площадке с тремя машинами — гарантированная путаница.

На других пультах

весь переводчик →
Кадр в соседнюю программуздесь — Spout / Syphon / NDI / Touch In-Out
  • ResolumeNDI / Spout / Syphon
  • MadMapperSyphon / Spout / NDI
  • disguise (d3)NDI
рядом по смыслу