gl.LineStipple(factor, pattern)
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.
#GL_INVALID_OPERATION
wird erzeugt, wenn gl.LineStipple()
zwischen
gl.Begin() und gl.End() ausgeführt wird.
#GL_LINE_STIPPLE_PATTERN
gl.Get() mit dem Argument #GL_LINE_STIPPLE_REPEAT
gl.IsEnabled() mit dem Argument #GL_LINE_STIPPLE