Class EXTBaseInstance
This extension allows the offset within buffer objects used for instanced rendering to be specified. This is congruent with the first
parameter
in glDrawArrays and the basevertex
parameter in glDrawElements. When instanced rendering is performed (for example, through
glDrawArraysInstanced), instanced vertex attributes whose vertex attribute divisors are non-zero are fetched from enabled vertex arrays per-instance
rather than per-vertex. However, in unextended OpenGL ES, there is no way to define the offset into those arrays from which the attributes are fetched.
This extension adds that offset in the form of a baseinstance
parameter to several new procedures.
The baseinstance
parameter is added to the index of the array element, after division by the vertex attribute divisor. This allows several sets of
instanced vertex attribute data to be stored in a single vertex array, and the base offset of that data to be specified for each draw. Further, this
extension exposes the baseinstance
parameter as the final and previously undefined structure member of the draw-indirect data structure.
Requires GLES 3.0
.
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
glDrawArraysInstancedBaseInstanceEXT
(int mode, int first, int count, int instancecount, int baseinstance) static void
glDrawElementsInstancedBaseInstanceEXT
(int mode, int count, int type, long indices, int instancecount, int baseinstance) static void
glDrawElementsInstancedBaseInstanceEXT
(int mode, int type, ByteBuffer indices, int instancecount, int baseinstance) static void
glDrawElementsInstancedBaseInstanceEXT
(int mode, ByteBuffer indices, int instancecount, int baseinstance) static void
glDrawElementsInstancedBaseInstanceEXT
(int mode, IntBuffer indices, int instancecount, int baseinstance) static void
glDrawElementsInstancedBaseInstanceEXT
(int mode, ShortBuffer indices, int instancecount, int baseinstance) static void
glDrawElementsInstancedBaseVertexBaseInstanceEXT
(int mode, int count, int type, long indices, int instancecount, int basevertex, int baseinstance) static void
glDrawElementsInstancedBaseVertexBaseInstanceEXT
(int mode, int type, ByteBuffer indices, int instancecount, int basevertex, int baseinstance) static void
glDrawElementsInstancedBaseVertexBaseInstanceEXT
(int mode, ByteBuffer indices, int instancecount, int basevertex, int baseinstance) static void
glDrawElementsInstancedBaseVertexBaseInstanceEXT
(int mode, IntBuffer indices, int instancecount, int basevertex, int baseinstance) static void
glDrawElementsInstancedBaseVertexBaseInstanceEXT
(int mode, ShortBuffer indices, int instancecount, int basevertex, int baseinstance) static void
nglDrawElementsInstancedBaseInstanceEXT
(int mode, int count, int type, long indices, int instancecount, int baseinstance) static void
nglDrawElementsInstancedBaseVertexBaseInstanceEXT
(int mode, int count, int type, long indices, int instancecount, int basevertex, int baseinstance)
-
Method Details
-
glDrawArraysInstancedBaseInstanceEXT
public static void glDrawArraysInstancedBaseInstanceEXT(int mode, int first, int count, int instancecount, int baseinstance) -
nglDrawElementsInstancedBaseInstanceEXT
public static void nglDrawElementsInstancedBaseInstanceEXT(int mode, int count, int type, long indices, int instancecount, int baseinstance) -
glDrawElementsInstancedBaseInstanceEXT
public static void glDrawElementsInstancedBaseInstanceEXT(int mode, int count, int type, long indices, int instancecount, int baseinstance) -
glDrawElementsInstancedBaseInstanceEXT
public static void glDrawElementsInstancedBaseInstanceEXT(int mode, int type, ByteBuffer indices, int instancecount, int baseinstance) -
glDrawElementsInstancedBaseInstanceEXT
public static void glDrawElementsInstancedBaseInstanceEXT(int mode, ByteBuffer indices, int instancecount, int baseinstance) -
glDrawElementsInstancedBaseInstanceEXT
public static void glDrawElementsInstancedBaseInstanceEXT(int mode, ShortBuffer indices, int instancecount, int baseinstance) -
glDrawElementsInstancedBaseInstanceEXT
public static void glDrawElementsInstancedBaseInstanceEXT(int mode, IntBuffer indices, int instancecount, int baseinstance) -
nglDrawElementsInstancedBaseVertexBaseInstanceEXT
public static void nglDrawElementsInstancedBaseVertexBaseInstanceEXT(int mode, int count, int type, long indices, int instancecount, int basevertex, int baseinstance) -
glDrawElementsInstancedBaseVertexBaseInstanceEXT
public static void glDrawElementsInstancedBaseVertexBaseInstanceEXT(int mode, int count, int type, long indices, int instancecount, int basevertex, int baseinstance) -
glDrawElementsInstancedBaseVertexBaseInstanceEXT
public static void glDrawElementsInstancedBaseVertexBaseInstanceEXT(int mode, int type, ByteBuffer indices, int instancecount, int basevertex, int baseinstance) -
glDrawElementsInstancedBaseVertexBaseInstanceEXT
public static void glDrawElementsInstancedBaseVertexBaseInstanceEXT(int mode, ByteBuffer indices, int instancecount, int basevertex, int baseinstance) -
glDrawElementsInstancedBaseVertexBaseInstanceEXT
public static void glDrawElementsInstancedBaseVertexBaseInstanceEXT(int mode, ShortBuffer indices, int instancecount, int basevertex, int baseinstance) -
glDrawElementsInstancedBaseVertexBaseInstanceEXT
public static void glDrawElementsInstancedBaseVertexBaseInstanceEXT(int mode, IntBuffer indices, int instancecount, int basevertex, int baseinstance)
-