Light | Dark

# docs.GL

OpenGL 3
OpenGL 2

# glMatrixMode

## Name

glMatrixMode — specify which matrix is the current matrix

## C Specification

`void glMatrixMode(` | GLenum | mode`)`;

## Parameters

`mode`

  Specifies which matrix stack is the target for subsequent matrix operations. Three values are accepted: `GL_MODELVIEW`, `GL_PROJECTION`, and `GL_TEXTURE`. The initial value is `GL_MODELVIEW`. Additionally, if the `ARB_imaging` extension is supported, `GL_COLOR` is also accepted.

## Description

`glMatrixMode` sets the current matrix mode. `mode` can assume one of four values:

`GL_MODELVIEW`

  Applies subsequent matrix operations to the modelview matrix stack.

`GL_PROJECTION`

  Applies subsequent matrix operations to the projection matrix stack.

`GL_TEXTURE`

  Applies subsequent matrix operations to the texture matrix stack.

`GL_COLOR`

  Applies subsequent matrix operations to the color matrix stack.

To find out which matrix stack is currently the target of all matrix operations, call glGet with argument `GL_MATRIX_MODE`. The initial value is `GL_MODELVIEW`.

## Errors

`GL_INVALID_ENUM` is generated if `mode` is not an accepted value.

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

## Associated Gets

glGet with argument `GL_MATRIX_MODE`

## Tutorials

## See Also

glLoadMatrix, glLoadTransposeMatrix, glMultMatrix, glMultTransposeMatrix, glPopMatrix, 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.