Architettura Direct3D (Direct3D 9)
Questo argomento fornisce due visualizzazioni generali dell'architettura di Direct3D:
- Pipeline grafica Direct3D : visualizzazione dell'architettura di elaborazione interna del sistema di rendering Direct3D.
- Integrazione del sistema Direct3D : visualizzazione del modo in cui Direct3D media tra un'applicazione e l'hardware grafico.
Pipeline grafica Direct3D
La pipeline grafica fornisce la potenza per elaborare ed eseguire il rendering efficiente delle scene Direct3D in uno schermo, sfruttando i vantaggi dell'hardware disponibile. Il diagramma seguente illustra i blocchi predefiniti della pipeline:
Componente pipeline | Descrizione | Argomenti correlati |
---|---|---|
Dati dei vertici | I vertici del modello non transazionale vengono archiviati nei buffer di memoria dei vertici. | Vertex Buffers (Direct3D 9), IDirect3DVertexBuffer9 |
Dati primitivi | Le primitive geometriche, tra cui punti, linee, triangoli e poligoni, fanno riferimento ai dati dei vertici con buffer di indice. | Buffer di indice (Direct3D 9), IDirect3DIndexBuffer9, Primitives, Higher Order Primitives (Direct3D 9) |
Suddivisione a mosaico | L'unità di tesselator converte primitive di ordine superiore, mappe di spostamento e patch mesh in posizioni dei vertici e archivia tali posizioni nei vertex buffer. | Tassellatura (Direct3D 9) |
Elaborazione dei vertici | Le trasformazioni Direct3D vengono applicate ai vertici archiviati nel vertex buffer. | Pipeline dei vertici (Direct3D 9) |
Elaborazione della geometria | Il ritaglio, la culling posteriore, la valutazione degli attributi e la rasterizzazione vengono applicati ai vertici trasformati. | Pipeline pixel (Direct3D 9) |
Superficie con trama | Le coordinate delle trame per le superfici Direct3D vengono fornite a Direct3D tramite l'interfaccia IDirect3DTexture9 . | Trame Direct3D (Direct3D 9), IDirect3DTexture9 |
Campionatore di trama | Il filtro a livello di dettaglio della trama viene applicato ai valori della trama di input. | Trame Direct3D (Direct3D 9) |
Elaborazione pixel | Le operazioni pixel shader usano i dati geometry per modificare i dati dei vertici di input e della trama, ottenendo i valori dei colori pixel di output. | Pipeline pixel (Direct3D 9) |
Pixel Rendering | I processi di rendering finali modificano i valori dei colori pixel con test alfa, profondità o stencil oppure applicando la fusione alfa o la nebbia. Tutti i valori pixel risultanti vengono presentati alla visualizzazione dell'output. | Pipeline pixel (Direct3D 9) |
Integrazione del sistema Direct3D
Il diagramma seguente illustra le relazioni tra un'applicazione Window, Direct3D,GDI e l'hardware:
Direct3D espone un'interfaccia indipendente dal dispositivo a un'applicazione. Le applicazioni Direct3D possono esistere insieme alle applicazioni GDI ed entrambi hanno accesso all'hardware grafico del computer tramite il driver di dispositivo per la scheda grafica. A differenza di GDI, Direct3D può sfruttare le funzionalità hardware creando un dispositivo hal.
Un dispositivo hal fornisce l'accelerazione hardware alle funzioni della pipeline grafica, in base al set di funzionalità supportato dalla scheda grafica. I metodi Direct3D vengono forniti per recuperare le funzionalità di visualizzazione dei dispositivi in fase di esecuzione. Vedere IDirect3DDevice9::GetDeviceCaps. Se una funzionalità non viene fornita dall'hardware, l'hal non lo segnala come funzionalità hardware.
Per altre informazioni sui dispositivi hal e di riferimento supportati da Direct3D, vedere Tipi di dispositivo (Direct3D 9).For more information about hal and reference devices supported by Direct3D, see Device Types (Direct3D 9).