


GLTEXENV(3G)					     GLTEXENV(3G)


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 )


PARAMETERS
       target  Specifies  a   texture	environment.	Must   be
	       GL_TEXTURE_ENV.

       pname   Specifies  the  symbolic	 name  of a single-valued
	       texture	 environment	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 environ
	      ment    parameter.      Accepted	   values     are
	      GL_TEXTURE_ENV_MODE and GL_TEXTURE_ENV_COLOR.

       params 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.	 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 symbolic name of a texture function.  Four texture



								1





GLTEXENV(3G)					     GLTEXENV(3G)


       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
       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-compo
       nent  image,  Lt	 indicates that single component.  A two-
       component image uses Lt and At.	A  three-component  image
       has  only  a  color value, Ct.  A four-component image has
       both a color value Ct and an alpha value At.

 ------------------------------------------------------------------------
     Base internal		     Texture functions
			  GL_MODULATE	GL_DECAL   GL_BLEND   GL_REPLACE
 ------------------------------------------------------------------------
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
 ------------------------------------------------------------------------





								2





GLTEXENV(3G)					     GLTEXENV(3G)


       If pname is GL_TEXTURE_ENV_COLOR, params is a  pointer  to
       an  array that holds an RGBA color consisting of four val
       ues.  Integer color components  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.  Cc
       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)
















								3


