Pour résumer, Gallium3D est une API de type middleware qui se situe directement au dessus du matériel et vise à en exposer les fonctionnalités de manière générique aux API orientées application comme OpenGL et Direct3D (D3D). Contrairement à Mesa 3D, dont il se veut le remplaçant, Gallium 3D n'utilise pas de backend spécifique à chaque matériel, mais délègue toute la partie dépendante du matériel à l'infrastructure DRI2 du kernel. L'ensemble forme ainsi une pile graphique plus cohérente et mieux segmentée, ce qui réduit la duplication de code/fonctionnalités et améliore les performances générales.
À l'heure actuelle, peu de pilotes supportent cette API. Parmi ceux la supportant, on retrouve principalement des pilotes libres pour Nvidia et ATI : Nouveau et les pilotes Radeon R300-R600. Les pilotes libres pour Intel ne l'implémentent pour l'instant que de manière partielle.
Dans une pile basée sur Gallium 3D, toutes les API applicatives se retrouvent à égalité vis à vis du matériel. Ainsi, OpenGL devient, pour une application, une des façons possibles d'exploiter la carte graphique.
C'est dans ce contexte que Luca Barbieri a décidé d'implémenter l'API Direct3D, version 10/11, directement au-dessus de Gallium 3D. Suite à son premier commit (12 septembre 2010), une discussion s'est ouverte sur liste mesa-dev. Direct3D devient ainsi une API graphique native sous Linux (ou tout système disposant de Gallium3D). L'avantage est double : la première utilisation qui vienne à l'esprit est bien entendu Wine. Pour rappel, Wine implémente actuellement une partie de Direct3D au-dessus d'OpenGL, c'est à dire que chaque appel à une fonction D3D est traduit en l'équivalent OpenGL, ce qui dans certains cas relève plus de l'émulation que de la traduction. Cette étape d'émulation pourra être éliminée. Ceci devrait largement améliorer les performances de Wine coté jeux. Le second avantage de la disponibilité de D3D sous Linux concerne évidement le portage des jeux en natif sur notre système préféré qui en sera grandement facilité.
Enfin, Direct3D est, selon le développeur, largement supérieur à OpenGL : "Thanks to a very clean and well-though design done from scratch, the Direct3D 10/11 APIs are vastly better than OpenGL and can be supported with orders of magnitude less code and development time, as you can see by comparing the lines of code of this commit and those in the existing Mesa OpenGL implementation." (extrait du changelog de son 1er commit). Il annonce de meilleures performances et une stabilité accrue pour les futures applications basées sur son implémentation de D3D grâce aux qualités intrinsèques de ce dernier.
NdM : Cette annonce est une très bonne nouvelle pour le jeu sous Linux, une très bonne application pratique de Gallium3D, mais reste à voir si dépendre de Microsoft ne va pas poser problème...
Aller plus loin
- Article sur Phoronix (17 clics)
# Portage de jeux Direct3D ?
Posté par Ph Husson (site web personnel) . Évalué à 3.
Après, ça n'en reste pas moins une très belle initiative, et les résultats sur wine pourraient être très intéressants.
[^] # Re: Portage de jeux Direct3D ?
Posté par Jux (site web personnel) . Évalué à 5.
Bon déjà, si le code du moteur du jeu est pas complètement dégueulasse et que y'a un minimum d'abstraction, c'est pas un travail énorme de développer un backend OpenGL en parallèle au backend Direct3D.
D'ailleurs, beaucoup de moteurs font ça (tous les jeux Blizzard qui tourne sur mac, les jeux Valve qui tournent sur mac, les jeux ID Software).
En plus, avec la percée des platformes mobiles (Android, iPad/iPhone) qui utilisent OpenGL ES, les développeurs de jeux vidéos semblent être tout à fait capable de porter leurs jeux. Les Sims existe sur iPhone, Epic Games a sortit une démo technologique de leur moteur sur iPhone, ID Software a sortit Rage.
Je crois franchement que les gros développeurs de jeu n'en ont franchement rien à carrer des 1% de part de marché de Linux. Et puis bon, comme le linuxien moyen est assez bidouilleur, ceux qui veulent jouer sous Linux s'en sortent avec Wine.
C'est assez triste comme situation, mais on peut se tourner vers les éditeurs indépendants (s2games, humble indie bundle, etc..) et les quelques gros qui prennent la peine d'écrire des jeux portables.
[^] # Re: Portage de jeux Direct3D ?
Posté par Strash . Évalué à 6.
Justement, ça sera toujours mieux pour les joueurs sous Linux si Wine utilise une implémentation native de Direct3D à la place de ce qu'ils ont actuellement.
[^] # Re: Portage de jeux Direct3D ?
Posté par Maxime Buffa . Évalué à 1.
[^] # Re: Portage de jeux Direct3D ?
Posté par Prae . Évalué à 2.
[^] # Re: Portage de jeux Direct3D ?
Posté par Victor STINNER (site web personnel) . Évalué à 1.
Extrait de la dépêche :
Pour rappel, Wine implémente actuellement une partie de Direct3D au-dessus d'OpenGL, c'est à dire que chaque appel à une fonction D3D est traduit en l'équivalent OpenGL, ce qui dans certains cas relève plus de l'émulation que de la traduction.
[^] # Re: Portage de jeux Direct3D ?
Posté par Prae . Évalué à 1.
Maintenant, Quid de savoir si les mecs de Wine ont envie de virer le code Direct3D et laisser un projet externe géré cela ...
[^] # Re: Portage de jeux Direct3D ?
Posté par imr . Évalué à 3.
Donc quelques cas exceptionnels qui font attention à la portabilité et à coder proprement. Je pense que la donne a changé avec les consoles de dernière génération et les mobiles, mais avant ça, la portabilité et coder proprement, ce n'était pas une priorité.
Parmi ces cas exceptionnels, tu as celui de valve qui s'est bien retrouvé dans la merde avec le premier half life quand ils ont essayé de le porter et abandonné à 95% du port quand ils se sont rendus compte que les solutions réseaux qu'ils avaient choisi rendraient leur port mac incompatible en réseau avec les pcs (du "direct play" inside j'imagine).
Dans les cas que tu cites ensuite, tu as les jeux EA qui à ma connaissance licencient la techno de cedega portée sur mac pour faire porter leurs jeux. Donc même s'ils n'en ont rien à foutre de linux, il y a des passerelles qui font que les améliorations des uns peuvent se retrouver à aider les autres.
C'est assez triste comme situation, mais on peut se tourner vers les éditeurs indépendants (s2games, humble indie bundle, etc..) et les quelques gros qui prennent la peine d'écrire des jeux portables.
C'est vrai, mais si on veut être honnête jusqu'au bout, on peut se tourner vers les indé parce qu'ils ne poussent pas les moteurs graphiques dans leurs retranchements.
[^] # Re: Portage de jeux Direct3D ?
Posté par Prae . Évalué à 4.
Surtout qu'à l'époque on développait spécialement pour l'architecture et donc on optimisait à mort.
Rien que pour les consoles, genre Megadrive ou SuperNes, il fallait exploiter à mort le chipset hardware sinon on était à l'ouest par rapport à son concurrent.
Maintenant, les développeurs s'en foutent un peu plus (je dis pas totalement, il en reste qui veulent faire sortir les tripes de la console). Je me demande si c'est pas le syndrome de "j'ai de la place, je peux en foutre partout": Plus de RAM: on optimise plus la mémoire bouffée par le jeu; Plus de CPU: on essaye pas de trouver des subtiles hacks pour gagner quelques cycles...
Bref, on s'fait vieux...
[^] # Re: Portage de jeux Direct3D ?
Posté par imr . Évalué à 6.
Je pense que ça prend du temps pour en arriver là. Les premiers jeux des consoles sont toujours à chier, techniquement, par rapport à ce qui se fait quelques années après. Je pense pas que ça ait changé, je pense même que c'est pire parce qu'ils mettent encore plus de temps à maitriser les bases du matos. Les meilleurs jeux sness sont arrivés en fin de vie de la console pour lui donner un nouveau souffle.
Ce qu'il faudrait voir c'est combien de temps il faut à un développeur pour maitriser le matos actuel jusqu'au bout.
Ce qui peut avoir changé la donne, c'est la durée de vie des consoles en tant que produit; s'ils mettent sur pied une nouvelle génération de console pour des raisons de guerre commerciale, on ne sera jamais arrivé au point où des gars auront eu simplement le temps matériel de maitriser tout le matos.
Un autre point qui a changé la donne, c'est la durée de vie des consoles tout cours, microsoft a donné le ton avec ses xbox qui ont une durée de vie pitoyable, mais sony semble avoir suivi, les échos autour de moi c'est beaucoup de ps3 qui meurent au bout de quelques années. Donc combien de consoles il restera dans quelques années qui justifieront à des dév de continuer à travailler sur ce matos?
On est dans le pire des pire attitudes consuméristes, alors que, dans l'temps, une console durait toute la vie, moi, j'vous l'dit.
Sinon, question PC, c'est un peu l'inverse, la plupart des boites suivent la technique et développent en incorporant les dernières capacités de la mort, mais ça ne veut pas dire qu'ils maitrisent le matos un jour, ni même qu'ils le pourraient le faire vu la guerre des boites de composants, il faudrait qu'il développe plusieurs fois, pour chaque marque de matos, et ensuite spécifiquement pour des générations de périfs.
C'est pas trop possible, bien qu'ils le fassent un peu avec les différentes configurations possibles dans les jeux.
Par contre, c'est le design de gameplay et la durée de vie des jeux qui est passée à la trappe en faveur des graphismes, à part chez justement quelques boites comme blizzard ou valve, et chez les indés.
C'est plus ce que c'était, mon jeune ami.
[^] # Re: Portage de jeux Direct3D ?
Posté par campagnard . Évalué à 2.
Ce qui peut avoir changé la donne, c'est la durée de vie des consoles en tant que produit; s'ils mettent sur pied une nouvelle génération de console pour des raisons de guerre commerciale, on ne sera jamais arrivé au point où des gars auront eu simplement le temps matériel de maitriser tout le matos."
Il me semble justement que cela s'améliore. Je ne retrouve plus les sources ni les chiffres exacts, mais il me semble qu'a la sortie de la PS3 Sony avait annoncé une durée de vie de l'ordre de la dizaine d'années, ce qui devrait tout de meme laisser le temps aux developpeurs de maitriser le hardware.
"Un autre point qui a changé la donne, c'est la durée de vie des consoles tout cours, microsoft a donné le ton avec ses xbox qui ont une durée de vie pitoyable, mais sony semble avoir suivi, les échos autour de moi c'est beaucoup de ps3 qui meurent au bout de quelques années."
Etant donné que les consoles sont vendues à pertes, les constructeurs ont au contraire interet à faire en sorte qu'elles durent plus longtemps avant de tomber en panne.
"On est dans le pire des pire attitudes consuméristes, alors que, dans l'temps, une console durait toute la vie, moi, j'vous l'dit."
Certes, ma NES (Famicom) que j'ai eu à l'anniversaire de mes 8 ans fonctionne toujours 20 ans après (un peu capricieuse sur l'avalage de cartouches quand meme). Cela dit, sur les 15 dernières années, elle a du passer 14 ans et 10 mois au grenier...
[^] # Re: Portage de jeux Direct3D ?
Posté par tiot (site web personnel) . Évalué à 2.
1986 nes
1992 super nintendo
1997 nintendo 64
2002 gamecube
2006 wii
1987 master system
1990 megadrive
1995 saturn
1999 dreamcast
1995 playstation
2000 playstation 2
2007 playstation 3
2002 xbox
2005 xbox360
J'ai pris en compte les sortis européennes (pour certaines machines c'est 2 ans après le Japon). En gros il y a eu maximum 6 ans entre 2 générations de console salon grand public. La wii a 4 ans, la PS3 4 ans et la xbox360 5 ans. On est tout à fait dans la moyenne.
[^] # Re: Portage de jeux Direct3D ?
Posté par Guy . Évalué à 1.
[^] # Re: Portage de jeux Direct3D ?
Posté par Julien Gouesse (site web personnel) . Évalué à 1.
# Direct3d libre ?
Posté par n05f3ra1u . Évalué à -10.
Pour ma part je n'utiliserai Gallium qu'avec OpenGL.
Avec l'utilisation du DRI du noyau les performance seront probablement intéressante.
Je salue cependant la possibilité de faire tourner Direct3D au dessus de Gallium qui est une belle prouesse.
[^] # Re: Direct3d libre ?
Posté par Pierre Bourdon . Évalué à 10.
C'est comme si je disais que la libc est propriétaire car il en existe des implémentations propriétaires.
[^] # Re: Direct3d libre ?
Posté par Albert_ . Évalué à 9.
[^] # Re: Direct3d libre ?
Posté par n05f3ra1u . Évalué à -2.
Donc oui je redis propriétaire en tout cas pour l'instant.
Pour ce qui est de wine je ne suis pas sur que Microsoft les poursuivent mais ils pourraient.
OpenGL est une solution bien plus libre dans les version inférieures à 3.
# Quand même bizarre...
Posté par Tonton Th (Mastodon) . Évalué à 10.
Oups, j'avais pas vu, je viens de marcher dans un troll phoronix ;)
[^] # Re: Quand même bizarre...
Posté par Julien Gouesse (site web personnel) . Évalué à 2.
# D3D is dead.
Posté par case42 (site web personnel) . Évalué à 10.
Mais surtout, pourquoi contribuer a faire survivre une API qui est deja game over ?
Microsoft a perdu la guerre de la 3D sur les mobiles : victoire par KO d'OpenGL ES
Microsoft a perdu la guerre de la 3D dans le browser : victoire par KO de WebGL
D3D ne survit plus que par son inertie, alors ne commençons pas a l'aider. Arrangeons-nous plutôt pour que ceux qui développent déjà en OpenGL aient de grosses incitations a porter sous Linux (WOW, Steam, c'est a vous que je pense...)
[^] # Re: D3D is dead.
Posté par bubar🦥 (Mastodon) . Évalué à 5.
juste un lien comme ça ;)
[^] # Re: D3D is dead.
Posté par barmic . Évalué à 6.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: D3D is dead.
Posté par Maclag . Évalué à 7.
Si on ne veut pas être à la traîne demain, il faut arrêter de tout décider suivant ce qu'on a aujourd'hui.
Le pompon serait que MS sorte une implémentation OpenGL ultra-performante pour son prochain Windows pendant que la communauté Linux rame pour terminer son Direct3D que plus personne n'utilisera d'ici là...
[^] # Re: D3D is dead.
Posté par Psychofox (Mastodon) . Évalué à 3.
Et si l'on fait les parts de marchés entre les différentes consoles, en 2009 c'était environ ça :
intendo Wii (45,37M de consoles) : 50%
Microsoft Xbox 360 (27,24M) : 30%
Sony PlayStation 3 (19,27M) : 20%
Consoles portatives -
Nintendo DS (96,69M) : 70%
Sony PSP (42,86M) : 30%
J'imagine sans être sûr que tout ce qui est nintendo ou sony utilise opengl et que les jeux xbox utilisent direct3d. Certe je n'en suis pas sur mais ça devient tout de suite plus maigrelet comme parts de marchés.
[^] # Re: D3D is dead.
Posté par _seb_ . Évalué à 3.
On retrouve pas mal de fonctionnalité d'OpenGL, certaines sont conforment, d'autres non et enfin d'autre sont cruellement manquantes.
Les plate-formes Nintendos sont donc assez spécifiques alors que la Xbox ressemble beaucoup plus à un PC traditionnel.
[^] # Re: D3D is dead.
Posté par tiot (site web personnel) . Évalué à 10.
Oui c'est pour cela que world of warcraft va bientôt couler faut de joueurs et que Starcraft II s'est vendu qu'à quelques millions d'exemplaires.
Les joueurs ne vont pas du PC vers l'iphone, ce n'est pas du tout le même type de jeux. Les joueurs vont du PC vers les consoles (PS3/xbox360), surtout depuis que les FPS sont jouables sur ces plateformes. Les seuls jeux qui restes sur PC sont les jeux utilisant massivement la souris ou le clavier (souris pour les jeux de stratégie, clavier pour les meuporgs).
Les plateformes mobiles gagnent eux les nouveaux entrants, ceux qui ne jouaient pas aux jeux vidéos ou très occasionnellement. D'ailleurs les téléphones ne sont pas des vrais plateforme de jeu vu qu'ils ont autant d'autonomie que la vénérable game gear.
[^] # Re: D3D is dead.
Posté par barmic . Évalué à 3.
Franchement dans mon entourage casser la barrière Directe3D, pourrait permettre de supprimer un certains nombre de dualboot Windows/Linux.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: D3D is dead.
Posté par Julien Gouesse (site web personnel) . Évalué à 2.
[^] # Re: D3D is dead.
Posté par Maxime Buffa . Évalué à 5.
Rien ne vaut un clavier et une souris pour jouer à un FPS.
[^] # Re: D3D is dead.
Posté par neerd . Évalué à 3.
Pour moi viser à la souris est largement plus adapté qu'avec un stick.
[^] # Re: D3D is dead.
Posté par Maxime Buffa . Évalué à 1.
D'ailleurs, les pads consoles sont tellement merdiques pour du FPS que les joueurs finissent par se retrouver avec des jeux solos où les ennemis ne tirent plus sur le joueur ou font exprès de le rater.
Exemple:
http://nofrag.com/2010/nov/04/36124/
Le type qui met 5s à viser un ennemi cinq mètres devant lui... magnifiques :')
[^] # Re: D3D is dead.
Posté par tiot (site web personnel) . Évalué à 3.
Après le seul FPS que j'ai joué sur console c'est Metroïd prime sur wii. Et c'est vraiment un très bon jeu où les ennemies ne font pas semblant de te tirer dessus.
[^] # Re: D3D is dead.
Posté par Sufflope (site web personnel) . Évalué à 3.
[^] # Re: D3D is dead.
Posté par Jux (site web personnel) . Évalué à 5.
La souris a l'énorme avantage d'être très reposante pour les muscles (un peu moins pour les tendons mais c'est une autre histoire). Ca ne demande quasiment aucun effort et ça permet de faire des mouvements très petits et maîtrisés.
Après, on peut utiliser intelligemment la wiimote pour immerger le joueur. Si tu t'y crois et que tu tiens ta wiimote comme un pistolet devant ta télé, ça peut être super niveau immersion. En tout cas mieux qu'avec wasd et une souris :)
Donc à mon avis, on ne verra jamais un joueur de Quake 3 au pad/wiimote battre un joueur PC.
[^] # Re: D3D is dead.
Posté par yellowiscool . Évalué à 4.
C'est plutôt précis quand même. Tu peux pas viser au pixel près, mais c'est plutôt réactif.
Envoyé depuis mon lapin.
[^] # Re: D3D is dead.
Posté par vincent_k (site web personnel) . Évalué à 4.
Pour avoir jouer à COD4 (un FPS représentatif), sur PC et sur console, les différences sont pas si marqués que ça, en vrac :
- Ton pc doit être une machine de guerre pour jouer correctement (ça n'as rien à voir sur une TV de 107cm)
- Les touches tombent plus naturellement sous la main avec une manette (surtout sur la PS3) que sur un clavier/souris
- Il faut plus de temps pour viser juste avec une manette, c'est problématique pour les missions spéciales chronométrer, pas tellement lorsqu'on joue à plusieurs, c'est moins rapide que sur PC et je préfère
- Sur PC on peut faire des LANs sauf quand ça utilise STEAM ou équivalent :p
Bref, je peux comprendre les gens qui jouent sur console à des FPS :p
[^] # Re: D3D is dead.
Posté par Maxime Buffa . Évalué à 2.
Ah ah, je joue à Battlefield Bad Company 2 avec une config qui a plus de deux ans (Q9300, une 4850...). Le tout tourne à 60 fps stable sur un 24" (61cm) et ça reste beau.
> - Les touches tombent plus naturellement sous la main avec une manette (surtout sur la PS3) que sur un clavier/souris
Les manettes ont tellement peu de contrôles que les développeurs sont obligés de bind plusieurs actions sur une touche en espérant qu'elles ne seront pas sollicitées en même temps.
C'est grâce à ça qu'on se retrouve avec une même touche pour ramasser un pack et désamorcer sur BFBC2, c'est très très chiant.
> - Il faut plus de temps pour viser juste avec une manette, c'est problématique pour les missions spéciales chronométrer, pas tellement lorsqu'on joue à plusieurs, c'est moins rapide que sur PC et je préfère
Pas grand chose à redire là-dessus par contre (même si toutes les fragmovies consoles sur cod7 que j'ai vu montrait des manchots qui vidaient leur chargeur dans le sol mais passons).
> - Sur PC on peut faire des LANs sauf quand ça utilise STEAM ou équivalent :p
Quand le type qui héberge a une connexion "ADSL2+ ready" ça pose pas vraiment de problèmes. Dans le pire des cas, à toi de jouer à des jeux qui n'utilisent pas Steam.
# fait ??
Posté par Nico C. . Évalué à 4.
L'implementation est deja finie ou j'ai mal compris ?? Oo
[^] # Re: fait ??
Posté par Victor STINNER (site web personnel) . Évalué à 3.
# Anciens jeux Windows
Posté par MrKili . Évalué à 1.
La solution Wine ne fonctionnant pas très bien pour les jeux.
Est-ce que ce portage couplé à Wine permettrait enfin de faire tourner d'anciens jeux Windows ?
[^] # Re: Anciens jeux Windows
Posté par gentildemon . Évalué à 1.
L'idée est d'implémenter Direct3D 10 ou 11, donc ça dépend ce que tu entends par vieux, mais tous les jeux qui utilisent les version 7, 8 ou 9, tu oublies! (Il me semble que Direct3D est apparu aux alentours de directx 7)
# suite
Posté par dufour olivier . Évalué à 5.
Pour faire cours, gallium ne supporte pas tout les matériel et c'est loin d'ètre le cas et d'autre part, ce state tracker n'est pas multi os.
D'autre part, il y a enormément de boulot pour faire le lien entre wine et cette api. Il manque aussi :
le compilo HLSL , D3DX et les effects.
Bref, c'est pas demain la veille que l'on vera cela en place.
lien:http://www.phoronix.com/scan.php?page=news_item&px=ODYzM(...)
pour ceux qui dise que ca sert a rien de copier:
Pourquoi réinventer la roue quand une idée est bonne et bien faite...?
linux c'est pas une "copie" d'unix qui est maintenant mieux réalisé...
L'important n'est pas d'être le premier à mettre en oeuvre mais le dernier en place.;)
on passe son temps a réinventé/copié pour améliorer, c'est pour cela qu'il y a autant de langage de programmation (qui se resemble d'ailleurs)
[^] # Re: suite
Posté par Spyhawk . Évalué à 1.
Syndrome NIH : http://fr.wikipedia.org/wiki/Not_Invented_Here
# Jeux sous Linux ? Et les protections anti-copie ?
Posté par Olivier (site web personnel) . Évalué à 4.
Déjà que sous Windows il existe toutes sortes de mécanismes de contournement des ces protections, sans même parler de patch/crack sur les binaires des jeux, les éditeurs de jeux risquent de voir dans les interfaces open-sources de Linux, un moyen supplémentaire de contourner leurs protection.
Bref, même si Linux propose un mécanisme natif pour Direct3D, le fait que les mécanismes anti-copie des jeux peuvent être potentiellement plus "fragiles" sous Linux, risque fort de ne pas être suffisant pour attirer les éditeurs de jeux proprios sous Linux.
# DirectX ne se limite pas à Direct3D
Posté par Olivier (site web personnel) . Évalué à 4.
Même si Linux pourrait avoir une implémentation efficace de Direct3D, il n'en reste pas moins que les autres aspects de DirectX ne sont pas encore implémentés, et que cela représente sans doute pas mal de boulot.
Or, leur absence empêchera, vraisemblablement, le jeu de fonctionner correctement.
A moins d'utiliser ce qui existe déjà dans Wine ?
# Direct3D supérieur à OpenGL ?!
Posté par Prae . Évalué à 3.
Houla, il parle de quel partie de Direct3D ?
Si c'est pour "les fonctions qui font tout sans avoir a se faire chier", oui effectivement, Direct3D est plus playskool que OpenGL.
En terme de perf, je suis vraiment pas sûr;
Carmack s'était déjà essayé à ce type de comparatif et avait déjà eu la conclusion que Direct3D s'était beaucoup amélioré depuis ces dernières années mais restait toujours en dessous des perfs d'OpenGL.
[^] # Re: Direct3D supérieur à OpenGL ?!
Posté par Shuba . Évalué à 7.
Du coup, c'est facile de dire que le design est bien plus clean dans Direct3D... Mais si on regarde bien, OpenGL3.0 apporte un design très différent de 2.0, et c'est encore accentué dans OpenGL 4.0.
Pour ce qui est des perfs, je crois bien que NVIDIA développe ses cartes en ayant OpenGL en tête, et influence le design d'OpenGL pour ses cartes, donc ça devrait pas faire pencher la balance en faveur de D3D.
[^] # Re: Direct3D supérieur à OpenGL ?!
Posté par Prae . Évalué à 2.
Surtout qu'Apple pousse à fond sur OpenGL-ES et OpenCL
[^] # Re: Direct3D supérieur à OpenGL ?!
Posté par Littleboy . Évalué à 2.
- Pour Sony, tres peu de devs utilisent la lib tout pourrie fournie par Sony (PSGL, qui ressemble a OpenGL, mais idem, c'est pas une implementation complete) et utilisent generalement une API differente (libgcm).
- Pour la WII, ca ressemble a de l'OpenGL, mais en fait c'est different en dessous (GX)
- Pour Sega, ca fait longtemps qu'ils font plus de hard, donc on s'en tape un peu. Et la Dreamcast, ca tournait sous Windows CE avec une version custom de DirectX, pas de chance :P
En bref, c'est inspire d'OpenGL, mais c'est pas la meme chose. Et donc ca n'aide en rien la portabilite. Et comme ils ont chacun leur API custom plutot que du pur OpenGL, ca detruit un peu l'argument.
Reste Apple et vu les perfs 3D pour les jeux avec leurs pilotes merdiques de chez merdique, on va se contenter de doucement rigoler... Ils utilisent bien OpenGL et investissent pas mal dessus, mais c'est certainement pas pour une soit-disant meilleure performance par rapport a des API concurrentes.
Au final, quelque soit la lib utilisee, tu peux toujours arriver a exploiter a fond le matos en dessous. La question, c'est combien de temps et d'effort ca prend. Et pour ca, malheureusement, OpenGL est pas encore au niveau (et c'est pas la leeeeente evolution de l'API qui est la pour rassurer). Et pour ceux qui mettent en avant les versions 3 et 4, z'avez vu passer des pilotes OpenGL 4 libres dans un coin? Non? Ben voila...
[^] # Re: Direct3D supérieur à OpenGL ?!
Posté par Prae . Évalué à 4.
(p'tit gars ... littleboy ... huuuuuuuuuuuuumouuuuuur !)
> Pour Sony, tres peu de devs utilisent la lib tout pourrie fournie par Sony
C'est moi où déjà tu te contredis avec ta première phrase ?
De plus, si les devs n'utilisent pas le SDK et les libs fournies par SCEJ c'est pas le problème de cette dernière.
Enfin, Sony utilise bien OpenGL et OpenGL ES pour certains matos:
Je cite:
At Sony Computer Entertainment’s PlayStation meeting the company president showed off the development kit hardware and confirmed and the choice of OpenGL ES as the graphics API in order to facilitate rapid developer adoption and content creation. The Sony Playstation 3 will be using OpenGL ES for the 3D graphics API, NVIDIA’s Cg shader language and tools (CG compiler, FX composer, ShaderPerf and PerHUD), and the development tools will also incorporate support for the COLLADA format for art asset interchange so that developers can share interactive 3D art among multiple platforms. This also opens the possibility that after the PS3’s launch, the platform could be opened to general development to anyone, not just game developers. (In marked contrast to Xbox).
Je vois pas ce qu'il faut de plus.
Pour ne pas être taxé de quoi que ce soit, je cite ceci:
« The PlayStation 3 game console has an OpenGL implementation but it remains unused by most developers due to performance issues. »
Ce qui va dans ton sens (« lib tout pourrie fournie par Sony ») mais qui te contredit (« has an OpenGL implementation »).
Pour la libGCM, c'est effectivement la librairie développé pour faire des bisous directement au chipset RSX, certes.
Pour PSGL, je ne fais que citer :
PSGL is a 3D computer graphics API based on OpenGL ES »
* Features:
** OpenGL ES 1.1 extensions (VBO, FBO, PBO, Cubemap)
** OpenGL ES 1.0:
**** Supported by the PlayStation 3 as one of official graphics APIs [5] (the other one being low level libgcm library).
**** The PlayStation 3 also includes several features of OpenGL ES 2.0
Et enfin: http://www.khronos.org/developers/library/siggraph2006/OpenG(...)
Et encore: http://www.khronos.org/opengles/ (regardez bien la photo vers la fin de page)
Ah merde! ce que tu semble appeler "implémentation pas complète", c'est justement le type de chose que supporte OpenGL ES: l'utilisation par partie. (j'arrive plus à choper le PDF sur Khronos qui donne les différentes parties)
En bref, Que Sony n'est pas fait la totalité de l'implémentation OpenGL, pourquoi pas, mais va pas raconter que c'est "faux".
Pour la Wii/NDS/Gamecube, je te l'accorde, c'est fortement basé sur OpenGL mais ce n'est ni OpenGL ni même OpenGL ES. (je me souviens du SDK DS où ca puait le GL un peu partout mais ca n'avait que la ressemblance). Cependant, je doute que Nintendo n'est jamais utilisé OpenGL sur une de ses plateformes, parce que vu comment a été conçu la N64, quelque chose me dit qu'ils ont pas du réinventer la roue... (source? j'ai rien trouvé dessus)
Pour Sega, tu remarqueras que j'ai notifié avec "Dreamcast" avec un gros point d'interrogation. Parce que à l'époque, Sega ne voulait pas "fixer" l'OS de Microsoft dans le coeur du système, c'est notamment pour cela que le Windows CE était embarqué dans chaque galette de la Dreamcast. (c'est aussi pour cela que l'OS dans le system core est SegaOS et non Windows CE. Notons que certains s'accordent pour dire que SegaOS n'était pas vraiment un OS mais plutôt un amas de lib et de "possibilité", genre "jump sur le systeme a tel endroit du disque" comme support de base); Bref, j'écarte Sega si cela te fait plaisir, il me semblait - à une époque révolue de toute façon - que certains développeurs n'utilisant pas WinCE et avait fait une implémentation basique d'OpenGL pour leurs jeux.
> Et comme ils ont chacun leur API custom plutot que du pur OpenGL, ca detruit un peu l'argument.
Non, vu qu'ils utilisent OpenGL ES.
> [Apple] mais c'est certainement pas pour une soit-disant meilleure performance par rapport a des API concurrentes.
Et donc pour quoi ?
Je doute que ce soit pour la beauté du geste.
> Au final, quelque soit la lib utilisee, tu peux toujours arriver a exploiter a fond le matos en dessous. La question, c'est combien de temps et d'effort ca prend.
Merci de faire le professeur des écoles.
Tout le monde ici (au moins les développeurs) sait très bien qu'il y a déplacement de curseur entre optimisation mais proche du matos ou bien un peu plus de "layer" mais moins proche du coeur, et donc des problèmes de performances qui peuvent se faire ressentir. Il n'y a pas besoin de faire Saint Cyr pour capter cela (ou Epitech... quoique...)
> et c'est pas la leeeeente evolution de l'API qui est la pour rassurer
Là, on est d'accord.
Entre un DirectBidule qui, à chaque version, progresse furieusement et pousse ses petits camarades, et un OpenGL qui doit passer par 36 phases de validation, on peut toujours espérer voir les nouvelles versions arriver (tiens au fait, ca en est où de l'OpenGL version "class" ?)
PS: tu veux un granola ? j'en ai plein mon tiroir
# API GPGPU
Posté par Sylvain Bertrand (site web personnel) . Évalué à 2.
Donc la question est simple... dans la nouvelle infrastructure des drivers de GPU, est-ce qu'il est prévu de pouvoir enregistrer une autre API que Gallium3D? Ça voudrait dire qu'il faudrait une API en dessous de Gallium3D qui permette l'utilisation d'une autre API (exemple une dont la sémantique est adaptée à du GPGPU) en parallèle de Gallium3D. Est-ce le DRI2?
Personnellement, je "vois" une API native à une architecture de GPU sur lequel en enregistre des APIs avec des sémantiques spécifiques à des traitements:Gallium3D pour la 3D et/ou "GalliumGP" pour du GPGPU.
[^] # Re: API GPGPU
Posté par Shuba . Évalué à 3.
En effet, si je dis pas de bêtises, le state tracker est surtout là pour permettre la gestion de la mémoire, et n'enferme donc pas le driver au-dessus dans un point de vue graphique.
[^] # Re: API GPGPU
Posté par glisse . Évalué à 6.
Gallium est concu pour permettre a plusieur API d'utiliser le GPU, l'idee est qu'on ecrit 1 fois un winsys et pipe driver par GPU et que grace a gallium on peut alors accelerer plusieurs API par dessus, que ca soit du rendu 3D ou du GPGPU ou l'api du père Cruchaud le pipe driver s'en fout.
En gros gallium abstrait les GPU mordern, un peut comme un les sockets pour les network devices, et par dessus tu peux faire plein de trucs.
[^] # Re: API GPGPU
Posté par Sylvain Bertrand (site web personnel) . Évalué à 2.
Bon j'avoue que je suis pas encore rentré dans le détails de Gallium/Gallium3D/DRI2.
Bon je mettais en avant le GPGPU, mais ça peut très bien être une API avec une sémantique pour faire les effets de physiques, ou du décodage vidéo tout simplement.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.