DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

glTexEnvf(3)





NAME

       glTexEnvf,  glTexEnvi, glTexEnvfv, glTexEnviv - set texture environment
       parameters


C SPECIFICATION

       void glTexEnvf( GLenum target,
                       GLenum pname,
                       GLfloat param )
       void glTexEnvi( GLenum target,
                       GLenum pname,
                       GLint param )

       delim $$


PARAMETERS

       target  Specifies a texture environment.  Must be GL_TEXTURE_ENV.

       pname   Specifies the symbolic name of a single-valued texture environ-
               ment parameter.  Must be GL_TEXTURE_ENV_MODE.

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


C SPECIFICATION

       void glTexEnvfv( GLenum target,
                        GLenum pname,
                        const GLfloat *params )
       void glTexEnviv( GLenum target,
                        GLenum pname,
                        const GLint *params )


PARAMETERS

       target Specifies a texture environment.  Must be GL_TEXTURE_ENV.

       pname  Specifies the symbolic name of a texture environment  parameter.
              Accepted       values      are      GL_TEXTURE_ENV_MODE      and
              GL_TEXTURE_ENV_COLOR.

       params Specifies a pointer to a parameter array that contains either  a
              single symbolic constant or an RGBA color.


DESCRIPTION

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

       If pname is GL_TEXTURE_ENV_MODE, then params is (or points to) the sym-
       bolic name of a texture function.  Four texture functions may be speci-
       fied: GL_MODULATE, GL_DECAL, GL_BLEND, and GL_REPLACE.

       A  texture  function acts on the fragment to be textured using the tex-
       ture 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 frag-
       ment, the subscript $t$ to the texture image, the subscript $c$ to  the
       texture environment color, and subscript $v$ indicates a value produced
       by the texture function.

       A texture image can have up to four components per texture element (see
       glTexImage1D,   glTexImage2D,   glTexImage3D,   glCopyTexImage1D,   and
       glCopyTexImage2D).  In a one-component image, $L sub t$ indicates  that
       single  component.  A two-component image uses $L sub t$ and $A sub t$.
       A three-component image has only a color value, $C sub t$.  A four-com-
       ponent image has both a color value $C sub t$ and an alpha value $A sub
       t$.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Base internal Texture functions

                         GL_MODULATE                           GL_DECAL                                 GL_BLEND                       GL_REPLACE
--------------------------------------------------------------------------------------------------------------------------------------------------------
  GL_ALPHA          $C sub v ~=~ C sub f$                     undefined                          $C sub v ~=~  C sub f$           $C sub v ~=~ C sub f$
                $A sub v ~=~ A sub f A sub t$                                                    $A sub v ~=~ A sub f$            $A sub v ~=~ A sub t$
--------------------------------------------------------------------------------------------------------------------------------------------------------

GL_LUMINANCE $C sub v ~=~ L sub t C sub f$ undefined $C sub v ~=~ ( 1 - L sub t ) C sub f$ $C sub v ~=~ L sub t$

                                                                                                  $+ L sub t C sub c$
      1             $A sub v ~=~ A sub f$                                                         $A sub v ~=~ A sub f$           $A sub v ~=~ A sub f$
--------------------------------------------------------------------------------------------------------------------------------------------------------

GL_LUMINANCE $C sub v ~=~ L sub t C sub f$ undefined $C sub v ~=~ ( 1 - L sub t ) C sub f $ $C sub v ~=~ L sub t$

  \f3_ALPHA                                                                                        $+ L sub t C sub c$
      2         $A sub v ~=~ A sub t A sub f$                                                $A sub v ~=~ A sub t A sub f$        $A sub v ~=~ A sub t$
--------------------------------------------------------------------------------------------------------------------------------------------------------

GL_INTENSITY $C sub v ~=~ C sub f I sub t$ undefined $C sub v ~=~ ( 1 - I sub t ) C sub f$ $C sub v ~=~ I sub t$

                                                                                                  $+ I sub t C sub c$
     c          $A sub v ~=~ A sub f I sub t$                                            $A sub v ~=~ ( 1 - I sub t ) A sub f $   $A sub v ~=~ I sub t$
                                                                                                  $+ I sub t A sub c$
--------------------------------------------------------------------------------------------------------------------------------------------------------
   GL_RGB       $C sub v ~=~ C sub t C sub f$           $C sub v ~=~ C sub t$             $C sub v ~=~ (1 - C sub t) C sub f $    $C sub v ~=~ C sub t$
                                                                                                   $+ C sub t C sub c$
      3             $A sub v ~=~ A sub f$               $A sub v ~=~ A sub f$                    $A sub v ~=~ A sub f$            $A sub v ~=~ A sub f$
--------------------------------------------------------------------------------------------------------------------------------------------------------
   GL_RGBA      $C sub v ~=~ C sub t C sub f$   $C sub v ~=~ ( 1 - A sub t ) C sub f $    $C sub v ~=~ (1 - C sub t) C sub f $    $C sub v ~=~ C sub t$
                                                         $+ A sub t C sub t$                       $+ C sub t C sub c$
      4         $A sub v ~=~ A sub t A sub f$           $A sub v ~=~ A sub f$                $A sub v ~=~ A sub t A sub f$        $A sub v ~=~ A sub t$
--------------------------------------------------------------------------------------------------------------------------------------------------------

       If pname is GL_TEXTURE_ENV_COLOR, params is a pointer to an array  that
       holds  an  RGBA  color consisting of four values.  Integer color compo-
       nents are interpreted linearly such that the most positive integer maps
       to  1.0,  and  the  most negative integer maps to -1.0.  The values are
       clamped to the range [0,1] when they are specified.  $C  sub  c$  takes
       these four values.

       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 target or
       pname is not one of the accepted defined values, or when params  should
       have  a  defined  constant value (based on the value of pname) 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(3G),     glCopyPixels(3G),     glCopyTexImage1D(3G),
       glCopyTexImage2D(3G), glCopyTexSubImage1D(3G), glCopyTexSubImage2D(3G),
       glCopyTexSubImage3D(3G),       glTexImage1D(3G),      glTexImage2D(3G),
       glTexImage3D(3G),       glTexParameter(3G),        glTexSubImage1D(3G),
       glTexSubImage2D(3G), glTexSubImage3D(3G)

                                                                  GLTEXENV(3G)

Man(1) output converted with man2html