glMaterialf 函数

glMaterialf 函数指定照明模型的材料参数。

语法

void WINAPI glMaterialf(
   GLenum  face,
   GLenum  pname,
   GLfloat param
);

parameters

正在更新的人脸。 必须是以下项之一:GL_FRONT、GL_BACK或GL_FRONT和GL_BACK。

pname

正在更新的人脸的单值材料参数。 必须GL_SHININESS。

含义
GL_SHININESS
参数是一个浮点值,用于指定材料的 RGBA 反射指数。 整数值是直接映射的。 仅接受 [0, 128] 范围内的值。 正面和后向材料的默认反射指数为 0。

param

参数GL_SHININESS将设置为的值。

返回值

此函数不返回值。

错误代码

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

名称 含义
GL_INVALID_ENUM
facepname 不是接受的值。
GL_INVALID_VALUE
指定了 [0, 128] 范围之外的反射指数。

备注

glMaterialf 函数将值分配给材料参数。 有两组匹配的材料参数。 第一个是 正面 集,用于在双面照明) 禁用时着色点、线条、位图和所有多边形 (,或者在启用双面照明时仅 (正面多边形) 。 另一个设置为 后向,仅当启用双面照明时,才用于着色朝后多边形。 有关单面和双面照明计算的详细信息,请参阅 glLightModel

glMaterialf 函数采用三个参数。 第一个 是人脸,指定是修改GL_FRONT材料、GL_BACK材料,还是同时修改GL_FRONT_AND_BACK材料。 第二个 pname 指定将修改一个或两个集中的多个参数中的哪一个。 第三个 参数指定将分配给指定参数的值。

材料参数在照明公式中使用,该公式可选地应用于每个顶点。 glLightModel 中讨论了公式。

可以随时更新材料参数。 具体而言, glMaterialf 可以在对 glBegin 的调用和对 glEnd 的相应调用之间调用。 但是,如果每个顶点仅更改单个材料参数, 则 glColorMaterial 优先于 glMaterialf

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

glGetMaterial

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glColorMaterial

glLight

glLightModel