2003-2004
Silicon Graphics, Inc.
glFog
3G
glFog
glFogf
glFogx
glFogfv
glFogxv
specify fog parameters
C Specification
void glFogf
GLenum pname
GLfloat param
void glFogx
GLenum pname
GLfixed param
Parameters
pname
Specifies a single-valued fog parameter.
GL_FOG_MODE,
GL_FOG_DENSITY,
GL_FOG_START, and
GL_FOG_END are accepted.
param
Specifies the value that
pname
will be set to.
C Specification
void glFogfv
GLenum pname
const GLfloat * params
void glFogxv
GLenum pname
const GLfixed * params
Parameters
pname
Specifies a fog parameter.
GL_FOG_MODE,
GL_FOG_DENSITY,
GL_FOG_START,
GL_FOG_END, 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 parameters
accept an array containing only a single value.
Description
If fog is enabled, fog affects
rasterized geometry, bitmaps, and pixel blocks, but not buffer
clear operations. To enable and disable fog, call
glEnable and
glDisable
with argument GL_FOG.
Fog is initially disabled.
glFog assigns the value or values in
params to the fog parameter specified by
pname. The following values are accepted for
pname:
GL_FOG_MODE
params
is a single fixed-point or floating-point value that
specifies the equation to be used to compute the fog
blend factor f.
Three symbolic constants are accepted:
GL_LINEAR,
GL_EXP, and
GL_EXP2.
The equations corresponding to these symbolic constants
are defined below. The initial fog mode is
GL_EXP.
GL_FOG_DENSITY
params
is a single fixed-point 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 fixed-point 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 fixed-point or floating-point value that
specifies end,
the far distance used in the linear fog equation. The
initial far distance is 1.
GL_FOG_COLOR
params
contains four fixed-point or floating-point values that specify
Cf
,
the fog color. Both fixed-point and floating-point
values are mapped directly. After conversion, 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 posttexturing 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
end-start
The equation for GL_EXP fog is
f=
e
-(density-z)
The equation for GL_EXP2 fog is
f=
e
-(density-z)
2
Regardless of the fog mode, f
is clamped to the range [0, 1] after it is computed. Then,
the fragment's red, green, and blue colors, represented by
Cr
,
are replaced by
C'r=
f
C
r
+
1-f
C
f
Fog does not affect a fragment's alpha component.
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.
See Also
glEnable
Copyright
Copyright 2003-2004
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
https://khronos.org/registry/OpenGL-Refpages/LICENSES/LicenseRef-FreeB.txt.