include more low-level bindings
[clinton/guile-figl.git] / upstream-man-pages / man2 / xhtml / glMap2.xml
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>glMap2</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glMap2"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glMap2 — define a two-dimensional evaluator</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">glMap2f</b>(</code></td><td>GLenum  </td><td><var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLfloat  </td><td><var class="pdparam">u1</var>, </td></tr><tr><td> </td><td>GLfloat  </td><td><var class="pdparam">u2</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">ustride</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">uorder</var>, </td></tr><tr><td> </td><td>GLfloat  </td><td><var class="pdparam">v1</var>, </td></tr><tr><td> </td><td>GLfloat  </td><td><var class="pdparam">v2</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">vstride</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">vorder</var>, </td></tr><tr><td> </td><td>const GLfloat *  </td><td><var class="pdparam">points</var><code>)</code>;</td></tr></table></div><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">void <b class="fsfunc">glMap2d</b>(</code></td><td>GLenum  </td><td><var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLdouble  </td><td><var class="pdparam">u1</var>, </td></tr><tr><td> </td><td>GLdouble  </td><td><var class="pdparam">u2</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">ustride</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">uorder</var>, </td></tr><tr><td> </td><td>GLdouble  </td><td><var class="pdparam">v1</var>, </td></tr><tr><td> </td><td>GLdouble  </td><td><var class="pdparam">v2</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">vstride</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">vorder</var>, </td></tr><tr><td> </td><td>const GLdouble *  </td><td><var class="pdparam">points</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>target</code></em></span></dt><dd><p>
4 Specifies the kind of values that are generated by the evaluator.
5 Symbolic constants
6 <code class="constant">GL_MAP2_VERTEX_3</code>,
7 <code class="constant">GL_MAP2_VERTEX_4</code>,
8 <code class="constant">GL_MAP2_INDEX</code>,
9 <code class="constant">GL_MAP2_COLOR_4</code>,
10 <code class="constant">GL_MAP2_NORMAL</code>,
11 <code class="constant">GL_MAP2_TEXTURE_COORD_1</code>,
12 <code class="constant">GL_MAP2_TEXTURE_COORD_2</code>,
13 <code class="constant">GL_MAP2_TEXTURE_COORD_3</code>, and
14 <code class="constant">GL_MAP2_TEXTURE_COORD_4</code> are accepted.
15 </p></dd><dt><span class="term"><em class="parameter"><code>u1</code></em>, </span><span class="term"><em class="parameter"><code>u2</code></em></span></dt><dd><p>
16 Specify a linear mapping of
17 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">u</mml:mi></mml:math>,
18 as presented to <a class="citerefentry" href="glEvalCoord2.xml"><span class="citerefentry"><span class="refentrytitle">glEvalCoord2</span></span></a>,
19 to
20 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
21
22 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
23 </mml:math>,
24 one of the two variables that are evaluated by the equations specified
25 by this command. Initially, <em class="parameter"><code>u1</code></em> is 0 and <em class="parameter"><code>u2</code></em> is 1.
26 </p></dd><dt><span class="term"><em class="parameter"><code>ustride</code></em></span></dt><dd><p>
27 Specifies the number of floats or doubles between
28 the beginning of control point
29 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
30
31 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
32 <mml:mi mathvariant="italic">ij</mml:mi>
33 </mml:msub>
34 </mml:math>
35 and the beginning of control point
36 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
37
38 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
39 <mml:mfenced open="" close="">
40 <mml:mrow>
41 <mml:mfenced open="(" close=")">
42 <mml:mrow>
43 <mml:mi mathvariant="italic">i</mml:mi>
44 <mml:mo>+</mml:mo>
45 <mml:mn>1</mml:mn>
46 </mml:mrow>
47 </mml:mfenced>
48 <mml:mo></mml:mo>
49 <mml:mi mathvariant="italic">j</mml:mi>
50 </mml:mrow>
51 </mml:mfenced>
52 </mml:msub>
53 </mml:math>,
54 where
55 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">i</mml:mi></mml:math>
56 and
57 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">j</mml:mi></mml:math>
58 are the
59 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">u</mml:mi></mml:math>
60 and
61 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">v</mml:mi></mml:math>
62 control point indices, respectively.
63 This allows control points to be embedded in arbitrary data structures.
64 The only constraint is that the values for a particular control point
65 must occupy contiguous memory locations. The initial value of <em class="parameter"><code>ustride</code></em> is 0.
66 </p></dd><dt><span class="term"><em class="parameter"><code>uorder</code></em></span></dt><dd><p>
67 Specifies the dimension of the control point array in the
68 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">u</mml:mi></mml:math>
69 axis.
70 Must be positive. The initial value is 1.
71 </p></dd><dt><span class="term"><em class="parameter"><code>v1</code></em>, </span><span class="term"><em class="parameter"><code>v2</code></em></span></dt><dd><p>
72 Specify a linear mapping of
73 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">v</mml:mi></mml:math>,
74 as presented to <a class="citerefentry" href="glEvalCoord2.xml"><span class="citerefentry"><span class="refentrytitle">glEvalCoord2</span></span></a>,
75 to
76 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
77
78 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
79 </mml:math>,
80 one of the two variables that are evaluated by the equations specified
81 by this command. Initially, <em class="parameter"><code>v1</code></em> is 0 and <em class="parameter"><code>v2</code></em> is 1.
82 </p></dd><dt><span class="term"><em class="parameter"><code>vstride</code></em></span></dt><dd><p>
83 Specifies the number of floats or doubles between
84 the beginning of control point
85 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
86
87 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
88 <mml:mi mathvariant="italic">ij</mml:mi>
89 </mml:msub>
90 </mml:math>
91 and the beginning of control point
92 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
93
94 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
95 <mml:mfenced open="" close="">
96 <mml:mrow>
97 <mml:mi mathvariant="italic">i</mml:mi>
98 <mml:mo></mml:mo>
99 <mml:mfenced open="(" close=")">
100 <mml:mrow>
101 <mml:mi mathvariant="italic">j</mml:mi>
102 <mml:mo>+</mml:mo>
103 <mml:mn>1</mml:mn>
104 </mml:mrow>
105 </mml:mfenced>
106 </mml:mrow>
107 </mml:mfenced>
108 </mml:msub>
109 </mml:math>,
110 where
111 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">i</mml:mi></mml:math>
112 and
113 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">j</mml:mi></mml:math>
114 are the
115 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">u</mml:mi></mml:math>
116 and
117 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">v</mml:mi></mml:math>
118 control point indices, respectively.
119 This allows control points to be embedded in arbitrary data structures.
120 The only constraint is that the values for a particular control point
121 must occupy contiguous memory locations. The initial value of <em class="parameter"><code>vstride</code></em> is 0.
122 </p></dd><dt><span class="term"><em class="parameter"><code>vorder</code></em></span></dt><dd><p>
123 Specifies the dimension of the control point array in the
124 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">v</mml:mi></mml:math>
125 axis.
126 Must be positive. The initial value is 1.
127 </p></dd><dt><span class="term"><em class="parameter"><code>points</code></em></span></dt><dd><p>
128 Specifies a pointer to the array of control points.
129 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
130 Evaluators provide a way to use polynomial or rational polynomial mapping
131 to produce vertices,
132 normals,
133 texture coordinates,
134 and colors.
135 The values produced by an evaluator are sent on to further stages
136 of GL processing just as if they had been presented using
137 <a class="citerefentry" href="glVertex.xml"><span class="citerefentry"><span class="refentrytitle">glVertex</span></span></a>,
138 <a class="citerefentry" href="glNormal.xml"><span class="citerefentry"><span class="refentrytitle">glNormal</span></span></a>,
139 <a class="citerefentry" href="glTexCoord.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord</span></span></a>, and
140 <a class="citerefentry" href="glColor.xml"><span class="citerefentry"><span class="refentrytitle">glColor</span></span></a> commands,
141 except that the generated values do not update the current normal,
142 texture coordinates,
143 or color.
144 </p><p>
145 All polynomial or rational polynomial splines of any degree
146 (up to the maximum degree supported by the GL implementation)
147 can be described using evaluators.
148 These include almost all surfaces used in computer graphics,
149 including B-spline surfaces,
150 NURBS surfaces,
151 Bezier surfaces, and so on.
152 </p><p>
153 Evaluators define surfaces based on bivariate Bernstein polynomials.
154 Define
155 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
156
157 <mml:mrow>
158 <mml:mi mathvariant="italic">p</mml:mi>
159 <mml:mo></mml:mo>
160 <mml:mfenced open="(" close=")">
161 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
162 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
163 </mml:mfenced>
164 </mml:mrow>
165 </mml:math>
166 as
167 </p><p>
168 </p><div class="informalequation"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
169
170 <mml:mrow>
171 <mml:mrow>
172 <mml:mi mathvariant="italic">p</mml:mi>
173 <mml:mo></mml:mo>
174 <mml:mfenced open="(" close=")">
175 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
176 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
177 </mml:mfenced>
178 </mml:mrow>
179 <mml:mo>=</mml:mo>
180 <mml:mrow>
181 <mml:munderover>
182 <mml:mo>Σ</mml:mo>
183 <mml:mrow>
184 <mml:mi mathvariant="italic">i</mml:mi>
185 <mml:mo>=</mml:mo>
186 <mml:mn>0</mml:mn>
187 </mml:mrow>
188 <mml:mi mathvariant="italic">n</mml:mi>
189 </mml:munderover>
190 <mml:mrow>
191 <mml:munderover>
192 <mml:mo>Σ</mml:mo>
193 <mml:mrow>
194 <mml:mi mathvariant="italic">j</mml:mi>
195 <mml:mo>=</mml:mo>
196 <mml:mn>0</mml:mn>
197 </mml:mrow>
198 <mml:mi mathvariant="italic">m</mml:mi>
199 </mml:munderover>
200 <mml:mrow>
201 <mml:mrow>
202 <mml:msup><mml:mfenced open="" close="">
203 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
204 <mml:mi mathvariant="italic">i</mml:mi>
205 </mml:msub>
206 </mml:mfenced>
207 <mml:mi mathvariant="italic">n</mml:mi>
208 </mml:msup>
209 <mml:mo></mml:mo>
210 <mml:mfenced open="(" close=")">
211 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
212 </mml:mfenced>
213 </mml:mrow>
214 <mml:mo></mml:mo>
215 <mml:mrow>
216 <mml:msup><mml:mfenced open="" close="">
217 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
218 <mml:mi mathvariant="italic">j</mml:mi>
219 </mml:msub>
220 </mml:mfenced>
221 <mml:mi mathvariant="italic">m</mml:mi>
222 </mml:msup>
223 <mml:mo></mml:mo>
224 <mml:mfenced open="(" close=")">
225 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
226 </mml:mfenced>
227 </mml:mrow>
228 <mml:mo></mml:mo>
229 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
230 <mml:mi mathvariant="italic">ij</mml:mi>
231 </mml:msub>
232 </mml:mrow>
233 </mml:mrow>
234 </mml:mrow>
235 </mml:mrow>
236 </mml:math></div><p>
237 </p><p>
238 </p><p>
239 where
240 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
241
242 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
243 <mml:mi mathvariant="italic">ij</mml:mi>
244 </mml:msub>
245 </mml:math>
246 is a control point,
247 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
248
249 <mml:mrow>
250 <mml:msup><mml:mfenced open="" close="">
251 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
252 <mml:mi mathvariant="italic">i</mml:mi>
253 </mml:msub>
254 </mml:mfenced>
255 <mml:mi mathvariant="italic">n</mml:mi>
256 </mml:msup>
257 <mml:mo></mml:mo>
258 <mml:mfenced open="(" close=")">
259 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
260 </mml:mfenced>
261 </mml:mrow>
262 </mml:math>
263 is the
264 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">i</mml:mi></mml:math>th
265 Bernstein polynomial of degree
266 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">n</mml:mi></mml:math>
267 (<em class="parameter"><code>uorder</code></em> =
268 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
269
270 <mml:mrow>
271 <mml:mi mathvariant="italic">n</mml:mi>
272 <mml:mo>+</mml:mo>
273 <mml:mn>1</mml:mn>
274 </mml:mrow>
275 </mml:math>)
276 </p><p>
277 </p><div class="informalequation"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
278
279 <mml:mrow>
280 <mml:mrow>
281 <mml:msup><mml:mfenced open="" close="">
282 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
283 <mml:mi mathvariant="italic">i</mml:mi>
284 </mml:msub>
285 </mml:mfenced>
286 <mml:mi mathvariant="italic">n</mml:mi>
287 </mml:msup>
288 <mml:mo></mml:mo>
289 <mml:mfenced open="(" close=")">
290 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
291 </mml:mfenced>
292 </mml:mrow>
293 <mml:mo>=</mml:mo>
294 <mml:mrow>
295 <mml:mfenced open="(" close=")">
296 <mml:mfenced open="" close="">
297 <mml:mtable>
298 <mml:mtr><mml:mtd>
299 <mml:mi mathvariant="italic">n</mml:mi>
300 </mml:mtd></mml:mtr>
301 <mml:mtr><mml:mtd>
302 <mml:mi mathvariant="italic">i</mml:mi>
303 </mml:mtd></mml:mtr>
304 </mml:mtable>
305 </mml:mfenced>
306 </mml:mfenced>
307 <mml:mo></mml:mo>
308 <mml:msup><mml:mfenced open="" close="">
309 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
310 </mml:mfenced>
311 <mml:mi mathvariant="italic">i</mml:mi>
312 </mml:msup>
313 <mml:mo></mml:mo>
314 <mml:mfenced open="" close="">
315 <mml:msup><mml:mfenced open="(" close=")">
316 <mml:mrow>
317 <mml:mn>1</mml:mn>
318 <mml:mo>-</mml:mo>
319 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
320 </mml:mrow>
321 </mml:mfenced>
322 <mml:mfenced open="" close="">
323 <mml:mrow>
324 <mml:mi mathvariant="italic">n</mml:mi>
325 <mml:mo>-</mml:mo>
326 <mml:mi mathvariant="italic">i</mml:mi>
327 </mml:mrow>
328 </mml:mfenced>
329 </mml:msup>
330 </mml:mfenced>
331 </mml:mrow>
332 </mml:mrow>
333 </mml:math></div><p>
334 </p><p>
335 and
336 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
337
338 <mml:mrow>
339 <mml:msup><mml:mfenced open="" close="">
340 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
341 <mml:mi mathvariant="italic">j</mml:mi>
342 </mml:msub>
343 </mml:mfenced>
344 <mml:mi mathvariant="italic">m</mml:mi>
345 </mml:msup>
346 <mml:mo></mml:mo>
347 <mml:mfenced open="(" close=")">
348 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
349 </mml:mfenced>
350 </mml:mrow>
351 </mml:math>
352 is the
353 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">j</mml:mi></mml:math>th
354 Bernstein polynomial of degree
355 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">m</mml:mi></mml:math>
356 (<em class="parameter"><code>vorder</code></em> =
357 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
358
359 <mml:mrow>
360 <mml:mi mathvariant="italic">m</mml:mi>
361 <mml:mo>+</mml:mo>
362 <mml:mn>1</mml:mn>
363 </mml:mrow>
364 </mml:math>)
365 </p><p>
366 </p><div class="informalequation"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
367
368 <mml:mrow>
369 <mml:mrow>
370 <mml:msup><mml:mfenced open="" close="">
371 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
372 <mml:mi mathvariant="italic">j</mml:mi>
373 </mml:msub>
374 </mml:mfenced>
375 <mml:mi mathvariant="italic">m</mml:mi>
376 </mml:msup>
377 <mml:mo></mml:mo>
378 <mml:mfenced open="(" close=")">
379 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
380 </mml:mfenced>
381 </mml:mrow>
382 <mml:mo>=</mml:mo>
383 <mml:mrow>
384 <mml:mfenced open="(" close=")">
385 <mml:mfenced open="" close="">
386 <mml:mtable>
387 <mml:mtr><mml:mtd>
388 <mml:mi mathvariant="italic">m</mml:mi>
389 </mml:mtd></mml:mtr>
390 <mml:mtr><mml:mtd>
391 <mml:mi mathvariant="italic">j</mml:mi>
392 </mml:mtd></mml:mtr>
393 </mml:mtable>
394 </mml:mfenced>
395 </mml:mfenced>
396 <mml:mo></mml:mo>
397 <mml:msup><mml:mfenced open="" close="">
398 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
399 </mml:mfenced>
400 <mml:mi mathvariant="italic">j</mml:mi>
401 </mml:msup>
402 <mml:mo></mml:mo>
403 <mml:mfenced open="" close="">
404 <mml:msup><mml:mfenced open="(" close=")">
405 <mml:mrow>
406 <mml:mn>1</mml:mn>
407 <mml:mo>-</mml:mo>
408 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
409 </mml:mrow>
410 </mml:mfenced>
411 <mml:mfenced open="" close="">
412 <mml:mrow>
413 <mml:mi mathvariant="italic">m</mml:mi>
414 <mml:mo>-</mml:mo>
415 <mml:mi mathvariant="italic">j</mml:mi>
416 </mml:mrow>
417 </mml:mfenced>
418 </mml:msup>
419 </mml:mfenced>
420 </mml:mrow>
421 </mml:mrow>
422 </mml:math></div><p>
423 </p><p>
424 Recall that
425 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
426
427 <mml:mrow>
428 <mml:msup><mml:mn>0</mml:mn>
429 <mml:mn>0</mml:mn>
430 </mml:msup>
431 <mml:mo>==</mml:mo>
432 <mml:mn>1</mml:mn>
433 </mml:mrow>
434 </mml:math>
435 and
436 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
437
438 <mml:mrow>
439 <mml:mfenced open="(" close=")">
440 <mml:mfenced open="" close="">
441 <mml:mtable>
442 <mml:mtr><mml:mtd>
443 <mml:mi mathvariant="italic">n</mml:mi>
444 </mml:mtd></mml:mtr>
445 <mml:mtr><mml:mtd>
446 <mml:mn>0</mml:mn>
447 </mml:mtd></mml:mtr>
448 </mml:mtable>
449 </mml:mfenced>
450 </mml:mfenced>
451 <mml:mo>==</mml:mo>
452 <mml:mn>1</mml:mn>
453 </mml:mrow>
454 </mml:math>
455 </p><p>
456 <code class="function">glMap2</code> is used to define the basis and to specify what kind of values
457 are produced.
458 Once defined,
459 a map can be enabled and disabled by calling <a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a> and <a class="citerefentry" href="glDisable.xml"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a>
460 with the map name, one of the nine predefined values for <em class="parameter"><code>target</code></em>,
461 described below.
462 When <a class="citerefentry" href="glEvalCoord2.xml"><span class="citerefentry"><span class="refentrytitle">glEvalCoord2</span></span></a> presents values
463 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">u</mml:mi></mml:math>
464 and
465 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">v</mml:mi></mml:math>,
466 the bivariate Bernstein polynomials are evaluated using
467 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
468
469 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
470 </mml:math>
471 and
472 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
473
474 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
475 </mml:math>,
476 where
477 </p><p>
478 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
479
480 <mml:mrow>
481 <mml:mover><mml:mi mathvariant="italic">u</mml:mi><mml:mo>̂</mml:mo></mml:mover>
482 <mml:mo>=</mml:mo>
483 <mml:mfrac>
484 <mml:mfenced open="" close="">
485 <mml:mrow>
486 <mml:mi mathvariant="italic">u</mml:mi>
487 <mml:mo>-</mml:mo>
488 <mml:mi mathvariant="italic">u1</mml:mi>
489 </mml:mrow>
490 </mml:mfenced>
491 <mml:mfenced open="" close="">
492 <mml:mrow>
493 <mml:mi mathvariant="italic">u2</mml:mi>
494 <mml:mo>-</mml:mo>
495 <mml:mi mathvariant="italic">u1</mml:mi>
496 </mml:mrow>
497 </mml:mfenced>
498 </mml:mfrac>
499 </mml:mrow>
500 </mml:math>
501 </p><p>
502 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
503
504 <mml:mrow>
505 <mml:mover><mml:mi mathvariant="italic">v</mml:mi><mml:mo>̂</mml:mo></mml:mover>
506 <mml:mo>=</mml:mo>
507 <mml:mfrac>
508 <mml:mfenced open="" close="">
509 <mml:mrow>
510 <mml:mi mathvariant="italic">v</mml:mi>
511 <mml:mo>-</mml:mo>
512 <mml:mi mathvariant="italic">v1</mml:mi>
513 </mml:mrow>
514 </mml:mfenced>
515 <mml:mfenced open="" close="">
516 <mml:mrow>
517 <mml:mi mathvariant="italic">v2</mml:mi>
518 <mml:mo>-</mml:mo>
519 <mml:mi mathvariant="italic">v1</mml:mi>
520 </mml:mrow>
521 </mml:mfenced>
522 </mml:mfrac>
523 </mml:mrow>
524 </mml:math>
525 </p><p>
526 <em class="parameter"><code>target</code></em> is a symbolic constant that indicates what kind of control points
527 are provided in <em class="parameter"><code>points</code></em>,
528 and what output is generated when the map is evaluated.
529 It can assume one of nine predefined values:
530 </p><div class="variablelist"><dl><dt><span class="term"><code class="constant">GL_MAP2_VERTEX_3</code></span></dt><dd><p>
531 Each control point is three floating-point values representing
532 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math>,
533 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">y</mml:mi></mml:math>,
534 and
535 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">z</mml:mi></mml:math>.
536 Internal <a class="citerefentry" href="glVertex3.xml"><span class="citerefentry"><span class="refentrytitle">glVertex3</span></span></a> commands are generated when the map is evaluated.
537 </p></dd><dt><span class="term"><code class="constant">GL_MAP2_VERTEX_4</code></span></dt><dd><p>
538 Each control point is four floating-point values representing
539 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math>,
540 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">y</mml:mi></mml:math>,
541 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">z</mml:mi></mml:math>,
542 and
543 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">w</mml:mi></mml:math>.
544 Internal <a class="citerefentry" href="glVertex4.xml"><span class="citerefentry"><span class="refentrytitle">glVertex4</span></span></a> commands are generated when the map is evaluated.
545 </p></dd><dt><span class="term"><code class="constant">GL_MAP2_INDEX</code></span></dt><dd><p>
546 Each control point is a single floating-point value representing a color index.
547 Internal <a class="citerefentry" href="glIndex.xml"><span class="citerefentry"><span class="refentrytitle">glIndex</span></span></a> commands are generated when the map is evaluated
548 but the current index is not updated with the value of these
549 <a class="citerefentry" href="glIndex.xml"><span class="citerefentry"><span class="refentrytitle">glIndex</span></span></a> commands.
550 </p></dd><dt><span class="term"><code class="constant">GL_MAP2_COLOR_4</code></span></dt><dd><p>
551 Each control point is four floating-point values representing
552 red, green, blue, and alpha.
553 Internal <a class="citerefentry" href="glColor4.xml"><span class="citerefentry"><span class="refentrytitle">glColor4</span></span></a> commands are generated when the map is
554 evaluated but the current color is not updated with the value of
555 these <a class="citerefentry" href="glColor4.xml"><span class="citerefentry"><span class="refentrytitle">glColor4</span></span></a> commands.
556 </p></dd><dt><span class="term"><code class="constant">GL_MAP2_NORMAL</code></span></dt><dd><p>
557 Each control point is three floating-point values representing
558 the
559 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math>,
560 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">y</mml:mi></mml:math>,
561 and
562 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">z</mml:mi></mml:math>
563 components of a normal vector.
564 Internal <a class="citerefentry" href="glNormal.xml"><span class="citerefentry"><span class="refentrytitle">glNormal</span></span></a> commands are generated when the map is
565 evaluated but the current normal is not updated with the value of
566 these <a class="citerefentry" href="glNormal.xml"><span class="citerefentry"><span class="refentrytitle">glNormal</span></span></a> commands.
567 </p></dd><dt><span class="term"><code class="constant">GL_MAP2_TEXTURE_COORD_1</code></span></dt><dd><p>
568 Each control point is a single floating-point value representing
569 the
570 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">s</mml:mi></mml:math>
571 texture coordinate.
572 Internal
573 <a class="citerefentry" href="glTexCoord1.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord1</span></span></a> commands are generated when the map is evaluated but
574 the current texture coordinates are not updated with the value
575 of these <a class="citerefentry" href="glTexCoord.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord</span></span></a> commands.
576 </p></dd><dt><span class="term"><code class="constant">GL_MAP2_TEXTURE_COORD_2</code></span></dt><dd><p>
577 Each control point is two floating-point values representing
578 the
579 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">s</mml:mi></mml:math>
580 and
581 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">t</mml:mi></mml:math>
582 texture coordinates.
583 Internal
584 <a class="citerefentry" href="glTexCoord2.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord2</span></span></a> commands are generated when the map is evaluated but
585 the current texture coordinates are not updated with the value
586 of these <a class="citerefentry" href="glTexCoord.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord</span></span></a> commands.
587 </p></dd><dt><span class="term"><code class="constant">GL_MAP2_TEXTURE_COORD_3</code></span></dt><dd><p>
588 Each control point is three floating-point values representing
589 the
590 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">s</mml:mi></mml:math>,
591 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">t</mml:mi></mml:math>,
592 and
593 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">r</mml:mi></mml:math>
594 texture coordinates.
595 Internal <a class="citerefentry" href="glTexCoord3.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord3</span></span></a> commands are generated when the map is
596 evaluated but the current texture coordinates are not updated with the value
597 of these <a class="citerefentry" href="glTexCoord.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord</span></span></a> commands.
598 </p></dd><dt><span class="term"><code class="constant">GL_MAP2_TEXTURE_COORD_4</code></span></dt><dd><p>
599 Each control point is four floating-point values representing
600 the
601 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">s</mml:mi></mml:math>,
602 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">t</mml:mi></mml:math>,
603 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">r</mml:mi></mml:math>,
604 and
605 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">q</mml:mi></mml:math>
606 texture coordinates.
607 Internal
608 <a class="citerefentry" href="glTexCoord4.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord4</span></span></a> commands are generated when the map is evaluated but the current texture coordinates are not updated with the value
609 of these <a class="citerefentry" href="glTexCoord.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord</span></span></a> commands.
610 </p></dd></dl></div><p>
611 <em class="parameter"><code>ustride</code></em>,
612 <em class="parameter"><code>uorder</code></em>,
613 <em class="parameter"><code>vstride</code></em>,
614 <em class="parameter"><code>vorder</code></em>, and
615 <em class="parameter"><code>points</code></em> define the array addressing for accessing the control points.
616 <em class="parameter"><code>points</code></em> is the location of the first control point,
617 which occupies one, two, three, or four contiguous memory locations,
618 depending on which map is being defined.
619 There are
620 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
621
622 <mml:mrow>
623 <mml:mi mathvariant="italic">uorder</mml:mi>
624 <mml:mo>×</mml:mo>
625 <mml:mi mathvariant="italic">vorder</mml:mi>
626 </mml:mrow>
627 </mml:math>
628 control points in the array.
629 <em class="parameter"><code>ustride</code></em> specifies how many float or double locations are skipped to advance
630 the internal memory pointer from control point
631 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
632
633 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
634 <mml:mfenced open="" close="">
635 <mml:mrow>
636 <mml:mi mathvariant="italic">i</mml:mi>
637 <mml:mo></mml:mo>
638 <mml:mi mathvariant="italic">j</mml:mi>
639 </mml:mrow>
640 </mml:mfenced>
641 </mml:msub>
642 </mml:math>
643 to control point
644 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
645
646 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
647 <mml:mfenced open="" close="">
648 <mml:mrow>
649 <mml:mfenced open="(" close=")">
650 <mml:mrow>
651 <mml:mi mathvariant="italic">i</mml:mi>
652 <mml:mo>+</mml:mo>
653 <mml:mn>1</mml:mn>
654 </mml:mrow>
655 </mml:mfenced>
656 <mml:mo></mml:mo>
657 <mml:mi mathvariant="italic">j</mml:mi>
658 </mml:mrow>
659 </mml:mfenced>
660 </mml:msub>
661 </mml:math>.
662 <em class="parameter"><code>vstride</code></em> specifies how many float or double locations are skipped to advance
663 the internal memory pointer from control point
664 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
665
666 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
667 <mml:mfenced open="" close="">
668 <mml:mrow>
669 <mml:mi mathvariant="italic">i</mml:mi>
670 <mml:mo></mml:mo>
671 <mml:mi mathvariant="italic">j</mml:mi>
672 </mml:mrow>
673 </mml:mfenced>
674 </mml:msub>
675 </mml:math>
676 to control point
677 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
678
679 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
680 <mml:mfenced open="" close="">
681 <mml:mrow>
682 <mml:mi mathvariant="italic">i</mml:mi>
683 <mml:mo></mml:mo>
684 <mml:mfenced open="(" close=")">
685 <mml:mrow>
686 <mml:mi mathvariant="italic">j</mml:mi>
687 <mml:mo>+</mml:mo>
688 <mml:mn>1</mml:mn>
689 </mml:mrow>
690 </mml:mfenced>
691 </mml:mrow>
692 </mml:mfenced>
693 </mml:msub>
694 </mml:math>.
695 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
696 As is the case with all GL commands that accept pointers to data,
697 it is as if the contents of <em class="parameter"><code>points</code></em> were copied by <code class="function">glMap2</code> before <code class="function">glMap2</code>
698 returns.
699 Changes to the contents of <em class="parameter"><code>points</code></em> have no effect after <code class="function">glMap2</code> is called.
700 </p><p>
701 Initially, <code class="constant">GL_AUTO_NORMAL</code> is enabled. If <code class="constant">GL_AUTO_NORMAL</code> is enabled,
702 normal vectors are generated when either
703 <code class="constant">GL_MAP2_VERTEX_3</code> or <code class="constant">GL_MAP2_VERTEX_4</code> is used to generate
704 vertices.
705 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p>
706 <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>target</code></em> is not an accepted value.
707 </p><p>
708 <code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>u1</code></em> is equal to <em class="parameter"><code>u2</code></em>,
709 or if <em class="parameter"><code>v1</code></em> is equal to <em class="parameter"><code>v2</code></em>.
710 </p><p>
711 <code class="constant">GL_INVALID_VALUE</code> is generated if either <em class="parameter"><code>ustride</code></em> or <em class="parameter"><code>vstride</code></em>
712 is less than the number of values in a control point.
713 </p><p>
714 <code class="constant">GL_INVALID_VALUE</code> is generated if either <em class="parameter"><code>uorder</code></em> or <em class="parameter"><code>vorder</code></em>
715 is less than 1 or greater than the return value of <code class="constant">GL_MAX_EVAL_ORDER</code>.
716 </p><p>
717 <code class="constant">GL_INVALID_OPERATION</code> is generated if <code class="function">glMap2</code>
718 is executed between the execution of
719 <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a>
720 and the corresponding execution of <a class="citerefentry" href="glEnd.xml"><span class="citerefentry"><span class="refentrytitle">glEnd</span></span></a>.
721 </p><p>
722 <code class="constant">GL_INVALID_OPERATION</code> is generated if <code class="function">glMap2</code> is called and the value
723 of <code class="constant">GL_ACTIVE_TEXTURE</code> is not <code class="constant">GL_TEXTURE0</code>.
724 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
725 <a class="citerefentry" href="glGetMap.xml"><span class="citerefentry"><span class="refentrytitle">glGetMap</span></span></a>
726 </p><p>
727 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_MAX_EVAL_ORDER</code>
728 </p><p>
729 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_VERTEX_3</code>
730 </p><p>
731 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_VERTEX_4</code>
732 </p><p>
733 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_INDEX</code>
734 </p><p>
735 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_COLOR_4</code>
736 </p><p>
737 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_NORMAL</code>
738 </p><p>
739 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_TEXTURE_COORD_1</code>
740 </p><p>
741 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_TEXTURE_COORD_2</code>
742 </p><p>
743 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_TEXTURE_COORD_3</code>
744 </p><p>
745 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_MAP2_TEXTURE_COORD_4</code>
746 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
747 <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a>,
748 <a class="citerefentry" href="glColor.xml"><span class="citerefentry"><span class="refentrytitle">glColor</span></span></a>,
749 <a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>,
750 <a class="citerefentry" href="glEvalCoord.xml"><span class="citerefentry"><span class="refentrytitle">glEvalCoord</span></span></a>,
751 <a class="citerefentry" href="glEvalMesh.xml"><span class="citerefentry"><span class="refentrytitle">glEvalMesh</span></span></a>,
752 <a class="citerefentry" href="glEvalPoint.xml"><span class="citerefentry"><span class="refentrytitle">glEvalPoint</span></span></a>,
753 <a class="citerefentry" href="glMap1.xml"><span class="citerefentry"><span class="refentrytitle">glMap1</span></span></a>,
754 <a class="citerefentry" href="glMapGrid.xml"><span class="citerefentry"><span class="refentrytitle">glMapGrid</span></span></a>,
755 <a class="citerefentry" href="glNormal.xml"><span class="citerefentry"><span class="refentrytitle">glNormal</span></span></a>,
756 <a class="citerefentry" href="glTexCoord.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord</span></span></a>,
757 <a class="citerefentry" href="glVertex.xml"><span class="citerefentry"><span class="refentrytitle">glVertex</span></span></a>
758 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
759 Copyright <span class="trademark"></span>© 1991-2006
760 Silicon Graphics, Inc. This document is licensed under the SGI
761 Free Software B License. For details, see
762 <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
763 </p></div></div></body></html>