[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]

*OpenGL 1.1 for AIX: Reference Manual*

## gluTessNormal Subroutine

### Purpose

Specifies a normal for a polygon.

### Library

C bindings library: **libGL.a**

### C Syntax

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

### 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

The **gluTessNormal** subroutine 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 XY 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**.

### Related Information

**gluTessBeginPolygon**,

**gluTessEndPolygon**

[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]