Class ARBMatrixPalette
- java.lang.Object
-
- org.lwjgl.opengl.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 (betweenBegin
andEnd
).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 Summary
Fields Modifier and Type Field Description static int
GL_CURRENT_MATRIX_INDEX_ARB
Accepted by thepname
parameter of GetFloatv.static int
GL_CURRENT_PALETTE_MATRIX_ARB
Accepted by thepname
parameters of GetIntegerv, GetFloatv, and GetDoublev.static int
GL_MATRIX_INDEX_ARRAY_ARB
Accepted by thecap
parameters of EnableClientState and DisableClientState and by thepname
parameter of IsEnabled.static int
GL_MATRIX_INDEX_ARRAY_POINTER_ARB
Accepted by thepname
parameter of GetPointerv.static int
GL_MATRIX_INDEX_ARRAY_SIZE_ARB
GL_MATRIX_INDEX_ARRAY_STRIDE_ARB
GL_MATRIX_INDEX_ARRAY_TYPE_ARBAccepted by thepname
parameter of GetIntegerv.static int
GL_MATRIX_PALETTE_ARB
Accepted by thepname
parameters of GetFloatv, GetDoublev, and IsEnabled, by themode
parameter of MatrixMode, and by thecap
parameters of Enable and Disable.static int
GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB
GL_MAX_PALETTE_MATRICES_ARBAccepted by thepname
parameters of GetIntegerv, GetFloatv, and GetDoublev.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
glCurrentPaletteMatrixARB(int index)
Defines which of the palette's matrices is affected by subsequent matrix operations when the current matrix mode isMATRIX_PALETTE_ARB
,static void
glMatrixIndexPointerARB(int size, int type, int stride, long pointer)
static void
glMatrixIndexPointerARB(int size, int type, int stride, java.nio.ByteBuffer pointer)
static void
glMatrixIndexPointerARB(int size, int stride, java.nio.ByteBuffer pointer)
static void
glMatrixIndexPointerARB(int size, int stride, java.nio.IntBuffer pointer)
static void
glMatrixIndexPointerARB(int size, int stride, java.nio.ShortBuffer pointer)
static void
glMatrixIndexubvARB(java.nio.ByteBuffer indices)
Byte version ofMatrixIndexuivARB
.static void
glMatrixIndexuivARB(int[] indices)
Array version of:MatrixIndexuivARB
static void
glMatrixIndexuivARB(java.nio.IntBuffer indices)
Sets the current matrix indices.static void
glMatrixIndexusvARB(short[] indices)
Array version of:MatrixIndexusvARB
static void
glMatrixIndexusvARB(java.nio.ShortBuffer indices)
Short version ofMatrixIndexuivARB
.static void
nglMatrixIndexPointerARB(int size, int type, int stride, long pointer)
Unsafe version of:MatrixIndexPointerARB
static void
nglMatrixIndexubvARB(int size, long indices)
Unsafe version of:MatrixIndexubvARB
static void
nglMatrixIndexuivARB(int size, long indices)
Unsafe version of:MatrixIndexuivARB
static void
nglMatrixIndexusvARB(int size, long indices)
Unsafe version of:MatrixIndexusvARB
-
-
-
Field Detail
-
GL_MATRIX_PALETTE_ARB
Accepted by thepname
parameters of GetFloatv, GetDoublev, and IsEnabled, by themode
parameter of MatrixMode, and by thecap
parameters of Enable and Disable.
-
GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB, GL_MAX_PALETTE_MATRICES_ARB, GL_CURRENT_PALETTE_MATRIX_ARB
Accepted by thepname
parameters of GetIntegerv, GetFloatv, and GetDoublev.
-
GL_MATRIX_INDEX_ARRAY_ARB
Accepted by thecap
parameters of EnableClientState and DisableClientState and by thepname
parameter of IsEnabled.
-
GL_CURRENT_MATRIX_INDEX_ARB
Accepted by thepname
parameter of GetFloatv.
-
GL_MATRIX_INDEX_ARRAY_SIZE_ARB, GL_MATRIX_INDEX_ARRAY_TYPE_ARB, GL_MATRIX_INDEX_ARRAY_STRIDE_ARB
Accepted by thepname
parameter of GetIntegerv.
-
GL_MATRIX_INDEX_ARRAY_POINTER_ARB
Accepted by thepname
parameter of GetPointerv.
-
-
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 isMATRIX_PALETTE_ARB
,- Parameters:
index
- the current matrix index. Must be a value between 0 andMAX_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 andMAX_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 andMAX_VERTEX_UNITS_ARB
.
-
glMatrixIndexubvARB
public static void glMatrixIndexubvARB(java.nio.ByteBuffer indices)
Byte version ofMatrixIndexuivARB
.- 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 andMAX_VERTEX_UNITS_ARB
.
-
glMatrixIndexusvARB
public static void glMatrixIndexusvARB(java.nio.ShortBuffer indices)
Short version ofMatrixIndexuivARB
.- 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_BYTE
UNSIGNED_SHORT
UNSIGNED_INT
-
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 andMAX_VERTEX_UNITS_ARB
.type
- the data type of the values stored in the array. One of:UNSIGNED_BYTE
UNSIGNED_SHORT
UNSIGNED_INT
stride
- the vertex stride in bytes. If specified as zero, then array elements are stored sequentiallypointer
- 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 andMAX_VERTEX_UNITS_ARB
.stride
- the vertex stride in bytes. If specified as zero, then array elements are stored sequentiallypointer
- 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
-
-