GLVERTEXBINDINGDIVIS(3G)

  .SH "NAME" glVertexBindingDivisor, glVertexArrayBindingDivisor - modify the rate at which generic vertex attributes advance
  .SH "C SPECIFICATION"

      .HP u void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
      .HP u void glVertexArrayBindingDivisor(GLuint vaobj, GLuint bindingindex, GLuint divisor);

  .SH "PARAMETERS"

      .PP vaobj

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

          .RE
          .PP bindingindex

                  The index of the binding whose divisor to modify.

              .RE
              .PP divisor

                      The new value for the instance step rate to apply.

                  .RE

              .SH "DESCRIPTION"

                .PP 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.
                .PP glVertexBindingDivisor uses currently bound vertex array object , whereas glVertexArrayBindingDivisor updates state of the vertex array object with ID vaobj.

              .SH "ERRORS"

                .PP GL_INVALID_VALUE is generated if bindingindex is greater than or equal to the value of GL_MAX_VERTEX_ATTRIB_BINDINGS.
                .PP GL_INVALID_OPERATION by glVertexBindingDivisor is generated if no vertex array object is bound.
                .PP GL_INVALID_OPERATION is generated by glVertexArrayBindingDivisor if vaobj is not the name of an existing vertex array object.

              .SH "ASSOCIATED GETS"

                .PP glGet() with arguments GL_MAX_VERTEX_ATTRIB_BINDINGS, GL_VERTEX_BINDING_DIVISOR.

                .SH "VERSION SUPPORT"
                    .TS allbox tab(:); lB cB s s s s s s s s s s s lB cB cB cB cB cB cB cB cB cB cB cB cB. T{ T}:T{ OpenGL Version T} T{ Function / Feature Name T}:T{ 2.0 T}:T{ 2.1 T}:T{ 3.0 T}:T{ 3.1 T}:T{ 3.2 T}:T{ 3.3 T}:T{ 4.0 T}:T{ 4.1 T}:T{ 4.2 T}:T{ 4.3 T}:T{ 4.4 T}:T{ 4.5 T} l c c c c c c c c c c c c l c c c c c c c c c c c c. T{ glVertexArrayBindingDivisor T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ ✔ T} T{ glVertexBindingDivisor T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ - T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}

              .SH "SEE ALSO"

                .PP glBindVertexBuffer(), glVertexAttribBinding(), glVertexAttribPointer(), glVertexBindingDivisor(), glVertexAttribPointer().

                .SH "COPYRIGHT"
                    .PP 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/.

COPYRIGHT
Copyright © 2013-2014 Khronos Group