Introduzione alla presentazione di una scena (Direct3D 9)
Le API di presentazione sono un set di metodi che controllano lo stato del dispositivo che influisce sugli elementi visualizzati dall'utente nel monitoraggio. Questi metodi includono l'impostazione delle modalità di visualizzazione e i metodi una sola volta per frame usati per presentare le immagini all'utente.
- IDirect3DDevice9::P resent
- IDirect3DDevice9::Reset
- IDirect3DDevice9::GetGammaRamp
- IDirect3DDevice9::SetGammaRamp
- IDirect3DDevice9::GetRasterStatus
La familiarità con i termini seguenti è necessaria per comprendere le API di presentazione.
- buffer anteriore. Rettangolo di memoria tradotto dalla scheda grafica e visualizzato nel monitor o in un altro dispositivo di output.
- buffer indietro. Superficie il cui contenuto può essere promosso al buffer anteriore.
- catena di scambio. Raccolta di buffer indietro che possono essere presentati serialmente al buffer anteriore. In genere, una catena di scambio a schermo intero presenta immagini successive con l'interfaccia DDI (Flipping Device Driver Interface) e una catena di scambio finestra presenta immagini con blitting DDI.
Poiché Direct3D 9 ha una catena di scambio come proprietà del dispositivo, esiste sempre almeno una catena di scambio per dispositivo. L'interfaccia IDirect3DDevice9 include un set di metodi che modificano la catena di scambio implicita e sono una copia della propria interfaccia della catena di scambio. Le applicazioni possono creare catene di scambio aggiuntive; tuttavia, questo non è necessario per la tipica finestra singola o applicazione a schermo intero.
Il buffer anteriore non è esposto direttamente in Direct3D 9. Di conseguenza, le applicazioni non possono bloccare o eseguire il rendering nel buffer anteriore. Per informazioni dettagliate, vedere Accesso al buffer anteriore colore (Direct3D 9).
Nota
DirectX 7 ha fornito una serie di API di presentazione chiamate insieme. Un buon esempio di questo è la sequenza IDirectDraw7::SetCooperativeLevel, IDirectDraw7::SetDisplayMode e IDirectDraw7::CreateSurface. Inoltre, i metodi IDirectDrawSurface7::Flip e IDirectDrawSurface7::Blt hanno segnalato il trasporto di fotogrammi di cui è stato eseguito il rendering nel monitor. Direct3D 9 comprime questi gruppi di API in due metodi principali, Reset e Present. Reimpostare i sottosumes SetCooperativeLevel, SetDisplayMode, CreateSurface e alcuni dei parametri da scorrere. Presenta sottosumes capovolgimento e la presentazione usa di blit.
Una chiamata a IDirect3D9::CreateDevice rappresenta una reimpostazione implicita del dispositivo. L'API Direct3D 9 non ha alcuna nozione di superficie primaria; non è possibile creare un oggetto che rappresenta la superficie primaria. È considerato una proprietà interna del dispositivo.
Le rampe gamma sono associate a una catena di scambio e vengono modificate con i metodi IDirect3DDevice9::GetGammaRamp e IDirect3DDevice9::SetGammaRamp.
Argomenti correlati