Freigeben über


Direct3D-Oberflächen (Direct3D 9)

Eine Oberfläche stellt einen linearen Bereich des Anzeigespeichers dar und befindet sich in der Regel im Anzeigespeicher der Anzeigekarte, obwohl Oberflächen im Systemspeicher vorhanden sein können. Surfaces werden von der IDirect3DSurface9 Schnittstelle verwaltet.

  • Frontpuffer. Ein Rechteck mit Arbeitsspeicher, das vom Grafikkartenadapter übersetzt und auf dem Monitor angezeigt wird. In Direct3D schreibt eine Anwendung nie direkt in den Frontpuffer.
  • Hintergrundpuffer. Ein Rechteck des Arbeitsspeichers, in das eine Anwendung direkt schreiben kann. Der Hintergrundpuffer wird nie direkt auf dem Monitor angezeigt.
  • Spiegeln von Oberflächen. Der Prozess des Verschiebens des Hintergrundpuffers in den Frontpuffer.
  • Swapchain. Eine Auflistung von mindestens einem Hintergrundpuffer, der serial dem Frontpuffer angezeigt werden kann.

Abrufen eines Surface

Erstellen Sie eine Oberfläche, indem Sie eine der folgenden Methoden aufrufen:

Surface-Formate bestimmen, wie Daten für jedes Pixel im Oberflächenspeicher interpretiert werden. Direct3D verwendet das D3DFORMAT Element der D3DSURFACE_DESC Struktur, um das Oberflächenformat zu beschreiben. Sie können das Format einer vorhandenen Oberfläche abrufen, indem Sie die GetDesc--Methode aufrufen.

Nachdem eine Oberfläche erstellt wurde, können Sie einen Zeiger darauf abrufen, indem Sie eine der folgenden Methoden aufrufen:

Mit der IDirect3DSurface9--Schnittstelle können Sie indirekt über die UpdateSurface--Methode auf den Speicher zugreifen. Mit dieser Methode können Sie einen rechteckigen Pixelbereich aus einem IDirect3DSurface9 Schnittstelle in eine andere IDirect3DSurface9--Schnittstelle kopieren. Die Oberflächenschnittstelle verfügt auch über Methoden, um direkt auf den Anzeigespeicher zuzugreifen. Sie können z. B. die LockRect--Methode verwenden, um einen rechteckigen Bereich des Anzeigespeichers zu sperren. Es ist wichtig, UnlockRect- aufzurufen, nachdem Sie die Arbeit mit dem gesperrten rechteckigen Bereich auf der Oberfläche abgeschlossen haben.

Weitere Surface Topics

Erfahren Sie mehr über die Verwendung von Oberflächen mit einem der folgenden Themen:

Erste Schritte