The gluTessNormal function specifies a normal for a polygon.
void gluTessNormal(
GLUtesselator * tess,
GLdouble x,
GLdouble y,
GLdouble z
);
The gluTessNormal function describes a normal for a polygon that you define. All input data is projected onto a plane perpendicular to one of the three coordinate axes before tessellation, and all output triangles are oriented counterclockwise with respect to the normal. (To obtain clockwise orientation, reverse the sign of the supplied normal). 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) (the default value), the normal is determined as follows:
The supplied normal persists until another call to gluTessNormal changes it.
Windows NT: Use version 3.5 and later.
Windows: Use Windows 95 and later.
Windows CE: Unsupported.
Header: Declared in glu.h.
Import Library: Link with glu32.lib.
gluNewTess, gluTessBeginPolygon, gluTessEndPolygon