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