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

TOP → CHOP: порядок пикселей

Ключевой оператор пиксель-мэппинга: как правильно вытащить картинку в значения и не убить производительность.

TOP to CHOP забирает пиксели из видеопамяти в процессор. Это самое дорогое место в пиксельном патче, и обращаться с ним надо аккуратно.

Главное правило

Уменьшайте картинку до конвертации

Если вам нужны значения для 512 светодиодов — приведите TOP к размеру 512 × 1 до TOP to CHOP. Тянуть в процессор кадр 1920 × 1080, чтобы взять из него 512 чисел, — это десятки миллисекунд на пустом месте и верный путь к падению кадров.

Схема:

картинка (любое разрешение)
      │
  remap / resolution / render в нужный размер
      │
  N × 1 пиксель — ровно столько, сколько светодиодов
      │
  TOP to CHOP

Параметры

Параметр Что делает
TOP Источник
Download Type Next Frame или Immediate
Crop Взять только часть картинки
Image Layout Как разложить пиксели по каналам и сэмплам
R/G/B/A Какие компоненты забирать

Download Type — важнее всего. Immediate заставляет процессор ждать видеокарту прямо сейчас: гарантированная просадка. Next Frame даёт задержку в один кадр и не блокирует конвейер. Для света задержка в 16 мс несущественна — берите Next Frame.

Image Layout

Определяет, во что превращается картинка:

  • каналы = компоненты цвета, сэмплы = пиксели — то, что нужно чаще всего: три канала r, g, b по N сэмплов;
  • каждый пиксель отдельным каналом — удобно для маленьких наборов и именованных приборов.

Для вывода в Packet Per Channel нужен первый вариант: сэмплы уже лежат в порядке пикселей — Format и таблица.

Чередование R G B

Контроллер ждёт байты подряд: R1 G1 B1 R2 G2 B2 …. После TOP to CHOP у вас три отдельных канала по N сэмплов. Нужно их перемежить.

Способы:

  1. Shuffle CHOP в режиме, который раскладывает каналы в сэмплы с чередованием.
  2. Сделать чередование на стороне картинки: разложить R, G, B в соседние пиксели ещё в TOP — тогда конвертация сразу даёт нужный порядок. Часто это дешевле и проще.
  3. Оставить как есть, если контроллер принимает раздельно (некоторые умеют).

Проверяется быстро: подайте чистый красный. Если загорелось зелёным — порядок перепутан.

Через POP

В версии 2025 у той же задачи есть путь без выгрузки в процессор: данные остаются на GPU и уходят через DMX Out POP. Для больших массивов это заметно дешевле.

Отладка

  • Trail CHOP после конвертации — видно, что реально пришло.
  • Тестовая картинка: один яркий пиксель, бегущий по строке. Сразу видно порядок, направление и границы.
  • Info CHOP покажет число сэмплов: оно должно точно совпадать с числом светодиодов.
Одна конвертация на весь проект

Не делайте TOP to CHOP в каждой ветке. Соберите всю пиксельную картину в один TOP нужного размера и конвертируйте один раз.

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

весь переводчик →
Пиксель-мэпперздесь — TOP в CHOP
  • grandMA2Bitmap Effect
  • grandMA3Bitmap Generator
  • Avolites TitanPixel Mapper
  • ETC EosPixel Map
  • ChamSys MagicQPixel Mapper
рядом по смыслу