6b93c06ec898de94035ca65336df1a9810681ab5
[clinton/guile-figl.git] / upstream-man-pages / man2 / xhtml / glLoadMatrix.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>glLoadMatrix</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glLoadMatrix"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glLoadMatrix — replace the current matrix with the specified matrix</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">glLoadMatrixd</b>(</code></td><td>const GLdouble *  </td><td><var class="pdparam">m</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">glLoadMatrixf</b>(</code></td><td>const GLfloat *  </td><td><var class="pdparam">m</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>m</code></em></span></dt><dd><p>
4 Specifies a pointer to 16 consecutive values, which are used as the
5 elements of a
6 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
7
8 <mml:mrow>
9 <mml:mn>4</mml:mn>
10 <mml:mo>×</mml:mo>
11 <mml:mn>4</mml:mn>
12 </mml:mrow>
13 </mml:math>
14 column-major matrix.
15 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
16 <code class="function">glLoadMatrix</code> replaces the current matrix with the one whose elements are specified by
17 <em class="parameter"><code>m</code></em>.
18 The current matrix is the projection matrix,
19 modelview matrix,
20 or texture matrix,
21 depending on the current matrix mode
22 (see <a class="citerefentry" href="glMatrixMode.xml"><span class="citerefentry"><span class="refentrytitle">glMatrixMode</span></span></a>).
23 </p><p>
24 The current matrix, M, defines a transformation of coordinates.
25 For instance, assume M refers to the modelview matrix.
26 If
27 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
28
29 <mml:mrow>
30 <mml:mi mathvariant="italic">v</mml:mi>
31 <mml:mo>=</mml:mo>
32 <mml:mfenced open="(" close=")">
33 <mml:mrow>
34 <mml:mi mathvariant="italic">v</mml:mi>
35 <mml:mo></mml:mo>
36 <mml:mfenced open="[" close="]">
37 <mml:mn>0</mml:mn>
38 </mml:mfenced>
39 </mml:mrow>
40 <mml:mrow>
41 <mml:mi mathvariant="italic">v</mml:mi>
42 <mml:mo></mml:mo>
43 <mml:mfenced open="[" close="]">
44 <mml:mn>1</mml:mn>
45 </mml:mfenced>
46 </mml:mrow>
47 <mml:mrow>
48 <mml:mi mathvariant="italic">v</mml:mi>
49 <mml:mo></mml:mo>
50 <mml:mfenced open="[" close="]">
51 <mml:mn>2</mml:mn>
52 </mml:mfenced>
53 </mml:mrow>
54 <mml:mrow>
55 <mml:mi mathvariant="italic">v</mml:mi>
56 <mml:mo></mml:mo>
57 <mml:mfenced open="[" close="]">
58 <mml:mn>3</mml:mn>
59 </mml:mfenced>
60 </mml:mrow>
61 </mml:mfenced>
62 </mml:mrow>
63 </mml:math>
64 is the set of object coordinates
65 of a vertex,
66 and <em class="parameter"><code>m</code></em> points to an array of
67 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
68
69 <mml:mn>16</mml:mn>
70 </mml:math>
71 single- or double-precision
72 floating-point values
73 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
74
75 <mml:mrow>
76 <mml:mi mathvariant="italic">m</mml:mi>
77 <mml:mo>=</mml:mo>
78 <mml:mfenced open="{" close="}">
79 <mml:mrow>
80 <mml:mi mathvariant="italic">m</mml:mi>
81 <mml:mo></mml:mo>
82 <mml:mfenced open="[" close="]">
83 <mml:mn>0</mml:mn>
84 </mml:mfenced>
85 </mml:mrow>
86 <mml:mrow>
87 <mml:mi mathvariant="italic">m</mml:mi>
88 <mml:mo></mml:mo>
89 <mml:mfenced open="[" close="]">
90 <mml:mn>1</mml:mn>
91 </mml:mfenced>
92 </mml:mrow>
93 <mml:mi mathvariant="italic">...</mml:mi>
94 <mml:mrow>
95 <mml:mi mathvariant="italic">m</mml:mi>
96 <mml:mo></mml:mo>
97 <mml:mfenced open="[" close="]">
98 <mml:mn>15</mml:mn>
99 </mml:mfenced>
100 </mml:mrow>
101 </mml:mfenced>
102 </mml:mrow>
103 </mml:math>,
104 then the modelview transformation
105 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
106
107 <mml:mrow>
108 <mml:mi mathvariant="italic">M</mml:mi>
109 <mml:mo></mml:mo>
110 <mml:mfenced open="(" close=")">
111 <mml:mi mathvariant="italic">v</mml:mi>
112 </mml:mfenced>
113 </mml:mrow>
114 </mml:math>
115 does the following:
116 </p><p>
117 </p><div class="informalequation"><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
118
119 <mml:mrow>
120 <mml:mrow>
121 <mml:mi mathvariant="italic">M</mml:mi>
122 <mml:mo></mml:mo>
123 <mml:mfenced open="(" close=")">
124 <mml:mi mathvariant="italic">v</mml:mi>
125 </mml:mfenced>
126 </mml:mrow>
127 <mml:mo>=</mml:mo>
128 <mml:mrow>
129 <mml:mfenced open="(" close=")">
130 <mml:mtable>
131 <mml:mtr>
132 <mml:mtd>
133 <mml:mrow>
134 <mml:mi mathvariant="italic">m</mml:mi>
135 <mml:mo></mml:mo>
136 <mml:mfenced open="[" close="]">
137 <mml:mn>0</mml:mn>
138 </mml:mfenced>
139 </mml:mrow>
140 </mml:mtd>
141 <mml:mtd>
142 <mml:mrow>
143 <mml:mi mathvariant="italic">m</mml:mi>
144 <mml:mo></mml:mo>
145 <mml:mfenced open="[" close="]">
146 <mml:mn>4</mml:mn>
147 </mml:mfenced>
148 </mml:mrow>
149 </mml:mtd>
150 <mml:mtd>
151 <mml:mrow>
152 <mml:mi mathvariant="italic">m</mml:mi>
153 <mml:mo></mml:mo>
154 <mml:mfenced open="[" close="]">
155 <mml:mn>8</mml:mn>
156 </mml:mfenced>
157 </mml:mrow>
158 </mml:mtd>
159 <mml:mtd>
160 <mml:mrow>
161 <mml:mi mathvariant="italic">m</mml:mi>
162 <mml:mo></mml:mo>
163 <mml:mfenced open="[" close="]">
164 <mml:mn>12</mml:mn>
165 </mml:mfenced>
166 </mml:mrow>
167 </mml:mtd>
168 </mml:mtr>
169 <mml:mtr>
170 <mml:mtd>
171 <mml:mrow>
172 <mml:mi mathvariant="italic">m</mml:mi>
173 <mml:mo></mml:mo>
174 <mml:mfenced open="[" close="]">
175 <mml:mn>1</mml:mn>
176 </mml:mfenced>
177 </mml:mrow>
178 </mml:mtd>
179 <mml:mtd>
180 <mml:mrow>
181 <mml:mi mathvariant="italic">m</mml:mi>
182 <mml:mo></mml:mo>
183 <mml:mfenced open="[" close="]">
184 <mml:mn>5</mml:mn>
185 </mml:mfenced>
186 </mml:mrow>
187 </mml:mtd>
188 <mml:mtd>
189 <mml:mrow>
190 <mml:mi mathvariant="italic">m</mml:mi>
191 <mml:mo></mml:mo>
192 <mml:mfenced open="[" close="]">
193 <mml:mn>9</mml:mn>
194 </mml:mfenced>
195 </mml:mrow>
196 </mml:mtd>
197 <mml:mtd>
198 <mml:mrow>
199 <mml:mi mathvariant="italic">m</mml:mi>
200 <mml:mo></mml:mo>
201 <mml:mfenced open="[" close="]">
202 <mml:mn>13</mml:mn>
203 </mml:mfenced>
204 </mml:mrow>
205 </mml:mtd>
206 </mml:mtr>
207 <mml:mtr>
208 <mml:mtd>
209 <mml:mrow>
210 <mml:mi mathvariant="italic">m</mml:mi>
211 <mml:mo></mml:mo>
212 <mml:mfenced open="[" close="]">
213 <mml:mn>2</mml:mn>
214 </mml:mfenced>
215 </mml:mrow>
216 </mml:mtd>
217 <mml:mtd>
218 <mml:mrow>
219 <mml:mi mathvariant="italic">m</mml:mi>
220 <mml:mo></mml:mo>
221 <mml:mfenced open="[" close="]">
222 <mml:mn>6</mml:mn>
223 </mml:mfenced>
224 </mml:mrow>
225 </mml:mtd>
226 <mml:mtd>
227 <mml:mrow>
228 <mml:mi mathvariant="italic">m</mml:mi>
229 <mml:mo></mml:mo>
230 <mml:mfenced open="[" close="]">
231 <mml:mn>10</mml:mn>
232 </mml:mfenced>
233 </mml:mrow>
234 </mml:mtd>
235 <mml:mtd>
236 <mml:mrow>
237 <mml:mi mathvariant="italic">m</mml:mi>
238 <mml:mo></mml:mo>
239 <mml:mfenced open="[" close="]">
240 <mml:mn>14</mml:mn>
241 </mml:mfenced>
242 </mml:mrow>
243 </mml:mtd>
244 </mml:mtr>
245 <mml:mtr>
246 <mml:mtd>
247 <mml:mrow>
248 <mml:mi mathvariant="italic">m</mml:mi>
249 <mml:mo></mml:mo>
250 <mml:mfenced open="[" close="]">
251 <mml:mn>3</mml:mn>
252 </mml:mfenced>
253 </mml:mrow>
254 </mml:mtd>
255 <mml:mtd>
256 <mml:mrow>
257 <mml:mi mathvariant="italic">m</mml:mi>
258 <mml:mo></mml:mo>
259 <mml:mfenced open="[" close="]">
260 <mml:mn>7</mml:mn>
261 </mml:mfenced>
262 </mml:mrow>
263 </mml:mtd>
264 <mml:mtd>
265 <mml:mrow>
266 <mml:mi mathvariant="italic">m</mml:mi>
267 <mml:mo></mml:mo>
268 <mml:mfenced open="[" close="]">
269 <mml:mn>11</mml:mn>
270 </mml:mfenced>
271 </mml:mrow>
272 </mml:mtd>
273 <mml:mtd>
274 <mml:mrow>
275 <mml:mi mathvariant="italic">m</mml:mi>
276 <mml:mo></mml:mo>
277 <mml:mfenced open="[" close="]">
278 <mml:mn>15</mml:mn>
279 </mml:mfenced>
280 </mml:mrow>
281 </mml:mtd>
282 </mml:mtr>
283 </mml:mtable>
284 </mml:mfenced>
285 <mml:mo>×</mml:mo>
286 <mml:mfenced open="(" close=")">
287 <mml:mtable>
288 <mml:mtr>
289 <mml:mtd>
290 <mml:mrow>
291 <mml:mi mathvariant="italic">v</mml:mi>
292 <mml:mo></mml:mo>
293 <mml:mfenced open="[" close="]">
294 <mml:mn>0</mml:mn>
295 </mml:mfenced>
296 </mml:mrow>
297 </mml:mtd>
298 </mml:mtr>
299 <mml:mtr>
300 <mml:mtd>
301 <mml:mrow>
302 <mml:mi mathvariant="italic">v</mml:mi>
303 <mml:mo></mml:mo>
304 <mml:mfenced open="[" close="]">
305 <mml:mn>1</mml:mn>
306 </mml:mfenced>
307 </mml:mrow>
308 </mml:mtd>
309 </mml:mtr>
310 <mml:mtr>
311 <mml:mtd>
312 <mml:mrow>
313 <mml:mi mathvariant="italic">v</mml:mi>
314 <mml:mo></mml:mo>
315 <mml:mfenced open="[" close="]">
316 <mml:mn>2</mml:mn>
317 </mml:mfenced>
318 </mml:mrow>
319 </mml:mtd>
320 </mml:mtr>
321 <mml:mtr>
322 <mml:mtd>
323 <mml:mrow>
324 <mml:mi mathvariant="italic">v</mml:mi>
325 <mml:mo></mml:mo>
326 <mml:mfenced open="[" close="]">
327 <mml:mn>3</mml:mn>
328 </mml:mfenced>
329 </mml:mrow>
330 </mml:mtd>
331 </mml:mtr>
332 </mml:mtable>
333 </mml:mfenced>
334 </mml:mrow>
335 </mml:mrow>
336 </mml:math></div><p>
337 </p><p>
338 </p><p>
339 Projection and texture transformations are similarly defined.
340 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
341 While the elements of the matrix may be specified with
342 single or double precision, the GL implementation may
343 store or operate on these values in less than single
344 precision.
345 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p>
346 <code class="constant">GL_INVALID_OPERATION</code> is generated if <code class="function">glLoadMatrix</code>
347 is executed between the execution of <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a>
348 and the corresponding execution of <a class="citerefentry" href="glEnd.xml"><span class="citerefentry"><span class="refentrytitle">glEnd</span></span></a>.
349 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
350 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_MATRIX_MODE</code>
351 </p><p>
352 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_COLOR_MATRIX</code>
353 </p><p>
354 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_MODELVIEW_MATRIX</code>
355 </p><p>
356 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_PROJECTION_MATRIX</code>
357 </p><p>
358 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_TEXTURE_MATRIX</code>
359 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
360 <a class="citerefentry" href="glLoadIdentity.xml"><span class="citerefentry"><span class="refentrytitle">glLoadIdentity</span></span></a>,
361 <a class="citerefentry" href="glMatrixMode.xml"><span class="citerefentry"><span class="refentrytitle">glMatrixMode</span></span></a>,
362 <a class="citerefentry" href="glMultMatrix.xml"><span class="citerefentry"><span class="refentrytitle">glMultMatrix</span></span></a>,
363 <a class="citerefentry" href="glMultTransposeMatrix.xml"><span class="citerefentry"><span class="refentrytitle">glMultTransposeMatrix</span></span></a>,
364 <a class="citerefentry" href="glPushMatrix.xml"><span class="citerefentry"><span class="refentrytitle">glPushMatrix</span></span></a>
365 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
366 Copyright <span class="trademark"></span>© 1991-2006
367 Silicon Graphics, Inc. This document is licensed under the SGI
368 Free Software B License. For details, see
369 <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
370 </p></div></div></body></html>