2012-02-17 3 views
0

Итак, я пытаюсь внедрить VBOs, но я не могу найти хороший учебник или документацию по их правильному использованию. Я предполагаю, что вы делаете VBO, когда кому-то нужен объект, а затем, когда следующий кадр появляется, он нарисован/перерисован. Но здесь я смущен:Сложность понимания использования VBOs

  • Как нарисовать несколько VBOs?
  • Как изменить VBO?
  • Когда и где я могу создать новый VBO?

Мне очень жаль, и я просто изучаю OpenGL, поэтому извините меня за это! Но трудно найти учебник, который не просто делает один VBO, и не делает это VBO в то же время нарисованным.

Главным образом то, что я прошу, - это лучшее понимание того, как работают VBOs, где они хранятся и как они нарисованы. Сколько VBO слишком много? Когда я звоню glVertexPointer(), что именно происходит с хранимыми VBOs? Что делать, если я пытаюсь нарисовать VBO разных типов? (используйте треугольники?)

ответ

0

Как нарисовать несколько VBOs?

VBOs - это хранилище данных, равно как и текстуры. Существует функция под названием glBindBuffer, которая связывает VBO для последующего доступа через glVertexAttribPointer.

Как изменить VBO?

glBufferSubData

или

buf = glMapBuffer(...); 
modify_on(buf); 
glUnmapBuffer(...); 

Когда и где я делаю новый VBO?

Всякий раз, когда существующие VBOs больше не могут удовлетворить ваши требования. Или потому, что они маленькие, полные или не соответствуют вашему типу данных.

Смежные вопросы