Commit | Line | Data |
---|---|---|
7faf1d71 AW |
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="glPushAttrib"> | |
5 | <refmeta> | |
6 | <refmetainfo> | |
7 | <copyright> | |
8 | <year>1991-2006</year> | |
9 | <holder>Silicon Graphics, Inc.</holder> | |
10 | </copyright> | |
11 | </refmetainfo> | |
12 | <refentrytitle>glPushAttrib</refentrytitle> | |
13 | <manvolnum>3G</manvolnum> | |
14 | </refmeta> | |
15 | <refnamediv> | |
16 | <refname>glPushAttrib</refname> | |
17 | <refpurpose>push and pop the server attribute stack</refpurpose> | |
18 | </refnamediv> | |
19 | <refsynopsisdiv><title>C Specification</title> | |
20 | <funcsynopsis> | |
21 | <funcprototype> | |
22 | <funcdef>void <function>glPushAttrib</function></funcdef> | |
23 | <paramdef>GLbitfield <parameter>mask</parameter></paramdef> | |
24 | </funcprototype> | |
25 | </funcsynopsis> | |
26 | </refsynopsisdiv> | |
27 | <refsect1 id="parameters"><title>Parameters</title> | |
28 | <variablelist> | |
29 | <varlistentry> | |
30 | <term><parameter>mask</parameter></term> | |
31 | <listitem> | |
32 | <para> | |
33 | Specifies a mask that indicates which attributes to save. Values for | |
34 | <parameter>mask</parameter> are listed below. | |
35 | </para> | |
36 | </listitem> | |
37 | </varlistentry> | |
38 | </variablelist> | |
39 | </refsect1> | |
40 | <refsynopsisdiv><title>C Specification</title> | |
41 | <funcsynopsis> | |
42 | <funcprototype> | |
43 | <funcdef>void <function>glPopAttrib</function></funcdef> | |
44 | <paramdef> <parameter>void</parameter></paramdef> | |
45 | </funcprototype> | |
46 | </funcsynopsis> | |
47 | </refsynopsisdiv> | |
48 | <refsect1 id="description"><title>Description</title> | |
49 | <para> | |
50 | <function>glPushAttrib</function> takes one argument, | |
51 | a mask that indicates which groups of state variables | |
52 | to save on the attribute stack. | |
53 | Symbolic constants are used to set bits in the mask. | |
54 | <parameter>mask</parameter> | |
55 | is typically constructed by specifying the bitwise-or of several | |
56 | of these constants together. | |
57 | The special mask | |
58 | <constant>GL_ALL_ATTRIB_BITS</constant> | |
59 | can be used to save all stackable states. | |
60 | </para> | |
61 | <para> | |
62 | The symbolic mask constants and their associated GL state are as follows | |
63 | (the second column lists which attributes are saved): | |
64 | </para> | |
65 | <para> | |
66 | </para> | |
67 | <informaltable frame="topbot"> | |
68 | <tgroup cols="2" align="left"> | |
69 | <colspec/> | |
70 | <colspec/> | |
71 | <tbody> | |
72 | <row> | |
73 | <entry align="left"> | |
74 | <constant>GL_ACCUM_BUFFER_BIT</constant> | |
75 | </entry> | |
76 | <entry align="left"> | |
77 | Accumulation buffer clear value | |
78 | </entry> | |
79 | </row> | |
80 | <row> | |
81 | <entry align="left"> | |
82 | <constant>GL_COLOR_BUFFER_BIT</constant> | |
83 | </entry> | |
84 | <entry align="left"> | |
85 | <constant>GL_ALPHA_TEST</constant> enable bit | |
86 | </entry> | |
87 | </row> | |
88 | <row> | |
89 | <entry align="left"> | |
90 | </entry> | |
91 | <entry align="left"> | |
92 | Alpha test function and reference value | |
93 | </entry> | |
94 | </row> | |
95 | <row> | |
96 | <entry align="left"> | |
97 | </entry> | |
98 | <entry align="left"> | |
99 | <constant>GL_BLEND</constant> enable bit | |
100 | </entry> | |
101 | </row> | |
102 | <row> | |
103 | <entry align="left"> | |
104 | </entry> | |
105 | <entry align="left"> | |
106 | Blending source and destination functions | |
107 | </entry> | |
108 | </row> | |
109 | <row> | |
110 | <entry align="left"> | |
111 | </entry> | |
112 | <entry align="left"> | |
113 | Constant blend color | |
114 | </entry> | |
115 | </row> | |
116 | <row> | |
117 | <entry align="left"> | |
118 | </entry> | |
119 | <entry align="left"> | |
120 | Blending equation | |
121 | </entry> | |
122 | </row> | |
123 | <row> | |
124 | <entry align="left"> | |
125 | </entry> | |
126 | <entry align="left"> | |
127 | <constant>GL_DITHER</constant> enable bit | |
128 | </entry> | |
129 | </row> | |
130 | <row> | |
131 | <entry align="left"> | |
132 | </entry> | |
133 | <entry align="left"> | |
134 | <constant>GL_DRAW_BUFFER</constant> setting | |
135 | </entry> | |
136 | </row> | |
137 | <row> | |
138 | <entry align="left"> | |
139 | </entry> | |
140 | <entry align="left"> | |
141 | <constant>GL_COLOR_LOGIC_OP</constant> enable bit | |
142 | </entry> | |
143 | </row> | |
144 | <row> | |
145 | <entry align="left"> | |
146 | </entry> | |
147 | <entry align="left"> | |
148 | <constant>GL_INDEX_LOGIC_OP</constant> enable bit | |
149 | </entry> | |
150 | </row> | |
151 | <row> | |
152 | <entry align="left"> | |
153 | </entry> | |
154 | <entry align="left"> | |
155 | Logic op function | |
156 | </entry> | |
157 | </row> | |
158 | <row> | |
159 | <entry align="left"> | |
160 | </entry> | |
161 | <entry align="left"> | |
162 | Color mode and index mode clear values | |
163 | </entry> | |
164 | </row> | |
165 | <row> | |
166 | <entry align="left"> | |
167 | </entry> | |
168 | <entry align="left"> | |
169 | Color mode and index mode writemasks | |
170 | </entry> | |
171 | </row> | |
172 | <row> | |
173 | <entry align="left"> | |
174 | <constant>GL_CURRENT_BIT</constant> | |
175 | </entry> | |
176 | <entry align="left"> | |
177 | Current RGBA color | |
178 | </entry> | |
179 | </row> | |
180 | <row> | |
181 | <entry align="left"> | |
182 | </entry> | |
183 | <entry align="left"> | |
184 | Current color index | |
185 | </entry> | |
186 | </row> | |
187 | <row> | |
188 | <entry align="left"> | |
189 | </entry> | |
190 | <entry align="left"> | |
191 | Current normal vector | |
192 | </entry> | |
193 | </row> | |
194 | <row> | |
195 | <entry align="left"> | |
196 | </entry> | |
197 | <entry align="left"> | |
198 | Current texture coordinates | |
199 | </entry> | |
200 | </row> | |
201 | <row> | |
202 | <entry align="left"> | |
203 | </entry> | |
204 | <entry align="left"> | |
205 | Current raster position | |
206 | </entry> | |
207 | </row> | |
208 | <row> | |
209 | <entry align="left"> | |
210 | </entry> | |
211 | <entry align="left"> | |
212 | <constant>GL_CURRENT_RASTER_POSITION_VALID</constant> flag | |
213 | </entry> | |
214 | </row> | |
215 | <row> | |
216 | <entry align="left"> | |
217 | </entry> | |
218 | <entry align="left"> | |
219 | RGBA color associated with current raster position | |
220 | </entry> | |
221 | </row> | |
222 | <row> | |
223 | <entry align="left"> | |
224 | </entry> | |
225 | <entry align="left"> | |
226 | Color index associated with current raster position | |
227 | </entry> | |
228 | </row> | |
229 | <row> | |
230 | <entry align="left"> | |
231 | </entry> | |
232 | <entry align="left"> | |
233 | Texture coordinates associated with current raster position | |
234 | </entry> | |
235 | </row> | |
236 | <row> | |
237 | <entry align="left"> | |
238 | </entry> | |
239 | <entry align="left"> | |
240 | <constant>GL_EDGE_FLAG</constant> flag | |
241 | </entry> | |
242 | </row> | |
243 | <row> | |
244 | <entry align="left"> | |
245 | <constant>GL_DEPTH_BUFFER_BIT</constant> | |
246 | </entry> | |
247 | <entry align="left"> | |
248 | <constant>GL_DEPTH_TEST</constant> enable bit | |
249 | </entry> | |
250 | </row> | |
251 | <row> | |
252 | <entry align="left"> | |
253 | </entry> | |
254 | <entry align="left"> | |
255 | Depth buffer test function | |
256 | </entry> | |
257 | </row> | |
258 | <row> | |
259 | <entry align="left"> | |
260 | </entry> | |
261 | <entry align="left"> | |
262 | Depth buffer clear value | |
263 | </entry> | |
264 | </row> | |
265 | <row> | |
266 | <entry align="left"> | |
267 | </entry> | |
268 | <entry align="left"> | |
269 | <constant>GL_DEPTH_WRITEMASK</constant> enable bit | |
270 | </entry> | |
271 | </row> | |
272 | <row> | |
273 | <entry align="left"> | |
274 | <constant>GL_ENABLE_BIT</constant> | |
275 | </entry> | |
276 | <entry align="left"> | |
277 | <constant>GL_ALPHA_TEST</constant> flag | |
278 | </entry> | |
279 | </row> | |
280 | <row> | |
281 | <entry align="left"> | |
282 | </entry> | |
283 | <entry align="left"> | |
284 | <constant>GL_AUTO_NORMAL</constant> flag | |
285 | </entry> | |
286 | </row> | |
287 | <row> | |
288 | <entry align="left"> | |
289 | </entry> | |
290 | <entry align="left"> | |
291 | <constant>GL_BLEND</constant> flag | |
292 | </entry> | |
293 | </row> | |
294 | <row> | |
295 | <entry align="left"> | |
296 | </entry> | |
297 | <entry align="left"> | |
298 | Enable bits for the user-definable clipping planes | |
299 | </entry> | |
300 | </row> | |
301 | <row> | |
302 | <entry align="left"> | |
303 | </entry> | |
304 | <entry align="left"> | |
305 | <constant>GL_COLOR_MATERIAL</constant> | |
306 | </entry> | |
307 | </row> | |
308 | <row> | |
309 | <entry align="left"> | |
310 | </entry> | |
311 | <entry align="left"> | |
312 | <constant>GL_CULL_FACE</constant> flag | |
313 | </entry> | |
314 | </row> | |
315 | <row> | |
316 | <entry align="left"> | |
317 | </entry> | |
318 | <entry align="left"> | |
319 | <constant>GL_DEPTH_TEST</constant> flag | |
320 | </entry> | |
321 | </row> | |
322 | <row> | |
323 | <entry align="left"> | |
324 | </entry> | |
325 | <entry align="left"> | |
326 | <constant>GL_DITHER</constant> flag | |
327 | </entry> | |
328 | </row> | |
329 | <row> | |
330 | <entry align="left"> | |
331 | </entry> | |
332 | <entry align="left"> | |
333 | <constant>GL_FOG</constant> flag | |
334 | </entry> | |
335 | </row> | |
336 | <row> | |
337 | <entry align="left"> | |
338 | </entry> | |
339 | <entry align="left"> | |
340 | <constant>GL_LIGHT</constant><emphasis>i</emphasis> | |
341 | where | |
342 | <constant>0</constant> <= <emphasis>i</emphasis> < <constant>GL_MAX_LIGHTS</constant> | |
343 | ||
344 | </entry> | |
345 | </row> | |
346 | <row> | |
347 | <entry align="left"> | |
348 | </entry> | |
349 | <entry align="left"> | |
350 | <constant>GL_LIGHTING</constant> flag | |
351 | </entry> | |
352 | </row> | |
353 | <row> | |
354 | <entry align="left"> | |
355 | </entry> | |
356 | <entry align="left"> | |
357 | <constant>GL_LINE_SMOOTH</constant> flag | |
358 | </entry> | |
359 | </row> | |
360 | <row> | |
361 | <entry align="left"> | |
362 | </entry> | |
363 | <entry align="left"> | |
364 | <constant>GL_LINE_STIPPLE</constant> flag | |
365 | </entry> | |
366 | </row> | |
367 | <row> | |
368 | <entry align="left"> | |
369 | </entry> | |
370 | <entry align="left"> | |
371 | <constant>GL_COLOR_LOGIC_OP</constant> flag | |
372 | </entry> | |
373 | </row> | |
374 | <row> | |
375 | <entry align="left"> | |
376 | </entry> | |
377 | <entry align="left"> | |
378 | <constant>GL_INDEX_LOGIC_OP</constant> flag | |
379 | </entry> | |
380 | </row> | |
381 | <row> | |
382 | <entry align="left"> | |
383 | </entry> | |
384 | <entry align="left"> | |
385 | <constant>GL_MAP1_</constant><emphasis>x</emphasis> where <emphasis>x</emphasis> is a map type | |
386 | </entry> | |
387 | </row> | |
388 | <row> | |
389 | <entry align="left"> | |
390 | </entry> | |
391 | <entry align="left"> | |
392 | <constant>GL_MAP2_</constant><emphasis>x</emphasis> where <emphasis>x</emphasis> is a map type | |
393 | </entry> | |
394 | </row> | |
395 | <row> | |
396 | <entry align="left"> | |
397 | </entry> | |
398 | <entry align="left"> | |
399 | <constant>GL_MULTISAMPLE</constant> flag | |
400 | </entry> | |
401 | </row> | |
402 | <row> | |
403 | <entry align="left"> | |
404 | </entry> | |
405 | <entry align="left"> | |
406 | <constant>GL_NORMALIZE</constant> flag | |
407 | </entry> | |
408 | </row> | |
409 | <row> | |
410 | <entry align="left"> | |
411 | </entry> | |
412 | <entry align="left"> | |
413 | <constant>GL_POINT_SMOOTH</constant> flag | |
414 | </entry> | |
415 | </row> | |
416 | <row> | |
417 | <entry align="left"> | |
418 | </entry> | |
419 | <entry align="left"> | |
420 | <constant>GL_POLYGON_OFFSET_LINE</constant> flag | |
421 | </entry> | |
422 | </row> | |
423 | <row> | |
424 | <entry align="left"> | |
425 | </entry> | |
426 | <entry align="left"> | |
427 | <constant>GL_POLYGON_OFFSET_FILL</constant> flag | |
428 | </entry> | |
429 | </row> | |
430 | <row> | |
431 | <entry align="left"> | |
432 | </entry> | |
433 | <entry align="left"> | |
434 | <constant>GL_POLYGON_OFFSET_POINT</constant> flag | |
435 | </entry> | |
436 | </row> | |
437 | <row> | |
438 | <entry align="left"> | |
439 | </entry> | |
440 | <entry align="left"> | |
441 | <constant>GL_POLYGON_SMOOTH</constant> flag | |
442 | </entry> | |
443 | </row> | |
444 | <row> | |
445 | <entry align="left"> | |
446 | </entry> | |
447 | <entry align="left"> | |
448 | <constant>GL_POLYGON_STIPPLE</constant> flag | |
449 | </entry> | |
450 | </row> | |
451 | <row> | |
452 | <entry align="left"> | |
453 | </entry> | |
454 | <entry align="left"> | |
455 | <constant>GL_SAMPLE_ALPHA_TO_COVERAGE</constant> flag | |
456 | </entry> | |
457 | </row> | |
458 | <row> | |
459 | <entry align="left"> | |
460 | </entry> | |
461 | <entry align="left"> | |
462 | <constant>GL_SAMPLE_ALPHA_TO_ONE</constant> flag | |
463 | </entry> | |
464 | </row> | |
465 | <row> | |
466 | <entry align="left"> | |
467 | </entry> | |
468 | <entry align="left"> | |
469 | <constant>GL_SAMPLE_COVERAGE</constant> flag | |
470 | </entry> | |
471 | </row> | |
472 | <row> | |
473 | <entry align="left"> | |
474 | </entry> | |
475 | <entry align="left"> | |
476 | <constant>GL_SCISSOR_TEST</constant> flag | |
477 | </entry> | |
478 | </row> | |
479 | <row> | |
480 | <entry align="left"> | |
481 | </entry> | |
482 | <entry align="left"> | |
483 | <constant>GL_STENCIL_TEST</constant> flag | |
484 | </entry> | |
485 | </row> | |
486 | <row> | |
487 | <entry align="left"> | |
488 | </entry> | |
489 | <entry align="left"> | |
490 | <constant>GL_TEXTURE_1D</constant> flag | |
491 | </entry> | |
492 | </row> | |
493 | <row> | |
494 | <entry align="left"> | |
495 | </entry> | |
496 | <entry align="left"> | |
497 | <constant>GL_TEXTURE_2D</constant> flag | |
498 | </entry> | |
499 | </row> | |
500 | <row> | |
501 | <entry align="left"> | |
502 | </entry> | |
503 | <entry align="left"> | |
504 | <constant>GL_TEXTURE_3D</constant> flag | |
505 | </entry> | |
506 | </row> | |
507 | <row> | |
508 | <entry align="left"> | |
509 | </entry> | |
510 | <entry align="left"> | |
511 | Flags <constant>GL_TEXTURE_GEN_</constant><emphasis>x</emphasis> where <emphasis>x</emphasis> is S, T, R, or Q | |
512 | </entry> | |
513 | </row> | |
514 | <row> | |
515 | <entry align="left"> | |
516 | <constant>GL_EVAL_BIT</constant> | |
517 | </entry> | |
518 | <entry align="left"> | |
519 | <constant>GL_MAP1_</constant><emphasis>x</emphasis> enable bits, where <emphasis>x</emphasis> is a map type | |
520 | </entry> | |
521 | </row> | |
522 | <row> | |
523 | <entry align="left"> | |
524 | </entry> | |
525 | <entry align="left"> | |
526 | <constant>GL_MAP2_</constant><emphasis>x</emphasis> enable bits, where <emphasis>x</emphasis> is a map type | |
527 | </entry> | |
528 | </row> | |
529 | <row> | |
530 | <entry align="left"> | |
531 | </entry> | |
532 | <entry align="left"> | |
533 | 1D grid endpoints and divisions | |
534 | </entry> | |
535 | </row> | |
536 | <row> | |
537 | <entry align="left"> | |
538 | </entry> | |
539 | <entry align="left"> | |
540 | 2D grid endpoints and divisions | |
541 | </entry> | |
542 | </row> | |
543 | <row> | |
544 | <entry align="left"> | |
545 | </entry> | |
546 | <entry align="left"> | |
547 | <constant>GL_AUTO_NORMAL</constant> enable bit | |
548 | </entry> | |
549 | </row> | |
550 | <row> | |
551 | <entry align="left"> | |
552 | <constant>GL_FOG_BIT</constant> | |
553 | </entry> | |
554 | <entry align="left"> | |
555 | <constant>GL_FOG</constant> enable bit | |
556 | </entry> | |
557 | </row> | |
558 | <row> | |
559 | <entry align="left"> | |
560 | </entry> | |
561 | <entry align="left"> | |
562 | Fog color | |
563 | </entry> | |
564 | </row> | |
565 | <row> | |
566 | <entry align="left"> | |
567 | </entry> | |
568 | <entry align="left"> | |
569 | Fog density | |
570 | </entry> | |
571 | </row> | |
572 | <row> | |
573 | <entry align="left"> | |
574 | </entry> | |
575 | <entry align="left"> | |
576 | Linear fog start | |
577 | </entry> | |
578 | </row> | |
579 | <row> | |
580 | <entry align="left"> | |
581 | </entry> | |
582 | <entry align="left"> | |
583 | Linear fog end | |
584 | </entry> | |
585 | </row> | |
586 | <row> | |
587 | <entry align="left"> | |
588 | </entry> | |
589 | <entry align="left"> | |
590 | Fog index | |
591 | </entry> | |
592 | </row> | |
593 | <row> | |
594 | <entry align="left"> | |
595 | </entry> | |
596 | <entry align="left"> | |
597 | <constant>GL_FOG_MODE</constant> value | |
598 | </entry> | |
599 | </row> | |
600 | <row> | |
601 | <entry align="left"> | |
602 | <constant>GL_HINT_BIT</constant> | |
603 | </entry> | |
604 | <entry align="left"> | |
605 | <constant>GL_PERSPECTIVE_CORRECTION_HINT</constant> setting | |
606 | </entry> | |
607 | </row> | |
608 | <row> | |
609 | <entry align="left"> | |
610 | </entry> | |
611 | <entry align="left"> | |
612 | <constant>GL_POINT_SMOOTH_HINT</constant> setting | |
613 | </entry> | |
614 | </row> | |
615 | <row> | |
616 | <entry align="left"> | |
617 | </entry> | |
618 | <entry align="left"> | |
619 | <constant>GL_LINE_SMOOTH_HINT</constant> setting | |
620 | </entry> | |
621 | </row> | |
622 | <row> | |
623 | <entry align="left"> | |
624 | </entry> | |
625 | <entry align="left"> | |
626 | <constant>GL_POLYGON_SMOOTH_HINT</constant> setting | |
627 | </entry> | |
628 | </row> | |
629 | <row> | |
630 | <entry align="left"> | |
631 | </entry> | |
632 | <entry align="left"> | |
633 | <constant>GL_FOG_HINT</constant> setting | |
634 | </entry> | |
635 | </row> | |
636 | <row> | |
637 | <entry align="left"> | |
638 | </entry> | |
639 | <entry align="left"> | |
640 | <constant>GL_GENERATE_MIPMAP_HINT</constant> setting | |
641 | </entry> | |
642 | </row> | |
643 | <row> | |
644 | <entry align="left"> | |
645 | </entry> | |
646 | <entry align="left"> | |
647 | <constant>GL_TEXTURE_COMPRESSION_HINT</constant> setting | |
648 | </entry> | |
649 | </row> | |
650 | <row> | |
651 | <entry align="left"> | |
652 | <constant>GL_LIGHTING_BIT</constant> | |
653 | </entry> | |
654 | <entry align="left"> | |
655 | <constant>GL_COLOR_MATERIAL</constant> enable bit | |
656 | </entry> | |
657 | </row> | |
658 | <row> | |
659 | <entry align="left"> | |
660 | </entry> | |
661 | <entry align="left"> | |
662 | <constant>GL_COLOR_MATERIAL_FACE</constant> value | |
663 | </entry> | |
664 | </row> | |
665 | <row> | |
666 | <entry align="left"> | |
667 | </entry> | |
668 | <entry align="left"> | |
669 | Color material parameters that are tracking the current color | |
670 | </entry> | |
671 | </row> | |
672 | <row> | |
673 | <entry align="left"> | |
674 | </entry> | |
675 | <entry align="left"> | |
676 | Ambient scene color | |
677 | </entry> | |
678 | </row> | |
679 | <row> | |
680 | <entry align="left"> | |
681 | </entry> | |
682 | <entry align="left"> | |
683 | <constant>GL_LIGHT_MODEL_LOCAL_VIEWER</constant> value | |
684 | </entry> | |
685 | </row> | |
686 | <row> | |
687 | <entry align="left"> | |
688 | </entry> | |
689 | <entry align="left"> | |
690 | <constant>GL_LIGHT_MODEL_TWO_SIDE</constant> setting | |
691 | </entry> | |
692 | </row> | |
693 | <row> | |
694 | <entry align="left"> | |
695 | </entry> | |
696 | <entry align="left"> | |
697 | <constant>GL_LIGHTING</constant> enable bit | |
698 | </entry> | |
699 | </row> | |
700 | <row> | |
701 | <entry align="left"> | |
702 | </entry> | |
703 | <entry align="left"> | |
704 | Enable bit for each light | |
705 | </entry> | |
706 | </row> | |
707 | <row> | |
708 | <entry align="left"> | |
709 | </entry> | |
710 | <entry align="left"> | |
711 | Ambient, diffuse, and specular intensity for each light | |
712 | </entry> | |
713 | </row> | |
714 | <row> | |
715 | <entry align="left"> | |
716 | </entry> | |
717 | <entry align="left"> | |
718 | Direction, position, exponent, and cutoff angle for each light | |
719 | </entry> | |
720 | </row> | |
721 | <row> | |
722 | <entry align="left"> | |
723 | </entry> | |
724 | <entry align="left"> | |
725 | Constant, linear, and quadratic attenuation factors for each light | |
726 | </entry> | |
727 | </row> | |
728 | <row> | |
729 | <entry align="left"> | |
730 | </entry> | |
731 | <entry align="left"> | |
732 | Ambient, diffuse, specular, and emissive color for each material | |
733 | </entry> | |
734 | </row> | |
735 | <row> | |
736 | <entry align="left"> | |
737 | </entry> | |
738 | <entry align="left"> | |
739 | Ambient, diffuse, and specular color indices for each material | |
740 | </entry> | |
741 | </row> | |
742 | <row> | |
743 | <entry align="left"> | |
744 | </entry> | |
745 | <entry align="left"> | |
746 | Specular exponent for each material | |
747 | </entry> | |
748 | </row> | |
749 | <row> | |
750 | <entry align="left"> | |
751 | </entry> | |
752 | <entry align="left"> | |
753 | <constant>GL_SHADE_MODEL</constant> setting | |
754 | </entry> | |
755 | </row> | |
756 | <row> | |
757 | <entry align="left"> | |
758 | <constant>GL_LINE_BIT</constant> | |
759 | </entry> | |
760 | <entry align="left"> | |
761 | <constant>GL_LINE_SMOOTH</constant> flag | |
762 | </entry> | |
763 | </row> | |
764 | <row> | |
765 | <entry align="left"> | |
766 | </entry> | |
767 | <entry align="left"> | |
768 | <constant>GL_LINE_STIPPLE</constant> enable bit | |
769 | </entry> | |
770 | </row> | |
771 | <row> | |
772 | <entry align="left"> | |
773 | </entry> | |
774 | <entry align="left"> | |
775 | Line stipple pattern and repeat counter | |
776 | </entry> | |
777 | </row> | |
778 | <row> | |
779 | <entry align="left"> | |
780 | </entry> | |
781 | <entry align="left"> | |
782 | Line width | |
783 | </entry> | |
784 | </row> | |
785 | <row> | |
786 | <entry align="left"> | |
787 | <constant>GL_LIST_BIT</constant> | |
788 | </entry> | |
789 | <entry align="left"> | |
790 | <constant>GL_LIST_BASE</constant> setting | |
791 | </entry> | |
792 | </row> | |
793 | <row> | |
794 | <entry align="left"> | |
795 | <constant>GL_MULTISAMPLE_BIT</constant> | |
796 | </entry> | |
797 | <entry align="left"> | |
798 | <constant>GL_MULTISAMPLE</constant> flag | |
799 | </entry> | |
800 | </row> | |
801 | <row> | |
802 | <entry align="left"> | |
803 | </entry> | |
804 | <entry align="left"> | |
805 | <constant>GL_SAMPLE_ALPHA_TO_COVERAGE</constant> flag | |
806 | </entry> | |
807 | </row> | |
808 | <row> | |
809 | <entry align="left"> | |
810 | </entry> | |
811 | <entry align="left"> | |
812 | <constant>GL_SAMPLE_ALPHA_TO_ONE</constant> flag | |
813 | </entry> | |
814 | </row> | |
815 | <row> | |
816 | <entry align="left"> | |
817 | </entry> | |
818 | <entry align="left"> | |
819 | <constant>GL_SAMPLE_COVERAGE</constant> flag | |
820 | </entry> | |
821 | </row> | |
822 | <row> | |
823 | <entry align="left"> | |
824 | </entry> | |
825 | <entry align="left"> | |
826 | <constant>GL_SAMPLE_COVERAGE_VALUE</constant> value | |
827 | </entry> | |
828 | </row> | |
829 | <row> | |
830 | <entry align="left"> | |
831 | </entry> | |
832 | <entry align="left"> | |
833 | <constant>GL_SAMPLE_COVERAGE_INVERT</constant> value | |
834 | </entry> | |
835 | </row> | |
836 | <row> | |
837 | <entry align="left"> | |
838 | <constant>GL_PIXEL_MODE_BIT</constant> | |
839 | </entry> | |
840 | <entry align="left"> | |
841 | <constant>GL_RED_BIAS</constant> and <constant>GL_RED_SCALE</constant> settings | |
842 | </entry> | |
843 | </row> | |
844 | <row> | |
845 | <entry align="left"> | |
846 | </entry> | |
847 | <entry align="left"> | |
848 | <constant>GL_GREEN_BIAS</constant> and <constant>GL_GREEN_SCALE</constant> values | |
849 | </entry> | |
850 | </row> | |
851 | <row> | |
852 | <entry align="left"> | |
853 | </entry> | |
854 | <entry align="left"> | |
855 | <constant>GL_BLUE_BIAS</constant> and <constant>GL_BLUE_SCALE</constant> | |
856 | </entry> | |
857 | </row> | |
858 | <row> | |
859 | <entry align="left"> | |
860 | </entry> | |
861 | <entry align="left"> | |
862 | <constant>GL_ALPHA_BIAS</constant> and <constant>GL_ALPHA_SCALE</constant> | |
863 | </entry> | |
864 | </row> | |
865 | <row> | |
866 | <entry align="left"> | |
867 | </entry> | |
868 | <entry align="left"> | |
869 | <constant>GL_DEPTH_BIAS</constant> and <constant>GL_DEPTH_SCALE</constant> | |
870 | </entry> | |
871 | </row> | |
872 | <row> | |
873 | <entry align="left"> | |
874 | </entry> | |
875 | <entry align="left"> | |
876 | <constant>GL_INDEX_OFFSET</constant> and <constant>GL_INDEX_SHIFT</constant> values | |
877 | </entry> | |
878 | </row> | |
879 | <row> | |
880 | <entry align="left"> | |
881 | </entry> | |
882 | <entry align="left"> | |
883 | <constant>GL_MAP_COLOR</constant> and <constant>GL_MAP_STENCIL</constant> flags | |
884 | </entry> | |
885 | </row> | |
886 | <row> | |
887 | <entry align="left"> | |
888 | </entry> | |
889 | <entry align="left"> | |
890 | <constant>GL_ZOOM_X</constant> and <constant>GL_ZOOM_Y</constant> factors | |
891 | </entry> | |
892 | </row> | |
893 | <row> | |
894 | <entry align="left"> | |
895 | </entry> | |
896 | <entry align="left"> | |
897 | <constant>GL_READ_BUFFER</constant> setting | |
898 | </entry> | |
899 | </row> | |
900 | <row> | |
901 | <entry align="left"> | |
902 | <constant>GL_POINT_BIT</constant> | |
903 | </entry> | |
904 | <entry align="left"> | |
905 | <constant>GL_POINT_SMOOTH</constant> flag | |
906 | </entry> | |
907 | </row> | |
908 | <row> | |
909 | <entry align="left"> | |
910 | </entry> | |
911 | <entry align="left"> | |
912 | Point size | |
913 | </entry> | |
914 | </row> | |
915 | <row> | |
916 | <entry align="left"> | |
917 | <constant>GL_POLYGON_BIT</constant> | |
918 | </entry> | |
919 | <entry align="left"> | |
920 | <constant>GL_CULL_FACE</constant> enable bit | |
921 | </entry> | |
922 | </row> | |
923 | <row> | |
924 | <entry align="left"> | |
925 | </entry> | |
926 | <entry align="left"> | |
927 | <constant>GL_CULL_FACE_MODE</constant> value | |
928 | </entry> | |
929 | </row> | |
930 | <row> | |
931 | <entry align="left"> | |
932 | </entry> | |
933 | <entry align="left"> | |
934 | <constant>GL_FRONT_FACE</constant> indicator | |
935 | </entry> | |
936 | </row> | |
937 | <row> | |
938 | <entry align="left"> | |
939 | </entry> | |
940 | <entry align="left"> | |
941 | <constant>GL_POLYGON_MODE</constant> setting | |
942 | </entry> | |
943 | </row> | |
944 | <row> | |
945 | <entry align="left"> | |
946 | </entry> | |
947 | <entry align="left"> | |
948 | <constant>GL_POLYGON_SMOOTH</constant> flag | |
949 | </entry> | |
950 | </row> | |
951 | <row> | |
952 | <entry align="left"> | |
953 | </entry> | |
954 | <entry align="left"> | |
955 | <constant>GL_POLYGON_STIPPLE</constant> enable bit | |
956 | </entry> | |
957 | </row> | |
958 | <row> | |
959 | <entry align="left"> | |
960 | </entry> | |
961 | <entry align="left"> | |
962 | <constant>GL_POLYGON_OFFSET_FILL</constant> flag | |
963 | </entry> | |
964 | </row> | |
965 | <row> | |
966 | <entry align="left"> | |
967 | </entry> | |
968 | <entry align="left"> | |
969 | <constant>GL_POLYGON_OFFSET_LINE</constant> flag | |
970 | </entry> | |
971 | </row> | |
972 | <row> | |
973 | <entry align="left"> | |
974 | </entry> | |
975 | <entry align="left"> | |
976 | <constant>GL_POLYGON_OFFSET_POINT</constant> flag | |
977 | </entry> | |
978 | </row> | |
979 | <row> | |
980 | <entry align="left"> | |
981 | </entry> | |
982 | <entry align="left"> | |
983 | <constant>GL_POLYGON_OFFSET_FACTOR</constant> | |
984 | </entry> | |
985 | </row> | |
986 | <row> | |
987 | <entry align="left"> | |
988 | </entry> | |
989 | <entry align="left"> | |
990 | <constant>GL_POLYGON_OFFSET_UNITS</constant> | |
991 | </entry> | |
992 | </row> | |
993 | <row> | |
994 | <entry align="left"> | |
995 | <constant>GL_POLYGON_STIPPLE_BIT</constant> | |
996 | </entry> | |
997 | <entry align="left"> | |
998 | Polygon stipple image | |
999 | </entry> | |
1000 | </row> | |
1001 | <row> | |
1002 | <entry align="left"> | |
1003 | <constant>GL_SCISSOR_BIT</constant> | |
1004 | </entry> | |
1005 | <entry align="left"> | |
1006 | <constant>GL_SCISSOR_TEST</constant> flag | |
1007 | </entry> | |
1008 | </row> | |
1009 | <row> | |
1010 | <entry align="left"> | |
1011 | </entry> | |
1012 | <entry align="left"> | |
1013 | Scissor box | |
1014 | </entry> | |
1015 | </row> | |
1016 | <row> | |
1017 | <entry align="left"> | |
1018 | <constant>GL_STENCIL_BUFFER_BIT</constant> | |
1019 | </entry> | |
1020 | <entry align="left"> | |
1021 | <constant>GL_STENCIL_TEST</constant> enable bit | |
1022 | </entry> | |
1023 | </row> | |
1024 | <row> | |
1025 | <entry align="left"> | |
1026 | </entry> | |
1027 | <entry align="left"> | |
1028 | Stencil function and reference value | |
1029 | </entry> | |
1030 | </row> | |
1031 | <row> | |
1032 | <entry align="left"> | |
1033 | </entry> | |
1034 | <entry align="left"> | |
1035 | Stencil value mask | |
1036 | </entry> | |
1037 | </row> | |
1038 | <row> | |
1039 | <entry align="left"> | |
1040 | </entry> | |
1041 | <entry align="left"> | |
1042 | Stencil fail, pass, and depth buffer pass actions | |
1043 | </entry> | |
1044 | </row> | |
1045 | <row> | |
1046 | <entry align="left"> | |
1047 | </entry> | |
1048 | <entry align="left"> | |
1049 | Stencil buffer clear value | |
1050 | </entry> | |
1051 | </row> | |
1052 | <row> | |
1053 | <entry align="left"> | |
1054 | </entry> | |
1055 | <entry align="left"> | |
1056 | Stencil buffer writemask | |
1057 | </entry> | |
1058 | </row> | |
1059 | <row> | |
1060 | <entry align="left"> | |
1061 | <constant>GL_TEXTURE_BIT</constant> | |
1062 | </entry> | |
1063 | <entry align="left"> | |
1064 | Enable bits for the four texture coordinates | |
1065 | </entry> | |
1066 | </row> | |
1067 | <row> | |
1068 | <entry align="left"> | |
1069 | </entry> | |
1070 | <entry align="left"> | |
1071 | Border color for each texture image | |
1072 | </entry> | |
1073 | </row> | |
1074 | <row> | |
1075 | <entry align="left"> | |
1076 | </entry> | |
1077 | <entry align="left"> | |
1078 | Minification function for each texture image | |
1079 | </entry> | |
1080 | </row> | |
1081 | <row> | |
1082 | <entry align="left"> | |
1083 | </entry> | |
1084 | <entry align="left"> | |
1085 | Magnification function for each texture image | |
1086 | </entry> | |
1087 | </row> | |
1088 | <row> | |
1089 | <entry align="left"> | |
1090 | </entry> | |
1091 | <entry align="left"> | |
1092 | Texture coordinates and wrap mode for each texture image | |
1093 | </entry> | |
1094 | </row> | |
1095 | <row> | |
1096 | <entry align="left"> | |
1097 | </entry> | |
1098 | <entry align="left"> | |
1099 | Color and mode for each texture environment | |
1100 | </entry> | |
1101 | </row> | |
1102 | <row> | |
1103 | <entry align="left"> | |
1104 | </entry> | |
1105 | <entry align="left"> | |
1106 | Enable bits <constant>GL_TEXTURE_GEN_</constant><emphasis>x</emphasis>, <emphasis>x</emphasis> is S, T, R, and Q | |
1107 | </entry> | |
1108 | </row> | |
1109 | <row> | |
1110 | <entry align="left"> | |
1111 | </entry> | |
1112 | <entry align="left"> | |
1113 | <constant>GL_TEXTURE_GEN_MODE</constant> setting for S, T, R, and Q | |
1114 | </entry> | |
1115 | </row> | |
1116 | <row> | |
1117 | <entry align="left"> | |
1118 | </entry> | |
1119 | <entry align="left"> | |
1120 | <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry> plane equations for S, T, R, and Q | |
1121 | </entry> | |
1122 | </row> | |
1123 | <row> | |
1124 | <entry align="left"> | |
1125 | </entry> | |
1126 | <entry align="left"> | |
1127 | Current texture bindings (for example, <constant>GL_TEXTURE_BINDING_2D</constant>) | |
1128 | </entry> | |
1129 | </row> | |
1130 | <row> | |
1131 | <entry align="left"> | |
1132 | <constant>GL_TRANSFORM_BIT</constant> | |
1133 | </entry> | |
1134 | <entry align="left"> | |
1135 | Coefficients of the six clipping planes | |
1136 | </entry> | |
1137 | </row> | |
1138 | <row> | |
1139 | <entry align="left"> | |
1140 | </entry> | |
1141 | <entry align="left"> | |
1142 | Enable bits for the user-definable clipping planes | |
1143 | </entry> | |
1144 | </row> | |
1145 | <row> | |
1146 | <entry align="left"> | |
1147 | </entry> | |
1148 | <entry align="left"> | |
1149 | <constant>GL_MATRIX_MODE</constant> value | |
1150 | </entry> | |
1151 | </row> | |
1152 | <row> | |
1153 | <entry align="left"> | |
1154 | </entry> | |
1155 | <entry align="left"> | |
1156 | <constant>GL_NORMALIZE</constant> flag | |
1157 | </entry> | |
1158 | </row> | |
1159 | <row> | |
1160 | <entry align="left"> | |
1161 | </entry> | |
1162 | <entry align="left"> | |
1163 | <constant>GL_RESCALE_NORMAL</constant> flag | |
1164 | </entry> | |
1165 | </row> | |
1166 | <row> | |
1167 | <entry align="left"> | |
1168 | <constant>GL_VIEWPORT_BIT</constant> | |
1169 | </entry> | |
1170 | <entry align="left"> | |
1171 | Depth range (near and far) | |
1172 | </entry> | |
1173 | </row> | |
1174 | <row> | |
1175 | <entry align="left"> | |
1176 | </entry> | |
1177 | <entry align="left"> | |
1178 | Viewport origin and extent | |
1179 | </entry> | |
1180 | </row> | |
1181 | </tbody> | |
1182 | </tgroup> | |
1183 | </informaltable> | |
1184 | <para> | |
1185 | <citerefentry><refentrytitle>glPopAttrib</refentrytitle></citerefentry> restores the values of the state variables saved with the last | |
1186 | <function>glPushAttrib</function> command. | |
1187 | Those not saved are left unchanged. | |
1188 | </para> | |
1189 | <para> | |
1190 | It is an error to push attributes onto a full stack | |
1191 | or to pop attributes off an empty stack. | |
1192 | In either case, the error flag is set | |
1193 | and no other change is made to GL state. | |
1194 | </para> | |
1195 | <para> | |
1196 | Initially, the attribute stack is empty. | |
1197 | </para> | |
1198 | </refsect1> | |
1199 | <refsect1 id="notes"><title>Notes</title> | |
1200 | <para> | |
1201 | Not all values for GL state can be saved on the attribute stack. | |
1202 | For example, | |
1203 | render mode state, | |
1204 | and select and feedback state cannot be saved. | |
1205 | Client state must be saved with | |
1206 | <citerefentry><refentrytitle>glPushClientAttrib</refentrytitle></citerefentry>. | |
1207 | </para> | |
1208 | <para> | |
1209 | The depth of the attribute stack depends on the implementation, | |
1210 | but it must be at least 16. | |
1211 | </para> | |
1212 | <para> | |
1213 | For OpenGL versions 1.3 and greater, or when the <code>ARB_multitexture</code> extension is supported, pushing and | |
1214 | popping texture state applies to all supported texture units. | |
1215 | </para> | |
1216 | </refsect1> | |
1217 | <refsect1 id="errors"><title>Errors</title> | |
1218 | <para> | |
1219 | <constant>GL_STACK_OVERFLOW</constant> is generated if <function>glPushAttrib</function> is called while | |
1220 | the attribute stack is full. | |
1221 | </para> | |
1222 | <para> | |
1223 | <constant>GL_STACK_UNDERFLOW</constant> is generated if <citerefentry><refentrytitle>glPopAttrib</refentrytitle></citerefentry> is called while | |
1224 | the attribute stack is empty. | |
1225 | </para> | |
1226 | <para> | |
1227 | <constant>GL_INVALID_OPERATION</constant> is generated if <function>glPushAttrib</function> or <citerefentry><refentrytitle>glPopAttrib</refentrytitle></citerefentry> | |
1228 | is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> | |
1229 | and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>. | |
1230 | </para> | |
1231 | </refsect1> | |
1232 | <refsect1 id="associatedgets"><title>Associated Gets</title> | |
1233 | <para> | |
1234 | <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ATTRIB_STACK_DEPTH</constant> | |
1235 | </para> | |
1236 | <para> | |
1237 | <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAX_ATTRIB_STACK_DEPTH</constant> | |
1238 | </para> | |
1239 | </refsect1> | |
1240 | <refsect1 id="seealso"><title>See Also</title> | |
1241 | <para> | |
1242 | <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>, | |
1243 | <citerefentry><refentrytitle>glGetClipPlane</refentrytitle></citerefentry>, | |
1244 | <citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>, | |
1245 | <citerefentry><refentrytitle>glGetLight</refentrytitle></citerefentry>, | |
1246 | <citerefentry><refentrytitle>glGetMap</refentrytitle></citerefentry>, | |
1247 | <citerefentry><refentrytitle>glGetMaterial</refentrytitle></citerefentry>, | |
1248 | <citerefentry><refentrytitle>glGetPixelMap</refentrytitle></citerefentry>, | |
1249 | <citerefentry><refentrytitle>glGetPolygonStipple</refentrytitle></citerefentry>, | |
1250 | <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>, | |
1251 | <citerefentry><refentrytitle>glGetTexEnv</refentrytitle></citerefentry>, | |
1252 | <citerefentry><refentrytitle>glGetTexGen</refentrytitle></citerefentry>, | |
1253 | <citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>, | |
1254 | <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>, | |
1255 | <citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>, | |
1256 | <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>, | |
1257 | <citerefentry><refentrytitle>glPushClientAttrib</refentrytitle></citerefentry> | |
1258 | </para> | |
1259 | </refsect1> | |
1260 | <refsect1 id="Copyright"><title>Copyright</title> | |
1261 | <para> | |
1262 | Copyright <trademark class="copyright"></trademark> 1991-2006 | |
1263 | Silicon Graphics, Inc. This document is licensed under the SGI | |
1264 | Free Software B License. For details, see | |
1265 | <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>. | |
1266 | </para> | |
1267 | </refsect1> | |
1268 | </refentry> |