gluTessNormal
[New
- Windows 95, OEM Service Release 2]
The gluTessNormal function specifies a normal
for a polygon.
void gluTessNormal(
GLUtesselator * tess, |
|
GLdouble x, |
|
GLdouble y, |
|
GLdouble z |
|
); |
|
Parameters
tess
The
tessellation object (created with gluNewTessCIEF84).
x
The
x-coordinate component of a normal.
y
The
y-coordinate component of a normal.
z
The
z-coordinate component of a normal.
Remarks
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:
1. 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
can change the geometry substantially.
2. The sign of the normal is chosen so that the
sum of the signed areas of all input contours is non-negative (where a
counterclockwise contour has positive area).
The supplied normal persists until another call to gluTessNormal
changes it.
See Also