Class ARBMatrixPalette

java.lang.Object
org.lwjgl.opengl.ARBMatrixPalette

public class ARBMatrixPalette extends Object
Native bindings to the ARB_matrix_palette extension.

This extension extends the abilities of ARBVertexBlend to include a palette of modelview matrices. The n vertex units use a palette of m modelview matrices. (Where n and m are constrained to implementation defined maxima.) Each vertex has a set of n indices into the palette, and a corresponding set of n weights. Matrix indices can be changed for each vertex (between Begin and End).

When this extension is utilized, the enabled units transform each vertex by the modelview matrices specified by the vertices' respective indices. These results are subsequently scaled by the weights of the respective units and then summed to create the eyespace vertex.

A similar procedure is followed for normals. Normals, however, are transformed by the inverse transpose of the modelview matrix.

  • Field Details

    • GL_MATRIX_PALETTE_ARB

      public static final int GL_MATRIX_PALETTE_ARB
      Accepted by the pname parameters of GetFloatv, GetDoublev, and IsEnabled, by the mode parameter of MatrixMode, and by the cap parameters of Enable and Disable.
      See Also:
    • GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB

      public static final int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB
      Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
    • GL_MAX_PALETTE_MATRICES_ARB

      public static final int GL_MAX_PALETTE_MATRICES_ARB
      Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
    • GL_CURRENT_PALETTE_MATRIX_ARB

      public static final int GL_CURRENT_PALETTE_MATRIX_ARB
      Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
    • GL_MATRIX_INDEX_ARRAY_ARB

      public static final int GL_MATRIX_INDEX_ARRAY_ARB
      Accepted by the cap parameters of EnableClientState and DisableClientState and by the pname parameter of IsEnabled.
      See Also:
    • GL_CURRENT_MATRIX_INDEX_ARB

      public static final int GL_CURRENT_MATRIX_INDEX_ARB
      Accepted by the pname parameter of GetFloatv.
      See Also:
    • GL_MATRIX_INDEX_ARRAY_SIZE_ARB

      public static final int GL_MATRIX_INDEX_ARRAY_SIZE_ARB
      Accepted by the pname parameter of GetIntegerv.
      See Also:
    • GL_MATRIX_INDEX_ARRAY_TYPE_ARB

      public static final int GL_MATRIX_INDEX_ARRAY_TYPE_ARB
      Accepted by the pname parameter of GetIntegerv.
      See Also:
    • GL_MATRIX_INDEX_ARRAY_STRIDE_ARB

      public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB
      Accepted by the pname parameter of GetIntegerv.
      See Also:
    • GL_MATRIX_INDEX_ARRAY_POINTER_ARB

      public static final int GL_MATRIX_INDEX_ARRAY_POINTER_ARB
      Accepted by the pname parameter of GetPointerv.
      See Also:
  • Method Details

    • glCurrentPaletteMatrixARB

      public static void glCurrentPaletteMatrixARB(int index)
      Defines which of the palette's matrices is affected by subsequent matrix operations when the current matrix mode is MATRIX_PALETTE_ARB,
      Parameters:
      index - the current matrix index. Must be a value between 0 and MAX_PALETTE_MATRICES_ARB.
    • nglMatrixIndexuivARB

      public static void nglMatrixIndexuivARB(int size, long indices)
      Unsafe version of: MatrixIndexuivARB
      Parameters:
      size - the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
    • glMatrixIndexuivARB

      public static void glMatrixIndexuivARB(IntBuffer indices)
      Sets the current matrix indices.
      Parameters:
      indices - the matrix index values
    • nglMatrixIndexubvARB

      public static void nglMatrixIndexubvARB(int size, long indices)
      Unsafe version of: MatrixIndexubvARB
      Parameters:
      size - the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
    • glMatrixIndexubvARB

      public static void glMatrixIndexubvARB(ByteBuffer indices)
      Byte version of MatrixIndexuivARB.
      Parameters:
      indices - the matrix index values
    • nglMatrixIndexusvARB

      public static void nglMatrixIndexusvARB(int size, long indices)
      Unsafe version of: MatrixIndexusvARB
      Parameters:
      size - the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
    • glMatrixIndexusvARB

      public static void glMatrixIndexusvARB(ShortBuffer indices)
      Short version of MatrixIndexuivARB.
      Parameters:
      indices - the matrix index values
    • nglMatrixIndexPointerARB

      public static void nglMatrixIndexPointerARB(int size, int type, int stride, long pointer)
      Unsafe version of: MatrixIndexPointerARB
      Parameters:
      type - the data type of the values stored in the array. One of:
      UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
    • glMatrixIndexPointerARB

      public static void glMatrixIndexPointerARB(int size, int type, int stride, ByteBuffer pointer)
      Parameters:
      size - the number of index values per vertex that are stored in the array. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
      type - the data type of the values stored in the array. One of:
      UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
      stride - the vertex stride in bytes. If specified as zero, then array elements are stored sequentially
      pointer - the matrix index data
    • glMatrixIndexPointerARB

      public static void glMatrixIndexPointerARB(int size, int type, int stride, long pointer)
      Parameters:
      size - the number of index values per vertex that are stored in the array. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
      type - the data type of the values stored in the array. One of:
      UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
      stride - the vertex stride in bytes. If specified as zero, then array elements are stored sequentially
      pointer - the matrix index data
    • glMatrixIndexPointerARB

      public static void glMatrixIndexPointerARB(int size, int stride, ByteBuffer pointer)
      Parameters:
      size - the number of index values per vertex that are stored in the array. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
      stride - the vertex stride in bytes. If specified as zero, then array elements are stored sequentially
      pointer - the matrix index data
    • glMatrixIndexPointerARB

      public static void glMatrixIndexPointerARB(int size, int stride, ShortBuffer pointer)
      Parameters:
      size - the number of index values per vertex that are stored in the array. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
      stride - the vertex stride in bytes. If specified as zero, then array elements are stored sequentially
      pointer - the matrix index data
    • glMatrixIndexPointerARB

      public static void glMatrixIndexPointerARB(int size, int stride, IntBuffer pointer)
      Parameters:
      size - the number of index values per vertex that are stored in the array. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
      stride - the vertex stride in bytes. If specified as zero, then array elements are stored sequentially
      pointer - the matrix index data
    • glMatrixIndexuivARB

      public static void glMatrixIndexuivARB(int[] indices)
      Array version of: MatrixIndexuivARB
    • glMatrixIndexusvARB

      public static void glMatrixIndexusvARB(short[] indices)
      Array version of: MatrixIndexusvARB