IDirect3DDevice9::SetClipPlane 方法 (d3d9.h)
設定裝置使用者定義裁剪平面的係數。
語法
HRESULT SetClipPlane(
[in] DWORD Index,
[in] const float *pPlane
);
參數
[in] Index
類型: DWORD
要設定平面方程序係數之裁剪平面的索引。
[in] pPlane
類型: const float*
四個項目陣列值的位址指標,表示要設定的裁剪平面係數,格式為一般平面方程式。 請參閱<備註>。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值會D3DERR_INVALIDCALL。 此錯誤表示 Index 中的值超過裝置所支援的最大裁剪平面索引,或 pPlane 的陣列不夠大,無法包含四個浮點值。
備註
這個方法設定的係數會採用一般平面方程式的形式。 如果 pPlane 陣列中的值以出現在數位中的順序標示為 A、B、C 和 D,它們就會放入一般平面方程式,讓 Ax + By + Cz + Dw = 0。 如果 Ax + By + Cz + Dw >= 0,則具有同質座標的點 (x、y、z、w) 會顯示在平面的半空間中。 裁剪平面後方的點會從場景裁剪。
使用固定函式管線時,會假設平面方程式位於世界空間中。 使用可程式化管線時,會假設平面方程式位於裁剪空間中, (與輸出頂點相同的空間) 。
這個方法不會啟用正在設定裁剪平面方程式。 若要啟用裁剪平面,請在套用至D3DRS_CLIPPLANEENABLE轉譯狀態的 DWORD 值中設定對應的位。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |