Bezeichnung
gl.PolygonMode -- wählt einen Polygon-Rastermodus aus
Übersicht
gl.PolygonMode(face, mode)
Beschreibung
gl.PolygonMode() steuert die Interpretation von Polygonen für die Rasterung. face beschreibt, welcher Polygonmodus gilt: Nach vorne gerichtete Polygone (#GL_FRONT), nach hinten gerichtete Polygone (#GL_BACK) oder beides (#GL_FRONT_AND_BACK). Der Polygonmodus wirkt sich nur auf die endgültige Rasterung von Polygonen aus. Insbesondere werden die Eckpunkte eines Polygons beleuchtet und das Polygon abgeschnitten und eventuell ausgelesen, bevor diese Modi angewendet werden.

Es sind drei Modi definiert, die im mode festgelegt werden können:

#GL_POINT
Polygonknoten, die als Anfang einer Begrenzungskante markiert sind, werden als Punkte gezeichnet. Punktattribute wie #GL_POINT_SIZE und #GL_POINT_SMOOTH steuern die Rasterung der Punkte. Andere Polygonrasterungsattribute als #GL_POLYGON_MODE haben keine Auswirkung.

#GL_LINE
Begrenzungskanten des Polygons werden als Liniensegmente gezeichnet. Sie werden als verbundene Liniensegmente für das Linienpunktieren behandelt; der Linienpunktierungszähler und das Muster werden zwischen den Segmenten nicht zurückgesetzt (siehe gl.LineStipple()). Linienattribute wie #GL_LINE_WIDTH und #GL_LINE_SMOOTH steuern die Rasterung der Linien. Andere Polygonrasterungsattribute als #GL_POLYGON_MODE haben keine Auswirkung.

#GL_FILL
Das Innere des Polygons wird ausgefüllt. Polygonattribute wie #GL_POLYGON_STIPPLE und #GL_POLYGON_SMOOTH steuern die Rasterung des Polygons.

Der Initialwert ist #GL_FILL für nach vorne und hinten gerichtete Polygone.

Eckpunkte werden als Grenze oder nicht begrenzt mit einem Kantenflag markiert. Kantenflags werden intern vom GL erzeugt, wenn er Polygone zerlegt; sie können explizit mit gl.EdgeFlag() gesetzt werden.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
face
gibt die Polygone an, für die der Modus gilt (siehe oben)
mode
legt fest, wie Polygone gerastert werden sollen (siehe oben)
Fehler
#GL_INVALID_ENUM wird erzeugt, wenn entweder face oder mode kein akzeptierter Wert ist.

#GL_INVALID_OPERATION wird erzeugt, wenn gl.PolygonMode() zwischen gl.Begin() und gl.End() ausgeführt wird.

Verbundene get-operationen
gl.Get() mit dem Argument #GL_POLYGON_MODE


Navigation zeigen