glDrawElementsBaseVertex - render primitives from array data with a per-element offset
Contents
C Specification
voidglDrawElementsBaseVertex(GLenummode,GLsizeicount,GLenumtype,GLvoid*indices,GLintbasevertex);
Copyright
Copyright © 2010-2014 Khronos Group
[FIXME: source] 11/18/2024 GLDRAWELEMENTSBASEVE(3G)
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 │
├──────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
│ Function │ 2.0 │ 2.1 │ 3.0 │ 3.1 │ 3.2 │ 3.3 │ 4.0 │ 4.1 │ 4.2 │ 4.3 │ 4.4 │ 4.5 │
│ / │ │ │ │ │ │ │ │ │ │ │ │ │
│ Feature │ │ │ │ │ │ │ │ │ │ │ │ │
│ Name │ │ │ │ │ │ │ │ │ │ │ │ │
├──────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ glDrawElementsBaseVertex │ - │ - │ - │ - │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │
└──────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
