Extracted from Pike v7.3 release 16 at 2002-03-05.
pike.roxen.com
[Top]
GL

Method GL.glLoadMatrix()


Method glLoadMatrix

void GL.glLoadMatrix(array(array(float|int)) m)

Description

GL.glLoadMatrix replaces the current matrix with the one whose elements are specified by m. The current matrix is the projection matrix, modelview matrix, or texture matrix, depending on the current matrix mode (see GL.glMatrixMode).

The current matrix, M, defines a transformation of coordinates. For instance, assume M refers to the modelview matrix. If v ~=~ (v[0], v[1], v[2], v[3]) is the set of object coordinates of a vertex, and m points to an array of 16 single- or double-precision floating-point values m[0], m[1],. . .,m[15], then the modelview transformation M(v) does the following:

.ce .EQ down 130 {M(v) ~ = ~ {{ left ( matrix { ccol { ~m[0] above m[1] above m[2] above m[3] ~} ccol { ~m[4] above m[5] above m[6] above m[7] ~} ccol { ~m[8] above m[9] above m[10] above m[11] ~} ccol { ~m[12]~ above m[13]~ above m[14]~ above m[15]~} } right ) } ~~ times ~~ {left ( matrix { ccol { ~v[0]~ above ~v[1]~ above ~v[2]~ above ~v[3]~ } } right )} }} .EN

.sp

Where 'times' denotes matrix multiplication.

Projection and texture transformations are similarly defined.

Parameter m

Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix.

Throws

GL_INVALID_OPERATION is generated if GL.glLoadMatrix is executed between the execution of GL.glBegin and the corresponding execution of GL.glEnd.