I have my VBO using single buffer at the moment, it has vertex, texcoord and color elements.
Now, is it possible to update efficiently only the texcoords without updating the vertex/color as well? It should be the same efficiency as having separate buffers updated.
You can map a specific range of your VBO into user memory using glMapBufferRange. Of course, if your vertex, color and texcoord data are interleaved, it will be equivalent to a glMapBuffer.
EDIT:
If your VBO is:
You can upload only the texture coordinates by mapping the last part of the buffer (
[TxTy TxTy TxTy TxTy]) and update it. You can also use glBufferSubData to do that. It would be faster to update that buffer than the full one.But if you use interleaved data:
Then you cannot update part of the buffer.