gluTessBeginPolygon: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K (Wird offline bearbeitet) |
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere <BR>) |
||
(7 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | = gluTessBeginPolygon, gluTessEndPolygon = | |
+ | |||
+ | |||
+ | |||
+ | == Name == | ||
+ | '''gluTessBeginPolygon''' und '''gluTessEndPolygon''' - umschließen die Definition eines Polygons. | ||
+ | |||
+ | |||
+ | |||
+ | == Delphi-Spezifikation == | ||
+ | procedure '''gluTessBeginPolygon'''(''tess'': PGLUtesselator; ''polygon_data'': Pointer); | ||
+ | |||
+ | |||
+ | |||
+ | == Parameter == | ||
+ | <table border=1 rules=all> | ||
+ | <tr> | ||
+ | <td>''tess''</td> | ||
+ | <td>Bestimmt das Tesselierungsobjekt (erstellt mit [[gluNewTess]])</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>''polygone_data''</td> | ||
+ | <td>Ist ein Zeiger auf die Nutzerdefinierten Polygondaten.</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Beschreibung == | ||
+ | '''gluTessBeginPolygon''' und '''gluTessEndPolygon''' umschließen die Definition eines nicht [[konvex|konvexen]] Polygons.<br> | ||
+ | Zwischen jedem '''gluTessBeginPolygon'''/'''gluTessEndPolygon''' Paar müssen ein oder mehrere Aufrufe von [[gluTessBeginContour]] und [[gluTessEndContour]] stehen.<br> | ||
+ | Weiterhin kann dann innerhalb einer jeden Konturdefinition [[gluTessVertex]] aufgerufen werden. (Anzahl der Aufrufe >= 0) <br> | ||
+ | Die Vertexe beschreiben immer eine geschlossene Kontour (der letzte Vertex wird immer mit dem ersten verbunden.). | ||
+ | |||
+ | ''polygon_data'' ist ein Zeiger auf eine Nutzerdefinierte Datenstruktur. Wenn die korrekten [[Callback]]-Funktionen festgelegt sind (siehe [[gluTessCallback]]), wird der Zeiger an diese Callback-Funktionen zurückgeliefert, was ihn zu einem angenehmen Mittel macht, um polygon-spezifische Daten zu speichern. | ||
+ | |||
+ | Wenn '''gluTessEndPolygon''' aufgerufen wird, wird das Polygon [[Triangulation|tesseliert]] (trianguliert) und die resultierenden Dreiecke über [[Callback]]s zurückgeliefert. Für eine genauere Beschreibung der Callback Funktion lesen Sie den Artikel [[gluTessCallback]]. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Beispiel == | ||
+ | Ein Viereck mit einem dreieckigem Loch kann folgendermaßen beschrieben werden: | ||
+ | |||
+ | 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); | ||
+ | |||
+ | |||
+ | |||
+ | == Siehe auch == | ||
+ | [[gluNewTess]], [[gluTessBeginContour]], [[gluTessVertex]], [[gluTessCallback]], [[gluTessProperty]], [[gluTessNormal]] | ||
+ | |||
+ | Hintergrundwissen: [[Tesselierung]], [[Callback]] | ||
+ | |||
+ | [[Kategorie:GLU|TessBeginPolygon]] |
Aktuelle Version vom 22. April 2006, 19:26 Uhr
Inhaltsverzeichnis
gluTessBeginPolygon, gluTessEndPolygon
Name
gluTessBeginPolygon und gluTessEndPolygon - umschließen die Definition eines Polygons.
Delphi-Spezifikation
procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer);
Parameter
tess | Bestimmt das Tesselierungsobjekt (erstellt mit gluNewTess) |
polygone_data | Ist ein Zeiger auf die Nutzerdefinierten Polygondaten. |
Beschreibung
gluTessBeginPolygon und gluTessEndPolygon umschließen die Definition eines nicht konvexen Polygons.
Zwischen jedem gluTessBeginPolygon/gluTessEndPolygon Paar müssen ein oder mehrere Aufrufe von gluTessBeginContour und gluTessEndContour stehen.
Weiterhin kann dann innerhalb einer jeden Konturdefinition gluTessVertex aufgerufen werden. (Anzahl der Aufrufe >= 0)
Die Vertexe beschreiben immer eine geschlossene Kontour (der letzte Vertex wird immer mit dem ersten verbunden.).
polygon_data ist ein Zeiger auf eine Nutzerdefinierte Datenstruktur. Wenn die korrekten Callback-Funktionen festgelegt sind (siehe gluTessCallback), wird der Zeiger an diese Callback-Funktionen zurückgeliefert, was ihn zu einem angenehmen Mittel macht, um polygon-spezifische Daten zu speichern.
Wenn gluTessEndPolygon aufgerufen wird, wird das Polygon tesseliert (trianguliert) und die resultierenden Dreiecke über Callbacks zurückgeliefert. Für eine genauere Beschreibung der Callback Funktion lesen Sie den Artikel gluTessCallback.
Beispiel
Ein Viereck mit einem dreieckigem Loch kann folgendermaßen beschrieben werden:
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);
Siehe auch
gluNewTess, gluTessBeginContour, gluTessVertex, gluTessCallback, gluTessProperty, gluTessNormal
Hintergrundwissen: Tesselierung, Callback