GL_OES_matrix_palette#

Supported Hardware#

Series5, Series5XT, Series6, Series6XE, Series6XT

Valid APIs#

OpenGL ES 1.x

Description#

Rather than using a fixed matrix for an entire model, allowing a mixture of different matrices with appropriate weightings to be used in a single piece of geometry can allow greater flexibility in a renderer. In particular this enables better control of skeletal animation. This extension adds a palette of matrices to be specified, with indices passed in an array to specify which matrix to use for each vertex, and an array of weights to control how much it affects the vertex.

Note#

This extension is effectively part of the OpenGL ES 1.x Extension Pack Specification (required for GL_OES_extended_matrix_palette) and is core functionality in OpenGL ES 2.0 and 3.0.

Example#

// Set the matrix palette stack as the current matrix mode
glMatrixMode(GL_MATRIX_PALETTE_OES);
// Bind the 9th matrix as the current matrix - the maximum guaranteed by this extension
glCurrentPaletteMatrixOES(8);
// Load a matrix into the palette
glLoadMatrix(someTranslationMatrix);
// Use translation functions as with any other matrix
glTranslatef(0.0f, 10.0f, 0.0f);