Original Post
I've used OpenGL before, but only in immediate mode. It was a fairly intuitive: glBegin(..) //Transformations.. //Draw textured quad glEnd() For each sprite. But this doesn't scale too well, especially with all the function overhead. Enter OpenGL 3.0 which apparently does away with immediate mode in favor of Vertex Buffer Objects. As I understand VBO's: You define an array of data, tell OpenGL how to interpret it (interweaved etc), fetch a VBO handle, bind that handle to the array/load it in. And it magically draws the geometry very quickly. But what I don't quite understand: How do I do multiple, separate quads in one VBO, which are all changing position/orientation often. And I'm talking 30k+ quads here. I would think modern hardware can handle 100k quads easily enough, I'm just not sure how to go about drawing them efficiently.