glGenBuffers函数用法

时间:2014-01-18 21:20:37

标签: opengl

对于每种缓冲区类型,都有一个特殊的函数来为它生成名称,如帧缓冲区为glGenFramebuffers,渲染缓冲区为glGenRenderbuffers,纹理为glGenTextures

但是有一个名为glGenBuffers的函数。这个函数生成什么类型​​的缓冲区? &安培;如何在我的程序中使用这些缓冲区?

1 个答案:

答案 0 :(得分:1)

glGenBuffers为“缓冲区对象”分配名称。 OpenGL缓冲区对象表示可由应用程序和GPU访问的内存块(尽管通常不是同时访问两者)。 OpenGL可以将缓冲区对象的内容用于各种目的,单个缓冲区对象可以在其生命周期中用于多个目的,但实际上缓冲区对象通常专门为一种类型的数据创建。

通过查看可以附加缓冲区对象的绑定点列表(使用glBindBuffer函数),可以了解缓冲区对象的用途。例如:

  • GL_ARRAY_BUFFER​ - OpenGL将从缓冲区对象中读取顶点数据。
  • GL_ELEMENT_ARRAY_BUFFER​ - OpenGL将从缓冲区对象中读取顶点索引(例如,glDrawElements)。
  • GL_PIXEL_UNPACK_BUFFER​ - 读取像素数据的函数(例如glTexImage2D)将从缓冲区对象中读取该数据。

还有更多。

有关更多信息,请参阅Buffer Object的OpenGL Wiki页面。