Qu'est-ce que 2D OpenGL®?

L'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 des scènes tridimensionnelles (3D) rapidement et efficacement. En utilisant des techniques de programmation bidimensionnelles (2D) OpenGL®, l'accélération matérielle fournie par la bibliothèque peut améliorer les performances et, parfois, la facilité de logiciel de programmation qui n'utilise pas nécessairement des modèles ou des transformations 3D. La méthode la plus courante d'utilisation de 2D OpenGL® est de dessiner des quadrilatéraux, ou rectangles, qui sont texturés avec une image, créant efficacement un objet dans l'espace 3D à partir d'une image. Une fois établies, ces quadrilatères peuvent être manipulées, soit avec des méthodes 2D strictes, soit en étant transformés avec des matrices 3D pour des effets spéciaux qui autrement seraient difficiles à faire avec seulement des graphiques Raster 2D. Il y a des complications que l'utilisation d'une bibliothèque 3D apporte lors de l'utilisation uniquement pour les graphiques 2D, y compris l'hyper-précisionCela peut le rendre complexe pour isoler les emplacements à un seul pixel, ainsi que pour exiger une prise en charge matérielle 3D pour un programme qui pourrait ne pas vraiment en avoir besoin.

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 particuliers entièrement compatibles avec la bibliothèque OpenGL®. Cette acceptation généralisée d'une norme ouverte donne 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 fonctionner plus bien que ce qui serait possible. Cette vitesse est équilibré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 d'état comme OpenGL®.

La plupart des programmes 2D OpenGL® utilisent des rectangles plats fousE Dans les mêmes proportions qu'une image de texture pour représenter les graphiques. Cela a l'avantage d'être très rapide à rendre, ainsi que de simplifier la programmation afin qu'il utilise certaines des mêmes logiques que les graphiques tamponnés basés sur Raster. Certains effets, tels que la mise à l'échelle d'une image, la rotation d'une image ou l'inversion d'une image, peuvent en fait être effectués beaucoup plus efficacement en utilisant OpenGL®.

Il existe certains facteurs qui peuvent faire en sorte que les programmes 2D OpenGL® soient plus complexes que les autres programmes 2D pourraient normalement l'être. L'un de ces facteurs est la précision des pixels sur l'écran. OpenGL® n'assimile pas une partie du système de coordonnées virtuelles à un pixel sur un écran, comme le font les graphiques raster, donc les numéros de points flottants doivent parfois être utilisés pour les coordonnées d'écran pour éviter les lacunes dans l'affichage ou les étranges placements de pixels.

Un autre problème est qu'OpenGL® nécessite l'utilisation d'une carte graphique pour augmenter la vitesse de rendu. Si une application utilise OpenGL® pour l'affichage d'un intErface ou fenêtre système, les appareils qui n'ont pas d'accélération graphique pourraient subir une perte de performances pour les graphiques qui peuvent sembler très basiques à un utilisateur final. OpenGL ne fournit pas non plus de prise en charge native pour afficher du texte, ce qui signifie que l'affichage de grandes zones de texte pourrait nécessiter une bonne quantité de code personnalisé.

DANS D'AUTRES LANGUES