gluTessVertex: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Wird offline bearbeitet)
 
K (Bot: konvertiere/korrigiere <BR>)
 
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Offline}}
+
= gluTessVertex =
 +
 
 +
 
 +
 
 +
== Name ==
 +
'''gluTessVertex''' - spezifiziert einen Eckpunkt eines Polygones.
 +
 
 +
 
 +
 
 +
== Delphi-Spezifikation ==
 +
procedure '''gluTessVertex'''(''tess'': PGLUtesselator; ''coords'': TGLArrayd3; ''data'': Pointer);
 +
 
 +
 
 +
 
 +
== Parameter ==
 +
<table border=1 rules=all>
 +
<tr>
 +
<td>''tess''</td>
 +
<td>Bestimmt das Tesselierungsobjekt (erstellt mit [[gluNewTess]]).</td>
 +
</tr>
 +
<tr>
 +
<td>''v''</td>
 +
<td>Bestimmt die Position des Eckpunkts im Raum.</td>
 +
</tr>
 +
<tr>
 +
<td>''data''</td>
 +
<td>Ein Zeiger, der auf die Daten zeigt die dem User über den Vertex-Callback (in [[gluTessCallBack]] angegeben) zurückgegeben werden.</td>
 +
</tr>
 +
</table>
 +
 
 +
 
 +
 
 +
 
 +
== Beschreibung ==
 +
'''gluTessVertex''' beschreibt einen Eckpunkt (Vertex) eines Polygons, welches der User definiert. <br>
 +
Mehrfache Aufrufe von '''gluTessVertex''' beschreiben eine geschlossene Kontur. <br>
 +
Wenn der User zum Beispiel ein Viereck definieren will, muss '''gluTessVertex''' vier mal aufgerufen werden.<br>
 +
'''gluTessVertex''' kann nur innerhalb eines [[gluTessBeginContour]]-[[gluTessEndContour]]-Blocks aufgerufen werden.
 +
 
 +
''data'' zeigt normalerweise auf eine Datenstruktur welche die Vertexposition und andere per-Vertex Eigenschaften wie Farbe und [[Normalen|Normale]] enthält.
 +
Dieser Pointer wird mittels des '''GLU_VERTEX''' [[Callback]] nach der [[Tesselierung]] an den User zurückgeliefert. (siehe [[gluTessCallback]])
 +
 
 +
 
 +
 
 +
 
 +
== Beispiel ==
 +
Ein Viereck mit einem dreieckigen Loch könnte folgendermaßen beschrieben werden:
 +
 
 +
gluTessBeginPolygon(tess, NULL);
 +
  gluTessBeginContour(tess);
 +
    gluTessVertex(tess, v1, v1);
 +
    gluTessVertex(tess, v2, v2);
 +
    gluTessVertex(tess, v3, v3);
 +
    gluTessVertex(tess, v4, v4);
 +
  gluTessEndContour(tess);
 +
gluNextContour(tess, GLU_INTERIOR);
 +
  gluTessBeginContour(tess);
 +
    gluTessVertex(tess, v5, v5);
 +
    gluTessVertex(tess, v6, v6);
 +
    gluTessVertex(tess, v7, v7);
 +
  gluTessEndContour(tess);
 +
gluTessEndPolygon(tess);
 +
 
 +
 
 +
 
 +
== Siehe auch ==
 +
[[gluTessBeginPolygon]], [[gluNewTess]], [[gluTessCallback]], [[gluTessBeginContour]], [[gluTessProperty]], [[gluTessNormal]]
 +
 
 +
Hintergrundwissen: [[Tesselierung]], [[Callback]]
 +
 
 +
[[Kategorie:GLU|TessVertex]]

Aktuelle Version vom 22. April 2006, 19:26 Uhr

gluTessVertex

Name

gluTessVertex - spezifiziert einen Eckpunkt eines Polygones.


Delphi-Spezifikation

procedure gluTessVertex(tess: PGLUtesselator; coords: TGLArrayd3; data: Pointer);


Parameter

tess Bestimmt das Tesselierungsobjekt (erstellt mit gluNewTess).
v Bestimmt die Position des Eckpunkts im Raum.
data Ein Zeiger, der auf die Daten zeigt die dem User über den Vertex-Callback (in gluTessCallBack angegeben) zurückgegeben werden.



Beschreibung

gluTessVertex beschreibt einen Eckpunkt (Vertex) eines Polygons, welches der User definiert.
Mehrfache Aufrufe von gluTessVertex beschreiben eine geschlossene Kontur.
Wenn der User zum Beispiel ein Viereck definieren will, muss gluTessVertex vier mal aufgerufen werden.
gluTessVertex kann nur innerhalb eines gluTessBeginContour-gluTessEndContour-Blocks aufgerufen werden.

data zeigt normalerweise auf eine Datenstruktur welche die Vertexposition und andere per-Vertex Eigenschaften wie Farbe und Normale enthält. Dieser Pointer wird mittels des GLU_VERTEX Callback nach der Tesselierung an den User zurückgeliefert. (siehe gluTessCallback)



Beispiel

Ein Viereck mit einem dreieckigen Loch könnte folgendermaßen beschrieben werden:

gluTessBeginPolygon(tess, NULL);
  gluTessBeginContour(tess);
    gluTessVertex(tess, v1, v1);
    gluTessVertex(tess, v2, v2);
    gluTessVertex(tess, v3, v3);
    gluTessVertex(tess, v4, v4);
  gluTessEndContour(tess); 
gluNextContour(tess, GLU_INTERIOR);
  gluTessBeginContour(tess);
    gluTessVertex(tess, v5, v5);
    gluTessVertex(tess, v6, v6);
    gluTessVertex(tess, v7, v7); 
  gluTessEndContour(tess);
gluTessEndPolygon(tess);


Siehe auch

gluTessBeginPolygon, gluNewTess, gluTessCallback, gluTessBeginContour, gluTessProperty, gluTessNormal

Hintergrundwissen: Tesselierung, Callback