Commit | Line | Data |
---|---|---|
7faf1d71 AW |
1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"> |
2 | <!-- saved from url=(0013)about:internet --> | |
3 | <?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>glPushAttrib</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glPushAttrib"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glPushAttrib — push and pop the server attribute stack</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">void <b class="fsfunc">glPushAttrib</b>(</code></td><td>GLbitfield </td><td><var class="pdparam">mask</var><code>)</code>;</td></tr></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>mask</code></em></span></dt><dd><p> | |
4 | Specifies a mask that indicates which attributes to save. Values for | |
5 | <em class="parameter"><code>mask</code></em> are listed below. | |
6 | </p></dd></dl></div></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">void <b class="fsfunc">glPopAttrib</b>(</code></td><td> </td><td><var class="pdparam">void</var><code>)</code>;</td></tr></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p> | |
7 | <code class="function">glPushAttrib</code> takes one argument, | |
8 | a mask that indicates which groups of state variables | |
9 | to save on the attribute stack. | |
10 | Symbolic constants are used to set bits in the mask. | |
11 | <em class="parameter"><code>mask</code></em> | |
12 | is typically constructed by specifying the bitwise-or of several | |
13 | of these constants together. | |
14 | The special mask | |
15 | <code class="constant">GL_ALL_ATTRIB_BITS</code> | |
16 | can be used to save all stackable states. | |
17 | </p><p> | |
18 | The symbolic mask constants and their associated GL state are as follows | |
19 | (the second column lists which attributes are saved): | |
20 | </p><p> | |
21 | </p><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"> | |
22 | <code class="constant">GL_ACCUM_BUFFER_BIT</code> | |
23 | </td><td align="left"> | |
24 | Accumulation buffer clear value | |
25 | </td></tr><tr><td align="left"> | |
26 | <code class="constant">GL_COLOR_BUFFER_BIT</code> | |
27 | </td><td align="left"> | |
28 | <code class="constant">GL_ALPHA_TEST</code> enable bit | |
29 | </td></tr><tr><td align="left"> | |
30 | </td><td align="left"> | |
31 | Alpha test function and reference value | |
32 | </td></tr><tr><td align="left"> | |
33 | </td><td align="left"> | |
34 | <code class="constant">GL_BLEND</code> enable bit | |
35 | </td></tr><tr><td align="left"> | |
36 | </td><td align="left"> | |
37 | Blending source and destination functions | |
38 | </td></tr><tr><td align="left"> | |
39 | </td><td align="left"> | |
40 | Constant blend color | |
41 | </td></tr><tr><td align="left"> | |
42 | </td><td align="left"> | |
43 | Blending equation | |
44 | </td></tr><tr><td align="left"> | |
45 | </td><td align="left"> | |
46 | <code class="constant">GL_DITHER</code> enable bit | |
47 | </td></tr><tr><td align="left"> | |
48 | </td><td align="left"> | |
49 | <code class="constant">GL_DRAW_BUFFER</code> setting | |
50 | </td></tr><tr><td align="left"> | |
51 | </td><td align="left"> | |
52 | <code class="constant">GL_COLOR_LOGIC_OP</code> enable bit | |
53 | </td></tr><tr><td align="left"> | |
54 | </td><td align="left"> | |
55 | <code class="constant">GL_INDEX_LOGIC_OP</code> enable bit | |
56 | </td></tr><tr><td align="left"> | |
57 | </td><td align="left"> | |
58 | Logic op function | |
59 | </td></tr><tr><td align="left"> | |
60 | </td><td align="left"> | |
61 | Color mode and index mode clear values | |
62 | </td></tr><tr><td align="left"> | |
63 | </td><td align="left"> | |
64 | Color mode and index mode writemasks | |
65 | </td></tr><tr><td align="left"> | |
66 | <code class="constant">GL_CURRENT_BIT</code> | |
67 | </td><td align="left"> | |
68 | Current RGBA color | |
69 | </td></tr><tr><td align="left"> | |
70 | </td><td align="left"> | |
71 | Current color index | |
72 | </td></tr><tr><td align="left"> | |
73 | </td><td align="left"> | |
74 | Current normal vector | |
75 | </td></tr><tr><td align="left"> | |
76 | </td><td align="left"> | |
77 | Current texture coordinates | |
78 | </td></tr><tr><td align="left"> | |
79 | </td><td align="left"> | |
80 | Current raster position | |
81 | </td></tr><tr><td align="left"> | |
82 | </td><td align="left"> | |
83 | <code class="constant">GL_CURRENT_RASTER_POSITION_VALID</code> flag | |
84 | </td></tr><tr><td align="left"> | |
85 | </td><td align="left"> | |
86 | RGBA color associated with current raster position | |
87 | </td></tr><tr><td align="left"> | |
88 | </td><td align="left"> | |
89 | Color index associated with current raster position | |
90 | </td></tr><tr><td align="left"> | |
91 | </td><td align="left"> | |
92 | Texture coordinates associated with current raster position | |
93 | </td></tr><tr><td align="left"> | |
94 | </td><td align="left"> | |
95 | <code class="constant">GL_EDGE_FLAG</code> flag | |
96 | </td></tr><tr><td align="left"> | |
97 | <code class="constant">GL_DEPTH_BUFFER_BIT</code> | |
98 | </td><td align="left"> | |
99 | <code class="constant">GL_DEPTH_TEST</code> enable bit | |
100 | </td></tr><tr><td align="left"> | |
101 | </td><td align="left"> | |
102 | Depth buffer test function | |
103 | </td></tr><tr><td align="left"> | |
104 | </td><td align="left"> | |
105 | Depth buffer clear value | |
106 | </td></tr><tr><td align="left"> | |
107 | </td><td align="left"> | |
108 | <code class="constant">GL_DEPTH_WRITEMASK</code> enable bit | |
109 | </td></tr><tr><td align="left"> | |
110 | <code class="constant">GL_ENABLE_BIT</code> | |
111 | </td><td align="left"> | |
112 | <code class="constant">GL_ALPHA_TEST</code> flag | |
113 | </td></tr><tr><td align="left"> | |
114 | </td><td align="left"> | |
115 | <code class="constant">GL_AUTO_NORMAL</code> flag | |
116 | </td></tr><tr><td align="left"> | |
117 | </td><td align="left"> | |
118 | <code class="constant">GL_BLEND</code> flag | |
119 | </td></tr><tr><td align="left"> | |
120 | </td><td align="left"> | |
121 | Enable bits for the user-definable clipping planes | |
122 | </td></tr><tr><td align="left"> | |
123 | </td><td align="left"> | |
124 | <code class="constant">GL_COLOR_MATERIAL</code> | |
125 | </td></tr><tr><td align="left"> | |
126 | </td><td align="left"> | |
127 | <code class="constant">GL_CULL_FACE</code> flag | |
128 | </td></tr><tr><td align="left"> | |
129 | </td><td align="left"> | |
130 | <code class="constant">GL_DEPTH_TEST</code> flag | |
131 | </td></tr><tr><td align="left"> | |
132 | </td><td align="left"> | |
133 | <code class="constant">GL_DITHER</code> flag | |
134 | </td></tr><tr><td align="left"> | |
135 | </td><td align="left"> | |
136 | <code class="constant">GL_FOG</code> flag | |
137 | </td></tr><tr><td align="left"> | |
138 | </td><td align="left"> | |
139 | <code class="constant">GL_LIGHT</code><span class="emphasis"><em>i</em></span> | |
140 | where | |
141 | <code class="constant">0</code> <= <span class="emphasis"><em>i</em></span> < <code class="constant">GL_MAX_LIGHTS</code> | |
142 | ||
143 | </td></tr><tr><td align="left"> | |
144 | </td><td align="left"> | |
145 | <code class="constant">GL_LIGHTING</code> flag | |
146 | </td></tr><tr><td align="left"> | |
147 | </td><td align="left"> | |
148 | <code class="constant">GL_LINE_SMOOTH</code> flag | |
149 | </td></tr><tr><td align="left"> | |
150 | </td><td align="left"> | |
151 | <code class="constant">GL_LINE_STIPPLE</code> flag | |
152 | </td></tr><tr><td align="left"> | |
153 | </td><td align="left"> | |
154 | <code class="constant">GL_COLOR_LOGIC_OP</code> flag | |
155 | </td></tr><tr><td align="left"> | |
156 | </td><td align="left"> | |
157 | <code class="constant">GL_INDEX_LOGIC_OP</code> flag | |
158 | </td></tr><tr><td align="left"> | |
159 | </td><td align="left"> | |
160 | <code class="constant">GL_MAP1_</code><span class="emphasis"><em>x</em></span> where <span class="emphasis"><em>x</em></span> is a map type | |
161 | </td></tr><tr><td align="left"> | |
162 | </td><td align="left"> | |
163 | <code class="constant">GL_MAP2_</code><span class="emphasis"><em>x</em></span> where <span class="emphasis"><em>x</em></span> is a map type | |
164 | </td></tr><tr><td align="left"> | |
165 | </td><td align="left"> | |
166 | <code class="constant">GL_MULTISAMPLE</code> flag | |
167 | </td></tr><tr><td align="left"> | |
168 | </td><td align="left"> | |
169 | <code class="constant">GL_NORMALIZE</code> flag | |
170 | </td></tr><tr><td align="left"> | |
171 | </td><td align="left"> | |
172 | <code class="constant">GL_POINT_SMOOTH</code> flag | |
173 | </td></tr><tr><td align="left"> | |
174 | </td><td align="left"> | |
175 | <code class="constant">GL_POLYGON_OFFSET_LINE</code> flag | |
176 | </td></tr><tr><td align="left"> | |
177 | </td><td align="left"> | |
178 | <code class="constant">GL_POLYGON_OFFSET_FILL</code> flag | |
179 | </td></tr><tr><td align="left"> | |
180 | </td><td align="left"> | |
181 | <code class="constant">GL_POLYGON_OFFSET_POINT</code> flag | |
182 | </td></tr><tr><td align="left"> | |
183 | </td><td align="left"> | |
184 | <code class="constant">GL_POLYGON_SMOOTH</code> flag | |
185 | </td></tr><tr><td align="left"> | |
186 | </td><td align="left"> | |
187 | <code class="constant">GL_POLYGON_STIPPLE</code> flag | |
188 | </td></tr><tr><td align="left"> | |
189 | </td><td align="left"> | |
190 | <code class="constant">GL_SAMPLE_ALPHA_TO_COVERAGE</code> flag | |
191 | </td></tr><tr><td align="left"> | |
192 | </td><td align="left"> | |
193 | <code class="constant">GL_SAMPLE_ALPHA_TO_ONE</code> flag | |
194 | </td></tr><tr><td align="left"> | |
195 | </td><td align="left"> | |
196 | <code class="constant">GL_SAMPLE_COVERAGE</code> flag | |
197 | </td></tr><tr><td align="left"> | |
198 | </td><td align="left"> | |
199 | <code class="constant">GL_SCISSOR_TEST</code> flag | |
200 | </td></tr><tr><td align="left"> | |
201 | </td><td align="left"> | |
202 | <code class="constant">GL_STENCIL_TEST</code> flag | |
203 | </td></tr><tr><td align="left"> | |
204 | </td><td align="left"> | |
205 | <code class="constant">GL_TEXTURE_1D</code> flag | |
206 | </td></tr><tr><td align="left"> | |
207 | </td><td align="left"> | |
208 | <code class="constant">GL_TEXTURE_2D</code> flag | |
209 | </td></tr><tr><td align="left"> | |
210 | </td><td align="left"> | |
211 | <code class="constant">GL_TEXTURE_3D</code> flag | |
212 | </td></tr><tr><td align="left"> | |
213 | </td><td align="left"> | |
214 | Flags <code class="constant">GL_TEXTURE_GEN_</code><span class="emphasis"><em>x</em></span> where <span class="emphasis"><em>x</em></span> is S, T, R, or Q | |
215 | </td></tr><tr><td align="left"> | |
216 | <code class="constant">GL_EVAL_BIT</code> | |
217 | </td><td align="left"> | |
218 | <code class="constant">GL_MAP1_</code><span class="emphasis"><em>x</em></span> enable bits, where <span class="emphasis"><em>x</em></span> is a map type | |
219 | </td></tr><tr><td align="left"> | |
220 | </td><td align="left"> | |
221 | <code class="constant">GL_MAP2_</code><span class="emphasis"><em>x</em></span> enable bits, where <span class="emphasis"><em>x</em></span> is a map type | |
222 | </td></tr><tr><td align="left"> | |
223 | </td><td align="left"> | |
224 | 1D grid endpoints and divisions | |
225 | </td></tr><tr><td align="left"> | |
226 | </td><td align="left"> | |
227 | 2D grid endpoints and divisions | |
228 | </td></tr><tr><td align="left"> | |
229 | </td><td align="left"> | |
230 | <code class="constant">GL_AUTO_NORMAL</code> enable bit | |
231 | </td></tr><tr><td align="left"> | |
232 | <code class="constant">GL_FOG_BIT</code> | |
233 | </td><td align="left"> | |
234 | <code class="constant">GL_FOG</code> enable bit | |
235 | </td></tr><tr><td align="left"> | |
236 | </td><td align="left"> | |
237 | Fog color | |
238 | </td></tr><tr><td align="left"> | |
239 | </td><td align="left"> | |
240 | Fog density | |
241 | </td></tr><tr><td align="left"> | |
242 | </td><td align="left"> | |
243 | Linear fog start | |
244 | </td></tr><tr><td align="left"> | |
245 | </td><td align="left"> | |
246 | Linear fog end | |
247 | </td></tr><tr><td align="left"> | |
248 | </td><td align="left"> | |
249 | Fog index | |
250 | </td></tr><tr><td align="left"> | |
251 | </td><td align="left"> | |
252 | <code class="constant">GL_FOG_MODE</code> value | |
253 | </td></tr><tr><td align="left"> | |
254 | <code class="constant">GL_HINT_BIT</code> | |
255 | </td><td align="left"> | |
256 | <code class="constant">GL_PERSPECTIVE_CORRECTION_HINT</code> setting | |
257 | </td></tr><tr><td align="left"> | |
258 | </td><td align="left"> | |
259 | <code class="constant">GL_POINT_SMOOTH_HINT</code> setting | |
260 | </td></tr><tr><td align="left"> | |
261 | </td><td align="left"> | |
262 | <code class="constant">GL_LINE_SMOOTH_HINT</code> setting | |
263 | </td></tr><tr><td align="left"> | |
264 | </td><td align="left"> | |
265 | <code class="constant">GL_POLYGON_SMOOTH_HINT</code> setting | |
266 | </td></tr><tr><td align="left"> | |
267 | </td><td align="left"> | |
268 | <code class="constant">GL_FOG_HINT</code> setting | |
269 | </td></tr><tr><td align="left"> | |
270 | </td><td align="left"> | |
271 | <code class="constant">GL_GENERATE_MIPMAP_HINT</code> setting | |
272 | </td></tr><tr><td align="left"> | |
273 | </td><td align="left"> | |
274 | <code class="constant">GL_TEXTURE_COMPRESSION_HINT</code> setting | |
275 | </td></tr><tr><td align="left"> | |
276 | <code class="constant">GL_LIGHTING_BIT</code> | |
277 | </td><td align="left"> | |
278 | <code class="constant">GL_COLOR_MATERIAL</code> enable bit | |
279 | </td></tr><tr><td align="left"> | |
280 | </td><td align="left"> | |
281 | <code class="constant">GL_COLOR_MATERIAL_FACE</code> value | |
282 | </td></tr><tr><td align="left"> | |
283 | </td><td align="left"> | |
284 | Color material parameters that are tracking the current color | |
285 | </td></tr><tr><td align="left"> | |
286 | </td><td align="left"> | |
287 | Ambient scene color | |
288 | </td></tr><tr><td align="left"> | |
289 | </td><td align="left"> | |
290 | <code class="constant">GL_LIGHT_MODEL_LOCAL_VIEWER</code> value | |
291 | </td></tr><tr><td align="left"> | |
292 | </td><td align="left"> | |
293 | <code class="constant">GL_LIGHT_MODEL_TWO_SIDE</code> setting | |
294 | </td></tr><tr><td align="left"> | |
295 | </td><td align="left"> | |
296 | <code class="constant">GL_LIGHTING</code> enable bit | |
297 | </td></tr><tr><td align="left"> | |
298 | </td><td align="left"> | |
299 | Enable bit for each light | |
300 | </td></tr><tr><td align="left"> | |
301 | </td><td align="left"> | |
302 | Ambient, diffuse, and specular intensity for each light | |
303 | </td></tr><tr><td align="left"> | |
304 | </td><td align="left"> | |
305 | Direction, position, exponent, and cutoff angle for each light | |
306 | </td></tr><tr><td align="left"> | |
307 | </td><td align="left"> | |
308 | Constant, linear, and quadratic attenuation factors for each light | |
309 | </td></tr><tr><td align="left"> | |
310 | </td><td align="left"> | |
311 | Ambient, diffuse, specular, and emissive color for each material | |
312 | </td></tr><tr><td align="left"> | |
313 | </td><td align="left"> | |
314 | Ambient, diffuse, and specular color indices for each material | |
315 | </td></tr><tr><td align="left"> | |
316 | </td><td align="left"> | |
317 | Specular exponent for each material | |
318 | </td></tr><tr><td align="left"> | |
319 | </td><td align="left"> | |
320 | <code class="constant">GL_SHADE_MODEL</code> setting | |
321 | </td></tr><tr><td align="left"> | |
322 | <code class="constant">GL_LINE_BIT</code> | |
323 | </td><td align="left"> | |
324 | <code class="constant">GL_LINE_SMOOTH</code> flag | |
325 | </td></tr><tr><td align="left"> | |
326 | </td><td align="left"> | |
327 | <code class="constant">GL_LINE_STIPPLE</code> enable bit | |
328 | </td></tr><tr><td align="left"> | |
329 | </td><td align="left"> | |
330 | Line stipple pattern and repeat counter | |
331 | </td></tr><tr><td align="left"> | |
332 | </td><td align="left"> | |
333 | Line width | |
334 | </td></tr><tr><td align="left"> | |
335 | <code class="constant">GL_LIST_BIT</code> | |
336 | </td><td align="left"> | |
337 | <code class="constant">GL_LIST_BASE</code> setting | |
338 | </td></tr><tr><td align="left"> | |
339 | <code class="constant">GL_MULTISAMPLE_BIT</code> | |
340 | </td><td align="left"> | |
341 | <code class="constant">GL_MULTISAMPLE</code> flag | |
342 | </td></tr><tr><td align="left"> | |
343 | </td><td align="left"> | |
344 | <code class="constant">GL_SAMPLE_ALPHA_TO_COVERAGE</code> flag | |
345 | </td></tr><tr><td align="left"> | |
346 | </td><td align="left"> | |
347 | <code class="constant">GL_SAMPLE_ALPHA_TO_ONE</code> flag | |
348 | </td></tr><tr><td align="left"> | |
349 | </td><td align="left"> | |
350 | <code class="constant">GL_SAMPLE_COVERAGE</code> flag | |
351 | </td></tr><tr><td align="left"> | |
352 | </td><td align="left"> | |
353 | <code class="constant">GL_SAMPLE_COVERAGE_VALUE</code> value | |
354 | </td></tr><tr><td align="left"> | |
355 | </td><td align="left"> | |
356 | <code class="constant">GL_SAMPLE_COVERAGE_INVERT</code> value | |
357 | </td></tr><tr><td align="left"> | |
358 | <code class="constant">GL_PIXEL_MODE_BIT</code> | |
359 | </td><td align="left"> | |
360 | <code class="constant">GL_RED_BIAS</code> and <code class="constant">GL_RED_SCALE</code> settings | |
361 | </td></tr><tr><td align="left"> | |
362 | </td><td align="left"> | |
363 | <code class="constant">GL_GREEN_BIAS</code> and <code class="constant">GL_GREEN_SCALE</code> values | |
364 | </td></tr><tr><td align="left"> | |
365 | </td><td align="left"> | |
366 | <code class="constant">GL_BLUE_BIAS</code> and <code class="constant">GL_BLUE_SCALE</code> | |
367 | </td></tr><tr><td align="left"> | |
368 | </td><td align="left"> | |
369 | <code class="constant">GL_ALPHA_BIAS</code> and <code class="constant">GL_ALPHA_SCALE</code> | |
370 | </td></tr><tr><td align="left"> | |
371 | </td><td align="left"> | |
372 | <code class="constant">GL_DEPTH_BIAS</code> and <code class="constant">GL_DEPTH_SCALE</code> | |
373 | </td></tr><tr><td align="left"> | |
374 | </td><td align="left"> | |
375 | <code class="constant">GL_INDEX_OFFSET</code> and <code class="constant">GL_INDEX_SHIFT</code> values | |
376 | </td></tr><tr><td align="left"> | |
377 | </td><td align="left"> | |
378 | <code class="constant">GL_MAP_COLOR</code> and <code class="constant">GL_MAP_STENCIL</code> flags | |
379 | </td></tr><tr><td align="left"> | |
380 | </td><td align="left"> | |
381 | <code class="constant">GL_ZOOM_X</code> and <code class="constant">GL_ZOOM_Y</code> factors | |
382 | </td></tr><tr><td align="left"> | |
383 | </td><td align="left"> | |
384 | <code class="constant">GL_READ_BUFFER</code> setting | |
385 | </td></tr><tr><td align="left"> | |
386 | <code class="constant">GL_POINT_BIT</code> | |
387 | </td><td align="left"> | |
388 | <code class="constant">GL_POINT_SMOOTH</code> flag | |
389 | </td></tr><tr><td align="left"> | |
390 | </td><td align="left"> | |
391 | Point size | |
392 | </td></tr><tr><td align="left"> | |
393 | <code class="constant">GL_POLYGON_BIT</code> | |
394 | </td><td align="left"> | |
395 | <code class="constant">GL_CULL_FACE</code> enable bit | |
396 | </td></tr><tr><td align="left"> | |
397 | </td><td align="left"> | |
398 | <code class="constant">GL_CULL_FACE_MODE</code> value | |
399 | </td></tr><tr><td align="left"> | |
400 | </td><td align="left"> | |
401 | <code class="constant">GL_FRONT_FACE</code> indicator | |
402 | </td></tr><tr><td align="left"> | |
403 | </td><td align="left"> | |
404 | <code class="constant">GL_POLYGON_MODE</code> setting | |
405 | </td></tr><tr><td align="left"> | |
406 | </td><td align="left"> | |
407 | <code class="constant">GL_POLYGON_SMOOTH</code> flag | |
408 | </td></tr><tr><td align="left"> | |
409 | </td><td align="left"> | |
410 | <code class="constant">GL_POLYGON_STIPPLE</code> enable bit | |
411 | </td></tr><tr><td align="left"> | |
412 | </td><td align="left"> | |
413 | <code class="constant">GL_POLYGON_OFFSET_FILL</code> flag | |
414 | </td></tr><tr><td align="left"> | |
415 | </td><td align="left"> | |
416 | <code class="constant">GL_POLYGON_OFFSET_LINE</code> flag | |
417 | </td></tr><tr><td align="left"> | |
418 | </td><td align="left"> | |
419 | <code class="constant">GL_POLYGON_OFFSET_POINT</code> flag | |
420 | </td></tr><tr><td align="left"> | |
421 | </td><td align="left"> | |
422 | <code class="constant">GL_POLYGON_OFFSET_FACTOR</code> | |
423 | </td></tr><tr><td align="left"> | |
424 | </td><td align="left"> | |
425 | <code class="constant">GL_POLYGON_OFFSET_UNITS</code> | |
426 | </td></tr><tr><td align="left"> | |
427 | <code class="constant">GL_POLYGON_STIPPLE_BIT</code> | |
428 | </td><td align="left"> | |
429 | Polygon stipple image | |
430 | </td></tr><tr><td align="left"> | |
431 | <code class="constant">GL_SCISSOR_BIT</code> | |
432 | </td><td align="left"> | |
433 | <code class="constant">GL_SCISSOR_TEST</code> flag | |
434 | </td></tr><tr><td align="left"> | |
435 | </td><td align="left"> | |
436 | Scissor box | |
437 | </td></tr><tr><td align="left"> | |
438 | <code class="constant">GL_STENCIL_BUFFER_BIT</code> | |
439 | </td><td align="left"> | |
440 | <code class="constant">GL_STENCIL_TEST</code> enable bit | |
441 | </td></tr><tr><td align="left"> | |
442 | </td><td align="left"> | |
443 | Stencil function and reference value | |
444 | </td></tr><tr><td align="left"> | |
445 | </td><td align="left"> | |
446 | Stencil value mask | |
447 | </td></tr><tr><td align="left"> | |
448 | </td><td align="left"> | |
449 | Stencil fail, pass, and depth buffer pass actions | |
450 | </td></tr><tr><td align="left"> | |
451 | </td><td align="left"> | |
452 | Stencil buffer clear value | |
453 | </td></tr><tr><td align="left"> | |
454 | </td><td align="left"> | |
455 | Stencil buffer writemask | |
456 | </td></tr><tr><td align="left"> | |
457 | <code class="constant">GL_TEXTURE_BIT</code> | |
458 | </td><td align="left"> | |
459 | Enable bits for the four texture coordinates | |
460 | </td></tr><tr><td align="left"> | |
461 | </td><td align="left"> | |
462 | Border color for each texture image | |
463 | </td></tr><tr><td align="left"> | |
464 | </td><td align="left"> | |
465 | Minification function for each texture image | |
466 | </td></tr><tr><td align="left"> | |
467 | </td><td align="left"> | |
468 | Magnification function for each texture image | |
469 | </td></tr><tr><td align="left"> | |
470 | </td><td align="left"> | |
471 | Texture coordinates and wrap mode for each texture image | |
472 | </td></tr><tr><td align="left"> | |
473 | </td><td align="left"> | |
474 | Color and mode for each texture environment | |
475 | </td></tr><tr><td align="left"> | |
476 | </td><td align="left"> | |
477 | Enable bits <code class="constant">GL_TEXTURE_GEN_</code><span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>x</em></span> is S, T, R, and Q | |
478 | </td></tr><tr><td align="left"> | |
479 | </td><td align="left"> | |
480 | <code class="constant">GL_TEXTURE_GEN_MODE</code> setting for S, T, R, and Q | |
481 | </td></tr><tr><td align="left"> | |
482 | </td><td align="left"> | |
483 | <a class="citerefentry" href="glTexGen.xml"><span class="citerefentry"><span class="refentrytitle">glTexGen</span></span></a> plane equations for S, T, R, and Q | |
484 | </td></tr><tr><td align="left"> | |
485 | </td><td align="left"> | |
486 | Current texture bindings (for example, <code class="constant">GL_TEXTURE_BINDING_2D</code>) | |
487 | </td></tr><tr><td align="left"> | |
488 | <code class="constant">GL_TRANSFORM_BIT</code> | |
489 | </td><td align="left"> | |
490 | Coefficients of the six clipping planes | |
491 | </td></tr><tr><td align="left"> | |
492 | </td><td align="left"> | |
493 | Enable bits for the user-definable clipping planes | |
494 | </td></tr><tr><td align="left"> | |
495 | </td><td align="left"> | |
496 | <code class="constant">GL_MATRIX_MODE</code> value | |
497 | </td></tr><tr><td align="left"> | |
498 | </td><td align="left"> | |
499 | <code class="constant">GL_NORMALIZE</code> flag | |
500 | </td></tr><tr><td align="left"> | |
501 | </td><td align="left"> | |
502 | <code class="constant">GL_RESCALE_NORMAL</code> flag | |
503 | </td></tr><tr><td align="left"> | |
504 | <code class="constant">GL_VIEWPORT_BIT</code> | |
505 | </td><td align="left"> | |
506 | Depth range (near and far) | |
507 | </td></tr><tr><td align="left"> | |
508 | </td><td align="left"> | |
509 | Viewport origin and extent | |
510 | </td></tr></tbody></table></div><p> | |
511 | <a class="citerefentry" href="glPopAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glPopAttrib</span></span></a> restores the values of the state variables saved with the last | |
512 | <code class="function">glPushAttrib</code> command. | |
513 | Those not saved are left unchanged. | |
514 | </p><p> | |
515 | It is an error to push attributes onto a full stack | |
516 | or to pop attributes off an empty stack. | |
517 | In either case, the error flag is set | |
518 | and no other change is made to GL state. | |
519 | </p><p> | |
520 | Initially, the attribute stack is empty. | |
521 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p> | |
522 | Not all values for GL state can be saved on the attribute stack. | |
523 | For example, | |
524 | render mode state, | |
525 | and select and feedback state cannot be saved. | |
526 | Client state must be saved with | |
527 | <a class="citerefentry" href="glPushClientAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glPushClientAttrib</span></span></a>. | |
528 | </p><p> | |
529 | The depth of the attribute stack depends on the implementation, | |
530 | but it must be at least 16. | |
531 | </p><p> | |
532 | For OpenGL versions 1.3 and greater, or when the <code class="code">ARB_multitexture</code> extension is supported, pushing and | |
533 | popping texture state applies to all supported texture units. | |
534 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p> | |
535 | <code class="constant">GL_STACK_OVERFLOW</code> is generated if <code class="function">glPushAttrib</code> is called while | |
536 | the attribute stack is full. | |
537 | </p><p> | |
538 | <code class="constant">GL_STACK_UNDERFLOW</code> is generated if <a class="citerefentry" href="glPopAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glPopAttrib</span></span></a> is called while | |
539 | the attribute stack is empty. | |
540 | </p><p> | |
541 | <code class="constant">GL_INVALID_OPERATION</code> is generated if <code class="function">glPushAttrib</code> or <a class="citerefentry" href="glPopAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glPopAttrib</span></span></a> | |
542 | is executed between the execution of <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a> | |
543 | and the corresponding execution of <a class="citerefentry" href="glEnd.xml"><span class="citerefentry"><span class="refentrytitle">glEnd</span></span></a>. | |
544 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p> | |
545 | <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_ATTRIB_STACK_DEPTH</code> | |
546 | </p><p> | |
547 | <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_MAX_ATTRIB_STACK_DEPTH</code> | |
548 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p> | |
549 | <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a>, | |
550 | <a class="citerefentry" href="glGetClipPlane.xml"><span class="citerefentry"><span class="refentrytitle">glGetClipPlane</span></span></a>, | |
551 | <a class="citerefentry" href="glGetError.xml"><span class="citerefentry"><span class="refentrytitle">glGetError</span></span></a>, | |
552 | <a class="citerefentry" href="glGetLight.xml"><span class="citerefentry"><span class="refentrytitle">glGetLight</span></span></a>, | |
553 | <a class="citerefentry" href="glGetMap.xml"><span class="citerefentry"><span class="refentrytitle">glGetMap</span></span></a>, | |
554 | <a class="citerefentry" href="glGetMaterial.xml"><span class="citerefentry"><span class="refentrytitle">glGetMaterial</span></span></a>, | |
555 | <a class="citerefentry" href="glGetPixelMap.xml"><span class="citerefentry"><span class="refentrytitle">glGetPixelMap</span></span></a>, | |
556 | <a class="citerefentry" href="glGetPolygonStipple.xml"><span class="citerefentry"><span class="refentrytitle">glGetPolygonStipple</span></span></a>, | |
557 | <a class="citerefentry" href="glGetString.xml"><span class="citerefentry"><span class="refentrytitle">glGetString</span></span></a>, | |
558 | <a class="citerefentry" href="glGetTexEnv.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexEnv</span></span></a>, | |
559 | <a class="citerefentry" href="glGetTexGen.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexGen</span></span></a>, | |
560 | <a class="citerefentry" href="glGetTexImage.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexImage</span></span></a>, | |
561 | <a class="citerefentry" href="glGetTexLevelParameter.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexLevelParameter</span></span></a>, | |
562 | <a class="citerefentry" href="glGetTexParameter.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexParameter</span></span></a>, | |
563 | <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a>, | |
564 | <a class="citerefentry" href="glPushClientAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glPushClientAttrib</span></span></a> | |
565 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p> | |
566 | Copyright <span class="trademark"></span>© 1991-2006 | |
567 | Silicon Graphics, Inc. This document is licensed under the SGI | |
568 | Free Software B License. For details, see | |
569 | <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>. | |
570 | </p></div></div></body></html> |