ich weiß das es Programme gibt um von fremden Programmen die Shader auszulesen, mir fällt nur grad absolut nicht ein welche das waren oder wie ich die finde...
In meinem Fall geht es um ein Direct3D 11 Programm bei welchem ich gern einen blick in die Shader werfen würde.
Registriert: Mi Aug 14, 2013 21:17 Beiträge: 588
Programmiersprache: C++
Für Direct3D kenne ich keins. Für OpenGL-Programme nutze ich gDEBugger für solche Zwecke. DirectX lässt sich soweit ich weiß (dieses Wissen stammt aber aus DX9-Zeiten) in einen Debug-Modus schalten, vielleicht kannst du damit was erreichen. Jedoch ist es fraglich, ob du überhaupt an den HLSL-Sourcecode kommst, da es inzwischen (auch mit OpenGL) möglich ist, der Grafik-API nur noch Binaries zu übergeben. Aus Gründen des Kopierschutzes und zum Verkürzen der Ladezeiten dürfte das recht häufig eingesetzt werden.
_________________ So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)
HLSL wird in einen Bytecode kompiliert. Bei OpenGL ist das übrigens immernoch nicht wirklich möglich. Die binäre Shader die man von OpenGL bekommen kann sind platformabhänig und eigenen sich höchstens zum Cachen der Shaderkompilate, aber nicht zur Auslieferung. Außerdem ist fraglich in wie weit der (binäre) Shadercode dir wirklich weiter hilft. Für sich alleine ist er vermutlich relativ nichts sagend und erfüllt seine Aufgabe nur im Kontext des gesamten Programmes.
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Du kannst mit PIX dir den ASM ähnlichen Shader Code geben lassen, bzw. die mehrheit kompiliert den Shader nur als intermediate Code, dann ist der auch noch als normaler Shader lesbar, einfach mit PIX ran hängen und die Shader Objekte für den aktuellen Frame State angucken.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.