glVertexBindingDivisor, glVertexArrayBindingDivisor — modify the rate at which generic vertex attributes advance
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 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
.
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.
glGet with arguments GL_MAX_VERTEX_ATTRIB_BINDINGS
, GL_VERTEX_BINDING_DIVISOR
.
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 | - | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔ |
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. https://opencontent.org/openpub/.