D3DXAssembleShader 関数

D3DXAssembleShader 関数

シェーダをアセンブルする。

構文

HRESULT WINAPI D3DXAssembleShader(      
    LPCTSTR pSrcData,
    UINT SrcDataLen,
    CONST D3DXMACRO* pDefines,
    LPD3DXINCLUDE pInclude,
    DWORD Flags,
    LPD3DXBUFFER* ppShader,
    LPD3DXBUFFER *ppErrorMsgs
);

パラメータ

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

戻り値

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

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

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

注意

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

関数の情報

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

参照

D3DXCompileShaderD3DXCompileShaderFromResource