glLineStipple: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K () |
K () |
||
Zeile 1: | Zeile 1: | ||
− | |||
= glLineStipple = | = glLineStipple = | ||
Zeile 29: | Zeile 28: | ||
== Beschreibung == | == Beschreibung == | ||
− | + | Linienmusterung maskiert bestimmte, von der Rasterisierung produzierte Fragmente aus, sie werden also nicht gezeichnet. Die Maskierung wird über folgende drei Parameter erreicht : Das 16-Bittige Muster, den Wiederholungsfaktor und den Ganzzahl-Musterzählr ''s''. | |
− | + | Der Zähler ''s'' wird bei jedem Aufruf von [[glBegin]] auf 0 zurückgesetzt, und bevor jedes Liniensegment eines [[glBegin]](GL_LINES)/[[glEnd]]-Blockes generiert wird. Erhöht wird dieser nach jedem Fragment einer Einheit des Liniensegmentes, oder nachdem alle ''i'' Fragmente einer Linie mit einer Breite von ''i'' Einheiten generiert wurden. Diese ''i'' Fragmente verknüpft mit dem Zählwert ''s'' werden ausmaskiert, wenn das Musterbit (''s''/''factor'') modulo 16 gleich null ist, andernfalls werden die Fragmente in den Framepuffer geschrieben. Bit 0 des Musters ist das niederwertigste Bit. | |
− | + | Kantengeglättete Linien werden für die Musterung als eine Sequenz von 1xBreite-Rechtecken behandlet. Ob das Rechteck ''s'' dann rasterisiert wird oder nicht, hängt von den Fragmentregeln für kantengeglättete Linien ab, ob dort Rechtecke gezählt werden, oder Fragmentgruppen. | |
Um Linien tüpfeln zu lassen, benutzt [[glEnable]] und [[glDisable]] mit dem Token GL_LINE_STIPPLE. Wenn dies aktiviert ist, werden die Linien mit dem Muster getüpfelt, dass oben beschrieben wurde. Wenn es deaktiviert ist, werden alle Muster so behandelt als seien sie auf 1 gesetzt. Standardgemäß ist das Tüpfeln von Linien deaktiviert. | Um Linien tüpfeln zu lassen, benutzt [[glEnable]] und [[glDisable]] mit dem Token GL_LINE_STIPPLE. Wenn dies aktiviert ist, werden die Linien mit dem Muster getüpfelt, dass oben beschrieben wurde. Wenn es deaktiviert ist, werden alle Muster so behandelt als seien sie auf 1 gesetzt. Standardgemäß ist das Tüpfeln von Linien deaktiviert. |
Version vom 20. September 2004, 12:39 Uhr
Inhaltsverzeichnis
glLineStipple
Name
glLineStipple - Definiert mit welchem Muster eine Linie getüpfelt wird.
Delphi-Spezifikation
procedure glLineStipple(factor : GLint; pattern : GLushort);
Parameter
factor | Spezifiziert einen Multiplikator für jedes Bit im Tüpfelmuster einer Linie. Wenn der Faktor beispielsweise 3 ist, wird jedes Bit im Muster drei Mal genutzt, bevor das nächste Bit im Muster verwendet wird. Faktor ist für Zahlen aus dem Intervall [1,256] definiert. |
---|---|
pattern | Ist eine 16 Bit Integerzahl deren Binärdarstellung als Bitmuster für die Fragmente von Linien benutzt werden soll. (1 = Zeichnen, 0 = nicht zeichnen). Das Bitmuster wird beginnend bei Bit 0 gelesen. Das Vorgabemuster besteht nur aus Einzen. (= die größtmögliche 16Bit Integerzahl) |
Beschreibung
Linienmusterung maskiert bestimmte, von der Rasterisierung produzierte Fragmente aus, sie werden also nicht gezeichnet. Die Maskierung wird über folgende drei Parameter erreicht : Das 16-Bittige Muster, den Wiederholungsfaktor und den Ganzzahl-Musterzählr s.
Der Zähler s wird bei jedem Aufruf von glBegin auf 0 zurückgesetzt, und bevor jedes Liniensegment eines glBegin(GL_LINES)/glEnd-Blockes generiert wird. Erhöht wird dieser nach jedem Fragment einer Einheit des Liniensegmentes, oder nachdem alle i Fragmente einer Linie mit einer Breite von i Einheiten generiert wurden. Diese i Fragmente verknüpft mit dem Zählwert s werden ausmaskiert, wenn das Musterbit (s/factor) modulo 16 gleich null ist, andernfalls werden die Fragmente in den Framepuffer geschrieben. Bit 0 des Musters ist das niederwertigste Bit.
Kantengeglättete Linien werden für die Musterung als eine Sequenz von 1xBreite-Rechtecken behandlet. Ob das Rechteck s dann rasterisiert wird oder nicht, hängt von den Fragmentregeln für kantengeglättete Linien ab, ob dort Rechtecke gezählt werden, oder Fragmentgruppen.
Um Linien tüpfeln zu lassen, benutzt glEnable und glDisable mit dem Token GL_LINE_STIPPLE. Wenn dies aktiviert ist, werden die Linien mit dem Muster getüpfelt, dass oben beschrieben wurde. Wenn es deaktiviert ist, werden alle Muster so behandelt als seien sie auf 1 gesetzt. Standardgemäß ist das Tüpfeln von Linien deaktiviert.
Fehlermeldungen
GL_INVALID_OPERATION wird generiert wenn glLineStipple innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGet mit Token GL_LINE_STIPPLE_PATTERN
glGet mit Token GL_LINE_STIPPLE_REPEAT
glIsEnabled mit Token GL_LINE_STIPPLE