名称
glBindBuffer- 绑定一个命名(ID)的缓冲区对象
C规范
void glBindBuffer(GLenum target,GLuint buffer);
参数
target
指定缓冲区对象绑定的目标。 符号常量必须为GL_ARRAY_BUFFER或GL_ELEMENT_ARRAY_BUFFER。
buffer
指定缓冲区对象的名称(ID)。
描述
glBindBuffer允许您创建或使用命名缓冲区对象。 调用glBindBuffer,目标设置为GL_ARRAY_BUFFER或GL_ELEMENT_ARRAY_BUFFER,缓冲区设置为新缓冲区对象的名称,这样就将缓冲区对象名称绑定到目标了。 当缓冲区对象绑定到目标时,该目标的先前绑定将自动中断。
缓冲区对象名称是无符号整数。 0值保留,但每个缓冲区对象目标没有默认缓冲区对象。 相反,缓冲区设置为0可以有效地取消绑定先前绑定的任何缓冲区对象,并恢复该缓冲区对象目标的客户机内存使用情况。 缓冲区对象名称和相应的缓冲区对象内容对于当前GL渲染上下文的共享对象空间是本地的。
您可以使用glGenBuffers生成一组新的缓冲区对象名称。
usage为GL_STATIC_DRAW时第一次绑定后的缓冲区对象的状态是零大小的内存缓冲区。
绑定非零缓冲区对象名称时,绑定到的目标上的GL操作会影响绑定缓冲区对象,并且绑定到的目标的查询将从绑定缓冲区对象返回状态。 当绑定缓冲区对象名称零时,如在初始状态中,尝试修改或查询绑定到的目标上的状态会生成GL_INVALID_OPERATION错误。
当通过调用glVertexAttribPointer更改顶点数组指针状态时,当前缓冲区对象绑定(GL_ARRAY_BUFFER_BINDING,GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING中的一个)被复制到要更改的顶点属性

glBindBuffer 是 OpenGL ES 3.0 中用于绑定缓冲区对象的方法,它可以将缓冲区对象名称绑定到 GL_ARRAY_BUFFER 或 GL_ELEMENT_ARRAY_BUFFER 目标。这允许在图形渲染中使用缓冲区对象,例如存储顶点数据或索引数据。当缓冲区对象绑定到目标时,之前的绑定会被自动中断,而0值的绑定则会取消绑定任何缓冲区对象,恢复客户机内存使用。错误GL_INVALID_ENUM会在target参数取非法值时触发。glBindBuffer的使用与其他GL操作和查询紧密相关,如glGet参数GL_ARRAY_BUFFER_BINDING和GL_ELEMENT_ARRAY_BUFFER_BINDING。
最低0.47元/天 解锁文章
2574

被折叠的 条评论
为什么被折叠?



