glFogf(3)
NAME
glFogf, glFogi, glFogfv, glFogiv - specify fog parameters
C SPECIFICATION
void glFogf( GLenum pname,
GLfloat param )
void glFogi( GLenum pname,
GLint param )
delim $$
PARAMETERS
pname Specifies a single-valued fog parameter. GL_FOG_MODE,
GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, and GL_FOG_INDEX are
accepted.
param Specifies the value that pname will be set to.
C SPECIFICATION
void glFogfv( GLenum pname,
const GLfloat *params )
void glFogiv( GLenum pname,
const GLint *params )
PARAMETERS
pname Specifies a fog parameter. GL_FOG_MODE, GL_FOG_DENSITY,
GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COLOR are
accepted.
params Specifies the value or values to be assigned to pname.
GL_FOG_COLOR requires an array of four values. All other param-
eters accept an array containing only a single value.
DESCRIPTION
Fog is initially disabled. While enabled, fog affects rasterized geom-
etry, bitmaps, and pixel blocks, but not buffer clear operations. To
enable and disable fog, call glEnable and glDisable with argument
GL_FOG.
glFog assigns the value or values in params to the fog parameter speci-
fied by pname. The following values are accepted for pname:
GL_FOG_MODE params is a single integer or floating-point value
that specifies the equation to be used to compute
the fog blend factor, $f$. Three symbolic con-
stants are accepted: GL_LINEAR, GL_EXP, and
GL_EXP2. The equations corresponding to these sym-
bolic constants are defined below. The initial fog
mode is GL_EXP.
GL_FOG_DENSITY params is a single integer or floating-point value
that specifies $density$, the fog density used in
both exponential fog equations. Only nonnegative
densities are accepted. The initial fog density is
1.
GL_FOG_START params is a single integer or floating-point value
that specifies $start$, the near distance used in
the linear fog equation. The initial near distance
is 0.
GL_FOG_END params is a single integer or floating-point value
that specifies $end$, the far distance used in the
linear fog equation. The initial far distance is
1.
GL_FOG_INDEX params is a single integer or floating-point value
that specifies $i sub f$, the fog color index. The
initial fog index is 0.
GL_FOG_COLOR params contains four integer or floating-point val-
ues that specify $C sub f$, the fog color. Integer
values are mapped linearly such that the most posi-
tive representable value maps to 1.0, and the most
negative representable value maps to -1.0. Float-
ing-point values are mapped directly. After con-
version, all color components are clamped to the
range [0,1]. The initial fog color is (0, 0, 0,
0).
Fog blends a fog color with each rasterized pixel fragment's posttex-
turing color using a blending factor $f$. Factor $f$ is computed in
one of three ways, depending on the fog mode. Let $z$ be the distance
in eye coordinates from the origin to the fragment being fogged. The
equation for GL_LINEAR fog is
f ~=~ {end ~-~ z} over {end ~-~ start}
The equation for GL_EXP fog is
f ~=~ e sup {-^(density ~cdot~ z)}
The equation for GL_EXP2 fog is
f ~=~ e sup {-^(density ~cdot~ z)} sup 2
Regardless of the fog mode, $f$ is clamped to the range [0, 1] after it is
computed. Then, if the GL is in RGBA color mode, the fragment's red, green,
and blue colors, represented by $C sub r$, are replaced by
{C sub r} sup prime ~=~ f^C sub r ~+~ (1 - f)^C sub f
Fog does not affect a fragment's alpha component.
In color index mode, the fragment's color index $i sub r$ is replaced by
{i sub r} sup prime ~=~ i sub r ~+~ (1 - f)^i sub f
ERRORS
GL_INVALID_ENUM is generated if pname is not an accepted value, or if
pname is GL_FOG_MODE and params is not an accepted value.
GL_INVALID_VALUE is generated if pname is GL_FOG_DENSITY, and params is
negative.
GL_INVALID_OPERATION is generated if glFog is executed between the exe-
cution of glBegin and the corresponding execution of glEnd.
ASSOCIATED GETS
glIsEnabled with argument GL_FOG
glGet with argument GL_FOG_COLOR
glGet with argument GL_FOG_INDEX
glGet with argument GL_FOG_DENSITY
glGet with argument GL_FOG_START
glGet with argument GL_FOG_END
glGet with argument GL_FOG_MODE
SEE ALSO
glEnable(3G)
GLFOG(3G)
Man(1) output converted with
man2html