Método IDirect3DDevice9::CreateDepthStencilSurface (d3d9helper.h)

Cria um recurso de estêncil de profundidade.

Sintaxe

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

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 funções permitidos. Quando essa superfície é passada para IDirect3DDevice9::SetDepthStencilSurface, seu tipo multisampla 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 é 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 a todos.

[in] Discard

Tipo: BOOL

Defina esse sinalizador como TRUE para habilitar o descarte de buffer z e FALSE caso contrário. 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.

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 d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

IDirect3DDevice9

IDirect3DDevice9::UpdateSurface