Condividi tramite


Metodo IDirect3DDevice9::P resent (d3d9helper.h)

Presenta il contenuto del buffer successivo nella sequenza di buffer back di proprietà del dispositivo.

Sintassi

HRESULT Present(
  [in] const RECT    *pSourceRect,
  [in] const RECT    *pDestRect,
  [in] HWND          hDestWindowOverride,
  [in] const RGNDATA *pDirtyRegion
);

Parametri

[in] pSourceRect

Tipo: const RECT*

Puntatore a un valore che deve essere NULL a meno che non sia stata creata la catena di scambio con D3DSWAPEFFECT_COPY. pSourceRect è un puntatore a una struttura RECT contenente il rettangolo di origine. Se NULL, viene visualizzata l'intera superficie di origine. Se il rettangolo supera la superficie di origine, il rettangolo viene ritagliato nella superficie di origine.

[in] pDestRect

Tipo: const RECT*

Puntatore a un valore che deve essere NULL a meno che non sia stata creata la catena di scambio con D3DSWAPEFFECT_COPY. pDestRect è un puntatore a una struttura RECT contenente il rettangolo di destinazione, nelle coordinate client della finestra. Se NULL, l'intera area client viene riempita. Se il rettangolo supera l'area client di destinazione, il rettangolo viene ritagliato nell'area client di destinazione.

[in] hDestWindowOverride

Tipo: HWND

Puntatore a una finestra di destinazione la cui area client viene presa come destinazione per questa presentazione. Se questo valore è NULL, il runtime usa il membro hDeviceWindow di D3DPRESENT_PARAMETERS per la presentazione.

[in] pDirtyRegion

Tipo: const RGNDATA*

Il valore deve essere NULL a meno che non sia stata creata la catena di scambio con D3DSWAPEFFECT_COPY. Per altre informazioni sulle catene di scambio, vedere Flipping Surface (Direct3D 9) e D3DSWAPEFFECT. Se questo valore non è NULL, l'area contenuta viene espressa nelle coordinate del buffer indietro. I rettangoli all'interno dell'area sono il set minimo di pixel che devono essere aggiornati. Questo metodo tiene conto di questi rettangoli durante l'ottimizzazione della presentazione copiando solo i pixel all'interno dell'area o alcuni set di rettangoli adeguatamente espansi. Si tratta di un aiuto per l'ottimizzazione solo e l'applicazione non deve basarsi sull'area copiata esattamente. L'implementazione può scegliere di copiare l'intero rettangolo di origine.

Valore restituito

Tipo: HRESULT

I valori restituiti possibili includono: D3D_OK o D3DERR_DEVICEREMOVED (vedere D3DERR).

Commenti

Se necessario, viene applicata un'operazione di estensione per trasferire i pixel all'interno del rettangolo di origine nel rettangolo di destinazione nell'area client della finestra di destinazione.

Il presente avrà esito negativo, restituisce D3DERR_INVALIDCALL, se viene chiamato tra coppie BeginScene e EndScene, a meno che la destinazione di rendering non sia la destinazione di rendering corrente, ad esempio il buffer indietro ottenuto dalla creazione di una catena di scambio aggiuntiva. Si tratta di un nuovo comportamento per Direct3D 9.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

Dispositivi persi (Direct3D 9)

Multihead (Direct3D 9)

Reimpostazione