Hiho miteinander!
Ich wurschtel gerade wieder etwas mit
OpenGL rum, und stoße mich (wie so oft) an dem Thema Rotation.
Folgende Situation: Ich möchte ein via OGl dargestelltes Objekt mit der Maus rotieren lassen. Zu diesem Zweck lasse ich die Szene 2 Mal rotieren, und zwar einmal um die Y-Achse um die Menge, die die Maus links-recht verschoben wurde, und einmal um die X-Achse entsprechend der oben-unten Verschiebung.
Das Problem dabei ist leider: Wenn ich bereits ein Mal gedreht habe, ist die Achse um die ich das 2. Mal drehen will mit verdreht, so dass die Rotation um die verdrehte Achse passiert. Sie soll aber jedoch um die Achsen wie sie ursprünglich standen passieren.
So, dass immer wenn ich oben-unten verschiebe, das Objekt um die Bildschirmachse gedreht wird. Wie im anderen Fall auch, unabhängig davon, wie das Objekt bereits gedreht ist.
Eine Möglichkeit wäre es, die erste Rotation nicht auf Matrizenebene zu machen, sondern bereits in den Vertexdaten. Jedoch wäre das ein Schlag für die Performance, den ich nicht hinnehmen kann (will
).
Mir fällt grad nichts mehr dazu ein. *braindeadbin* Hülfeee
(Verwendete Lib ist die dglOpenGL.pas)
Danks im Voraus, und gute Nacht!
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel