glLineStipple: Unterschied zwischen den Versionen
Mars (Diskussion | Beiträge) K (→Delphi-Spezifikation) |
Flash (Diskussion | Beiträge) K () |
||
Zeile 17: | Zeile 17: | ||
{| border="1" rules="all" | {| border="1" rules="all" | ||
! ''factor'' | ! ''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. | + | | 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. <br> |
+ | Faktor ist für Zahlen aus dem Intervall [1,256] definiert.<br> | ||
+ | Der '''Standardwert''' ist '''1'''. | ||
|- | |- | ||
! ''pattern'' | ! ''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.<br> |
+ | Das '''Vorgabemuster''' besteht nur aus Einzen. (= die größtmögliche 16Bit Integerzahl) | ||
|} | |} | ||
Zeile 26: | Zeile 29: | ||
== Beschreibung == | == Beschreibung == | ||
− | + | <b><i>Line stippling masks out certain fragments produced by rasterization; those fragments will not be drawn. The masking is achieved by using three parameters: the 16-bit line stipple pattern pattern, the repeat count factor, and an integer stipple counter s. | |
− | Counter s is reset to zero whenever glBegin is called, and before each line segment of a glBegin(GL_LINES)/glEnd() sequence is generated. It is incremented after each fragment of a unit width aliased line segment is generated, or after each i fragments of an i width line segment are generated. The i fragments associated with count s are masked out if | + | Counter s is reset to zero whenever glBegin is called, and before each line segment of a glBegin(GL_LINES)/glEnd() sequence is generated. It is incremented after each fragment of a unit width aliased line segment is generated, or after each i fragments of an i width line segment are generated. The i fragments associated with count s are masked out if pattern bit (s / factor) mod 16 is zero, otherwise these fragments are sent to the frame buffer. Bit zero of pattern is the least significant bit. |
− | + | Antialiased lines are treated as a sequence of 1xwidth rectangles for purposes of stippling. Whether rectangle s is rasterized or not depends on the fragment rule described for aliased lines, counting rectangles rather than groups of fragments.</i></b> | |
− | |||
− | |||
− | |||
− | Antialiased lines are treated as a sequence of 1xwidth rectangles for purposes of stippling. Whether rectangle s is rasterized or not depends on the fragment rule described for aliased lines, counting rectangles rather than groups of fragments. | ||
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. | ||
Zeile 41: | Zeile 40: | ||
== Fehlermeldungen == | == Fehlermeldungen == | ||
− | GL_INVALID_OPERATION wird generiert wenn | + | '''GL_INVALID_OPERATION''' wird generiert wenn '''glLineStipple''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. |
<br> | <br> | ||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == | ||
− | [[glGet]] mit Token [[glGet# | + | [[glGet]] mit Token [[glGet#GL_LINE_STIPPLE_PATTERN|GL_LINE_STIPPLE_PATTERN]]<br> |
− | + | [[glGet]] mit Token [[glGet#GL_LINE_STIPPLE_REPEAT|GL_LINE_STIPPLE_REPEAT]]<br> | |
− | [[glGet]] mit Token [[glGet#GL_LINE_STIPPLE_REPEAT]] | + | [[glIsEnabled]] mit Token [[glIsEnabled#GL_LINE_STIPPLE|GL_LINE_STIPPLE]] |
− | [[glIsEnabled]] mit Token [[glIsEnabled#GL_LINE_STIPPLE]] | ||
<br> | <br> | ||
== Siehe auch == | == Siehe auch == | ||
[[glLineWidth]], [[glPolygonStipple]] | [[glLineWidth]], [[glPolygonStipple]] |
Version vom 14. September 2004, 19:56 Uhr
(Mehr Informationen/weitere Artikel) {{{1}}} |
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
Line stippling masks out certain fragments produced by rasterization; those fragments will not be drawn. The masking is achieved by using three parameters: the 16-bit line stipple pattern pattern, the repeat count factor, and an integer stipple counter s.
Counter s is reset to zero whenever glBegin is called, and before each line segment of a glBegin(GL_LINES)/glEnd() sequence is generated. It is incremented after each fragment of a unit width aliased line segment is generated, or after each i fragments of an i width line segment are generated. The i fragments associated with count s are masked out if pattern bit (s / factor) mod 16 is zero, otherwise these fragments are sent to the frame buffer. Bit zero of pattern is the least significant bit.
Antialiased lines are treated as a sequence of 1xwidth rectangles for purposes of stippling. Whether rectangle s is rasterized or not depends on the fragment rule described for aliased lines, counting rectangles rather than groups of fragments.
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