Light | Dark

# docs.GL

OpenGL 3
OpenGL 2

# glLoadMatrix

## Name

glLoadMatrix — replace the current matrix with the specified matrix

## C Specification

`void glLoadMatrixd(` | const GLdouble * | m`)`;

`void glLoadMatrixf(` | const GLfloat * | m`)`;

## Parameters

`m`

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

## Description

`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 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 = m ⁡ 0 m ⁡ 1 ... m ⁡ 15 , then the modelview transformation M ⁡ v does the following:

M ⁡ v = m ⁡ 0 m ⁡ 4 m ⁡ 8 m ⁡ 12 m ⁡ 1 m ⁡ 5 m ⁡ 9 m ⁡ 13 m ⁡ 2 m ⁡ 6 m ⁡ 10 m ⁡ 14 m ⁡ 3 m ⁡ 7 m ⁡ 11 m ⁡ 15 × v ⁡ 0 v ⁡ 1 v ⁡ 2 v ⁡ 3

Projection and texture transformations are similarly defined.

## Notes

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

## Errors

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

## Associated Gets

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`

## Tutorials

## See Also

glLoadIdentity, glMatrixMode, glMultMatrix, glMultTransposeMatrix, glPushMatrix

## Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/.

Think you can improve this page? Edit this page on GitHub.