glFogfv 函数

glFogfv 函数指定迷雾参数。

语法

void WINAPI glFogfv(
         GLenum  pname,
   const GLfloat *params
);

parameters

pname

指定 fog 参数。

接受以下值之一。

含义
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 的 fog。 启用时,雾会影响光栅化几何图形、位图和像素块,但不会影响缓冲区清除操作。

glFogfv 函数将参数中的值分配给 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 函数相关的信息:

glGet with argument GL_FOG_COLOR

带参数GL_FOG_INDEX的 glGet

带参数GL_FOG_DENSITY的 glGet

带参数GL_FOG_START的 glGet

带参数GL_FOG_END的 glGet

带参数GL_FOG_MODE的 glGet

glIsEnabled with argument GL_FOG

要求

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

Opengl32.lib
DLL
Opengl32.dll

请参阅

glBegin

glDisable

glEnable

glEnd

glGet

glIsEnabled