glLineWidth

Aus DGL Wiki
Version vom 28. August 2004, 10:42 Uhr von Phobeus (Diskussion | Beiträge) ()

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

ACHTUNG DIESER ARTIKEL IST NOCH UNFERTIG

glLineWidth


Name

glLineWidth - definiert die Breite mit der Linien gerastert werden


Delphi-Spezifikation

procedure glLineWidth(width : TGLfloat);


Parameter

width Definiert die Breite mit der Linien gerastert werden sollen. Der Standardwert ist 1.


Beschreibung

glLineWidth setzt die Breite mit der sowohl aliased als auch antialiased Linien wiedergegeben werden. Wenn eine Linienbreite ungleich 1 verwendet wird, kann dies - abhängig ob Antialiasing aktiviert ist - unterschiedliche Effekte mit sich bringen. Um antialiasing für Linien zu aktivieren oder wieder zu deaktivieren, ruft glEnable und glDisable mit dem Argument GL_LINE_SMOOTH auf. Antialiasing für Linien ist bei der Initalisierung deaktiviert.

Wenn Antialiasing für Linien deaktiviert ist, wird die tatsächliche Breite ermittelt durch das Runden auf den nächst gelegenen Integer-Wert. (Wenn das Rundungsergebnis den Wert 0 ergeben sollte, so wird es verarbeitet als sie die Linienbreite 1). Wenn | Δx | >= | Δy |, i Pixel werden in jeder Spalte gefüllt, bei der i der Rundungswert der Breite ist. Andernfalls, i Pixel werden gefüllt in jeder Reihe, die gerastert wird.

If antialiasing is enabled, line rasterization produces a fragment for each pixel square that intersects the region lying within the rectangle having width equal to the current line width, length equal to the actual length of the line, and centered on the mathematical line segment. The coverage value for each fragment is the window coordinate area of the intersection of the rectangular region with the corresponding pixel square. This value is saved and used in the final rasterization step.

Nicht alle Breiten können unterstützt werden, wenn Antialiasing aktiviert ist. Wenn eine nicht unterstützte Breite angefordert wird, wird eine die nächste unterstützte Breite verwendet. Nur die Breite 1.0 wird garantiert unterstützt, andere Breiten sind abhängig von der jeweiligen Implementierung. Um die Reicheweite der möglichen Breiten abzufragen and the size difference between supported widths within the range, call glGet with arguments GL_LINE_WIDTH_RANGE and GL_LINE_WIDTH_GRANULARITY.



Hinweise

Die eingestellte Breite der Linien wird immer zurückgegeben, wenn GL_LINE_WIDTH abgefragt wird. Clamping und Runden beim Antialising kann eine Auswirkung auf die dargestellte Breite haben. Dies wird jedoch bei dem Rückgabewert nicht berücksichtigt.


Übersetzung folgt.(phobeus) Non-antialiased line width may be clamped to an implementation-dependent maximum. Although this maximum cannot be queried, it must be no less than the maximum value for antialiased lines, rounded to the nearest integer value. Auch wenn der maximale Wert hierfür nicht abgefragt werden kann, so darf er nicht geringer sein als der maximale Wert für antialiased Linien gerundet auf den nächsten Integer-Wert.

Fehlermeldungen

GL_INVALID_VALUE wird generiert wenn die Breite kleiner oder gleich Null ist.
GL_INVALID_OPERATION wird generiert wenn glLineWidth zwischen einem glBegin oder dem dazugehörigen glEnd ausgeführt wird.


Zugehörige Wertrückgaben

glGet mit Token GL_LINE_WIDTH
glGet mit Token GL_LINE_WIDTH_RANGE
glGet mit Token GL_LINE_WIDTH_GRANULARITY
glGet mit Token GL_LINE_SMOOTH


Siehe auch

glEnable