GLX

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
GLX et AIGLX versus direct rendering.

GLX (OpenGL Extension to the X Window System, en français « Extension OpenGL pour le serveur X ») fournit la connexion entre OpenGL et le serveur X : il permet aux programmes qui souhaitent utiliser OpenGL de le faire dans une fenêtre fournie par le serveur X.

GLX est constitué de trois parties :

  • Une API, laquelle fournit les fonctions OpenGL à une application tournant sur le serveur X ;
  • Une extension du protocole X, qui autorise le client (l'application OpenGL) à envoyer des commandes de rendu 3D au serveur X (l'application responsable de l'affichage), lequel pouvant éventuellement tourner sur un autre ordinateur ;
  • Une extension du serveur X qui reçoit les commandes de rendus du client et qui les envoie à la carte graphique (lorsque c'est possible), ou éventuellement utilise un rendu logiciel (généralement avec la bibliothèque Mesa, qui est beaucoup plus lente).

Dans le cas où l'application cliente et le serveur sont situés sur la même machine, et que cette dernière est équipée d'une carte graphique capable d'accélérer le rendu 3D, les deux derniers points peuvent être effectués par le DRI. Celui-ci permet au client d'accéder directement au matériel responsable de l'affichage sans passer par le serveur X, et de ce fait est plus rapide. Ce système reste totalement transparent du point de vue du développeur de l'application client.

La commande « glxinfo » permet d'obtenir des informations sur l'implémentation de GLX de la machine client et de la machine serveur, telles que les numéros de version, les extensions supportées et les modes d'affichage disponibles.

GLX a été créé par Silicon Graphics et la version actuelle est la 1.4. GLX, ainsi que le DRI et Mesa, font partie de X.Org — implémentation libre de X Window — depuis la version X11R6.7.0, et de XFree86 (autre implémentation libre) depuis la version 4.0.

Voir aussi[modifier | modifier le code]

Lien interne[modifier | modifier le code]

Liens externes[modifier | modifier le code]