AMD презентувала власну технологію трасування променів, яка дозволяє значно зменшити споживання пам’яті та обчислювальних ресурсів. Про це повідомив науковий співробітник AMD Хольгер Груен у статті GPUOpen, опублікованій 17 вересня.
Нова розробка базується на використанні тетраедричних осередків, що дає змогу трасувати промені в реальному часі для сотень мільйонів незалежно анімованих трикутників без великих накладних витрат на структури прискорення (BVH). Технологію продемонстрували на масштабній сцені з ландшафтом, яка містила 25 тисяч анімованих рослин. При максимальному рівні деталізації одна рослина складалася приблизно з 2,8 мільйона трикутників, а загалом у сцені трасувалися близько 500 мільйонів анімованих трикутників у кожному кадрі із застосуванням основних і тіньових променів. Демонстрація працювала зі швидкістю понад 60 FPS у роздільній здатності 1080p на відеокарті Radeon RX 9070 XT.
Найбільшим досягненням розробки стало істотне зменшення обсягу пам’яті, необхідної для структур прискорення, та часу на їх оновлення. Традиційно для трасування променів незалежно анімовані об’єкти мають підтримувати й оновлювати власні BVH, що при зростанні складності сцени стає ресурсомістким. AMD запропонувала зберігати складну геометрію в простіших деформованих тетраедричних осередках. Замість оновлення кожної вершини та пов’язаної з нею структури прискорення, анімується лише навколишній осередок, а щільна геометрія та її BVH залишаються придатними для повторного використання. Перед перевіркою перетину промені повертаються у вихідну систему координат.
За даними AMD, це дозволяє скоротити обсяг пам’яті для структур прискорення приблизно у 47 разів, а час оновлення BVH — більш ніж у 90 разів. Водночас тетраедричні осередки поступаються у точності контролю над анімацією окремих вершин, тому підходять переважно для густої рослинності, трави, натовпу чи персонажів на відстані, але не для задач, де потрібна точна деформація та зміна топології сітки.
AMD також працює над прикладами трасування променів для DirectX (DXR) і бібліотекою C++ з відкритим кодом, щоб допомогти розробникам інтегрувати нову технологію у власні рендеринг-конвеєри. Наразі це лише демонстрація, а не готова до впровадження функція, однак вона відкриває перспективу створення складної геометрії без потреби у потужних відеокартах із великим обсягом VRAM.

