glFogiv 函数

glFogfv 函数指定迷雾参数。

语法

void WINAPI glFogiv(
         GLenum pname,
   const GLint  *params
);

参数

pname

指定迷雾参数。

接受以下值之一。

含义
GL_FOG_MODE
params 参数是一个整数值,指定用于计算雾混合因子 f 的公式。 接受三个符号常量:GL_LINEAR、GL_EXP和GL_EXP2。 与这些符号常量对应的等式在下面的“备注”部分中定义。 默认的迷雾模式为GL_EXP。
GL_FOG_DENSITY
params 参数是一个整数值,指定密度,即两个指数雾公式中使用的雾密度。 仅接受非否定密度。 默认雾密度为 1.0。
GL_FOG_START
params 参数是一个整数值,用于指定开始,即线性雾公式中使用的近距离。 默认的近距为 0.0。
GL_FOG_END
params 参数是一个整数值,用于指定结束,即线性雾公式中使用的远距离。 默认的远距离为 1.0。
GL_FOG_INDEX
params 参数是一个指定 if (迷雾颜色索引)的单个整数值。 默认迷雾索引为 0.0。
GL_FOG_COLOR
params 参数包含四个整数或浮点值,用于指定 Cf (迷雾颜色)。 整数值是线性映射的,以便最正的可表示值映射到 1.0,而最负的可表示值映射到 -1.0。 浮点值是直接映射的。 转换后,所有颜色分量都固定到 [0,1] 范围。 默认雾色为 (0,0,0,0) 。

params

指定要分配给 pname 的值。 GL_FOG_COLOR需要一个由四个值构成的数组。 所有其他参数都接受仅包含单个值的数组。

返回值

此函数不返回值。

错误代码

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

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

备注

使用参数GL_FOG启用和禁用 glEnableglDisable 的迷雾。 启用后,雾会影响光栅化几何图形、位图和像素块,但不影响缓冲区清除操作。

glFogiv 函数将参数中的一个或多个值分配给 pname 指定的迷雾参数。

Fog 使用混合因子 f 将雾色与每个光栅化像素片段的后纹理颜色混合。 根据雾模式,按三种方式之一计算 因子 f 。 让 z 表示眼睛坐标中从原点到被迷雾的片段的距离。 GL_LINEAR雾的等式是:

公式显示GL_LINEAR雾模式下混合因子的值作为距离的函数。

GL_EXP雾的公式为:

显示GL_EXP雾模式下混合因子值的公式。

GL_EXP2雾的等式是:

显示GL_EXP2雾模式下混合因子的值的公式。

无论雾模式如何, f 在计算后固定到范围 [0,1]。 然后,如果 OpenGL 处于 RGBA 颜色模式,则片段的颜色 Cr 将替换为

公式显示雾化片段的颜色作为混合因子和雾色的函数。

在颜色索引模式下,片段的颜色索引 ir 替换为

公式显示迷雾片段的颜色索引作为混合因子和索引颜色的函数。

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

带参数GL_FOG_COLOR的 glGet

带参数GL_FOG_INDEX的 glGet

带参数GL_FOG_DENSITY的 glGet

带参数GL_FOG_START的 glGet

带参数GL_FOG_END的 glGet

带参数GL_FOG_MODE的 glGet

带参数GL_FOG的 glIsEnabled

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glDisable

glEnable

glEnd

glGet

glIsEnabled