gluTessNormal: Unterschied zwischen den Versionen
(→Beschreibung) |
|||
Zeile 1: | Zeile 1: | ||
− | |||
= gluTessNormal = | = gluTessNormal = | ||
Version vom 23. September 2005, 13:58 Uhr
Inhaltsverzeichnis
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