Registriert: Di Aug 21, 2012 19:31 Beiträge: 173
Programmiersprache: C#
Danke, nun wird zumindest der 2D-Krams richtig dargestellt. Allerdings fehlt alles was ich voher in 3d gezeichnet habe.
Ich poste mal meinen Code, jedoch kann es durch die viele rumprobiererei sein, dass irgendwas blödes drin ist, oder fehlt. Hab den Überblick bissl verloren:
Das interessante ist: wenn ich alles unter dem break-Kommentar auskommentiere, stimmt der 3d-Krams wieder. Kommentiere ich alles darüber aus (außer das clear) sehe ich alles was in 2d gezeichnet wird. Jedes für sich funktioniert also. Nur zusammen haut das nicht hin
Irgendwas mache ich sicher mit dem Matrizen falsch...
Registriert: Mi Apr 13, 2011 22:05 Beiträge: 218
Programmiersprache: Lazarus/FPC
Uh, hm, da kann es viele Einstellungen geben die die Suppe versalzen, ich weiß ja nicht was in deinen Funktionen steht.
Was mir aber aufgefallen wäre: Umbedingt beim "3D-Kram" bevor du ihn zeichnest
GL.Enable(EnableCap.DepthTest);
hinschreiben, wenn das DISABLED ist wird einfach alles was du bisher gezeichnet hast komplett übermalt, ohne das OpenGL richtige Darstelleung von ineinander liegenden Objekten richtig beachtet. Aus dem Grund ist das beim HUD eingestellt, es soll ja alles bisherige gnadenlos überzeichnen. Und da nach dem Rendern vom HUD das noch disabled ist, übernimmt er das auch fürs nächte Mal Rendern und macht dein 3D-Zeug auch disabled.
Mal sehen ob das hilft
lg
_________________ Ich teile manchmal heimlich durch Null. - Alber Einstein
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Du überschreibst deine Projektionsmatrix mit der von glOrtho generierten Matrix. Und wenn du diese nicht wieder explizit (was in deinem Code nicht zu sehen ist) für deine 3D-Ansicht setzt (also z.B. mit gluPerspective), dann ist klar warum du diese sichern musst. Wenn du das nicht machst, dann renderst du nach dem ersten glOrtho auch deine 3D-Szene mit der der orthagonalen Projektsionmatrix.
I.d.R. setzt man also auch vor der 3D-Ansicht eine entsprechende Projektionsmatrix, und dann später nochmal vor der 2D-Ansicht. Dann kann man sich das push/pop sparen.
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.