• # question succincte, réponse du même acabit

    Posté par  . Évalué à 2.

    voila est ce que openGL est un wrapper de la libX ?

    non.

    et donc openGL permet de simplifier la création d'affichage graphique pour l'utilisateur ?

    ça dépend.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: question succincte, réponse du même acabit

      Posté par  . Évalué à 1.

      mais openGl utilise la libX pour communiquer avec le serveur X ?

      • [^] # Re: question succincte, réponse du même acabit

        Posté par  . Évalué à 2.

        Avant tout: je ne suis pas expert sur le sujet, je n'ai fait que creuser la surface, peut-être pas avec des docs a jour, et c'était il y a quelques années.

        mais openGl utilise la libX pour communiquer avec le serveur X ?

        OpenGL est un standard relativement générique. Son implémentation libre sous linux, nommée mesa, est, elle très liée à X11 si ma mémoire est bonne.

        Il s'agit d'une API de bas niveau (sur ça, mon point de vue diffère de celui de moi1392 plus bas), puisque la seule chose que sait gérer OpenGL à ma connaissance, sont des polygones convexes, donc les logiciels qui génèrent du code OpenGL doivent implémenter une étape dite de tesselation, que ce soit par l'implémentation d'un shader ou autre méthode. Ou, bien entendu, ne pas utiliser de polygones convexes.

        Le lien avec X11 se résume au fait de devoir partager un buffer commun, X11 étant initialement conçu pour du rendu logiciel au travers d'un réseau, tandis qu'opengl vise la performance avec toutes les parties du rendu sur la même machine.

        Mon explication est a prendre avec des pincettes, par contre: ça fait longtemps que j'ai étudié ça, et j'ai pas étudié a l'école, mais par moi-même, en creusant le net, ce qui implique des informations erronées, obsolètes ou incomplètes.

  • # API graphique 3D

    Posté par  . Évalué à 3.

    OpenGL est une API de bas niveau qui permet et facilite l'acces aux capacités graphiques des cartes pour faire du rendu 3D.

    du coup coté 3D, c'est plutôt une API de haut niveau, car elle facilite et uniformise les différences entre les différentes cartes et constructeur en fournissant une API indépendente de ton materiel en plus de quelques outils usuel en algorithmes 3D.

    l'implémentation d'OpenGL pour un système linux utilisant un serveur X possède en effet un connecteur à la libX (glx en l'occurence) mais il est surtout utilisé pour les taches périphériques (création de context de rendu, …) en mode indirect rendering, ce qui permet de faire de la 3D avec un affichage dépporté.
    La plupars des pilotes 3D fournissent une implementation de glx et de la libGL qui permet un acces direct à la carte, si le contexte de rendu est local, une fois les présentations avec X faites correctement.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.