IDirect3DDevice9::SetDepthStencilSurface 方法 (d3d9.h)

设置深度模具图面。

语法

HRESULT SetDepthStencilSurface(
  [in] IDirect3DSurface9 *pNewZStencil
);

参数

[in] pNewZStencil

类型: IDirect3DSurface9*

指向表示深度模具图面 的 IDirect3DSurface9 接口的指针的地址。 将其设置为 NULL 会禁用深度模具操作。

返回值

类型: HRESULT

如果该方法成功,则返回值D3D_OK。 如果 pZStencilSurface 不是 NULL,则当模具图面无效时,返回值D3DERR_INVALIDCALL。

注解

使用此方法的限制包括:

  • 对于呈现目标和深度模具图面,多重采样类型必须相同。
  • 格式必须与呈现目标和深度模具图面兼容。 请参阅 IDirect3D9::CheckDepthStencilMatch
  • 深度模具图面的大小必须大于或等于呈现器目标的大小。
只有在调用任何 IDirect3DDevice9Draw 方法时,才使用调试运行时来验证这些限制。

立方体纹理与其他表面的不同之处在于,它们是图面的集合。 若要使用立方体纹理调用 IDirect3DDevice9::SetDepthStencilSurface ,必须使用 IDirect3DCubeTexture9::GetCubeMapSurface 选择单个人脸,并将生成的表面传递给 IDirect3DDevice9::SetDepthStencilSurface

要求

要求
目标平台 Windows
标头 d3d9.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

IDirect3DDevice9

IDirect3DDevice9::GetDepthStencilSurface