Frage

Ich versuche herauszufinden, wie man Pixel- und Vertex-Shader in DirectX debuggen. Ich habe versucht, Pix für Windows zu verwenden, aber es ist ziemlich fehlerhaft und effektiv nicht operativ. Gibt es eine Alternative, mit der ich diese Shader in meiner eigenen Anwendung debuggen kann?

War es hilfreich?

Lösung

Ich kenne kein Tool von Drittanbietern, um HLSL-Shaders zu debuggen, aber ich hatte gute Erfahrungen mit dem Debuggen mit einigen einfachen Techniken.

Sie können einfach Render -Ziele auf CPU kopieren und in eine Bitmap speichern, es in das Terminal ausdrucken oder in Ihrem CPU -Debugger darauf zugreifen.

Wenn es einen Fehler gibt, sollten Sie zuerst überprüfen, ob die von Ihnen verwendeten Puffer wirklich die richtigen Werte haben. Am Anfang kann dies häufig passieren, dass einige Texturen mit falschen Parametern erstellt werden oder die Daten in einer anderen Reihenfolge erwartet werden ... meiner Erfahrung Dies ist eine häufige Fehlerquelle.

Andere Tipps

Kurz gesagt, nein.

Ja, Pix ist ein bisschen fehlerhaft, hat sich aber seit seiner ersten Veröffentlichung massiv verbessert. Stellen Sie sicher, dass Sie das neueste SDK ausführen!

Ausgabe einfach Debug -Informationen als Farbe. Zum Beispiel können Sie 255*(Normal+1) als r, g, b ausgeben, Sie können eine Zwischen -Shader -Variable als Farbe ausgeben, oder Sie können überprüfen Wenn nicht. Das hilft normalerweise.

PIX für Windows wird mit dem DirectX SDK geliefert (ab Juni 2010 kann ich es überprüfen) und ermöglicht es Ihnen, visuell zu debuggen, was Sie in Bezug auf den Zustand setzen und Ihnen ermöglichen, Ihre Shader -Linie für Linie durchzusetzen. Es ist ein Lebensretter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top