Shader Debugging will nicht
-
Ich möchte meine Vertex und Pixel Shader debuggen. Nun bietet ja das VS.NET
zusammen mit dem DX 9 SDK die Möglichkeit dies zu tun. Also hab ich mich ganz
an diese Anleitung gehalten- Extension installiert
- Debug Level angeschaltet
- Gestartet mit DirectX-DebuggingDann die Device Flags auf: Software Vertex Processing, REF
Und die Shader-Kompilierung mit:
if(FAILED(D3DXAssembleShaderFromFile(strPath.c_str(), NULL, NULL, D3DXSHADER_DEBUG, &compiledShader_, NULL))) throw Exception(Exception::SHADER_CANT_BE_COMPILED, strPath);
Müsste ja eigentlich gehen. Aber der Debugger hält nicht bei den Breakpoints
und an Stelle des roten "Breakpoint-Punktes" erscheint ein roter Punkt mit
Fragezeichen, weil er meint die Stelle würde nicht aufgerufen werden.Dann hab ich das ganze mal mit einem DX Sample versucht, wo allerdings ein
HLSL Script verwendet wurde - funktionierte problemlos. Leider hat das DX 9
SDK ja nur noch ein normales Assembler Shader Script - bei dem funktionierte
das Debugging allerdings auch nicht!Könnt ihr mir vielleicht da weiter helfen?
Wenn ihr weitere Fakten braucht, fragt ruhig
Schon mal vielen Dank im Voraus!!
MfG,
EnERgYzEr
-
EnERgYzEr schrieb:
an Stelle des roten "Breakpoint-Punktes" erscheint ein roter Punkt mit
FragezeichenShaderdebugging hab ich noch nie gemacht. In "normalen" Programmen passiert das IIRC immer wenn man keine Debug Info für die Zeile hat.
Bye, TGGC (Denken, und gut ist.)
-
TGGC schrieb:
EnERgYzEr schrieb:
an Stelle des roten "Breakpoint-Punktes" erscheint ein roter Punkt mit
FragezeichenShaderdebugging hab ich noch nie gemacht. In "normalen" Programmen passiert das IIRC immer wenn man keine Debug Info für die Zeile hat.
oder wenn das modul nicht geladen ist zu dem programm das man debuggen möchte, z.b. könnte bei einer dll der fall sein.
rapso->greets();
-
Ich kann ja die Shader-Files nicht groß laden - Ich öffne sie in der IDE und
setzte meine Breakpoints. Beim compilieren des Shaders über die D3DX Funktion
müsste er ja dann bemerken, dass das File in der IDE geöffnet ist - Tut er
leider aber nicht!