include more low-level bindings
[clinton/guile-figl.git] / upstream-man-pages / man2 / xhtml / glTexEnv.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
3 <!-- saved from url=(0013)about:internet -->
4 <?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="mathplayer-dl"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>glTexEnv</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div class="refentry" title="glTexEnv"><a id="glTexEnv"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glTexEnv — set texture environment parameters</p></div><div class="refsynopsisdiv" title="C Specification"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <b class="fsfunc">glTexEnvf</b>(</code></td><td>GLenum <var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLenum <var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLfloat <var class="pdparam">param</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div><p></p><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <b class="fsfunc">glTexEnvi</b>(</code></td><td>GLenum <var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLenum <var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLint <var class="pdparam">param</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1" title="Parameters"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>target</code></em></span></dt><dd><p>
5 Specifies a texture environment.
6 May be <code class="constant">GL_TEXTURE_ENV</code>, <code class="constant">GL_TEXTURE_FILTER_CONTROL</code> or <code class="constant">GL_POINT_SPRITE</code>.
7 </p></dd><dt><span class="term"><em class="parameter"><code>pname</code></em></span></dt><dd><p>
8 Specifies the symbolic name of a single-valued texture environment parameter.
9 May be either <code class="constant">GL_TEXTURE_ENV_MODE</code>, <code class="constant">GL_TEXTURE_LOD_BIAS</code>,
10 <code class="constant">GL_COMBINE_RGB</code>,
11 <code class="constant">GL_COMBINE_ALPHA</code>,
12 <code class="constant">GL_SRC0_RGB</code>,
13 <code class="constant">GL_SRC1_RGB</code>,
14 <code class="constant">GL_SRC2_RGB</code>,
15 <code class="constant">GL_SRC0_ALPHA</code>,
16 <code class="constant">GL_SRC1_ALPHA</code>,
17 <code class="constant">GL_SRC2_ALPHA</code>,
18 <code class="constant">GL_OPERAND0_RGB</code>,
19 <code class="constant">GL_OPERAND1_RGB</code>,
20 <code class="constant">GL_OPERAND2_RGB</code>,
21 <code class="constant">GL_OPERAND0_ALPHA</code>,
22 <code class="constant">GL_OPERAND1_ALPHA</code>,
23 <code class="constant">GL_OPERAND2_ALPHA</code>,
24 <code class="constant">GL_RGB_SCALE</code>,
25 <code class="constant">GL_ALPHA_SCALE</code>, or
26 <code class="constant">GL_COORD_REPLACE</code>.
27 </p></dd><dt><span class="term"><em class="parameter"><code>param</code></em></span></dt><dd><p>
28 Specifies a single symbolic constant, one of <code class="constant">GL_ADD</code>,
29 <code class="constant">GL_ADD_SIGNED</code>, <code class="constant">GL_INTERPOLATE</code>, <code class="constant">GL_MODULATE</code>, <code class="constant">GL_DECAL</code>,
30 <code class="constant">GL_BLEND</code>, <code class="constant">GL_REPLACE</code>, <code class="constant">GL_SUBTRACT</code>, <code class="constant">GL_COMBINE</code>,
31 <code class="constant">GL_TEXTURE</code>, <code class="constant">GL_CONSTANT</code>, <code class="constant">GL_PRIMARY_COLOR</code>, <code class="constant">GL_PREVIOUS</code>,
32 <code class="constant">GL_SRC_COLOR</code>, <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>, <code class="constant">GL_SRC_ALPHA</code>,
33 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>,
34 a single boolean value for the point sprite texture coordinate replacement,
35 a single floating-point value for the texture level-of-detail bias,
36 or 1.0, 2.0, or 4.0 when specifying the <code class="constant">GL_RGB_SCALE</code> or <code class="constant">GL_ALPHA_SCALE</code>.
37 </p></dd></dl></div></div><div class="refsynopsisdiv" title="C Specification"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <b class="fsfunc">glTexEnvfv</b>(</code></td><td>GLenum <var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLenum <var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>const GLfloat * <var class="pdparam">params</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <b class="fsfunc">glTexEnviv</b>(</code></td><td>GLenum <var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLenum <var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>const GLint * <var class="pdparam">params</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1" title="Parameters"><a id="parameters2"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>target</code></em></span></dt><dd><p>
38 Specifies a texture environment.
39 May be either <code class="constant">GL_TEXTURE_ENV</code>, or <code class="constant">GL_TEXTURE_FILTER_CONTROL</code>.
40 </p></dd><dt><span class="term"><em class="parameter"><code>pname</code></em></span></dt><dd><p>
41 Specifies the symbolic name of a texture environment parameter.
42 Accepted values are <code class="constant">GL_TEXTURE_ENV_MODE</code>, <code class="constant">GL_TEXTURE_ENV_COLOR</code>, or
43 <code class="constant">GL_TEXTURE_LOD_BIAS</code>.
44 </p></dd><dt><span class="term"><em class="parameter"><code>params</code></em></span></dt><dd><p>
45 Specifies a pointer to a parameter array that contains
46 either a single symbolic constant, single floating-point number, or an RGBA
47 color.
48 </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="description"></a><h2>Description</h2><p>
49 A texture environment specifies how texture values are interpreted when a
50 fragment is textured. When <em class="parameter"><code>target</code></em> is <code class="constant">GL_TEXTURE_FILTER_CONTROL</code>,
51 <em class="parameter"><code>pname</code></em> must be <code class="constant">GL_TEXTURE_LOD_BIAS</code>. When <em class="parameter"><code>target</code></em> is
52 <code class="constant">GL_TEXTURE_ENV</code>, <em class="parameter"><code>pname</code></em> can be <code class="constant">GL_TEXTURE_ENV_MODE</code>,
53 <code class="constant">GL_TEXTURE_ENV_COLOR</code>, <code class="constant">GL_COMBINE_RGB</code>, <code class="constant">GL_COMBINE_ALPHA</code>,
54 <code class="constant">GL_RGB_SCALE</code>, <code class="constant">GL_ALPHA_SCALE</code>,
55 <code class="constant">GL_SRC0_RGB</code>, <code class="constant">GL_SRC1_RGB</code>, <code class="constant">GL_SRC2_RGB</code>,
56 <code class="constant">GL_SRC0_ALPHA</code>, <code class="constant">GL_SRC1_ALPHA</code>, or <code class="constant">GL_SRC2_ALPHA</code>.
57 </p><p>
58 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_ENV_MODE</code>,
59 then <em class="parameter"><code>params</code></em> is (or points to) the symbolic name of a texture function.
60 Six texture functions may be specified:
61 <code class="constant">GL_ADD</code>,
62 <code class="constant">GL_MODULATE</code>,
63 <code class="constant">GL_DECAL</code>,
64 <code class="constant">GL_BLEND</code>,
65 <code class="constant">GL_REPLACE</code>, or
66 <code class="constant">GL_COMBINE</code>.
67 </p><p>
68 The following table shows the correspondence of filtered texture
69 values
70 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">R</mml:mi>
71 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
72 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">G</mml:mi>
73 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
74 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">B</mml:mi>
75 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
76 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">A</mml:mi>
77 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
78 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">L</mml:mi>
79 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
80 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">I</mml:mi>
81 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
82 to texture source components.
83 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">C</mml:mi>
84 <mml:mi mathvariant="italic">s</mml:mi></mml:msub></mml:math>
85 and
86 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">A</mml:mi>
87 <mml:mi mathvariant="italic">s</mml:mi></mml:msub></mml:math>
88 are used by the texture functions described below.
89 </p><p>
90 </p><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="left" /><col /></colgroup><thead><tr><th align="left">
91 Texture Base Internal Format
92 </th><th align="center">
93 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="bold-italic">C</mml:mi>
94 <mml:mi mathvariant="italic">s</mml:mi></mml:msub></mml:math>
95 </th><th align="center">
96 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi>
97 <mml:mi mathvariant="italic">s</mml:mi></mml:msub></mml:math>
98 </th></tr></thead><tbody><tr><td align="left">
99 <code class="constant">GL_ALPHA</code>
100 </td><td align="left">
101 (0, 0, 0)
102 </td><td align="left">
103 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">A</mml:mi>
104 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
105 </td></tr><tr><td align="left">
106 <code class="constant">GL_LUMINANCE</code>
107 </td><td align="left">
108 (
109 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">L</mml:mi>
110 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
111 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">L</mml:mi>
112 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
113 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">L</mml:mi>
114 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
115 )
116 </td><td align="left">
117 1
118 </td></tr><tr><td align="left">
119 <code class="constant">GL_LUMINANCE_ALPHA</code>
120 </td><td align="left">
121 (
122 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">L</mml:mi>
123 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
124 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">L</mml:mi>
125 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
126 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">L</mml:mi>
127 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
128 )
129 </td><td align="left">
130 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">A</mml:mi>
131 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
132 </td></tr><tr><td align="left">
133 <code class="constant">GL_INTENSITY</code>
134 </td><td align="left">
135 (
136 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">I</mml:mi>
137 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
138 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">I</mml:mi>
139 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
140 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">I</mml:mi>
141 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
142 )
143 </td><td align="left">
144 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">I</mml:mi>
145 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
146 </td></tr><tr><td align="left">
147 <code class="constant">GL_RGB</code>
148 </td><td align="left">
149 (
150 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">R</mml:mi>
151 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
152 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">G</mml:mi>
153 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
154 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">B</mml:mi>
155 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
156 )
157 </td><td align="left">
158 1
159 </td></tr><tr><td align="left">
160 <code class="constant">GL_RGBA</code>
161 </td><td align="left">
162 (
163 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">R</mml:mi>
164 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
165 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">G</mml:mi>
166 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>,
167 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">B</mml:mi>
168 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
169 )
170 </td><td align="left">
171 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msub><mml:mi mathvariant="italic">A</mml:mi>
172 <mml:mi mathvariant="italic">t</mml:mi></mml:msub></mml:math>
173 </td></tr></tbody></table></div><p>
174 A texture function acts on the fragment to be textured using
175 the texture image value that applies to the fragment
176 (see <a class="citerefentry" href="glTexParameter.xml"><span class="citerefentry"><span class="refentrytitle">glTexParameter</span></span></a>)
177 and produces an RGBA color for that fragment.
178 The following table shows how the RGBA color is produced for each
179 of the first five texture functions that can be chosen.
180 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">C</mml:mi></mml:math>
181 is a triple of color values (RGB) and
182 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">A</mml:mi></mml:math>
183 is the associated alpha value.
184 RGBA values extracted from a texture image are in the range [0,1].
185 The subscript
186 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">p</mml:mi></mml:math>
187 refers to the color computed from the previous texture stage (or the incoming fragment if processing texture stage 0),
188 the subscript
189 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">s</mml:mi></mml:math>
190 to the texture source color,
191 the subscript
192 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">c</mml:mi></mml:math>
193 to the texture environment color,
194 and the subscript
195 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">v</mml:mi></mml:math>
196 indicates a value produced by the texture function.
197 </p><p>
198 </p><div class="informaltable"><table width="100%" border="1"><colgroup><col align="center" /><col align="center" /><col align="center" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="center">
199 Texture Base Internal Format
200 </th><th align="center">
201 <code class="constant">Value</code>
202 </th><th align="center">
203 <code class="constant">GL_REPLACE</code> Function
204 </th><th align="center">
205 <code class="constant">GL_MODULATE</code> Function
206 </th><th align="center">
207 <code class="constant">GL_DECAL</code> Function
208 </th><th align="center">
209 <code class="constant">GL_BLEND</code> Function
210 </th><th align="center">
211 <code class="constant">GL_ADD</code> Function
212 </th></tr></thead><tbody><tr><td align="center">
213 <code class="constant">GL_ALPHA</code>
214 </td><td align="center">
215 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
216
217 <mml:mrow>
218 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
219 <mml:mi mathvariant="italic">v</mml:mi>
220 </mml:msub>
221 <mml:mo>=</mml:mo>
222 </mml:mrow>
223 </mml:math>
224 </td><td align="center">
225 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
226
227 <mml:mrow>
228 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
229 <mml:mi mathvariant="italic">p</mml:mi>
230 </mml:msub>
231 </mml:mrow>
232 </mml:math>
233 </td><td align="center">
234 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
235
236 <mml:mrow>
237 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
238 <mml:mi mathvariant="italic">p</mml:mi>
239 </mml:msub>
240 </mml:mrow>
241 </mml:math>
242 </td><td align="center">
243 undefined
244 </td><td align="center">
245 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
246
247 <mml:mrow>
248 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
249 <mml:mi mathvariant="italic">p</mml:mi>
250 </mml:msub>
251 </mml:mrow>
252 </mml:math>
253 </td><td align="center">
254 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
255
256 <mml:mrow>
257 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
258 <mml:mi mathvariant="italic">p</mml:mi>
259 </mml:msub>
260 </mml:mrow>
261 </mml:math>
262 </td></tr><tr><td align="center">
263 </td><td align="center">
264 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
265
266 <mml:mrow>
267 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
268 <mml:mi mathvariant="italic">v</mml:mi>
269 </mml:msub>
270 <mml:mo>=</mml:mo>
271 </mml:mrow>
272 </mml:math>
273 </td><td align="center">
274 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
275
276 <mml:mrow>
277 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
278 <mml:mi mathvariant="italic">s</mml:mi>
279 </mml:msub>
280 </mml:mrow>
281 </mml:math>
282 </td><td align="center">
283 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
284
285 <mml:mrow>
286 <mml:mrow>
287 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
288 <mml:mi mathvariant="italic">p</mml:mi>
289 </mml:msub>
290 <mml:mo></mml:mo>
291 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
292 <mml:mi mathvariant="italic">s</mml:mi>
293 </mml:msub>
294 </mml:mrow>
295 </mml:mrow>
296 </mml:math>
297 </td><td align="center">
298 </td><td align="center">
299 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
300
301 <mml:mrow>
302 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
303 <mml:mi mathvariant="italic">v</mml:mi>
304 </mml:msub>
305 <mml:mo>=</mml:mo>
306 <mml:mrow>
307 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
308 <mml:mi mathvariant="italic">p</mml:mi>
309 </mml:msub>
310 <mml:mo></mml:mo>
311 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
312 <mml:mi mathvariant="italic">s</mml:mi>
313 </mml:msub>
314 </mml:mrow>
315 </mml:mrow>
316 </mml:math>
317 </td><td align="center">
318 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
319
320 <mml:mrow>
321 <mml:mrow>
322 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
323 <mml:mi mathvariant="italic">p</mml:mi>
324 </mml:msub>
325 <mml:mo></mml:mo>
326 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
327 <mml:mi mathvariant="italic">s</mml:mi>
328 </mml:msub>
329 </mml:mrow>
330 </mml:mrow>
331 </mml:math>
332 </td></tr><tr><td align="center">
333 <code class="constant">GL_LUMINANCE</code>
334 </td><td align="center">
335 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
336
337 <mml:mrow>
338 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
339 <mml:mi mathvariant="italic">v</mml:mi>
340 </mml:msub>
341 <mml:mo>=</mml:mo>
342 </mml:mrow>
343 </mml:math>
344 </td><td align="center">
345 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
346
347 <mml:mrow>
348 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
349 <mml:mi mathvariant="italic">s</mml:mi>
350 </mml:msub>
351 </mml:mrow>
352 </mml:math>
353 </td><td align="center">
354 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
355
356 <mml:mrow>
357 <mml:mrow>
358 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
359 <mml:mi mathvariant="italic">p</mml:mi>
360 </mml:msub>
361 <mml:mo></mml:mo>
362 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
363 <mml:mi mathvariant="italic">s</mml:mi>
364 </mml:msub>
365 </mml:mrow>
366 </mml:mrow>
367 </mml:math>
368 </td><td align="center">
369 undefined
370 </td><td align="center">
371 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
372
373 <mml:mrow>
374 <mml:mrow>
375 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
376 <mml:mi mathvariant="italic">p</mml:mi>
377 </mml:msub>
378 <mml:mo></mml:mo>
379 <mml:mfenced open="(" close=")">
380 <mml:mrow>
381 <mml:mn>1</mml:mn>
382 <mml:mo>-</mml:mo>
383 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
384 <mml:mi mathvariant="italic">s</mml:mi>
385 </mml:msub>
386 </mml:mrow>
387 </mml:mfenced>
388 <mml:mo>+</mml:mo>
389 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
390 <mml:mi mathvariant="italic">c</mml:mi>
391 </mml:msub>
392 <mml:mo></mml:mo>
393 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
394 <mml:mi mathvariant="italic">s</mml:mi>
395 </mml:msub>
396 </mml:mrow>
397 </mml:mrow>
398 </mml:math>
399 </td><td align="center">
400 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
401
402 <mml:mrow>
403 <mml:mrow>
404 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
405 <mml:mi mathvariant="italic">p</mml:mi>
406 </mml:msub>
407 <mml:mo>+</mml:mo>
408 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
409 <mml:mi mathvariant="italic">s</mml:mi>
410 </mml:msub>
411 </mml:mrow>
412 </mml:mrow>
413 </mml:math>
414 </td></tr><tr><td align="center">
415 (or 1)
416 </td><td align="center">
417 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
418
419 <mml:mrow>
420 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
421 <mml:mi mathvariant="italic">v</mml:mi>
422 </mml:msub>
423 <mml:mo>=</mml:mo>
424 </mml:mrow>
425 </mml:math>
426 </td><td align="center">
427 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
428
429 <mml:mrow>
430 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
431 <mml:mi mathvariant="italic">p</mml:mi>
432 </mml:msub>
433 </mml:mrow>
434 </mml:math>
435 </td><td align="center">
436 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
437
438 <mml:mrow>
439 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
440 <mml:mi mathvariant="italic">p</mml:mi>
441 </mml:msub>
442 </mml:mrow>
443 </mml:math>
444 </td><td align="center">
445 </td><td align="center">
446 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
447
448 <mml:mrow>
449 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
450 <mml:mi mathvariant="italic">p</mml:mi>
451 </mml:msub>
452 </mml:mrow>
453 </mml:math>
454 </td><td align="center">
455 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
456
457 <mml:mrow>
458 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
459 <mml:mi mathvariant="italic">p</mml:mi>
460 </mml:msub>
461 </mml:mrow>
462 </mml:math>
463 </td></tr><tr><td align="center">
464 <code class="constant">GL_LUMINANCE_ALPHA</code>
465 </td><td align="center">
466 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
467
468 <mml:mrow>
469 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
470 <mml:mi mathvariant="italic">v</mml:mi>
471 </mml:msub>
472 <mml:mo>=</mml:mo>
473 </mml:mrow>
474 </mml:math>
475 </td><td align="center">
476 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
477
478 <mml:mrow>
479 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
480 <mml:mi mathvariant="italic">s</mml:mi>
481 </mml:msub>
482 </mml:mrow>
483 </mml:math>
484 </td><td align="center">
485 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
486
487 <mml:mrow>
488 <mml:mrow>
489 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
490 <mml:mi mathvariant="italic">p</mml:mi>
491 </mml:msub>
492 <mml:mo></mml:mo>
493 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
494 <mml:mi mathvariant="italic">s</mml:mi>
495 </mml:msub>
496 </mml:mrow>
497 </mml:mrow>
498 </mml:math>
499 </td><td align="center">
500 undefined
501 </td><td align="center">
502 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
503
504 <mml:mrow>
505 <mml:mrow>
506 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
507 <mml:mi mathvariant="italic">p</mml:mi>
508 </mml:msub>
509 <mml:mo></mml:mo>
510 <mml:mfenced open="(" close=")">
511 <mml:mrow>
512 <mml:mn>1</mml:mn>
513 <mml:mo>-</mml:mo>
514 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
515 <mml:mi mathvariant="italic">s</mml:mi>
516 </mml:msub>
517 </mml:mrow>
518 </mml:mfenced>
519 <mml:mo>+</mml:mo>
520 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
521 <mml:mi mathvariant="italic">c</mml:mi>
522 </mml:msub>
523 <mml:mo></mml:mo>
524 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
525 <mml:mi mathvariant="italic">s</mml:mi>
526 </mml:msub>
527 </mml:mrow>
528 </mml:mrow>
529 </mml:math>
530 </td><td align="center">
531 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
532
533 <mml:mrow>
534 <mml:mrow>
535 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
536 <mml:mi mathvariant="italic">p</mml:mi>
537 </mml:msub>
538 <mml:mo>+</mml:mo>
539 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
540 <mml:mi mathvariant="italic">s</mml:mi>
541 </mml:msub>
542 </mml:mrow>
543 </mml:mrow>
544 </mml:math>
545 </td></tr><tr><td align="center">
546 (or 2)
547 </td><td align="center">
548 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
549
550 <mml:mrow>
551 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
552 <mml:mi mathvariant="italic">v</mml:mi>
553 </mml:msub>
554 <mml:mo>=</mml:mo>
555 </mml:mrow>
556 </mml:math>
557 </td><td align="center">
558 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
559
560 <mml:mrow>
561 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
562 <mml:mi mathvariant="italic">s</mml:mi>
563 </mml:msub>
564 </mml:mrow>
565 </mml:math>
566 </td><td align="center">
567 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
568
569 <mml:mrow>
570 <mml:mrow>
571 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
572 <mml:mi mathvariant="italic">p</mml:mi>
573 </mml:msub>
574 <mml:mo></mml:mo>
575 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
576 <mml:mi mathvariant="italic">s</mml:mi>
577 </mml:msub>
578 </mml:mrow>
579 </mml:mrow>
580 </mml:math>
581 </td><td align="center">
582 </td><td align="center">
583 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
584
585 <mml:mrow>
586 <mml:mrow>
587 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
588 <mml:mi mathvariant="italic">p</mml:mi>
589 </mml:msub>
590 <mml:mo></mml:mo>
591 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
592 <mml:mi mathvariant="italic">s</mml:mi>
593 </mml:msub>
594 </mml:mrow>
595 </mml:mrow>
596 </mml:math>
597 </td><td align="center">
598 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
599
600 <mml:mrow>
601 <mml:mrow>
602 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
603 <mml:mi mathvariant="italic">p</mml:mi>
604 </mml:msub>
605 <mml:mo></mml:mo>
606 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
607 <mml:mi mathvariant="italic">s</mml:mi>
608 </mml:msub>
609 </mml:mrow>
610 </mml:mrow>
611 </mml:math>
612 </td></tr><tr><td align="center">
613 <code class="constant">GL_INTENSITY</code>
614 </td><td align="center">
615 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
616
617 <mml:mrow>
618 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
619 <mml:mi mathvariant="italic">v</mml:mi>
620 </mml:msub>
621 <mml:mo>=</mml:mo>
622 </mml:mrow>
623 </mml:math>
624 </td><td align="center">
625 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
626
627 <mml:mrow>
628 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
629 <mml:mi mathvariant="italic">s</mml:mi>
630 </mml:msub>
631 </mml:mrow>
632 </mml:math>
633 </td><td align="center">
634 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
635
636 <mml:mrow>
637 <mml:mrow>
638 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
639 <mml:mi mathvariant="italic">p</mml:mi>
640 </mml:msub>
641 <mml:mo></mml:mo>
642 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
643 <mml:mi mathvariant="italic">s</mml:mi>
644 </mml:msub>
645 </mml:mrow>
646 </mml:mrow>
647 </mml:math>
648 </td><td align="center">
649 undefined
650 </td><td align="center">
651 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
652
653 <mml:mrow>
654 <mml:mrow>
655 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
656 <mml:mi mathvariant="italic">p</mml:mi>
657 </mml:msub>
658 <mml:mo></mml:mo>
659 <mml:mfenced open="(" close=")">
660 <mml:mrow>
661 <mml:mn>1</mml:mn>
662 <mml:mo>-</mml:mo>
663 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
664 <mml:mi mathvariant="italic">s</mml:mi>
665 </mml:msub>
666 </mml:mrow>
667 </mml:mfenced>
668 <mml:mo>+</mml:mo>
669 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
670 <mml:mi mathvariant="italic">c</mml:mi>
671 </mml:msub>
672 <mml:mo></mml:mo>
673 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
674 <mml:mi mathvariant="italic">s</mml:mi>
675 </mml:msub>
676 </mml:mrow>
677 </mml:mrow>
678 </mml:math>
679 </td><td align="center">
680 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
681
682 <mml:mrow>
683 <mml:mrow>
684 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
685 <mml:mi mathvariant="italic">p</mml:mi>
686 </mml:msub>
687 <mml:mo>+</mml:mo>
688 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
689 <mml:mi mathvariant="italic">s</mml:mi>
690 </mml:msub>
691 </mml:mrow>
692 </mml:mrow>
693 </mml:math>
694 </td></tr><tr><td align="center">
695 </td><td align="center">
696 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
697
698 <mml:mrow>
699 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
700 <mml:mi mathvariant="italic">v</mml:mi>
701 </mml:msub>
702 <mml:mo>=</mml:mo>
703 </mml:mrow>
704 </mml:math>
705 </td><td align="center">
706 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
707
708 <mml:mrow>
709 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
710 <mml:mi mathvariant="italic">s</mml:mi>
711 </mml:msub>
712 </mml:mrow>
713 </mml:math>
714 </td><td align="center">
715 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
716
717 <mml:mrow>
718 <mml:mrow>
719 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
720 <mml:mi mathvariant="italic">p</mml:mi>
721 </mml:msub>
722 <mml:mo></mml:mo>
723 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
724 <mml:mi mathvariant="italic">s</mml:mi>
725 </mml:msub>
726 </mml:mrow>
727 </mml:mrow>
728 </mml:math>
729 </td><td align="center">
730 </td><td align="center">
731 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
732
733 <mml:mrow>
734 <mml:mrow>
735 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
736 <mml:mi mathvariant="italic">p</mml:mi>
737 </mml:msub>
738 <mml:mo></mml:mo>
739 <mml:mfenced open="(" close=")">
740 <mml:mrow>
741 <mml:mn>1</mml:mn>
742 <mml:mo>-</mml:mo>
743 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
744 <mml:mi mathvariant="italic">s</mml:mi>
745 </mml:msub>
746 </mml:mrow>
747 </mml:mfenced>
748 <mml:mo>+</mml:mo>
749 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
750 <mml:mi mathvariant="italic">c</mml:mi>
751 </mml:msub>
752 <mml:mo></mml:mo>
753 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
754 <mml:mi mathvariant="italic">s</mml:mi>
755 </mml:msub>
756 </mml:mrow>
757 </mml:mrow>
758 </mml:math>
759 </td><td align="center">
760 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
761
762 <mml:mrow>
763 <mml:mrow>
764 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
765 <mml:mi mathvariant="italic">p</mml:mi>
766 </mml:msub>
767 <mml:mo>+</mml:mo>
768 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
769 <mml:mi mathvariant="italic">s</mml:mi>
770 </mml:msub>
771 </mml:mrow>
772 </mml:mrow>
773 </mml:math>
774 </td></tr><tr><td align="center">
775 <code class="constant">GL_RGB</code>
776 </td><td align="center">
777 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
778
779 <mml:mrow>
780 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
781 <mml:mi mathvariant="italic">v</mml:mi>
782 </mml:msub>
783 <mml:mo>=</mml:mo>
784 </mml:mrow>
785 </mml:math>
786 </td><td align="center">
787 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
788
789 <mml:mrow>
790 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
791 <mml:mi mathvariant="italic">s</mml:mi>
792 </mml:msub>
793 </mml:mrow>
794 </mml:math>
795 </td><td align="center">
796 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
797
798 <mml:mrow>
799 <mml:mrow>
800 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
801 <mml:mi mathvariant="italic">p</mml:mi>
802 </mml:msub>
803 <mml:mo></mml:mo>
804 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
805 <mml:mi mathvariant="italic">s</mml:mi>
806 </mml:msub>
807 </mml:mrow>
808 </mml:mrow>
809 </mml:math>
810 </td><td align="center">
811 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
812
813 <mml:mrow>
814 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
815 <mml:mi mathvariant="italic">s</mml:mi>
816 </mml:msub>
817 </mml:mrow>
818 </mml:math>
819 </td><td align="center">
820 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
821
822 <mml:mrow>
823 <mml:mrow>
824 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
825 <mml:mi mathvariant="italic">p</mml:mi>
826 </mml:msub>
827 <mml:mo></mml:mo>
828 <mml:mfenced open="(" close=")">
829 <mml:mrow>
830 <mml:mn>1</mml:mn>
831 <mml:mo>-</mml:mo>
832 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
833 <mml:mi mathvariant="italic">s</mml:mi>
834 </mml:msub>
835 </mml:mrow>
836 </mml:mfenced>
837 <mml:mo>+</mml:mo>
838 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
839 <mml:mi mathvariant="italic">c</mml:mi>
840 </mml:msub>
841 <mml:mo></mml:mo>
842 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
843 <mml:mi mathvariant="italic">s</mml:mi>
844 </mml:msub>
845 </mml:mrow>
846 </mml:mrow>
847 </mml:math>
848 </td><td align="center">
849 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
850
851 <mml:mrow>
852 <mml:mrow>
853 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
854 <mml:mi mathvariant="italic">p</mml:mi>
855 </mml:msub>
856 <mml:mo>+</mml:mo>
857 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
858 <mml:mi mathvariant="italic">s</mml:mi>
859 </mml:msub>
860 </mml:mrow>
861 </mml:mrow>
862 </mml:math>
863 </td></tr><tr><td align="center">
864 (or 3)
865 </td><td align="center">
866 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
867
868 <mml:mrow>
869 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
870 <mml:mi mathvariant="italic">v</mml:mi>
871 </mml:msub>
872 <mml:mo>=</mml:mo>
873 </mml:mrow>
874 </mml:math>
875 </td><td align="center">
876 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
877
878 <mml:mrow>
879 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
880 <mml:mi mathvariant="italic">p</mml:mi>
881 </mml:msub>
882 </mml:mrow>
883 </mml:math>
884 </td><td align="center">
885 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
886
887 <mml:mrow>
888 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
889 <mml:mi mathvariant="italic">p</mml:mi>
890 </mml:msub>
891 </mml:mrow>
892 </mml:math>
893 </td><td align="center">
894 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
895
896 <mml:mrow>
897 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
898 <mml:mi mathvariant="italic">p</mml:mi>
899 </mml:msub>
900 </mml:mrow>
901 </mml:math>
902 </td><td align="center">
903 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
904
905 <mml:mrow>
906 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
907 <mml:mi mathvariant="italic">p</mml:mi>
908 </mml:msub>
909 </mml:mrow>
910 </mml:math>
911 </td><td align="center">
912 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
913
914 <mml:mrow>
915 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
916 <mml:mi mathvariant="italic">p</mml:mi>
917 </mml:msub>
918 </mml:mrow>
919 </mml:math>
920 </td></tr><tr><td align="center">
921 <code class="constant">GL_RGBA</code>
922 </td><td align="center">
923 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
924
925 <mml:mrow>
926 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
927 <mml:mi mathvariant="italic">v</mml:mi>
928 </mml:msub>
929 <mml:mo>=</mml:mo>
930 </mml:mrow>
931 </mml:math>
932 </td><td align="center">
933 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
934
935 <mml:mrow>
936 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
937 <mml:mi mathvariant="italic">s</mml:mi>
938 </mml:msub>
939 </mml:mrow>
940 </mml:math>
941 </td><td align="center">
942 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
943
944 <mml:mrow>
945 <mml:mrow>
946 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
947 <mml:mi mathvariant="italic">p</mml:mi>
948 </mml:msub>
949 <mml:mo></mml:mo>
950 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
951 <mml:mi mathvariant="italic">s</mml:mi>
952 </mml:msub>
953 </mml:mrow>
954 </mml:mrow>
955 </mml:math>
956 </td><td align="center">
957 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
958
959 <mml:mrow>
960 <mml:mrow>
961 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
962 <mml:mi mathvariant="italic">p</mml:mi>
963 </mml:msub>
964 <mml:mo></mml:mo>
965 <mml:mfenced open="(" close=")">
966 <mml:mrow>
967 <mml:mn>1</mml:mn>
968 <mml:mo>-</mml:mo>
969 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
970 <mml:mi mathvariant="italic">s</mml:mi>
971 </mml:msub>
972 </mml:mrow>
973 </mml:mfenced>
974 <mml:mo>+</mml:mo>
975 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
976 <mml:mi mathvariant="italic">s</mml:mi>
977 </mml:msub>
978 <mml:mo></mml:mo>
979 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
980 <mml:mi mathvariant="italic">s</mml:mi>
981 </mml:msub>
982 </mml:mrow>
983 </mml:mrow>
984 </mml:math>
985 </td><td align="center">
986 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
987
988 <mml:mrow>
989 <mml:mrow>
990 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
991 <mml:mi mathvariant="italic">p</mml:mi>
992 </mml:msub>
993 <mml:mo></mml:mo>
994 <mml:mfenced open="(" close=")">
995 <mml:mrow>
996 <mml:mn>1</mml:mn>
997 <mml:mo>-</mml:mo>
998 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
999 <mml:mi mathvariant="italic">s</mml:mi>
1000 </mml:msub>
1001 </mml:mrow>
1002 </mml:mfenced>
1003 <mml:mo>+</mml:mo>
1004 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1005 <mml:mi mathvariant="italic">c</mml:mi>
1006 </mml:msub>
1007 <mml:mo></mml:mo>
1008 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1009 <mml:mi mathvariant="italic">s</mml:mi>
1010 </mml:msub>
1011 </mml:mrow>
1012 </mml:mrow>
1013 </mml:math>
1014 </td><td align="center">
1015 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1016
1017 <mml:mrow>
1018 <mml:mrow>
1019 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1020 <mml:mi mathvariant="italic">p</mml:mi>
1021 </mml:msub>
1022 <mml:mo>+</mml:mo>
1023 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1024 <mml:mi mathvariant="italic">s</mml:mi>
1025 </mml:msub>
1026 </mml:mrow>
1027 </mml:mrow>
1028 </mml:math>
1029 </td></tr><tr><td align="center">
1030 (or 4)
1031 </td><td align="center">
1032 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1033
1034 <mml:mrow>
1035 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1036 <mml:mi mathvariant="italic">v</mml:mi>
1037 </mml:msub>
1038 <mml:mo>=</mml:mo>
1039 </mml:mrow>
1040 </mml:math>
1041 </td><td align="center">
1042 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1043
1044 <mml:mrow>
1045 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1046 <mml:mi mathvariant="italic">s</mml:mi>
1047 </mml:msub>
1048 </mml:mrow>
1049 </mml:math>
1050 </td><td align="center">
1051 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1052
1053 <mml:mrow>
1054 <mml:mrow>
1055 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1056 <mml:mi mathvariant="italic">p</mml:mi>
1057 </mml:msub>
1058 <mml:mo></mml:mo>
1059 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1060 <mml:mi mathvariant="italic">s</mml:mi>
1061 </mml:msub>
1062 </mml:mrow>
1063 </mml:mrow>
1064 </mml:math>
1065 </td><td align="center">
1066 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1067
1068 <mml:mrow>
1069 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1070 <mml:mi mathvariant="italic">p</mml:mi>
1071 </mml:msub>
1072 </mml:mrow>
1073 </mml:math>
1074 </td><td align="center">
1075 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1076
1077 <mml:mrow>
1078 <mml:mrow>
1079 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1080 <mml:mi mathvariant="italic">p</mml:mi>
1081 </mml:msub>
1082 <mml:mo></mml:mo>
1083 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1084 <mml:mi mathvariant="italic">s</mml:mi>
1085 </mml:msub>
1086 </mml:mrow>
1087 </mml:mrow>
1088 </mml:math>
1089 </td><td align="center">
1090 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1091
1092 <mml:mrow>
1093 <mml:mrow>
1094 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1095 <mml:mi mathvariant="italic">p</mml:mi>
1096 </mml:msub>
1097 <mml:mo></mml:mo>
1098 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1099 <mml:mi mathvariant="italic">s</mml:mi>
1100 </mml:msub>
1101 </mml:mrow>
1102 </mml:mrow>
1103 </mml:math>
1104 </td></tr></tbody></table></div><p>
1105 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_ENV_MODE</code>, and <em class="parameter"><code>params</code></em> is <code class="constant">GL_COMBINE</code>, the
1106 form of the texture function depends on the values of <code class="constant">GL_COMBINE_RGB</code>
1107 and <code class="constant">GL_COMBINE_ALPHA</code>.
1108 </p><p>
1109 The following describes how the texture sources, as specified by
1110 <code class="constant">GL_SRC0_RGB</code>, <code class="constant">GL_SRC1_RGB</code>, <code class="constant">GL_SRC2_RGB</code>,
1111 <code class="constant">GL_SRC0_ALPHA</code>, <code class="constant">GL_SRC1_ALPHA</code>, and <code class="constant">GL_SRC2_ALPHA</code>,
1112 are combined to produce a final texture color. In the following tables,
1113 <code class="constant">GL_SRC0_c</code> is represented by
1114 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg0</mml:mi></mml:math>,
1115 <code class="constant">GL_SRC1_c</code> is
1116 represented by
1117 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg1</mml:mi></mml:math>,
1118 and <code class="constant">GL_SRC2_c</code> is represented by
1119 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg2</mml:mi></mml:math>.
1120 </p><p>
1121 <code class="constant">GL_COMBINE_RGB</code> accepts any of <code class="constant">GL_REPLACE</code>, <code class="constant">GL_MODULATE</code>,
1122 <code class="constant">GL_ADD</code>, <code class="constant">GL_ADD_SIGNED</code>, <code class="constant">GL_INTERPOLATE</code>, <code class="constant">GL_SUBTRACT</code>,
1123 <code class="constant">GL_DOT3_RGB</code>, or <code class="constant">GL_DOT3_RGBA</code>.
1124 </p><p>
1125 </p><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left"><span class="bold"><strong>
1126 <code class="constant">GL_COMBINE_RGB</code>
1127 </strong></span></th><th align="left"><span class="bold"><strong>
1128 Texture Function
1129 </strong></span></th></tr></thead><tbody><tr><td align="left">
1130 <code class="constant">GL_REPLACE</code>
1131 </td><td align="left">
1132 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg0</mml:mi></mml:math>
1133 </td></tr><tr><td align="left">
1134 <code class="constant">GL_MODULATE</code>
1135 </td><td align="left">
1136 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1137
1138 <mml:mrow>
1139 <mml:mi mathvariant="italic">Arg0</mml:mi>
1140 <mml:mo>×</mml:mo>
1141 <mml:mi mathvariant="italic">Arg1</mml:mi>
1142 </mml:mrow>
1143 </mml:math>
1144 </td></tr><tr><td align="left">
1145 <code class="constant">GL_ADD</code>
1146 </td><td align="left">
1147 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1148
1149 <mml:mrow>
1150 <mml:mi mathvariant="italic">Arg0</mml:mi>
1151 <mml:mo>+</mml:mo>
1152 <mml:mi mathvariant="italic">Arg1</mml:mi>
1153 </mml:mrow>
1154 </mml:math>
1155 </td></tr><tr><td align="left">
1156 <code class="constant">GL_ADD_SIGNED</code>
1157 </td><td align="left">
1158 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1159
1160 <mml:mrow>
1161 <mml:mi mathvariant="italic">Arg0</mml:mi>
1162 <mml:mo>+</mml:mo>
1163 <mml:mi mathvariant="italic">Arg1</mml:mi>
1164 <mml:mo>-</mml:mo>
1165 <mml:mn>0.5</mml:mn>
1166 </mml:mrow>
1167 </mml:math>
1168 </td></tr><tr><td align="left">
1169 <code class="constant">GL_INTERPOLATE</code>
1170 </td><td align="left">
1171 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1172
1173 <mml:mrow>
1174 <mml:mrow>
1175 <mml:mi mathvariant="italic">Arg0</mml:mi>
1176 <mml:mo>×</mml:mo>
1177 <mml:mi mathvariant="italic">Arg2</mml:mi>
1178 </mml:mrow>
1179 <mml:mo>+</mml:mo>
1180 <mml:mrow>
1181 <mml:mi mathvariant="italic">Arg1</mml:mi>
1182 <mml:mo>×</mml:mo>
1183 <mml:mfenced open="(" close=")">
1184 <mml:mrow>
1185 <mml:mn>1</mml:mn>
1186 <mml:mo>-</mml:mo>
1187 <mml:mi mathvariant="italic">Arg2</mml:mi>
1188 </mml:mrow>
1189 </mml:mfenced>
1190 </mml:mrow>
1191 </mml:mrow>
1192 </mml:math>
1193 </td></tr><tr><td align="left">
1194 <code class="constant">GL_SUBTRACT</code>
1195 </td><td align="left">
1196 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1197
1198 <mml:mrow>
1199 <mml:mi mathvariant="italic">Arg0</mml:mi>
1200 <mml:mo>-</mml:mo>
1201 <mml:mi mathvariant="italic">Arg1</mml:mi>
1202 </mml:mrow>
1203 </mml:math>
1204 </td></tr><tr><td align="left">
1205 <code class="constant">GL_DOT3_RGB</code>
1206 or
1207 <code class="constant">GL_DOT3_RGBA</code>
1208 </td><td align="left">
1209
1210 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1211 <mml:mrow>
1212 <mml:mn>4</mml:mn>
1213 <mml:mo>×</mml:mo>
1214 <mml:mfenced open="(" close=")">
1215 <mml:mrow>
1216 <mml:mfenced open="(" close=")">
1217 <mml:mrow>
1218 <mml:mfenced open="(" close=")">
1219 <mml:mrow>
1220 <mml:mfenced open="" close="">
1221 <mml:msub><mml:mi mathvariant="italic">Arg0</mml:mi>
1222 <mml:mi mathvariant="italic">r</mml:mi>
1223 </mml:msub>
1224 </mml:mfenced>
1225 <mml:mo>-</mml:mo>
1226 <mml:mn>0.5</mml:mn>
1227 </mml:mrow>
1228 </mml:mfenced>
1229 <mml:mo>×</mml:mo>
1230 <mml:mfenced open="(" close=")">
1231 <mml:mrow>
1232 <mml:mfenced open="" close="">
1233 <mml:msub><mml:mi mathvariant="italic">Arg1</mml:mi>
1234 <mml:mi mathvariant="italic">r</mml:mi>
1235 </mml:msub>
1236 </mml:mfenced>
1237 <mml:mo>-</mml:mo>
1238 <mml:mn>0.5</mml:mn>
1239 </mml:mrow>
1240 </mml:mfenced>
1241 </mml:mrow>
1242 </mml:mfenced>
1243 <mml:mo>+</mml:mo>
1244 <mml:mfenced open="(" close=")">
1245 <mml:mrow>
1246 <mml:mfenced open="(" close=")">
1247 <mml:mrow>
1248 <mml:mfenced open="" close="">
1249 <mml:msub><mml:mi mathvariant="italic">Arg0</mml:mi>
1250 <mml:mi mathvariant="italic">g</mml:mi>
1251 </mml:msub>
1252 </mml:mfenced>
1253 <mml:mo>-</mml:mo>
1254 <mml:mn>0.5</mml:mn>
1255 </mml:mrow>
1256 </mml:mfenced>
1257 <mml:mo>×</mml:mo>
1258 <mml:mfenced open="(" close=")">
1259 <mml:mrow>
1260 <mml:mfenced open="" close="">
1261 <mml:msub><mml:mi mathvariant="italic">Arg1</mml:mi>
1262 <mml:mi mathvariant="italic">g</mml:mi>
1263 </mml:msub>
1264 </mml:mfenced>
1265 <mml:mo>-</mml:mo>
1266 <mml:mn>0.5</mml:mn>
1267 </mml:mrow>
1268 </mml:mfenced>
1269 </mml:mrow>
1270 </mml:mfenced>
1271 <mml:mo>+</mml:mo>
1272 <mml:mfenced open="(" close=")">
1273 <mml:mrow>
1274 <mml:mfenced open="(" close=")">
1275 <mml:mrow>
1276 <mml:mfenced open="" close="">
1277 <mml:msub><mml:mi mathvariant="italic">Arg0</mml:mi>
1278 <mml:mi mathvariant="italic">b</mml:mi>
1279 </mml:msub>
1280 </mml:mfenced>
1281 <mml:mo>-</mml:mo>
1282 <mml:mn>0.5</mml:mn>
1283 </mml:mrow>
1284 </mml:mfenced>
1285 <mml:mo>×</mml:mo>
1286 <mml:mfenced open="(" close=")">
1287 <mml:mrow>
1288 <mml:mfenced open="" close="">
1289 <mml:msub><mml:mi mathvariant="italic">Arg1</mml:mi>
1290 <mml:mi mathvariant="italic">b</mml:mi>
1291 </mml:msub>
1292 </mml:mfenced>
1293 <mml:mo>-</mml:mo>
1294 <mml:mn>0.5</mml:mn>
1295 </mml:mrow>
1296 </mml:mfenced>
1297 </mml:mrow>
1298 </mml:mfenced>
1299 </mml:mrow>
1300 </mml:mfenced>
1301 </mml:mrow>
1302 </mml:math>
1303 </td></tr></tbody></table></div><p>
1304 The scalar results for <code class="constant">GL_DOT3_RGB</code> and <code class="constant">GL_DOT3_RGBA</code> are placed
1305 into each of the 3 (RGB) or 4 (RGBA) components on output.
1306 </p><p>
1307 Likewise, <code class="constant">GL_COMBINE_ALPHA</code> accepts any of <code class="constant">GL_REPLACE</code>,
1308 <code class="constant">GL_MODULATE</code>, <code class="constant">GL_ADD</code>, <code class="constant">GL_ADD_SIGNED</code>, <code class="constant">GL_INTERPOLATE</code>, or
1309 <code class="constant">GL_SUBTRACT</code>. The following table describes how alpha values are
1310 combined:
1311 </p><p>
1312 </p><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left"><span class="bold"><strong>
1313 <code class="constant">GL_COMBINE_ALPHA</code>
1314 </strong></span></th><th align="left"><span class="bold"><strong>
1315 Texture Function
1316 </strong></span></th></tr></thead><tbody><tr><td align="left">
1317 <code class="constant">GL_REPLACE</code>
1318 </td><td align="left">
1319 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg0</mml:mi></mml:math>
1320 </td></tr><tr><td align="left">
1321 <code class="constant">GL_MODULATE</code>
1322 </td><td align="left">
1323 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1324
1325 <mml:mrow>
1326 <mml:mi mathvariant="italic">Arg0</mml:mi>
1327 <mml:mo>×</mml:mo>
1328 <mml:mi mathvariant="italic">Arg1</mml:mi>
1329 </mml:mrow>
1330 </mml:math>
1331 </td></tr><tr><td align="left">
1332 <code class="constant">GL_ADD</code>
1333 </td><td align="left">
1334 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1335
1336 <mml:mrow>
1337 <mml:mi mathvariant="italic">Arg0</mml:mi>
1338 <mml:mo>+</mml:mo>
1339 <mml:mi mathvariant="italic">Arg1</mml:mi>
1340 </mml:mrow>
1341 </mml:math>
1342 </td></tr><tr><td align="left">
1343 <code class="constant">GL_ADD_SIGNED</code>
1344 </td><td align="left">
1345 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1346
1347 <mml:mrow>
1348 <mml:mi mathvariant="italic">Arg0</mml:mi>
1349 <mml:mo>+</mml:mo>
1350 <mml:mi mathvariant="italic">Arg1</mml:mi>
1351 <mml:mo>-</mml:mo>
1352 <mml:mn>0.5</mml:mn>
1353 </mml:mrow>
1354 </mml:math>
1355 </td></tr><tr><td align="left">
1356 <code class="constant">GL_INTERPOLATE</code>
1357 </td><td align="left">
1358 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1359
1360 <mml:mrow>
1361 <mml:mrow>
1362 <mml:mi mathvariant="italic">Arg0</mml:mi>
1363 <mml:mo>×</mml:mo>
1364 <mml:mi mathvariant="italic">Arg2</mml:mi>
1365 </mml:mrow>
1366 <mml:mo>+</mml:mo>
1367 <mml:mrow>
1368 <mml:mi mathvariant="italic">Arg1</mml:mi>
1369 <mml:mo>×</mml:mo>
1370 <mml:mfenced open="(" close=")">
1371 <mml:mrow>
1372 <mml:mn>1</mml:mn>
1373 <mml:mo>-</mml:mo>
1374 <mml:mi mathvariant="italic">Arg2</mml:mi>
1375 </mml:mrow>
1376 </mml:mfenced>
1377 </mml:mrow>
1378 </mml:mrow>
1379 </mml:math>
1380 </td></tr><tr><td align="left">
1381 <code class="constant">GL_SUBTRACT</code>
1382 </td><td align="left">
1383 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1384
1385 <mml:mrow>
1386 <mml:mi mathvariant="italic">Arg0</mml:mi>
1387 <mml:mo>-</mml:mo>
1388 <mml:mi mathvariant="italic">Arg1</mml:mi>
1389 </mml:mrow>
1390 </mml:math>
1391 </td></tr></tbody></table></div><p>
1392 In the following tables, the value
1393 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1394
1395 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1396 <mml:mi mathvariant="italic">s</mml:mi>
1397 </mml:msub>
1398 </mml:math>
1399 represents the color sampled
1400 from the currently bound texture,
1401 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1402
1403 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1404 <mml:mi mathvariant="italic">c</mml:mi>
1405 </mml:msub>
1406 </mml:math>
1407 represents the constant
1408 texture-environment color,
1409 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1410
1411 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1412 <mml:mi mathvariant="italic">f</mml:mi>
1413 </mml:msub>
1414 </mml:math>
1415 represents the primary color of the
1416 incoming fragment, and
1417 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1418
1419 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1420 <mml:mi mathvariant="italic">p</mml:mi>
1421 </mml:msub>
1422 </mml:math>
1423 represents the color computed from the
1424 previous texture stage or
1425 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1426
1427 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1428 <mml:mi mathvariant="italic">f</mml:mi>
1429 </mml:msub>
1430 </mml:math>
1431 if processing texture stage 0. Likewise,
1432 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1433
1434 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1435 <mml:mi mathvariant="italic">s</mml:mi>
1436 </mml:msub>
1437 </mml:math>,
1438 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1439
1440 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1441 <mml:mi mathvariant="italic">c</mml:mi>
1442 </mml:msub>
1443 </mml:math>,
1444 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1445
1446 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1447 <mml:mi mathvariant="italic">f</mml:mi>
1448 </mml:msub>
1449 </mml:math>,
1450 and
1451 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1452
1453 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1454 <mml:mi mathvariant="italic">p</mml:mi>
1455 </mml:msub>
1456 </mml:math>
1457 represent the respective
1458 alpha values.
1459 </p><p>
1460 The following table describes the values assigned to
1461 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg0</mml:mi></mml:math>,
1462 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg1</mml:mi></mml:math>,
1463 and
1464 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg2</mml:mi></mml:math>
1465 based upon the RGB sources and operands:
1466 </p><p>
1467 </p><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="left" /><col align="center" /></colgroup><thead><tr><th align="left"><span class="bold"><strong>
1468 <code class="constant">GL_SRCn_RGB</code>
1469 </strong></span></th><th align="left"><span class="bold"><strong>
1470 <code class="constant">GL_OPERANDn_RGB</code>
1471 </strong></span></th><th align="center"><span class="bold"><strong>
1472 Argument Value
1473 </strong></span></th></tr></thead><tbody><tr><td align="left">
1474 <code class="constant">GL_TEXTURE</code>
1475 </td><td align="left">
1476 <code class="constant">GL_SRC_COLOR</code>
1477 </td><td align="center">
1478 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1479
1480 <mml:mfenced open="" close="">
1481 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1482 <mml:mi mathvariant="italic">s</mml:mi>
1483 </mml:msub>
1484 </mml:mfenced>
1485 </mml:math>
1486 </td></tr><tr><td align="left">
1487 </td><td align="left">
1488 <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>
1489 </td><td align="center">
1490 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1491
1492 <mml:mrow>
1493 <mml:mn>1</mml:mn>
1494 <mml:mo>-</mml:mo>
1495 <mml:mfenced open="" close="">
1496 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1497 <mml:mi mathvariant="italic">s</mml:mi>
1498 </mml:msub>
1499 </mml:mfenced>
1500 </mml:mrow>
1501 </mml:math>
1502 </td></tr><tr><td align="left">
1503 </td><td align="left">
1504 <code class="constant">GL_SRC_ALPHA</code>
1505 </td><td align="center">
1506 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1507
1508 <mml:mfenced open="" close="">
1509 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1510 <mml:mi mathvariant="italic">s</mml:mi>
1511 </mml:msub>
1512 </mml:mfenced>
1513 </mml:math>
1514 </td></tr><tr><td align="left">
1515 </td><td align="left">
1516 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1517 </td><td align="center">
1518 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1519
1520 <mml:mrow>
1521 <mml:mn>1</mml:mn>
1522 <mml:mo>-</mml:mo>
1523 <mml:mfenced open="" close="">
1524 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1525 <mml:mi mathvariant="italic">s</mml:mi>
1526 </mml:msub>
1527 </mml:mfenced>
1528 </mml:mrow>
1529 </mml:math>
1530 </td></tr><tr><td align="left">
1531 <code class="constant">GL_TEXTUREn</code>
1532 </td><td align="left">
1533 <code class="constant">GL_SRC_COLOR</code>
1534 </td><td align="center">
1535 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1536
1537 <mml:mfenced open="" close="">
1538 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1539 <mml:mi mathvariant="italic">s</mml:mi>
1540 </mml:msub>
1541 </mml:mfenced>
1542 </mml:math>
1543 </td></tr><tr><td align="left">
1544 </td><td align="left">
1545 <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>
1546 </td><td align="center">
1547 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1548
1549 <mml:mrow>
1550 <mml:mn>1</mml:mn>
1551 <mml:mo>-</mml:mo>
1552 <mml:mfenced open="" close="">
1553 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1554 <mml:mi mathvariant="italic">s</mml:mi>
1555 </mml:msub>
1556 </mml:mfenced>
1557 </mml:mrow>
1558 </mml:math>
1559 </td></tr><tr><td align="left">
1560 </td><td align="left">
1561 <code class="constant">GL_SRC_ALPHA</code>
1562 </td><td align="center">
1563 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1564
1565 <mml:mfenced open="" close="">
1566 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1567 <mml:mi mathvariant="italic">s</mml:mi>
1568 </mml:msub>
1569 </mml:mfenced>
1570 </mml:math>
1571 </td></tr><tr><td align="left">
1572 </td><td align="left">
1573 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1574 </td><td align="center">
1575 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1576
1577 <mml:mrow>
1578 <mml:mn>1</mml:mn>
1579 <mml:mo>-</mml:mo>
1580 <mml:mfenced open="" close="">
1581 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1582 <mml:mi mathvariant="italic">s</mml:mi>
1583 </mml:msub>
1584 </mml:mfenced>
1585 </mml:mrow>
1586 </mml:math>
1587 </td></tr><tr><td align="left">
1588 <code class="constant">GL_CONSTANT</code>
1589 </td><td align="left">
1590 <code class="constant">GL_SRC_COLOR</code>
1591 </td><td align="center">
1592 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1593
1594 <mml:mfenced open="" close="">
1595 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1596 <mml:mi mathvariant="italic">c</mml:mi>
1597 </mml:msub>
1598 </mml:mfenced>
1599 </mml:math>
1600 </td></tr><tr><td align="left">
1601 </td><td align="left">
1602 <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>
1603 </td><td align="center">
1604 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1605
1606 <mml:mrow>
1607 <mml:mn>1</mml:mn>
1608 <mml:mo>-</mml:mo>
1609 <mml:mfenced open="" close="">
1610 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1611 <mml:mi mathvariant="italic">c</mml:mi>
1612 </mml:msub>
1613 </mml:mfenced>
1614 </mml:mrow>
1615 </mml:math>
1616 </td></tr><tr><td align="left">
1617 </td><td align="left">
1618 <code class="constant">GL_SRC_ALPHA</code>
1619 </td><td align="center">
1620 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1621
1622 <mml:mfenced open="" close="">
1623 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1624 <mml:mi mathvariant="italic">c</mml:mi>
1625 </mml:msub>
1626 </mml:mfenced>
1627 </mml:math>
1628 </td></tr><tr><td align="left">
1629 </td><td align="left">
1630 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1631 </td><td align="center">
1632 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1633
1634 <mml:mrow>
1635 <mml:mn>1</mml:mn>
1636 <mml:mo>-</mml:mo>
1637 <mml:mfenced open="" close="">
1638 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1639 <mml:mi mathvariant="italic">c</mml:mi>
1640 </mml:msub>
1641 </mml:mfenced>
1642 </mml:mrow>
1643 </mml:math>
1644 </td></tr><tr><td align="left">
1645 <code class="constant">GL_PRIMARY_COLOR</code>
1646 </td><td align="left">
1647 <code class="constant">GL_SRC_COLOR</code>
1648 </td><td align="center">
1649 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1650
1651 <mml:mfenced open="" close="">
1652 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1653 <mml:mi mathvariant="italic">f</mml:mi>
1654 </mml:msub>
1655 </mml:mfenced>
1656 </mml:math>
1657 </td></tr><tr><td align="left">
1658 </td><td align="left">
1659 <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>
1660 </td><td align="center">
1661 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1662
1663 <mml:mrow>
1664 <mml:mn>1</mml:mn>
1665 <mml:mo>-</mml:mo>
1666 <mml:mfenced open="" close="">
1667 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1668 <mml:mi mathvariant="italic">f</mml:mi>
1669 </mml:msub>
1670 </mml:mfenced>
1671 </mml:mrow>
1672 </mml:math>
1673 </td></tr><tr><td align="left">
1674 </td><td align="left">
1675 <code class="constant">GL_SRC_ALPHA</code>
1676 </td><td align="center">
1677 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1678
1679 <mml:mfenced open="" close="">
1680 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1681 <mml:mi mathvariant="italic">f</mml:mi>
1682 </mml:msub>
1683 </mml:mfenced>
1684 </mml:math>
1685 </td></tr><tr><td align="left">
1686 </td><td align="left">
1687 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1688 </td><td align="center">
1689 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1690
1691 <mml:mrow>
1692 <mml:mn>1</mml:mn>
1693 <mml:mo>-</mml:mo>
1694 <mml:mfenced open="" close="">
1695 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1696 <mml:mi mathvariant="italic">f</mml:mi>
1697 </mml:msub>
1698 </mml:mfenced>
1699 </mml:mrow>
1700 </mml:math>
1701 </td></tr><tr><td align="left">
1702 <code class="constant">GL_PREVIOUS</code>
1703 </td><td align="left">
1704 <code class="constant">GL_SRC_COLOR</code>
1705 </td><td align="center">
1706 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1707
1708 <mml:mfenced open="" close="">
1709 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1710 <mml:mi mathvariant="italic">p</mml:mi>
1711 </mml:msub>
1712 </mml:mfenced>
1713 </mml:math>
1714 </td></tr><tr><td align="left">
1715 </td><td align="left">
1716 <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>
1717 </td><td align="center">
1718 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1719
1720 <mml:mrow>
1721 <mml:mn>1</mml:mn>
1722 <mml:mo>-</mml:mo>
1723 <mml:mfenced open="" close="">
1724 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1725 <mml:mi mathvariant="italic">p</mml:mi>
1726 </mml:msub>
1727 </mml:mfenced>
1728 </mml:mrow>
1729 </mml:math>
1730 </td></tr><tr><td align="left">
1731 </td><td align="left">
1732 <code class="constant">GL_SRC_ALPHA</code>
1733 </td><td align="center">
1734 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1735
1736 <mml:mfenced open="" close="">
1737 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1738 <mml:mi mathvariant="italic">p</mml:mi>
1739 </mml:msub>
1740 </mml:mfenced>
1741 </mml:math>
1742 </td></tr><tr><td align="left">
1743 </td><td align="left">
1744 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1745 </td><td align="center">
1746 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1747
1748 <mml:mrow>
1749 <mml:mn>1</mml:mn>
1750 <mml:mo>-</mml:mo>
1751 <mml:mfenced open="" close="">
1752 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1753 <mml:mi mathvariant="italic">p</mml:mi>
1754 </mml:msub>
1755 </mml:mfenced>
1756 </mml:mrow>
1757 </mml:math>
1758 </td></tr></tbody></table></div><p>
1759 For <code class="constant">GL_TEXTUREn</code> sources,
1760 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1761
1762 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1763 <mml:mi mathvariant="italic">s</mml:mi>
1764 </mml:msub>
1765 </mml:math>
1766 and
1767 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1768
1769 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1770 <mml:mi mathvariant="italic">s</mml:mi>
1771 </mml:msub>
1772 </mml:math>
1773 represent the color
1774 and alpha, respectively, produced from texture stage
1775 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">n</mml:mi></mml:math>.
1776 </p><p>
1777 The follow table describes the values assigned to
1778 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg0</mml:mi></mml:math>,
1779 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg1</mml:mi></mml:math>,
1780 and
1781 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">Arg2</mml:mi></mml:math>
1782 based upon the alpha sources and operands:
1783 </p><p>
1784 </p><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="left" /><col align="center" /></colgroup><thead><tr><th align="left"><span class="bold"><strong>
1785 <code class="constant">GL_SRCn_ALPHA</code>
1786 </strong></span></th><th align="left"><span class="bold"><strong>
1787 <code class="constant">GL_OPERANDn_ALPHA</code>
1788 </strong></span></th><th align="center"><span class="bold"><strong>
1789 Argument Value
1790 </strong></span></th></tr></thead><tbody><tr><td align="left">
1791 <code class="constant">GL_TEXTURE</code>
1792 </td><td align="left">
1793 <code class="constant">GL_SRC_ALPHA</code>
1794 </td><td align="center">
1795 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1796
1797 <mml:mfenced open="" close="">
1798 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1799 <mml:mi mathvariant="italic">s</mml:mi>
1800 </mml:msub>
1801 </mml:mfenced>
1802 </mml:math>
1803 </td></tr><tr><td align="left">
1804 </td><td align="left">
1805 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1806 </td><td align="center">
1807 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1808
1809 <mml:mrow>
1810 <mml:mn>1</mml:mn>
1811 <mml:mo>-</mml:mo>
1812 <mml:mfenced open="" close="">
1813 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1814 <mml:mi mathvariant="italic">s</mml:mi>
1815 </mml:msub>
1816 </mml:mfenced>
1817 </mml:mrow>
1818 </mml:math>
1819 </td></tr><tr><td align="left">
1820 <code class="constant">GL_TEXTUREn</code>
1821 </td><td align="left">
1822 <code class="constant">GL_SRC_ALPHA</code>
1823 </td><td align="center">
1824 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1825
1826 <mml:mfenced open="" close="">
1827 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1828 <mml:mi mathvariant="italic">s</mml:mi>
1829 </mml:msub>
1830 </mml:mfenced>
1831 </mml:math>
1832 </td></tr><tr><td align="left">
1833 </td><td align="left">
1834 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1835 </td><td align="center">
1836 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1837
1838 <mml:mrow>
1839 <mml:mn>1</mml:mn>
1840 <mml:mo>-</mml:mo>
1841 <mml:mfenced open="" close="">
1842 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1843 <mml:mi mathvariant="italic">s</mml:mi>
1844 </mml:msub>
1845 </mml:mfenced>
1846 </mml:mrow>
1847 </mml:math>
1848 </td></tr><tr><td align="left">
1849 <code class="constant">GL_CONSTANT</code>
1850 </td><td align="left">
1851 <code class="constant">GL_SRC_ALPHA</code>
1852 </td><td align="center">
1853 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1854
1855 <mml:mfenced open="" close="">
1856 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1857 <mml:mi mathvariant="italic">c</mml:mi>
1858 </mml:msub>
1859 </mml:mfenced>
1860 </mml:math>
1861 </td></tr><tr><td align="left">
1862 </td><td align="left">
1863 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1864 </td><td align="center">
1865 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1866
1867 <mml:mrow>
1868 <mml:mn>1</mml:mn>
1869 <mml:mo>-</mml:mo>
1870 <mml:mfenced open="" close="">
1871 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1872 <mml:mi mathvariant="italic">c</mml:mi>
1873 </mml:msub>
1874 </mml:mfenced>
1875 </mml:mrow>
1876 </mml:math>
1877 </td></tr><tr><td align="left">
1878 <code class="constant">GL_PRIMARY_COLOR</code>
1879 </td><td align="left">
1880 <code class="constant">GL_SRC_ALPHA</code>
1881 </td><td align="center">
1882 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1883
1884 <mml:mfenced open="" close="">
1885 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1886 <mml:mi mathvariant="italic">f</mml:mi>
1887 </mml:msub>
1888 </mml:mfenced>
1889 </mml:math>
1890 </td></tr><tr><td align="left">
1891 </td><td align="left">
1892 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1893 </td><td align="center">
1894 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1895
1896 <mml:mrow>
1897 <mml:mn>1</mml:mn>
1898 <mml:mo>-</mml:mo>
1899 <mml:mfenced open="" close="">
1900 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1901 <mml:mi mathvariant="italic">f</mml:mi>
1902 </mml:msub>
1903 </mml:mfenced>
1904 </mml:mrow>
1905 </mml:math>
1906 </td></tr><tr><td align="left">
1907 <code class="constant">GL_PREVIOUS</code>
1908 </td><td align="left">
1909 <code class="constant">GL_SRC_ALPHA</code>
1910 </td><td align="center">
1911 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1912
1913 <mml:mfenced open="" close="">
1914 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1915 <mml:mi mathvariant="italic">p</mml:mi>
1916 </mml:msub>
1917 </mml:mfenced>
1918 </mml:math>
1919 </td></tr><tr><td align="left">
1920 </td><td align="left">
1921 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
1922 </td><td align="center">
1923 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1924
1925 <mml:mrow>
1926 <mml:mn>1</mml:mn>
1927 <mml:mo>-</mml:mo>
1928 <mml:mfenced open="" close="">
1929 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1930 <mml:mi mathvariant="italic">p</mml:mi>
1931 </mml:msub>
1932 </mml:mfenced>
1933 </mml:mrow>
1934 </mml:math>
1935 </td></tr></tbody></table></div><p>
1936 The RGB and alpha results of the texture function are multipled by the
1937 values of <code class="constant">GL_RGB_SCALE</code> and <code class="constant">GL_ALPHA_SCALE</code>, respectively, and
1938 clamped to the range
1939 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1940
1941 <mml:mfenced open="[" close="]">
1942 <mml:mn>0</mml:mn>
1943 <mml:mn>1</mml:mn>
1944 </mml:mfenced>
1945 </mml:math>.
1946 </p><p>
1947 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_ENV_COLOR</code>,
1948 <em class="parameter"><code>params</code></em> is a pointer to an array that holds an RGBA color consisting of four
1949 values.
1950 Integer color components are interpreted linearly such that the most
1951 positive integer maps to 1.0,
1952 and the most negative integer maps to -1.0.
1953 The values are clamped to the range [0,1] when they are specified.
1954 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1955
1956 <mml:msub><mml:mi mathvariant="italic">C</mml:mi>
1957 <mml:mi mathvariant="italic">c</mml:mi>
1958 </mml:msub>
1959 </mml:math>
1960 takes these four values.
1961 </p><p>
1962 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_LOD_BIAS</code>, the value specified is added to the
1963 texture level-of-detail parameter, that selects which mipmap, or mipmaps
1964 depending upon the selected <code class="constant">GL_TEXTURE_MIN_FILTER</code>, will be sampled.
1965 </p><p>
1966 <code class="constant">GL_TEXTURE_ENV_MODE</code> defaults to <code class="constant">GL_MODULATE</code> and
1967 <code class="constant">GL_TEXTURE_ENV_COLOR</code> defaults to (0, 0, 0, 0).
1968 </p><p>
1969 If <em class="parameter"><code>target</code></em> is <code class="constant">GL_POINT_SPRITE</code> and <em class="parameter"><code>pname</code></em> is <code class="constant">GL_COORD_REPLACE</code>, the boolean value specified
1970 is used to either enable or disable point sprite texture coordinate replacement. The default value is <code class="constant">GL_FALSE</code>.
1971 </p></div><div class="refsect1" title="Notes"><a id="notes"></a><h2>Notes</h2><p>
1972 <code class="constant">GL_REPLACE</code> may only be used if the GL version is 1.1 or greater.
1973 </p><p>
1974 <code class="constant">GL_TEXTURE_FILTER_CONTROL</code> and <code class="constant">GL_TEXTURE_LOD_BIAS</code> may only be
1975 used if the GL version is 1.4 or greater.
1976 </p><p>
1977 <code class="constant">GL_COMBINE</code> mode and its associated constants may only be used if the
1978 GL version is 1.3 or greater.
1979 </p><p>
1980 <code class="constant">GL_TEXTUREn</code> may only be used if the GL version is 1.4 or greater.
1981 </p><p>
1982 Internal formats other than 1, 2, 3, or 4 may only be used if the GL
1983 version is 1.1 or greater.
1984 </p><p>
1985 For OpenGL versions 1.3 and greater, or when the <code class="code">ARB_multitexture</code> extension is supported, <code class="function">glTexEnv</code> controls
1986 the texture environment for the current active texture unit, selected by
1987 <a class="citerefentry" href="glActiveTexture.xml"><span class="citerefentry"><span class="refentrytitle">glActiveTexture</span></span></a>.
1988 </p><p>
1989 <code class="constant">GL_POINT_SPRITE</code> and <code class="constant">GL_COORD_REPLACE</code> are available
1990 only if the GL version is 2.0 or greater.
1991 </p></div><div class="refsect1" title="Errors"><a id="errors"></a><h2>Errors</h2><p>
1992 <code class="constant">GL_INVALID_ENUM</code> is generated when <em class="parameter"><code>target</code></em> or <em class="parameter"><code>pname</code></em> is not
1993 one of the accepted defined values,
1994 or when <em class="parameter"><code>params</code></em> should have a defined constant value
1995 (based on the value of <em class="parameter"><code>pname</code></em>)
1996 and does not.
1997 </p><p>
1998 <code class="constant">GL_INVALID_VALUE</code> is generated if the <em class="parameter"><code>params</code></em> value for
1999 <code class="constant">GL_RGB_SCALE</code> or <code class="constant">GL_ALPHA_SCALE</code> are not one of 1.0, 2.0,
2000 or 4.0.
2001 </p><p>
2002 <code class="constant">GL_INVALID_OPERATION</code> is generated if <code class="function">glTexEnv</code>
2003 is executed between the execution of <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a>
2004 and the corresponding execution of <a class="citerefentry" href="glEnd.xml"><span class="citerefentry"><span class="refentrytitle">glEnd</span></span></a>.
2005 </p></div><div class="refsect1" title="Associated Gets"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
2006 <a class="citerefentry" href="glGetTexEnv.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexEnv</span></span></a>
2007 </p></div><div class="refsect1" title="See Also"><a id="seealso"></a><h2>See Also</h2><p>
2008 <a class="citerefentry" href="glActiveTexture.xml"><span class="citerefentry"><span class="refentrytitle">glActiveTexture</span></span></a>,
2009 <a class="citerefentry" href="glCopyPixels.xml"><span class="citerefentry"><span class="refentrytitle">glCopyPixels</span></span></a>,
2010 <a class="citerefentry" href="glCopyTexImage1D.xml"><span class="citerefentry"><span class="refentrytitle">glCopyTexImage1D</span></span></a>,
2011 <a class="citerefentry" href="glCopyTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glCopyTexImage2D</span></span></a>,
2012 <a class="citerefentry" href="glCopyTexSubImage1D.xml"><span class="citerefentry"><span class="refentrytitle">glCopyTexSubImage1D</span></span></a>,
2013 <a class="citerefentry" href="glCopyTexSubImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glCopyTexSubImage2D</span></span></a>,
2014 <a class="citerefentry" href="glCopyTexSubImage3D.xml"><span class="citerefentry"><span class="refentrytitle">glCopyTexSubImage3D</span></span></a>,
2015 <a class="citerefentry" href="glTexImage1D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage1D</span></span></a>,
2016 <a class="citerefentry" href="glTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage2D</span></span></a>,
2017 <a class="citerefentry" href="glTexImage3D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage3D</span></span></a>,
2018 <a class="citerefentry" href="glTexParameter.xml"><span class="citerefentry"><span class="refentrytitle">glTexParameter</span></span></a>,
2019 <a class="citerefentry" href="glTexSubImage1D.xml"><span class="citerefentry"><span class="refentrytitle">glTexSubImage1D</span></span></a>,
2020 <a class="citerefentry" href="glTexSubImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glTexSubImage2D</span></span></a>,
2021 <a class="citerefentry" href="glTexSubImage3D.xml"><span class="citerefentry"><span class="refentrytitle">glTexSubImage3D</span></span></a>
2022 </p></div><div class="refsect1" title="Copyright"><a id="Copyright"></a><h2>Copyright</h2><p>
2023 Copyright <span class="trademark"></span>© 1991-2006
2024 Silicon Graphics, Inc. This document is licensed under the SGI
2025 Free Software B License. For details, see
2026 <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
2027 </p></div></div></body></html>