Noua tehnică de ray tracing de la AMD reduce drastic consumul de memorie, de la 80 GB la doar 1,7 GB, și permite randarea a 500 de milioane de triunghiuri animate la peste 60 FPS pe placa RX 9070 XT.
AMD reduce consumul de memorie pe RX 9070 XT
AMD a prezentat un progres remarcabil în domeniul cercetării grafice, capabil să reducă semnificativ costurile de memorie și resursele de calcul necesare pentru aplicarea tehnicii de ray tracing asupra unor medii animate complexe. Tehnica sa bazată pe tetrahedral cage (cuști tetraedrice) permite procesarea în timp real, prin ray tracing, a sute de milioane de triunghiuri animate independent, eliminând astfel povara enormă asociată structurilor de accelerare.
Într-un nou articol publicat pe GPUOpen, Holger Gruen a demonstrat această tehnică folosind o scenă de teren de mari dimensiuni, care conține aproximativ 25.000 de plante animate independent. La nivelul maxim de detaliu (LOD), aceste plante însumează circa 2,8 miliarde de triunghiuri. În urma selecției LOD, aproximativ 500 de milioane de triunghiuri animate sunt procesate prin ray-tracing pentru fiecare cadru, utilizând raze primare și raze pentru umbre, scena rulând la peste 60 FPS la rezoluție 1080p pe o placă grafică Radeon RX 9070 XT.
Totuși, adevărata inovație constă în reducerea drastică a amprentei de memorie și a costurilor de actualizare a structurilor de accelerare.
În implementările tradiționale de ray tracing, obiectele animate independent trebuie să își gestioneze și să își actualizeze propriile ierarhii de volume de încadrare (BVH) – structuri de accelerare utilizate pentru a determina eficient cu ce elemente geometrice s-ar putea intersecta o rază. Pe măsură ce complexitatea scenei crește, actualizarea acestor structuri poate deveni extrem de costisitoare.
În schimb, abordarea AMD înconjoară geometria densă cu structuri de tip „cușcă” tetraedrică, deformabile și relativ simple. În loc să actualizeze fiecare vertex în parte și structura de accelerare asociată acestuia, tehnica animă „cușca” exterioară, menținând în același timp geometria densă originală și structura BVH aferentă în stare statică și reutilizabilă. Înainte de verificarea intersecției, razele sunt transformate înapoi în sistemul de referință original al geometriei.
Acest lucru se traduce printr-o reducere de aproximativ 47 de ori a memoriei necesare pentru structura de accelerare și o diminuare de peste 90 de ori a timpului de actualizare a BVH-ului, comparativ cu abordarea convențională. Un aspect esențial este faptul că aceste îmbunătățiri vizează două blocaje majore care pot împiedica randarea eficientă prin ray tracing a mediilor animate dens populate.
