Contents
- Dependencies
- Overview
- New Procedures and Functions
- New Tokens
- Errors
- New State
- New Implementation Dependent State
Dependencies
This extensions is written against the OpenGL 1.2 Specification. May be implemented in any version of OpenGL.
Overview
New functions and tokens are added allowing application matrices
stored in row major order rather than column major order to be
transferred to the OpenGL implementation. This allows an application
to use standard C-language 2-dimensional arrays (m[row][col]
) and
have the array indices match the expected matrix row and column indexes.
These arrays are referred to as transpose matrices since they are
the transpose of the standard matrices passed to OpenGL.
This extension adds an interface for transfering data to and from the OpenGL pipeline, it does not change any OpenGL processing or imply any changes in state representation.
New Procedures and Functions
void LoadTransposeMatrix{fd}ARB(T m[16]);
void MultTransposeMatrix{fd}ARB(T m[16]);
New Tokens
Accepted by the
<pname>
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev
|TRANSPOSE_MODELVIEW_MATRIX_ARB | 0x84E3| |:-----------------------------------|:------| |TRANSPOSE_PROJECTION_MATRIX_ARB | 0x84E4| |TRANSPOSE_TEXTURE_MATRIX_ARB | 0x84E5| |TRANSPOSE_COLOR_MATRIX_ARB | 0x84E6|
Errors
No new errors, but error behavoir is inherited by the commands
that the transpose commands are implemented on top of
(LoadMatrix, MultMatrix, and Get*
).
New State
None
TRANSPOSE_*_
MATRIX_ARB refer to the same state as their non-transposed
counterparts.
New Implementation Dependent State
None