Genere
ND
Lingua
ND
PEGI
ND
Prezzo
ND
Data di uscita
ND

Radeon 9700

Anteprima

Radeon 9700 - L'architettura - Prima Parte

Il nuovo chip di ATi DirectX 9.0 compliant è stato da poco annunciato e da pochi giorni è arrivato sul mercato portando con sé una serie di caratteristiche innovative con un salto tecnologico dalla generazione precedente, forse paragonabile solo a quello avvenuto con l'introduzione del primo chip Voodoo. Vediamo in dettaglio cosa offre il nuovo chip e su quali tecnologie si basa.

di Antonino Tumeo, pubblicato il

Passo successivo di Continuous e Adaptive Tessellation è l'implementazione del Displacement Mapping. Tale tecnica consiste nell'applicazione di una "speciale" texture alla superficie, denominata per l'appunto Displacement Map. E' una texture "speciale" non per come viene trattata, cioè con tutti i normali passaggi del texture mapping, con eventuali mip map e bilinear o trilinear filtering per migliorare il suo dimensionamento a seconda della grandezza nella scena 3D della superficie a cui applicarla, ma per come viene interpretata. Infatti, i singoli punti di questa texture, non contengono "texel" (cioè valori di colore), ma informazioni su altezza e posizione di "sottovertici" della superficie a cui essa viene applicata. Ed a partire da essa, il motore genera ulteriore geometria, ulteriori triangoli affinché tali altezze possano venire rispettate. Il vantaggio, rispetto alle n-patch, sta nel fatto che la n-patch ricava i valori della posizione dei vertici dei nuovi triangoli da generare autonomamente, con l'obiettivo di aggiungere una sorta di "curvatura" alla superificie di partenza (cosa che, tutto sommato, potrebbe creare qualche spiacevole artefatto), mentre con le displacement map tali valori possono essere decisi a piacimento dal programmatore, per dare qualsiasi tipo di effetto di estrusione. In soldoni, ciò significa che le displacement map possono essere usate in maniera molto simile al bump mapping (che prevede l'uso di specifiche texture map per impostare la gestione di illuminazione e riflessi per ciascun pixel di una superficie, in modo da renderla rugosa, liscia, incavata, e quant'altro a seconda delle necessità senza aumentare il numero dei poligoni che la compongono), ma con effetti molto più convincenti, visto che il maggior dettaglio geometrico che si vuole simulare viene effettivamente generato dall'hardware. Inutile dire che unito a Continuous e Adaptive Tessellation, il Displacement Mapping diviene uno strumento potentissimo nelle mani degli sviluppatori per creare modelli 3D estremamente realistici ma al contempo facilmente gestibili, anche e soprattutto dal punto di vista prestazionale, dall'hardware, e per l'ottima integrazione che raggiungono con la gestione di "higher order surfaces", potrebbe dare anche una spinta nel loro utilizzo.

HYPERZ III

HyperZ è la tecnologia ATi introdotta fin dal primo Radeon per ridurre la banda di memoria utilizzata. Con Radeon 9700 trova spazio la nuova versione anche di questa tecnologia. HyperZ è composto da tre componenti diverse: Hierarchical Z, Z Compression, Fast Z Clear. Come tutti i nomi lasciano intuire, nel funzionamento di questa tecnologia è massimamente coinvolto lo Z Buffer, o Depth Buffer, la zona di memoria dove vengono salvati i valori che indicano la distanza relativa di ogni "pixel" in fase di rendering rispetto al punto di vista. La lettura e la scrittura dello Z Buffer, come più volte abbiamo sottolineato, sono i tra i compiti più pesanti e che consumano più banda di memoria nelle operazioni di una scheda video. Ma le cose possono essere ottimizzate sotto vari punti di vista.
Hierarchical Z è in sostanza la parte che si occupa di "rimuovere" dalla fase di rendering le superfici nascoste. Il suo modo di operare è stato ottimizzato rispetto alle implementazioni di HyperZ II. Infatti, nella vecchia implementazione, lo Z Buffer veniva suddiviso in vari blocchi (composti da una serie di pixel) e se nessun pixel del blocco risulta visibile rispetto ad altre parti dell'immagine (cioè, i valori dello Z Buffer li collocano sotto), il blocco viene scartato e quei pixel non passano per la fase di rendering. Se invece una porzione del blocco risultava visibile (anche solo un pixel), allora tutto il blocco veniva passato al motore di rendering. In HyperZ III è stato aggiunto un ulteriore passaggio che migliora la granularità: se un blocco di pixel risulta parzialmente visibile, verrà suddiviso via via in blocchi più piccoli (eventualmente fino al livello del singolo pixel), in modo da scartare tutti i pixel nascosti e spedire al motore di Pixel Shading tutti quelli visibili.
La Z Compression, invece, come lo stesso nome lascia intuire, è un algoritmo di compressione dei dati dello Z-Buffer. Viene definito loss-less perché nel procedimento di compressione non c'è perdita di precisione nei valori di profondità e viene supportato automaticamente in Hardware, vale a dire che i dati prima di essere spediti alla memoria vengono subito compressi e appena letti dalla memoria vengono decompressi. I rapporti di compressione vanno da un minimo di 2:1 fino a 4:1 in qualche caso. L'AntiAliasing beneficia molto di questa compressione, perché naturalmente i vari campioni di uno stesso pixel hanno valori di Z simili, e si può trarre pieno vantaggio dalla compressione (per esempio, con sei campioni per pixel, come nel FSAA 6x, si possono raggiungere rapporti di 6*4:1, cioè 24:1).
Fast Z Clear è infine una tecnica che serve per cancellare velocemente e in maniera assolutamente precisa lo Z buffer tra il rendering di due fotogrammi. Un processo che deve essere preciso (perché se lo Z Buffer non è pulito correttamente ponendo uno zero in tutti i campi, si potrebbero avere grossi problemi di visualizzazione), e naturalmente deve essere veloce per non inficiare le prestazioni. Il problema è che tale procedimento, soprattutto alle alte risoluzioni, interpretato come una vera e propria operazione di scrittura sullo Z Buffer, occupa una bella porzione di banda (a 1600x1200, sono 7,7 MB di dati), e deve procedere cella per cella, non risultando quindi velocissimo. Con Fast Z Clear invece il procedimento avviene con minore occupazione di banda (1/64 rispetto alla norma) e agendo a livello di blocchi di cella piuttosto che di singola cella, risulta molto più rapido.

FINE DELLA PRIMA PARTE

In questa prima parte dell'approfondimento tecnologico sul nuovo chip grafico di ATi, abbiamo potuto vedere in dettaglio le novità introdotte per quanto riguarda il bus di sistema supportato, il controller di memoria locale, il motore geometrico ed le funzioni di riduzione dell'occupazione di banda di banda di memoria a livello di Z Buffer. Abbiamo, insomma, costruito la scena 3D mettendo al loro posto tutti i poligoni, e possiamo passare alla fase di "riempimento" dei poligoni, il rendering vero e proprio. Restate con noi per vedere le sostanziali innovazioni che l'architettura di Radeon 9700 porta da questo punto di vista.