table of contents
GLDRAWELEMENTSINSTAN(3G) | [FIXME: manual] | GLDRAWELEMENTSINSTAN(3G) |
NAME¶
glDrawElementsInstancedBaseVertexBaseInstance - render multiple instances of a set of primitives from array data with a per-element offset
C SPECIFICATION¶
void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);
PARAMETERS¶
mode
count
type
indices
primcount
basevertex
baseinstance
DESCRIPTION¶
glDrawElementsInstancedBaseVertexBaseInstance 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. The basevertex has no effect on the shader-visible value of gl_VertexID.
Specific vertex attributes may be classified as instanced through the use of glVertexAttribDivisor(). Instanced vertex attributes supply per-instance vertex data to the vertex shader. The index of the vertex fetched from the enabled instanced vertex attribute arrays is calculated as gl _ InstanceID divisor + baseInstance. Note that baseinstance does not affect the shader-visible value of gl_InstanceID.
NOTES¶
glDrawElementsInstancedBaseVertex is only supported if the GL version is 3.2 or greater.
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.
VERSION SUPPORT¶
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 |
glDrawElementsInstancedBaseVertexBaseInstance | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ |
SEE ALSO¶
glDrawElements(), glDrawRangeElements(), glDrawRangeElementsBaseVertex(), glDrawElementsInstanced(), glDrawElementsInstancedBaseVertex()
COPYRIGHT¶
Copyright © 2011-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. http://opencontent.org/openpub/.
COPYRIGHT¶
Copyright © 2011-2014 Khronos Group
04/12/2021 | [FIXME: source] |