rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man2 / xhtml / glNormal.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>glNormal</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glNormal"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glNormal — set the current normal vector</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">glNormal3b</b>(</code></td><td>GLbyte  </td><td><var class="pdparam">nx</var>, </td></tr><tr><td> </td><td>GLbyte  </td><td><var class="pdparam">ny</var>, </td></tr><tr><td> </td><td>GLbyte  </td><td><var class="pdparam">nz</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">glNormal3d</b>(</code></td><td>GLdouble  </td><td><var class="pdparam">nx</var>, </td></tr><tr><td> </td><td>GLdouble  </td><td><var class="pdparam">ny</var>, </td></tr><tr><td> </td><td>GLdouble  </td><td><var class="pdparam">nz</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">glNormal3f</b>(</code></td><td>GLfloat  </td><td><var class="pdparam">nx</var>, </td></tr><tr><td> </td><td>GLfloat  </td><td><var class="pdparam">ny</var>, </td></tr><tr><td> </td><td>GLfloat  </td><td><var class="pdparam">nz</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">glNormal3i</b>(</code></td><td>GLint  </td><td><var class="pdparam">nx</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">ny</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">nz</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">glNormal3s</b>(</code></td><td>GLshort  </td><td><var class="pdparam">nx</var>, </td></tr><tr><td> </td><td>GLshort  </td><td><var class="pdparam">ny</var>, </td></tr><tr><td> </td><td>GLshort  </td><td><var class="pdparam">nz</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>nx</code></em>, </span><span class="term"><em class="parameter"><code>ny</code></em>, </span><span class="term"><em class="parameter"><code>nz</code></em></span></dt><dd><p>
4 Specify the
5 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math>,
6 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">y</mml:mi></mml:math>,
7 and
8 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">z</mml:mi></mml:math>
9 coordinates of the new current normal.
10 The initial value of the current normal is the unit vector, (0, 0, 1).
11 </p><p>
12 </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">glNormal3bv</b>(</code></td><td>const GLbyte *  </td><td><var class="pdparam">v</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">glNormal3dv</b>(</code></td><td>const GLdouble *  </td><td><var class="pdparam">v</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">glNormal3fv</b>(</code></td><td>const GLfloat *  </td><td><var class="pdparam">v</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">glNormal3iv</b>(</code></td><td>const GLint *  </td><td><var class="pdparam">v</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">glNormal3sv</b>(</code></td><td>const GLshort *  </td><td><var class="pdparam">v</var><code>)</code>;</td></tr></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters2"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>v</code></em></span></dt><dd><p>
13 Specifies a pointer to an array of three elements:
14 the
15 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math>,
16 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">y</mml:mi></mml:math>,
17 and
18 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">z</mml:mi></mml:math>
19 coordinates of the new current normal.
20 </p><p>
21 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
22 The current normal is set to the given coordinates
23 whenever <code class="function">glNormal</code> is issued.
24 Byte, short, or integer arguments are converted to floating-point
25 format with a linear mapping that maps the most positive representable integer
26 value to 1.0
27 and the most negative representable integer value to
28 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
29
30 <mml:mn>-1.0</mml:mn>
31 </mml:math>.
32 </p><p>
33 Normals specified with <code class="function">glNormal</code> need not have unit length.
34 If <code class="constant">GL_NORMALIZE</code> is enabled,
35 then normals of any length specified with <code class="function">glNormal</code> are normalized after transformation.
36 If <code class="constant">GL_RESCALE_NORMAL</code> is enabled, normals are scaled by a scaling factor
37 derived from the modelview matrix. <code class="constant">GL_RESCALE_NORMAL</code> requires that the
38 originally specified normals were of unit length, and that the modelview
39 matrix contain only uniform scales for proper results.
40 To enable and disable normalization, call <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>
41 with either <code class="constant">GL_NORMALIZE</code> or <code class="constant">GL_RESCALE_NORMAL</code>.
42 Normalization is initially disabled.
43 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
44 The current normal can be updated at any time.
45 In particular, <code class="function">glNormal</code> can be called between a call to <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a> and
46 the corresponding call to <a class="citerefentry" href="glEnd.xml"><span class="citerefentry"><span class="refentrytitle">glEnd</span></span></a>.
47 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
48 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_CURRENT_NORMAL</code>
49 </p><p>
50 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_NORMALIZE</code>
51 </p><p>
52 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_RESCALE_NORMAL</code>
53 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
54 <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a>,
55 <a class="citerefentry" href="glColor.xml"><span class="citerefentry"><span class="refentrytitle">glColor</span></span></a>,
56 <a class="citerefentry" href="glIndex.xml"><span class="citerefentry"><span class="refentrytitle">glIndex</span></span></a>,
57 <a class="citerefentry" href="glMultiTexCoord.xml"><span class="citerefentry"><span class="refentrytitle">glMultiTexCoord</span></span></a>,
58 <a class="citerefentry" href="glNormalPointer.xml"><span class="citerefentry"><span class="refentrytitle">glNormalPointer</span></span></a>,
59 <a class="citerefentry" href="glTexCoord.xml"><span class="citerefentry"><span class="refentrytitle">glTexCoord</span></span></a>,
60 <a class="citerefentry" href="glVertex.xml"><span class="citerefentry"><span class="refentrytitle">glVertex</span></span></a>
61 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
62 Copyright <span class="trademark"></span>© 1991-2006
63 Silicon Graphics, Inc. This document is licensed under the SGI
64 Free Software B License. For details, see
65 <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
66 </p></div></div></body></html>