1GLUTESSPROPERTY(3G)              OpenGL Manual             GLUTESSPROPERTY(3G)
2
3
4

NAME

6       gluTessProperty - set a tessellation object property
7

C SPECIFICATION

9       void gluTessProperty(GLUtesselator* tess, GLenum which, GLdouble data);
10

PARAMETERS

12       tess
13           Specifies the tessellation object (created with gluNewTess()).
14
15       which
16           Specifies the property to be set. Valid values are
17           GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY, and
18           GLU_TESS_TOLERANCE.
19
20       data
21           Specifies the value of the indicated property.
22

DESCRIPTION

24       gluTessProperty is used to control properties stored in a tessellation
25       object. These properties affect the way that the polygons are
26       interpreted and rendered. The legal values for which are as follows:
27
28       GLU_TESS_WINDING_RULE
29           Determines which parts of the polygon are on the ``interior''.
30           data may be set to one of GLU_TESS_WINDING_ODD,
31           GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_POSITIVE,
32           GLU_TESS_WINDING_NEGATIVE, or GLU_TESS_WINDING_ABS_GEQ_TWO.
33
34           To understand how the winding rule works, consider that the input
35           contours partition the plane into regions. The winding rule
36           determines which of these regions are inside the polygon.
37
38           For a single contour C, the winding number of a point x is simply
39           the signed number of revolutions we make around x as we travel once
40           around C (where CCW is positive). When there are several contours,
41           the individual winding numbers are summed. This procedure
42           associates a signed integer value with each point x in the plane.
43           Note that the winding number is the same for all points in a single
44           region.
45
46           The winding rule classifies a region as ``inside'' if its winding
47           number belongs to the chosen category (odd, nonzero, positive,
48           negative, or absolute value of at least two). The previous GLU
49           tessellator (prior to GLU 1.2) used the ``odd'' rule. The
50           ``nonzero'' rule is another common way to define the interior. The
51           other three rules are useful for polygon CSG operations.
52
53       GLU_TESS_BOUNDARY_ONLY
54           Is a boolean value (``value'' should be set to GL_TRUE or
55           GL_FALSE). When set to GL_TRUE, a set of closed contours separating
56           the polygon interior and exterior are returned instead of a
57           tessellation. Exterior contours are oriented CCW with respect to
58           the normal; interior contours are oriented CW. The GLU_TESS_BEGIN
59           and GLU_TESS_BEGIN_DATA callbacks use the type GL_LINE_LOOP for
60           each contour.
61
62       GLU_TESS_TOLERANCE
63           Specifies a tolerance for merging features to reduce the size of
64           the output. For example, two vertices that are very close to each
65           other might be replaced by a single vertex. The tolerance is
66           multiplied by the largest coordinate magnitude of any input vertex;
67           this specifies the maximum distance that any feature can move as
68           the result of a single merge operation. If a single feature takes
69           part in several merge operations, the total distance moved could be
70           larger.
71
72           Feature merging is completely optional; the tolerance is only a
73           hint. The implementation is free to merge in some cases and not in
74           others, or to never merge features at all. The initial tolerance is
75           0.
76
77           The current implementation merges vertices only if they are exactly
78           coincident, regardless of the current tolerance. A vertex is
79           spliced into an edge only if the implementation is unable to
80           distinguish which side of the edge the vertex lies on. Two edges
81           are merged only when both endpoints are identical.
82

SEE ALSO

84       gluGetTessProperty(), gluNewTess()
85
87       Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed
88       under the SGI Free Software B License. For details, see
89       http://oss.sgi.com/projects/FreeB/.
90

AUTHORS

92       opengl.org
93
94
95
96opengl.org                        06/10/2014               GLUTESSPROPERTY(3G)
Impressum