IDirect3DDevice9::CreateRenderTarget-Methode (d3d9helper.h)

Erstellt eine Renderzieloberfläche.

Syntax

HRESULT CreateRenderTarget(
  [in]          UINT                Width,
  [in]          UINT                Height,
  [in]          D3DFORMAT           Format,
  [in]          D3DMULTISAMPLE_TYPE MultiSample,
  [in]          DWORD               MultisampleQuality,
  [in]          BOOL                Lockable,
  [out, retval] IDirect3DSurface9   **ppSurface,
  [in]          HANDLE              *pSharedHandle
);

Parameter

[in] Width

Typ: UINT

Breite der Renderzieloberfläche in Pixeln.

[in] Height

Typ: UINT

Höhe der Renderzieloberfläche in Pixel.

[in] Format

Typ: D3DFORMAT

Member des aufgezählten D3DFORMAT-Typs , der das Format des Renderziels beschreibt.

[in] MultiSample

Typ: D3DMULTISAMPLE_TYPE

Member des D3DMULTISAMPLE_TYPE aufgezählten Typs, der den Multisamplingpuffertyp beschreibt. Dieser Parameter gibt den Antialiasingtyp für dieses Renderziel an. Wenn diese Oberfläche an IDirect3DDevice9::SetRenderTarget übergeben wird, muss ihr Multisampeltyp mit dem von IDirect3DDevice9::SetDepthStencilSurface festgelegten Tiefenschablone identisch sein.

[in] MultisampleQuality

Typ: DWORD

Qualitätsstufe. Der gültige Bereich liegt zwischen null und eins kleiner als der von pQualityLevels zurückgegebene Von IDirect3D9::CheckDeviceMultiSampleType zurückgegebene Ebene. Das Übergeben eines größeren Werts gibt den Fehler zurück, D3DERR_INVALIDCALL. Die MultisampleQuality-Werte von gekoppelten Renderzielen, Tiefenschablonenflächen und dem Multisampeltyp müssen alle übereinstimmen.

[in] Lockable

Typ: BOOL

Renderziele können nicht gesperrt werden, es sei denn, die Anwendung gibt TRUE für Lockable an.

Beachten Sie, dass sperrende Renderziele die Leistung einiger Grafikhardware beeinträchtigen. Die Readbackleistung (Verschieben von Daten vom Videospeicher in den Systemspeicher) hängt vom Typ der verwendeten Hardware ab (AGP im Vergleich zu PCI Express) und ist in der Regel weit niedriger als die Uploadleistung (Verschieben von Daten aus dem Systemspeicher in den Videospeicher). Wenn Sie Lesezugriff zum Rendern von Zielen benötigen, verwenden Sie GetRenderTargetData anstelle von sperrbaren Renderzielen.

[out, retval] ppSurface

Typ: IDirect3DSurface9**

Adresse eines Zeigers auf eine IDirect3DSurface9-Schnittstelle .

[in] pSharedHandle

Typ: HANDLE*

Reserviert. Legen Sie diesen Parameter auf NULL fest. Dieser Parameter kann in Direct3D 9 für Windows Vista zum Freigeben von Ressourcen verwendet werden.

Rückgabewert

Typ: HRESULT

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

Hinweise

Renderzieloberflächen werden in der D3DPOOL_DEFAULT-Speicherklasse platziert.

Das Erstellen von abschließbaren, mehrfachsampigen Renderzielen wird nicht unterstützt.

Anforderungen

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

Weitere Informationen

IDirect3DDevice9