# glMatrixMode.3G - Man Page

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

**GL_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

## Referenced By

glCopyPixels.3G(3), glFrustum.3G(3), glLoadIdentity.3G(3), glLoadMatrix.3G(3), glMultMatrix.3G(3), glOrtho.3G(3), glPushMatrix.3G(3), glRotate.3G(3), glScale.3G(3), glTranslate.3G(3).