次の方法で共有


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 の 2 つの頂点処理モードを切り替えるには、レンダリング状態D3DRS_SOFTWAREVERTEXPROCESSINGと適切な DWORD 引数を指定して IDirect3DDevice8::SetRenderState を使用します。 レンダリング状態アプローチの欠点は、状態ブロックのセマンティクスを定義するのが難しいことでした。 アプリケーションとランタイムは、追加の作業を行い、状態ブロックの記録と再生中に注意する必要がありました。

Direct3D 9 では、代わりに SetSoftwareVertexProcessing を 使用します。 この新しい API は StateBlocks によって記録されません。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d9helper.h (D3D9.h を含む)
Library D3D9.lib

こちらもご覧ください

IDirect3DDevice9

IDirect3DDevice9::GetSoftwareVertexProcessing