How significant is the impact of uploading new transform matrices per mesh?
What about, instead, storing all the transform matrices in a uniform or texture buffer? Wouldn't this be the way to go in scenes where many objects are not constantly animating? A downside, though, is that the camera transform cannot be then premultiplied and would have to be multiplied in the vertex shader. Another thing is that I'm not sure how to efficiently specify the index into the buffer for each draw call, even if the mesh sequence is fixed (the trivial way, setting an integer uniform, defeats the point).