## Name

glBindVertexBuffer — bind a buffer to a vertex buffer bind point

## C Specification

`void glBindVertexBuffer(` | GLuint bindingindex,
| GLuint buffer,
| GLintptr offset,
| GLintptr stride`)`;

## Parameters

`bindingindex`

  The index of the vertex buffer binding point to which to bind the buffer.

`buffer`

  The name of an existing buffer to bind to the vertex buffer binding point.

`offset`

  The offset of the first element of the buffer.

`stride`

  The distance between elements within the buffer.

## Description

`glBindVertexBuffer` binds the buffer named `buffer` to the vertex buffer binding point whose index is given by `bindingindex`. `offset` and `stride` specify the offset of the first element within the buffer and the distance between elements within the buffer, respectively, and are both measured in basic machine units. `bindingindex` must be less than the value of `GL_MAX_VERTEX_ATTRIB_BINDINGS`. `offset` and `stride` must be greater than or equal to zero. If `buffer` is zero, then any buffer currently bound to the specified binding point is unbound.

## Errors

`GL_INVAILD_VALUE` is generated if `bindingindex` is greater than or equal to the value of `GL_MAX_VERTEX_ATTRIB_BINDINGS`.

`GL_INVALID_VALUE` is generated if `offset` or `stride` is less than zero.

`GL_INVALID_VALUE` is generated if `buffer` is not the name of an existing buffer object.

`GL_INVALID_OPERATION` is generated if no vertex array object is bound.

## Associated Gets

glGet with argument `GL_MAX_VERTEX_ATTRIB_BINDINGS`.

## See Also

glVertexAttribBinding, glVertexAttribFormat, glVertexAttribPointer, glVertexBindingDivisor.

## Copyright

Copyright © 2012 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. http://opencontent.org/openpub/.