15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    OES_extended_matrix_palette
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_OES_extended_matrix_palette
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Aaftab Munshi (amunshi@ati.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright (c) 2005-2013 The Khronos Group Inc. Copyright terms at
165bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciSpecification Update Policy
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
215bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
225bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
235bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
245bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
255bd8deadSopenharmony_ci    described in more detail at
265bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ciStatus
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ci    Ratified by the Khronos BOP, July 22, 2005.
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ciVersion
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ci    Last Modified Date: February 3, 2005
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ciNumber
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ci    OpenGL ES Extension #8
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ciDependencies
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    OES_matrix_palette is required
435bd8deadSopenharmony_ci    OpenGL ES 1.1 is required.
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ciOverview
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    The OES_matrix_palette extension added the ability to support vertex skinning 
485bd8deadSopenharmony_ci    in OpenGL ES.  One issue with OES_matrix_palette is that the minimum size of 
495bd8deadSopenharmony_ci    the matrix palette is very small.  This leads to applications having to break 
505bd8deadSopenharmony_ci    geometry into smaller primitive sets called via. glDrawElements.  This has an 
515bd8deadSopenharmony_ci    impact on the overall performance of the OpenGL ES implementation.  In general, 
525bd8deadSopenharmony_ci    hardware implementations prefer primitive packets with as many triangles as 
535bd8deadSopenharmony_ci    possible.  The default minimum size defined in OES_matrix_palette is not 
545bd8deadSopenharmony_ci    sufficient to allow this.  The OES_extended_matrix_palette extension increases 
555bd8deadSopenharmony_ci    this minimum from 9 to 32.  
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci        Another issue is that it is very difficult for ISVs to handle different 
585bd8deadSopenharmony_ci        size matrix palettes as it affects how they store their geometry 
595bd8deadSopenharmony_ci        in the database - may require multiple representations which is
605bd8deadSopenharmony_ci        not really feasible.  So the minimum size is going to be what most ISVs
615bd8deadSopenharmony_ci        will use.
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci        By extending the minimum size of the matrix palette, we remove this
645bd8deadSopenharmony_ci        fragmentation and allow applications to render geometry with minimal
655bd8deadSopenharmony_ci        number of calls to glDrawElements or glDrawArrays.  The OpenGL ES
665bd8deadSopenharmony_ci        implementation can support this without requiring any additional hardware
675bd8deadSopenharmony_ci        by breaking the primitive, plus it gives implementations the flexibility
685bd8deadSopenharmony_ci        to accelerate with a bigger matrix palette if they choose to do so.
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci        Additionally, feedback has also been received to increase the number of
715bd8deadSopenharmony_ci        matrices that are blend per vertex from 3 to 4.  The OES_extended_matrix_palette
725bd8deadSopenharmony_ci        extension increases the minium number of matrices / vertex to 4.
735bd8deadSopenharmony_ci    
745bd8deadSopenharmony_ciIP Status
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ci    None. 
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ciIssues
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci    None
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ciNew Procedures and Functions
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ci    None
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ciNew Tokens
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    No new tokens added except that the default values for
895bd8deadSopenharmony_ci    MAX_PALETTE_MATRICES_OES and MAX_VERTEX_UNITS_OES are 32 and 4 respectively.
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL ES 1.0 Specification
925bd8deadSopenharmony_ci
935bd8deadSopenharmony_ci    None
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ciErrors
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci    None
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ciNew State
1005bd8deadSopenharmony_ci
1015bd8deadSopenharmony_ciGet Value                   Type  Command      Value    Description 
1025bd8deadSopenharmony_ci---------                   ----  -------      -------  -----------
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ciMAX_PALETTE_MATRICES_OES    Z+    GetIntegerv  32       size of matrix palette
1055bd8deadSopenharmony_ciMAX_VERTEX_UNITS_OES        Z+    GetIntegerv  4        number of matrices per vertex
1065bd8deadSopenharmony_ci
1075bd8deadSopenharmony_ciRevision History
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    Feb 03, 2005   Aaftab Munshi    First draft of extension
110