次の方法で共有


IDirect3DDevice9::CreateVertexShader メソッド (d3d9helper.h)

頂点シェーダーを作成します。

構文

HRESULT CreateVertexShader(
  [in]          const DWORD            *pFunction,
  [out, retval] IDirect3DVertexShader9 **ppShader
);

パラメーター

[in] pFunction

型: const DWORD*

埋め込まれたデバッグおよびシンボル テーブル情報を含む、頂点シェーダーを表すトークンの配列へのポインター。

  • D3DXCompileShader などの関数を使用して、HLSL シェーダーから配列を作成します。
  • D3DXAssembleShader などの関数を使用して、アセンブリ言語シェーダーからトークン配列を作成します。
  • ID3DXEffectCompiler::CompileShader などの関数を使用して、効果から配列を作成します。

[out, retval] ppShader

種類: IDirect3DVertexShader9**

返された頂点シェーダー インターフェイスへのポインター ( 「IDirect3DVertexShader9」を参照)。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。

解説

デバイスが作成されると、 IDirect3D9::CreateDevice は動作フラグを使用して、ハードウェアまたはソフトウェアの頂点を処理するかどうかを決定します。 次の 3 つのケースが考えられます。

  • D3DCREATE_HARDWARE_VERTEXPROCESSINGを設定して、ハードウェア内の頂点を処理します。
  • D3DCREATE_SOFTWARE_VERTEXPROCESSINGを設定して、ソフトウェア内の頂点を処理します。
  • D3DCREATE_MIXED_VERTEXPROCESSINGを設定して、ハードウェアまたはソフトウェアの頂点を処理します。 ソフトウェアとハードウェアの処理の間で混合モード デバイスを切り替えるには、 IDirect3DDevice9::SetSoftwareVertexProcessing を使用します
D3DXCompileShader の使用例については、「HLSLwithoutEffects サンプル」を参照してください。

要件

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

関連項目

IDirect3DDevice9