Que sont les lignes OpenGL®?
Dans Open Graphics Library® (OpenGL®), les lignes sont l’une des formes primitives de base qu’OpenGL® est capable de dessiner. Elles constituent l’un des éléments de base parfois utilisés pour le rendu des triangles. Les lignes OpenGL® ne sont qu'un graphique rectiligne reliant deux sommets. Bien que le concept et l'exécution des lignes OpenGL® puissent être simples, leur rendu prend généralement plus de temps que d'autres primitives dans certaines implémentations, en partie parce que leur comportement dans le standard OpenGL® n'est pas spécifié. L'utilisation explicite de lignes OpenGL® peut parfois donner des résultats inattendus, car les lignes sont rastérisées de manière spécifique, ce qui peut les rendre dissociées des autres géométries de la scène ou leur donner une apparence légèrement différente de celles prévues. Outre une ligne de base, les lignes OpenGL® peuvent également être formées en bandes de lignes et en boucles, un peu comme des bandes de triangle, la fin de chaque ligne étant le début de la suivante.
Lorsqu'elles sont utilisées dans une scène, les lignes OpenGL® sont un type de primitive de forme constitué de deux sommets, ou coordonnées dans un espace tridimensionnel (3D), reliés par un chemin rectiligne et visible. Contrairement aux autres primitives, telles que les triangles, une ligne n'a généralement pas de surface, bien qu'elle puisse toujours être colorée avec des fondus et en utilisant la coloration des sommets. Les lignes sont fréquemment utilisées dans les visualisations 3D mathématiques et scientifiques, ainsi que pour les indicateurs d'affichage bidimensionnels (2D) - tels que le réticule ou les flèches pointant vers des zones de l'affichage - pour le spectateur.
La largeur d'une ligne peut être définie dans une certaine mesure via OpenGL®. Le nombre de pixels de largeur que la ligne devrait avoir à un point donné peut être spécifié, bien qu’il n’existe pas de véritable norme quant à la manière dont cela devrait fonctionner d’une plate-forme à une autre. Dans certaines situations, la largeur ne peut pas du tout être modifiée, alors que dans d'autres, la largeur des lignes OpenGL® est limitée à un nombre apparemment arbitraire.
En plus de la ligne de base, plusieurs lignes OpenGL® peuvent être combinées pour former deux autres structures appelées barrettes de lignes et boucles de lignes. Les bandes de lignes sont simplement une séquence de sommets dans laquelle le début de chaque nouvelle ligne est le point final de la dernière ligne. C’est surtout une fonction pratique, mais le rendu peut être plus rapide que l’utilisation de lignes individuelles. Une boucle de ligne est presque identique à une bande, sauf que le tout dernier sommet de la boucle est ensuite reconnecté au premier sommet spécifié.
Une complication liée à l'utilisation de lignes OpenGL® est que, du fait qu'elles ne font qu'un pixel de large par défaut, leur rendu n'est parfois pas correct. Dans certains cas, notamment si la ligne est anti-aliasée, certains pixels de l’image pixellisée peuvent ne pas être affichés. La ligne elle-même peut également apparaître à quelques pixels de là où elle devrait être. Ceci est largement dû aux variations infimes des calculs en virgule flottante utilisés par OpenGL®; ce n'est pas toujours un problème qui peut être facilement résolu sans convertir des lignes en polygones à des fins de rendu.