DirectX 10.1: tra Shader Model 4.1, XAudio 2 ed altro, come destreggiarsi?

12 12 2007

Secondo quanto dichiarato da Richard Huddy, WW developer relations manager di ADirectXMD, le DirectX 10.1 saranno il primo e ultimo aggiornamento che subiranno le nuove librerie Microsoft. Esse implementeranno qualche piccola novità, e non solo dal punto di vista grafico. Diamo un’occhiata!

 

FUNZIONI GRAFICHE: tra le nuove funzionalità implementate c’è in particolare lo shader model 4.1, evoluzione di quello 4.0 attualmente implementato nelle API DirectX 10 e sfruttato a livello hardware dalle recenti architetture NVIDIA della famiglia G80 (serie 8000) e ATI della serie R600 (serie 2000). Facendo una panoramica delle caratteristiche grafiche implementate nelle DirectX 10.1, si trovano:

  • un aggiornamento dello shader model (shader model 4.1);
  • i TextureCube Arrays, indicizzabili dinamicamente nel codice shader;
  • l’abilità di selezionare l’MSAA sample pattern per una risorsa fra una gamma di pattern, ritrovare la corrispondente posizione sample;
  • l’abilità di renderizzare texture block-compressed;
  • maggiore flessibilità con rispetto della copia delle risorse;
  • supporto al blending su tutti i formati unorm e snorm.

Leggendo su Tom’s Hardware (riporto testualmente le parole, visto il linguaggio tecnico utilizzato), si apprende che “di certo le prestazioni degli shader sono state migliorate. Gli shader saranno in grado di restituire dati a qualsiasi MRT (multiple render target) o buffer con una rispettiva modalità blending per target. I vertex shader ora possono avere 32 valori a 128-bit anziché 16. Sono state aggiunte istruzioni “livello di dettaglio” (LOD) che permettono di utilizzare tecniche di filtro personalizzate. Gather4 permette un blocco 2×2 di valori di texture non filtrate anziché un singolo filtro bilineare. L’ultimo dei cambiamenti di rilievo agli shader model 4.1 è l’uso di cube map arrays. Nel mondo dei giochi, questo è uno dei cambiamenti più significativi, e permette di utilizzare tecniche efficienti d’illuminazione globale che possono restituire effetti come il “ray trace”, inclusa l’illuminazione indiretta, il color bleeding, le soft shadow, la rifrazione e riflessione glossy di elevata qualità in una scena“. Qui sotto potete vedere uno screenshot di una nuova demo che AMD ha sviluppato per mostrare l’uso delle cube maps per l’illuminazione globale. A destra è attivo mentre a sinistra non lo è. Notate le ombre e la mescolanza dei colori per sfera con la tecnica abilitata.

AMD - cube maps per l'illuminazione globale

 

 

Le DX 10.1 trasformano in specifiche obbligatorie alcune strumenti opzionali di precisione e formattazione dalle Direct3D 10. Due formati di dati ora richiesti sono il floating point 32 (FP32) e l’integer 16 (Int16). Lo 0.5 ULP (Unit in the Last Place) è stato a sua volta ribadito nelle DX 10.1. Sia l’FP32 per il filtro di texture a 128-bit che l’Int16 64-bit integer pixel blending obbligheranno i produttori hardware a integrare nei propri prodotti la compatibilità DX 10.1. Un ULP maggiormente rigoroso permette dal canto suo un arrotondamento dei numeri in virgola mobile persino più preciso. Nella pratica, gli sviluppatori che necessitano di specifici formati o arrotondamenti più precisi si potranno affidare all’hardware senza dispendiosi giri di codice. Questo è vero anche per il blending, le DX 10.1 supporteranno tutti i formati unorm e snorm; l’hardware compatibile DX 10.1 supporterà tutto ciò a prescindere dal produttore. L’Antialiasing (AA) sarà a sua volta revisionato. Il Multisampling antialiasing (MSAA) sotto D3D 10.1 richiede ora un requisito minimo di quattro sample per pixel per 32 bit e 64-bit (MSAA 4x). AMD/ATI e Nvidia finora hanno mantenuto i rispettivi modelli di sampling AA sotto segreto per ragioni di concorrenza. Le DirectX 10.1 in ogni caso apporteranno molti miglioramenti che riguardano i pattern di sampling AA. Il primo è la standardizzazione dei sample AA per il campionamento a 2x, 4x, 8x e 16x. Le DirectX 10.1 permettono inoltre un coverage masking del pixel e una lettura e scrittura multi-sample direttamente nel buffer. Ora il colore e la definizione può essere controllato direttamente dallo shader e poi può essere manipolato attraverso un predeterminato programma pixel shader AA. Sono lontani i giochi dell’HDR senza AA. Gli sviluppatori possono determinare quali lavorano meglio con le loro applicazioni, gestendo un filtro AA personalizzato, un “edge detecting AA” e persino programmare il proprio filtro AA personalizzato per adaptive e temporal AA“.

 

DirectX10 vs 9 DirectX 9 vs 10
Confronto tra DX 9 e DX 10 (clicca sulle immagini per ingrandire)

 

Ovviamente, per poter sfruttare a pieno queste nuove funzioni, sarà necessario dotarsi di schede in grado di supportarle. Nvidia è stata la prima a introdurre gli Shader Model 3.0. Le DX 10.1 sono una strada per il futuro e AMD/ATI è questa volta la prima a supportarle. Microsoft, sempre d’accordo con le realtà del settore grafico e gli sviluppatori, ha rilasciato nel corso degli anni diversi aggiornamenti per le proprie librerie grafiche, tanto da raggiungere la forma attuale nelle DirectX 9.0c, capaci di supportare lo Shader Model 3.0. Con le DirectX 10, invece, gli aggiornamenti si limiteranno alla versione 10.1. E questa è una bella notizia per tutti i possessori di schede DX10, soprattutto perchè sembra che le DirectX 10.1, supportate in hardware dalle schede Radeon HD 3800 e integrate nel Service Pack 1 di Vista in arrivo nel 2008, sono un aggiornamento minore delle DirectX 10 e a quanto pare non essenziale. Insomma, chi ha una scheda grafica DirectX 10 non deve cambiare la sua soluzione con una DirectX 10.1 per godersi gli ultimi giochi; al massimo, se ci sarà l’esigenza di cambiare scheda video, ma sarà solo perchè si vogliono prestazioni velocistiche maggiori!

 

NUOVE API AUDIO: qui comincia il brutto (o quasi). A differenza dei possessori delle schede video, non sarà così semplice invece per chi possiede schede audio. All’interno di queste nuove API, infatti, si trova una nuova tecnologia nel mondo PC, chiamata XAudio 2, già presentata da Microsoft con la propria console Xbox 360. XAudio 2 dovrebbe, a regime, andare a sostituire il compianto DirectSound 3D come driver audio principale del sistema. Tra le caratteristiche principali di XAudio 2, ci sono:

  • supporto ad audio multicanale e surround;
  • framework programmabile per la gestione di effetti DSP;
  • ottimizzazione per architetture multicore.

La cosa positiva è che tramite queste novità si dovrebbe finalmente risolvere il problema che impedisce l’attivazione di effetti EAX o DirectSound 3D in Windows Vista (problema che nel caso di EAX era piuttosto fastidioso per coloro che avevano comprato una bella Creative SoundBlaster X-Fi, che non poteva essere sfruttata con il nuovo sistema operativo di Microsoft). Tuttavia c’è sempre un inghippo: come si legge sul n°136 di Giochi per il mio computer di dicembre, il problema è che, almeno a giudicare dalle prime beta test della nuova libreria, non significa che le X-Fi potranno suonare tutte le casse del vostro impianto multicanale (che sia 5.1, 6.1 o 7.1). Infatti, per sfruttare gli effetti ambientali, i giochi dovranno essere programmati per sfruttare le XAudio 2! XAudio 2, quindi, non sarebbero altro che un’alternativa alle librerie OpenAL (che funzionano su Vista), sulle quali Creative ed altri produttori di schede audio hanno investito. Insomma, i programmatori si troveranno davanti a 2 alternative (un pò come nel settore Home-Entertainment ci si trova di fronte a HD-Dvd e Blu-Ray), e saranno loro a dover scegliere. Quali sono vantaggi e svantaggi?

  • XAudio 2: è sopportata dalla Xbox 360, quindi aiuta molto gli sviluppatori di titoli multipiattaforma, sia per la console di Microsoft sia per pc. Di contro, il loro utilizzo rendono inutili i potenti DSP montati su schede come la X-Fi;
  • OpenAL: sfruttano alla grande l’accelerazione dell’audio in hardware, e cominciano or ora ad essere sfruttate anche nelle console come la PlayStation 3 (con ovvie semplificazioni per le conversioni).

Insomma, tutto è da vedere. Il mercato delle schede audio è più piccolo rispetto al passato, principalmente a causa dell’aumento di qualità dei DSP integrati nelle schede madri. Sebbene queste ultime, in futuro, potranno sfruttare XAudio 2 (con molta probabilità), è anche vero che produttori di schede audio dedicate come Creative e Asus che hanno investito molto sulle OpenAL possono dare una spinta verso queste ultime.

Creative X-Fi

 

CONCLUSIONI:come al solito, la situazione è caotica. Ogni novità spinge gli appassionati (come il sottoscritto) a programmare i futuri upgrade in funzione dei cambiamenti che ci si aspetta nelle tecnologie, e facendo ipotesi e scommesse sul loro effettivo sfruttamento da parte degli sviluppatori di videogiochi. E come sempre, a volte si vince, e a volte si perde! Personalmente, non posso che consigliare questo:

  • tutti i possessori di schede video DX 10 non devono preoccuparsi delle nuove DX 10.1: nonostante le novità che implementano, certamente non costringeranno ad un upgrade forzato, soprattutto per il fatto che ci vorrà un pò di tempo prima che verranno sfruttate dai giochi. Per chi invece deve fare un’upgrade, forse è meglio aspettare qualche mesetto, tanto le schede video usciranno entro i primi 4-5 mesi dell’anno prossimo;
  • sul fronte schede audio, invece, la situazione non è ancora definita. Per ora è solo una scommessa. Secondo il mio parere, chi necessita di una scheda audio può tranquillamente fare un’upgrade senza problemi, sempre per il solito motivo che ho detto prima: se XAudio 2 diventerà uno standard, ci vorrà molto, molto tempo prima che venga effettivamente sfruttato dai giochi!

Una precisazione: chi ancora ha Windows XP, e non intende passare a Vista (come il sottoscritto), se ne può ampiamente fregare delle DX 10.1 con tutto quello che porta, visto che XP non le può sfruttare!!!!😀

DirectX


Azioni

Information

2 responses

17 12 2007
Qual’è la migliore scheda video DX10 per Crysis? « La Tana del Leviathan

[…] eseguiti solo con Windows Vista, l’unico sistema operativo a sopportare le nuove DX10 (che rimarranno nuove ancora per poco). Il menù di Crysis offre quattro impostazioni standard differenti, chiamate Low, Medium, Hight e […]

6 06 2008
Crysis - discussione ufficiale - Pagina 301 - Forum di Tom's Hardware Italia

[…] con gli effetti dx10/sm4.0 ps alcune novit delle dx10.1 ultimo e unico upgrade delle dx10 DirectX 10.1: tra Shader Model 4.1, XAudio 2 ed altro, come destreggiarsi? La Tana del Leviathan "Quando la volpe non arriva all’uva…si mina ara Nutella" […]

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...




%d blogger cliccano Mi Piace per questo: