Metodo IDirect3DDevice9::CreateDepthStencilSurface (d3d9helper.h)

Crea una risorsa depth-stencil.

Sintassi

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
);

Parametri

[in] Width

Tipo: UINT

Larghezza della superficie depth-stencil, in pixel.

[in] Height

Tipo: UINT

Altezza della superficie depth-stencil, in pixel.

[in] Format

Tipo: D3DFORMAT

Membro del tipo enumerato D3DFORMAT , che descrive il formato della superficie depth-stencil. Questo valore deve essere uno dei formati depth-stencil enumerati per questo dispositivo.

[in] MultiSample

Tipo: D3DMULTISAMPLE_TYPE

Membro del tipo enumerato D3DMULTISAMPLE_TYPE , che descrive il tipo di buffer multicampionamento. Questo valore deve essere uno dei tipi multisample consentiti. Quando questa superficie viene passata a IDirect3DDevice9::SetDepthStencilSurface, il tipo multisample deve essere uguale a quello della destinazione di rendering impostata da IDirect3DDevice9::SetRenderTarget.

[in] MultisampleQuality

Tipo: DWORD

Livello di qualità. L'intervallo valido è compreso tra zero e uno minore del livello restituito da pQualityLevels usato da IDirect3D9::CheckDeviceMultiSampleType. Il passaggio di un valore maggiore restituisce l'errore D3DERR_INVALIDCALL. I valori MultisampleQuality di destinazioni di rendering abbinate, superfici dello stencil di profondità e il tipo MultiSample devono corrispondere a tutti.

[in] Discard

Tipo: BOOL

Impostare questo flag su TRUE per abilitare l'eliminazione del buffer z e FALSE in caso contrario. Se questo flag è impostato, il contenuto del buffer depth stencil non sarà valido dopo aver chiamato IDirect3DDevice9::P resent o IDirect3DDevice9::SetDepthStencilSurface con una superficie di profondità diversa.

Questo flag ha lo stesso comportamento della costante, D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL, in D3DPRESENTFLAG.

[out, retval] ppSurface

Tipo: IDirect3DSurface9**

Indirizzo di un puntatore a un'interfaccia IDirect3DSurface9 , che rappresenta la risorsa superficie depth-stencil creata.

[in] pSharedHandle

Tipo: HANDLE*

Riservato. Impostare questo parametro su NULL. Questo parametro può essere usato in Direct3D 9 per Windows Vista per condividere le risorse.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito viene D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.

Commenti

La classe di memoria del buffer depth-stencil è sempre D3DPOOL_DEFAULT.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::UpdateSurface