D3D10CompileShader 関数 (d3d10shader.h)

HLSL シェーダーをコンパイルします。

メモ この関数の代わりに D3DX10CompileFromMemory を使用します。
 

構文

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 に設定する必要があります。
使用しない場合は、 pDefinesNULL に設定します。

[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 つの方法を実装します。 pSrcDataSrcDataLen を使用して、シェーダー HLSL コードを含む文字列を指定するか (および pFileNameNULL に設定します)、pFileName を使用してシェーダーまたは効果ファイルの名前を指定します (pSrcDataNULL に設定します)。

プログラミング可能なパイプライン ステージをセットアップするには、シェーダーをコンパイルし、シェーダーを適切なパイプライン ステージにバインドします。 たとえば、ジオメトリ シェーダーのコンパイル例を次に示します (「 ジオメトリ シェーダーをコンパイルする」を参照)。

この関数 D3D10CompileShader は、オペレーティング システムがリリースされるたびに出荷されるシェーダー コンパイラのバージョンを呼び出します。 DirectX SDK が付属すると、シェーダー コンパイラの最新バージョンが出荷されます。これは、 D3DX10CompileFromFile などのシェーダー コンパイラ エントリ ポイント関数のバージョンを呼び出すことによって D3DX からアクセスできます。 DirectX 再頒布可能ライブラリを再配布する場合は、D3DX エントリ ポイント関数を使用して、シェーダー コンパイラの最新バージョンを確実に使用することをお勧めします。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d10shader.h
Library D3D10.lib
[DLL] D3D10.dll

こちらもご覧ください

シェーダー関数