Class ARBBaseInstance



  • public class ARBBaseInstance
    extends java.lang.Object
    Native bindings to the ARB_base_instance extension.

    This extension allows the offset within buffer objects used for instanced rendering to be specified. This is congruent with the first parameter in DrawArrays and the basevertex parameter in DrawElements. When instanced rendering is performed (for example, through DrawArraysInstanced), 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, 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 OpenGL 3.1 or ARB_draw_instanced. Promoted to core in OpenGL 4.2.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static void glDrawArraysInstancedBaseInstance(int mode, int first, int count, int primcount, int baseinstance)
      Draws multiple instances of a range of elements with an offset applied to instanced attributes.
      static void glDrawElementsInstancedBaseInstance(int mode, java.nio.ByteBuffer indices, int primcount, int baseinstance)
      Draws multiple instances of a set of elements with an offset applied to instanced attributes
      static void glDrawElementsInstancedBaseInstance(int mode, java.nio.IntBuffer indices, int primcount, int baseinstance)
      Draws multiple instances of a set of elements with an offset applied to instanced attributes
      static void glDrawElementsInstancedBaseInstance(int mode, int type, java.nio.ByteBuffer indices, int primcount, int baseinstance)
      Draws multiple instances of a set of elements with an offset applied to instanced attributes
      static void glDrawElementsInstancedBaseInstance(int mode, int count, int type, long indices, int primcount, int baseinstance)
      Draws multiple instances of a set of elements with an offset applied to instanced attributes
      static void glDrawElementsInstancedBaseInstance(int mode, java.nio.ShortBuffer indices, int primcount, int baseinstance)
      Draws multiple instances of a set of elements with an offset applied to instanced attributes
      static void glDrawElementsInstancedBaseVertexBaseInstance(int mode, java.nio.ByteBuffer indices, int primcount, int basevertex, int baseinstance)
      Renders multiple instances of a set of primitives from array data with a per-element offset.
      static void glDrawElementsInstancedBaseVertexBaseInstance(int mode, java.nio.IntBuffer indices, int primcount, int basevertex, int baseinstance)
      Renders multiple instances of a set of primitives from array data with a per-element offset.
      static void glDrawElementsInstancedBaseVertexBaseInstance(int mode, int type, java.nio.ByteBuffer indices, int primcount, int basevertex, int baseinstance)
      Renders multiple instances of a set of primitives from array data with a per-element offset.
      static void glDrawElementsInstancedBaseVertexBaseInstance(int mode, int count, int type, long indices, int primcount, int basevertex, int baseinstance)
      Renders multiple instances of a set of primitives from array data with a per-element offset.
      static void glDrawElementsInstancedBaseVertexBaseInstance(int mode, java.nio.ShortBuffer indices, int primcount, int basevertex, int baseinstance)
      Renders multiple instances of a set of primitives from array data with a per-element offset.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait