清除視口或設定視口矩形, 對指定的RGBA顔色, 清除深度緩沖, 并抹掉模闆緩沖區.
文法
HRESULT Clear( DWORD Count, const D3DRECT *pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil );
參數
Count
- [in] pRects中矩形的數量. 如果你設定 pRects 為NULL, 此參數必須設定為0.
pRects- [in] 描述所有要清除的矩形的 D3DRECT 結構指針. 設定一個定義要清除的目标的矩形,以清除整個表面. 每個矩形使用螢幕坐标,坐标對應要渲染的目标表面的點. 坐标被視口矩形的邊緣所裁剪. 此參數也可以設定為NULL指出視口所有矩形都要清除.
Flags- [in] 指明要清除的表面. 至少取下面的一個或幾個結合.
ColorD3DCLEAR_STENCIL
- 清除模闆緩沖區為 Stencil 參數指定的值.
D3DCLEAR_TARGET- 清除要渲染目标的顔色為 Color 參數的值.
D3DCLEAR_ZBUFFER- 清除深度緩沖的值為 Z 參數的值.
- [in] 一個32為ARGB 顔色值.
Z- [in] 要設定深度緩沖區的值. 此參數取值從0.0到 1.0 (for z-based or w-based depth buffers). 值為 0.0 代表視點最近的距離,而 1.0 代表最遠距離.
Stencil- [in] 長整型,在每個模闆緩沖區入口中. 參數取值應從 0到 2 n–1, n 是模闆緩沖區的位深度.
傳回值
如果執行成功,傳回值是D3D_OK.
如果執行失敗, 傳回值是D3DERR_INVALIDCALL.
備注
This method fails if you specify the D3DCLEAR_ZBUFFER or D3DCLEAR_STENCIL flags when the render target does not have an attached depth buffer. Similarly, if you specify the D3DCLEAR_STENCIL flag when the depth-buffer format does not contain stencil buffer information, this method fails.