IDirect3DDevice9::CreateVertexShader

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

HRESULT 
CreateVertexShader(
  CONST DWORD * pFunction,
  IDirect3DVertexShader9** ppShader
);

パラメータ

  • pFunction
    埋め込まれたデバッグおよびシンボル テーブル情報など、頂点シェーダーを表すトークンの配列へのポインターです。
    • HLSL シェーダーから配列を作成するには、D3DXCompileShader などの関数を使用します。
    • アセンブリ言語シェーダーからトークン配列を作成するには、D3DXAssembleShader などの関数を使用します。
    • エフェクトから配列を作成するには、ID3DXEffectCompiler::CompileShader などの関数を使用します。
  • ppShader
    返される頂点シェーダーのインターフェイスへのポインターです (「IDirect3DVertexShader9」を参照してください)。

戻り値

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

解説 

デバイスを作成するとき、IDirect3D9::CreateDevice メソッドは、動作フラグを使用して、ハードウェアとソフトウェアのどちらで頂点を処理するかを決定します。設定方法は 3 つあります。

  • ハードウェアで頂点を処理するには、D3DCREATE_HARDWARE_VERTEXPROCESSING を設定します。
  • ソフトウェアで頂点を処理するには、D3DCREATE_SOFTWARE_VERTEXPROCESSING を設定します。
  • ハードウェアまたはソフトウェアで頂点を処理するには、D3DCREATE_MIXED_VERTEXPROCESSING を設定します。混合モード デバイスをソフトウェア処理とハードウェア処理間で切り替えるには、IDirect3DDevice9::SetSoftwareVertexProcessing を使用します。

D3DXCompileShader の使用例については、「HLSLwithoutEffects サンプル」を参照してください。

要件

ヘッダー: D3D9.h 宣言

ライブラリ: D3D9.lib 内容