*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> OpenGL/glfog (3)              
Title
Content
Arch
Section
 

Contents


glFog(3G)		       OpenGL Reference			     glFog(3G)


NAME    [Toc]    [Back]

     glFogf, glFogi, glFogfv, glFogiv -	specify	fog parameters

C SPECIFICATION    [Toc]    [Back]

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

PARAMETERS    [Toc]    [Back]

     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    [Toc]    [Back]

     void glFogfv( GLenum pname,
		   const GLfloat *params )
     void glFogiv( GLenum pname,
		   const GLint *params )

PARAMETERS    [Toc]    [Back]

     pname
	  Specifies a fog parameter.  GL_FOG_MODE, GL_FOG_DENSITY,
	  GL_FOG_START,	GL_FOG_END, GL_FOG_INDEX, GL_FOG_COLOR,	and
	  GL_FOG_OFFSET_VALUE_SGIX are accepted.

     params
	  Specifies the	value or values	to be assigned to pname.  GL_FOG_COLOR
	  requires an array of four values to specify the RGBA components of
	  the fog color.  GL_FOG_OFFSET_VALUE_SGIX requires an array of	four
	  values to specify a reference	point in eye-space coordinates,	and a
	  Z offset in eye-space	coordinates.  All other	parameters accept an
	  array	containing only	a single value.

DESCRIPTION    [Toc]    [Back]

     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.  Four symbolic constants are
			 accepted:  GL_LINEAR, GL_EXP, GL_EXP2,	and
			 GL_FOG_FUNC_SGIS.  The	equations corresponding	to



									Page 1






glFog(3G)		       OpenGL Reference			     glFog(3G)



			 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
			 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 , the	fog color index.  The initial
					 f
			 fog index is 0.

     GL_FOG_COLOR	 params	contains four integer or floating-point	values
			 that specify C	, the fog color.  Integer values are
				       f
			 mapped	linearly such that the most positive
			 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).

     GL_FOG_OFFSET_VALUE_SGIX    [Toc]    [Back]
			 params	contains four integer or floating-point
			 values.  The first three specify a reference point as
			 X, Y, and Z eye coordinates.  The fourth specifies a
			 Z offset in eye coordinates.  The offset is used to
			 modify	z in the fog equations described below,	so
			 that bright objects (such as emissive objects
			 representing light sources) will have a more
			 realistic appearance in heavily-fogged	environments.
			 The significance of the reference point is discussed
			 below.	 Integer values	are mapped linearly such that
			 the most positive representable value maps to 1.0,
			 and the most negative representable value maps	to
			 -1.0.	Floating-point values are mapped directly.
			 The initial value 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 four ways, depending on the	fog mode.  Let z be the	distance in
     eye coordinates from the origin to	the fragment being fogged.  If
     GL_FOG_OFFSET_SGIX	is enabled, subtract the Z offset specified by
     GL_FOG_OFFSET_VALUE_SGIX from z, and clamp	the result so that it is



									Page 2






glFog(3G)		       OpenGL Reference			     glFog(3G)



     greater than or equal to zero.

     The equation for GL_LINEAR	fog is

				      ___________
				  f =
				      end - start



     The equation for GL_EXP fog is

					       .
				     -(density	 z)
				f = e



     The equation for GL_EXP2 fog is

					      .	  2
				    -(density	z)
			       f = e



     The blending factor for GL_FOG_FUNC_SGIS fog is determined	by
     interpolating a set of application-defined	control	points.	 glFogFuncSGIS
     is	used to	specify	the control points.  Each control point	consists of a
     pair of floating-point numbers.  The first	number of the pair specifies a
     value of z, and the second	number of the pair specifies a value of	f.
     The GL fits a curve through all the control points.  This curve may be
     piecewise linear or it may	be smoothed, but it will pass through the
     control points exactly (limited only by the resolution of the
     implementation).  If a given z is less than or equal to the z of the
     first control point, then the resulting value of f	is the f of the	first
     control point.  If	z is greater than or equal to the z of the last
     control point, then the resulting value of	f is the f of the last control
     point.  Otherwise,	f is determined	by finding the point on	the curve that
     corresponds to the	given z.


     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 ,	are replaced by
					     r

				  '
				C   = fC  + (1-f)C
				 r	r	  f


     Fog does not affect a fragment's alpha component.

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

				  '
				i   = i	 + (1-f)i
				 r     r	 f

NOTES    [Toc]    [Back]

     In	perspective projections, a Z offset in eye coordinates will map	to
     different Z offsets in window coordinates at various points in the	range
     of	Z.  Machines that evaluate the fog blending factor by using a window Z
     coordinate	to index a table must therefore	compute	the window-coordinate
     Z offset relative to some reference point.	 This is the purpose of	the



									Page 3






glFog(3G)		       OpenGL Reference			     glFog(3G)



     reference point specified by the first three values in params when	pname
     is	GL_FOG_OFFSET_VALUE_SGIX.  For best fog	accuracy in perspective
     projections, this reference point must be close to	the objects being
     fogged.

     In	parallel projections the window-coordinate Z offset does not vary with
     position in the Z range, so the reference point is	ignored.

     GL_FOG_FUNC_SGIS is part of the SGIS_fog_func extension, not part of the
     core GL command set.  If GL_SGIS_fog_func is included in the string
     returned by glGetString when called with argument GL_EXTENSIONS,
     extension SGIS_fog_func is	supported by the connection.  See glIntro for
     more information about using extensions.

     GL_FOG_OFFSET_VALUE_SGIX is part of the SGIX_fog_offset extension,	and
     similar considerations apply.

ERRORS    [Toc]    [Back]

     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    [Toc]    [Back]

     glIsEnabled with argument GL_FOG
     glIsEnabled with argument GL_FOG_OFFSET_SGIX
     glGet with	argument GL_FOG_COLOR
     glGet with	argument GL_FOG_FUNC_SGIS
     glGet with	argument GL_MAX_FOG_FUNC_POINTS_SGIS
     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
     glGet with	argument GL_FOG_OFFSET_VALUE_SGIX


MACHINE	DEPENDENCIES
     Fog mode GL_FOG_FUNC_SGIS is supported only on InfiniteReality systems.

     The fog offset capability is supported only on InfiniteReality systems.

     On	InfiniteReality	systems, fog cannot be used with color-index visuals
     that are 2	or 4 bits deep.	 Accordingly, these visuals are	marked as
     non-conforming.






									Page 4






glFog(3G)		       OpenGL Reference			     glFog(3G)


SEE ALSO    [Toc]    [Back]

      
      
     glEnable, glFogFuncSGIS


									PPPPaaaaggggeeee 5555
[ Back ]
 Similar pages
Name OS Title
clGetParams IRIX get and set the value of the specified parameters.
glpointparametersgis IRIX set point parameters
SSL_get_verify_depth Tru64 Get currently set verification parameters
glTexParameter Tru64 set texture parameters
glgethistogramparameter IRIX get histogram parameters
glspriteparametersgix IRIX set sprite parameters
gltexparameter IRIX set texture parameters
tcgetattr Tru64 Get the parameters associated with the terminal
tcsetattr Tru64 Set the parameters associated with the terminal
SSL_CTX_get_verify_mode Tru64 Get currently set verification parameters
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service