15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    OES_matrix_get
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_OES_matrix_get
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Aaftab Munshi (amunshi@ati.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright (c) 2004-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, Aug 5, 2004.
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ciVersion
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ci    Last Modified Date: July 16, 2004
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ciNumber
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ci    OpenGL ES Extension #11
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ciDependencies
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    OpenGL 1.5 is required
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ciOverview
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    Many applications require the ability to be able to read the
475bd8deadSopenharmony_ci    GL matrices.  OpenGL ES 1.1 will allow an application to read
485bd8deadSopenharmony_ci    the matrices using the GetFloatv command for the common profile
495bd8deadSopenharmony_ci    and the GetFixedv command for the common-lite profile.
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci    In cases where the common-lite implementation stores matrices
525bd8deadSopenharmony_ci    and performs matrix operations internally using floating pt 
535bd8deadSopenharmony_ci    (example would be OpenGL ES implementations that support JSR184 etc.)
545bd8deadSopenharmony_ci    the GL cannot return the floating pt matrix elements since the float
555bd8deadSopenharmony_ci    data type is not supported by the common-lite profile.
565bd8deadSopenharmony_ci    Using GetFixedv to get the matrix data will result in a loss of
575bd8deadSopenharmony_ci    information.
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci    To take care of this issue, new tokens are proposed by this
605bd8deadSopenharmony_ci    extension.  These tokens will allow the GL to return a 
615bd8deadSopenharmony_ci    representation of the floating pt matrix elements as as an array
625bd8deadSopenharmony_ci    of integers, according to the IEEE 754 floating pt "single format"
635bd8deadSopenharmony_ci    bit layout.
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci    Bit 31 represents the sign of the floating pt number.
665bd8deadSopenharmony_ci    Bits 30 - 23 represent the exponent of the floating pt number.
675bd8deadSopenharmony_ci    Bits 22 - 0 represent the mantissa of the floating pt number.
685bd8deadSopenharmony_ci
695bd8deadSopenharmony_ciIP Status
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci    There is no intellectual property associated with this extension.
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ciIssues
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    None known.
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ciNew Procedures and Functions
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ciNew Tokens
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetIntegerv:
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ci        MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES  0x898d
855bd8deadSopenharmony_ci        PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898e
865bd8deadSopenharmony_ci        TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES    0x898f
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ci    None.
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci    None.
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
975bd8deadSopenharmony_ciOperations and the Frame Buffer)
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ci    None.
1005bd8deadSopenharmony_ci
1015bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.4 Specification (Special
1025bd8deadSopenharmony_ciFunctions)
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ci    None.
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.4 Specification (State and
1075bd8deadSopenharmony_ciState Requests)
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    The new matrix tokens return the matrix elements as exponent
1105bd8deadSopenharmony_ci    and mantissa terms.  These tokens will allow the GL to return a 
1115bd8deadSopenharmony_ci    representation of the floating pt matrix elements as as an array
1125bd8deadSopenharmony_ci    of integers, according to the IEEE 754 floating pt "single format"
1135bd8deadSopenharmony_ci    bit layout.
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ciErrors
1165bd8deadSopenharmony_ci
1175bd8deadSopenharmony_ci    None.
1185bd8deadSopenharmony_ci
1195bd8deadSopenharmony_ciNew State
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ciGet Value                                 Type            Command      Value    
1235bd8deadSopenharmony_ci---------                                 ----            -------     -------  
1245bd8deadSopenharmony_ciMODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES    4* x 4* x Z    GetIntegerv    0     
1255bd8deadSopenharmony_ciPROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES   4* x 4* x Z    GetIntegerv    0
1265bd8deadSopenharmony_ciTEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES      4* x 4* x Z    GetIntegerv    0
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ciRevision History
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ci
1325bd8deadSopenharmony_ciJune 30, 2004    Aaftab Munshi    Initial version of document
1335bd8deadSopenharmony_ciJuly 16, 2004    Aaftab Munshi    Removed the description of NaN & denorms                                               
1345bd8deadSopenharmony_ci
135