D3D10CompileShader 関数 (d3d10shader.h)
HLSL シェーダーをコンパイルします。
構文
HRESULT D3D10CompileShader(
[in] LPCSTR pSrcData,
[in] SIZE_T SrcDataSize,
[in] LPCSTR pFileName,
[in] const D3D10_SHADER_MACRO *pDefines,
[in] LPD3D10INCLUDE pInclude,
[in] LPCSTR pFunctionName,
[in] LPCSTR pProfile,
[in] UINT Flags,
[out] ID3D10Blob **ppShader,
[out] ID3D10Blob **ppErrorMsgs
);
パラメーター
[in] pSrcData
種類: LPCSTR
シェーダーのソース コードを含む文字列へのポインター。
[in] SrcDataSize
種類: SIZE_T
pSrcData のサイズ (バイト単位)。
[in] pFileName
種類: LPCSTR
シェーダー コードを含むファイルの名前。
[in] pDefines
型: const D3D10_SHADER_MACRO*
省略可能。 マクロ定義の配列へのポインター ( 「D3D10_SHADER_MACRO」を参照)。
配列内の最後の構造体はターミネータとして機能し、すべてのメンバーを 0 に設定する必要があります。
使用しない場合は、 pDefines を NULL に設定します。
[in] pInclude
種類: LPD3D10INCLUDE*
省略可能。 インクルード ファイルを処理するための ID3D10Include Interface インターフェイス へのポインター。 これを NULL に設定すると、シェーダーに #include が含まれている場合、コンパイル エラーが発生します。
[in] pFunctionName
種類: LPCSTR
シェーダーの実行が開始されるシェーダー エントリ ポイント関数の名前。
[in] pProfile
種類: LPCSTR
シェーダー プロファイルまたはシェーダー モデルを指定する文字列。
[in] Flags
型: UINT
シェーダー のコンパイル オプション。
[out] ppShader
種類: ID3D10Blob**
コンパイルされたシェーダーを含む ID3D10Blob インターフェイス へのポインターと、埋め込まれたデバッグとシンボル テーブルの情報。
[out] ppErrorMsgs
種類: ID3D10Blob**
コンパイル中に発生したエラーと警告の一覧を含む ID3D10Blob インターフェイス へのポインター。 これらのエラーと警告は、デバッガーからのデバッグ出力と同じです。
戻り値
型: HRESULT
次のいずれかの Direct3D 10 リターン コードを返します。
注釈
この関数では、2006 年 11 月の DirectX SDK でリリースされた HLSL コンパイラのバージョンを使用します。
この関数は、入力シェーダー情報を提供する 2 つの方法を実装します。 pSrcData と SrcDataLen を使用して、シェーダー HLSL コードを含む文字列を指定するか (および pFileName を NULL に設定します)、pFileName を使用してシェーダーまたは効果ファイルの名前を指定します (pSrcData を NULL に設定します)。
プログラミング可能なパイプライン ステージをセットアップするには、シェーダーをコンパイルし、シェーダーを適切なパイプライン ステージにバインドします。 たとえば、ジオメトリ シェーダーのコンパイル例を次に示します (「 ジオメトリ シェーダーをコンパイルする」を参照)。
この関数 D3D10CompileShader は、オペレーティング システムがリリースされるたびに出荷されるシェーダー コンパイラのバージョンを呼び出します。 DirectX SDK が付属すると、シェーダー コンパイラの最新バージョンが出荷されます。これは、 D3DX10CompileFromFile などのシェーダー コンパイラ エントリ ポイント関数のバージョンを呼び出すことによって D3DX からアクセスできます。 DirectX 再頒布可能ライブラリを再配布する場合は、D3DX エントリ ポイント関数を使用して、シェーダー コンパイラの最新バージョンを確実に使用することをお勧めします。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d10shader.h |
Library | D3D10.lib |
[DLL] | D3D10.dll |