К содержанию
fohbookбета/ TouchDesigner

POP: геометрия на видеокарте

Точки, примитивы и атрибуты на видеокарте, без своих шейдеров. Что такое POP, из чего он состоит, что уже умеет и почему голые точки не рендерятся.

Ветка вашего пульта:1 фрагмент статьи для версий новее вашей1 фрагмент статьи для версий новее вашей
Быстрый выбор:
Появилось в 2025.30000 · в вашей версии этого нет

Появились POP — геометрия на видеокарте, — работа с цветовыми пространствами и Thread Manager.

POP (Point Operators) вошли в официальную ветку 2025.30000, первая сборка с ними — 2025.31550 от 30 октября 2025 года. Derivative называет их переосмыслением SOP, самого первого семейства программы.

SOP считает процессор, POP — видеокарта: точки, кривые, облака, частицы, процедурные формы, только миллионами и в реальном времени. Математику над атрибутами, смешивание, шум и сортировку собирают узлами, без кода, и гонять данные через CHOP ради расчёта, копируя GPU → CPU → GPU, больше не нужно — у POP свои Math, Math Mix, ReRange, Limit и Noise.

SOP POP
Где считается CPU GPU
Комфортный масштаб десятки тысяч точек миллионы
Примитивы полигоны с любым числом сторон, кривые точка, линия, ломаная, треугольник, четырёхугольник
Зрелость с 1989 года с ветки 2025.30000
Набор операций огромный растёт

Устройство

POP — это список точек, список примитивов и список вершин. У точек атрибуты: P — положение из трёх компонентов, N — нормаль, Color — всегда четыре компонента RGBA, Tex — текстурные координаты из трёх. Для своих задач есть общепринятые имена — PointScale, LineWidth, Vel, Weight, у частиц приставка Part. Новый атрибут появляется, стоит вписать новое имя в выходной атрибут Math POP или похожего. Атрибуты бывают и у примитивов с вершинами, а между классами их переносит Attribute Convert POP.

Память экономится сама: POP хранит только то, что создаёт или меняет, остальное берёт по ссылке у предыдущего узла, и в информации по среднему клику такие атрибуты помечены (r).

Что уже умеют

Генерируют примитивы, сетки, текст (Text POP), контуры картинки (Trace POP) и частицы (Particle POP). Читают .obj, .ply и другое через File In POP, облака и гауссовы сплаты — через Point File In POP, пишут через File Out POP и Alembic Out POP. Рендерятся через Geometry COMP и Render TOP, как SOP, или коротко — Render Simple TOP без отдельных Geometry, Camera и Light. Отдают данные свету через DMX Fixture POP и DMX Out POP (Приборы и патч), лазерам и LED-массивам. Свой код пишут в GLSL POP и GLSL Advanced POP — вычислительные шейдеры с готовыми функциями, — а оператор на C++ — в CPlusPlus POP. Для камер Stereolabs есть ZED POP. Примеры по каждому POP, сотнями, — в Help → Operator Snippets.

Своих требований к железу у POP нет: те же Vulkan 1.1 и от 4 ГБ видеопамяти, рекомендуется 8 и больше (Железо). Но миллионы точек со многими атрибутами съедают видеопамять быстро, и запас тут важнее, чем в 2D.

Первые шаги

Примитив POP и Render Simple TOP сразу дают картинку. Дальше оператор, меняющий атрибуты: шум по позиции, цвет по высоте. Потом данные снаружи — CHOP от звука, трекинг, таблица. Остальное как в SOP, только точек на три порядка больше.

SOP никуда не делись

Часть операций пока есть только в SOP, и связка «строим в SOP, массово обрабатываем в POP» нормальна. Переход между семействами не бесплатен, как любая конвертация.

Голые точки не рисуются

Render TOP рисует только примитивы, и точкам нужен примитив типа Point. Генераторы — Box, Sphere, Circle — создают точки сразу с примитивами, а Primitive POP умеет их снять. Инстансингу примитивы не нужны: он смотрит только на список точек.

Новое — на POP

Новый проект на ветке 2025.30000 с частицами, облаками и инстансами выигрывает на POP и в разработке, и в кадрах. Переписывать старое ради переписывания незачем.

Нашли в статье ошибку, устаревшее или непонятное место?

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