Extrém memóriát igénylő növényzet akadályozza a sugárkövetést a legújabb videójátékokban, ám most áttörést értek el. A grafikai kutatások során sikerült a mozgó növényzet rendereléséhez szükséges gyorsítóstruktúrák memóriaigényét 98 százalékkal visszaszorítani.
Tetraéderes kalitkák a sűrű növényzet renderelésében
A sugárkövetés (ray tracing) egyik legnagyobb szűk keresztmetszete a dinamikusan mozgó, összetett tárgyak lefedése. Amikor több ezer fűszál vagy bokor mozdul meg a szélben, a videókártyának minden egyes képkockánál újra kell építenie a gyorsítótárat (BVH). Egy 25 ezer függetlenül animált növényből álló mérés során a hagyományos eljárás akár 80 gigabájtnyi videómemóriát is leköthetett, miközben a frissítés 300 milliszekundumot vett igénybe.
A kutatók által kifejlesztett, úgynevezett tetraéderes kalitkák eljárása ezt a problémát hidalja át. A sűrű geometriát deformálható külső kalitkákba csomagolják, így a részletes modell belső struktúrája és gyorsító anyaga statikus marad. A sugárkövetési számítások során a fénysugarakat az eredeti referenciakeretbe transzformálják vissza, így az animáció számítási költsége már nem a több millió háromszögtől, hanem csak a külső kalitka komplexitásától függ.
Látványos teljesítménynövekedés a mérések alapján
A gyakorlati teszt során egy Radeon RX 9070 XT grafikus kártyán futtatták a rendszert Full HD felbontás mellett. A mérések alapján a feldolgozott 500 millió animált háromszög ellenére a gyorsítóstruktúra memóriafogyasztása 80 gigabájtról mindössze 1,7 gigabájtra zuhant vissza. Ezzel párhuzamosan a struktúra képkockánkénti frissítési ideje 300 milliszekundumról 3,3 milliszekundumra csökkent, ami stabil 60 képkocka/másodperc feletti képfrissítést tett lehetővé.
Ahol a technológia a leghasznosabb lehet
A megoldásnak korlátai is vannak, hiszen nem biztosít finom, egyesével történő csúcspont-vezérlést a modelleken. Emiatt az eljárás leginkább a nagy tömegben megjelenő, természetes környezeti elemeknél alkalmazható hatékonyan:
- Erdők, mezők és sűrű aljnövényzet animációja.
- Távoli tömegek és hátterek dinamikus mozgása.
- Fizikai szimulációkra reagáló növényzet.
A fejlesztői mintakódok és a C++ könyvtárak készítése már folyamatban van, így a jövőbeli videójátékok sokkal kevesebb VRAM használatával jeleníthetnek meg részletes, sugárkövetéssel megvilágított természeti környezetet.









