IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Retro compatibilité entre les version OpenGL?


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Sans emploi
    Inscrit en
    Août 2019
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Sans emploi

    Informations forums :
    Inscription : Août 2019
    Messages : 73
    Par défaut Retro compatibilité entre les version OpenGL?
    Bonjour,

    J'aimerai savoir quel est la rétrocompatibilité avec OpenGL, je crois qu'on est à la version 4 actuellement. Mais si je voudrais rester compatible avec un maximum de matériel en profitant d'une certaine accélération 3D quelle version le permette? Par exemple ici j'ai une carte compatible avec la version 2.1. Est ce que les carte dernière génération pourrait faire tourner cette version? Et je peux aussi poser la question pour la version 1.2? Une carte 2.1 ou 4xx peut elle faire tourner cette première version?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Bon il faut dire que OpenGL4 date de quelque année , et elle a peu d’intérêt parce que la dernière version d'OpenGL , c'est Vulkan

    Techniquement la version conseillé d'OpenGL c'est la version 3.
    Les version 1 et 2 sont obsolète.
    Faire de l'OGL 1 c'est vraiment si tu vise des CG qui date de plus de 20 ans , mais ça veut dire que ton code doit aussi être pensé pour (et pas seulement du coté de OGL , mais pas de 64 bits , pas SSE4 ou AVX etc etc ) Pareil pour OGL 2 qui est vielle de plus de 12 ans.
    Mais il est probable que les CG vielle de 12 ans supporte la version 3 via des maj (via Mesa sous linux par exemple).

    OpenGL est rétrocompatible , d'où sa grande faiblesse (donc oui si tu as OpenGL 4 , tu peux avoir OpenGL 1,2,3)
    Pour cela qu’ils ont sorti Vulkan pour se débarrasser de la compatibilité d'OpenGL.

  3. #3
    Membre confirmé

    Homme Profil pro
    Sans emploi
    Inscrit en
    Août 2019
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Sans emploi

    Informations forums :
    Inscription : Août 2019
    Messages : 73
    Par défaut
    Merci de votre réponse bien que personnellement je ne vois pas en quoi c'est un plus de ne plus être rétrocompatible, justement au contraire je trouve que la rétrocompatibilité est un plus. Ici ma carte graphique ne permet pas d'utiliser Vulkan ni OpenGL 3 et plus par exemple. Oui c'est une vieille config mais toutes applications/jeux utilisant de la 3D n'ont pas les besoin dernier cris technologiques qu'ont peut retrouver dans les versions récentes de ces moteurs.

  4. #4
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    La rétrocompatibilité , c'est du sucre pour les dev , mais c'est un frein énorme pour le hardware.
    Je reprendrais les paroles d'un chercheur en informatique Alan Perlis "Adapter de vieux programmes à de nouvelles machines signifie habituellement adapter les nouvelles machines pour qu’elles se comportent comme les anciennes. "
    En gros , quand tu veux être rétrocompatible , tu tue toute innovation technologique (et c'est pas uniquement dans le cadre OpenGL/Vulkan).

    Pour OpenGL , je dev un lib multiplateforme (pour PS2, DC , GameCube etc etc) , je pourrais tout faire sur OpenGL , mais je tuerai les perf sur consoles au détriment sur PC , donc faut mieux faire plusieurs versions.
    ( OpenGL n'existe pas vraiment sur console OGL étant un standard ,tu peux le mettre partout , mais il est rarement adopté sur console , mais rien n’empêche de faire un portage).
    Et comme sur PC , si on vise l'ancien et le récent faudra viser forcément plusieurs versions (je propose des versions 32 et 64 bits, et je comptais proposer une version vulkan , si je trouve une API qui me facilite le boulot).
    J'ai deja vu des codes OGL1 ou 2 ramer sur du matos récent ( et cela ne m'étonne pas ).

    Pour ma part , c'est juste que le souci de OGL 1 et 2 , c'est que la plupart utilise des fonctions obsolète , tu peux faire de l'OGL1 et 2 sans utiliser GLU (glulookat et compagnie) , sans utiliser gltranslatef,glrotatef etc et sans utiliser glbegin etc etc
    Le double avantage ,c'est que du coup passer ce code sur du GL3 sera plus simple et secundo , ça sera bien plus rapide de gérer tout ceci à la mano.

  5. #5
    Membre confirmé

    Homme Profil pro
    Sans emploi
    Inscrit en
    Août 2019
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Sans emploi

    Informations forums :
    Inscription : Août 2019
    Messages : 73
    Par défaut
    Intéressant, oui j'imagine qu'utiliser une ancienne version d'OpenGL bride ses fonctionnalités par rapport aux versions plus récentes tel que Vulkan. Est ce que ça à cependant un réel impacte sur les performances? Par exemple utiliser la version d'un jeu en OpenGL 2 sur une carte graphique supportant l'OpenGL 4 si la même application profiterait de 2 versions en ce qui concerne OpenGL (2 et 4 par exemple) disponibles y aurait-il vraiment un impacte de performance notable? Va t-on y gagner en FPS?

    Vous parlez d'une librairie ici pour des consoles d'une génération passée, c'est un projet réel en cour ou à titre d'exemple? Ce sont de vieilles consoles ici. Je doute que des technologie comme Vulkan soit implémentable dessus sans certitude n'étant pas spécialisé la dedans. Pourquoi OpenGL irait moins bien sur Console que sur PC si il est implémenté sur la plateforme? Vulkan utilise je suppose des propriétés matériels qui n'existait pas à l'époque de ces consoles c'est pourquoi j'émets un doute sur une implantation de Vulkan sur celles ci, bien que c'est peut être faisable un peut comme Mesa le fait en passant par le processeur, du coup on utiliserai plus vraiment le GPU.

  6. #6
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Le matos lui ne s'emmerde pas ,il n'est plus vraiment compatible avec GL1 depuis bel lurette.
    Le souci c'est plus les drivers , et je pense que pas mal sont fait à la va vite donc oui il y'a forcément un bridage quelque part.
    Comme dit, j'avais souvent vu des messages ici (mais j'ai pu le constater sur l'ordi d'un ami) que des programmes fonctionnant avec du vieux OGL ramer.

    Pour les anciennes consoles c'est juste un exemple , ce que je voulais dire ,c'est que même OGL qui est vieux est penser que pour un matos particulier , des machines de la même époque sont incompatible avec cette lib (sinon oui c'est aussi un projet réel j'avais fait quelque screen) :
    https://raw.githubusercontent.com/Ka.../master/sc.jpg et
    https://raw.githubusercontent.com/Ka...master/sc3.png) )

    Les récentes (PS4/XBOX One et Switch , mais aussi les prochaines PS5/XSX) ,la question ne se pose pas MS propose DirectX (12) , et Sony propose une version modifié de Vulkan (qui s'appelle GNM) et la Switch supporte Vulkan.

Discussions similaires

  1. Compatibilité entre les versions ?
    Par zamoud dans le forum Zend Framework
    Réponses: 5
    Dernier message: 27/12/2011, 20h10
  2. compatibilité entre les version 2000-2003-2007
    Par lenobm dans le forum Access
    Réponses: 2
    Dernier message: 01/04/2009, 18h52
  3. Compatibilité entre les versions
    Par FloMo dans le forum Général Python
    Réponses: 7
    Dernier message: 30/04/2007, 15h45
  4. Compatibilité entre les versions de SQL SERVER
    Par HYQST dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/06/2006, 15h54
  5. [VS 2005 RTM][CF 2.0] Compatibilité entre les versions
    Par le-roy_a dans le forum Visual Studio
    Réponses: 3
    Dernier message: 09/11/2005, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo