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

glDrawElementsBaseVertex - render primitives from array data with a per-element offset

C Specification

voidglDrawElementsBaseVertex(GLenummode,GLsizeicount,GLenumtype,GLvoid*indices,GLintbasevertex);

Description

glDrawElementsBaseVertex behaves identically to glDrawElements() 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 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

       glDrawElementsBaseVertex - render primitives from array data with a per-element offset

Notes

glDrawElementsBaseVertex is only supported if the GL version is 3.2 or greater, or if the
       ARB_draw_elements_base_vertex extension is supported.

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.

       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                     │     │     │     │     │     │     │     │     │     │     │     │     │
       ├──────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glDrawElementsBaseVertex │  -  │  -  │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       └──────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

See Also