IDirect3DDevice9::SetSoftwareVertexProcessing 方法 (d3d9helper.h)

使用此方法在軟體和硬體頂點處理之間切換。

語法

HRESULT SetSoftwareVertexProcessing(
  [in] BOOL bSoftware
);

參數

[in] bSoftware

類型: BOOL

TRUE 可指定軟體頂點處理; FALSE 指定硬體頂點處理。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果方法失敗,則可以D3DERR_INVALIDCALL傳回值。

備註

變更模式的限制如下, (也會參考 D3DCREATE 常數的附註) :

  • 如果使用 D3DCREATE_SOFTWARE_VERTEXPROCESSING 建立裝置,頂點處理將會在軟體中完成,而且無法變更。
  • 如果使用 D3DCREATE_HARDWARE_VERTEXPROCESSING 建立裝置,頂點處理將會在硬體中完成,而且無法變更。
  • 如果使用 D3DCREATE_MIXED_VERTEXPROCESSING 建立裝置,則頂點處理預設會在硬體中完成。 您可以使用 IDirect3DDevice9::SetSoftwareVertexProcessing,將處理切換至軟體 (或切換回硬體) 。
應用程式可以建立混合模式裝置,以使用軟體頂點處理和硬體頂點處理。 若要在 DirectX 8.x 中的兩個頂點處理模式之間切換,請使用 IDirect3DDevice8::SetRenderState 搭配轉譯狀態D3DRS_SOFTWAREVERTEXPROCESSING和適當的 DWORD 自變數。 轉譯狀態方法的缺點是定義狀態區塊語意的困難。 應用程式和運行時間必須執行額外的工作,並在錄製和播放狀態區塊時小心。

在 Direct3D 9 中,請改用 SetSoftwareVertexProcessing 。 StateBlocks 不會記錄這個新的 API。

規格需求

需求
目標平台 Windows
標頭 d3d9helper.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9

IDirect3DDevice9::GetSoftwareVertexProcessing