void WINAPI glMaterialfv(
GLenum face,
GLenum pname,
const GLfloat *params
);
指定用於光照計算的當前材質屬性。參數face的取值可以是GL_FRONT、GL_BACK或GL_FRONT_AND_BACK,指出材質屬性將套用於物體的哪面。
void glMaterial{if}(GLenum face, GLenum pname, TYPE param);
void glMaterial{if}v(GLenum face, GLenum pname, TYPE *param);
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) | 環境顏色索引、散射顏色索引和鏡面反射顏色索引 |