5
\$\begingroup\$

I have a few hundred VBOs, and I want to only draw a subset of the VBOs each frame.

Is there anything faster than binding and drawing each VBO? Is there a batched draw command for multiple VBOs?

  1. How do I bind multiple VBOs?

  2. Is there a version of glMultiDrawElements for sets of VBOs?

\$\endgroup\$
  • \$\begingroup\$ Which GL version? \$\endgroup\$ – ltjax Apr 28 '11 at 9:05
2
\$\begingroup\$

Usually this is solved by trying to stuff as much as possible into a single VBO. You can store multiple, unrelated primitives/meshes in a single VBO and then separate them with array indices/ranges.

Binding multiple VBOs or drawing from a set of VBOs is not possible, AFAIK.

\$\endgroup\$
2
\$\begingroup\$

There is extension called primitive restart, which can maybe help you, but you will have to have only one big VBO.

Also - if you want to use multiple VBOs, you can try extension unified buffer memory, which is faster then binding.

But what I know, there is no way to draw multiple VBOs (you can have bound only one VBO at a time).

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.