glColorMaterial — cause a material color to track the current color
void glColorMaterial( | GLenum | face, |
GLenum | mode) ; |
face
Specifies whether front, back, or both front and back material parameters should track the current color. Accepted values are GL_FRONT
, GL_BACK
, and GL_FRONT_AND_BACK
. The initial value is GL_FRONT_AND_BACK
.
mode
Specifies which of several material parameters track the current color. Accepted values are GL_EMISSION
, GL_AMBIENT
, GL_DIFFUSE
, GL_SPECULAR
, and GL_AMBIENT_AND_DIFFUSE
. The initial value is GL_AMBIENT_AND_DIFFUSE
.
glColorMaterial
specifies which material parameters track the current color. When GL_COLOR_MATERIAL
is enabled, the material parameter or parameters specified by mode
, of the material or materials specified by face
, track the current color at all times.
To enable and disable GL_COLOR_MATERIAL
, call glEnable and glDisable with argument GL_COLOR_MATERIAL
. GL_COLOR_MATERIAL
is initially disabled.
glColorMaterial
makes it possible to change a subset of material parameters for each vertex using only the glColor command, without calling glMaterial. If only such a subset of parameters is to be specified for each vertex, calling glColorMaterial
is preferable to calling glMaterial.
Call glColorMaterial
before enabling GL_COLOR_MATERIAL
.
Calling glDrawElements, glDrawArrays, or glDrawRangeElements may leave the current color indeterminate, if the color array is enabled. If glColorMaterial
is enabled while the current color is indeterminate, the lighting material state specified by face
and mode
is also indeterminate.
If the GL version is 1.1 or greater, and GL_COLOR_MATERIAL
is enabled, evaluated color values affect the results of the lighting equation as if the current color were being modified, but no change is made to the tracking lighting parameter of the current color.
GL_INVALID_ENUM
is generated if face
or mode
is not an accepted value.
GL_INVALID_OPERATION
is generated if glColorMaterial
is executed between the execution of glBegin and the corresponding execution of glEnd.
glIsEnabled with argument GL_COLOR_MATERIAL
glGet with argument GL_COLOR_MATERIAL_PARAMETER
glGet with argument GL_COLOR_MATERIAL_FACE
glColor, glColorPointer, glDrawArrays, glDrawElements, glDrawRangeElements, glEnable, glLight, glLightModel, glMaterial
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/.