IDirect3DDevice9::SetClipPlane 方法 (d3d9helper.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
標頭 d3d9helper.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9

IDirect3DDevice9::GetClipPlane