Condividi tramite


Metodo IDirect3DDevice9Ex::CreateDepthStencilSurfaceEx (d3d9.h)

Crea una superficie a stencil di profondità.

Sintassi

HRESULT CreateDepthStencilSurfaceEx(
  [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,
  [in]          DWORD               Usage
);

Parametri

[in] Width

Tipo: UINT

Larghezza della superficie profondità-stencil, in pixel.

[in] Height

Tipo: UINT

Altezza della superficie profondità-stencil, in pixel.

[in] Format

Tipo: D3DFORMAT

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

[in] MultiSample

Tipo: D3DMULTISAMPLE_TYPE

Membro del tipo enumerato D3DMULTISAMPLE_TYPE , che descrive il tipo di buffer multisampling. Questo valore deve essere uno dei tipi multisample consentiti. Quando questa superficie viene passata a IDirect3DDevice9::SetDepthStencilSurface, il relativo 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 inferiore al livello restituito da pQualityLevels utilizzato da IDirect3D9::CheckDeviceMultiSampleType. Il passaggio di un valore maggiore restituisce l'errore D3DERR_INVALIDCALL. I valori MultisampleQuality di destinazioni di rendering abbinate, superfici 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 stencil di profondità 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 di profondità 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.

[in] Usage

Tipo: DWORD

Combinazione di una o più costanti D3DUSAGE che possono essere o che possono essere unite. Il valore 0 indica nessun utilizzo.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito è 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 di profondità-stencil è sempre D3DPOOL_DEFAULT.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d9.h
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9Ex