blob: 7bca57077bb9cb5086099dfdb71c645837e46e3c [file] [log] [blame]
Name Strings
Aaftab Munshi (
Copyright (c) 2005-2013 The Khronos Group Inc. Copyright terms at
Ratified by the Khronos BOP, July 22, 2005.
Last Modified Date: February 3, 2005
OpenGL ES Extension #8
OES_matrix_palette is required
OpenGL ES 1.1 is required.
The OES_matrix_palette extension added the ability to support vertex skinning
in OpenGL ES. One issue with OES_matrix_palette is that the minimum size of
the matrix palette is very small. This leads to applications having to break
geometry into smaller primitive sets called via. glDrawElements. This has an
impact on the overall performance of the OpenGL ES implementation. In general,
hardware implementations prefer primitive packets with as many triangles as
possible. The default minimum size defined in OES_matrix_palette is not
sufficient to allow this. The OES_extended_matrix_palette extension increases
this minimum from 9 to 32.
Another issue is that it is very difficult for ISVs to handle different
size matrix palettes as it affects how they store their geometry
in the database - may require multiple representations which is
not really feasible. So the minimum size is going to be what most ISVs
will use.
By extending the minimum size of the matrix palette, we remove this
fragmentation and allow applications to render geometry with minimal
number of calls to glDrawElements or glDrawArrays. The OpenGL ES
implementation can support this without requiring any additional hardware
by breaking the primitive, plus it gives implementations the flexibility
to accelerate with a bigger matrix palette if they choose to do so.
Additionally, feedback has also been received to increase the number of
matrices that are blend per vertex from 3 to 4. The OES_extended_matrix_palette
extension increases the minium number of matrices / vertex to 4.
IP Status
New Procedures and Functions
New Tokens
No new tokens added except that the default values for
MAX_PALETTE_MATRICES_OES and MAX_VERTEX_UNITS_OES are 32 and 4 respectively.
Additions to Chapter 2 of the OpenGL ES 1.0 Specification
New State
Get Value Type Command Value Description
--------- ---- ------- ------- -----------
MAX_PALETTE_MATRICES_OES Z+ GetIntegerv 32 size of matrix palette
MAX_VERTEX_UNITS_OES Z+ GetIntegerv 4 number of matrices per vertex
Revision History
Feb 03, 2005 Aaftab Munshi First draft of extension