IDirect3DDevice9::GetClipStatus 方法 (d3d9helper.h)
擷取剪輯狀態。
語法
HRESULT GetClipStatus(
[out] D3DCLIPSTATUS9 *pClipStatus
);
參數
[out] pClipStatus
類型: D3DCLIPSTATUS9*
描述剪輯狀態 之D3DCLIPSTATUS9 結構的指標。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。
如果自變數無效,則會傳回D3DERR_INVALIDCALL。
備註
在頂點 (處理期間, 由 IDirect3DDevice9::P rocessVertices、 IDirect3DDevice9::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 rawRectPatch 和 IDirect3DDevice9::D rawTriPatch 不會更新剪輯狀態,因為沒有軟體模擬。
軟體頂點處理期間會使用剪輯狀態。 因此,純硬體處理裝置或非純硬體處理裝置不支援此方法。 如需純裝置的詳細資訊,請參閱 D3DCREATE。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |