GLUTESSNORMAL() MachTen Programmer’s Manual GLUTESSNORMAL()

NAME
gluTessNormal - specify a normal for a polygon

C SPECIFICATION
void gluTessNormal( GLUtesselator* tess,
GLdouble valueX,
GLdouble valueY,
GLdouble valueZ )

delim $$

PARAMETERS
tess Specifies the tessellation object (created with
gluNewTess).

valueX Specifies the first component of the normal.

valueY Specifies the second component of the normal.

valueZ Specifies the third component of the normal.

DESCRIPTION
gluTessNormal 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 nor-
mal). For example, if you know that all polygons lie in
the x-y plane, call gluTessNormal(tess, 0.0, 0.0, 1.0)
before rendering any polygons.

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 approx-
imately 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).

The supplied normal persists until it is changed by
another call to gluTessNormal.

SEE ALSO
gluTessBeginPolygon, gluTessEndPolygon

MachTen 1