2 votes

DirectX et OpenGL

Nous pouvons exécuter DirectX en utilisant Wine et OpenGL nativement. Donc les questions sont :

  • Quelle est la version exacte de OpenGL équivalent à DirectX (ex. 11, 12 etc.) peut-on comparer comme ça ?

3voto

Wolfer Points 2044

Bien.

"Nous savons déjà que le support d'Ubuntu DirectX en utilisant Wine et OpenGL nativement."
Cette déclaration est donc c'est faux à bien des égards. Est-ce que tu comprends au moins ce que DirectX est ?

En termes simples, DirectX est une collection de bibliothèques (*.dlls principalement), qui servent à permettre à un développeur d'accéder facilement aux systèmes graphiques, réseau et audio de bas niveau de Windows (peut-être d'autres aussi, je n'ai jamais beaucoup développé avec dx).

DirectX est essentiellement quelque chose qui permet une couche de commodité afin que vous puissiez faire des choses comme "charger et appliquer une texture" au lieu de devoir lire chaque octet de valeur de couleur de votre jpg/png/quelque chose et de les dessiner entre 3 points ou plus sur l'écran sur la base d'une certaine "logique géométrique" parce que cela compliquerait considérablement la tâche de développement d'applications multimédia.

Cela signifie qu'Ubuntu ne supporte pas DirectX de quelque manière que ce soit. D'ailleurs, rien ne prend en charge DirectX en dehors de Windows (et peut-être de l'iPhone). ReactOS mais je ne l'ai jamais testé).

Mais je peux courir <insert whatever game here> sur Wine !
Oui. Oui vous pouvez mais cela ne veut pas dire que Ubuntu soutient votre jeu. Cela signifie que Wine fait.

Wine est une "couche de compatibilité" pour les choses de Windows. Il convertit et résout essentiellement les appels de manière récursive afin qu'à la fin, une autre bibliothèque fasse quelque chose de similaire à ce que l'appel original aurait fait. Cela nécessite naturellement une compréhension complexe de ce que l'appel original aurait fait sur le système original (Windows), d'où certaines choses ne sont développées que lentement, voire pas du tout dans Wine (comme le support de DX11, ou le supposé pilote Pulse).

Ce qui précède devrait donc répondre à votre troisième question, mais en gros :
"Oui, nous le faisons et il est Wine."

A partir de là, vous pouvez voir que votre premièrement La question n'a pas de sens puisque DX a l'intention de se concentrer sur bien d'autres choses qu'OpenGL.

Quant à la deuxième question :
Si nous ne considérons que la partie graphique de DX, je trouve qu'OpenGL est un peu plus détaillé (peut-être même un peu alambiqué), mais c'est comme ça.

1voto

Priyansh Points 891

Les graphiques sur Linux sont presque exclusivement implémentés en utilisant le système X Windows. La prise en charge d'OpenGL sur Linux implique l'utilisation d'extensions GLX au serveur X. Cela dépend donc du GPU que vous utilisez.

Il est soutenu par -

  1. AMD/ATI
  2. Intel
  3. Nvidia
  4. S3 Graphics
  5. Nvidia HOWTO (ancien).

La dernière version d'OpenGL est OpenGL 4.5 . Pour vérifier votre compatibilité ou pour plus d'informations, vous pouvez vous référer à ce lien : -.

Spécificités de la plate-forme : Linux

Si OpenGL est installé sur votre ordinateur, vous pouvez obtenir des informations sur la version que vous utilisez en tapant cette commande dans le terminal.

glxinfo | grep "OpenGL version"

Comparez les deux API

Je ne connais pas bien DirectX, mais je peux vous dire que l'utilisation d'OpenGL présente des avantages

  1. Bien que Microsoft ait travaillé dur sur DirectX 10 et 11 (dernière version), et qu'ils soient maintenant aussi rapides qu'OpenGL, et qu'ils supportent presque autant de fonctionnalités qu'ils le pourraient, OpenGL a des appels de dessin plus rapides que DirectX selon ce lien et il a le premier accès aux nouvelles fonctionnalités du GPU via extensions des fournisseurs .
  2. Comme OpenGL est une application multiplateforme, elle fonctionne efficacement sur Mac, Linux et Windows.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X