Use quaternions (SLERP). Neither rotation matrices nor Euler angles are appropriate for interpolation.
See 45:05 here (David Sachs, Google Tech Talk).
More Related Contents:
- How do I compose a rotation matrix with human readable angles from scratch?
- Matrix inverse accuracy
- What exactly are eye space coordinates?
- Convert Quaternion rotation to rotation matrix?
- Rendering meshes with multiple indices
- Should I ever use a `vec3` inside of a uniform buffer or shader storage buffer object?
- About OpenGL texture coordinates
- How to render depth linearly in modern OpenGL with gl_FragCoord.z in fragment shader?
- Why transform normals with the transpose of the inverse of the modelview matrix?
- How to use GLUT/OpenGL to render to a file?
- How does OpenGL work at the lowest level? [closed]
- glVertexAttribPointer and glVertexAttribFormat: What’s the difference?
- Rotating a Group of Vectors
- GLSL fixed function fragment program replacement
- What does “immediate mode” mean in OpenGL?
- Is OpenGL coordinate system left-handed or right-handed?
- In a fragment shader, why can’t I use a flat input integer to index a uniform array of sampler2D?
- Render OpenGL scene to texture using FBO in fixed function pipeline drawing
- How to debug a GLSL shader?
- Rotate and translate object in local and global orientation using glm
- How to use Pivot Point in Transformations
- Using the mouse scrollwheel in GLUT
- How to Using the #include in glsl support ARB_shading_language_include
- How do you get the modelview and projection matrices in OpenGL?
- OpenGL: scale then translate? and how?
- GLSL, semaphores?
- OpenGL stretched shapes – aspect ratio
- Extract arbitrarily rotated plane of data from 3D array as 2D array
- Frequency of shader invocations in rendering commands
- how to enable vertical sync in opengl?