- set texture environment parameters



C SPECIFICATION


PARAMETERS

       _param1  Specifies   a   texture   environment.   Must  be
                GL_TEXTURE_ENV.

       _param2  Specifies the symbolic name  of  a  single-valued
                texture    environment    parameter.    Must   be
                GL_TEXTURE_ENV_MODE.

       _param3  Specifies a  single  symbolic  constant,  one  of
                GL_MODULATE, GL_DECAL, GL_BLEND, or GL_REPLACE.


C SPECIFICATION


PARAMETERS

       _param1
              Specifies   a   texture   environment.    Must   be
              GL_TEXTURE_ENV.

       _param2
              Specifies the symbolic name of a  texture  environ-
              ment     parameter.      Accepted     values    are
              GL_TEXTURE_ENV_MODE and GL_TEXTURE_ENV_COLOR.

       _param3
              Specifies a pointer to a parameter array that  con-
              tains  either a single symbolic constant or an RGBA
              color.


DESCRIPTION

       A texture environment specifies  how  texture  values  are
       interpreted  when a fragment is textured.  _param1 must be
       GL_TEXTURE_ENV.  _param2 can be either GL_TEXTURE_ENV_MODE
       or GL_TEXTURE_ENV_COLOR.

       If  _param2  is  GL_TEXTURE_ENV_MODE,  then _param3 is (or
       points to) the symbolic name of a texture function.   Four
       texture functions may be specified: GL_MODULATE, GL_DECAL,
       GL_BLEND, and GL_REPLACE.

       A texture function acts on the  fragment  to  be  textured
       using the texture image value that applies to the fragment
       (see glTexParameter) and produces an RGBA color  for  that
       fragment.  The following table shows how the RGBA color is
       produced for each of the three texture functions that  can
       be  chosen.   C is a triple of color values (RGB) and A is
       the associated alpha value.  RGBA values extracted from  a
       texture  image  are  in  the range [0,1].  The subscript f
       refers to the incoming fragment, the subscript  t  to  the
       texture  image, the subscript c to the texture environment

  ----------------------------------------------------------------------
    GL_ALPHA         Cv=Cf       undefined       Cv=Cf         Cv=Cf
                    Av=AfAt                      Av=Af         Av=At
  ----------------------------------------------------------------------
  GL_LUMINANCE      Cv=LtCf      undefined    Cv=(1-Lt)Cf      Cv=Lt
                                                 +LtCc
        1            Av=Af                        Av=Af        Av=Af
  ----------------------------------------------------------------------
  GL_LUMINANCE      Cv=LtCf      undefined    Cv=(1-Lt)Cf      Cv=Lt
    \f3_ALPHA                                     +LtCc
        2           Av=AtAf                     Av=AtAf        Av=At
  ----------------------------------------------------------------------
  GL_INTENSITY      Cv=CfIt      undefined    Cv=(1-It)Cf      Cv=It
                                                 +ItCc
       c            Av=AfIt                   Av=(1-It)Af      Av=It
                                                 +ItAc
  ----------------------------------------------------------------------
     GL_RGB         Cv=CtCf        Cv=Ct      Cv=(1-Ct)Cf      Cv=Ct
                                                  +CtCc
        3            Av=Af         Av=Af         Av=Af         Av=Af
  ----------------------------------------------------------------------
     GL_RGBA        Cv=CtCf     Cv=(1-At)Cf   Cv=(1-Ct)Cf      Cv=Ct
                                   +AtCt          +CtCc
        4           Av=AtAf        Av=Af        Av=AtAf        Av=At
  ----------------------------------------------------------------------




























       GL_TEXTURE_ENV_MODE    defaults    to    GL_MODULATE   and
       GL_TEXTURE_ENV_COLOR defaults to (0, 0, 0, 0).


NOTES

       GL_REPLACE may only be used if the GL version  is  1.1  or
       greater.

       Internal formats other than 1, 2, 3, or 4 may only be used
       if the GL version is 1.1 or greater.

       When  the  GL_ARB_multitexture  extension  is   supported,
       glTexEnv  controls the texture environment for the current
       active  texture  unit,  selected  by   glActiveTextureARB.
       GL_INVALID_ENUM  is  generated  when _param1 or _param2 is
       not one of the accepted defined values,  or  when  _param3
       should  have  a defined constant value (based on the value
       of _param2) and does not.

       GL_INVALID_OPERATION is generated if glTexEnv is  executed
       between  the  execution  of  glBegin and the corresponding
       execution of glEnd.


ASSOCIATED GETS

       glGetTexEnv


SEE ALSO

       glActiveTextureARB,    glCopyPixels,     glCopyTexImage1D,
       glCopyTexImage2D,                     glCopyTexSubImage1D,
       glCopyTexSubImage2D,  glCopyTexSubImage3D,   glTexImage1D,
       glTexImage2D,         glTexImage3D,        glTexParameter,
       glTexSubImage1D, glTexSubImage2D, glTexSubImage3D




                                                                1