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

Фильтры и искажения

Blur, Edge, Displace, Transform, Feedback-соседи: чем обрабатывают картинку и сколько это стоит.

Обработка картинки — это набор проходов по пикселям. Каждый узел стоит примерно «разрешение × сложность», и на этом строится вся оптимизация.

Основные операторы

Оператор Что делает Стоимость
Transform Сдвиг, поворот, масштаб, повтор Низкая
Blur Размытие Растёт с радиусом
Edge Контуры Низкая
Threshold Порог: чёрное или белое Низкая
Displace Смещение пикселей по второй картинке Средняя
Convolve Свёртка произвольным ядром Зависит от ядра
Emboss / Sharpen Рельеф и резкость Низкая
Chroma Key Ключ по цвету Низкая
Luma Blur Размытие, зависящее от яркости Высокая
Slope Градиент яркости в вектор Низкая
Analyze Свёртка всей картинки в одно значение Низкая
Resolution / Fit Пересчёт размера Низкая
Flip / Reorder Переворот, перестановка каналов Очень низкая

Displace — рабочая лошадка генеративной графики

Displace TOP сдвигает пиксели первого входа по данным второго. Второй вход обычно шум. Отсюда растёт большинство «жидких», «дымных» и «стеклянных» эффектов.

Ключевые параметры: Displace Weight (сила), Source (какие каналы второго входа считать смещением), Offset (нулевая точка). Если картинка уезжает в одну сторону — почти всегда Offset не 0,5 при беззнаковых данных.

Blur — самый дорогой из простых

Стоимость размытия растёт с радиусом. Как делают дёшево:

  1. Уменьшить картинку (Resolution TOP), размыть, растянуть обратно. Визуально почти неотличимо, стоит в разы дешевле.
  2. Использовать несколько проходов малого радиуса вместо одного большого.
  3. Для свечения — уменьшить, размыть, сложить с оригиналом в режиме Add на 16 битах.

Analyze — картинка в число

Analyze TOP сворачивает всё изображение в один пиксель: среднее, максимум, минимум, сумма. Дальше TOP to CHOP даёт число. Так делают автояркость, детект движения, реакцию на камеру — и всё это на GPU, без выгрузки кадра в процессор.

Порядок операций

Правило: сначала уменьшать, потом обрабатывать, в конце увеличивать. Второе правило: всё, что можно сделать один раз, делайте один раз и кладите в Null, а не пересчитывайте в трёх ветках.

Одна цепочка вместо трёх

Если один и тот же блюр нужен трём эффектам — посчитайте его один раз, положите в Null, и все трое возьмут оттуда. Копии одного и того же узла в разных ветках — самая частая причина «почему у меня 25 кадров».

Когда пора в GLSL

Если для эффекта выстраивается цепочка из десяти узлов, которые по сути делают одну математическую операцию над пикселем, — она дешевле и понятнее одним GLSL TOP. Порог примерно такой: пять-шесть узлов, работающих в полном разрешении, ради одной формулы.

рядом по смыслу