Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Fireball

Alter Hase

  • »Fireball« ist der Autor dieses Themas

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

1

24.01.2012, 19:29

DirectX11 HLSL Shader debuggen

Hallo zusammen,

ich stehe zur Zeit vor einem Problem und zwar habe ich ein Programm geschrieben welches mittels Directx11 und HLSL Text auf dem Bildschirm rendern soll.

Doch irgendwie kommt nichts auf dem Bildschirm an. Das Programm zeigt einen schwarzen Bildschirm - ohne meinen Text :-(

Ich denke, dass irgend ein Flag in der Api nicht richtig ist oder der Text im Nirvana gezeichnet wird.

Ich habe dann mal ein wenig in der Docu gestöbert und bin über das Tool Pix von MS gestolpert, doch wie es ausschaut muss man dafür extra Code einbauen, damit das richtig funktioniert.

Für den Anfang würde es mir reichen wenn ich Informationen darüber hätte ob im Shader überhaupt etwas ankommt.

Hat jemand einen Tipp?

Schöne Grüße

Fb

Fireball

Alter Hase

  • »Fireball« ist der Autor dieses Themas

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

2

24.01.2012, 19:33

Hab da doch noch etwas gefunden, was ich erstmal ausprobieren will:

http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx

Ich versuche es erstmal mit dem Pix.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

24.01.2012, 22:54

Richtig, nimm PIX. Code braucht es dazu nicht, du kannst nur z.B. an deine D3D Objekte Strings anhängen, damit du dich in PIX besser zurechtfindest:

C-/C++-Quelltext

1
2
3
4
  {
    static const char sm_name[] = "shadowmap";
    shadowmap_tex->SetPrivateData(WKPDID_D3DDebugObjectName, sizeof(sm_name) - 1, sm_name);
  }


Visual Studio 11 hat PIX übrigens integriert, wobei ich grad nicht sicher bin ob es die aktuelle Developer Preview schon drin hat.

Fireball

Alter Hase

  • »Fireball« ist der Autor dieses Themas

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

4

28.01.2012, 15:10

Was mich ein wenig verwirrt ist, dass es nur

D3D10_SHADER_DEBUG

D3D10_SHADER_SKIP_OPTIMIZATION

für DirectX 10 gibt, kann ich die auch mit DirectX 11 benutzen?

Naja wie auch immer meine Textur die ich gesehen habe war jedenfalls schwarz und enthielt nicht meinen Text den ich erwartet hätte. :-(

Wie kann ich eigentlich nach meinem Variablen Namen suchen? Konnte das Prog gerade auch nur auf meinem Laptop ausprobieren, kann sein, dass ich da was übersehen habe.

Gruß

Fb

Fireball

Alter Hase

  • »Fireball« ist der Autor dieses Themas

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

6

29.01.2012, 23:11

Danke :-)

C-/C++-Quelltext

1
2
3
#if defined (DEBUG) ||defined(_DEBUG)
    dwShaderFlags |= D3DCOMPILE_DEBUG;
#endif

Fireball

Alter Hase

  • »Fireball« ist der Autor dieses Themas

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

7

04.02.2012, 13:06

ARGH

Ich weiß nicht ob ich vor Freude herum springen soll oder mit dem Kopf gegen die Wand rennen soll....


Hier kommt der fix meines Problems:

C-/C++-Quelltext

1
2
bufferNumber = 0;  //<--- hier stand vorher ne 1
md3dDeviceContext->PSSetConstantBuffers(bufferNumber,1, &pPixelBuffer);


Hatte zu folge, dass keine Pixel Farbe im Shader angekommen ist.

ARGH

Werbeanzeige