*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> gluTessProperty (3)              
Title
Content
Arch
Section
 

Contents


gluTessProperty()                               gluTessProperty()


NAME    [Toc]    [Back]

       gluTessProperty - set a tessellation object property

SYNOPSIS    [Toc]    [Back]

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

PARAMETERS    [Toc]    [Back]

       Specifies  the  tessellation object (created with gluNewTess()).
  Specifies the property to be  set.  Valid  values
       are     GLU_TESS_WINDING_RULE,     GLU_TESS_BOUNDARY_ONLY,
       GLU_TESS_TOLERANCE.  Specifies the value of the  indicated
       property.

DESCRIPTION    [Toc]    [Back]

       gluTessProperty()  is used to control properties stored in
       a tessellation object. These  properties  affect  the  way
       that  the polygons are interpreted and rendered. The legal
       values for which are as follows: Determines which parts of
       the polygon are on the "interior".  data may be set to one
       of     GLU_TESS_WINDING_ODD,     GLU_TESS_WINDING_NONZERO,
       GLU_TESS_WINDING_POSITIVE,  or  GLU_TESS_WINDING_NEGATIVE,
       or GLU_TESS_WINDING_ABS_GEQ_TWO.

              To understand how the winding rule works,  consider
              that  the  input  contours partition the plane into
              regions. The winding rule determines which of these
              regions are inside the polygon.

              For  a  single  contour  C, the winding number of a
              point x is simply the signed number of  revolutions
              we  make around x as we travel once around C (where
              CCW is positive). When there are several  contours,
              the  individual  winding  numbers  are summed. This
              procedure associates a signed  integer  value  with
              each  point  x  in the plane. Note that the winding
              number is the same  for  all  points  in  a  single
              region.

              The winding rule classifies a region as "inside" if
              its winding number belongs to the  chosen  category
              (odd,  nonzero,  positive,  negative,  or  absolute
              value of at least two). The previous GLU  tessellator
  (prior  to  GLU  1.2) used the "odd" rule. The
              "nonzero" rule is another common way to define  the
              interior.   The  other  three  rules are useful for
              polygon  CSG  operations.   Is  a   boolean   value
              ("value"  should  be  set  to GL_TRUE or GL_FALSE).
              When set to GL_TRUE, a set of closed contours separating
   the  polygon  interior  and  exterior  are
              returned instead of a tessellation.  Exterior  contours
  are oriented CCW with respect to the normal;
              interior   contours   are    oriented    CW.    The
              GLU_TESS_BEGIN  and  GLU_TESS_BEGIN_DATA  callbacks
              use the type GL_LINE_LOOP for each contour.  Specifies
 a tolerance for merging features to reduce the
              size of the output. For example, two vertices  that
              are very close to each other might be replaced by a
              single vertex. The tolerance is multiplied  by  the
              largest  coordinate  magnitude of any input vertex;
              this specifies the maximum distance that  any  feature
 can move as the result of a single merge operation.
 If a single feature takes  part  in  several
              merge operations, the total distance moved could be
              larger.

              Feature merging is completely optional; the  tolerance
 is only a hint.  The implementation is free to
              merge in some cases and not in others, or to  never
              merge  features at all. The initial tolerance is 0.

              The current implementation merges vertices only  if
              they are exactly coincident, regardless of the current
 tolerance. A vertex is spliced  into  an  edge
              only if the implementation is unable to distinguish
              which side of the edge  the  vertex  lies  on.  Two
              edges are merged only when both endpoints are identical.

SEE ALSO    [Toc]    [Back]

      
      
       gluGetTessProperty(3)



                                                gluTessProperty()
[ Back ]
 Similar pages
Name OS Title
gluGetTessProperty Tru64 get a tessellation object property
glugettessproperty IRIX get a tessellation object property
gluNewTess Tru64 create a tessellation object
glunewtess IRIX create a tessellation object
gludeletetess IRIX destroy a tessellation object
gluDeleteTess Tru64 destroy a tessellation object
gluTessCallback Tru64 define a callback for a tessellation object
glutesscallback IRIX define a callback for a tessellation object
tt_spec_prop HP-UX retrieve the ith value of the property associated with an object spec
tt_spec_propnames_count HP-UX return the number of property names for an object
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service