AMD нашла способ радикально сократить расход видеопамяти при трассировке миллиардов треугольников
- AlexT
- 22-сен-2026, 08:00
- 0 комментариев
- 1 просмотров

AMD представила экспериментальную технологию Tetrahedral Cages, предназначенную для трассировки лучей в чрезвычайно сложных анимированных сценах. Вместо постоянного обновления огромного количества геометрии метод помещает детализированные объекты внутрь более простых деформируемых тетраэдральных каркасов. Такой подход особенно интересен для растительности, толп и других сцен, где одновременно движутся тысячи объектов.
В демонстрации AMD использовалось около 25 тысяч анимированных растений, исходная геометрия которых насчитывала до 2,8 млрд треугольников. После применения уровней детализации в каждом кадре обрабатывалось примерно 500 млн треугольников. На Radeon RX 9070 XT сцена работала со скоростью свыше 60 кадров в секунду при разрешении 1920 × 1080. При этом объём памяти для структур ускорения трассировки удалось уменьшить примерно с 80 до 1,7 Гбайт, а затраты на их обновление — с более чем 300 до приблизительно 3,3 мс на кадр.
Трассировка лучей в статичной сцене — уже достаточно ресурсоёмкая задача, но ситуация заметно усложняется, когда большое количество объектов постоянно меняет свою форму.
Для ускорения поиска пересечений лучей с геометрией используются специальные структуры BVH — иерархии ограничивающих объёмов. Когда объект деформируется, связанную с ним структуру ускорения приходится обновлять.
Если таких объектов десятки тысяч, а каждый из них состоит из большого количества полигонов, затраты быстро становятся огромными как по объёму видеопамяти, так и по времени обработки кадра.
Именно такую задачу AMD решила продемонстрировать на растительности. Отдельные растения в тестовой сцене могли независимо реагировать на локальное направление ветра, то есть речь шла не о простом движении всей группы объектов одновременно.
Экспериментальная сцена AMD содержала приблизительно 25 тысяч анимированных растений. В исходном виде их совокупная геометрия достигала 2,8 млрд треугольников.
После выбора подходящего LOD для каждого объекта непосредственно при формировании кадра оставалось около 500 млн треугольников. Для сцены выполнялась трассировка первичных и теневых лучей.
На Radeon RX 9070 XT при разрешении Full HD AMD получила производительность выше 60 кадров в секунду.
Однако количество полигонов и частота кадров в данном случае были не единственной и даже не главной частью эксперимента. Основная задача исследования заключалась в том, чтобы уменьшить стоимость работы со структурами ускорения для независимо деформирующихся объектов.
При традиционном подходе каждому независимо анимируемому объекту необходимы изменяющиеся вершины и соответствующие структуры ускорения.
По оценке AMD, для продемонстрированной сцены использование обычных плотных BLAS потребовало бы до 80 Гбайт памяти. Кроме того, обновление этих структур на Radeon RX 9070 XT занимало бы более 300 мс на один кадр.
Tetrahedral Cages существенно меняет эту схему.
Вместо непосредственной деформации всей высокодетализированной модели она заключается внутрь гораздо более простой сетки, состоящей из тетраэдров. Именно этот внешний каркас деформируется во время анимации.
Сложная исходная геометрия и построенная для неё BVH при этом могут оставаться статичными и повторно использоваться.
Перед проверкой пересечения с исходной геометрией луч преобразуется обратно в её статическую систему координат. В результате стоимость анимации в большей степени зависит от сложности управляющего тетраэдрального каркаса, а не от количества находящихся внутри него треугольников.
В тестовой сцене новый метод уменьшил необходимый для BVH объём памяти приблизительно до 1,7 Гбайт вместо потенциальных 80 Гбайт при традиционном варианте.
Таким образом, расход памяти на структуры ускорения сократился примерно в 47 раз.
Ещё заметнее оказалась разница во времени их обновления. Вместо более чем 300 мс на кадр AMD получила около 3,3 мс. Это соответствует более чем 90-кратному сокращению затрат на обновление структур ускорения.
Подобная экономия потенциально позволяет использовать трассировку лучей в сценах с огромным количеством независимо движущейся геометрии, не превращая объём видеопамяти и подготовку BVH в критическое ограничение.
У тетраэдральных каркасов есть существенный компромисс. Метод не предназначен для ситуаций, когда разработчику необходим точный контроль над каждой вершиной модели.
Лучше всего технология подходит объектам, для которых достаточно сравнительно общей деформации. В первую очередь это трава, листва и другая растительность. Потенциально метод может применяться для больших групп объектов, толпы или находящихся на расстоянии персонажей.
А вот для сложной лицевой анимации, крупных планов персонажей и объектов с существенным изменением топологии подобный подход подходит значительно хуже. В таких случаях требуется более точная работа непосредственно с геометрией.
Поэтому Tetrahedral Cages стоит рассматривать не как универсальную замену существующим способам анимации, а как специализированный инструмент для определённых типов чрезвычайно насыщенных сцен.
Технология подробно рассматривается в исследовательской работе AMD под названием «Ray Tracing Massive Amounts of Animated Geometry», посвящённой трассировке огромных объёмов анимированной геометрии.
Работа получила третье место и награду Wolfgang Straßer Best Paper Award на конференции High-Performance Graphics 2026.
AMD также занимается подготовкой примеров реализации метода для DirectX Raytracing. Кроме того, компания работает над header-only библиотекой C++, которая должна упростить разработчикам интеграцию технологии в собственные системы рендеринга.
Важно, что показанная AMD технология пока относится к исследовательским разработкам. Это не готовая функция Radeon, которую уже можно включить в настройках современных игр, и из представленных результатов не следует, что она обязательно появится в конкретных игровых проектах.
Тем не менее эксперимент показывает интересное направление развития трассировки лучей. Вместо постоянного перестроения или обновления структур для огромного количества детализированной анимированной геометрии часть сцены можно оставить статичной, а движение перенести на значительно более простой управляющий каркас.
Для игр и других приложений с густой растительностью, многочисленными динамическими объектами и огромным количеством полигонов такой подход потенциально способен заметно снизить требования к видеопамяти и одновременно уменьшить время, которое GPU тратит на подготовку структур трассировки лучей.