logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

glDrawElementsInstancedBaseVertex - render multiple instances of a set of primitives from array data with

C Specification

voidglDrawElementsInstancedBaseVertex(GLenummode,GLsizeicount,GLenumtype,GLvoid*indices,GLsizeiprimcount,GLintbasevertex);

Description

glDrawElementsInstancedBaseVertex behaves identically to glDrawElementsInstanced() except that the ith
       element transferred by the corresponding draw call will be taken from element indices[i] + basevertex of
       each enabled array. If the resulting value is larger than the maximum value representable by type, it is
       as if the calculation were upconverted to 32-bit unsigned integers (with wrapping on overflow
       conditions). The operation is undefined if the sum would be negative.

Errors

GL_INVALID_ENUM is generated if mode is not an accepted value.

       GL_INVALID_VALUE is generated if count or primcount is negative.

       GL_INVALID_OPERATION is generated if a geometry shader is active and mode is incompatible with the input
       primitive type of the geometry shader in the currently installed program object.

       GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array or the
       element array and the buffer object's data store is currently mapped.

Name

       glDrawElementsInstancedBaseVertex - render multiple instances of a set of primitives from array data with
       a per-element offset

Notes

glDrawElementsInstancedBaseVertex is only supported if the GL version is 3.2 or greater.

Parameters

mode
           Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP,
           GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_LINES_ADJACENCY,
           GL_LINE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES are
           accepted.

       count
           Specifies the number of elements to be rendered.

       type
           Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or
           GL_UNSIGNED_INT.

       indices
           Specifies a pointer to the location where the indices are stored.

       primcount
           Specifies the number of instances of the indexed geometry that should be drawn.

       basevertex
           Specifies a constant that should be added to each element of indices when chosing elements from the
           enabled vertex arrays.

See Also

glDrawElements(), glDrawRangeElements(), glDrawRangeElementsBaseVertex(), glDrawElementsInstanced(),
       glDrawElementsInstancedBaseVertex()

Version Support

       ┌───────────────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                                   │                OpenGLVersion                                         │
       ├───────────────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │ Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │ /                                 │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Feature                           │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Name                              │     │     │     │     │     │     │     │     │     │     │     │     │
       ├───────────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glDrawElementsInstancedBaseVertex │  -  │  -  │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       └───────────────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

See Also