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