D3D10DisassembleEffect-Funktion (d3d10effect.h)
Diese Funktion, die einen kompilierten Effekt in eine Textzeichenfolge zerlegt, die Assemblyanweisungen und Registerzuweisungen enthält, ist veraltet. Verwenden Sie stattdessen D3DDisassemble10Effect.
Syntax
HRESULT D3D10DisassembleEffect(
[in] ID3D10Effect *pEffect,
[in] BOOL EnableColorCode,
[out] ID3D10Blob **ppDisassembly
);
Parameter
[in] pEffect
Typ: ID3D10Effect*
Ein Zeiger auf eine ID3D10Effect-Schnittstelle, die den kompilierten Effekt enthält.
[in] EnableColorCode
Typ: BOOL
Fügen Sie HTML-Tags in die Ausgabe ein, um das Ergebnis farbcodieren zu können.
[out] ppDisassembly
Typ: ID3D10Blob**
Ein Zeiger auf eine ID3D10Blob-Schnittstelle , die den disassemblierten Shader enthält.
Rückgabewert
Typ: HRESULT
Gibt einen der folgenden Direct3D 10-Rückgabecodes zurück.
Hinweise
Dieser zurückgegebene Text enthält einen Header mit der Version des HLSL-Compilers, der zum Generieren dieses Objekts verwendet wird, sowie Kommentare, die das Speicherlayout der vom Shader verwendeten Konstantenpuffer, Eingabe- und Ausgabesignaturen sowie Ressourcenbindungspunkte beschreiben.
Hier ist ein Beispiel für das Disassemblieren eines kompilierten Effekts. Im Beispiel wird davon ausgegangen, dass Sie mit einem kompilierten Effekt beginnen (l_pBlob_Effect den Sie unter Kompilieren eines Effekts (Direct3D 10) sehen können).
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 );
}
}
}
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d10effect.h |
Bibliothek | D3D10.lib |
DLL | D3D10.dll |