Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class ARBMatrixPalette

extends Object
Class Inheritance
Imports
java.nio.*, org.lwjgl.system.*

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 Summary

Modifier and TypeField and Description
public static final int
GL_CURRENT_MATRIX_INDEX_ARB

Accepted by the pname parameter of GetFloatv.

public static final int
GL_CURRENT_PALETTE_MATRIX_ARB

Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.

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.

public static final int
GL_MATRIX_INDEX_ARRAY_POINTER_ARB

Accepted by the pname parameter of GetPointerv.

public static final int
GL_MATRIX_INDEX_ARRAY_SIZE_ARB

Accepted by the pname parameter of GetIntegerv.

public static final int
GL_MATRIX_INDEX_ARRAY_STRIDE_ARB

Accepted by the pname parameter of GetIntegerv.

public static final int
GL_MATRIX_INDEX_ARRAY_TYPE_ARB

Accepted by the pname parameter of GetIntegerv.

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.

public static final int
GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB

Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_MAX_PALETTE_MATRICES_ARB

Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static native void
glCurrentPaletteMatrixARB(int
the current matrix index. Must be a value between 0 and MAX_PALETTE_MATRICES_ARB.
index
)

Defines which of the palette's matrices is affected by subsequent matrix operations when the current matrix mode is MATRIX_PALETTE_ARB,

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

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

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

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

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

public static void
glMatrixIndexubvARB(ByteBuffer
the matrix index values
indices
)

Byte version of MatrixIndexuivARB.

public static void
glMatrixIndexuivARB(IntBuffer
the matrix index values
indices
)

Sets the current matrix indices.

public static void
glMatrixIndexuivARB(int[] indices)

Array version of: MatrixIndexuivARB

public static void
glMatrixIndexusvARB(ShortBuffer
the matrix index values
indices
)

Short version of MatrixIndexuivARB.

public static void
glMatrixIndexusvARB(short[] indices)

Array version of: MatrixIndexusvARB

public static native void
nglMatrixIndexPointerARB(int size, int
the data type of the values stored in the array. One of:
UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
type
,
int stride, long pointer)

Unsafe version of: MatrixIndexPointerARB

public static native void
nglMatrixIndexubvARB(int
the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
size
,
long indices)

Unsafe version of: MatrixIndexubvARB

public static native void
nglMatrixIndexuivARB(int
the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
size
,
long indices)

Unsafe version of: MatrixIndexuivARB

public static native void
nglMatrixIndexusvARB(int
the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.
size
,
long indices)

Unsafe version of: MatrixIndexusvARB

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_CURRENT_MATRIX_INDEX_ARBback to summary
public static final int GL_CURRENT_MATRIX_INDEX_ARB

Accepted by the pname parameter of GetFloatv.

GL_CURRENT_PALETTE_MATRIX_ARBback to summary
public static final int GL_CURRENT_PALETTE_MATRIX_ARB

Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.

GL_MATRIX_INDEX_ARRAY_ARBback to summary
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.

GL_MATRIX_INDEX_ARRAY_POINTER_ARBback to summary
public static final int GL_MATRIX_INDEX_ARRAY_POINTER_ARB

Accepted by the pname parameter of GetPointerv.

GL_MATRIX_INDEX_ARRAY_SIZE_ARBback to summary
public static final int GL_MATRIX_INDEX_ARRAY_SIZE_ARB

Accepted by the pname parameter of GetIntegerv.

GL_MATRIX_INDEX_ARRAY_STRIDE_ARBback to summary
public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB

Accepted by the pname parameter of GetIntegerv.

GL_MATRIX_INDEX_ARRAY_TYPE_ARBback to summary
public static final int GL_MATRIX_INDEX_ARRAY_TYPE_ARB

Accepted by the pname parameter of GetIntegerv.

GL_MATRIX_PALETTE_ARBback to summary
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.

GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARBback to summary
public static final int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB

Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.

GL_MAX_PALETTE_MATRICES_ARBback to summary
public static final int GL_MAX_PALETTE_MATRICES_ARB

Accepted by the pname parameters of GetIntegerv, GetFloatv, and GetDoublev.

Constructor Detail

ARBMatrixPaletteback to summary
protected ARBMatrixPalette()

Method Detail

glCurrentPaletteMatrixARBback to summary
public static native 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:int

the current matrix index. Must be a value between 0 and MAX_PALETTE_MATRICES_ARB.

glMatrixIndexPointerARBback to summary
public static void glMatrixIndexPointerARB(int size, int type, int stride, ByteBuffer pointer)
Parameters
size:int

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:int

the data type of the values stored in the array. One of:

UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
stride:int

the vertex stride in bytes. If specified as zero, then array elements are stored sequentially

pointer:ByteBuffer

the matrix index data

glMatrixIndexPointerARBback to summary
public static void glMatrixIndexPointerARB(int size, int type, int stride, long pointer)
Parameters
size:int

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:int

the data type of the values stored in the array. One of:

UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
stride:int

the vertex stride in bytes. If specified as zero, then array elements are stored sequentially

pointer:long

the matrix index data

glMatrixIndexPointerARBback to summary
public static void glMatrixIndexPointerARB(int size, int stride, ByteBuffer pointer)
Parameters
size:int

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:int

the vertex stride in bytes. If specified as zero, then array elements are stored sequentially

pointer:ByteBuffer

the matrix index data

glMatrixIndexPointerARBback to summary
public static void glMatrixIndexPointerARB(int size, int stride, ShortBuffer pointer)
Parameters
size:int

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:int

the vertex stride in bytes. If specified as zero, then array elements are stored sequentially

pointer:ShortBuffer

the matrix index data

glMatrixIndexPointerARBback to summary
public static void glMatrixIndexPointerARB(int size, int stride, IntBuffer pointer)
Parameters
size:int

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:int

the vertex stride in bytes. If specified as zero, then array elements are stored sequentially

pointer:IntBuffer

the matrix index data

glMatrixIndexubvARBback to summary
public static void glMatrixIndexubvARB(ByteBuffer indices)

Byte version of MatrixIndexuivARB.

Parameters
indices:ByteBuffer

the matrix index values

glMatrixIndexuivARBback to summary
public static void glMatrixIndexuivARB(IntBuffer indices)

Sets the current matrix indices.

Parameters
indices:IntBuffer

the matrix index values

glMatrixIndexuivARBback to summary
public static void glMatrixIndexuivARB(int[] indices)

Array version of: MatrixIndexuivARB

glMatrixIndexusvARBback to summary
public static void glMatrixIndexusvARB(ShortBuffer indices)

Short version of MatrixIndexuivARB.

Parameters
indices:ShortBuffer

the matrix index values

glMatrixIndexusvARBback to summary
public static void glMatrixIndexusvARB(short[] indices)

Array version of: MatrixIndexusvARB

nglMatrixIndexPointerARBback to summary
public static native void nglMatrixIndexPointerARB(int size, int type, int stride, long pointer)

Unsafe version of: MatrixIndexPointerARB

Parameters
type:int

the data type of the values stored in the array. One of:

UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
nglMatrixIndexubvARBback to summary
public static native void nglMatrixIndexubvARB(int size, long indices)

Unsafe version of: MatrixIndexubvARB

Parameters
size:int

the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.

nglMatrixIndexuivARBback to summary
public static native void nglMatrixIndexuivARB(int size, long indices)

Unsafe version of: MatrixIndexuivARB

Parameters
size:int

the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.

nglMatrixIndexusvARBback to summary
public static native void nglMatrixIndexusvARB(int size, long indices)

Unsafe version of: MatrixIndexusvARB

Parameters
size:int

the number of index values to set. Must be a value between 1 and MAX_VERTEX_UNITS_ARB.