Hi there,
I have about 400 VBOs - half contain colour data and the other half contain vertex data. When it comes to drawing this using glDrawArrays, my frame rate is reduced to about 40fps. If I eliminate the glDrawArrays call then my frame rate is back up to 60fps. Thus I think that I have a problem given the number of times glDrawArrays gets called (200 * 60 frames per second = 12,000 times per second).
I’m thinking that an obvious thing would be to consolidate the VBOs into just two i.e. one for colour data and the other for the vertex data. I could then use glMultiDrawArrays to pick out the multiple offsets and counts to draw from those 2 VBOs. However my present individual VBOs come and go (they represent flight paths) so I’d have to cater for this with the new VBO strategy.
Ideally, given the way my data is structured, it would be great to do something like this:
GLuint vertexBuffers[200];
glGenBuffers(1, &vertexBuffers[0]);
…
glBindBuffers(GL_ARRAY_BUFFER, vertexBuffers);
// (note the intended glBindBuffers as opposed to glBindBuffer).
…
glMultiDrawArrays(…)
i.e. have a means of binding multiple buffers through re-direction.
Is this somehow possible or will I need to re-structure things to use the two VBOs mentioned? Thanks for any help.
Cheers,
-C