
https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBindBuffer.xhtml
名称
glBindBuffer ---- 绑定带名称的缓存对象。
原型
void glBindBuffer( GLenum target, GLuint buffer);
参数
target
绑定指定的缓存对象,绑定的类型必须是以下表格的:
Buffer Binding Target | Purpose |
---|---|
GL_ARRAY_BUFFER | Vertex attributes |
GL_ATOMIC_COUNTER_BUFFER | Atomic counter storage |
GL_COPY_READ_BUFFER | Buffer copy source |
GL_COPY_WRITE_BUFFER | Buffer copy destination |
GL_DISPATCH_INDIRECT_BUFFER | Indirect compute dispatch commands |
GL_DRAW_INDIRECT_BUFFER | Indirect command arguments |
GL_ELEMENT_ARRAY_BUFFER | Vertex array indices |
GL_PIXEL_PACK_BUFFER | Pixel read target |
GL_PIXEL_UNPACK_BUFFER | Texture data source |
GL_QUERY_BUFFER | Query result buffer |
GL_SHADER_STORAGE_BUFFER | Read-write storage for shaders |
GL_TEXTURE_BUFFER | Texture data buffer |
GL_TRANSFORM_FEEDBACK_BUFFER | Transform feedback buffer |
GL_UNIFORM_BUFFER | Uniform block storage |
buffer
指定缓存对象的名称。(这个名称可以理解为类似C/C++中的指针)
描述
glBindBuffer 完成两项内容:
- 如果绑定到一个已经创建的缓存对象,那么它将成为当前 target 中被激活的缓存对象。
- 如果绑定的 buffer 值为0,那么 OpenGL 将不再对当前 target 使用任何缓存对象。
(OpenGL 中的所有glBind* 的函数,都是值一旦绑定后,后面对这类数据的操作都是对帮的数据操作。)
错误
如果 target 是无效的值,将生成 GL_INVALID_ENUM
错误。
如果 buffer 不是从 glGenBuffers 返回的缓存名称,将生成 GL_INVALID_VALUE
错误。