IDirect3DDevice9::SetDepthStencilSurface 方法 (d3d9helper.h)

設定深度樣板表面。

語法

HRESULT SetDepthStencilSurface(
  [in] IDirect3DSurface9 *pNewZStencil
);

參數

[in] pNewZStencil

類型: IDirect3DSurface9*

代表深度樣板介面的 IDirect3DSurface9 介面指標位址。 將此設定為 NULL 會停用深度樣板作業。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果 pZStencilSurface 不是 NULL,當樣板表面無效時,傳回值會D3DERR_INVALIDCALL。

備註

使用此方法的限制包括:

  • 多取樣類型對於轉譯目標和深度樣板表面必須相同。
  • 格式必須與轉譯目標和深度樣板表面相容。 請參閱 IDirect3D9::CheckDepthStencilMatch
  • 深度樣板表面的大小必須大於或等於轉譯目標的大小。
只有在呼叫任何 IDirect3DDevice9Draw 方法時,才會使用偵錯運行時間來驗證這些限制。

Cube 紋理與其他表面不同,因為它們是表面集合。 若要使用 Cube 紋理呼叫 IDirect3DDevice9::SetDepthStencilSurface ,您必須使用 IDirect3DCubeTexture9::GetCubeMapSurface 選取個別臉部,並將產生的表面傳遞至 IDirect3DDevice9::SetDepthStencilSurface

規格需求

需求
目標平台 Windows
標頭 d3d9helper.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9

IDirect3DDevice9::GetDepthStencilSurface