Original Post
Hi. I'm using Vertex Buffer Objects in some openGL code. Update and Draw are running on different threads. I would like the update to be able to change the data in the VBOs that will then be drawn. Is there any way to do this without a whole lot of locking and concurrency issues? For example, I want one thread to be doing this: glBindBuffer(GL_ARRAY_BUFFER, aBuffer) glBufferData(GL_ARRAY_BUFFER, size, newdata, usage) at the same time that the draw is doing this: glBindBuffer(GL_ARRAY_BUFFER, anotherBuffer) glVertexPointer(num,type,offset,NULL) glDrawArrays(and so forth) Obviously, in order for this to work, there would have to be some way to: bind more than one buffer at once (in different threads) potentially draw a buffer while it is being modified Is there any way to do this? Will using glMapBuffer() in the update be any help, or will that fail too because it requires that a buffer be bound first? Thanks.