D3D10DisassembleEffect 関数 (d3d10effect.h)
コンパイルされた効果を、アセンブリ命令とレジスタ割り当てを含むテキスト文字列に逆アセンブルするこの関数は非推奨になりました。 代わりに、 D3DDisassemble10Effect を使用します。
構文
HRESULT D3D10DisassembleEffect(
[in] ID3D10Effect *pEffect,
[in] BOOL EnableColorCode,
[out] ID3D10Blob **ppDisassembly
);
パラメーター
[in] pEffect
種類: ID3D10Effect*
コンパイルされた効果を含む ID3D10Effect インターフェイスへのポインター。
[in] EnableColorCode
種類: BOOL
出力に HTML タグを含め、結果を色分けします。
[out] ppDisassembly
種類: ID3D10Blob**
逆アセンブルされたシェーダーを含む ID3D10Blob インターフェイス へのポインター。
戻り値
種類: HRESULT
次のいずれかの Direct3D 10 リターン コードを返します。
解説
この返されるテキストには、このオブジェクトの生成に使用される HLSL コンパイラのバージョンを含むヘッダー、シェーダーで使用される定数バッファーのメモリ レイアウト、入出力シグネチャ、およびリソース バインド ポイントを記述するコメントが含まれます。
コンパイルされた効果を逆アセンブルする例を次に示します。 この例では、コンパイルされた効果で始めると想定しています ( 「 効果の コンパイル (Direct3D 10)」で確認できるl_pBlob_Effectとして示されています)。
LPCSTR commentString = NULL;
ID3D10Blob* pIDisassembly = NULL;
char* pDisassembly = NULL;
if( pVSBuf )
{
D3D10DisassembleEffect( (UINT*) l_pBlob_Effect->GetBufferPointer(),
l_pBlob_Effect->GetBufferSize(), TRUE, commentString, &pIDisassembly );
if( pIDisassembly )
{
FILE* pFile = fopen( "effect.htm", "w" );
if( pFile)
{
fputs( (char*)pIDisassembly->GetBufferPointer(), pFile );
fclose( pFile );
}
}
}
必要条件
対象プラットフォーム | Windows |
ヘッダー | d3d10effect.h |
Library | D3D10.lib |
[DLL] | D3D10.dll |