ATI Radeon 256 Preview

Preview sul chip video ATI Radeon 256
di Davide Cornacchini pubblicato il 02 Maggio 2000 nel canale Schede VideoATIRadeonAMD
KeyFrame Interpolation, Vertex Skinning e Skeletal Animation
Nella stragrande maggioranza dei giochi attuali, le animazioni facciali non sono molto complesse, anzi, spesso piuttosto approssimative. Questo a causa del fatto che tali animazioni (ma non soltanto quelle facciali, anche qualsiasi altro tipo di animazione reperibile in una scena 3D) comportano la necessità di utilizzare una notevole quantità di frames intermedi. Ciò si traduce in un forte appesantimento dei calcoli, che, ovviamente, riduce le prestazioni. ATI ha messo a punto per il chip Radeon256 un'interessante tecnologia, che dovrebbe consentire di dover generare un numero nettamente minore di frames, ottenendo comunque un risultato migliore graficamente. La Keyframe Interpolation agisce nella seguente maniera: a partire da una animazione, vengono presi i frame iniziale e finale e calcolati dei frame intermedi sulla base delle variazioni avvenute tra i due frame di partenza e fine; questo permette di ottenere dei frames interpolati e non dover generare troppi frames per avere un filmato sufficientemente fluido e riproducibile senza scatti. L'immagine sottostante mostra chiaramente come il keyframe interpolation operi:
Il frame a sinistra è quello iniziale, mentre sulla destra si trova quello finale; i due frames centrali sono ottenuti per interpolazione dei due frames estremi. La tecnica ricorda molto da vicino le procedure di morphing che molti possessori di PC hanno avuto la possibilità di provare. Tra l'altro questo è un esempio di compressione dei dati relativi ai poligoni da elaborare dall'unità T&L che vengono inviati dalla cpu; quando questi dati oltrepassano la bandwidth disponibile fra CPU e scheda video (e qua ecco l'utilità della tecnologia Fast Writes AGP4X) l'unità T&L ovviamente non può essere sfruttata appieno, con un calo del polygon rate.
In molti giochi moderni, i movimenti dei personaggi, o animali, vengono realizzati con una tecnologia chiamata "Skeletal Animation" che letteralmente significa "animazioni scheletriche": una serie di "ossa" di poligoni vengono ricoperte dalle textures attraverso la classica serie di coordinate. La posizione di queste coordinate, e quindi della parte di corpo a cui si riferiscono, può variare a seconda dei movimenti di una più "ossa". In questo modo le animazioni sono composte solamente dai movimenti dello scheletro, occupando una quantità di memoria decisamente inferiore rispetto a animazioni basate sullo spostamento dei vertici. Quando però le giunture fra queste "ossa" devono piegarsi, ruotare, o fare qualsiasi altro spostamento, spesso possono formarsi dei "buchi" che non sono certamente realistici (cosa che ovviamente non accade con animazioni basate sulla variazione delle coordinate delle textures).
ATI ha quindi introdotto una tecnologia, chiamata "Vertex Skinning",accelerata direttamente in hardware, che colma questi spazi vuoti, come evidenziato nelle due immagini di seguito:
Come potete chiaramente vedere nell'immagine di sopra, fra un "osso" e l'altro si è formato in seguito a un movimento uno spazio vuoto. Di sotto, utilizzando la nuova tecnologia implementata da ATI nel Radeon 256 il problema viene risolto:
Il Vertex Skinning combina le coordinate dei vertici agli estremi dello spazio vuoto, creando una texture (ottenuta dalla combinazione fra i colori della textures che circondano lo spazio vuoto) che lo colma, con un guadagno di realismo nelle animazioni dei personaggi. Tra l'altro questo effetto è uno di quelli che non richiedono supporto da parte del software, in quanto già la maggior parte dei giochi sfrutta la cosidetta "skeletal animation".