Ich habe das schöne 2D Tutorial studiert. Nun möchte ich gerne den depth-buffer einsetzen, aber wie ?
Wenn ich das richtig verstanden habe, kann man die Objekte nach dem Z-Werten sortieren und so mehrere "Ebenen" übereinander darstellen. Wenn ich die Z-Werte verändere, Z-Werte <> 0 verwende werden die Objekte meistens nicht angezeigt. Woran liegt das ?
Das hier steht in meiner glInit() procedure :
Code:
glClearDepth(1.0); // Depth Buffer Setup
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
glDepthFunc(GL_LESS); // The Type Of Depth Test To Do
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Wenn deine Objekte verschwinden, werden sie wohl von der Near- bzw. Far-Clippingplane geclippt. Dann solltest du dort größere Werte eintragen (glOrtho).
Sorry, aber ich kanns mir einfach noch nicht vorstellen wie das funktioniert.
Code:
glOrtho ( 0, width, 0, height, 0, 128 );
Die letzen zwei Werte stellen also die Grenzen für Z-Werte dar. Was bewirkt DepthFunc(GL_LESS) dann ?
Kannst du mir bitte mal ein paar zulässige Z-Werte für Objekte geben, welches wäre dann dem Betrachter am nächsten, welches am weitesten entfernt ? Oder geht das einfach nicht, bei meinen Parametern für glOrtho und depth buffer ?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
GL_LESS gibt an dass nur Fragmente durchgelassen werden die einen niedrigeren Z-Wert (=näher am Betrachter) haben als bereits im Puffer befindliche Fragmente. Das hat aber nichts mit der Near- bzw. Farclippingplane zu tun. Die hast du mit 0~128 spezifiziert, und d.h. im Orthomodus dass alle Objekte sichtbar sein sollten deren Z-Werte zwischen 0 und 128 liegen.
Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.