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 |