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.
glDrawElements, glDrawElementsBaseVertex, glDrawRangeElements, glDrawElementsInstanced, glDrawElementsInstancedBaseVertex
Copyright © 2010 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. http://opencontent.org/openpub/.