glLineWidth-Funktion
Die glLineWidth-Funktion gibt die Breite von gerasterten Linien an.
Syntax
void WINAPI glLineWidth(
GLfloat width
);
Parameter
-
width
-
Die Breite gerasterter Linien. Der Standardwert ist 1.0.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Fehlercodes
Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.
Name | Bedeutung |
---|---|
|
die Breite war kleiner oder gleich 0. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen. |
Bemerkungen
Die glLineWidth-Funktion gibt die gerasterte Breite von Alias- und Antialiased-Linien an. Die Verwendung einer anderen Linienbreite als 1.0 hat unterschiedliche Auswirkungen, je nachdem, ob das Zeilen antialiasing aktiviert ist. Das Line Antialiasing wird gesteuert, indem glEnable und glDisable mit argument GL_LINE_SMOOTH aufgerufen wird.
Wenn das Zeilen-Antialiasing deaktiviert ist, wird die tatsächliche Breite bestimmt, indem die angegebene Breite auf die nächste ganze Zahl gerundet wird. (Wenn die Rundung den Wert 0,0 ergibt, ist es so, als wäre die Linienbreite 1,0) Wenn | ? x | = | ? y |, i Pixel werden in jeder Spalte gefüllt, die gerastert ist, wobei i der gerundete Wert der Breite ist. Andernfalls werden i-Pixel in jeder Zeile gefüllt, die gerastert ist.
Wenn das Antialiasing aktiviert ist, erzeugt die Linienrasterung ein Fragment für jedes Pixelquadrat, das den innerhalb des Rechtecks liegenden Bereich schneidet, wobei die Breite der aktuellen Linienbreite entspricht, die Länge der tatsächlichen Länge der Linie entspricht und auf dem mathematischen Liniensegment zentriert ist. Der Abdeckungswert für jedes Fragment ist der Fensterkoordinatenbereich des Schnittpunkts des rechteckigen Bereichs mit dem entsprechenden Pixelquadrat. Dieser Wert wird gespeichert und im abschließenden Rasterungsschritt verwendet.
Nicht alle Breiten können unterstützt werden, wenn das Zeilen-Antialiasing aktiviert ist. Wenn eine nicht unterstützte Breite angefordert wird, wird die nächstgelegene unterstützte Breite verwendet. Nur breite 1.0 wird garantiert unterstützt; andere sind von der Implementierung abhängig. Der Bereich der unterstützten Breiten und der Größenunterschied zwischen unterstützten Breiten innerhalb des Bereichs kann abgefragt werden, indem glGet mit Argumenten GL_LINE_WIDTH_RANGE und GL_LINE_WIDTH_GRANULARITY aufgerufen wird.
Die von glLineWidth angegebene Linienbreite wird immer zurückgegeben, wenn GL_LINE_WIDTH abgefragt wird. Klemmen und Rundungen für Alias- und Antialiased-Linien haben keine Auswirkungen auf den angegebenen Wert.
Die Nicht antialiasierte Linienbreite kann auf ein implementierungsabhängiges Maximum geklemmt werden. Obwohl dieses Maximum nicht abgefragt werden kann, darf es nicht kleiner als der Maximalwert für Antialiased-Linien sein, gerundet auf den nächsten ganzzahligen Wert.
Die folgenden Funktionen rufen Informationen im Zusammenhang mit glLineWidth ab:
glGet mit argument GL_LINE_WIDTH
glGet mit Argument GL_LINE_WIDTH_RANGE
glGet mit Argument GL_LINE_WIDTH_GRANULARITY
glIsEnabled mit Argument GL_LINE_SMOOTH
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|