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

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

Contents


gluTessVertex()                                   gluTessVertex()


NAME    [Toc]    [Back]

       gluTessVertex - specify a vertex on a polygon

SYNOPSIS    [Toc]    [Back]

       void gluTessVertex(
               GLUtesselator* tess,
               GLdouble *location,
               GLvoid* data );

PARAMETERS    [Toc]    [Back]

       Specifies  the  tessellation object (created with gluNewTess()).
  Specifies the location of the vertex.   Specifies
       an opaque pointer passed back to the program with the vertex
 callback (as specified by gluTessCallback()).

DESCRIPTION    [Toc]    [Back]

       gluTessVertex() describes a vertex on a polygon  that  the
       program defines. Successive gluTessVertex() calls describe
       a closed contour. For example, to describe a quadrilateral
       gluTessVertex()  should be called four times.  gluTessVertex()
 can only be called between gluTessBeginContour() and
       gluTessEndContour().

       data  normally points to a structure containing the vertex
       location, as well as other per-vertex attributes  such  as
       color  and normal. This pointer is passed back to the user
       through the GLU_TESS_VERTEX or GLU_TESS_VERTEX_DATA  callback
  after tessellation (see the gluTessCallback() reference
 page).

NOTES    [Toc]    [Back]

       It is a common error to use a local variable for  location
       or  data  and  store values into it as part of a loop. For
       example: for (i = 0; i < NVERTICES; ++i) {
          GLdouble data[3];
          data[0] = vertex[i][0];
          data[1] = vertex[i][1];
          data[2] = vertex[i][2];
          gluTessVertex(tobj, data, data);
          }

       This doesn't work. Because the pointers specified by location
  and data might not be dereferenced until gluTessEndPolygon()
 is executed, all the vertex coordinates but  the
       very  last  set  could  be overwritten before tessellation
       begins.

       Two common symptoms of this problem are consists of a single
  point  (when a local variable is used for data) and a
       GLU_TESS_NEED_COMBINE_CALLBACK error (when a  local  variable
 is used for location).

EXAMPLE    [Toc]    [Back]

       A  quadrilateral  with  a  triangular  hole  in  it can be
       described as follows: gluTessBeginPolygon(tobj, NULL);
         gluTessBeginContour(tobj);
           gluTessVertex(tobj, v1, v1);
           gluTessVertex(tobj, v2, v2);
           gluTessVertex(tobj, v3, v3);
           gluTessVertex(tobj, v4, v4);
         gluTessEndContour(tobj);
         gluTessBeginContour(tobj);
           gluTessVertex(tobj, v5, v5);
           gluTessVertex(tobj, v6, v6);
           gluTessVertex(tobj, v7, v7);
         gluTessEndContour(tobj);
        gluTessEndPolygon(tobj);

SEE ALSO    [Toc]    [Back]

      
      
       gluNewTess(3),  gluTessBeginPolygon(3),   gluTessBeginContour(3),  gluTessCallback(3), gluTessProperty(3), gluTessNormal(3), gluTessEndPolygon(3)



                                                  gluTessVertex()
[ Back ]
 Similar pages
Name OS Title
glarrayelement IRIX render a vertex using the specified vertex array element
glArrayElement Tru64 render a vertex using the specified vertex array element
poly IRIX outlines a polygon
gluTessNormal Tru64 specify a normal for a polygon
glutessnormal IRIX specify a normal for a polygon
glVertex2iv Tru64 specify a vertex
glVertex2sv Tru64 specify a vertex
glVertex3dv Tru64 specify a vertex
glVertex3d Tru64 specify a vertex
glvertex IRIX specify a vertex
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service