<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
<html
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:mml="http://www.w3.org/1998/Math/MathML"
><head><title>glTexEnv</title><link rel="stylesheet" href="style.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.59.1"/><link rel="home" href="index.xml" title="PyOpenGL 2.0.1.07 Man Pages"/><link rel="up" href="reference-GL.xml" title="GL"/><link rel="previous" href="glTexCoordPointer.3G.xml" title="glTexCoordPointer"/><link rel="next" href="glTexGen.3G.xml" title="glTexGen"/></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">glTexEnv</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="glTexCoordPointer.3G.xml">Prev</a> </td><th width="60%" align="center">GL</th><td width="20%" align="right"> <a accesskey="n" href="glTexGen.3G.xml">Next</a></td></tr></table><hr/></div><div class="refentry" lang="en"><a name="glTexEnv.3G"/><div class="titlepage"/><div class="refnamediv"><a name="glTexEnv.3G-name"/><h2>Name</h2><p>glTexEnvf, glTexEnvi, glTexEnvfv, glTexEnviv &#8212; set texture environment parameters</p></div><div class="refsynopsisdiv"><a name="glTexEnv.3G-c_spec"/><h2>C Specification</h2><table class="funcprototype" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><code>void <tt>glTexEnvf</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code>GLenum <i><tt>target</tt></i>, GLenum <i><tt>pname</tt></i>, GLfloat <i><tt>param</tt></i>);</code></td></tr><tr><td valign="top"><code>void <tt>glTexEnvi</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code>GLenum <i><tt>target</tt></i>, GLenum <i><tt>pname</tt></i>, GLint <i><tt>param</tt></i>);</code></td></tr></table></div><div class="refsynopsisdiv"><a name="glTexEnv.3G-python_spec"/><h2>Python Specification</h2><table class="funcprototype" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><code><tt>glTexEnvf</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code><i><tt>target</tt></i>, <i><tt>pname</tt></i>, <i><tt>param</tt></i>) &#8594; <tt>None</tt></code></td></tr><tr><td valign="top"><code><tt>glTexEnvi</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code><i><tt>target</tt></i>, <i><tt>pname</tt></i>, <i><tt>param</tt></i>) &#8594; <tt>None</tt></code></td></tr></table></div><div class="refsect1" lang="en"><a name="glTexEnv.3G-parameters"/><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><i><tt>target</tt></i></span></dt><dd>
						Specifies a texture environment. Must be <tt>GL_TEXTURE_ENV</tt>.
					</dd><dt><span class="term"><i><tt>pname</tt></i></span></dt><dd>
						Specifies the symbolic name of a single-valued texture environment parameter. Must be
						<tt>GL_TEXTURE_ENV_MODE</tt>.
					</dd><dt><span class="term"><i><tt>param</tt></i></span></dt><dd>
						Specifies a single symbolic constant, one of <tt>GL_MODULATE</tt>,
						<tt>GL_DECAL</tt>, <tt>GL_BLEND</tt>, or <tt>GL_REPLACE</tt>.
					</dd></dl></div></div><div class="refsynopsisdiv"><a name="glTexEnv.3G-c_spec-v"/><h2>C Specification</h2><table class="funcprototype" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><code>void <tt>glTexEnvfv</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code>GLenum <i><tt>target</tt></i>, GLenum <i><tt>pname</tt></i>, const GLfloat *<i><tt>params</tt></i>);</code></td></tr><tr><td valign="top"><code>void <tt>glTexEnviv</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code>GLenum <i><tt>target</tt></i>, GLenum <i><tt>pname</tt></i>, const GLint *<i><tt>params</tt></i>);</code></td></tr></table></div><div class="refsynopsisdiv"><a name="glTexEnv.3G-python_spec-v"/><h2>Python Specification</h2><table class="funcprototype" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><code><tt>glTexEnvfv</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code><i><tt>target</tt></i>, <i><tt>pname</tt></i>, <i><tt>params</tt></i>) &#8594; <tt>None</tt></code></td></tr><tr><td valign="top"><code><tt>glTexEnviv</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code><i><tt>target</tt></i>, <i><tt>pname</tt></i>, <i><tt>params</tt></i>) &#8594; <tt>None</tt></code></td></tr></table></div><div class="refsect1" lang="en"><a name="glTexEnv.3G-parameters-v"/><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><i><tt>target</tt></i></span></dt><dd>
						Specifies a texture environment. Must be <tt>GL_TEXTURE_ENV</tt>.
					</dd><dt><span class="term"><i><tt>pname</tt></i></span></dt><dd>
						Specifies the symbolic name of a texture environment parameter. Accepted values are
						<tt>GL_TEXTURE_ENV_MODE</tt> and <tt>GL_TEXTURE_ENV_COLOR</tt>.
					</dd><dt><span class="term"><i><tt>params</tt></i></span></dt><dd>
						Specifies a pointer to a parameter array that contains either a single symbolic constant or an RGBA color.
					</dd></dl></div></div><div class="refsect1" lang="en"><a name="glTexEnv.3G-description"/><h2>Description</h2><p>
			A texture environment specifies how texture values are interpreted when a fragment is textured.
			<i><tt>target</tt></i> must be <tt>GL_TEXTURE_ENV</tt>. <i><tt>pname</tt></i> can be either
			<tt>GL_TEXTURE_ENV_MODE</tt> or <tt>GL_TEXTURE_ENV_COLOR</tt>.
		</p><p>
			If <i><tt>pname</tt></i> is <tt>GL_TEXTURE_ENV_MODE</tt>, then <i><tt>params</tt></i> is (or
			points to) the symbolic name of a texture function. Four texture functions may be specified:
			<tt>GL_MODULATE</tt>, <tt>GL_DECAL</tt>, <tt>GL_BLEND</tt>, and
			<tt>GL_REPLACE</tt>.
		</p><p>
			A texture function acts on the fragment to be textured using the texture image value that applies to the fragment (see
			<a href="glTexParameter.3G.xml">glTexParameter</a>) 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. <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:mi>C</mml:mi>
				</mml:math> is a triple of color values (RGB) and <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:mi>A</mml:mi>
				</mml:math> is the associated alpha value. RGBA values extracted from a texture image are in the range [0,1]. The
			subscript <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:mi>f</mml:mi>
				</mml:math> refers to the incoming fragment, the subscript <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:mi>t</mml:mi>
				</mml:math> to the texture image, the subscript <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:mi>c</mml:mi>
				</mml:math> to the texture environment color, and subscript <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:mi>v</mml:mi>
				</mml:math> indicates a value produced by the texture function.
		</p><p>
			A texture image can have up to four components per texture element (see <a href="glTexImage1D.3G.xml">glTexImage1D</a>, <a href="glTexImage2D.3G.xml"><tt>glTexImage2D</tt></a>, <a href="glTexImage3D.3G.xml"><tt>glTexImage3D</tt></a>, <a href="glCopyTexImage1D.3G.xml"><tt>glCopyTexImage1D</tt></a>, and <a href="glCopyTexImage2D.3G.xml"><tt>glCopyTexImage2D</tt></a>). In a one-component image, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:msub>
						<mml:mi>L</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
				</mml:math> indicates that single component. A two-component image uses <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:msub>
						<mml:mi>L</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
				</mml:math> and <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:msub>
						<mml:mi>A</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
				</mml:math>. A three-component image has only a color value, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:msub>
						<mml:mi>C</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
				</mml:math>. A four-component image has both a color value <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:msub>
						<mml:mi>C</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
				</mml:math> and an alpha value <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:msub>
						<mml:mi>A</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
				</mml:math>.
		</p><div class="informaltable"><table border="1"><colgroup><col/><col/><col/><col/><col/></colgroup><tbody><tr><td align="center"><span class="bold"><b>Base internal</b></span></td><td colspan="4" align="center"><span class="bold"><b>Texture functions</b></span></td></tr><tr><td align="center"> </td><td align="center"><tt>GL_MODULATE</tt></td><td align="center"><tt>GL_DECAL</tt></td><td align="center"><tt>GL_BLEND</tt></td><td align="center"><tt>GL_REPLACE</tt></td></tr><tr><td rowspan="2" align="center"><tt>GL_ALPHA</tt></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td rowspan="2" align="center">undefined</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"><tt>GL_LUMINANCE</tt></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>L</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center">undefined</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:mo>(</mml:mo>
									<mml:mn>1</mml:mn>
									<mml:mo>-</mml:mo>
									<mml:msub>
										<mml:mi>L</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:mo>)</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>L</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"> </td><td align="center"> </td><td rowspan="2" align="center"> </td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:mo>+</mml:mo>
									<mml:msub>
										<mml:mi>L</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>c</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"> </td></tr><tr><td align="center">1</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"><tt>GL_LUMINANCE</tt></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>L</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center">undefined</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:mo>(</mml:mo>
									<mml:mn>1</mml:mn>
									<mml:mo>-</mml:mo>
									<mml:msub>
										<mml:mi>L</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:mo>)</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>L</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"><span class="bold"><b>_ALPHA</b></span></td><td align="center"> </td><td rowspan="2" align="center"> </td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:mo>+</mml:mo>
									<mml:msub>
										<mml:mi>L</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>c</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"> </td></tr><tr><td align="center">2</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"><tt>GL_INTENSITY</tt></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>I</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center">undefined</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:mo>(</mml:mo>
									<mml:mn>1</mml:mn>
									<mml:mo>-</mml:mo>
									<mml:msub>
										<mml:mi>I</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:mo>)</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>I</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"> </td><td align="center"> </td><td rowspan="2" align="center"> </td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:mo>+</mml:mo>
									<mml:msub>
										<mml:mi>I</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>c</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"> </td></tr><tr><td align="center">c&#8194;</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>I</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:mo>(</mml:mo>
									<mml:mn>1</mml:mn>
									<mml:mo>-</mml:mo>
									<mml:msub>
										<mml:mi>I</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:mo>)</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>I</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:mo>+</mml:mo>
									<mml:msub>
										<mml:mi>I</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>c</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"> </td></tr><tr><td align="center"><tt>GL_RGB</tt></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:mo>(</mml:mo>
									<mml:mn>1</mml:mn>
									<mml:mo>-</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mrow>
											<mml:mi>t</mml:mi>
											<mml:mo>)</mml:mo>
										</mml:mrow>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:mo>+</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>c</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"> </td></tr><tr><td align="center">3</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"><tt>GL_RGBA</tt></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:mo>(</mml:mo>
									<mml:mn>1</mml:mn>
									<mml:mo>-</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:mo>)</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:mo>(</mml:mo>
									<mml:mn>1</mml:mn>
									<mml:mo>-</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mrow>
											<mml:mi>t</mml:mi>
											<mml:mo>)</mml:mo>
										</mml:mrow>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:mo>+</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:mo>+</mml:mo>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>C</mml:mi>
										<mml:mi>c</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"> </td></tr><tr><td align="center">4</td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>f</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td><td align="center"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
								<mml:mrow>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>v</mml:mi>
									</mml:msub>
									<mml:mo>=</mml:mo>
									<mml:msub>
										<mml:mi>A</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
								</mml:mrow>
							</mml:math></td></tr></tbody></table></div><p>
			If <i><tt>pname</tt></i> is <tt>GL_TEXTURE_ENV_COLOR</tt>, <i><tt>params</tt></i> 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. <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:msub>
						<mml:mi>C</mml:mi>
						<mml:mi>c</mml:mi>
					</mml:msub>
				</mml:math> takes these four values.
		</p><p>
			<tt>GL_TEXTURE_ENV_MODE</tt> defaults to <tt>GL_MODULATE</tt> and
			<tt>GL_TEXTURE_ENV_COLOR</tt> defaults to (0, 0, 0, 0).
		</p></div><div class="refsect1" lang="en"><a name="glTexEnv.3G-notes"/><h2>Notes</h2><p>
			<tt>GL_REPLACE</tt> may only be used if the GL version is 1.1 or greater.
		</p><p>
			Internal formats other than 1, 2, 3, or 4 may only be used if the GL version is 1.1 or greater.
		</p><p>
			When the <tt>GL_ARB_multitexture</tt> extension is supported, <tt>glTexEnv</tt> controls the texture environment for the current active texture unit, selected
			by <a href="glActiveTextureARB.3G.xml"><tt>glActiveTextureARB</tt></a>.
		</p></div><div class="refsect1" lang="en"><a name="glTexEnv.3G-errors"/><h2>Errors</h2><p>
			<tt>GL_INVALID_ENUM</tt> is generated when <i><tt>target</tt></i> or <i><tt>pname</tt></i> is
			not one of the accepted defined values, or when <i><tt>params</tt></i> should have a defined constant value
			(based on the value of <i><tt>pname</tt></i>) and does not.
		</p><p>
			<tt>GL_INVALID_OPERATION</tt> is generated if <tt>glTexEnv</tt> is executed
			between the execution of <a href="glBegin.3G.xml"><tt>glBegin</tt></a> and the corresponding execution of <a href="glBegin.3G.xml"><tt>glEnd</tt></a>.
		</p></div><div class="refsect1" lang="en"><a name="glTexEnv.3G-associated_gets"/><h2>Associated Gets</h2><p>
			<tt>glGetTexEnv</tt>
		</p></div><div class="refsect1" lang="en"><a name="glTexEnv.3G-see_also"/><h2>See Also</h2><p>
			<span class="simplelist"><a href="glActiveTextureARB.3G.xml">glActiveTextureARB</a>, <a href="glCopyPixels.3G.xml">glCopyPixels</a>, <a href="glCopyTexImage1D.3G.xml">glCopyTexImage1D</a>, <a href="glCopyTexImage2D.3G.xml">glCopyTexImage2D</a>, <a href="glCopyTexSubImage1D.3G.xml">glCopyTexSubImage1D</a>, <a href="glCopyTexSubImage2D.3G.xml">glCopyTexSubImage2D</a>, <a href="glCopyTexSubImage3D.3G.xml">glCopyTexSubImage3D</a>, <a href="glTexImage1D.3G.xml">glTexImage1D</a>, <a href="glTexImage2D.3G.xml">glTexImage2D</a>, <a href="glTexImage3D.3G.xml">glTexImage3D</a>, <a href="glTexParameter.3G.xml">glTexParameter</a>, <a href="glTexSubImage1D.3G.xml">glTexSubImage1D</a>, <a href="glTexSubImage2D.3G.xml">glTexSubImage2D</a>, <a href="glTexSubImage3D.3G.xml">glTexSubImage3D</a></span>
		</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="glTexCoordPointer.3G.xml">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="reference-GL.xml">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="glTexGen.3G.xml">Next</a></td></tr><tr><td width="40%" align="left" valign="top">glTexCoordPointer </td><td width="20%" align="center"><a accesskey="h" href="index.xml">Home</a></td><td width="40%" align="right" valign="top"> glTexGen</td></tr></table></div></body></html>
