Condividi tramite


Funzione D3D10DisassembleEffect (d3d10effect.h)

Questa funzione, che disassembla un effetto compilato in una stringa di testo che contiene istruzioni per l'assembly e registra le assegnazioni, è stata deprecata. Usare invece D3DDisassemble10Effect.

Sintassi

HRESULT D3D10DisassembleEffect(
  [in]  ID3D10Effect *pEffect,
  [in]  BOOL         EnableColorCode,
  [out] ID3D10Blob   **ppDisassembly
);

Parametri

[in] pEffect

Tipo: ID3D10Effect*

Puntatore a un'interfaccia ID3D10Effect che contiene l'effetto compilato.

[in] EnableColorCode

Tipo: BOOL

Includere tag HTML nell'output per colorare il risultato.

[out] ppDisassembly

Tipo: ID3D10Blob**

Puntatore a un'interfaccia ID3D10Blob che contiene lo shader smontato.

Valore restituito

Tipo: HRESULT

Restituisce uno dei codici restituiti Direct3D 10 seguenti.

Commenti

Questo testo restituito include un'intestazione con la versione del compilatore HLSL utilizzato per generare questo oggetto, i commenti che descrivono il layout della memoria dei buffer costanti usati da shader, firme di input e output e punti di associazione delle risorse.

Ecco un esempio di disassembling di un effetto compilato. L'esempio presuppone che si inizi con un effetto compilato (illustrato come l_pBlob_Effect che è possibile visualizzare in Compila un effetto (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 );
        }
    }
}

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d10effect.h
Libreria D3D10.lib
DLL D3D10.dll

Vedi anche

Funzioni effetto (Direct3D 10)