ich diesen sehr einfachen Code bin mit Objekten um die eigene HerkunftGLM OpenGL Rotation nur dann richtig um die X-Achse
void Entity::rotate(unsigned short axis, float speed, float delta)
{
m_Orientation[axis] += delta * speed;
glm::quat quaternion = glm::quat(glm::vec3(m_Orientation[0], m_Orientation[1], m_Orientation[2]));
m_RotationMatrix = glm::mat4_cast(quaternion);
}
Das Problem, das ich bin vor zu drehen ist, dass die Drehung nur relativ Richtung zum Objekt der auf die X Achse. Das heißt, egal, auf welche Weise das Objekt zeigt (was seine Ausrichtung ist), wenn ich es um X rotiere, wird es immer um seine eigene X Achse rotieren. Das würde ich gerne machen, aber auch auf der anderen 2-Achse.
Aber Y und Z rotieren immer um die X- und Y-Achse der Welt, ungeachtet dessen, auf welche Weise mein Objekt zu sehen ist.
Mein Code ist so klein und einfach Ich sehe das Problem nicht wirklich? Ist die X-Drehung immer der richtige Unfall, oder sind die anderen beiden falsch?
Hier ist ein Video des Problems: youtube.com/watch? V = DCZJsm8tZA8 – oglglslnoob