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, et elles constituent l'un des blocs de construction qui sont parfois utilisés pour rendre les triangles. Les lignes OpenGL® sont juste un graphique droit et connecté entre deux sommets. Même si le concept et l'exécution des lignes OpenGL® peuvent être simples, ils ont tendance à prendre plus de temps à rendre que d'autres primitives dans certaines implémentations, en partie parce qu'il n'y a aucune spécification concernant leur comportement dans la norme OpenGL®. L'utilisation des lignes OpenGL® peut explicitement avoir parfois des résultats inattendus, car les lignes sont rasterisées d'une manière spécifique qui pourrait les faire paraître détachées de la géométrie dans la scène ou semblent légèrement éteintes de l'endroit où elles devraient être. En plus d'une ligne de base, les lignes OpenGL® peuvent également être formées en bandes de ligne et boucles, un peu comme les bandes de triangle, la fin de chaque ligne étant le début de la suivante.
Lorsqu'ils sont utilisés dans une scène, les lignes OpenGL® sont un type de forme primitive composée de deux sommets, ou coordonnées dans un espace tridimensionnel (3D), qui sont connectées par un chemin droit et visible. Contrairement à d'autres primitives, comme un triangle, une ligne n'a généralement pas de surface, bien qu'elle puisse toujours être colorée avec le mélange et en utilisant la coloration du sommet. 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 les réticulations ou les flèches pointant vers les 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 large que la ligne doit être à un point donné peut être spécifié, bien qu'il n'y ait pas de norme réelle pour savoir comment cela devrait fonctionner d'une plate-forme à une autre. Dans certaines situations, la largeur ne peut pas être modifiée du tout pendant, dans d'autresnstances, 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 bandes de ligne et boucles de ligne. Les bandes de ligne sont simplement une séquence de sommets dans lesquels le début de chaque nouvelle ligne est le point final de la dernière ligne. Il s'agit principalement d'une fonction de commodité, mais peut rendre plus rapidement que l'utilisation de lignes individuelles. Une boucle de ligne est presque identique à une bande de ligne, sauf que le tout dernier sommet de la boucle est ensuite connecté au premier sommet spécifié.
Une complication lors de l'utilisation de lignes OpenGL® est que, car elles ne mesurent que 1 pixel de large par défaut, elles ne rendent parfois pas de la bonne manière. Dans certains cas, surtout si la ligne est anti-aliasée, certains pixels de l'image rastérisés peuvent ne pas être affichés. La ligne elle-même peut également apparaître à quelques pixels de l'endroit où il devrait être. Ceci est largement dû à la minutedans les mathématiques à point flottantes qu'OpenGL® utilise; Ce n'est pas toujours un problème qui peut être facilement résolu sans conversion de lignes en polygones à des fins de rendu.