處理頂點資料 (Direct3D 9)

IDirect3DDevice9介面支援軟體和硬體中的頂點處理。 一般而言,軟體和硬體頂點處理的裝置功能並不相同。 硬體功能會根據顯示器介面卡和驅動程式而變動,而軟體功能則是固定的。

下列旗標會控制硬體抽象層的頂點處理行為, (HAL) 和參考裝置。

  • D3DCREATE_SOFTWARE_VERTEXPROCESSING
  • D3DCREATE_HARDWARE_VERTEXPROCESSING
  • D3DCREATE_MIXED_VERTEXPROCESSING

呼叫 IDirect3D9::CreateDevice時,指定其中一個頂點處理行為旗標。 混合模式旗標可讓裝置同時執行軟體和硬體頂點處理。 裝置隨時只能設定一個頂點處理旗標。 請注意,建立純裝置 (D3DCREATE_PUREDEVICE) 時,必須設定D3DCREATE_HARDWARE_VERTEXPROCESSING旗標。

若要避免單一裝置上的雙重頂點處理功能,只能在執行時間查詢硬體頂點處理功能。 軟體頂點處理功能是固定的,無法在執行時間查詢。

D3DCAPS9結構的 VertexProcessingCaps 成員會決定裝置的硬體頂點處理功能。

針對軟體頂點處理,支援下列功能。

此外,下表列出針對軟體頂點處理模式中裝置 之 D3DCAPS9 結構成員所設定的值。

成員 軟體頂點處理功能
MaxActiveLights 無限制
MaxUserClipPlanes 6
MaxVertexBlendMatrices 4
MaxStreams 16
MaxVertexIndex 0xFFFFFFFF

 

一般而言,任何頂點處理系結的應用程式都應該使用 HAL 裝置。 軟體頂點處理提供一組保證的頂點處理功能,包括未系結的光線數目,以及可程式化頂點著色器的完整支援。 使用 HAL 裝置時,您可以隨時切換軟體和硬體頂點處理 (,這是支援硬體和軟體頂點處理) 的唯一裝置類型。 唯一的需求是,用於軟體頂點處理的頂點緩衝區必須配置在系統記憶體中。

Direct3D 裝置