Исследователи создали алгоритм для генерации 36 ГБ растительности из 52 КБ данных
Любой, кто интересуется реалистичной графикой в реальном времени — будь то игры или анимация — знает, что плотная растительность может быть очень ресурсоемкой для GPU. Она либо потребляет много видеопамяти, либо времени шейдеров, либо и того, и другого. Однако команда университетских исследователей и сотрудников AMD разработала решение, которое процедурно генерирует почти 36 ГБ реалистичных деревьев, ветвей и листьев всего из 52 КБ данных.
Работа команды была представлена на симпозиуме High-Performance Graphics 2025 от Eurographics Association (через Compusemble). Алгоритм использует «рабочие графы» (work graphs) на GPU для процедурной генерации реалистичной растительности из крошечного блока исходных данных. Конкретно — 52 КБ данных, что меньше четверти размера одного блока кэша L1 GPU Radeon RX 7900 XTX, который использовался для тестирования.
Рабочие графы — относительно новое дополнение к графическим API, таким как Direct3D и Vulkan. Это система, которая позволяет GPU самостоятельно управлять своей рабочей нагрузкой, даже вызывая необходимые шейдеры для рендеринга, не дожидаясь инструкций от CPU.
Хотя процедурная генерация — не новинка (демосцена конца 1990-х и начала 2000-х изобиловала крошечными, но впечатляющими графическими демонстрациями), достижение команды из Университета Кобурга (Германия) и специалистов AMD впечатляет. Алгоритм не только генерирует деревья, листья и кусты из 52 КБ видеопамяти, но и делает это на Radeon RX 7900 XTX в среднем за 7,7 мс, включая рендеринг.
Это приближает технологию к практическому использованию в играх. Например, при целевой частоте 60 кадров/с на весь рендеринг отводится всего 16,7 мс. Пока что тратить почти половину этого времени только на растительность вблизи — не идеально, но потенциал очевиден.
Для сравнения: традиционный подход с полигональными сетками и текстурами потребовал бы около 36 ГБ видеопамяти. Конечно, на практике сжатие и оптимизация сеток уменьшили бы этот объем, но точно не до 52 КБ.
0 комментариев