Say, for example, I have a list of enemies. Each enemy is a textured quad which is the stored in a singular shared VertexBuffer and IndexBuffer with the buffer usage set to BufferUsage.WriteOnly (static buffers essentially). Then only one call to DrawIndexedPrimitives would be needed to draw all enemies. The problem is enemies have to move around at some point. It is quite easy to change the BasicEffect Matrixes to get the desired result of enemy movement.
My question is how can I change the BasicEffect Matrixes after each Quad using only one static VertexBuffer and IndexBuffer?
Changing the Matrixes for movement is normal, right?
I thought about using a DynamicVertexBuffer instead, is this more effcient for my case?
What about 4.0 streaming? Would a call to GraphicsDevice.SetVertexBuffers(array); (where array is whatever you send it that frame) be a better idea?
I know this question may seem silly for quads considering SpriteBatch is pretty good at doing this already for sprites. But, I am going to add in my own dazzling effects and want to draw textured quads this way. Plus, I'm also OCD and want this to be organized and efficient.
Any help on the matter is appreciated.