Ich arbeite an einem Shadow Mapping-Algorithmus, und ich möchte die Tiefe Karte debuggen, die es bei seinem ersten Durchlauf erzeugt. Tiefenstrukturen scheinen jedoch nicht korrekt in das Ansichtsfenster zu rendern. Gibt es eine einfache Möglichkeit, eine Tiefenstruktur als Graustufenbild anzuzeigen, vorzugsweise ohne einen Shader zu verwenden?Wie visualisiert man eine Tiefenstruktur in OpenGL?
Antwort
Tiefe Texturen (2D) können wie jede normale Graustufentextur verwendet werden. Das einzige Problem könnte sein, dass die Werte darin zu hoch sind und man nur eine weiße Textur sieht. Wenn das der Fall ist, spielen Sie mit den z-nahen und -fernen Ebenen, die beim Erstellen der Tiefenstruktur verwendet werden (oder skalieren Sie die Werte mit einem Shader oder vielleicht glTexEnv).
Sicher, binden Sie einfach Ihre Tiefenstruktur an Ihre Lieblingstextureinheit, aktivieren Sie die Texturierung, und zeichnen Sie einen 2D Quad! Sie können das Quad auch so dimensionieren, dass es nur einen Teil des Bildschirms ausfüllt, damit Sie die Shadowmap in Echtzeit sehen können.
OpenGL hat auch Funktionen, die die Textur in ein Array für Sie kopieren können. Sie können dies als Bild speichern und es mithilfe eines Bildbetrachters anzeigen.
Sie müssen möglicherweise die Tiefen Texturparameter ändern, als Graustufen angezeigt werden:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_NONE)
glTexParameteri(GL_TEXTURE_2D, GL_DEPTH_TEXTURE_MODE, GL_LUMINANCE)
Sie können dann in der Regel die Textur als ‚normal‘ Graustufen 2d Textur verwenden, entweder über feste Funktion oder ein 'sampler2d' Shaderuniform.
Aha, ich habe nicht gesehen, dass die ursprüngliche Frage so alt ist. Sowieso... – rotoglup
- 1. Wie visualisiert man eine Abstandsmatrix in Python?
- 2. wie man Steuerzeichen visualisiert
- 3. wie man eine Imagemap visualisiert/debuggt?
- 4. Wie visualisiert man multiindizierte Daten in Orange?
- 5. Wie visualisiert man den Bildverlauf in Python?
- 6. Wie visualisiert man eine SVM mit Matplotlib in Python?
- 7. Wie visualisiert man ein Kommunikationsprotokoll für Designzwecke?
- 8. Wie visualisiert oder formatiert man eine Diff/Patch-Datei?
- 9. Wie man Dataset im Web dynamisch visualisiert?
- 10. Wie visualisiert man eine Menge miteinander verbundener XML-Objekte?
- 11. java: Wie man einen Familienstammbaum visualisiert
- 12. Wie visualisiert man ein neuronales Netzwerk?
- 13. Reparieren der Tiefenstruktur in Python
- 14. Wie visualisiert man Datenbanktabellen in postgresql mit pgAdmin?
- 15. Wie visualisiert man Werte in logarithmischer Skala auf Matplotalib?
- 16. Wie visualisiert man Daten von einem Postgresql in Kibana?
- 17. Wie verwendet man OpenGL-Funktionen in einem QT OpenGL Widget?
- 18. Wie visualisiert man SQL aus Hibernate HQL (Oracle)?
- 19. Python: Wie visualisiert man den Minimum Spanning Tree eines Netzwerks?
- 20. Wie visualisiert man ReactJS + redux Datenfluss, Filiale und Komponentenhierarchie
- 21. Wie visualisiert man das Verhalten vieler gleichzeitiger mehrstufiger Prozesse?
- 22. Wie visualisiert man ein Javascript-Objekt onclick von einem .json
- 23. Wie erstellt man eine gerade Kugel mit Dreiecken in OpenGL?
- 24. Wie man Pacmans Charaktere in OpenGL macht
- 25. Wie visualisiert man eine Liste von Listen von Listen von ... in R?
- 26. Wie ändert man Farben in OpenGL?
- 27. Wie werden Tiefenwerte in OpenGL Texturen beim Multisampling aufgelöst?
- 28. Wie kann eine neuronale Netzwerkarchitektur mit Keras visualisiert werden?
- 29. Was stimmt nicht mit meiner Tiefenstruktur?
- 30. Wie gelernte Filter auf Tensorflow visualisiert werden
Können Sie uns zeigen, wie Sie es einrichten, so dass es nicht richtig funktioniert? Es gibt ein paar Möglichkeiten, dies zu tun, also wenn wir Ihr Problem lösen können, ist es einfacher, als dass Sie eine Menge fremden Code einpflegen müssen. –