gluTessVertex: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Wird offline bearbeitet)
 
(Version Hochgeladen)
Zeile 1: Zeile 1:
{{Offline}}
+
{{Unvollständig}}
 +
= gluTessVertex =
 +
 
 +
<br>
 +
== Name ==
 +
'''gluTessVertex''' - spezifiziert einen Eckpunkt eines Polygones.
 +
 
 +
<br>
 +
== Delphi-Spezifikation ==
 +
procedure '''gluTessVertex'''(''tess'': PGLUtesselator; ''coords'': TGLArrayd3; ''data'': Pointer);
 +
 
 +
<br>
 +
== 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><b><i>Specifies an opaque pointer passed back to the user with the vertex callback (as specified by gluTessCallback).</i></b></td>
 +
</tr>
 +
</table>
 +
 
 +
<br>
 +
== 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]])
 +
 
 +
 
 +
<br>
 +
== 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);
 +
 
 +
<br>
 +
== Siehe auch ==
 +
[[gluTessBeginPolygon]], [[gluNewTess]], [[gluTessCallback]], [[gluTessBeginContour]], [[gluTessProperty]], [[gluTessNormal]]
 +
 
 +
Hintergrundwissen: [[Tesselierung]], [[Callback]]
 +
 
 +
[[Kategorie:GLU|TessVertex]]

Version vom 21. September 2004, 00:44 Uhr

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

{{{1}}}

Incomplete.jpg

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 Specifies an opaque pointer passed back to the user with the vertex callback (as specified by gluTessCallback).


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