·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->Tru64 Unix man pages -> glMultMatrixf (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

## glMultMatrix(3G)

```
```

### NAME[Toc][Back]

```       glMultMatrix,  glMultMatrixd, glMultMatrixf - multiply the
current matrix with the specified matrix
```

### SYNOPSIS[Toc][Back]

```       void glMultMatrixd(
const GLdouble *m ); void glMultMatrixf(
const GLfloat *m );
```

### PARAMETERS[Toc][Back]

```       Points to 16 consecutive values that are used as the  elements
of a 4 times 4 column-major matrix.
```

### DESCRIPTION[Toc][Back]

```       glMultMatrix()  multiplies the current matrix with the one
specified using m, and replaces the  current  matrix  with
the product.

The  current  matrix  is  determined by the current matrix
mode (see glMatrixMode()). It  is  either  the  projection
matrix, modelview matrix, or the texture matrix.
```

### EXAMPLES[Toc][Back]

```       If  the  current  matrix  is  C, and the coordinates to be
transformed are, v = (v[0], v[1], v[2],  v[3]).  Then  the
current  transformation  is C times v, or c[0]  c[4]  c[8]
c[12]           v[0]

c[1]  c[5]  c[9]  c[13]           v[1]
times c[2]   c[6]  c[10]   c[14]
v[2]

c[3]  c[7] c[11]  c[15]           v[3]

Calling  glMultMatrix()  with  an  argument of "m" = m[0],
m[1], ..., m[15] replaces the current transformation  with
(C   times   M)  times  v,  or  c[0]   c[4]   c[8]   c[12]
m[0]  m[4]  m[8]  m[12]          v[0]

c[1]  c[5]  c[9]  c[13]           m[1]  m[5]  m[9]   m[13]
v[1]
times
times c[2]  c[6] c[10]  c[14]           m[2]   m[6]  m[10]
m[14]          v[2]

c[3]   c[7] c[11]  c[15]           m[3]  m[7] m[11]  m[15]
v[3]

Where 'times' denotes matrix multiplication, and v is represented
as a 4 times 1 matrix.
```

### NOTES[Toc][Back]

```       While  the  elements  of  the matrix may be specified with
single or double precision, the GL may store or operate on
these values in less than single precision.

In  many  computer  languages  4 times 4 arrays are represented
in  row-major  order.  The  transformations   just
described  represent these matrices in column-major order.
The order of the multiplication is important. For example,
if the current transformation is a rotation, and glMultMatrix()
is  called  with   a   translation   matrix,   the
translation  is  done  directly  on  the coordinates to be
transformed, while the rotation is done on the results  of
that translation.
```

### ERRORS[Toc][Back]

```       GL_INVALID_OPERATION  is  generated  if  glMultMatrix() is
executed between the execution of glBegin() and the corresponding
execution of glEnd().
```

### ASSOCIATED GETS[Toc][Back]

```       glGet() with argument GL_MATRIX_MODE
glGet() with argument GL_COLOR_MATRIX
glGet() with argument GL_MODELVIEW_MATRIX
glGet() with argument GL_PROJECTION_MATRIX
glGet() with argument GL_TEXTURE_MATRIX

```

```       glLoadIdentity(3),    glLoadMatrix(3),    glMatrixMode(3),