POP: геометрия на видеокарте
Точки, примитивы и атрибуты на видеокарте, без своих шейдеров. Что такое POP, из чего он состоит, что уже умеет и почему голые точки не рендерятся.
Появились 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, массово обрабатываем в POP» нормальна. Переход между семействами не бесплатен, как любая конвертация.
Render TOP рисует только примитивы, и точкам нужен примитив типа Point. Генераторы — Box, Sphere, Circle — создают точки сразу с примитивами, а Primitive POP умеет их снять. Инстансингу примитивы не нужны: он смотрит только на список точек.
Новый проект на ветке 2025.30000 с частицами, облаками и инстансами выигрывает на POP и в разработке, и в кадрах. Переписывать старое ради переписывания незачем.
Нашли в статье ошибку, устаревшее или непонятное место?