Bezeichnung
gl.LineStipple -- setzt das Linienrastermuster
Übersicht
gl.LineStipple(factor, pattern)
Beschreibung
Das Punktieren von Linien maskiert bestimmte Fragmente, die durch die Rasterung entstehen; diese Fragmente werden nicht gezeichnet. Die Maskierung wird durch die Verwendung von drei Parametern erreicht: Dem 16-Bit-Zeilen-Punktmuster pattern, dem Wiederholungszahlfaktor factor und einem ganzzahligen Rasterzähler s.

Der Zähler s wird auf 0 zurückgesetzt, wenn gl.Begin() aufgerufen wird und vor jedem Liniensegment wird eine

 
gl.Begin(#GL_LINES)
gl.End()

Sequenz erzeugt. Sie wird erhöht, nachdem jedes Fragment eines aliasierten Liniensegments mit Einheitsbreite erzeugt wurde oder nachdem jedes i-Fragment eines i-Breiten-Liniensegments erzeugt wurde. Die mit der Anzahl s verbundenen i-Fragmente werden ausgeblendet, wenn

 
pattern bit s factor % 16

0 ist, ansonsten werden diese Fragmente an den Rahmenpuffer gesendet. Bit-Null des Musters ist das niederwertigste Bit.

Antialiasing-Linien werden als eine Folge von 1*breiten Rechtecken zum Zwecke des Punktierens behandelt. Ob das Rechteck s gerastert ist oder nicht, hängt von der für aliasierte Linien beschriebenen Fragmentregel ab, die Rechtecke statt Gruppen von Fragmenten zählt.

Um die Zeilenzuordnung zu aktivieren und zu deaktivieren, rufen Sie gl.Enable() und gl.Disable() auf, mit dem Argument #GL_LINE_STIPPLE. Wenn aktiviert, wird das Linienpunktemuster wie oben beschrieben angewendet. Wenn deaktiviert, ist es, als ob alle Muster auf 1 gesetzt wären. Zunächst ist die Linienpunktierung deaktiviert.

Alternativ können Sie auch eine Zeichenkette aus 16 Zeichen übergeben, die in pattern entweder 0 oder 1 ist, z.B. "1111000011110000".

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
factor
gibt einen Multiplikator für jedes Bit im Zeilen-Punktmuster an; wenn der Faktor beispielsweise 3 ist, wird jedes Bit im Muster dreimal verwendet, bevor das nächste Bit im Muster verwendet wird; der Faktor wird auf den Bereich [1, 256] festgelegt und ist standardmäßig auf 1 eingestellt
pattern
gibt eine 16-Bit Ganzzahl an, deren Bitmuster bestimmt, welche Fragmente einer Linie gezeichnet werden, wenn die Linie gerastert wird; Bit Null wird zuerst verwendet; Das Standardmuster besteht nur aus Einsen
Fehler
#GL_INVALID_OPERATION wird erzeugt, wenn gl.LineStipple() zwischen gl.Begin() und gl.End() ausgeführt wird.

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

gl.Get() mit dem Argument #GL_LINE_STIPPLE_REPEAT

gl.IsEnabled() mit dem Argument #GL_LINE_STIPPLE


Navigation zeigen