Table of Contents
gluTessNormal - specify a normal for a polygon
void
gluTessNormal( GLUtesselator* tess,
GLdouble valueX,
GLdouble valueY,
GLdouble valueZ )
eqn not supported
- 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.
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 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.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).
The supplied normal persists until
it is changed by another call to gluTessNormal.
gluTessBeginPolygon(3G)
,
gluTessEndPolygon(3G)
Table of Contents