Hi,
I have a terrain engine rendering a spherical globe with quad tree tiles. Each quad tile is a mesh of about 1000 vertices. I am currently only using regular indexed vertex arrays with OK performance, but want to use VBO's instead.
For each quad tile I have a unique vertex array. In addition each tile has texture coordinates and an index array for glDrawElements that can be shared between tiles. (Each tile is the same regular grid, but at different depth in the quad tree).
The question is what's the best way to put this into VBO's? Should I use one static VBO per vertex array? These VBO's would be quite small, and some preliminary tests indicate that this doesn't do much for performance at all.
Another idea is to make a big VBO of 1-4Mb (as recommended on the OpenGL Wiki) and upload each tile into this VBO with glBufferSubData as they come into view.
I would still need to call glVertexPointer for each tile with the correct offset into the VBO right? Or is there a way to add a fixed offset to the index array before calling glDrawElements?
Would this be a reasonable way of doing things, or should I try something completely different?
Cheers



