glColorMaterial: cause a material color to track the current color.
C Specification |
Parameters |
Description |
Notes |
Errors |
Associated Gets |
See Also
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 may leave
the current color indeterminate. 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,
glDrawElements,
glEnable,
glLight,
glLightModel,
glMaterial