| Name |
| |
| OES_extended_matrix_palette |
| |
| Name Strings |
| |
| GL_OES_extended_matrix_palette |
| |
| Contact |
| |
| Aaftab Munshi (amunshi@ati.com) |
| |
| Notice |
| |
| Copyright (c) 2005-2013 The Khronos Group Inc. Copyright terms at |
| http://www.khronos.org/registry/speccopyright.html |
| |
| Status |
| |
| Ratified by the Khronos BOP, July 22, 2005. |
| |
| Version |
| |
| Last Modified Date: February 3, 2005 |
| |
| Number |
| |
| OpenGL ES Extension #8 |
| |
| Dependencies |
| |
| OES_matrix_palette is required |
| OpenGL ES 1.1 is required. |
| |
| Overview |
| |
| 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 |
| |
| None. |
| |
| Issues |
| |
| None |
| |
| New Procedures and Functions |
| |
| None |
| |
| 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 |
| |
| None |
| |
| Errors |
| |
| None |
| |
| 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 |