Freigeben über


IDirect3DDevice9::CreateDepthStencilSurface-Methode (d3d9.h)

Erstellt eine Tiefenschablonenressource.

Syntax

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

Parameter

[in] Width

Typ: UINT

Breite der Tiefenschablonenoberfläche in Pixel.

[in] Height

Typ: UINT

Höhe der Tiefenschablonenoberfläche in Pixel.

[in] Format

Typ: D3DFORMAT

Member des D3DFORMAT aufgezählten Typs, der das Format der Tiefenschablonenoberfläche beschreibt. Dieser Wert muss eines der aufgezählten Tiefenschablonenformate für dieses Gerät sein.

[in] MultiSample

Typ: D3DMULTISAMPLE_TYPE

Member des D3DMULTISAMPLE_TYPE aufgezählten Typs, der den Multisamplingpuffertyp beschreibt. Dieser Wert muss einer der zulässigen Multisampeltypen sein. Wenn diese Oberfläche an IDirect3DDevice9::SetDepthStencilSurface übergeben wird, muss der Multisampeltyp mit dem des von IDirect3DDevice9::SetRenderTarget festgelegten Renderziels identisch sein.

[in] MultisampleQuality

Typ: DWORD

Qualitätsstufe. Der gültige Bereich liegt zwischen 0 und eins kleiner als die von pQualityLevels zurückgegebene Ebene, die von IDirect3D9::CheckDeviceMultiSampleType verwendet wird. Wenn Sie einen größeren Wert übergeben, wird der Fehler D3DERR_INVALIDCALL zurückgegeben. Die MultisampleQuality-Werte von gekoppelten Renderzielen, Tiefenschablonenoberflächen und der MultiSample-Typ müssen alle übereinstimmen.

[in] Discard

Typ: BOOL

Legen Sie dieses Flag auf TRUE fest, um das Verwerfen von Z-Puffern zu aktivieren, andernfalls AUF FALSE . Wenn dieses Flag festgelegt ist, ist der Inhalt des Tiefenschablonenpuffers ungültig, nachdem entweder IDirect3DDevice9::P resent oder IDirect3DDevice9::SetDepthStencilSurface mit einer anderen Tiefenoberfläche aufgerufen wurde.

Dieses Flag hat das gleiche Verhalten wie die Konstante D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL in D3DPRESENTFLAG.

[out, retval] ppSurface

Typ: IDirect3DSurface9**

Adresse eines Zeigers auf eine IDirect3DSurface9-Schnittstelle , die die erstellte Tiefenschablonen-Oberflächenressource darstellt.

[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 wie folgt aussehen: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY.

Hinweise

Die Speicherklasse des Tiefenschablonenpuffers ist immer D3DPOOL_DEFAULT.

Anforderungen

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

Weitere Informationen

IDirect3DDevice9

IDirect3DDevice9::UpdateSurface