Notes

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.

Associated Gets

glIsEnabled with argument GL_COLOR_MATERIAL

glGet with argument GL_COLOR_MATERIAL_PARAMETER

glGet with argument GL_COLOR_MATERIAL_FACE

Python Sample Code

glColorMaterial
GL_AMBIENT
GL_AMBIENT_AND_DIFFUSE
GL_DIFFUSE
GL_FRONT
GL_FRONT_AND_BACK