Qu'est-ce que 2D OpenGL®?
Open Graphics Library® (OpenGL®) est principalement une interface de programmation qui permet aux applications logicielles d'interagir avec le matériel graphique et de créer rapidement et efficacement des scènes en trois dimensions (3D). En utilisant des techniques de programmation OpenGL® bidimensionnelles (2D), l'accélération matérielle fournie par la bibliothèque peut améliorer les performances et, parfois, la facilité d'utilisation d'un logiciel de programmation qui n'utilise pas nécessairement de modèles ou de transformations 3D. La méthode la plus courante pour utiliser 2D OpenGL® consiste à dessiner des quadrilatères, ou rectangles, texturés avec une image, créant ainsi un objet dans un espace 3D à partir d'une image. Une fois établis, ces quadrilatères peuvent être manipulés, soit à l’aide de méthodes 2D strictes, soit en utilisant des matrices 3D pour obtenir des effets spéciaux difficiles à réaliser avec des graphiques à trame 2D uniquement. L’utilisation d’une bibliothèque 3D lors de son utilisation uniquement pour les graphiques 2D présente certaines complications, notamment l’hyper-précision qui peut compliquer l’isolation d’emplacement de pixels uniques, ainsi que la prise en charge matérielle 3D d’un programme qui n’exigera peut-être pas réellement. il.
De nombreux développeurs de matériel et de logiciels fournissent des pilotes et des interfaces de programmation abstraites personnalisées (API) qui rendent leurs produits spécifiques totalement compatibles avec la bibliothèque OpenGL®. Cette acceptation généralisée d'un standard ouvert offre aux programmeurs un moyen d'accéder directement au matériel sur une grande variété de systèmes. L’accélération matérielle fournie lors de l’utilisation de 2D OpenGL® peut permettre à un programme de s’exécuter plus facilement qu’autrement. Cette vitesse est contrebalancée par le fait que l'utilisation du pipeline OpenGL® pour les graphiques peut être très différente de l'utilisation de méthodes de programmation 2D traditionnelles qui n'utilisent généralement pas un modèle de machine à états comme le fait OpenGL®.
La plupart des programmes 2D OpenGL® utilisent des rectangles plats réalisés dans les mêmes proportions qu’une image de texture pour représenter les graphiques. Cela présente l’avantage d’être très rapide à rendre, ainsi que de simplifier la programmation et d’utiliser une partie de la même logique que les graphiques en mémoire tampon en mode raster. Certains effets, tels que la mise à l'échelle d'une image, la rotation ou l'inversion d'une image, peuvent en réalité être réalisés beaucoup plus efficacement avec OpenGL®.
Certains facteurs peuvent rendre les programmes 2D OpenGL® plus complexes que d’autres programmes 2D. L'un de ces facteurs est la précision des pixels à l'écran. OpenGL® n'assimile pas une partie du système de coordonnées virtuel à un pixel sur un écran, contrairement aux graphiques raster. Il est donc parfois nécessaire d'utiliser des nombres à virgule flottante pour les coordonnées d'écran afin d'éviter des espaces dans l'affichage ou des placements de pixels étranges.
Un autre problème est que OpenGL® nécessite l'utilisation d'une carte graphique pour augmenter la vitesse de rendu. Si une application utilise OpenGL® pour l'affichage d'une interface ou d'une fenêtre système, les périphériques qui ne disposent pas d'une accélération graphique risquent de subir une perte de performance pour les graphiques pouvant sembler très élémentaires à l'utilisateur final. OpenGL ne fournit pas non plus de support natif pour l'affichage de texte, ce qui signifie que le fait d'afficher de grandes zones de texte peut nécessiter une bonne quantité de code personnalisé.