Mesa (OpenGL)
Un article de Wikipédia, l'encyclopédie libre.
| Mesa 3D | |
| Développeur | Tungsten Graphics, Inc. (rachetée par VMware) |
|---|---|
| Dernière version | 7.4.2 (le 15 mai 2009) [+/-] |
| Environnements | Multiplate-forme |
| Type | Bibliothèque graphique |
| Licence | X11 |
| Site Web | www.mesa3d.org |
Mesa 3D est une bibliothèque graphique libre, initialement développée par Brian Paul en août 1993, qui fournit une implémentation générique d'OpenGL pour réaliser des rendus graphiques tridimensionnels en temps réel, et ce sur de multiples plates-formes. Bien que Mesa 3D ne soit pas une implémentation officielle d'OpenGL, structure, syntaxe et sémantique de son API sont celles d'OpenGL.
En juillet 2007, Mesa 3D est la seule implémentation d'OpenGL largement connue, complètement open source, et régulièrement mise à jour pour suivre les évolutions de la spécification OpenGL (c'est-à-dire de la version immédiatement précédente de GL mise par SGI dans le domaine public). Elle est largement utilisée, surtout par l'implémentation X.Org du système de fenêtrage X, qui l'utilise comme le cœur OpenGL pour les pilotes open-source DRI X.Org/OpenGL. X.Org fournit les fonctionnalités essentielles pour la plupart des applications graphiques qui fonctionnent sous les plates-formes de type Unix, comme GNU/Linux.
Une nouvelle version appelée Gallium3D, développée principalement par la société Tungsten Graphics (rachetée par VMware), devrait remplacer prochainement Mesa 3D telle qu'elle existe aujourd'hui. Elle simplifiera le développement des pilotes graphiques en proposant un niveau d'abstraction unique qui sera sollicité par les pilotes graphiques et qui pourra lui-même recourir à différents procédés d'accélération basés sur OpenGL 1.x/2.x mais aussi 3.x, OpenVG voire Direct3D (auquel Wine a recours) . D'une manière générale, elle permettra une meilleure exploitation des capacités des processeurs graphiques actuels. Elle fournira également un procédé de décodage vidéo universel[1]. Enfin, Gallium3D rend possible l'utilisation du processeur graphique (GPU) pour des tâches habituellement dévolues au processeur central (CPU) (on parle alors de General-Purpose computation on GPUs ou GPGPU).
Sommaire |
[modifier] Historique
Initialement, Mesa 3D réalisait tout le rendu des graphismes 3D au niveau du processeur central (CPU), mais l'architecture de Mesa 3D s'est ouverte pour implémenter le rendu en accélération matérielle au niveau du processeur graphique (GPU) afin de décharger le processeur central de cette tâche. Un des premiers pilotes à supporter l'accélération matérielle a été le pilote 3dfx pour l'API Glide pour les cartes graphiques très populaires Voodoo I/II et autres. Tout le rendu était fait de manière indirecte dans le serveur X ce qui n'était pas optimal en termes de vitesse de rendu.
Le Direct Rendering Infrastructure (DRI) a finalement succédé à l'ancienne architecture au sein de Mesa 3D en fournissant une interface de rendu 3D direct pour les applications OpenGL.
La version 7.4 permet aux matériels supportés (Intel pour le moment, ATI et NVidia sont en cours de portage) de tirer profit des évolutions du système graphique de Linux que sont le Graphics Execution Manager (GEM) et DRI2 ; la version 7.5, en cours de développement, intègre d'ores et déjà le code de Gallium3D[2] [3].
[modifier] Fonctionnalités
- Dans sa forme actuelle, Mesa 3D est disponible et peut être virtuellement compilée sur toutes les plates-formes modernes.
- Bien que n'étant pas une implémentation officielle d'OpenGL pour des raisons de licence, l'auteur de Mesa 3D a travaillé à garder l'API conforme avec les plus récents standards d'OpenGL et de ses tests de conformité, comme définis par l'OpenGL Architecture Review Board (ARB).
- Bien que Mesa 3D supporte l'accélération graphique de plusieurs cartes, elle peut aussi être compilée comme un moteur de rendu uniquement logiciel. Comme son code source est également disponible, il est possible d'en étudier le fonctionnement interne pour réaliser un rendu de type OpenGL.
- Il est parfois possible de trouver des bogues dans les applications OpenGL en liant l'application avec Mesa 3D et en utilisant un débogueur pour pister les problèmes au niveau des couches internes de la bibliothèque.
[modifier] Notes et références
- ↑ (en) "The State Of Gallium3D Video Decoding" par Michael Larabel, Phoronix, 14 septembre 2008
- ↑ (en) "Gallium3D To Enter Mainline Mesa Code" par Michael Larabel, Phoronix, 12 janvier 2009
- ↑ (en) "Gallium3D Now In Mainline Mesa Code-Base!" par Michael Larabel, Phoronix, 11 février 2009
[modifier] Voir aussi
[modifier] Liens externes
- (en) Site officiel de Mesa 3D
- (en) Gallium3D Site officiel

