Группа ученых из Университета Кобурга (Германия) совместно со специалистами AMD разработала революционный алгоритм процедурной генерации растительности. Технология, представленная на симпозиуме Eurographics Association's High-Performance Graphics 2025, использует всего 52 килобайта исходных данных — меньше четверти размера одного блока кэша L1 GPU — для генерации растительности, которая в традиционном виде занимала бы почти 36 гигабайт.
Ключевым компонентом технологии стали рабочие графы (work graphs) — относительно новое дополнение к графическим API, таким как Direct3D и Vulkan. Эта система позволяет графическим процессорам самостоятельно управлять рабочей нагрузкой, включая вызов необходимых шейдеров, без ожидания инструкций от CPU.
Для тестирования своего кода исследователи использовали видеокарту Radeon RX 7900 XTX, которая справилась с генерацией и рендерингом всей растительности в среднем за 7,7 миллисекунд. Это открывает потенциальную возможность использования технологии в играх, где для достижения частоты 60 кадров в секунду доступно всего 16,7 миллисекунд на кадр.
Процедурная генерация — это способ, которым такие игры как No Man's Sky и Minecraft создают огромные, практически бесконечные игровые пространства при сохранении размера установки всего в несколько гигабайт.
Хотя теоретический размер 36 ГБ для традиционных полигональных сеток и текстур мог бы быть уменьшен с помощью компрессии и оптимизации, он никогда не приблизился бы к поразительным 52 килобайтам, достигнутым благодаря новому алгоритму.
Исследователи считают, что такие технологии могут появиться в играх быстрее, чем можно было ожидать, предлагая не только потрясающую графику, но и значительную экономию ресурсов системы.