<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
<html
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:mml="http://www.w3.org/1998/Math/MathML"
><head><title>gluTessNormal</title><link rel="stylesheet" href="style.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.59.1"/><link rel="home" href="index.xml" title="PyOpenGL 2.0.1.07 Man Pages"/><link rel="up" href="reference-GLU.xml" title="GLU"/><link rel="previous" href="gluTessEndPolygon.3G.xml" title="gluTessEndPolygon"/><link rel="next" href="gluTessProperty.3G.xml" title="gluTessProperty"/></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">gluTessNormal</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="gluTessEndPolygon.3G.xml">Prev</a> </td><th width="60%" align="center">GLU</th><td width="20%" align="right"> <a accesskey="n" href="gluTessProperty.3G.xml">Next</a></td></tr></table><hr/></div><div class="refentry" lang="en"><a name="gluTessNormal.3G"/><div class="titlepage"/><div class="refnamediv"><a name="gluTessNormal.3G-name"/><h2>Name</h2><p>gluTessNormal &#8212; specify a normal for a polygon</p></div><div class="refsynopsisdiv"><a name="gluTessNormal.3G-c_spec"/><h2>C Specification</h2><table class="funcprototype" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><code>void <tt>gluTessNormal</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code>GLUtesselator* <i><tt>tess</tt></i>, GLdouble <i><tt>valueX</tt></i>, GLdouble <i><tt>valueY</tt></i>, GLdouble <i><tt>valueZ</tt></i>);</code></td></tr></table></div><div class="refsynopsisdiv"><a name="gluTessNormal.3G-python_spec"/><h2>Python Specification</h2><table class="funcprototype" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><code><tt>gluTessNormal</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code><i><tt>tess</tt></i>, <i><tt>valueX</tt></i>, <i><tt>valueY</tt></i>, <i><tt>valueZ</tt></i>) &#8594; <tt>None</tt></code></td></tr></table></div><div class="refsect1" lang="en"><a name="gluTessNormal.3G-parameters"/><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><i><tt>tess</tt></i></span></dt><dd>
						Specifies the tessellation object (created with <a href="gluNewTess.3G.xml"><tt>gluNewTess</tt></a>).
					</dd><dt><span class="term"><i><tt>valueX</tt></i></span></dt><dd>
						Specifies the first component of the normal.
					</dd><dt><span class="term"><i><tt>valueY</tt></i></span></dt><dd>
						Specifies the second component of the normal.
					</dd><dt><span class="term"><i><tt>valueZ</tt></i></span></dt><dd>
						Specifies the third component of the normal.
					</dd></dl></div></div><div class="refsect1" lang="en"><a name="gluTessNormal.3G-description"/><h2>Description</h2><p>
			<tt>gluTessNormal</tt> describes a normal for a polygon that the program is defining. All input data will
			be projected onto a plane perpendicular to one of the three coordinate axes before tessellation and all output
			triangles will be oriented CCW with respect to the normal (CW orientation can be obtained by reversing the sign of the
			supplied normal). For example, if you know that all polygons lie in the x-y plane, call
			<tt>gluTessNormal</tt>(tess, 0.0, 0.0, 1.0) before rendering any polygons.
		</p><p>
			If the supplied normal is (0.0, 0.0, 0.0) (the initial value), the normal is determined as follows. The direction of
			the normal, up to its sign, is found by fitting a plane to the vertices, without regard to how the vertices are
			connected. It is expected that the input data lies approximately in the plane; otherwise, projection perpendicular to
			one of the three coordinate axes may substantially change the geometry. The sign of the normal is chosen so that the
			sum of the signed areas of all input contours is nonnegative (where a CCW contour has positive area).
		</p><p>
			The supplied normal persists until it is changed by another call to <tt>gluTessNormal</tt>.
		</p></div><div class="refsect1" lang="en"><a name="gluTessNormal.3G-see_also"/><h2>See Also</h2><p>
			<span class="simplelist"><a href="gluTessBeginPolygon.3G.xml">gluTessBeginPolygon</a>, <a href="gluTessEndPolygon.3G.xml">gluTessEndPolygon</a></span>
		</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="gluTessEndPolygon.3G.xml">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="reference-GLU.xml">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="gluTessProperty.3G.xml">Next</a></td></tr><tr><td width="40%" align="left" valign="top">gluTessEndPolygon </td><td width="20%" align="center"><a accesskey="h" href="index.xml">Home</a></td><td width="40%" align="right" valign="top"> gluTessProperty</td></tr></table></div></body></html>