AMD ha presentato una nuova tecnica di ricerca dedicata all’ottimizzazione del ray tracing, denominata Tetrahedral Cages, che potrebbe ridurre drasticamente il consumo di memoria e i tempi necessari per aggiornare le strutture BVH (Bounding Volume Hierarchy).
Secondo i dati pubblicati da AMD sul portale dedicato agli sviluppatori GPUOpen, la tecnologia può arrivare a utilizzare circa 47 volte meno memoria e rendere gli aggiornamenti delle BVH fino a 90 volte più rapidi rispetto agli approcci tradizionali.
25.000 piante animate a oltre 60 FPS
AMD ha dimostrato la tecnologia attraverso una scena composta da circa 25.000 piante animate indipendentemente. Il test è stato eseguito a 1080p su una Radeon RX 9070 XT, raggiungendo oltre 60 fotogrammi al secondo.
Il problema affrontato da AMD riguarda soprattutto le scene caratterizzate da un numero molto elevato di oggetti animati. Nei sistemi tradizionali, ogni elemento che modifica la propria geometria può richiedere una struttura di accelerazione dedicata, da aggiornare a ogni fotogramma.
All’aumentare della complessità della scena, il costo computazionale e il consumo di memoria possono quindi crescere rapidamente.
Nel caso mostrato da AMD, un’implementazione convenzionale avrebbe richiesto fino a 80 GB di memoria GPU e oltre 300 millisecondi per fotogramma soltanto per gli aggiornamenti delle BVH.
Con le Tetrahedral Cages, gli stessi valori sono scesi a circa 1,7 GB di memoria e 3,3 millisecondi per fotogramma.
Come funzionano le Tetrahedral Cages
Il principio alla base della tecnologia è relativamente semplice: invece di animare direttamente una mesh composta da un numero elevato di poligoni, AMD la racchiude all’interno di una gabbia deformabile molto più semplice.
La geometria originale e la relativa BVH possono così rimanere statiche e venire riutilizzate. A essere modificata a ogni fotogramma è soltanto la gabbia, che contiene un numero di elementi decisamente inferiore rispetto alla mesh completa.
In questo modo, il costo dell’aggiornamento non dipende più direttamente dal numero di triangoli della geometria animata, ma dalla complessità della gabbia utilizzata per deformarla.
Il risultato è una significativa riduzione del lavoro necessario alla GPU per mantenere aggiornate le strutture utilizzate dal ray tracing.
Non mancano i compromessi
La soluzione proposta da AMD presenta però anche alcune limitazioni. L’utilizzo di una gabbia semplificata comporta infatti la perdita di parte del controllo sull’animazione dei singoli vertici.
Per questo motivo, la tecnologia sembra particolarmente adatta a elementi come erba, vegetazione e fogliame, dove è possibile ottenere movimenti credibili senza dover controllare individualmente ogni parte della geometria.
È invece meno adatta, almeno concettualmente, a modelli complessi nei quali l’animazione di ogni singolo vertice riveste un ruolo fondamentale.
Compatibilità con DirectX Raytracing
AMD afferma inoltre che le Tetrahedral Cages possono essere integrate con Microsoft DirectX Raytracing (DXR), aprendo potenzialmente la strada a un utilizzo della tecnica all’interno delle pipeline grafiche già esistenti.
Al momento, tuttavia, è importante sottolineare che si tratta di una dimostrazione di ricerca. AMD non ha annunciato quando la tecnologia potrebbe essere integrata nei driver, nei motori grafici o nei videogiochi commerciali.
Se dovesse arrivare in prodotti reali, il principio potrebbe comunque risultare particolarmente interessante per le scene open world e per gli ambienti caratterizzati da grandi quantità di vegetazione dinamica, dove il ray tracing può diventare particolarmente oneroso in termini di memoria e calcolo.
HW Legend Staff















