IDirect3DDevice9::Clear 方法 (d3d9.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 旗標的組合,指定將清除的介面 () 。
[in] Color
類型: D3DCOLOR
清除此 ARGB 色彩的轉譯目標。
[in] Z
類型: float
清除深度緩衝區至這個新的 z 值,範圍從 0 到 1。 請參閱<備註>。
[in] Stencil
類型: DWORD
清除樣板緩衝區到這個新值,範圍從 0 到 2ⁿ-1 (n 是樣板緩衝區) 的位深度。 請參閱<備註>。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,則傳回值可以是:D3DERR_INVALIDCALL。
備註
使用這個方法來清除表面,包括:轉譯目標、MRT 中的所有轉譯目標、樣板緩衝區或深度緩衝區。 旗標會決定已清除多少表面。 使用 pRects 清除矩形陣列所定義的表面子集。
如果您:
- 嘗試清除沒有附加深度緩衝區之轉譯目標的深度緩衝區或樣板緩衝區。
- 當深度緩衝區不包含樣板數據時,請嘗試清除樣板緩衝區。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |