glRotatef() die 438ste..
-
Es gibt zwar zig Threads zu dem Thema aber keiner konnte mir helfen.
Ich möchte ganz einfach ein Objekt innerhalb der Spielwelt rotieren lassen aber schaffe es einfach nicht. Mit dem ganzen Matrizenkram will ich mich lieber nicht beschäftigen, es geht mir jetzt einfach um die Lösung des konkreten Problems:
//Einstieg glLoadIdentity(); ... gluLookAt(...); //Damit bewege ich mich in der Welt ... //Und nu soll im Fokus meines Blickes ein Objekt stehen, welches um sein //eigene Achse rotiert glPushMatrix(); glTranslatef (fPlayerX, fPlayerY, 0.0f); //Das funktioniert so auch! Nur wohin mit der drehung //glRotatef(Rotation_Z, 0.0f, 0.0f, 1.0f); //hier ist jedenfalls falsch glBegin(...) ... glEnd() glPopMatrix();Ich hab alles probiert, sobald Rotatef() irgendwo hinzukommt seh ich das Objekt entweder garnicht mehr oder es rotiert um eine Achse die kilometerweit entfernt ist.

Wär schön wenn mir einfach jemand die richtige Position/Reihenfolge verraten könnte, der Code ist was Translationen und co. betrifft komplett.Sry bin noch ziemlicher Anfänger..
-
Vielleicht hättest du dich mit Matrizen beschäftigen sollen. Die Multiplikation ist da nämlich nicht kommutativ.
Will sagen:
Erst rotieren, dann verschieben.MfG
-
Hm hätte ich wahrscheinlich schon schon aber wirklich brauchen tu ich das erst mal nur für dieses eine Problem und das möglichst schnell

Auch mit Rotatef() vor dem Translatef() geht es nicht..Genauer gesagt wird das ganze zwar (korrekt gedreht) verschoben, je weiter ich mich mit z.B PlayerX von der 'Mitte' entferne, aber in einem ganz anderen Winkel als zu dieser Koordinate in der restlichen Welt hin.
-
Dann gib doch den richtigen Winkel an.
Bye, TGGC