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 陣列中的矩形數目。 如果 pRect 為 Null,則必須設定為 0。 如果 pRects 是有效的指標,可能不是 0。

[in] pRects

類型:const D3DRECT*

描述要清除之矩形之 D3DRECT 結構的陣列指標。 將矩形設定為轉譯目標的維度,以清除整個表面。 每個矩形都會使用對應至轉譯目標上點的螢幕座標。 座標會裁剪到檢視區矩形的界限。 若要指出要清除整個檢視區矩形,請將此參數設定為 Null ,並將 Count 設定為 0。

[in] Flags

類型: DWORD

一或多個 D3DCLEAR 旗標的組合,指定將會清除的介面 (s) 。

[in] Color

類型: D3DCOLOR

清除此 ARGB 色彩的轉譯目標。

[in] Z

類型: float

清除這個新 z 值的深度緩衝區,範圍從 0 到 1。 請參閱<備註>。

[in] Stencil

類型: DWORD

清除樣板緩衝區到這個新值,範圍從 0 到 2ⁿ-1 (n 是樣板緩衝區) 的位深度。 請參閱<備註>。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果方法失敗,則傳回值可以是:D3DERR_INVALIDCALL。

備註

使用此方法可清除表面,包括:轉譯目標、MRT 中的所有轉譯目標、樣板緩衝區或深度緩衝區。 旗標會決定清除多少表面。 使用 pRects 清除矩形陣列所定義的表面子集。

如果您:IDirect3DDevice9::Clear 將會失敗:

  • 嘗試清除沒有附加深度緩衝區之轉譯目標的深度緩衝區或樣板緩衝區。
  • 嘗試在深度緩衝區不包含樣板資料時清除樣板緩衝區。

需求

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

另請參閱

IDirect3DDevice9