Freigeben über


IDirect3DDevice9::Clear-Methode (d3d9helper.h)

Löscht eine oder mehrere Oberflächen, z. B. ein Renderziel, mehrere Renderziele, einen Schablonenpuffer und einen Tiefenpuffer.

Syntax

HRESULT Clear(
  [in] DWORD         Count,
  [in] const D3DRECT *pRects,
  [in] DWORD         Flags,
  [in] D3DCOLOR      Color,
  [in] float         Z,
  [in] DWORD         Stencil
);

Parameter

[in] Count

Typ: DWORD

Anzahl der Rechtecke im Array bei pRects. Muss auf 0 festgelegt werden, wenn pRects NULL ist. Darf nicht 0 sein, wenn pRects ein gültiger Zeiger ist.

[in] pRects

Typ: const D3DRECT*

Zeiger auf ein Array von D3DRECT-Strukturen , die die zu löschenden Rechtecke beschreiben. Legen Sie ein Rechteck auf die Abmessungen des Renderingziels fest, um die gesamte Oberfläche zu löschen. Jedes Rechteck verwendet Bildschirmkoordinaten, die Punkten auf dem Renderziel entsprechen. Koordinaten werden an die Grenzen des Viewport-Rechtecks abgeschnitten. Um anzugeben, dass das gesamte Viewportrechteck gelöscht werden soll, legen Sie diesen Parameter auf NULL und Count auf 0 fest.

[in] Flags

Typ: DWORD

Kombination aus einem oder mehreren D3DCLEAR-Flags , die die zu löschenden Oberflächen angeben.

[in] Color

Typ: D3DCOLOR

Löschen Sie ein Renderziel auf diese ARGB-Farbe.

[in] Z

Typ: float

Löschen Sie den Tiefenpuffer auf diesen neuen z-Wert, der von 0 bis 1 reicht. Siehe Bemerkungen.

[in] Stencil

Typ: DWORD

Löschen Sie den Schablonenpuffer auf diesen neuen Wert, der von 0 bis 2ⁿ-1 reicht (n ist die Bittiefe des Schablonenpuffers). Siehe Bemerkungen.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert sein: D3DERR_INVALIDCALL.

Hinweise

Verwenden Sie diese Methode, um eine Oberfläche zu löschen, einschließlich: einem Renderziel, allen Renderzielen in einem MRT, einem Schablonenpuffer oder einem Tiefenpuffer. Flags bestimmt, wie viele Oberflächen gelöscht werden. Verwenden Sie pRects, um eine Teilmenge einer Oberfläche zu löschen, die durch ein Array von Rechtecke definiert wird.

IDirect3DDevice9::Clear schlägt fehl, wenn Sie:

  • Versuchen Sie, entweder den Tiefenpuffer oder den Schablonenpuffer eines Renderziels zu löschen, das keinen angefügten Tiefenpuffer hat.
  • Versuchen Sie, den Schablonenpuffer zu löschen, wenn der Tiefenpuffer keine Schablonendaten enthält.

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d9helper.h (include D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DDevice9