AMD предложила новый метод ускорения трассировки для сцен с анимацией и множеством полигонов
Технология подойдет не всем решениям, но с растениями она работает нормально.
AMD показала новую технологию рендеринга, позволяющую обсчитывать трассировку лучей для сцен с миллиардами анимированных полигонов при существенно меньшем расходе видеопамяти.
В демонстрационной сцене, использованной компанией, есть около 25 тысяч растений с независимыми анимациями. Сцена может содержать почти 3 миллиарда полигонов, ее оптимизированная версия выдает 60 fps на Radeon RX 9070 XT в разрешении 1080p.
Ключевая особенность метода — использование деформируемых тетраэдрических клеток вместо постоянного обновления всей геометрии. Детализированная полигональная модель растения остается статичной, во время анимации изменяется только окружающая ее более простая клетка.
В предложенном решении перед проверкой пересечения луч преобразуется обратно в статическую систему координат исходной модели. Благодаря этому вычислительная стоимость анимации определяется в основном сложностью тетраэдрической клетки, а не количеством треугольников внутри нее.
Это позволяет отказаться от постоянного пересчета иерархии ограничивающих объемов BVH, используемой для ускорения обсчета трассировки лучей. В обычной динамической сцене с таким количеством анимаций требовалось порядка 80 гигабайт памяти, оптимизация срезала этот объем до 1.7 гигабайта.
Важный момент: технология AMD не обеспечивает тот же уровень точности анимаций, что и обычные решения. Разработчики теряют возможность отдельно управлять каждой вершиной детализированной сетки, зато взамен получат возможность делать, например, очень проработанные и анимированные леса.

