Compartilhar via


Método IDirect3DDevice9Ex::CreateDepthStencilSurfaceEx (d3d9.h)

Cria uma superfície de estêncil de profundidade.

Sintaxe

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

Parâmetros

[in] Width

Tipo: UINT

Largura da superfície de estêncil de profundidade, em pixels.

[in] Height

Tipo: UINT

Altura da superfície de estêncil de profundidade, em pixels.

[in] Format

Tipo: D3DFORMAT

Membro do D3DFORMAT tipo enumerado, descrevendo o formato da superfície de estêncil de profundidade. Esse valor deve ser um dos formatos de estêncil de profundidade enumerados para este dispositivo.

[in] MultiSample

Tipo: D3DMULTISAMPLE_TYPE

Membro do D3DMULTISAMPLE_TYPE tipo enumerado, descrevendo o tipo de buffer multisampling. Esse valor deve ser um dos tipos de várias amostra permitidos. Quando essa superfície é passada para IDirect3DDevice9::SetDepthStencilSurface, seu tipo multisample deve ser o mesmo do destino de renderização definido por IDirect3DDevice9::SetRenderTarget.

[in] MultisampleQuality

Tipo: DWORD

Nível de qualidade. O intervalo válido está entre zero e um a menos do que o nível retornado por pQualityLevels usado por IDirect3D9::CheckDeviceMultiSampleType. Passar um valor maior retorna o erro D3DERR_INVALIDCALL. Os valores MultisampleQuality de destinos de renderização emparelhados, superfícies de estêncil de profundidade e o tipo MultiSample devem corresponder.

[in] Discard

Tipo: BOOL

Defina esse sinalizador como TRUE para habilitar o descarte do buffer z e, caso contrário, FALSE . Se esse sinalizador for definido, o conteúdo do buffer de estêncil de profundidade será inválido depois de chamar IDirect3DDevice9::P resent ou IDirect3DDevice9::SetDepthStencilSurface com uma superfície de profundidade diferente.

Esse sinalizador tem o mesmo comportamento que a constante, D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL, em D3DPRESENTFLAG.

[out, retval] ppSurface

Tipo: IDirect3DSurface9**

Endereço de um ponteiro para uma interface IDirect3DSurface9 , representando o recurso de superfície de estêncil de profundidade criado.

[in] pSharedHandle

Tipo: HANDLE*

Reservado. Defina esse parâmetro como NULL. Esse parâmetro pode ser usado no Direct3D 9 para o Windows Vista compartilhar recursos.

[in] Usage

Tipo: DWORD

Combinação de uma ou mais constantes D3DUSAGE que podem ser OR'd juntas. O valor 0 indica que não há uso.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser um dos seguintes: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.

Comentários

A classe de memória do buffer de estêncil de profundidade é sempre D3DPOOL_DEFAULT.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d9.h
Biblioteca D3D9.lib

Confira também

Idirect3ddevice9ex