共用方式為


處理頂點資料 (Direct3D 9)

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

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

  • D3DCREATE_SOFTWARE_VERTEXPROCESSING
  • D3DCREATE_HARDWARE_VERTEXPROCESSING
  • D3DCREATE_MIXED_VERTEXPROCESSING

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

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

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

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

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

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

 

一般而言,任何受限於頂點處理的應用程式都應該使用硬體抽象層(HAL)裝置。 軟體頂點處理提供了一組有保障的頂點處理功能,包括無限制數量的燈光,以及對可編程頂點著色器的全面支援。 使用 HAL 裝置時,您可以隨時在軟體和硬體頂點處理之間切換 (這是唯一支援硬體和軟體頂點處理的裝置類型)。 唯一的需求是,用於軟體頂點處理的頂點緩衝區必須配置於系統記憶體中。

Direct3D 裝置