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

  
 
  

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_DEN-
	     SITY, 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  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  specified
     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  ac-
			 cepted:  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 integer or floating-point value that
			 specifies $density$, the fog density used in both expo-
			 nential  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  values
			 that  specify $C sub f$, the fog color.  Integer values
			 are mapped linearly such that the most positive  repre-
			 sentable  value maps to 1.0, and the most negative rep-
			 resentable value maps to -1.0.   Floating-point  values
			 are  mapped directly.	After conversion, all color com-
			 ponents 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 coordi-
     nates 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  execu-
     tion 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=glFogiv&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help