1Name 2 3 OES_matrix_get 4 5Name Strings 6 7 GL_OES_matrix_get 8 9Contact 10 11 Aaftab Munshi (amunshi@ati.com) 12 13Notice 14 15 Copyright (c) 2004-2013 The Khronos Group Inc. Copyright terms at 16 http://www.khronos.org/registry/speccopyright.html 17 18Specification Update Policy 19 20 Khronos-approved extension specifications are updated in response to 21 issues and bugs prioritized by the Khronos OpenGL ES Working Group. For 22 extensions which have been promoted to a core Specification, fixes will 23 first appear in the latest version of that core Specification, and will 24 eventually be backported to the extension document. This policy is 25 described in more detail at 26 https://www.khronos.org/registry/OpenGL/docs/update_policy.php 27 28Status 29 30 Ratified by the Khronos BOP, Aug 5, 2004. 31 32Version 33 34 Last Modified Date: July 16, 2004 35 36Number 37 38 OpenGL ES Extension #11 39 40Dependencies 41 42 OpenGL 1.5 is required 43 44Overview 45 46 Many applications require the ability to be able to read the 47 GL matrices. OpenGL ES 1.1 will allow an application to read 48 the matrices using the GetFloatv command for the common profile 49 and the GetFixedv command for the common-lite profile. 50 51 In cases where the common-lite implementation stores matrices 52 and performs matrix operations internally using floating pt 53 (example would be OpenGL ES implementations that support JSR184 etc.) 54 the GL cannot return the floating pt matrix elements since the float 55 data type is not supported by the common-lite profile. 56 Using GetFixedv to get the matrix data will result in a loss of 57 information. 58 59 To take care of this issue, new tokens are proposed by this 60 extension. These tokens will allow the GL to return a 61 representation of the floating pt matrix elements as as an array 62 of integers, according to the IEEE 754 floating pt "single format" 63 bit layout. 64 65 Bit 31 represents the sign of the floating pt number. 66 Bits 30 - 23 represent the exponent of the floating pt number. 67 Bits 22 - 0 represent the mantissa of the floating pt number. 68 69IP Status 70 71 There is no intellectual property associated with this extension. 72 73Issues 74 75 None known. 76 77New Procedures and Functions 78 79 80New Tokens 81 82 Accepted by the <pname> parameter of GetIntegerv: 83 84 MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898d 85 PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898e 86 TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898f 87 88Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) 89 90 None. 91 92Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) 93 94 None. 95 96Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment 97Operations and the Frame Buffer) 98 99 None. 100 101Additions to Chapter 5 of the OpenGL 1.4 Specification (Special 102Functions) 103 104 None. 105 106Additions to Chapter 6 of the OpenGL 1.4 Specification (State and 107State Requests) 108 109 The new matrix tokens return the matrix elements as exponent 110 and mantissa terms. These tokens will allow the GL to return a 111 representation of the floating pt matrix elements as as an array 112 of integers, according to the IEEE 754 floating pt "single format" 113 bit layout. 114 115Errors 116 117 None. 118 119New State 120 121 122Get Value Type Command Value 123--------- ---- ------- ------- 124MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 4* x 4* x Z GetIntegerv 0 125PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 4* x 4* x Z GetIntegerv 0 126TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 4* x 4* x Z GetIntegerv 0 127 128 129Revision History 130 131 132June 30, 2004 Aaftab Munshi Initial version of document 133July 16, 2004 Aaftab Munshi Removed the description of NaN & denorms 134 135