From OpenGL Reference
Jump to navigation Jump to search

Modify the rate at which generic vertex attributes


C Specification[edit]

void glVertexBindingDivisor( GLuint bindingindex, GLuint divisor );
void glVertexArrayBindingDivisor( GLuint vaobj, GLuint bindingindex, GLuint divisor );


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.


 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 asinstancedif 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 .


 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[edit]


Version Support[edit]

 glVertexArrayBindingDivisor  4.5+
 glVertexBindingDivisor  4.3+

See Also[edit]

 glBindVertexBuffer , glVertexAttribBinding , glVertexAttribPointer , glVertexBindingDivisor , glVertexAttribPointer .


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.