Tutoriels

▷ Opengl: qu'est-ce que c'est et à quoi ça sert

Table des matières:

Anonim

Avez-vous déjà entendu parler d' OpenGL ? Elle est rapidement devenue la principale API graphique en temps réel de l'industrie car elle était fondamentalement la seule disponible sur plusieurs plates-formes. Aujourd'hui, nous vous proposons cet article dans lequel nous expliquons ce qu'est OpenGL et à quoi il sert.

Index du contenu

L'histoire

Dans les années 80, le développement de logiciels compatibles avec une large gamme de matériels liés au monde graphique était un véritable défi pour les développeurs. Il fallait gérer des interfaces très différentes et écrire des pilotes spécifiques pour chaque type de matériel, étant très coûteux, les équipes de programmeurs ont donc été externalisées pour accélérer le développement. Étant donné que chaque équipe a travaillé séparément sur leurs interfaces, beaucoup de code redondant a été produit. En 1992, SGI a dirigé la création de l' OpenGL Architecture Review Board (OpenGL ARB), un groupe d'entreprises qui maintiendrait et étendrait les spécifications au cours des années suivantes. OpenGL a évolué à partir d'IRIS GL, surmontant son problème de dépendance matérielle en offrant une émulation logicielle pour ces fonctionnalités non prises en charge. Ainsi, les applications pourraient utiliser des graphiques avancés sur des systèmes relativement faibles.

Pour comprendre ce qu'est OpenGL, nous devons d' abord savoir ce qu'est une API.

Comprendre OpenGL, qu'est-ce qu'une API?

Une API ou une interface de programmation d'application est un ensemble de codes qui peuvent être utilisés pour que diverses applications communiquent entre elles. C'est quelque chose qui effectue une tâche similaire à l'interface utilisateur en favorisant l' interaction entre la personne et le programme, uniquement, appliquée uniquement et exclusivement dans l'environnement logiciel. Il est utilisé pour connecter des codes ou des fonctions entre différentes plates-formes, afin que vous puissiez profiter des services d'un site Web sur un autre.

Qu'est-ce qu'OpenGL?

Il est principalement considéré comme une API qui nous fournit un grand ensemble de fonctions que nous pouvons utiliser pour manipuler des graphiques et des images 3D et 2D. Cependant, en soi, il ne s'agit pas simplement d'une API, mais d'une spécification, développée et maintenue par le groupe Khronos. Il est également utilisé pour le développement de jeux vidéo, où il est en concurrence avec Direct3D sur la plate-forme Microsoft.

Spécifie exactement ce que la sortie de chaque fonction doit être et comment elle doit fonctionner. Étant donné que la spécification OpenGL ne fournit pas de détails d'implémentation, les versions développées réelles peuvent avoir des implémentations différentes, tant que leurs résultats sont conformes à la spécification (et sont donc les mêmes pour l'utilisateur).

Les développeurs de bibliothèques OpenGL sont généralement les fabricants de cartes graphiques. Chaque GPU prend en charge des versions spécifiques de cette API, qui sont les versions OpenGL développées spécifiquement pour cette carte graphique. Par exemple, lorsqu'ils utilisent un système d'une entreprise comme Apple, ils gèrent la bibliothèque OpenGL et, sous Linux, il existe une combinaison de versions et d'adaptations de fournisseurs graphiques pour ces bibliothèques. Cela peut signifier que chaque fois qu'OpenGL affiche un comportement étrange qu'il ne devrait pas, c'est très probablement la faute des fabricants de cartes graphiques. Chaque fois qu'il y a une erreur dans l'implémentation, elle est généralement résolue en mettant à jour les pilotes de la carte graphique. Ces pilotes incluent les dernières versions prises en charge par votre GPU. Pour cette raison, il est toujours recommandé de mettre à jour les pilotes.

Objectifs OpenGL

Les principaux objectifs sont les suivants:

  • Réduisez la complexité de l'interface avec les différentes cartes graphiques , en présentant au programmeur une API unique et uniforme. Masquez les différentes capacités des différentes plates - formes matérielles , nécessitant que toutes les implémentations prennent en charge l'ensemble complet des fonctionnalités OpenGL (en utilisant l'émulation logicielle si nécessaire).

L' opération de base d'OpenGL consiste à accepter des actions primitives telles que des points, des lignes et des polygones, et à les convertir en pixels. Ce processus est effectué par un pipeline graphique appelé OpenGL State Machine. La plupart des commandes OpenGL émettent des opérations primitives pour la segmentation du graphe. Jusqu'à la sortie de la version 2.0, chaque étape de la segmentation était exécutée dans une fonction établie, entraînant peu de configurabilité. A partir de cette version, plusieurs étapes sont entièrement programmables à l'aide de GLSL.

Extensions

Une grande fonctionnalité très intéressante est son support d'extension. Chaque fois qu'une entreprise de GPU introduit une nouvelle technologie ou une nouvelle façon d'optimiser le rendu d'images 3D , c'est dans une extension implémentée dans les pilotes. Si le matériel sur lequel une application s'exécute prend en charge cette extension, le développeur peut utiliser les fonctionnalités fournies par l'extension pour obtenir des graphiques plus avancés ou plus efficaces. De cette façon, un développeur de jeux vidéo peut utiliser ces nouvelles techniques de rendu sans avoir à attendre qu'OpenGL inclue la fonctionnalité dans les futures versions, simplement en vérifiant si la carte graphique prend en charge l'extension. Souvent, lorsqu'une extension est populaire ou très utile, elle finit par faire partie des futures versions d'OpenGL.

NOUS VOUS RECOMMANDONS Mad Max lance le support de Vulkan dans sa nouvelle version bêta publique pour Linux

Évolution d'OpenGL

En mars 2015, l' API Vulkan a été introduite en tant que successeur d'OpenGL lors de la Game Developers Conference. Initialement connue sous le nom de «Next Generation OpenGL» ou «glNext», l'interface de programmation est open source et multiplateforme. La différence avec OpenGL est que plus d'attention est accordée au matériel pendant la programmation, ce qui augmente considérablement la puissance. Certains jeux PC prennent déjà en charge Vulkan, mais la plupart utilisent DirectX. Vulkan est également développé par le groupe Khronos.

Nous vous recommandons de lire les meilleures cartes graphiques du marché.

Jusqu'à présent, notre article sur OpenGL, j'espère que vous avez compris en quoi il consiste et plus encore. Quoi qu'il en soit, vous pouvez laisser des questions dans les commentaires.

Tutoriels

Le choix des éditeurs

Back to top button