tessendpolygon.3gl 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. '\" e
  2. '\"! eqn | mmdoc
  3. '\"macro stdmacro
  4. .ds Vn Version 1.2
  5. .ds Dt 6 March 1997
  6. .ds Re Release 1.2.0
  7. .ds Dp May 02 11:53
  8. .ds Dm 37 tessendpo
  9. .ds Xs 16616 4 tessendpolygon.gl
  10. .TH GLUTESSENDPOLYGON 3G
  11. .SH NAME
  12. .B "gluTessEndPolygon
  13. \- delimit a polygon description
  14. .SH C SPECIFICATION
  15. void \f3gluTessEndPolygon\fP(
  16. GLUtesselator* \fItess\fP )
  17. .nf
  18. .fi
  19. .EQ
  20. delim $$
  21. .EN
  22. .SH PARAMETERS
  23. .TP \w'\f2tess\fP\ \ 'u
  24. \f2tess\fP
  25. Specifies the tessellation object (created with \%\f3gluNewTess\fP).
  26. .SH DESCRIPTION
  27. \%\f3gluTessBeginPolygon\fP and \%\f3gluTessEndPolygon\fP delimit the definition of a
  28. convex, concave or self-intersecting polygon. Within each \%\f3gluTessBeginPolygon\fP/\%\f3gluTessEndPolygon\fP
  29. pair, there must be one or more calls to \%\f3gluTessBeginContour\fP/\%\f3gluTessEndContour\fP.
  30. Within each contour, there are zero or more calls to \%\f3gluTessVertex\fP. The vertices
  31. specify a closed contour (the last vertex of each contour is automatically linked
  32. to the first). See the \%\f3gluTessVertex\fP, \%\f3gluTessBeginContour\fP and
  33. \%\f3gluTessEndContour\fP reference pages for more details.
  34. .P
  35. Once \%\f3gluTessEndPolygon\fP is called, the polygon is tessellated, and the
  36. resulting triangles are described through callbacks.
  37. See \%\f3gluTessCallback\fP for descriptions of the callback functions.
  38. .SH EXAMPLE
  39. A quadrilateral with a triangular hole in it can be described like this:
  40. .sp
  41. .Ex
  42. gluTessBeginPolygon(tobj, NULL);
  43. gluTessBeginContour(tobj);
  44. gluTessVertex(tobj, v1, v1);
  45. gluTessVertex(tobj, v2, v2);
  46. gluTessVertex(tobj, v3, v3);
  47. gluTessVertex(tobj, v4, v4);
  48. gluTessEndContour(tobj);
  49. gluTessBeginContour(tobj);
  50. gluTessVertex(tobj, v5, v5);
  51. gluTessVertex(tobj, v6, v6);
  52. gluTessVertex(tobj, v7, v7);
  53. gluTessEndContour(tobj);
  54. gluTessEndPolygon(tobj);
  55. .Ee
  56. .bp
  57. In the above example the pointers, $v1$ through $v7$,
  58. should point to different
  59. addresses,
  60. since the values stored at these addresses will not be read by
  61. the tesselator until \%\f3gluTessEndPolygon\fP is called.
  62. .SH SEE ALSO
  63. \%\f3gluNewTess(3G)\fP, \%\f3gluTessBeginContour(3G)\fP, \%\f3gluTessVertex(3G)\fP,
  64. \%\f3gluTessCallback(3G)\fP,
  65. \%\f3gluTessProperty(3G)\fP, \%\f3gluTessNormal(3G)\fP,
  66. \%\f3gluTessBeginPolygon(3G)\fP