次の方法で共有


D3DXCompileShader 関数

D3DXCompileShader 関数

シェーダ ファイルをコンパイルする。

構文

HRESULT WINAPI D3DXCompileShader(      
    LPCTSTR pSrcData,
    UINT srcDataLen,
    CONST D3DXMACRO* pDefines,
    LPD3DXINCLUDE pInclude,
    LPCTSTR pFunctionName,
    LPCTSTR pTarget,
    DWORD Flags,
    LPD3DXBUFFER* ppShader,
    LPD3DXBUFFER* ppErrorMsgs,
    LPD3DXSHADER_CONSTANTTABLE* ppConstantTable
);

パラメータ

  • pSrcData
    [in] シェーダを含む文字列へのポインタ。コンパイラの設定が Unicode を要求している場合、データ型 LPCTSTR は LPCWSTR になる。それ以外の場合は、この文字列のデータ型は LPCSTR になる。「注意」を参照すること。
  • srcDataLen
    [in] データの長さ (バイト単位)。
  • pDefines
    [in] プリプロセッサ定義へのポインタ。「D3DXMACRO」を参照すること。
  • pInclude
    [in] オプションのインターフェイス ポインタ ID3DXInclude。#include 擬似命令の処理に使う。NULL の場合、ファイルからコンパイルしたときには #includes が受け入れられ、リソースまたはメモリからコンパイルしたときには #includes はエラーになる。
  • pFunctionName
    [in] 実行を開始するシェーダ エントリ ポイント関数の名前を含む文字列へのポインタ。コンパイラの設定が Unicode を要求している場合、データ型 LPCTSTR は LPCWSTR になる。それ以外の場合は、この文字列のデータ型は LPCSTR になる。「注意」を参照すること。
  • pTarget
    [in] コンパイル ターゲットを含む文字列へのポインタ。「注意」を参照すること。
  • Flags
    [in] D3DXSHADER によって識別されるコンパイル オプション。
  • ppShader
    [out] 作成されたシェーダを含むバッファを返す。このバッファは、コンパイル済みのシェーダ コードと、埋め込まれているデバッグおよびシンボル テーブル情報を含む。
  • ppErrorMsgs
    [out] コンパイル中に発生したエラーおよび警告のリストを含むバッファを返す。これらは、デバッグ モードで実行したときにデバッガが表示するメッセージと同じである。この値は NULL でもよい。
  • ppConstantTable
    [out] シェーダ内に埋め込まれている D3DXSHADER_CONSTANTTABLE ブロックへのポインタを返す。D3DXGetShaderConstantTable を使ってシェーダ定数にアクセスする場合は、このブロックを使う。この値は NULL でもよい。

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合は、次のいずれかの値を返す。

D3DERR_INVALIDCALL メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。
D3DXERR_INVALIDDATA データが無効である。
E_OUTOFMEMORY Microsoft® Direct3D® が呼び出しを完了するための十分なメモリを割り当てることができなかった。

注意

頂点シェーダ、ピクセル シェーダ、およびテクスチャを塗りつぶす関数に対してターゲットを指定できる。

頂点シェーダのターゲット vs_1_1、vs_2_0、vs_2_sw
ピクセル シェーダのターゲット ps_1_1、ps_1_2、ps_1_3、ps_1_4、ps_2_0、ps_2_sw
テクスチャの塗りつぶしのターゲット tx_0、tx_1

コンパイラの設定が Unicode を要求している場合、データ型 LPCTSTR は LPCWSTR になる。それ以外の場合は、この文字列のデータ型は LPCSTR になる。

コンパイラ設定によって、関数のバージョンも決まる。Unicode が定義されている場合、この関数の呼び出しは D3DXCompileShaderW になる。それ以外の場合は ANSI 文字列を使用するので、この関数の呼び出しは D3DXCompileShaderA になる。

関数の情報

ヘッダー d3dx9shader.h
インポート ライブラリ d3dx9.lib
最低限のオペレーティング システム Windows 98

参照

D3DXCompileShaderD3DXCompileShaderFromResource