Metodo IDirect3DDevice9::CreateDepthStencilSurface (d3d9.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 | d3d9.h (include D3D9.h) |
Libreria | D3D9.lib |