Инстансинг
Одна геометрия, тысячи копий за один вызов видеокарты. Копией может быть сэмпл CHOP, строка DAT, пиксель TOP или точка SOP; канал Active включает их по одной.
Инстансинг рисует много копий одной геометрии за один вызов видеокарты. Тысяча кубов через Copy SOP нагружает процессор, тысяча кубов инстансингом проходит незаметно.
Страница Instance
Включается всё на Geometry COMP. Instancing включает. Instance Count Mode
берёт число копий из Num Instances или из длины источника — сэмплов
CHOP, строк DAT, пикселей TOP. Default Instance OP — источник
по умолчанию, а Translate OP, Rotate OP, Scale OP и Pivot OP
позволяют брать преобразования из других мест; ниже выбирают, какой канал
или столбец идёт в X, Y и Z. Active — канал, которым копии включают
по одной: с нулём копия не рисуется.
На Instance 2 находятся цвет (Color OP с Color Mode: заменить цвет
материала, умножить, прибавить, вычесть), смещение текстурных координат
(Tex Coord OP), поворот по вектору вроде скорости (Rotate to OP)
и своя текстура каждой копии (Instance Textures, только Windows
и NVIDIA). На Instance 3 — до двенадцати своих атрибутов для шейдеров.
Источники
| Источник | Что есть копия | Когда |
|---|---|---|
| CHOP | Сэмпл; каналы — свойства | Данные уже в CHOP: звук, трекинг, DMX |
| DAT | Строка таблицы | Фиксированный список; первая строка может быть заголовками (First Row is) |
| TOP | Пиксель; RGB — значения | Миллионы копий, данные посчитаны на видеокарте |
| SOP | Точка геометрии | Расставить копии по точкам модели |
Быстрее всего TOP: данные не уходят с видеокарты, пиксель — копия, RGB — XYZ, а пиксель с альфой 0 или NaN пропускается. Из CHOP в TOP данные переводит CHOP to TOP, сразу на видеокарте их считают GLSL и POP.
noise CHOP (3 канала × 500 сэмплов) ──▶ null ──┐
├─▶ geo1 (Instance)
sphere SOP ─────────────────────────────────────┘
Default Instance OP = null, в Translate X/Y/Z — chan1 chan2 chan3,
и пятьсот сфер разбросаны шумом. Цвет и размер потом приходят из других
CHOP.
Что раздают
Позиции — сеткой, по окружности, по точкам геометрии
(SOP to CHOP), по патчу светильников. Цвет —
из анализа звука, из палитры, из сэмплирования картинки.
Поворот — на камеру, по движению, от шума. Масштаб — от громкости,
расстояния, возраста частицы. Видимость — каналом Active, без перестройки
данных. Смещение UV выбирает кусок атласа, так делают спрайты и разные
символы из одной текстуры.
Для света копия — это прибор: позиции из патча, цвет из того, что должно светить, и одна сцена служит и пре-визом, и источником DMX — Наведение по 3D-цели.
Копии делят материал, и различаются они данными — цветом, UV, своими атрибутами. Если одному кубу понадобился другой шейдер, это уже отдельная геометрия.
Миллион копий за камерой всё равно проходит вершинный шейдер. Лишнее
отсекают данными — Active или длиной источника, — а не уводят за кадр.
Нашли в статье ошибку, устаревшее или непонятное место?