Hardware Upgrade - il sito italiano sulla tecnologia - www.hwupgrade.it Hardware Upgrade - il sito italiano sulla tecnologia - www.hwupgrade.it
Finalmente NV40: GeForce 6800 Ultra

Finalmente NV40: GeForce 6800 Ultra

di Paolo Corsini, Raffaele Fanizzi pubblicato il 14 Aprile 2004 nel canale Schede Video
“Poco più di un anno è passato dal fallimentare debutto delle soluzioni GeForce FX 5800, meglio note con la sigla NV30. NVIDIA ha molto imparato dai propri errori e, con la prima scheda basata su architettura NV4x, ritorna prepotentemente all'attacco nel mercato delle schede video di fascia più alta.”
Versione Stampabile

Displacement mapping

In occasione del debutto della scheda video Matrox Parhelia, avvenuta circa 2 anni fa, una delle caratteristiche più interessanti presentate da Matrox era il supporto hardware al Displacement Mapping, tecnologia implementata nelle API DirectX 9 ma almeno sino ad ora poco implementata. L'Hardware Displacement Mapping si compone di due distinte parti, il Depth-Adaptive Tessellation e il Vertex Texturing: vediamo in dettaglio di cosa si tratti e come operino.

La geometria di una scena 3D è definita da una mesh, cioè dall'insieme dei triangoli che connessi tra di loro rappresentano la superficie degli oggetti 3D che compongono la scena. Le tecniche di tessellazione (Tessellation) permettono di generare un maggior numero di triangoli a partire dai triangoli base che compongono gli oggetti 3D: aumentando il numero dei triangoli aumenta il numero di elementi che compongono la mesh, di conseguenza il dettaglio con il quale i singoli oggetti 3D vengono costruiti nella scena.

Sulla tessellated mesh viene applicata una displacement map: questa è niente altro che una immagine bitmap, tipicamente di dimensioni 64 x 64 x 8bit, con vari livelli di colore per ogni pixel (in toni di grigio, per la precisione); in base all'intensità del colore, più chiaro o più scuro, corrisponde una specifica altezza nello spazio del pixel corrispondente sulla tessellated mesh. In altre parole, le informazioni contenute nella displacement map servono per trasferire in piano tridimensionale i triangoli che compongono la tessellated mesh.

Una volta applicata la displacement mesh l'immagine finale viene renderizzata, applicandone le varie textures ed eventualmente vertex shaders e pixel shaders, ottenendo la scena finale che appare a monitor.

Le mesh possono essere di vario tipo: una base mesh è composta da due soli triangoli; una linear tessellated mesh è una base mesh con un maggior numero di triangoli ottenuti per interpolazione. La linear tessellated mesh può essere a sua volta elaborata con un procedimento di N-Patch, così da ottenerne una superficie curva, oppure su di essa può essere applicata una displacement map così da ottenere una vertex textured mesh, nella quale i vari pixel hanno altezza variabile a seconda dei dati contenuti nella displacement map.

L'operazione di tessellation permette di arricchire le informazioni di natura geometrica che compongono la scena 3D riprodotta. In base al punto di osservazione dell'utente, la maggiore geometria fornita con l'operazione di tessellation permette di arricchire notevolmente i dettagli degli oggetti in primo piano. Allo stesso modo, però, viene influenzata la geometria anche degli elementi in secondo piano, che per la loro particolare posizione all'interno della scena non richiedono un dettaglio così elevato.
Per risparmiare il numero di calcoli richiesto al sistema, diminuendo il numero complessivo di triangoli che compongono la scena, è possibile adottare tecniche di Dept-Adaptive Tessellation, cioè la tessellazione in funzione della profondità. In parole povere, all'aumentare della distanza di un oggetto dal punto di osservazione viene ridotto il numero di triangoli utilizzato per comporlo, così da mettere a disposizione della GPU una superiore potenza di calcolo.

L'approccio della Dept-Adaptive Tessellation può essere utilizzato, in modo molto intuitivo, anche con le displacement map: in altro modo, in funzione della lontananza dal punto di osservazione della scena varia il numero di triangoli utilizzato per comporre gli oggetti 3D, pertanto sempre in funzione del punto di osservazione possono essere utilizzate differenti displacement map, che intervengono sulla tessellated mesh a generare la posizione verticate dei singoli triangoli, in modo completamente dinamico in funzione dello spostamento del punto di osservazione. Anche in questo caso, la logica di fondo parte dal presupposto che più lontano è il punto di osservazione, minori dettagli saranno distinguibili in modo chiaro e quindi meno informazioni si renderanno necessarie per costruire gli oggetti.

La tecnica del displacement mapping può ricordare, per alcuni versi, il bump mapping. Scopo del bump mapping era quello di creare l'impressione che su un oggetto 3D fossero presenti variazioni (bumps) della superficie, mentre il displacement mapping non crea un'illusione ma genera effettivamente sull'oggetto 3D riprodotto una variazione di superficie.

displacement_mapping_1.jpg (14639 bytes)

Nell'esempio, la testa di un dinosauro al quale sulla sinistra è stata applicata una mesh; sulla destra è stato applicato il colore del materiale utilizzato per la superficie.

displacement_mapping_2.jpg (21007 bytes)

Applicando una displacement map sulla mesh la superficie del dinosauro si presenta ricca di increspature, piccole variazioni e dettagli, rendendo l'oggetto molto più realistico. A differenza dell'utilizzo di tecniche di bump mapping, con una displacement mapping il realismo ottenuto è estremamente più elevato, in quanto non si ha la percezione degli avvallamenti presenti sulla superficie ma questi sono realmente presenti.


Segue : High Precision Dynamic Range (HPDR) Pagina successiva
Pagina 1:Introduzione
Pagina 2:NV40: architettura di base
Pagina 3:Vertex Shader
Pagina 4:Pixel Shader
Pagina 5:Displacement mapping
Pagina 6:High Precision Dynamic Range (HPDR)
Pagina 7:Multiple Render Targets
Pagina 8:Rotated-Grid Anti Aliasing
Pagina 9:Programmable Video Processor
Pagina 10:La scheda
Pagina 11:Driver: Forceware 60.72
Pagina 12:Far Cry e UT2004: due nuovi benchmark
Pagina 13:Configurazione di prova
Pagina 14:Analisi qualitativa: riproduzione video
Pagina 15:Analisi qualitativa: filtro anisotropico
Pagina 16:Analisi qualitativa: antialiasing
Pagina 17:Analisi qualitativa: confronto antialiasing
Pagina 18:Benchmark 2D
Pagina 19:Benchmark sintetici
Pagina 20:Unreal Tournament 2004
Pagina 21:Far Cry
Pagina 22:AquaMark 3
Pagina 23:Splinter Cell
Pagina 24:Halo
Pagina 25:Tomb Raider The Angel Of Darkness - X2: The Threat
Pagina 26:Enemy Territory - Serious Sam The Second Encounter
Pagina 27:Analisi antialiasing
Pagina 28:Analisi filtraggio anisotropico
Pagina 29:Overclock
Pagina 30:Editor's Day 2004
Pagina 31:Conclusioni
 
NVIDIA
Legali  -  Privacy  -  Pubblicità  -  Email Redazione - Supporta - Awards - Redazione - Storia
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1997 - 2010 - Hardware Upgrade S.r.l. P.iva: 02560740124
Hardware Upgrade è testata giornalistica registrata presso il tribunale di Varese, n. 879 del 30/07/2005- Iscrizione ROC n° 13366 - Info
L'editore non si assume nessuna responsabilità nel caso di errori eventualmente contenuti negli articoli pubblicati.
Per eventuali segnalazioni, inviare una mail all'indirizzo redazione@hwupgrade.it