Ich schreibe eine Spiele-Engine und wenn ich eine perspektivische Kamera benutze, bekomme ich einen schwarzen Bildschirm. Ich werde nicht genau fragen, warum das so ist, weil es eine Menge Code zu teilen gibt, und ehrlich gesagt denke ich, dass das eine etwas bescheidene Frage ist, auch wenn es Sie alle stört.
Das Problem ist, dass ich nicht weiß, wie ich es debuggen soll. Alles, was sich ändert, ist meine Projektionsmatrix, und wenn meine Projektionsmatrix gut aussieht, weiß ich nicht, warum es nicht funktioniert. Idealerweise würde ich die Werte verschiedener Dinge ausdrucken, während der Shader seine Berechnungen durchführte, aber GLSL hat unbequemerweise keine printf () -Funktion.
Meine Frage lautet also: Wie kann ich mein Problem beheben? Das einzige, was ich mir vorstellen kann, ist, so viele Werte wie möglich clientseitig zu überprüfen und dann durch Permutation zu programmieren, aber das habe ich getan und bin nirgendwo hingekommen. Kann ich auf irgendeine Weise sehen, was auf der Grafikkarte passiert? Gibt es eine völlig andere Technik, die ich verwenden könnte?
Ich verwende GLSL-Version 420 (und Funktionen, die für diese Version spezifisch sind), sodass ich nicht denke, dass glslDevil eine Option ist, da es zuletzt im Jahr 2010 aktualisiert wurde.
BEARBEITEN
Ich konnte mein Problem durch ein völlig unabhängiges Debugging lösen.