glFogf

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
GLFOG(3G)							    GLFOG(3G)



NAME
       glFogf, glFogi, glFogfv, glFogiv - specify fog parameters


C SPECIFICATION
       void glFogf( GLenum pname,
		    GLfloat param )
       void glFogi( GLenum pname,
		    GLint param )


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
	      parameters accept an array containing only a single value.

DESCRIPTION
       Fog  is	initially  disabled.   While  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.

       glFog assigns the value or values in params to the fog parameter spec-
       ified 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 constants
			   are accepted: GL_LINEAR, GL_EXP, and GL_EXP2.  The
			   equations  corresponding  to	 these	symbolic con-
			   stants 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 dis-
			   tance 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 if, the fog color index.  The	 ini-
			   tial fog index is 0.

       GL_FOG_COLOR	   params  contains  four  integer  or floating-point
			   values that specify Cf, the	fog  color.   Integer
			   values are mapped linearly such that the most pos-
			   itive representable value maps  to  1.0,  and  the
			   most	 negative  representable  value maps to -1.0.
			   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 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=_________


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 com-
puted.	Then, if the GL is in RGBA color mode, the fragment’s red, green, and
blue colors, represented by Cr, are replaced by

			       Cr′=fCr+(1−f)Cf


Fog does not affect a fragment’s alpha component.

In color index mode, the fragment’s color index ir is replaced by

			       ir′=ir+(1−f)if


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
       execution 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)