glTexEnv.3gl




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,
	  or GL_BLEND.

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 an array of parameters: 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.  Three texture functions are defined:
  GL_MODULATE, GL_DECAL, and GL_BLEND

  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 and glTexImage2D).  In a	one-component image, L	indicates
                                                              t
  that single component.  A two-component image	uses L	and A .	 A three-
                                                      t      t
  component image has only a color value, C .  A four-component	image has
                                           t
  both a color value C	and an alpha value A .
		      t			    t

       ----------------------------------------------------------------
       | number of ||		 texture functions		       |
       |components || GL_MODULATE      GL_DECAL           GL_BLEND     |
       ----------------------------------------------------------------
       |     	   ||  C =L C	 |		    | C	=(1-L )C +L C  |
       |    1	   ||	v  t f	 |    undefined	    |  v     t	f  t c |
       |           ||  A =A      |                  | A =A             |
       |           ||   v  f     |                  |  v  f            |
       |-----------||------------|------------------|------------------|
       |     	   ||  C =L C 	 |             	    | C =(1-L )C +L C  |
       |    2	   ||	v  t f	 |    undefined	    |  v     t	f  t c |
       |           ||  A =A A    |                  | A =A A           |
       |	   ||	v  t f	 |             	    |  v  t f          |
       |-----------||------------|------------------|------------------|
       |	   ||  C =C C	 |	C =C	    |		       |
       |    3	   ||	v  t f	 |	 v  t	    |	 undefined     |
       |           ||  A =A      |      A =A        |                  |
       |           ||   v  f     |       v  f       |                  |
       |-----------||------------|------------------|------------------|
       |           ||  C =C C    | C =(1-A )C +A C  |                  |
       |    4	   ||   v  t f	 |  v     t  f  t t |	 undefined     |
       |           ||  A =A A    |      A =A        |                  |
       |           ||   v  t f   |       v  f       |                  |
       ----------------------------------------------------------------

  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	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.	C  takes these four values.
					 c
  GL_TEXTURE_ENV_MODE defaults to GL_MODULATE and GL_TEXTURE_ENV_COLOR
  defaults to (0,0,0,0).

Errors

  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

  glTexImage1D,	glTexImage2D, glTexParameter

Introduction | Alphabetic | Specification

Last Edited: Tue, May 23, 1995

AFV