Dispositivi

Un dispositivo Direct3D è il componente di rendering di Direct3D. Incapsula e archivia lo stato di rendering, esegue le trasformazioni e le operazioni di illuminazione e rasterizza un'immagine su una superficie.

Sul piano architetturale, i dispositivi Direct3D contengono un modulo di trasformazione, un modulo di illuminazione e un modulo di rasterizzazione, come illustrato nel diagramma seguente.

diagram of the direct3d device architecture

Direct3D supporta due tipi principali di dispositivi Direct3D:

  • Un dispositivo hal con rasterizzazione e ombreggiatura con accelerazione hardware con elaborazione dei vertici hardware e software
  • Un dispositivo di riferimento

Questi dispositivi sono due driver separati. I dispositivi software e di riferimento sono rappresentati da driver software e il dispositivo hal è rappresentato da un driver hardware. Il modo più comune per sfruttare questi dispositivi consiste nell'usare il dispositivo hal per la spedizione di applicazioni e il dispositivo di riferimento per i test delle funzionalità. Questi vengono forniti da terze parti per emulare dispositivi specifici, ad esempio hardware di sviluppo che non è ancora stato rilasciato.

Il dispositivo Direct3D creato da un'applicazione deve corrispondere alle funzionalità dell'hardware in cui è in esecuzione l'applicazione. Direct3D offre funzionalità di rendering, accedendo all'hardware 3D installato nel computer o simulando le funzionalità dell'hardware 3D nel software. Di conseguenza, Direct3D fornisce dispositivi sia per l'accesso hardware che per l'emulazione software.

I dispositivi con accelerazione hardware offrono prestazioni molto migliori rispetto ai dispositivi software. Il tipo di dispositivo hal è disponibile in tutte le schede grafiche supportate da Direct3D. Nella maggior parte dei casi, le applicazioni hanno un'accelerazione hardware e si basano sull'emulazione software per supportare computer di fascia inferiore.

Ad eccezione del dispositivo di riferimento, i dispositivi software non supportano sempre le stesse funzionalità di un dispositivo hardware. Le applicazioni devono sempre eseguire query sulle funzionalità del dispositivo per determinare quali funzionalità sono supportate.

Poiché il comportamento del software e dei dispositivi di riferimento forniti con Direct3D 9 è identico a quello del dispositivo hal, il codice dell'applicazione creato per funzionare con il dispositivo hal funzionerà con il software o i dispositivi di riferimento senza modifiche. Il comportamento del software o del dispositivo di riferimento fornito è identico a quello del dispositivo hal, ma le funzionalità del dispositivo variano e un particolare dispositivo software può implementare un set di funzionalità molto più piccolo.

In questa sezione

Argomento Descrizione

Tipi di dispositivo

I tipi di dispositivo Direct3D includono i dispositivi Hardware Abstraction Layer (hal) e il rasterizzatore di riferimento.

Modalità finestra e modalità a schermo intero

Le applicazioni Direct3D possono essere eseguite in una delle due modalità con finestra o a schermo intero. In modalità finestra , l'applicazione condivide lo spazio dello schermo del desktop disponibile con tutte le applicazioni in esecuzione. In modalità schermo intero, la finestra in cui viene eseguita l'applicazione copre l'intero desktop, nascondendo tutte le applicazioni in esecuzione (incluso l'ambiente di sviluppo).

Dispositivi perduti

Un dispositivo Direct3D può trovarsi in uno stato operativo o in uno stato perso. Lo stato operativo è lo stato normale del dispositivo in cui viene eseguito il dispositivo e presenta tutto il rendering come previsto. Il dispositivo esegue una transizione allo stato perso quando un evento, ad esempio la perdita dello stato attivo della tastiera in un'applicazione a schermo intero, fa sì che il rendering diventi impossibile.

Catene di scambio

Una catena di scambio è una raccolta di buffer utilizzati per la visualizzazione dei fotogrammi all'utente. Ogni volta che un'applicazione presenta un nuovo frame per la visualizzazione, il primo buffer nella catena di scambio assume il posto del buffer visualizzato. Questo processo viene chiamato scambio o scorrimento.

Introduzione alle regole di rasterizzazione

Spesso, i punti specificati per i vertici non corrispondono esattamente ai pixel sullo schermo. In questo caso, Direct3D applica regole di rasterizzazione dei triangoli per decidere quali pixel si applicano a un determinato triangolo.

 

Guida alla grafica Direct3D