skia / external / github.com / KhronosGroup / OpenGL-Registry / b30fdddf61ace3c3455a1918329b7a4bf5a402b8 / . / extensions / OES / OES_matrix_get.txt

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 | |