glFogiv 函数

glFogfv 函数指定雾参数。

语法

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

参数

pname

指定雾参数。

接受以下值之一。

含义
GL_FOG_MODE
参数是一个整数值,指定用于计算雾混合因子 f 的公式。 接受三个符号常量:GL_LINEAR、GL_EXP和GL_EXP2。 以下“备注”部分定义了对应于这些符号常量的公式。 默认雾模式为GL_EXP。
GL_FOG_DENSITY
参数是一个整数值,指定密度,这两个指数雾公式中使用的雾密度。 仅接受非负密度。 默认雾密度为 1.0。
GL_FOG_START
参数是一个整数值,该值指定线性雾公式中使用的接近距离的开始值。 默认距离为 0.0。
GL_FOG_END
参数是一个整数值,该值指定线性雾公式中使用的远距离。 默认距离为 1.0。
GL_FOG_INDEX
参数是一个指定 if 的整数值,即雾色索引。 默认雾索引为 0.0。
GL_FOG_COLOR
参数包含四个整数或浮点值,这些值指定 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 指定的雾参数。

雾将雾色与每个光栅化像素片段的后文本颜色混合使用混合因子 f。 因子 f 按三种方式之一计算,具体取决于雾模式。 让 z 成为从原点到被雾化碎片的眼睛坐标中的距离。 GL_LINEAR雾的公式为:

Equation showing the value of the blending factor in GL_LINEAR fog mode as a function of distance.

GL_EXP雾的公式为:

Equation showing the value of the blending factor in GL_EXP fog mode.

GL_EXP2雾的公式为:

Equation showing the value of the blending factor in GL_EXP2 fog mode.

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

Equation showing the fogged fragment's color as a function of blending factor and fog color.

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

Equation showing the fogged fragment's color index as a function of blending factor and indexed color.

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

带参数的 glGet GL_FOG_COLOR

带参数GL_FOG_INDEX的 glGet

带参数的 glGet GL_FOG_DENSITY

带参数GL_FOG_START的 glGet

带参数的 glGet GL_FOG_END

带参数的 glGet GL_FOG_MODE

带参数GL_FOG的 glIsEnabled

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glDisable

glEnable

glEnd

glGet

glIsEnabled