## Name

glVertexAttribDivisor — modify the rate at which generic vertex attributes advance during instanced rendering

## C Specification

`void glVertexAttribDivisor(` | GLuint index,
| GLuint divisor`)`;

## Parameters

`index`

  Specify the index of the generic vertex attribute.

`divisor`

  Specify the number of instances that will pass between updates of the generic attribute at slot `index`.

## Description

`glVertexAttribDivisor` modifies the rate at which generic vertex attributes advance when rendering multiple instances of primitives in a single draw call. If `divisor` is zero, the attribute at slot `index` advances once per vertex. If `divisor` is non-zero, the attribute advances once per `divisor` instances of the set(s) of vertices being rendered. An attribute is referred to as instanced if its `GL_VERTEX_ATTRIB_ARRAY_DIVISOR` value is non-zero.

`index` must be less than the value of `GL_MAX_VERTEX_ATTRIBS`.

## Notes

`glVertexAttribDivisor` is available only if the GL version is 3.3 or higher.

## Errors

`GL_INVALID_VALUE` is generated if `index` is greater than or equal to the value of `GL_MAX_VERTEX_ATTRIBS`.

## 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
`glVertexAttribDivisor` | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

glVertexAttribPointer, glEnableVertexAttribArray, glDisableVertexAttribArray

## 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. http://opencontent.org/openpub/.