文章目录
- 名称
- 原型
- 参数
- 描述
- 错误

https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBindBuffer.xhtml
OpenGL API - 笔记汇总
名称glBindBuffer ---- 绑定带名称的缓存对象。
原型void glBindBuffer( GLenum target, GLuint buffer);
参数
target 绑定指定的缓存对象,绑定的类型必须是以下表格的:
Buffer Binding TargetPurposeGL_ARRAY_BUFFERVertex attributesGL_ATOMIC_COUNTER_BUFFERAtomic counter storageGL_COPY_READ_BUFFERBuffer copy sourceGL_COPY_WRITE_BUFFERBuffer copy destinationGL_DISPATCH_INDIRECT_BUFFERIndirect compute dispatch commandsGL_DRAW_INDIRECT_BUFFERIndirect command argumentsGL_ELEMENT_ARRAY_BUFFERVertex array indicesGL_PIXEL_PACK_BUFFERPixel read targetGL_PIXEL_UNPACK_BUFFERTexture data sourceGL_QUERY_BUFFERQuery result bufferGL_SHADER_STORAGE_BUFFERRead-write storage for shadersGL_TEXTURE_BUFFERTexture data bufferGL_TRANSFORM_FEEDBACK_BUFFERTransform feedback bufferGL_UNIFORM_BUFFERUniform block storagebuffer 指定缓存对象的名称。(这个名称可以理解为类似C/C++中的指针)
描述glBindBuffer 完成两项内容:
- 如果绑定到一个已经创建的缓存对象,那么它将成为当前 target 中被激活的缓存对象。
- 如果绑定的 buffer 值为0,那么 OpenGL 将不再对当前 target 使用任何缓存对象。
(OpenGL 中的所有glBind* 的函数,都是值一旦绑定后,后面对这类数据的操作都是对帮的数据操作。)
错误如果 target 是无效的值,将生成 GL_INVALID_ENUM
错误。 如果 buffer 不是从 glGenBuffers 返回的缓存名称,将生成 GL_INVALID_VALUE
错误。