DirectX 11: in arrivo a Ottobre
Abbiamo avuto occasione di parlare in varie sedi delle nuove API Microsoft DirectX 11,
al debutto in concomitanza con il lancio del sistema operativo Windows 7 a partire dal
prossimo 22 Ottobre. Quali sono le principali novità che Microsoft ha implementato in
queste API? Vediamole in dettaglio:
- Tessellation: questa tecnica è stata già implementata a livello hardware in varie
precedenti GPU sviluppate da ATI, a partire da quella R500 utilizzata nella console
Microsoft Xbox 360. Si tratta di una tecnica che permette di migliorare la qualità e la
fedeltà di un oggetto 3D grazie ad un progressivo aumento del numero di triangoli
utilizzato per la sua riproduzione, con un livello di dettaglio che è variabile a seconda
del punto di osservazione (più questo è vicino, maggiori saranno i triangoli generati
così da incrementare il realismo dell'oggetto). L'approccio alla Tessellation scelto da
Microsoft per le DirectX 11 non è compatibile con quanto sviluppato da ATI per le GPU
precedenti la serie Radeon HD 5800; per questo motivo non è possibile sfruttare tecniche
di Tessellation implementate in giochi DirectX 11 con schede video ATI di precedente
generazione, tantomeno del resto con quelle NVIDIA.
- Shader Model 5.0: ultima evoluzione dello shader model, dopo quello 4.0 implementato con
le API DirectX 10 e lo shader model 3.0 delle prime architetture DirectX 9.0c.
- DirectCompute 11: è questo il nuovo approccio alle tecniche di DirectCompute, grazie
alle quali la GPU viene utilizzata dalle API anche per l'elaborazione di codice non
direttamente legato alla generazione di scene 3D. DirectCompute 11 è quindi la via scelta
da Microsoft, all'interno delle proprie API DirectX 11, per la gestione delle tecniche di
GPU Compute, con le quali avantaggiarsi della capacità di elaborazione parallela propria
delle più recenti GPU.
- Gestione Multi-threading: le nuove API gestiscono in modo più efficiente rispetto alle
precedenti processi multithreading. L'applicazione, DirectX runtime e DirectX driver
possono ora essere eseguiti in threads separati e non più nello stesso: sarà compito
delle display list il sincronizzare operazioni eseguite in tempi differenti dai vari
stream processors così che concorrano poi al risultato finale secondo il ruolo spettante
a ciascuna. Altre operazioni come il caricamento di una texture o la compilazione di uno
shader possono avvenire in parallelo con il principale task di rendering della scena.
- HDR Texture Compression: questa tecnica permette di eseguire una compressione delle
textures HDR a 16bit, sino ad un rapporto di 6:1. Questo approccio permette di ridurre gli
artefatti a blocchi tipici delle textures a 8bit compresse.
Una nota sul funzionamento delle tecniche di Tessellation. Nelle API DirectX 11 sono
stati implementati 3 nuovi stadi della pipeline specifici per queste funzioni: hull
shader, tessellation e domain shader. L'hull shader utilizza il codice dell'applicazione
verificando quali siano gli elementi che l'unità di tessellation richiede per poter
generare i nuovi punti di controllo, con i quali arricchire la geometria dell'oggetto.
L'unità di tessellation genera quindi i punti di controllo, elaborati dal domain shader
per generare i dati della nuova geometria, utilizzando se previste dal programmatore anche
delle displace texture, con le quali i vertici degli oggetti possono venir spostati
rispetto alla geometria iniziale così da conferire maggiore profondità. Una displace
texture potrebbe ad esempio venir utilizzata per incrementare il realismo di un vestito,
aggiungendo le pieghe che in modo naturale vengono a formarsi lungo il corpo.

tecniche di tessellation: sulla sinistra con displace texture, sulla destra senza
Il debutto delle prime architetture video DirectX 10 non ha portato ad una rapida
migrazione verso titoli che facessero ampio uso delle nuove API; i games developer sono di
fatto rimasti fedeli alle API DirectX 9, dovendo del resto sviluppare giochi che possano
essere compatibili con la maggior parte dei sistemi presenti sul mercato. In alcuni casi
è stato scritto un codice specifico per le API DirectX 10, ma in generale questa è stata
l'eccezione: uno sforzo di questo tipo non era infatti tipicamente giustificabile per uno
sviluppatore, in considerazione dei budget sempre ridotti.
Con la commercializzazione delle API DirectX 11 non ci si attende, almeno in teoria, un
approccio del mercato simile a quanto riscontrato con le API DirectX 10. Innanzitutto lo
sviluppo del codice per queste API rappresenta una evoluzione rispetto a quello delle
soluzioni DirectX 10, non un radicale cambiamento come avvenuto nel passaggio da DirectX 9
a DirectX 10. L'estensione della compatibilità alle API DirectX 11 anche ai sistemi
operativi Windows Vista, via aggiornamento software che verrà rilasciato da Microsoft, fa
in modo che il parco di sistemi potenzialmente compatibile con applicazioni scritte per
API DirectX 11 sia sin dal debutto significativamente elevato, fermo restanto che il
completo set di funzionalità DirectX 11 può venir sfruttato solo con GPU che supportano
in modo nativo queste API.
Quanto tempo dovrà trascorrere prima del debutto di giochi DirectX 11 sul mercato? Il
supporto a queste API da parte dei games developer dovrebbe essere sufficientemente
rapido: i giochi che includeranno compatibilità con le API DirectX 11 già nel 2009 sono
BattleForge, S.T.A.L.K.E.R.: Call of Pripyat e Colin McRae DiRT 2. Il primo è uno
strategico in tempo reale prodotto da Electronic Arts e basato sulle micro-transazioni. Il
gioco è stato rilasciato nello scorso mese di Marzo, ma il supporto DirectX 11 verrà
aggiunto tramite patch che sarà disponibile entro la fine del mese di Settembre.
S.T.A.L.K.E.R.: Call of Pripyat è il terzo capitolo della serie di sparatutto in prima
persona ambientata in un contesto post-apocalittico e sviluppata dalla software house
ucraina GSC GameWorld. Il gioco verrà rilasciato nel prossimo autunno e includerà già
nella versione base il supporto DirectX 11. Sempre entro la fine del 2009 ci sarà anche
Colin McRae DiRT 2, disponibile nel formato PC da Dicembre e già sul mercato nelle
versioni console.
Veniamo al 2010: Turbine sta adattando la sua tecnologia in modo da avere il supporto
DX 11 nei suoi MMORPG. Ne beneficeranno, quindi, Il Signore degli Anelli Online e Dungeons
& Dragons Online. Due blockbuster del 2010 che supporteranno le DX 11 sono Aliens vs
Predator, sviluppato da Rebellion, e Battlefield Bad Company 2 di Digital Illusions CE:
entrambi verranno rilasciati nella prima parte dell'anno. Infine si parla di supporto DX
11 anche per il gioco non ancora annunciato ufficialmente Genghis Khan, sviluppato da
Kylin, e per il motore grafico Vision, sviluppato da Trinigy.
|