共用方式為


IDirect3DDevice9::SetClipStatus 方法 (d3d9.h)

設定剪輯狀態。

語法

HRESULT SetClipStatus(
  [in] const D3DCLIPSTATUS9 *pClipStatus
);

參數

[in] pClipStatus

類型:const D3DCLIPSTATUS9*

D3DCLIPSTATUS9結構的指標,描述要設定的剪輯狀態設定。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果其中一個引數無效,傳回值會D3DERR_INVALIDCALL。

備註

軟體頂點處理期間會使用剪輯狀態。 因此,純硬體處理裝置或非純硬體處理裝置不支援此方法。 如需純裝置的詳細資訊,請參閱 D3DCREATE

在頂點 (處理期間, 由 IDirect3DDevice9::P rocessVerticesIDirect3DDevice9::D rawPrimitive或其他繪圖函式) 啟用裁剪時,Direct3D 會計算每個頂點的剪輯程式碼。 剪輯程式碼是D3DCS_* 位的組合。 當頂點位於特定裁剪平面之外時,對應的位會在裁剪程式碼中設定。 Direct3D 會使用具有 ClipUnion 和 ClipIntersection 成員的 D3DCLIPSTATUS9來維護剪輯狀態。 ClipUnion 是所有頂點剪輯代碼的位 「OR」,ClipIntersection 是所有頂點剪輯代碼的位 「AND」。 ClipUnion 的初始值為零,而 ClipIntersection 0xFFFFFFFF。 當D3DRS_CLIPPING設為 FALSE時,ClipUnion 和 ClipIntersection 會設定為零。 Direct3D 會在繪圖呼叫期間更新剪輯狀態。 若要計算特定物件的剪輯狀態,請將 ClipUnion 和 ClipIntersection 設定為其初始值並繼續繪製。

IDirect3DDevice9::D rawRectPatchIDirect3DDevice9::D rawTriPatch不會更新剪輯狀態,因為沒有軟體模擬。

需求

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

另請參閱

IDirect3DDevice9

IDirect3DDevice9::GetClipStatus