gluTessNormal: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Version Hochgeladen)
K (Bot: konvertiere/korrigiere <BR>)
 
(7 dazwischenliegende Versionen von 5 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''' definieren Sie die [[Normalen|Normale]] für ein Polygone, dass Sie definieren.<b><i>The gluTessNormal function describes a normal for a polygon that you define. 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. (You can obtain clockwise orientation by reversing the sign of the supplied normal). For example, if you know that all polygons lie in the x-y plane, call gluTessNormal(tess, 0.0, 0.0, 1.0) before rendering any polygons.</i></b>
+
Mit '''gluTessNormal''' beschreiben Sie die [[Normalen|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:<br>
 +
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.
 +
 
  
Wenn die übergebene Normale (0,0,0) ist (der Vorgabewert), wird die Normale folgendermaßen bestimmt.<b><i>The direction of the normal, up to its sign, is found by fitting a plane to the vertexes, without regard to how the vertexes are connected. It is expected that the input data lies approximately in the plane; 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 übergebene Normale bleibt solange gültig, bis '''gluTessNormal''' erneut aufgerufen wurde.
 
  
<br>
 
 
== Siehe auch ==
 
== Siehe auch ==
 
[[gluTessBeginPolygon]], [[gluTessEndPolygon]]  
 
[[gluTessBeginPolygon]], [[gluTessEndPolygon]]  

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