Dopo aver a lungo discusso sulle capacità di calcolo di GF100, è venuto il momento di concentrarsi sulle capacità grafiche di questa GPU. Con Fermi NVIDIA entra nel mondo DirectX11, dominato fino ad oggi da ATI con la serie HD5000. Le DirectX 11 sono una serie di librerie rilasciate in concomitanza con il lancio di Windows 7 e disponibili, già da alcuni mesi, anche per Windows Vista con un apposito update. Le fondamenta delle DirectX 11 sono la versione 10.1 da cui ereditano tutte le funzionalità principali e le estendono fornendo una serie di miglioramenti sia per gli sviluppatori che per gli utenti finali. Le DirectX 11 supportano nativamente le tecnologie multi thread, aumentando l’efficienza della elaborazione video sui sistemi multicore e introducono le tecnologie di “tassellazione” nel mondo consumer PC.

NVIDIA GeForce GTX 480 e GTX 470 testate per voi 4. DirectX 11 Tessellation on GF100 1

Le tecniche di tassellazione sono note da molti anni e sono ampiamente utilizzate nel mondo professionale e cinematografico, per incrementare la qualità dei modelli 3D senza dover creare un modello poligonale troppo complesso. La tassellazione viene utilizzata in abbinamento al “Displacement Mapping”, ovvero una rappresentazione compatta e poco esosa in termini di risorse, di come una superficie dovrà essere rappresentata in un ambiente tridimensionale. Con l’abbinamento di queste tecniche è possibile variare la profondità di campo in modo dinamico, aumentando i dettagli solo quando si è vicini all’oggetto di interesse e riducendoli quando si è distanti; in questo modo è possibile rappresentare un ambiente più vasto con un minor impatto sulle prestazioni, ma senza sacrificare la qualità del dettaglio quando richiesto. Le Displacement Map possono inoltre essere modificate dinamicamente durante l’esecuzione, permettendo di modificare l’aspetto della superficie interessata, modificando la forma dell’oggetto in relazione a interventi esterni e non applicando solo una texture sopra l’oggetto stesso.

Nelle quattro immagini qui sotto riportate, possiamo avere una idea di come il motore di tassellazione interviene modificando l’aspetto del drago e delle tegole dei tetti. I modelli di questi due elementi sono piuttosto semplici, ma con un appropriato uso delle Displacement Map è possibili renderli tridimensionali e più ricchi di dettagli, ovviamente il programmatore non deve esagerare nella gestione del motore di tassellazione, il risultato sarebbe infatti poco credibile.


Tassellazione disattivata

Tassellazione Attivata

NVIDIA GeForce GTX 480 e GTX 470 testate per voi 4. DirectX 11 Tessellation on GF100 2 

NVIDIA GeForce GTX 480 e GTX 470 testate per voi 4. DirectX 11 Tessellation on GF100 3 

NVIDIA GeForce GTX 480 e GTX 470 testate per voi 4. DirectX 11 Tessellation on GF100 4 

NVIDIA GeForce GTX 480 e GTX 470 testate per voi 4. DirectX 11 Tessellation on GF100 5 

Il vantaggio di usare le tecniche di tassellazione invece che di un modello ad alta densità poligonale, è dato dal minor consumo di memoria ram durante il trasferimento dell’oggetto da renderizzare e dalla semplificazione a livello di design del modello stesso, che non dovrà essere creato più volte a seconda della distanza di visualizzazione, ma potrà essere usato un singolo modello con Displacement Map differenti. Tutto il processo di tassellazione avviene esclusivamente all’interno della GPU e tutti i nuovi poligoni, che vengono generati durante l’elaborazione, non vengono mai trasferiti alla memoria della scheda video; questo passaggio sarebbe di fatto inutile, in quanto questi poligoni sono presenti solo nella visualizzazione a schermo e non nel modello originale. Una volta attivata la Tessellation, i poligoni creati subiscono gli stessi effetti di postprocessing di tutti gli altri presenti nella scena, sono quindi soggetti all’illuminazione/ombre, Ambient Occlusion, etc.