Light | Dark

# docs.GL

OpenGL 4
OpenGL 3
OpenGL ES 3

# glBindBufferBase

## Name

glBindBufferBase — bind a buffer object to an indexed buffer target

## C Specification

`void glBindBufferBase(` | GLenum target,
| GLuint index,
| GLuint buffer`)`;

## Parameters

`target`

  Specify the target of the bind operation. `target` must be one of `GL_ATOMIC_COUNTER_BUFFER`, `GL_TRANSFORM_FEEDBACK_BUFFER`, `GL_UNIFORM_BUFFER` or `GL_SHADER_STORAGE_BUFFER`.

`index`

  Specify the index of the binding point within the array specified by `target`.

`buffer`

  The name of a buffer object to bind to the specified binding point.

## Description

`glBindBufferBase` binds the buffer object `buffer` to the binding point at index `index` of the array of targets specified by `target`. Each `target` represents an indexed array of buffer binding points, as well as a single general binding point that can be used by other buffer manipulation functions such as glBindBuffer or glMapBuffer. In addition to binding `buffer` to the indexed buffer binding target, `glBindBufferBase` also binds `buffer` to the generic buffer binding point specified by `target`.

## Notes

Calling `glBindBufferBase` is equivalent to calling glBindBufferRange with `offset` zero and `size` equal to the size of the buffer.

The `GL_ATOMIC_COUNTER_BUFFER` target is available only if the GL version is 4.2 or greater.

The `GL_SHADER_STORAGE_BUFFER` target is available only if the GL version is 4.3 or greater.

## Errors

`GL_INVALID_ENUM` is generated if `target` is not `GL_ATOMIC_COUNTER_BUFFER`, `GL_TRANSFORM_FEEDBACK_BUFFER`, `GL_UNIFORM_BUFFER` or `GL_SHADER_STORAGE_BUFFER`.

`GL_INVALID_VALUE` is generated if `index` is greater than or equal to the number of `target`-specific indexed binding points.

`GL_INVALID_VALUE` is generated if `buffer` does not have an associated data store, or if the size of that store is zero.

## Tutorials

## Version Support

| OpenGL Version
--- | ---
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5
`glBindBufferBase` | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

glGenBuffers, glDeleteBuffers, glBindBuffer, glBindBufferRange, glMapBuffer, glUnmapBuffer,

## Copyright

Copyright © 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.

Think you can improve this page? Edit this page on GitHub.