Compartilhar via


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

Confira também

Funções de efeito (Direct3D 10)