Light | Dark

# docs.GL

OpenGL 4
OpenGL ES 3

# glVertexBindingDivisor

## Name

glVertexBindingDivisor, glVertexArrayBindingDivisor — modify the rate at which generic vertex attributes advance

## C Specification

`void glVertexBindingDivisor(` | GLuint bindingindex,
| GLuint divisor`)`;

`void glVertexArrayBindingDivisor(` | GLuint vaobj,
| GLuint bindingindex,
| GLuint divisor`)`;

## Parameters

`vaobj`

  Specifies the name of the vertex array object for `glVertexArrayBindingDivisor` function.

`bindingindex`

  The index of the binding whose divisor to modify.

`divisor`

  The new value for the instance step rate to apply.

## Description

`glVertexBindingDivisor` and `glVertexArrayBindingDivisor` modify the rate at which generic vertex attributes advance when rendering multiple instances of primitives in a single draw command. If `divisor` is zero, the attributes using the buffer bound to `bindingindex` advance once per vertex. If `divisor` is non-zero, the attributes advance once per `divisor` instances of the set(s) of vertices being rendered. An attribute is referred to as instanced if the corresponding `divisor` value is non-zero.

`glVertexBindingDivisor` uses currently bound vertex array object , whereas `glVertexArrayBindingDivisor` updates state of the vertex array object with ID `vaobj`.

## Errors

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

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

`GL_INVALID_OPERATION` is generated by `glVertexArrayBindingDivisor` if `vaobj` is not the name of an existing vertex array object.

## Associated Gets

glGet with arguments `GL_MAX_VERTEX_ATTRIB_BINDINGS`, `GL_VERTEX_BINDING_DIVISOR`.

## 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
`glVertexArrayBindingDivisor` | - | - | - | - | - | - | - | - | - | - | - | ✔
`glVertexBindingDivisor` | - | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔

## See Also

glBindVertexBuffer, glVertexAttribBinding, glVertexAttribPointer, glVertexBindingDivisor, glVertexAttribPointer.

## Copyright

Copyright © 2013-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.