Registriert: Do Jun 09, 2005 13:48 Beiträge: 117 Wohnort: Sankt Augustin
Hallo,
wie wohl schon so viele vor mir möchte ich mich in meiner 3D Welt bewegen. Ich habe jede Menge Dinge ausprobiert und bin schließlich auf ein Kamera Objekt von Jan Horn gestoßen. Nachdem ich den Aufbau des Objekts, die Wirkungsweise von gluLookAt und das Zusammenwirken dieser beiden verstanden hatte, habe ich es in meinen Code integriert und es lief. Bis auf eine Ausnahme...
Benutzt man die Objektfunktion RotateView oder RotateAroundPoint, dann funktioniert das nur dann, wenn die Drehachse mit dem UpVektor für gluLookAt übereinstimmt. Das hat mich dazu gebracht den UpVektor jedesmal zu ändern, wenn ich über eine andere Achse drehen will. Nun geht das zwar und die Drehung um die neue Achse funktioniert auch, aber wenn der UpVektor geändert wird, wird auch die Szene neue ausgerichtet. Wenn die X-Achse in meiner Ausgangsszene also waagerecht lag (wie es ja sein soll) und die Drehachse die Y-Achse war, wird sie nach einer Änderung der Drehachse in die X-Achse zur Y-Achse und steht jetzt senkrecht. Dadurch drehen sich natürlich auch alle Objekte mit einem mal, was zum springen der Szene bei einer Änderung der Drehachse führt.
Um zu veraunschaulichen was ich meine, hier die Funktion die die Kamera um einen Punkt dreht. Die trigonometrischen Funktionen sind korrekt. Bei der Drehung um die Y-Achse funktioniert auch alle tadellos. Wenn ich um eine andere Achse drehe funktioniert gluLookAt aber nur, wenn ich den UpVector umsetze.
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.