AMD сократила расход памяти на трассировку лучей для растительности на 98%
Новая технология тетраэдрических клеток позволяет рендерить густые лесные сцены почти без нагрузки на видеокарту
Если верить Холгеру Грюену (Holger Gruen), научному сотруднику Advanced Graphics Program в AMD, обычная сцена из 25 тысяч анимированных растений, состоящих из сотен тысяч полигонов, может требовать около 80 гигабайт видеопамяти. Кроме того, видеокарте вроде Radeon RX 9070 XT потребуется 300 миллисекунд на один кадр просто для проверки пересечений лучей со всеми поверхностями — это именно то, что замедляет рендеринг плотных лесных сцен до неприличного фреймрейта.
Выход нашли в так называемых тетраэдрических клетках. Это упрощённые геометрические структуры, которые оборачивают вокруг плотной сетки растений. Вместо того чтобы обрабатывать каждый лист каждого дерева отдельно, система деформирует только саму клетку — упрощённый каркас. Лучи трассируются вдоль этой упрощённой поверхности, а не по всем колыхающимся вершинам виртуального дерева.
«Плотная геометрия анимированного объекта и его BVH-структуры остаются статичными и переиспользуемыми, — объясняет Грюен. — Во время выполнения деформируется только клетка. Лучи преобразуются обратно в статическую систему координат перед пересечением с плотным набором треугольников». Проще говоря, стоимость анимации зависит от сложности клетки, а не от количества полигонов. Жертва небольшая — теряется возможность тонко настраивать анимацию каждой вершины, но для поля травы или лесной чащи это никому не требуется.
В демонстрационных примерах AMD тетраэдрические клетки потребляют всего 1,7 ГБ памяти BVH и примерно 3,3 миллисекунды на обновление всех структур за кадр. Это почти в 50 раз быстрее, чем традиционный подход.
Сейчас технология пока что остаётся исследовательским проектом, а не готовой фишкой для завтрашних игр. Однако команда AMD уже активно работает над тем, чтобы выпустить примеры для DirectX Raytracing и header-only C++ библиотеку, которая позволит разработчикам создавать высококачественные тетраэдрические клетки для объектов с скелетной анимацией, ключевыми кадрами и статичных моделей. Подробности исследования доступны в открытой статье «Ray Tracing Massive Amounts of Animated Geometry».





Обсуждение