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 |