Registriert: So Mai 28, 2006 10:57 Beiträge: 2 Wohnort: Scheuerfeld
Hallo Leute. Ich würde gerne ein UI für ein Spiel realisieren. Das Spiel selbst soll in 3D laufen. Das UI in 2D auf den normalen Schirm geklatscht werden.
Bisher sieht mein Mainloop so aus:
- Benutzereingaben verarbeiten
- Spielfeld zeichnen
- In Orthomodus gehen
(- UI zeichnen) das ist noch nicht realisiert
- Buffer ausgeben
Leider wird dabei jedesmal der gesamte Bildschirm gelöscht. Das Spielfeld flackert nur ganz kurz auf und dann ists schwarz. Der Mainloop hängt sich aber auch nicht auf. Sonst würde der Tastaturbefehl fürs beenden nicht mehr gehen.
Kann mir jemand sagen, was ich falsch gemacht habe?
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Als Ansicht wird der Orthomodus gespeichert. Du musst die Perspektive entweder nach dem UI zeichnen oder am Anfang der Renderschleife neu setzen. Sonst bleibt er immer im Orthomodus hängen und deine 3D Sachen werden vollkommen falsch dargestellt.
Registriert: So Mai 28, 2006 10:57 Beiträge: 2 Wohnort: Scheuerfeld
Also wenn ich etwas im Ortho am Anfang der Renderschleife zeichne, dann in Perspective gehe bleibt das UI (Ortho) trotzdem so vorhanden? Muss ich dann nochwas mit der Tiefe beachten?
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Da in der Regel die UI über dem Spielfeld liegt und nicht darunter, wird es wohl besser sein, wenn Du diese auch erst zum Schluss zeichnest. Der orthogonale Modus ist lediglich eine andere Projektionsmatrix wie gezeichnete Vertices dargestellt werden. Es ist kein zweiter Colorbuffer oder sowas in der Richtung.
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Außerdem ist ganz wichtig zu verstehen, dass OGL eine Statemachine ist. D.h. der letzte Zustand bleibt bestehen, bis du was neues sagst. Wenn du in den Orthomouds wechselst um die UI zu zeichnen ist das natürlich richtig. Allerdings musst du am Anfang deines nächsten renderdurchlaufs dann wieder die 3D Perspektive herstellen, sonst bleibt OGL auf dauer im Orthomodus.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 3 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.