I'm using OpenGL
to implement some kind of batched drawing. For this I create a vertex buffer
to store data.
Note: this buffer generally will update on each frame, but will never decrease size (but still can increase).
My question is: is it technically correct to use glBufferData
(with streaming write-only mode
) for updating it (instead of e.g. glMapBuffer
)? I suppose there's no need to map it, since full data is updated, so I just send a full pack at once. And if the current buffer size is less, than I'm sending, it will automatically increase, won't it? I'm just now sure about the way it really works (maybe it will recreate buffer on each call, no?).
It would be better to have buffer with fixed size and do not recreate it every frame.
You can achieve this by:
ideas from comments:
link: http://hacksoflife.blogspot.com/2010/02/double-buffering-vbos.html
hope that helps