rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man2 / glEnable.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="glEnable">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>1991-2006</year>
9 <holder>Silicon Graphics, Inc.</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glEnable</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glEnable</refname>
17 <refpurpose>enable or disable server-side GL capabilities</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glEnable</function></funcdef>
23 <paramdef>GLenum <parameter>cap</parameter></paramdef>
24 </funcprototype>
25 </funcsynopsis>
26 </refsynopsisdiv>
27 <refsect1 id="parameters"><title>Parameters</title>
28 <variablelist>
29 <varlistentry>
30 <term><parameter>cap</parameter></term>
31 <listitem>
32 <para>
33 Specifies a symbolic constant indicating a GL capability.
34 </para>
35 </listitem>
36 </varlistentry>
37 </variablelist>
38 </refsect1>
39 <refsynopsisdiv><title>C Specification</title>
40 <funcsynopsis>
41 <funcprototype>
42 <funcdef>void <function>glDisable</function></funcdef>
43 <paramdef>GLenum <parameter>cap</parameter></paramdef>
44 </funcprototype>
45 </funcsynopsis>
46 </refsynopsisdiv>
47 <refsect1 id="parameters2"><title>Parameters</title>
48 <variablelist>
49 <varlistentry>
50 <term><parameter>cap</parameter></term>
51 <listitem>
52 <para>
53 Specifies a symbolic constant indicating a GL capability.
54 </para>
55 </listitem>
56 </varlistentry>
57 </variablelist>
58 </refsect1>
59 <refsect1 id="description"><title>Description</title>
60 <para>
61 <function>glEnable</function> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> enable and disable various capabilities.
62 Use <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> or <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> to determine the current setting
63 of any capability. The initial value for each capability with the
64 exception of <constant>GL_DITHER</constant> and <constant>GL_MULTISAMPLE</constant> is <constant>GL_FALSE</constant>. The initial value for
65 <constant>GL_DITHER</constant> and <constant>GL_MULTISAMPLE</constant> is <constant>GL_TRUE</constant>.
66 </para>
67 <para>
68 Both <function>glEnable</function> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> take a single argument, <parameter>cap</parameter>,
69 which can assume one of the following values:
70 </para>
71 <variablelist>
72 <varlistentry>
73 <term><constant>GL_ALPHA_TEST</constant></term>
74 <listitem>
75 <para>
76 </para>
77 <para>
78 If enabled,
79 do alpha testing. See
80 <citerefentry><refentrytitle>glAlphaFunc</refentrytitle></citerefentry>.
81 </para>
82 </listitem>
83 </varlistentry>
84 <varlistentry>
85 <term><constant>GL_AUTO_NORMAL</constant></term>
86 <listitem>
87 <para>
88 </para>
89 <para>
90 If enabled,
91 generate normal vectors when either
92 <constant>GL_MAP2_VERTEX_3</constant> or
93 <constant>GL_MAP2_VERTEX_4</constant> is used to generate vertices.
94 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
95 </para>
96 </listitem>
97 </varlistentry>
98 <varlistentry>
99 <term><constant>GL_BLEND</constant></term>
100 <listitem>
101 <para>
102 </para>
103 <para>
104 If enabled,
105 blend the computed fragment color values with the values in the color
106 buffers. See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>.
107 </para>
108 </listitem>
109 </varlistentry>
110 <varlistentry>
111 <term><constant>GL_CLIP_PLANE</constant><emphasis>i</emphasis></term>
112 <listitem>
113 <para>
114 </para>
115 <para>
116 If enabled,
117 clip geometry against user-defined clipping plane <emphasis>i</emphasis>.
118 See <citerefentry><refentrytitle>glClipPlane</refentrytitle></citerefentry>.
119 </para>
120 </listitem>
121 </varlistentry>
122 <varlistentry>
123 <term><constant>GL_COLOR_LOGIC_OP</constant></term>
124 <listitem>
125 <para>
126 </para>
127 <para>
128 If enabled,
129 apply the currently selected logical operation to the computed fragment
130 color and color buffer values. See <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>.
131 </para>
132 </listitem>
133 </varlistentry>
134 <varlistentry>
135 <term><constant>GL_COLOR_MATERIAL</constant></term>
136 <listitem>
137 <para>
138 </para>
139 <para>
140 If enabled,
141 have one or more material parameters track the current color.
142 See <citerefentry><refentrytitle>glColorMaterial</refentrytitle></citerefentry>.
143 </para>
144 </listitem>
145 </varlistentry>
146 <varlistentry>
147 <term><constant>GL_COLOR_SUM</constant></term>
148 <listitem>
149 <para>
150 </para>
151 <para>
152 If enabled and no fragment shader is active,
153 add the secondary color value to the computed fragment color.
154 See <citerefentry><refentrytitle>glSecondaryColor</refentrytitle></citerefentry>.
155 </para>
156 </listitem>
157 </varlistentry>
158 <varlistentry>
159 <term><constant>GL_COLOR_TABLE</constant></term>
160 <listitem>
161 <para>
162 </para>
163 <para>
164 If enabled,
165 perform a color table lookup on the incoming RGBA color values.
166 See <citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>.
167 </para>
168 </listitem>
169 </varlistentry>
170 <varlistentry>
171 <term><constant>GL_CONVOLUTION_1D</constant></term>
172 <listitem>
173 <para>
174 </para>
175 <para>
176 If enabled,
177 perform a 1D convolution operation on incoming RGBA color values.
178 See <citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>.
179 </para>
180 </listitem>
181 </varlistentry>
182 <varlistentry>
183 <term><constant>GL_CONVOLUTION_2D</constant></term>
184 <listitem>
185 <para>
186 </para>
187 <para>
188 If enabled,
189 perform a 2D convolution operation on incoming RGBA color values.
190 See <citerefentry><refentrytitle>glConvolutionFilter2D</refentrytitle></citerefentry>.
191 </para>
192 </listitem>
193 </varlistentry>
194 <varlistentry>
195 <term><constant>GL_CULL_FACE</constant></term>
196 <listitem>
197 <para>
198 </para>
199 <para>
200 If enabled,
201 cull polygons based on their winding in window coordinates.
202 See <citerefentry><refentrytitle>glCullFace</refentrytitle></citerefentry>.
203 </para>
204 </listitem>
205 </varlistentry>
206 <varlistentry>
207 <term><constant>GL_DEPTH_TEST</constant></term>
208 <listitem>
209 <para>
210 </para>
211 <para>
212 If enabled,
213 do depth comparisons and update the depth buffer. Note that even if
214 the depth buffer exists and the depth mask is non-zero, the
215 depth buffer is not updated if the depth test is disabled. See
216 <citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry> and
217 <citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>.
218 </para>
219 </listitem>
220 </varlistentry>
221 <varlistentry>
222 <term><constant>GL_DITHER</constant> </term>
223 <listitem>
224 <para>
225 </para>
226 <para>
227 If enabled,
228 dither color components or indices before they are written to the
229 color buffer.
230 </para>
231 </listitem>
232 </varlistentry>
233 <varlistentry>
234 <term><constant>GL_FOG</constant></term>
235 <listitem>
236 <para>
237 </para>
238 <para>
239 If enabled and no fragment shader is active,
240 blend a fog color into the post-texturing color.
241 See <citerefentry><refentrytitle>glFog</refentrytitle></citerefentry>.
242 </para>
243 </listitem>
244 </varlistentry>
245 <varlistentry>
246 <term><constant>GL_HISTOGRAM</constant></term>
247 <listitem>
248 <para>
249 </para>
250 <para>
251 If enabled,
252 histogram incoming RGBA color values.
253 See <citerefentry><refentrytitle>glHistogram</refentrytitle></citerefentry>.
254 </para>
255 </listitem>
256 </varlistentry>
257 <varlistentry>
258 <term><constant>GL_INDEX_LOGIC_OP</constant></term>
259 <listitem>
260 <para>
261 </para>
262 <para>
263 If enabled,
264 apply the currently selected logical operation to the incoming index and color
265 buffer indices.
266 See <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>.
267 </para>
268 </listitem>
269 </varlistentry>
270 <varlistentry>
271 <term><constant>GL_LIGHT</constant><emphasis>i</emphasis></term>
272 <listitem>
273 <para>
274 </para>
275 <para>
276 If enabled,
277 include light <emphasis>i</emphasis> in the evaluation of the lighting
278 equation. See <citerefentry><refentrytitle>glLightModel</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glLight</refentrytitle></citerefentry>.
279 </para>
280 </listitem>
281 </varlistentry>
282 <varlistentry>
283 <term><constant>GL_LIGHTING</constant></term>
284 <listitem>
285 <para>
286 </para>
287 <para>
288 If enabled and no vertex shader is active,
289 use the current lighting parameters to compute the vertex color or index.
290 Otherwise, simply associate the current color or index with each
291 vertex. See
292 <citerefentry><refentrytitle>glMaterial</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glLightModel</refentrytitle></citerefentry>, and <citerefentry><refentrytitle>glLight</refentrytitle></citerefentry>.
293 </para>
294 </listitem>
295 </varlistentry>
296 <varlistentry>
297 <term><constant>GL_LINE_SMOOTH</constant></term>
298 <listitem>
299 <para>
300 </para>
301 <para>
302 If enabled,
303 draw lines with correct filtering.
304 Otherwise,
305 draw aliased lines.
306 See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
307 </para>
308 </listitem>
309 </varlistentry>
310 <varlistentry>
311 <term><constant>GL_LINE_STIPPLE</constant></term>
312 <listitem>
313 <para>
314 </para>
315 <para>
316 If enabled,
317 use the current line stipple pattern when drawing lines. See
318 <citerefentry><refentrytitle>glLineStipple</refentrytitle></citerefentry>.
319 </para>
320 </listitem>
321 </varlistentry>
322 <varlistentry>
323 <term><constant>GL_MAP1_COLOR_4</constant></term>
324 <listitem>
325 <para>
326 </para>
327 <para>
328 If enabled,
329 calls to
330 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
331 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
332 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate RGBA values.
333 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
334 </para>
335 </listitem>
336 </varlistentry>
337 <varlistentry>
338 <term><constant>GL_MAP1_INDEX</constant></term>
339 <listitem>
340 <para>
341 </para>
342 <para>
343 If enabled,
344 calls to
345 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
346 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
347 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate color indices.
348 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
349 </para>
350 </listitem>
351 </varlistentry>
352 <varlistentry>
353 <term><constant>GL_MAP1_NORMAL</constant></term>
354 <listitem>
355 <para>
356 </para>
357 <para>
358 If enabled,
359 calls to
360 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
361 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
362 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate normals.
363 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
364 </para>
365 </listitem>
366 </varlistentry>
367 <varlistentry>
368 <term><constant>GL_MAP1_TEXTURE_COORD_1</constant></term>
369 <listitem>
370 <para>
371 </para>
372 <para>
373 If enabled,
374 calls to
375 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
376 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
377 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate
378 <emphasis>s</emphasis>
379 texture coordinates.
380 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
381 </para>
382 </listitem>
383 </varlistentry>
384 <varlistentry>
385 <term><constant>GL_MAP1_TEXTURE_COORD_2</constant></term>
386 <listitem>
387 <para>
388 </para>
389 <para>
390 If enabled,
391 calls to
392 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
393 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
394 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate
395 <emphasis>s</emphasis> and
396 <emphasis>t</emphasis> texture coordinates.
397 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
398 </para>
399 </listitem>
400 </varlistentry>
401 <varlistentry>
402 <term><constant>GL_MAP1_TEXTURE_COORD_3</constant></term>
403 <listitem>
404 <para>
405 </para>
406 <para>
407 If enabled,
408 calls to
409 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
410 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
411 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate
412 <emphasis>s</emphasis>,
413 <emphasis>t</emphasis>, and
414 <emphasis>r</emphasis> texture coordinates.
415 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
416 </para>
417 </listitem>
418 </varlistentry>
419 <varlistentry>
420 <term><constant>GL_MAP1_TEXTURE_COORD_4</constant></term>
421 <listitem>
422 <para>
423 </para>
424 <para>
425 If enabled,
426 calls to
427 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
428 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
429 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate
430 <emphasis>s</emphasis>,
431 <emphasis>t</emphasis>,
432 <emphasis>r</emphasis>, and
433 <emphasis>q</emphasis> texture coordinates.
434 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
435 </para>
436 </listitem>
437 </varlistentry>
438 <varlistentry>
439 <term><constant>GL_MAP1_VERTEX_3</constant></term>
440 <listitem>
441 <para>
442 </para>
443 <para>
444 If enabled,
445 calls to
446 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
447 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
448 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate
449 <emphasis>x</emphasis>, <emphasis>y</emphasis>, and <emphasis>z</emphasis> vertex coordinates.
450 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
451 </para>
452 </listitem>
453 </varlistentry>
454 <varlistentry>
455 <term><constant>GL_MAP1_VERTEX_4</constant></term>
456 <listitem>
457 <para>
458 </para>
459 <para>
460 If enabled,
461 calls to
462 <citerefentry><refentrytitle>glEvalCoord1</refentrytitle></citerefentry>,
463 <citerefentry><refentrytitle>glEvalMesh1</refentrytitle></citerefentry>, and
464 <citerefentry><refentrytitle>glEvalPoint1</refentrytitle></citerefentry> generate
465 homogeneous
466 <emphasis>x</emphasis>,
467 <emphasis>y</emphasis>,
468 <emphasis>z</emphasis>, and
469 <emphasis>w</emphasis> vertex coordinates.
470 See <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>.
471 </para>
472 </listitem>
473 </varlistentry>
474 <varlistentry>
475 <term><constant>GL_MAP2_COLOR_4</constant></term>
476 <listitem>
477 <para>
478 </para>
479 <para>
480 If enabled,
481 calls to
482 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
483 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
484 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate RGBA values.
485 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
486 </para>
487 </listitem>
488 </varlistentry>
489 <varlistentry>
490 <term><constant>GL_MAP2_INDEX</constant></term>
491 <listitem>
492 <para>
493 </para>
494 <para>
495 If enabled,
496 calls to
497 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
498 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
499 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate color indices.
500 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
501 </para>
502 </listitem>
503 </varlistentry>
504 <varlistentry>
505 <term><constant>GL_MAP2_NORMAL</constant></term>
506 <listitem>
507 <para>
508 </para>
509 <para>
510 If enabled,
511 calls to
512 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
513 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
514 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate normals.
515 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
516 </para>
517 </listitem>
518 </varlistentry>
519 <varlistentry>
520 <term><constant>GL_MAP2_TEXTURE_COORD_1</constant></term>
521 <listitem>
522 <para>
523 </para>
524 <para>
525 If enabled,
526 calls to
527 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
528 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
529 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate
530 <emphasis>s</emphasis>
531 texture coordinates.
532 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
533 </para>
534 </listitem>
535 </varlistentry>
536 <varlistentry>
537 <term><constant>GL_MAP2_TEXTURE_COORD_2</constant></term>
538 <listitem>
539 <para>
540 </para>
541 <para>
542 If enabled,
543 calls to
544 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
545 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
546 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate
547 <emphasis>s</emphasis> and
548 <emphasis>t</emphasis> texture coordinates.
549 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
550 </para>
551 </listitem>
552 </varlistentry>
553 <varlistentry>
554 <term><constant>GL_MAP2_TEXTURE_COORD_3</constant></term>
555 <listitem>
556 <para>
557 </para>
558 <para>
559 If enabled,
560 calls to
561 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
562 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
563 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate
564 <emphasis>s</emphasis>,
565 <emphasis>t</emphasis>, and
566 <emphasis>r</emphasis> texture coordinates.
567 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
568 </para>
569 </listitem>
570 </varlistentry>
571 <varlistentry>
572 <term><constant>GL_MAP2_TEXTURE_COORD_4</constant></term>
573 <listitem>
574 <para>
575 </para>
576 <para>
577 If enabled,
578 calls to
579 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
580 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
581 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate
582 <emphasis>s</emphasis>,
583 <emphasis>t</emphasis>,
584 <emphasis>r</emphasis>, and
585 <emphasis>q</emphasis> texture coordinates.
586 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
587 </para>
588 </listitem>
589 </varlistentry>
590 <varlistentry>
591 <term><constant>GL_MAP2_VERTEX_3</constant></term>
592 <listitem>
593 <para>
594 </para>
595 <para>
596 If enabled,
597 calls to
598 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
599 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
600 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate
601 <emphasis>x</emphasis>, <emphasis>y</emphasis>, and <emphasis>z</emphasis> vertex coordinates.
602 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
603 </para>
604 </listitem>
605 </varlistentry>
606 <varlistentry>
607 <term><constant>GL_MAP2_VERTEX_4</constant></term>
608 <listitem>
609 <para>
610 </para>
611 <para>
612 If enabled,
613 calls to
614 <citerefentry><refentrytitle>glEvalCoord2</refentrytitle></citerefentry>,
615 <citerefentry><refentrytitle>glEvalMesh2</refentrytitle></citerefentry>, and
616 <citerefentry><refentrytitle>glEvalPoint2</refentrytitle></citerefentry> generate
617 homogeneous
618 <emphasis>x</emphasis>,
619 <emphasis>y</emphasis>,
620 <emphasis>z</emphasis>, and
621 <emphasis>w</emphasis> vertex coordinates.
622 See <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>.
623 </para>
624 </listitem>
625 </varlistentry>
626 <varlistentry>
627 <term><constant>GL_MINMAX</constant></term>
628 <listitem>
629 <para>
630 </para>
631 <para>
632 If enabled,
633 compute the minimum and maximum values of incoming RGBA color values.
634 See <citerefentry><refentrytitle>glMinmax</refentrytitle></citerefentry>.
635 </para>
636 </listitem>
637 </varlistentry>
638 <varlistentry>
639 <term><constant>GL_MULTISAMPLE</constant></term>
640 <listitem>
641 <para>
642 </para>
643 <para>
644 If enabled,
645 use multiple fragment samples in computing the final color of a pixel.
646 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
647 </para>
648 </listitem>
649 </varlistentry>
650 <varlistentry>
651 <term><constant>GL_NORMALIZE</constant></term>
652 <listitem>
653 <para>
654 </para>
655 <para>
656 If enabled and no vertex shader is active,
657 normal vectors are normalized to unit length
658 after transformation and before lighting. This method is generally
659 less efficient than <constant>GL_RESCALE_NORMAL</constant>. See
660 <citerefentry><refentrytitle>glNormal</refentrytitle></citerefentry> and
661 <citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>.
662 </para>
663 </listitem>
664 </varlistentry>
665 <varlistentry>
666 <term><constant>GL_POINT_SMOOTH</constant></term>
667 <listitem>
668 <para>
669 </para>
670 <para>
671 If enabled,
672 draw points with proper filtering.
673 Otherwise,
674 draw aliased points.
675 See <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
676 </para>
677 </listitem>
678 </varlistentry>
679 <varlistentry>
680 <term><constant>GL_POINT_SPRITE</constant></term>
681 <listitem>
682 <para>
683 </para>
684 <para>
685 If enabled,
686 calculate texture coordinates for points based on texture
687 environment and point parameter settings. Otherwise texture coordinates
688 are constant across points.
689 </para>
690 </listitem>
691 </varlistentry>
692 <varlistentry>
693 <term><constant>GL_POLYGON_OFFSET_FILL</constant></term>
694 <listitem>
695 <para>
696 </para>
697 <para>
698 If enabled, and if the polygon is rendered in
699 <constant>GL_FILL</constant> mode, an offset is added to depth values of a polygon's
700 fragments before the depth comparison is performed.
701 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
702 </para>
703 </listitem>
704 </varlistentry>
705 <varlistentry>
706 <term><constant>GL_POLYGON_OFFSET_LINE</constant></term>
707 <listitem>
708 <para>
709 </para>
710 <para>
711 If enabled, and if the polygon is rendered in
712 <constant>GL_LINE</constant> mode, an offset is added to depth values of a polygon's
713 fragments before the depth comparison is performed.
714 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
715 </para>
716 </listitem>
717 </varlistentry>
718 <varlistentry>
719 <term><constant>GL_POLYGON_OFFSET_POINT</constant></term>
720 <listitem>
721 <para>
722 </para>
723 <para>
724 If enabled, an offset is added to depth values of a polygon's fragments
725 before the depth comparison is performed, if the polygon is rendered in
726 <constant>GL_POINT</constant> mode. See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
727 </para>
728 </listitem>
729 </varlistentry>
730 <varlistentry>
731 <term><constant>GL_POLYGON_SMOOTH</constant></term>
732 <listitem>
733 <para>
734 </para>
735 <para>
736 If enabled, draw polygons with proper filtering.
737 Otherwise, draw aliased polygons. For correct antialiased polygons,
738 an alpha buffer is needed and the polygons must be sorted front to
739 back.
740 </para>
741 </listitem>
742 </varlistentry>
743 <varlistentry>
744 <term><constant>GL_POLYGON_STIPPLE</constant></term>
745 <listitem>
746 <para>
747 </para>
748 <para>
749 If enabled,
750 use the current polygon stipple pattern when rendering
751 polygons. See <citerefentry><refentrytitle>glPolygonStipple</refentrytitle></citerefentry>.
752 </para>
753 </listitem>
754 </varlistentry>
755 <varlistentry>
756 <term><constant>GL_POST_COLOR_MATRIX_COLOR_TABLE</constant></term>
757 <listitem>
758 <para>
759 </para>
760 <para>
761 If enabled,
762 perform a color table lookup on RGBA color values after color matrix
763 transformation.
764 See <citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>.
765 </para>
766 </listitem>
767 </varlistentry>
768 <varlistentry>
769 <term><constant>GL_POST_CONVOLUTION_COLOR_TABLE</constant></term>
770 <listitem>
771 <para>
772 </para>
773 <para>
774 If enabled,
775 perform a color table lookup on RGBA color values after convolution.
776 See <citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>.
777 </para>
778 </listitem>
779 </varlistentry>
780 <varlistentry>
781 <term><constant>GL_RESCALE_NORMAL</constant></term>
782 <listitem>
783 <para>
784 </para>
785 <para>
786 If enabled and no vertex shader is active,
787 normal vectors are scaled after transformation and before
788 lighting by a factor computed from the modelview matrix. If the
789 modelview matrix scales space uniformly, this has the effect of
790 restoring the transformed normal to unit length. This method is generally
791 more efficient than <constant>GL_NORMALIZE</constant>. See
792 <citerefentry><refentrytitle>glNormal</refentrytitle></citerefentry> and
793 <citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>.
794 </para>
795 </listitem>
796 </varlistentry>
797 <varlistentry>
798 <term><constant>GL_SAMPLE_ALPHA_TO_COVERAGE</constant></term>
799 <listitem>
800 <para>
801 </para>
802 <para>
803 If enabled,
804 compute a temporary coverage value where each bit is determined by the
805 alpha value at the corresponding sample location. The temporary coverage
806 value is then ANDed with the fragment coverage value.
807 </para>
808 </listitem>
809 </varlistentry>
810 <varlistentry>
811 <term><constant>GL_SAMPLE_ALPHA_TO_ONE</constant></term>
812 <listitem>
813 <para>
814 </para>
815 <para>
816 If enabled,
817 each sample alpha value is replaced by the maximum representable alpha value.
818 </para>
819 </listitem>
820 </varlistentry>
821 <varlistentry>
822 <term><constant>GL_SAMPLE_COVERAGE</constant></term>
823 <listitem>
824 <para>
825 </para>
826 <para>
827 If enabled,
828 the fragment's coverage is ANDed with the temporary coverage value. If
829 <constant>GL_SAMPLE_COVERAGE_INVERT</constant> is set to <constant>GL_TRUE</constant>, invert the coverage
830 value.
831 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
832 </para>
833 </listitem>
834 </varlistentry>
835 <varlistentry>
836 <term><constant>GL_SEPARABLE_2D</constant></term>
837 <listitem>
838 <para>
839 </para>
840 <para>
841 If enabled, perform a two-dimensional convolution operation using a separable
842 convolution filter on incoming RGBA color values.
843 See <citerefentry><refentrytitle>glSeparableFilter2D</refentrytitle></citerefentry>.
844 </para>
845 </listitem>
846 </varlistentry>
847 <varlistentry>
848 <term><constant>GL_SCISSOR_TEST</constant></term>
849 <listitem>
850 <para>
851 </para>
852 <para>
853 If enabled,
854 discard fragments that are outside the scissor rectangle.
855 See <citerefentry><refentrytitle>glScissor</refentrytitle></citerefentry>.
856 </para>
857 </listitem>
858 </varlistentry>
859 <varlistentry>
860 <term><constant>GL_STENCIL_TEST</constant></term>
861 <listitem>
862 <para>
863 </para>
864 <para>
865 If enabled,
866 do stencil testing and update the stencil buffer.
867 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
868 </para>
869 </listitem>
870 </varlistentry>
871 <varlistentry>
872 <term><constant>GL_TEXTURE_1D</constant></term>
873 <listitem>
874 <para>
875 </para>
876 <para>
877 If enabled and no fragment shader is active,
878 one-dimensional texturing is performed
879 (unless two- or three-dimensional or cube-mapped texturing is also enabled).
880 See <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>.
881 </para>
882 </listitem>
883 </varlistentry>
884 <varlistentry>
885 <term><constant>GL_TEXTURE_2D</constant></term>
886 <listitem>
887 <para>
888 </para>
889 <para>
890 If enabled and no fragment shader is active,
891 two-dimensional texturing is performed
892 (unless three-dimensional or cube-mapped texturing is also enabled).
893 See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
894 </para>
895 </listitem>
896 </varlistentry>
897 <varlistentry>
898 <term><constant>GL_TEXTURE_3D</constant></term>
899 <listitem>
900 <para>
901 </para>
902 <para>
903 If enabled and no fragment shader is active,
904 three-dimensional texturing is performed
905 (unless cube-mapped texturing is also enabled).
906 See <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>.
907 </para>
908 </listitem>
909 </varlistentry>
910 <varlistentry>
911 <term><constant>GL_TEXTURE_CUBE_MAP</constant></term>
912 <listitem>
913 <para>
914 </para>
915 <para>
916 If enabled and no fragment shader is active,
917 cube-mapped texturing is performed.
918 See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
919 </para>
920 </listitem>
921 </varlistentry>
922 <varlistentry>
923 <term><constant>GL_TEXTURE_GEN_Q</constant></term>
924 <listitem>
925 <para>
926 </para>
927 <para>
928 If enabled and no vertex shader is active,
929 the <emphasis>q</emphasis> texture coordinate is computed using
930 the texture generation function defined with <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>.
931 Otherwise, the current <emphasis>q</emphasis> texture coordinate is used.
932 See <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>.
933 </para>
934 </listitem>
935 </varlistentry>
936 <varlistentry>
937 <term><constant>GL_TEXTURE_GEN_R</constant></term>
938 <listitem>
939 <para>
940 </para>
941 <para>
942 If enabled and no vertex shader is active,
943 the <emphasis>r</emphasis> texture coordinate is computed using
944 the texture generation function defined with <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>.
945 Otherwise, the current <emphasis>r</emphasis> texture coordinate is used.
946 See <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>.
947 </para>
948 </listitem>
949 </varlistentry>
950 <varlistentry>
951 <term><constant>GL_TEXTURE_GEN_S</constant></term>
952 <listitem>
953 <para>
954 </para>
955 <para>
956 If enabled and no vertex shader is active,
957 the <emphasis>s</emphasis> texture coordinate is computed using
958 the texture generation function defined with <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>.
959 Otherwise, the current <emphasis>s</emphasis> texture coordinate is used.
960 See <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>.
961 </para>
962 </listitem>
963 </varlistentry>
964 <varlistentry>
965 <term><constant>GL_TEXTURE_GEN_T</constant></term>
966 <listitem>
967 <para>
968 </para>
969 <para>
970 If enabled and no vertex shader is active,
971 the <emphasis>t</emphasis> texture coordinate is computed using
972 the texture generation function defined with <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>.
973 Otherwise, the current <emphasis>t</emphasis> texture coordinate is used.
974 See <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>.
975 </para>
976 </listitem>
977 </varlistentry>
978 <varlistentry>
979 <term><constant>GL_VERTEX_PROGRAM_POINT_SIZE</constant></term>
980 <listitem>
981 <para>
982 </para>
983 <para>
984 If enabled
985 and a vertex shader is active, then the derived point size is taken from the (potentially clipped) shader builtin
986 <constant>gl_PointSize</constant> and clamped to the implementation-dependent point size range.
987 </para>
988 </listitem>
989 </varlistentry>
990 <varlistentry>
991 <term><constant>GL_VERTEX_PROGRAM_TWO_SIDE</constant></term>
992 <listitem>
993 <para>
994 </para>
995 <para>
996 If enabled
997 and a vertex shader is active, it specifies that the GL will choose between front and back colors based on the
998 polygon's face direction of which the vertex being shaded is a part. It has no effect on points or lines.
999 </para>
1000 </listitem>
1001 </varlistentry>
1002 </variablelist>
1003 </refsect1>
1004 <refsect1 id="notes"><title>Notes</title>
1005 <para>
1006 <constant>GL_POLYGON_OFFSET_FILL</constant>, <constant>GL_POLYGON_OFFSET_LINE</constant>,
1007 <constant>GL_POLYGON_OFFSET_POINT</constant>,
1008 <constant>GL_COLOR_LOGIC_OP</constant>, and <constant>GL_INDEX_LOGIC_OP</constant> are available
1009 only if the GL version is 1.1 or greater.
1010 </para>
1011 <para>
1012 <constant>GL_RESCALE_NORMAL</constant>, and <constant>GL_TEXTURE_3D</constant> are available only if the
1013 GL version is 1.2 or greater.
1014 </para>
1015 <para>
1016 <constant>GL_MULTISAMPLE</constant>,
1017 <constant>GL_SAMPLE_ALPHA_TO_COVERAGE</constant>,
1018 <constant>GL_SAMPLE_ALPHA_TO_ONE</constant>,
1019 <constant>GL_SAMPLE_COVERAGE</constant>,
1020 <constant>GL_TEXTURE_CUBE_MAP</constant>
1021 are available only if the GL version is 1.3 or greater.
1022 </para>
1023 <para>
1024 <constant>GL_POINT_SPRITE</constant>,
1025 <constant>GL_VERTEX_PROGRAM_POINT_SIZE</constant>, and
1026 <constant>GL_VERTEX_PROGRAM_TWO_SIDE</constant>
1027 is available only if the GL version is 2.0 or greater.
1028 </para>
1029 <para>
1030 <constant>GL_COLOR_TABLE</constant>, <constant>GL_CONVOLUTION_1D</constant>, <constant>GL_CONVOLUTION_2D</constant>,
1031 <constant>GL_HISTOGRAM</constant>, <constant>GL_MINMAX</constant>,
1032 <constant>GL_POST_COLOR_MATRIX_COLOR_TABLE</constant>,
1033 <constant>GL_POST_CONVOLUTION_COLOR_TABLE</constant>, and
1034 <constant>GL_SEPARABLE_2D</constant> are available only if <code>ARB_imaging</code> is returned
1035 from <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with an argument of <constant>GL_EXTENSIONS</constant>.
1036 </para>
1037 <para>
1038 For OpenGL versions 1.3 and greater, or when <code>ARB_multitexture</code> is supported, <constant>GL_TEXTURE_1D</constant>,
1039 <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_3D</constant>, <constant>GL_TEXTURE_GEN_S</constant>,
1040 <constant>GL_TEXTURE_GEN_T</constant>, <constant>GL_TEXTURE_GEN_R</constant>, and <constant>GL_TEXTURE_GEN_Q</constant>
1041 enable or disable the respective state for the active texture unit
1042 specified with <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
1043 </para>
1044 </refsect1>
1045 <refsect1 id="errors"><title>Errors</title>
1046 <para>
1047 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>cap</parameter> is not one of the values
1048 listed previously.
1049 </para>
1050 <para>
1051 <constant>GL_INVALID_OPERATION</constant> is generated if <function>glEnable</function> or <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry>
1052 is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
1053 and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
1054 </para>
1055 </refsect1>
1056 <refsect1 id="associatedgets"><title>Associated Gets</title>
1057 <para>
1058 <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>
1059 </para>
1060 <para>
1061 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
1062 </para>
1063 </refsect1>
1064 <refsect1 id="seealso"><title>See Also</title>
1065 <para>
1066 <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
1067 <citerefentry><refentrytitle>glAlphaFunc</refentrytitle></citerefentry>,
1068 <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
1069 <citerefentry><refentrytitle>glClipPlane</refentrytitle></citerefentry>,
1070 <citerefentry><refentrytitle>glColorMaterial</refentrytitle></citerefentry>,
1071 <citerefentry><refentrytitle>glCullFace</refentrytitle></citerefentry>,
1072 <citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>,
1073 <citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>,
1074 <citerefentry><refentrytitle>glEnableClientState</refentrytitle></citerefentry>,
1075 <citerefentry><refentrytitle>glFog</refentrytitle></citerefentry>,
1076 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
1077 <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>,
1078 <citerefentry><refentrytitle>glLight</refentrytitle></citerefentry>,
1079 <citerefentry><refentrytitle>glLightModel</refentrytitle></citerefentry>,
1080 <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>,
1081 <citerefentry><refentrytitle>glLineStipple</refentrytitle></citerefentry>,
1082 <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>,
1083 <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>,
1084 <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>,
1085 <citerefentry><refentrytitle>glMaterial</refentrytitle></citerefentry>,
1086 <citerefentry><refentrytitle>glNormal</refentrytitle></citerefentry>,
1087 <citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>,
1088 <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>,
1089 <citerefentry><refentrytitle>glPolygonMode</refentrytitle></citerefentry>,
1090 <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>,
1091 <citerefentry><refentrytitle>glPolygonStipple</refentrytitle></citerefentry>,
1092 <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>,
1093 <citerefentry><refentrytitle>glScissor</refentrytitle></citerefentry>,
1094 <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>,
1095 <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>,
1096 <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
1097 <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
1098 <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
1099 <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>
1100 </para>
1101 </refsect1>
1102 <refsect1 id="Copyright"><title>Copyright</title>
1103 <para>
1104 Copyright <trademark class="copyright"></trademark> 1991-2006
1105 Silicon Graphics, Inc. This document is licensed under the SGI
1106 Free Software B License. For details, see
1107 <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
1108 </para>
1109 </refsect1>
1110 </refentry>