glColorMaterial(3G)glColorMaterial(3G)NAMEglColorMaterial - cause a material color to track the current color
SYNOPSIS
void glColorMaterial(
GLenum face,
GLenum mode );
PARAMETERS
Specifies whether front, back, or both front and back material parame‐
ters 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.
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_DIF‐
FUSE.
DESCRIPTIONglColorMaterial() 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 dis‐
abled.
NOTESglColorMaterial() 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 indetermi‐
nate, 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.
ERRORS
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().
ASSOCIATED GETSglIsEnabled() with argument GL_COLOR_MATERIAL
glGet() with argument GL_COLOR_MATERIAL_PARAMETER
glGet() with argument GL_COLOR_MATERIAL_FACE
SEE ALSOglColor(3), glColorPointer(3), glDrawArrays(3), glDrawElements(3),
glDrawRangeElements(3), glEnable(3), glLight(3), glLightModel(3), glMa‐
terial(3)glColorMaterial(3G)