Função D3D10DisassembleEffect (d3d10effect.h)
Essa função – que desmonta um efeito compilado em uma cadeia de caracteres de texto que contém instruções de assembly e atribuições de registro – foi preterida. Em vez disso, use D3DDisassemble10Effect.
Sintaxe
HRESULT D3D10DisassembleEffect(
[in] ID3D10Effect *pEffect,
[in] BOOL EnableColorCode,
[out] ID3D10Blob **ppDisassembly
);
Parâmetros
[in] pEffect
Tipo: ID3D10Effect*
Um ponteiro para uma Interface ID3D10Effect, que contém o efeito compilado.
[in] EnableColorCode
Tipo: BOOL
Inclua marcas HTML na saída para colorir o resultado.
[out] ppDisassembly
Tipo: ID3D10Blob**
Um ponteiro para uma Interface ID3D10Blob que contém o sombreador desmontado.
Valor retornado
Tipo: HRESULT
Retorna um dos seguintes códigos de retorno do Direct3D 10.
Comentários
Esse texto retornado inclui um cabeçalho com a versão do compilador HLSL usada para gerar esse objeto, comentários que descrevem o layout de memória dos buffers constantes usados pelo sombreador, assinaturas de entrada e saída e pontos de associação de recursos.
Aqui está um exemplo de desmontagem de um efeito compilado. O exemplo pressupõe que você comece com um efeito compilado (mostrado como l_pBlob_Effect que você pode ver em Compilar um Efeito (Direct3D 10)).
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 );
}
}
}
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3d10effect.h |
Biblioteca | D3D10.lib |
DLL | D3D10.dll |