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 を使用します。
要件
対象プラットフォーム | Windows |
ヘッダー | d3d9helper.h (D3D9.h を含む) |
Library | D3D9.lib |