gluTessBeginPolygon: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Wird offline bearbeitet)
 
(Version Hochgeladen)
Zeile 1: Zeile 1:
{{Offline}}
+
{{Unvollständig}}
 +
= gluTessBeginPolygon, gluTessEndPolygon =
 +
 
 +
<br>
 +
== Name ==
 +
'''gluTessBeginPolygon''' und '''gluTessEndPolygon''' - umschließen die Definition eines Polygons.
 +
 
 +
<br>
 +
== Delphi-Spezifikation ==
 +
procedure '''gluTessBeginPolygon'''(''tess'': PGLUtesselator; ''polygon_data'': Pointer);
 +
 
 +
<br>
 +
== 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>
 +
 
 +
<br>
 +
 
 +
== 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.<b><i>If the appropriate callback(s) are specified (see gluTessCallback), this pointer is returned to the callback function(s), making it a convenient way to store per-polygon information.
 +
 
 +
When you call gluTessEndPolygon, the polygon is tessellated, and the resulting triangles are described through callbacks.</i></b> Für eine genauere Beschreibung der Callback Funktion lesen Sie den Artikel [[gluTessCallback]].
 +
 
 +
 
 +
<br>
 +
== 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);
 +
 
 +
<br>
 +
== Siehe auch ==
 +
[[gluNewTess]], [[gluTessBeginContour]], [[gluTessVertex]], [[gluTessCallback]], [[gluTessProperty]], [[gluTessNormal]]
 +
 
 +
Hintergrundwissen: [[Tesselierung]], [[Callback]]
 +
 
 +
[[Kategorie:GLU|TessBeginPolygon]]

Version vom 21. September 2004, 21:45 Uhr

Hinweis: Dieser Artikel ist noch unvollständig.
(Mehr Informationen/weitere Artikel)

{{{1}}}

Incomplete.jpg

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.If the appropriate callback(s) are specified (see gluTessCallback), this pointer is returned to the callback function(s), making it a convenient way to store per-polygon information.

When you call gluTessEndPolygon, the polygon is tessellated, and the resulting triangles are described through callbacks. 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