Wie visualisieren Sie eine Tiefe textur in OpenGL?
Arbeite ich an einem shadow mapping-Algorithmus, und ich möchte zu debug-tiefen-map, die es erzeugt auf seiner ersten Durchgang. Jedoch, Tiefe Texturen scheinen nicht ordnungsgemäß gerendert, um den viewport. Gibt es einen einfachen Weg zur Anzeige von Tiefe, textur, wie ein Graustufen-Bild, vorzugsweise ohne die Verwendung eines shaders?
- Können Sie uns zeigen, wie Sie es einrichten, so dass es nicht richtig funktioniert? Es gibt ein paar Möglichkeiten, dies zu tun, so dass, wenn wir das beheben können dir, das wird einfacher sein, als dass Sie plonk, ein Bündel von fremden code in.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie möglicherweise ändern Sie die Tiefe textur Parameter anzeigen als Graustufen-Ebenen :
Können Sie dann in der Regel verwenden Sie die textur als "normale" 2d-Graustufen-textur, entweder über eine Feste Funktion, oder eine " sampler2d shader uniform.
Tiefe Texturen (2D) kann genauso verwendet werden wie eine normale Graustufen-textur. Das einzige problem könnte sein, dass die Werte im inneren sind alle zu hoch und man sieht nur eine weiße textur. Wenn das der Fall ist, spielen, um mit der z-nah-und -weit-Flugzeuge, die verwendet werden beim erstellen der Tiefe textur (oder skalieren Sie die Werte mit einem shader oder vielleicht glTexEnv).
Sicher, nur binden Sie Ihre Tiefe textur, um Ihre Lieblings-textur-Einheit aktivieren, Texturierung, und zeichnen Sie ein 2D-quad! Man könnte auch die Größe der quad zu füllen nur einen Teil des Bildschirms, so dass Sie die shadowmap in Echtzeit.
OpenGL hat auch Funktionen, die können kopieren Sie die textur in ein array für Sie. Speichern Sie diese als Bild-und Bild-viewer, um es anzuzeigen.