ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



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 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
                           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 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  if,  the  fog
                           color index.  The initial 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  positive  repre-sentable representable
                           sentable  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 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 dis-tance distance
       tance 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 dot z)

       The equation for GL_EXP2 fog is

                                            f = e^-( (density dot 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 red, green, and blue colors, represented by Cr, are replaced by


                                              Cr' = f * Cr + (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



                                                   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  cor-responding corresponding
       responding 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)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.