Ive been somewhat out of the loop of recent additions to the new OpenGL versions… 1.2 and later really, and I’m trying to get up to date. Ive got a lengthy math/graphics engine that is OpenGL based which I began in 1999.
Maintainence of object data lists (vertex, normal, texture, index…etc) are all controlled by a large class that maintains any added objects in a scene. It also maintains a very large global vertex/index/normal list so that new objects are added via the maintainence class to the global list.
To boost efficiency, I’d like to start using VBO’s rather than maintaining such huge lists in client memory. Now, to me, its slightly unclear as to whether or not its possible to add/modify/remove objects from/in the VBO, and how access might be granted to it. It’d be redundant to keep a local copy of these lists, so they’d be “free”'d.
Normally, most of the interaction with the global list only occurs at load time, loading models/meshes and such. However, if an object were to be added later in a scene, how would one go about adding the data to the lists? I couldnt see any clear facility in the specification of GL_ARB_vertex_buffer_object for adding/removing/modifying data or for resizing the lists as you would for C-type arrays, if its even possible.