Class ARBMatrixPalette


  • public class ARBMatrixPalette
    extends java.lang.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.

    • Method Detail

      • 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​(java.nio.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​(java.nio.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​(java.nio.ShortBuffer indices)
        Short version of MatrixIndexuivARB.
        Parameters:
        indices - the matrix index values
      • glMatrixIndexPointerARB

        public static void glMatrixIndexPointerARB​(int size,
                                                   int type,
                                                   int stride,
                                                   java.nio.ByteBuffer pointer)
        
        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,
                                                   java.nio.ByteBuffer pointer)
        
        public static void glMatrixIndexPointerARB​(int size,
                                                   int stride,
                                                   java.nio.ShortBuffer pointer)
        
        public static void glMatrixIndexPointerARB​(int size,
                                                   int stride,
                                                   java.nio.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