Partager via


fonction glLineWidth

La fonction glLineWidth spécifie la largeur des lignes rastérisées.

Syntaxe

void WINAPI glLineWidth(
   GLfloat width
);

Paramètres

width

Largeur des lignes rastérisées. La valeur par défaut est 1.0.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .

Nom Signification
GL_INVALID_VALUE
la largeur était inférieure ou égale à zéro.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

La fonction glLineWidth spécifie la largeur rastérisée des lignes alias et antialiased. L’utilisation d’une largeur de ligne autre que 1.0 a des effets différents, selon que l’anti-attirail de ligne est activé ou non. L’anti-attirail de ligne est contrôlé en appelant glEnable et glDisable avec l’argument GL_LINE_SMOOTH.

Si l’anti-attirail de ligne est désactivé, la largeur réelle est déterminée en arrondissant la largeur fournie à l’entier le plus proche. (Si l’arrondi aboutit à la valeur 0.0, c’est comme si la largeur de ligne était 1.0) Si | ? x | = | ? y |, i pixels sont remplis dans chaque colonne qui est rastérisée, où i est la valeur arrondie de largeur. Sinon, les pixels i sont remplis dans chaque ligne qui est rastérisée.

Si l’anti-aaliasing est activé, la rastérisation de ligne produit un fragment pour chaque carré de pixels qui croise la région située dans le rectangle avec une largeur égale à la largeur de ligne actuelle, une longueur égale à la longueur réelle de la ligne et centrée sur le segment de ligne mathématique. La valeur de couverture de chaque fragment est la zone de coordonnées de fenêtre de l’intersection de la région rectangulaire avec le carré de pixels correspondant. Cette valeur est enregistrée et utilisée dans l’étape finale de rastérisation.

Toutes les largeurs ne peuvent pas être prises en charge lorsque l’anti-attirail de ligne est activée. Si une largeur non prise en charge est demandée, la largeur prise en charge la plus proche est utilisée. Seule la largeur 1.0 est garantie pour être prise en charge ; d’autres dépendent de l’implémentation. La plage de largeurs prises en charge et la différence de taille entre les largeurs prises en charge dans la plage peuvent être interrogées en appelant glGet avec des arguments GL_LINE_WIDTH_RANGE et GL_LINE_WIDTH_GRANULARITY.

La largeur de ligne spécifiée par glLineWidth est toujours retournée lorsque GL_LINE_WIDTH est interrogé. Le serrage et l’arrondi des lignes avec alias et anti-attirail n’ont aucun effet sur la valeur spécifiée.

La largeur de ligne non anti-anti-aaliased peut être limitée à un maximum dépendant de l’implémentation. Bien que cette valeur maximale ne puisse pas être interrogée, elle ne doit pas être inférieure à la valeur maximale pour les lignes anti-aréales, arrondie à la valeur entière la plus proche.

Les fonctions suivantes récupèrent des informations relatives à glLineWidth :

glGet avec argument GL_LINE_WIDTH

glGet avec argument GL_LINE_WIDTH_RANGE

glGet avec argument GL_LINE_WIDTH_GRANULARITY

glIsEnabled avec argument GL_LINE_SMOOTH

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Gl.h
Bibliothèque
Opengl32.lib
DLL
Opengl32.dll

Voir aussi

glBegin

glEnable

glEnd

glIsEnabled