VBO questions

is vertex_buffer_object for static geometry or for data which can change dynamically? If i got it right, before rendering, you have to upload the data into the graphics card memory. Is this meant to be once (which would make vbo behave like display lists) or can this be done every frame, and this still being faster than immediate rendering calls? I have to draw several thousand particles which stay the same, but the drawing order changes (depth sorting). Are vbo the right way to handle them optimally?


VBO is for static and dynamic geometry. There is a usage hint telling the driver how you intend to use the buffer so that it can make smart decisions when creating this buffer.

and then you can upload the data every frame and it still fast? however, if you do immediate rendering, the data also has to passed to the graphics cards memory, so it seems logical that is is fast enough.