Méthode IDirect3DDevice9 ::CreateDepthStencilSurface (d3d9helper.h)
Crée une ressource de gabarit de profondeur.
Syntaxe
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
);
Paramètres
[in] Width
Type : UINT
Largeur de la surface de profondeur-gabarit, en pixels.
[in] Height
Type : UINT
Hauteur de la surface du gabarit de profondeur, en pixels.
[in] Format
Type : D3DFORMAT
Membre du D3DFORMAT type énuméré, décrivant le format de la surface profondeur-gabarit. Cette valeur doit être l’un des formats de gabarit de profondeur énumérés pour cet appareil.
[in] MultiSample
Type : D3DMULTISAMPLE_TYPE
Membre du D3DMULTISAMPLE_TYPE type énuméré, décrivant le type de mémoire tampon à échantillonnage multiple. Cette valeur doit être l’un des types multi-échantillonnage autorisés. Lorsque cette surface est passée à IDirect3DDevice9 ::SetDepthStencilSurface, son type multi-échantillonnage doit être identique à celui de la cible de rendu définie par IDirect3DDevice9 ::SetRenderTarget.
[in] MultisampleQuality
Type : DWORD
Niveau de qualité. La plage valide est comprise entre zéro et un de moins que le niveau retourné par pQualityLevels utilisé par IDirect3D9 ::CheckDeviceMultiSampleType. Le passage d’une valeur plus élevée retourne l’erreur D3DERR_INVALIDCALL. Les valeurs MultisampleQuality des cibles de rendu jumelées, des surfaces de gabarit de profondeur et du type MultiSample doivent toutes correspondre.
[in] Discard
Type : BOOL
Définissez cet indicateur sur TRUE pour activer l’abandon de z-buffer, et FALSE dans le cas contraire. Si cet indicateur est défini, le contenu de la mémoire tampon de gabarit de profondeur ne sera pas valide après avoir appelé IDirect3DDevice9 ::P resent ou IDirect3DDevice9 ::SetDepthStencilSurface avec une surface de profondeur différente.
Cet indicateur a le même comportement que la constante, D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL, dans D3DPRESENTFLAG.
[out, retval] ppSurface
Type : IDirect3DSurface9**
Adresse d’un pointeur vers une interface IDirect3DSurface9 , représentant la ressource de surface de profondeur-gabarit créée.
[in] pSharedHandle
Type : HANDLE*
Réservé. Définissez ce paramètre sur NULL. Ce paramètre peut être utilisé dans Direct3D 9 pour Windows Vista pour partager des ressources.
Valeur retournée
Type : HRESULT
Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être l’une des suivantes : D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY.
Remarques
La classe de mémoire de la mémoire tampon profondeur-gabarit est toujours D3DPOOL_DEFAULT.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | d3d9helper.h (inclure D3D9.h) |
Bibliothèque | D3D9.lib |