   GLSL Animation Interpolation
  I have some basic animation working, using keyframes.  I was thinking about implementing linear interpolation (or a different type of interpolation if this is no good) using GLSL.  I have a couple questions.1. Is doing this realistic?  Should I interpolate on the CPU instead?  Should I Just store a lot more frames in the model file and forget interpolating?2. I'm using glVertexAttribPointer to get data into the shader, is there a limit on the number of attributes I can have?3. If I use linear interpolation, I assume I should just average out the 2 corresponding vertex normals too.  Is this correct?Additional details: The game I want to create is basically an action RPG along the lines of Diablo 2 except with more RPG elements and obviously in 3D.  Barely any physics, not graphics intensive, minimal character animations.Thanks for reading.   
  You could do the animation blending on CPU or GPU.  I personally do it on CPU but it really just depends whether you are CPU or GPU bound (ie which one is used more).this "linear interpolation" you are talking is frequently done in professional games yep.When a character (or part of a character depending on how advanced your animation system is) is changing from one animation to another, a good way to do it is to blend out the old animation and blend in the new animation, so that it's a smooth transition between the 2.You can use it for other reasons too but thats the most common.Also, for your blending, you are going to want to store for each bone..#1 - any translation info#2 - any scaling info (if your animation supports bone scaling)#3 - any rotation infothe scaling and translation you should use a lerp for (linear interpolation), but for the rotation you should use a slerp (spherical interpolation).A nice and easy way of doing this is by storing your bone rotations in quaternions since quaternions are very easy and inexpensive to slerp between.After you have all your bone data figured out from any animation(s) playing and possibly blended together, then you should transform your verts by the bones, recalculate normals if necesary etc.I know this doesnt answer all your questions but I hope it helps!   