glDrawRangeElementsBaseVertex — render primitives from array data with a per-element offset
void glDrawRangeElementsBaseVertex( | GLenum mode, |
GLuint start, | |
GLuint end, | |
GLsizei count, | |
GLenum type, | |
GLvoid *indices, | |
GLint basevertex) ; |
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.
start
Specifies the minimum array index contained in indices
.
end
Specifies the maximum array index contained in indices
.
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.
glDrawRangeElementsBaseVertex
is a restricted form of glDrawElementsBaseVertex. mode
, start
, end
, count
and basevertex
match the corresponding arguments to glDrawElementsBaseVertex, with the additional constraint that all values in the array indices
must lie between start
and end
, inclusive, prior to adding basevertex
. Index values lying outside the range [start
, end
] are treated in the same way as glDrawElementsBaseVertex. 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.
GL_INVALID_ENUM
is generated if mode
is not an accepted value.
GL_INVALID_VALUE
is generated if count
is negative.
GL_INVALID_VALUE
is generated if end
< start
.
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.
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 |
glDrawRangeElementsBaseVertex | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
glDrawElements, glDrawElementsBaseVertex, glDrawRangeElements, glDrawElementsInstanced, glDrawElementsInstancedBaseVertex
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. https://opencontent.org/openpub/.