1991-2006 Silicon Graphics, Inc.
glMatrixMode 3G
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`

## 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 http://oss.sgi.com/projects/FreeB/.