glLightModelf 函数
glLightModelf 函数设置照明模型参数。
语法
void WINAPI glLightModelf(
GLenum pname,
GLfloat *param
);
parameters
-
pname
-
单值照明模型参数。 接受以下值。
值 含义 - GL_LIGHT_MODEL_LOCAL_VIEWER
参数是一个浮点值,用于指定反射角的计算方式。 如果 参数 为 0 (或 0.0) ,则无论顶点在眼睛坐标中的位置如何,镜面反射角度都会使视图方向与 -z 轴的方向平行。 否则,将从眼睛坐标系的原点计算反射。 默认值为 0。 - GL_LIGHT_MODEL_TWO_SIDE
参数是单个浮点值,用于指定是对多边形执行单面照明计算还是双面照明计算。 它不会影响点、线条或位图的照明计算。 如果 参数 为 0 (或 0.0) ,则指定单面照明,照明公式中仅使用前部材料参数。 否则,将指定双面照明。
在这种情况下,使用背面材料参数点亮后向多边形的顶点,并在计算照明公式之前将其法线反转。 正面多边形的顶点始终使用前部材料参数点亮,不会更改其法线。 默认值为 0。 -
param
-
参数 将设置为 的值。
返回值
此函数不返回值。
错误代码
glGetError 函数可以检索以下错误代码。
名称 | 含义 |
---|---|
|
pname 不是接受的值。 |
|
在对 glBegin 的调用和对 glEnd 的相应调用之间调用了函数。 |
备注
glLightModelf 函数设置照明模型参数。 pname 参数命名参数,参数为新值。单个光源参数的值。
在 RGBA 模式下,顶点的发光颜色是材料发射强度、材料环境反射率和照明模型全场景环境强度的总和,以及每个已启用的光源的贡献。 每个光源提供三个项的总和:环境、漫射和反射。
- 环境光源的贡献是材料环境反射率和光的环境强度的乘积。
- 漫射光源贡献是材料漫射反射率的乘积、光的漫射强度以及顶点法线的点积,以及从顶点到光源的规范化向量。
- 反射光源的贡献是材料反射率、光的反射强度的乘积,以及规范化顶点到眼睛和顶点到光向量的点积,提高到材料光泽度的幂。
所有三个光源贡献都根据从顶点到光源的距离以及光源方向、分布指数和传播截止角度进行平均衰减。 如果计算结果为负值,则将所有点积替换为零。
生成的发光颜色的 alpha 分量设置为材料漫射反射率的 alpha 值。
在颜色索引模式下,顶点的点亮索引值的范围从环境到使用 GL_COLOR_INDEXES传递到 glMaterial 的反射值。 漫射系数和反射系数,以 (.30、0.59、011) 光的颜色权重、材料的光泽度以及与 RGBA 情况相同的反射和衰减公式计算得出,确定生成的索引高于环境多少。
以下函数检索与 glLightModelf 函数相关的信息:
带参数GL_LIGHT_MODEL_LOCAL_VIEWER的 glGet
带参数GL_LIGHT_MODEL_TWO_SIDE的 glGet
glIsEnabled with argument GL_LIGHTING
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|