gluTessNormal: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Beschreibung)
K (Bot: konvertiere/korrigiere <BR>)
 
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Unvollständig}}
 
 
= gluTessNormal =
 
= gluTessNormal =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
 
'''gluTessNormal''' - definiert die Normale für ein Polygon.
 
'''gluTessNormal''' - definiert die Normale für ein Polygon.
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 
  procedure '''gluTessNormal'''(''tess'': PGLUtesselator; ''x, y, z'': TGLdouble);
 
  procedure '''gluTessNormal'''(''tess'': PGLUtesselator; ''x, y, z'': TGLdouble);
  
<br>
+
 
 +
 
 
== Parameter ==
 
== Parameter ==
 
<table border=1 rules=all>
 
<table border=1 rules=all>
Zeile 23: Zeile 25:
 
</table>
 
</table>
  
<br>
+
 
 +
 
  
 
== Beschreibung ==  
 
== Beschreibung ==  
 
Mit '''gluTessNormal''' beschreiben Sie die [[Normalen|Normale]] für ein Polygon das Sie definieren.
 
Mit '''gluTessNormal''' beschreiben Sie die [[Normalen|Normale]] für ein Polygon das Sie definieren.
<b><i>All input data is projected onto a plane perpendicular to one of the three coordinate axes before tessellation, and all output triangles are oriented counterclockwise with respect to the normal.</i></b> (Eine Ausrichtung im Uhrzeigersinn kann erreicht werden, indem das Vorzeichen der gelieferten Normale geändert wird.)
+
Alle angegebenen Daten werden vor der Tessellation auf eine Fläche projiziert, die senkrecht auf einer der drei Koordinatenachsen steht. Alle Dreiecke, die ausgegeben werden, werden gegen den Uhrzeigersinn um die Normale herum ausgerichtet. (Eine Ausrichtung im Uhrzeigersinn kann erreicht werden, indem das Vorzeichen der gelieferten Normale geändert wird.)
 
Wenn, zum Beispiel, bekannt ist, dass alle Polygone in der X-Y-Ebene liegen, ruft man '''gluTessNormal(tess, 0.0, 0.0, 1.0)''' vor dem Rendern der Polygone auf.
 
Wenn, zum Beispiel, bekannt ist, dass alle Polygone in der X-Y-Ebene liegen, ruft man '''gluTessNormal(tess, 0.0, 0.0, 1.0)''' vor dem Rendern der Polygone auf.
  
 
Wenn die übergebene Normale (0,0,0) ist (der Vorgabewert), wird die Normale folgendermaßen bestimmt:<br>
 
Wenn die übergebene Normale (0,0,0) ist (der Vorgabewert), wird die Normale folgendermaßen bestimmt:<br>
Die Richtung der [[Normale]], im Bezug auf ihr Vorzeichen, wird gefunden in dem man eine Ebene aus den Vertexen bildet. Dabei wird beachted wie die [[Vertex|Vertices]] miteinander verbunden sind (Reihenfolge). Es wird dabei davon ausgegangen, dass die Vertices annähernd in einer Ebene liegen. Wenn dem nicht so ist, wird <b><i>otherwise projection perpendicular to one of the three coordinate axes can change the geometry substantially. The sign of the normal is chosen so that the sum of the signed areas of all input contours is non-negative (where a counter-clock-wise contour has positive area).</i></b>
+
Die Richtung der [[Normalen]], im Bezug auf ihr Vorzeichen, wird gefunden in dem man eine Ebene aus den Vertexen bildet. Dabei wird beachted wie die [[Vertex|Vertices]] miteinander verbunden sind (Reihenfolge). Es wird dabei davon ausgegangen, dass die Vertices annähernd in einer Ebene liegen. Wenn dem nicht so ist, könnte eine Projektion senkrecht auf eine der drei Koordinatenachsen die Geomatrie sehr stark verändern. Das Vorzeichen der Normale wird so gewählt, dass die Summe aller eingegebenen Umrisse mit Vorzeichen nicht negativ ist (wobei ein Umriss gegen den Uhrzeigersinn einen positiven Bereich hat.) Die übergebene Normale bleibt solange gültig, bis '''gluTessNormal''' erneut aufgerufen wurde.
 +
 
  
Die übergebene Normale bleibt solange gültig, bis '''gluTessNormal''' erneut aufgerufen wurde.
 
  
<br>
 
  
 
== Siehe auch ==
 
== Siehe auch ==

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

gluTessNormal

Name

gluTessNormal - definiert die Normale für ein Polygon.


Delphi-Spezifikation

procedure gluTessNormal(tess: PGLUtesselator; x, y, z: TGLdouble);


Parameter

tess Bestimmt das Tesselierungsobjekt (erstellt mit gluNewTess).
x, y, z Bestimmt die x, y, z Komponente einer Normale.



Beschreibung

Mit gluTessNormal beschreiben Sie die Normale für ein Polygon das Sie definieren. Alle angegebenen Daten werden vor der Tessellation auf eine Fläche projiziert, die senkrecht auf einer der drei Koordinatenachsen steht. Alle Dreiecke, die ausgegeben werden, werden gegen den Uhrzeigersinn um die Normale herum ausgerichtet. (Eine Ausrichtung im Uhrzeigersinn kann erreicht werden, indem das Vorzeichen der gelieferten Normale geändert wird.) Wenn, zum Beispiel, bekannt ist, dass alle Polygone in der X-Y-Ebene liegen, ruft man gluTessNormal(tess, 0.0, 0.0, 1.0) vor dem Rendern der Polygone auf.

Wenn die übergebene Normale (0,0,0) ist (der Vorgabewert), wird die Normale folgendermaßen bestimmt:
Die Richtung der Normalen, im Bezug auf ihr Vorzeichen, wird gefunden in dem man eine Ebene aus den Vertexen bildet. Dabei wird beachted wie die Vertices miteinander verbunden sind (Reihenfolge). Es wird dabei davon ausgegangen, dass die Vertices annähernd in einer Ebene liegen. Wenn dem nicht so ist, könnte eine Projektion senkrecht auf eine der drei Koordinatenachsen die Geomatrie sehr stark verändern. Das Vorzeichen der Normale wird so gewählt, dass die Summe aller eingegebenen Umrisse mit Vorzeichen nicht negativ ist (wobei ein Umriss gegen den Uhrzeigersinn einen positiven Bereich hat.) Die übergebene Normale bleibt solange gültig, bis gluTessNormal erneut aufgerufen wurde.



Siehe auch

gluTessBeginPolygon, gluTessEndPolygon

Hintergrundwissen: Tesselierung