glColorMaterial 函数

glColorMaterial 函数会导致材料颜色跟踪当前颜色。

语法

void WINAPI glColorMaterial(
   GLenum face,
   GLenum mode
);

参数

指定是正面、背面还是正面和背面材料参数都应跟踪当前颜色。 接受的值为GL_FRONT、GL_BACK和GL_FRONT_AND_BACK。 默认值为 GL_FRONT_AND_BACK。

mode

指定多个材料参数中的哪一个跟踪当前颜色。 接受的值为GL_EMISSION、GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR和GL_AMBIENT_AND_DIFFUSE。 默认值为 GL_AMBIENT_AND_DIFFUSE。

返回值

此函数不返回值。

错误代码

glGetError 函数可以检索以下错误代码。

名称 含义
GL_INVALID_ENUM
facemode 不是接受的值。
GL_INVALID_OPERATION
在对 glBegin 的调用和对 glEnd 的相应调用之间调用了函数。

备注

glColorMaterial 函数指定哪些材料参数跟踪当前颜色。 启用GL_COLOR_MATERIAL时,对于 人脸指定的每个材料, 模式 指定的材料参数或参数将跟踪当前颜色。 使用 函数 glEnableglDisable 启用和禁用GL_COLOR_MATERIAL,你使用 GL_COLOR_MATERIAL 作为其参数调用它们。 默认情况下,GL_COLOR_MATERIAL处于禁用状态。

使用 glColorMaterial,可以仅使用 glColor 函数更改每个顶点的材料参数子集,而无需调用 glMaterial。 如果要为每个顶点仅指定这样的参数子集,最好是使用 glColorMaterial 而不是 glMaterial

以下函数检索 与 glColorMaterial 相关的信息:

带参数GL_COLOR_MATERIAL_PARAMETER的 glGet

带参数GL_COLOR_MATERIAL_FACE的 glGet

glIsEnabled with argument GL_COLOR_MATERIAL

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glColor

glDisable

glEnable

glEnd

glGet

glIsEnabled

glLight

glLightModel

glMaterial