IDirect3DDevice9::Clear 方法 (d3d9helper.h)

清除一个或多个表面,例如呈现目标、 多个呈现目标、模具缓冲区和深度缓冲区。

语法

HRESULT Clear(
  [in] DWORD         Count,
  [in] const D3DRECT *pRects,
  [in] DWORD         Flags,
  [in] D3DCOLOR      Color,
  [in] float         Z,
  [in] DWORD         Stencil
);

参数

[in] Count

类型: DWORD

数组中 pRects 处的矩形数。 如果 pRects 为 NULL,则必须设置为 0。 如果 pRects 是有效的指针,则不能为 0。

[in] pRects

类型: const D3DRECT*

指向描述要清除的矩形的 D3DRECT 结构的数组的指针。 将矩形设置为呈现目标的尺寸以清除整个图面。 每个矩形都使用与呈现目标上的点对应的屏幕坐标。 坐标被剪裁到视区矩形的边界。 若要指示要清除整个视区矩形,请将此参数设置为 NULL ,将 Count 设置为 0。

[in] Flags

类型: DWORD

一个或多个 D3DCLEAR 标志的组合,这些标志指定将清除的图面 () 。

[in] Color

类型: D3DCOLOR

将呈现目标清除为此 ARGB 颜色。

[in] Z

类型: float

将深度缓冲区清除为 0 到 1 的新 z 值。 请参阅备注。

[in] Stencil

类型: DWORD

将模具缓冲区清除为 0 到 2ⁿ-1 的新值, (n 是模具缓冲区) 的位深度。 请参阅备注。

返回值

类型: HRESULT

如果该方法成功,则返回值D3D_OK。 如果方法失败,则返回值可以是:D3DERR_INVALIDCALL。

备注

使用此方法清除图面,包括:呈现目标、MRT 中的所有呈现目标、模具缓冲区或深度缓冲区。 标志确定清除的图面数。 使用 pRects 清除由矩形数组定义的图面的子集。

如果满足要求,IDirect3DDevice9::Clear 将失败:

  • 尝试清除没有附加深度缓冲区的呈现目标的深度缓冲区或模具缓冲区。
  • 当深度缓冲区不包含模具数据时,请尝试清除模具缓冲区。

要求

   
目标平台 Windows
标头 d3d9helper.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

IDirect3DDevice9