Render multiple instances of a set of primitives from array data with a per-element offset.
||-||Specifies what kind of primitives to render. Symbolic constants |
||-||Specifies the number of elements to be rendered.|
||-||Specifies the type of the values in indices. Must be one of |
||-||Specifies a pointer to the location where the indices are stored.|
||-||Specifies the number of instances of the indexed geometry that should be drawn.|
||-||Specifies a constant that should be added to each element of |
||-||Specifies the base instance for use in fetching instanced vertex attributes.|
glDrawElementsInstancedBaseVertexBaseInstance behaves identically to glDrawElementsInstanced except that theith 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.
Specific vertex attributes may be classified asinstancedthrough 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 [math]⌊⌋+baseInstance[/math] . Note that
baseinstance does not affect the shader-visible value of
glDrawElementsInstancedBaseVertex is only supported if the GL version is 3.2 or greater.
GL_INVALID_ENUM is generated if
mode is not an accepted value.
GL_INVALID_VALUE is generated if
instancecount 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.
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/.