void glMaterial{if}(GLenum face, GLenum pname, TYPE param);
void glMaterial{if}v(GLenum face, GLenum pname, TYPE *param);
指定用于光照计算的当前材质属性。参数face的取值可以是GL_FRONT、GL_BACK或GL_FRONT_AND_BACK,指出材质属性将应用于物体的哪面。pname指出要设置的哪种材质属性。param为要设置的属性值,是一个指向数组的指针(向量版本)或一个数值(非向量版本)。只要设置GL_SHININESS是,才能使用非向量版本。下表列举出了参数pname的可能取值。GL_AMBIENT_AND_DIFFUSE让您能够同时设置材质的环境颜色和散射颜色,并将它们设置为相同的RGBA值。
下面是pname的可能取值和相应值的意义:
参数值
|
默认值
|
意义
|
GL_AMBIENT
|
(0.2,0.2,0.2,1.0)
|
材质的环境颜色
|
GL_DIFFUSE
|
(0.8,0.8,0.8,1.0)
|
材质的散射颜色
|
GL_AMBIENT_AND_DIFFUSE
|
材质的环境颜色和散射颜色
| |
GL_SPECULAR
|
(0.0,0.0,0.0,1.0)
|
材质的镜面反射颜色
|
GL_SHININESS
|
0.0
|
镜面反射指数
|
GL_EMISSION
|
(0.0,0.0,0.1,1.0)
|
材质的发射光颜色
|
GL_COLOR_INDEXES
|
(0, 1, 1)
|
环境颜色索引、散射颜色索引和镜面反射颜色索引
|