blob: 5ccb3ee1519d4abb366f5176446376ba3a740a09 [file] [log] [blame]
Name
OES_matrix_get
Name Strings
GL_OES_matrix_get
Contact
Aaftab Munshi (amunshi@ati.com)
Notice
Copyright (c) 2004-2013 The Khronos Group Inc. Copyright terms at
http://www.khronos.org/registry/speccopyright.html
Specification Update Policy
Khronos-approved extension specifications are updated in response to
issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
extensions which have been promoted to a core Specification, fixes will
first appear in the latest version of that core Specification, and will
eventually be backported to the extension document. This policy is
described in more detail at
https://www.khronos.org/registry/OpenGL/docs/update_policy.php
Status
Ratified by the Khronos BOP, Aug 5, 2004.
Version
Last Modified Date: July 16, 2004
Number
OpenGL ES Extension #11
Dependencies
OpenGL 1.5 is required
Overview
Many applications require the ability to be able to read the
GL matrices. OpenGL ES 1.1 will allow an application to read
the matrices using the GetFloatv command for the common profile
and the GetFixedv command for the common-lite profile.
In cases where the common-lite implementation stores matrices
and performs matrix operations internally using floating pt
(example would be OpenGL ES implementations that support JSR184 etc.)
the GL cannot return the floating pt matrix elements since the float
data type is not supported by the common-lite profile.
Using GetFixedv to get the matrix data will result in a loss of
information.
To take care of this issue, new tokens are proposed by this
extension. These tokens will allow the GL to return a
representation of the floating pt matrix elements as as an array
of integers, according to the IEEE 754 floating pt "single format"
bit layout.
Bit 31 represents the sign of the floating pt number.
Bits 30 - 23 represent the exponent of the floating pt number.
Bits 22 - 0 represent the mantissa of the floating pt number.
IP Status
There is no intellectual property associated with this extension.
Issues
None known.
New Procedures and Functions
New Tokens
Accepted by the <pname> parameter of GetIntegerv:
MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898d
PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898e
TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898f
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
None.
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
None.
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
Operations and the Frame Buffer)
None.
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special
Functions)
None.
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
State Requests)
The new matrix tokens return the matrix elements as exponent
and mantissa terms. These tokens will allow the GL to return a
representation of the floating pt matrix elements as as an array
of integers, according to the IEEE 754 floating pt "single format"
bit layout.
Errors
None.
New State
Get Value Type Command Value
--------- ---- ------- -------
MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 4* x 4* x Z GetIntegerv 0
PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 4* x 4* x Z GetIntegerv 0
TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 4* x 4* x Z GetIntegerv 0
Revision History
June 30, 2004 Aaftab Munshi Initial version of document
July 16, 2004 Aaftab Munshi Removed the description of NaN & denorms