难以理解维生素生态系统的使用

时间:2012-02-17 15:15:51

标签: c++ opengl vbo

所以我正在尝试实施VBO,但我找不到正确使用它们的好教程或文档。我猜你在一些物体需要它的时候做一个VBO然后当下一帧出现时它被绘制/重绘。但这里是我困惑的地方:

  • 如何绘制多个VBO?
  • 如何修改VBO?
  • 我何时何地制作新的VBO?

我很抱歉,我只是在学习OpenGL,请原谅我!但很难找到一个不只是制作一个VBO的教程,并且不会在绘制它的同时制作VBO。

主要是我要求的是更好地理解VBO如何工作,存储它们的方式以及如何绘制它们。有多少维生素生态系统太多了?当我调用glVertexPointer()存储的VBO究竟发生了什么?如果我想绘制不同类型的VBO怎么办? (只使用三角形?)

1 个答案:

答案 0 :(得分:0)

  

如何绘制多个VBO?

VBO是数据存储,就像纹理一样。有一个名为glBindBuffer的函数,它绑定VBO以便通过glVertexAttribPointer进行后续访问。

  

如何修改VBO?

glBufferSubData

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

我何时何地制作新的VBO?

每当现有的VBO不再能满足您的需求时。要么是因为它们很小,要么与您的数据类型不匹配。