Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GLFOG()								       GLFOG()

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 ac-
	      cepted.

       params Specifies	 the  value  or	 values	 to  be	 assigned  to	pname.
	      GL_FOG_COLOR  requires an	array of four values.  All other para-
	      meters 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 ** (-(density	~cdot~ z))

       The equation for	GL_EXP2	fog is

			f ~=~ e	** (-(density ~cdot~ z)	** 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
       color $C	sub r$ is replaced by

		   {C sub r} prime ~=~ f C sub r + (1 -	f) C sub f

       In color	index mode, the	fragment's color index $i sub r$  is  replaced
       by

		    {i sub r} 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

								       GLFOG()

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=glFogi&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>

home | help