Freigeben über


IDirect3DDevice9::P resent-Methode (d3d9.h)

Zeigt den Inhalt des nächsten Puffers in der Sequenz der Zurückpuffer an, die sich im Besitz des Geräts befinden.

Syntax

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

Parameter

[in] pSourceRect

Typ: const RECT*

Zeiger auf einen Wert, der NULL sein muss, es sei denn, die Swapchain wurde mit D3DSWAPEFFECT_COPY erstellt. pSourceRect ist ein Zeiger auf eine RECT-Struktur , die das Quellrechteck enthält. Wenn NULL, wird die gesamte Quelloberfläche angezeigt. Wenn das Rechteck die Quelloberfläche überschreitet, wird das Rechteck auf die Quelloberfläche zugeschnitten.

[in] pDestRect

Typ: const RECT*

Zeiger auf einen Wert, der NULL sein muss, es sei denn, die Swapchain wurde mit D3DSWAPEFFECT_COPY erstellt. pDestRect ist ein Zeiger auf eine RECT-Struktur , die das Zielrechteck in Clientkoordinaten des Fensters enthält. Bei NULL wird der gesamte Clientbereich ausgefüllt. Wenn das Rechteck den Zielclientbereich überschreitet, wird das Rechteck in den Zielclientbereich abgeschnitten.

[in] hDestWindowOverride

Typ: HWND

Zeiger auf ein Zielfenster, dessen Clientbereich als Ziel für diese Präsentation verwendet wird. Wenn dieser Wert NULL ist, verwendet die Runtime den hDeviceWindow-Member von D3DPRESENT_PARAMETERS für die Präsentation.

[in] pDirtyRegion

Typ: const RGNDATA*

Der Wert muss NULL sein, es sei denn, die Swapchain wurde mit D3DSWAPEFFECT_COPY erstellt. Weitere Informationen zu Swapchains finden Sie unter Flipping Surfaces (Direct3D 9) und D3DSWAPEFFECT. Wenn dieser Wert ungleich NULL ist, wird der enthaltene Bereich in Zurückpufferkoordinaten ausgedrückt. Die Rechtecke innerhalb des Bereichs sind der minimale Satz von Pixeln, die aktualisiert werden müssen. Diese Methode berücksichtigt diese Rechtecke bei der Optimierung der Präsentation, indem nur die Pixel innerhalb des Bereichs oder einige entsprechend erweiterte Rechtecke kopiert werden. Dies ist nur eine Hilfe für die Optimierung, und die Anwendung sollte sich nicht darauf verlassen, dass die Region genau kopiert wird. Die Implementierung kann das gesamte Quellrechteck kopieren.

Rückgabewert

Typ: HRESULT

Mögliche Rückgabewerte sind: D3D_OK oder D3DERR_DEVICEREMOVED (siehe D3DERR).

Hinweise

Bei Bedarf wird ein Stretchvorgang angewendet, um die Pixel im Quellrechteck auf das Zielrechteck im Clientbereich des Zielfensters zu übertragen.

Present schlägt fehl und gibt D3DERR_INVALIDCALL zurück, wenn es zwischen BeginScene- und EndScene-Paaren aufgerufen wird, es sei denn, das Renderziel ist nicht das aktuelle Renderziel (z. B. der Hintergrundpuffer, den Sie durch das Erstellen einer zusätzlichen Swapchain erhalten). Dies ist ein neues Verhalten für Direct3D 9.

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d9.h (einschließlich D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DDevice9

Verlorene Geräte (Direct3D 9)

Multihead (Direct3D 9)

Zurücksetzen