DirectX
Microsoft DirectX est une collection de bibliothĂšques destinĂ©es Ă la programmation dâapplications multimĂ©dia, plus particuliĂšrement de jeux ou de programmes faisant intervenir de la vidĂ©o, sur les plates-formes Microsoft et Sony (Xbox, PlayStation 2, PlayStation 3, PlayStation 4, systĂšmes dâexploitation Windows).
Les différentes bibliothÚques
Ă lâorigine le nom de chacune de ces bibliothĂšques commençait par Direct, par exemple : Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound et ainsi de suite. DirectX Ă©tant le nom gĂ©nĂ©rique faisant rĂ©fĂ©rence Ă lâensemble de ces technologies. Avec le temps cette convention de nommage est un peu tombĂ©e en dĂ©suĂ©tude, le X prenant lâascendant des technologies intitulĂ©es Xact, Xinput et qui ont rejoint la grande famille des technologies DirectX. Ainsi lorsque Microsoft sâest lancĂ© dans le dĂ©veloppement dâune console faisant un usage intensif de ces technologies, le X Ă©tait prĂ©dominant ce qui a pu conduire au nom Xbox (et par la suite Xbox 360, l'Xbox One et puis la Xbox Series X et S).
Direct3D (la bibliothĂšque permettant de faire de la 3D temps rĂ©el) est largement utilisĂ©e dans le dĂ©veloppement de jeux pour la plate-forme Microsoft Windows, pour Xbox et Xbox 360. Direct3D est aussi utilisĂ© pour dâautres type dâapplications sâappuyant sur des graphismes en 3D de haute qualitĂ© pour visualiser des donnĂ©es complexes, par exemple dans le secteur de la CAO/DAO bien que son concurrent OpenGL soit dans ce domaine mieux implantĂ© car existante sur bien plus de plates-formes. Direct3D Ă©tant peut-ĂȘtre une des technologies DirectX les plus reconnues, il nâest pas rare de voir le nom DirectX utilisĂ© en lieu et place de Direct3D.
La multitude des composants DirectX existe sous deux formes. Lâune uniquement destinĂ©e Ă faire tourner les applications dĂ©veloppĂ©es en utilisant ces technologies (les runtime components), lâautre Ă©tant un kit de dĂ©veloppement Ă lâusage des dĂ©veloppeurs. Initialement, les composants destinĂ©s Ă lâexĂ©cution des applications Ă©taient redistribuĂ©s avec les jeux qui en faisaient usage ; sur les versions rĂ©centes, ils se trouvent aussi prĂ©installĂ©s avec Windows. Le SDK est quant Ă lui proposĂ© en tĂ©lĂ©chargement gratuit Ă partir du site de dĂ©veloppement de Microsoft (MSDN). La partie runtime est propriĂ©taire et les sources ne sont pas accessibles. Les sources des exemples du SDK sont disponibles avec celui-ci.
Les versions de Direct3D 9Ex et 10 étaient utilisées par Windows Vista. Ces deux versions faisaient usage de fonctionnalités propres au nouveau modÚle de pilote Windows Display Driver Model apparu avec Windows Vista. La nouvelle infrastructure graphique de Windows supporte la virtualisation du matériel graphique vis-à -vis de multiples applications et services par exemple le Desktop Window Manager (le gestionnaire de desktop de Vista lorsque Aero est activé). Précédemment avec Windows XP, les applications avaient un accÚs exclusif à la carte graphique et pouvaient accaparer les ressources de celle-ci.
Sur PC, DirectX est actuellement en version 12 sur Windows 10, version 11 pour Windows 7, pour Windows Vista et Windows Server 2008 et 9.0c pour toutes les versions antérieures de Windows.
Composants
Les composants constituant DirectX sont :
- DirectX Graphics, lui-mĂȘme constituĂ© de plusieurs API :
- DirectDraw : destinĂ© aux graphismes en deux dimensions. Cette partie nâest plus mise Ă jour mais reste utilisĂ©e par un grand nombre de jeux. Cette bibliothĂšque est considĂ©rĂ©e comme obsolĂšte (deprecated), remplacĂ©e par Direct2D.
- Direct2D (en) : remplace, en plus complet, DirectDraw. Disponible pour Windows 7, et pour Vista sous forme de mise Ă jour.
- DirectWrite : pour les polices. Offre notamment un anticrénelage bidirectionnel. Disponible pour Windows 7, et pour Vista sous forme de mise à jour.
- Direct3D (D3D) : Pour les graphismes 3D.
- DXGI (en) : Pour énumérer les cartes et les écrans et gérer les swap chains pour DirectX 10 et au-dessus.
- DirectInput : permet de gérer les entrées utilisateur de nombreux matériels comme les claviers, souris et joysticks ou tout autre matériel connectable à un PC, destiné au monde du jeu et disposant des pilotes adaptés. Cette API est obsolÚte depuis la version 8.
- Xinput : gÚre les entrées manette Xbox 360. API de nouvelle génération qui remplace DirectInput. Supporté par les contrÎleurs compatibles avec la Xbox 360.
- DirectPlay : facilite la communication sur un rĂ©seau local ou non. Nâest plus mis Ă jour depuis la version 8[2].
- DirectSound : permet de jouer et dâenregistrer des sons au format PCM. DirectSound3D (DS3D) : permet de jouer des sons positionnĂ© dans un espace 3D. Cette API est obsolĂšte.
- Xaudio : API sonores remplaçant DirectSound. Tire parti de la vitesse des microprocesseurs modernes afin de mixer un trÚs grand nombre de canaux.
- XAct (en) : API sonore haut niveau, construite Ă partir de Xaudio, permet de faciliter la programmation du son, avec notamment son propre format de banque sonore.
- DirectMusic (en) : pour jouer des morceaux produit Ă lâaide de lâoutil DirectMusic Producer.
- DirectX Media (en) : comprend DirectAnimation pour lâanimation web 2D. Nâest plus mis Ă jour.
- DirectShow : pour manipuler les contenus multimédia, audio et vidéo, streamé ou non. Depuis , DirectShow ne fait plus partie du SDK DirectX et a été déplacé dans le Platform SDK.
- DirectX Transform pour des effets web, et Direct3D Retained Mode pour faire de la 3D avec une API de plus haut niveau. DirectShow contient aussi DirectX plugins pour effectuer des opĂ©rations sur les signaux audio et DirectX Video Acceleration (en) (DXVA) pour bĂ©nĂ©ficier dâune dĂ©compression matĂ©rielle des contenus vidĂ©o compressĂ©s.
- DirectX Media Objects (de) : composants additionnels pour des applications en rapport avec les streaming, encodeurs, décodeurs, effets.
- DirectSetup (zh) : permet de faciliter le dĂ©ploiement des composants DirectX. Les fonctionnalitĂ©s proposĂ©es par DirectX sont exposĂ©es sous forme dâinterfaces et objet COM. Par ailleurs, des objets managĂ©s ont aussi Ă©tĂ© crĂ©Ă©s au-dessus de certaines parties de DirectX, comme managed DirectX (sâappuyant sur Direct3D 9 et des portions de DirectSound) ainsi que la bibliothĂšque graphique de XNA[3].
- Direct Compute (en) : API apparue lors du lancement de DirectX 10, visant à utiliser la puissance de calcul des GPU de derniÚre Génération (ATI HD---- ou Nvidia GT- ---). La parallélisation massive des instructions des GPU graphiques permettant d'accélérer singuliÚrement les traitements/calculs lourds, en termes de « temps », pour un CPU classique. Des bibliothÚques de programmation telles que « CUDA », « ATI Stream » ou encore « OpenCL », ont été mises à disposition des développeurs. Voir GPGPU
Historique
Jusqu'Ă DirectX 9
En 1994, Microsoft Ă©tait sur le point de lancer son systĂšme dâexploitation, Windows 95. Un des facteurs dĂ©terminants du succĂšs de tout systĂšme dâexploitation (OS) reste la gamme des logiciels quâil permet dâexĂ©cuter. Trois employĂ©s de Microsoft â Craig Eisler, Alex St. John et Eric Engstrom â Ă©taient alors de fait assez prĂ©occupĂ©s quâun certain nombre de dĂ©veloppeurs semblaient penser que lâOS prĂ©cĂ©dent de Microsoft, MS-DOS, constituait une meilleure plate forme pour les jeux, ce qui pouvait signifier que moins de jeux seraient dĂ©veloppĂ©s pour Windows 95 avec lâimpact nĂ©gatif sur le succĂšs de ce systĂšme dâexploitation que cela pouvait impliquer.
MS-DOS permettait un accĂšs direct Ă la carte vidĂ©o, au clavier, Ă la souris, aux cartes sons, et Ă dâautres parties du systĂšme contrairement Ă Windows 95 qui introduisait des notions dâespace dâadressage propre Ă chaque processus. Microsoft se devait donc de fournir aux dĂ©veloppeurs ce quâils voulaient ; par ailleurs, il Ă©tait nĂ©cessaire de le fournir rapidement, la date de sortie du nouveau systĂšme dâexploitation nâĂ©tant plus distante que de quelques mois. Eisler, St. John et Engstrom se mirent alors Ă travailler sur la solution Ă ce problĂšme quâils appelĂšrent DirectX.
La premiĂšre version de DirectX fut livrĂ©e au public en sous lâappellation de Windows Games SDK. Il sâagissait du remplaçant pour Win32 de DCI (cs) et de lâAPI WinG disponible pour Windows 3.1. Une Ă©quipe de dĂ©veloppement dâATI Technologies soumit Ă lâattention de Microsoft un certain nombre de technologies graphiques spĂ©cifiques au monde du jeu. Le dĂ©veloppement de DirectX fut conduit par lâĂ©quipe de Eisler (chef dĂ©veloppeur), St. John et Engstrom (gestion de projet). Pour rĂ©sumer, il permit Ă toutes les versions de Windows depuis Windows 95 de bĂ©nĂ©ficier de capacitĂ©s multimĂ©dia performantes. Eisler a Ă©crit sur son blog sur la frĂ©nĂ©sie avec laquelle les versions de DirectX 1 Ă 5 furent rĂ©alisĂ©s.
Avant lâexistence de DirectX, Microsoft avait dĂ©jĂ inclus le support dâOpenGL sur Windows NT. Ă cette Ă©poque, OpenGL nĂ©cessitait du matĂ©riel haut de gamme qui restait rĂ©servĂ© aux utilisateurs disposant de moyens financiers importants comme dans le monde de lâindustrie et plus gĂ©nĂ©ralement les utilisateurs de systĂšme CAO. Direct3D (introduit par Eisler, Engstrom et St. John comme une alternative Ă lâOpenGL de SGI) Ă©tait destinĂ© Ă ĂȘtre une technologie compagnon plus lĂ©gĂšre et spĂ©cialisĂ©e pour les jeux. La puissance des cartes graphiques et des ordinateurs Ă©voluant rapidement, OpenGL devint de son cĂŽtĂ© un standard de fait et une technologie accessible Ă tous. Ă ce moment-lĂ , lâaffrontement a pu faire rage entre les supporters de chacune des deux API, lâinitiative de Microsoft Ă©tant perçue comme une volontĂ© de marginaliser lâutilisation dâOpenGL (voir Fahrenheit ou Direct3D vs. OpenGL). Quoi quâil en soit, OpenGL est parfois utilisĂ© conjointement Ă certaines API DirectX : en effet, OpenGL est le pendant de Direct3D et nâinclut pas nĂ©cessairement des fonctionnalitĂ©s permettant de gĂ©rer les entrĂ©es clavier ou souris ou le son. Ce mĂȘme si aujourdâhui des bibliothĂšques comme SDL remplissent aussi ces besoins et sont aussi largement utilisĂ©es.
Dans sa version console, DirectX a Ă©tĂ© utilisĂ© comme une Ă©pine dorsale des API proposĂ©s pour dĂ©velopper sur Xbox et Xbox 360. LâAPI fut dĂ©veloppĂ© conjointement par Microsoft et Nvidia, qui fournissait le matĂ©riel graphique prĂ©sent sur la Xbox originale. LâAPI disponible pour cette version de la Xbox Ă©tait peu ou prou Ă©quivalent Ă DirectX 8.1, elle portait le nom DirectXbox, ce qui fut raccourci en Xbox pour obtenir le nom commercial.
En 2002, Microsoft livrait DirectX 9 qui bĂ©nĂ©ficiait dâun support pour des shaders plus long et la version 2.0 des vertex shaders. Depuis, Microsoft nâa cessĂ© de faire Ă©voluer DirectX 9 en ajoutant par exemple le support du shader model 3.0 avec la version DirectX 9.0c, livrĂ©e en .
En , DirectShow a été déplacé du SDK DirectX vers Microsoft Platform SDK. En revanche, DirectX est toujours nécessaire pour compiler les exemples DirectShow.
DirectX 10
DirectX 10 est une mise Ă jour majeure de lâAPI DirectX. Disponible uniquement Ă partir de Windows Vista, les versions antĂ©rieures de Windows ne peuvent exĂ©cuter des applications sâappuyant exclusivement sur cette version de lâAPI. Les changements introduits par DirectX 10 sont profonds, mais seule la partie Direct3D est rĂ©ellement concernĂ©e par ceux-ci. De nombreuses parties de DirectX API sont considĂ©rĂ©es comme dĂ©suĂštes dans la derniĂšre version du SDK et ne sont plus prĂ©sentes que pour des questions de compatibilitĂ© : DirectInput sâefface au profit de XInput, DirectSound en faveur de XACT et Xaudio2 et perd son accĂšs direct au matĂ©riel sur Windows Vista. En effet, la nouvelle pile audio de Vista introduit une nouvelle API intitulĂ© WASAPI sur laquelle les fonctionnalitĂ©s de DirectSound ont Ă©tĂ© redirigĂ©es. La bibliothĂšque DirectPlay DPLAY.dll a aussi disparu et a Ă©tĂ© remplacĂ©e par une bibliothĂšque intitulĂ©e dplayx.dll.
Pour des raisons de compatibilité, plusieurs versions de Direct3D sont installées sur Windows Vista :
Direct3D 9 offre les mĂȘmes fonctionnalitĂ©s que la version de Direct3D 9 disponible pour Windows XP. Ce sera la seule version disponible tant quâun pilote Windows Display Driver Model nâaura pas Ă©tĂ© installĂ© avec Vista, par exemple juste aprĂšs une mise Ă jour alors que seul un XP graphic driver (XPDM) est prĂ©sent.
Direct3D 9Ex (aussi connu comme 9.0L ou 9.L, le L faisant rĂ©fĂ©rence Ă Longhorn, nom de code de Windows Vista utilisĂ© avant sa sortie) : Cette version permet de bĂ©nĂ©ficier de certaines fonctionnalitĂ©s introduites par lâutilisation des pilotes WDDM tout en maintenant la compatibilitĂ© avec les applications Ă©crites pour Direct3D 9. Lâinterface Windows Aero sâappuie sur D3D 9Ex et utilise certaines des fonctionnalitĂ©s non prĂ©sentes dans Direct3D 9 comme la possibilitĂ© de partager des surfaces DirectX entre plusieurs processus.
Direct3D 10 : DestinĂ© Ă fournir lâaccĂšs le plus direct et le plus total aux cartes graphiques modernes par le biais du nouveau modĂšle de pilote WDDM. Cette version contient un nombre important de nouvelles fonctionnalitĂ©s comme la possibilitĂ© dâutiliser le langage HLSL dans sa version Shader Model 4.
Direct3D 10.1 est quant Ă elle une mise Ă jour mineure de Direct3D 10 qui est distribuĂ© et nĂ©cessite le Service Pack 1 de Windows Vista. Cette version ajoute quelques fonctionnalitĂ©s supplĂ©mentaires permettant de donner plus de contrĂŽle aux dĂ©veloppeurs sur la qualitĂ© de lâimage obtenue. Cette version a ses propres prĂ©requis et nĂ©cessite le support du Shader Model 4.1 des opĂ©rations Ă virgule flottante sur 32 bits.
DirectX 10.1 continue dâutiliser pleinement les cartes compatibles DirectX 10, mais pour bĂ©nĂ©ficier de lâensemble des nouvelles fonctionnalitĂ©s, il faut bĂ©nĂ©ficier dâune carte adĂ©quate.
DirectX 11
Microsoft a dĂ©voilĂ© DirectX 11 Ă la 'Gamefest 08' de Seattle, avec les caractĂ©ristiques prĂ©vues incluant le support GPGPU (DirectCompute), le Direct3D11 avec tessellation[4] - [5] ainsi que l'amĂ©lioration du multi-threading, pour aider les dĂ©veloppeurs de jeux vidĂ©o Ă rĂ©aliser des logiciels multi-core[6]. Direct3D 11 tourne sur Windows Vista et Windows 7. Il fonctionne Ă©galement sur les versions suivantes. Des Ă©lĂ©ments des nouvelles API comme le 'multi-threaded resource handling' peut ĂȘtre supportĂ© par les matĂ©riels Direct3D 9/10/10.1. La tessellation matĂ©rielle ainsi que le 'Shader Model 5.0' nĂ©cessite Direct3D 11[7]. Microsoft a depuis mis Ă jour Direct3D 11. Direct3D 11 est un sur-ensemble de Direct3D 10.1 â toutes les caractĂ©ristiques de la version 10.1 y sont prĂ©sentes, les nouvelles fonctionnalitĂ©s ne sont disponibles que lorsque c'est nĂ©cessaire. Ceci pour une meilleure compatibilitĂ©.
DirectX 11.1 est présent dans Windows 8. Il supporte WDDM 1.2 pour de meilleures performances, propose une intégration améliorée de Direct2D, Direct3D, DirectCompute, et inclut DirectXMath, XAudio2 (en), ainsi que des bibliothÚques XInput framework XNA. Il comprend également le support 3D stéréoscopique.
DirectX 11.2 est une exclusivité Windows 8.1. Cette évolution de l'API apporte le support de WDDM 1.3, un partage dynamique des ressources entre les différentes mémoires de l'ordinateur (nommé Tiled resources) ainsi que d'autres évolutions mineures.
DirectX 11.3 est une nouvelle Ă©volution de l'API qui dispose de certaines fonctions de DirectX 12, surtout au niveau de Direct3D.
DirectX 12
Le , Microsoft a officialisé l'annonce de DirectX 12 lors de la Game Developers Conference du 17 au à San Francisco[8]. Cette version de DirectX est disponible sur Windows 10, Xbox One et PlayStation 4 et propose un accÚs plus bas niveau aux ressources du circuit graphique dans le but d'offrir de meilleures performances et une consommation d'énergie réduite. Le moyen utilisé étant de faciliter la répartition des ressources utilisées, pour mieux exploiter les multi-processus et les multi-cartes graphiques[9].
Le , Microsoft a annoncé le portage de DirectX 12 sur Linux[10]. Dont le code source est en Open Source et en libre consultation[11].
Portages hors Microsoft
Bien que DirectX soit une API conçue pour le systÚme d'exploitation Windows, il existe des pilotes et des bibliothÚques logicielles qui fournissent une partie de son API sur d'autres systÚmes d'exploitation comme :
- Wine : qui permet à des programmes conçus pour fonctionner sous Windows de fonctionner aussi sous Linux ou Mac OS X en redirigeant entre autres les appels Direct3D vers OpenGL.
- Gallium3D : qui propose l'API de Direct3D 9 de maniÚre native sous n'importe quel systÚme d'exploitation sous réserve qu'un pilote Gallium3D soit présent sur le systÚme cible.
Versions
Version | Date de sortie | ||
---|---|---|---|
Majeur | Mineur | Code de version | |
1 | 1.0 | 4.02.0095 | |
2 | 2.0 | 4.03.00.1096 | |
2.0a | |||
3 | 3.0 | 4.04.00.0068 | |
4.04.00.0069 | |||
3.0a | 4.04.00.0070 | ||
3.0b | |||
4 | 4.0 | Jamais sortie | |
5 | 5.0 | 4.05.00.0155 (RC55) | |
5.2 | 4.05.01.1600 (RC00) | ||
4.05.01.1998 (RC0) | |||
6 | 6.0 | 4.06.00.0318 (RC3) | |
6.1 | 4.06.02.0436 (RC0) | ||
6.1a | 4.06.03.0518 (RC0) | ||
7 | 7.0 | 4.07.00.0700 | |
7.0a | 4.07.00.0716 | ||
7.1 | 4.07.01.3000 (RC1) | ||
8 | 8.0 | 4.08.00.0400 (RC10) | |
8.0a | 4.08.00.0400 (RC14) | ||
8.1 | 4.08.01.0810 | ||
4.08.01.0881 (RC7) | |||
8.1a | 4.08.01.0901 (RC?) | ||
8.1b | 4.08.01.0901 (RC7) | ||
8.2 | 4.08.02.0134 (RC0) | ||
9 | 9.0 | 4.09.00.0900 (RC4) | |
9.0a | 4.09.00.0901 (RC6) | ||
9.0b | 4.09.00.0902 (RC2) | ||
9.0c | 4.09.00.0903 | ||
4.09.00.0904 | |||
4.09.00.0904 (RC0) | |||
4.09.00.0905 (RC0) | |||
4.09.00.0906 (RC0) | |||
4.09.00.090? (RC0) | |||
10 | 10.0 | 6.00.6000.16386 | |
10.1 | 6.00.6001.18000 | ||
11 | 11 | 6.01.7600.16385 | |
11 | 6.01.7601.17514 | ||
11.1 | 6.02.9200.16384 | ||
11.2 | 6.03.9600.16384 | ||
12 | 12 | 10.00.10586.0000 | |
10.00.14393.0000 | |||
10.00.15063.0000 | |||
10.00.17134.0001 | |||
10.00.17763.0001 | |||
10.00.18362.0387 |
Compatibilité
Des API comme Direct3D et DirectSound interagissent directement avec le matĂ©riel par le biais de pilotes. Les fabricants de matĂ©riel doivent Ă©crire ces pilotes pour une version spĂ©cifique du DirectX âDevice Driver Interfaceâ (ou DDI). Des versions anciennes de DirectX incluaient un certain nombre de mises Ă jour de pilote DirectX mais cette pratique fut abandonnĂ©e au profit de Windows Update qui peut permettre aux utilisateurs de tĂ©lĂ©charger uniquement les pilotes propres Ă leur matĂ©riel. Les versions antĂ©rieures Ă DirectX 10 Ă©taient vouĂ©es Ă ĂȘtre compatible avec des pilotes anciens, il Ă©tait possible dâutiliser des versions plus rĂ©centes de DirectX avec des pilotes Ă©crits pour supporter une version plus ancienne du DDI. Par exemple, un jeu sâappuyant sur Direct3D 9 pouvait fonctionner sur une machine Ă©quipĂ©e dâune carte nâayant quâun pilote dĂ©veloppĂ© Ă lâĂ©poque de DirectX 6. Par contre avec DirectX 10 sur Vista, compte tenu de lâampleur des changements et du fait que certaines fonctionnalitĂ©s exposĂ©es par lâAPI ne sont disponibles que grĂące au nouveau modĂšle de pilote, il est impossible dâutiliser une application dĂ©veloppĂ©e pour cette version de DirectX sans pilote correspondant au nouveau modĂšle de pilote WDDM. Plusieurs versions de DirectX sont prĂ©installĂ©es avec de nombreuses versions de Windows de façon Ă supporter des applications Ă©crites avec des versions anciennes de cette API tant que celles-ci nâont pas Ă©tĂ© rĂ©Ă©crites pour la version la plus rĂ©cente et continuent dâĂȘtre utilisĂ©es.
.Net Framework
En 2002, Microsoft mettait Ă disposition des dĂ©veloppeurs une version du SDK DirectX amenant des assembly .Net permettant dâutiliser DirectX Ă partir de code managĂ©, que cela soit en managed C++ (en), C# ou tout autre langage supportĂ© par le Framework .Net. Ces assembly Ă©taient regroupĂ©s sous lâappellation « Managed DirectX » (ou MDX), et permettait dâobtenir des performances qui nâavaient pas nĂ©cessairement Ă rougir de la comparaison avec ce quâil Ă©tait possible dâobtenir en C++ natif. En , , et , Microsoft mis Ă disposition des dĂ©veloppeurs des mises Ă jour successives de cette technologie pour aboutir Ă la version 2.0 qui nâa jamais existĂ© que sous la forme dâune version bĂȘta ayant expirĂ© le .
Au cours du GDC de 2006, Microsoft prĂ©senta le Framework XNA GSE, vouĂ© Ă ĂȘtre la nouvelle bibliothĂšque permettant aux dĂ©veloppeurs souhaitant rĂ©aliser des jeux en utilisant un langage .Net dâaccĂ©der aux fonctionnalitĂ©s DirectX. Ce Framework a par ailleurs pour objectifs de faciliter leur travail en regroupant des fonctionnalitĂ©s qui pouvaient se trouver au prĂ©alable Ă©parpillĂ©es dans des assembly diffĂ©rents. Ce Framework supporte aussi lâexĂ©cution des applications produites sur Xbox 360. La version RTM fut livrĂ©e le , sous la forme dâun paquet tĂ©lĂ©chargeable gratuitement. Contrairement Ă DirectX ou Ă Managed DirectX, les composants du Framework XNA GSE ou les API issues de la Xbox 360 (XInput, XACT, etc.) ne sont pas prĂ©installĂ©s avec aucune version de Windows, aussi il est recommandĂ© de les installer en mĂȘme temps que tout jeu en faisant usage.
Au début de 2013, Microsoft annonce la fin du développement de XNA et son retrait du programme de certification MVP (Most Valuable Professionals) le [12]. La communauté open source prend alors le relai avec des framework tel que MonoGame (étant une implémentation open source de XNA) et des API comme SharpDX faisant des appels à du code natif DirectX (comme le faisait MDX).
64 bits & 32 bits
Le systĂšme DirectX est compatible avec tous les systĂšmes d'exploitations Microsoft, 32 bits (x86), et 64 bits (x64).
Alternatives
Il existe plusieurs bibliothĂšques qui couvrent souvent une partie des fonctionnalitĂ©s de DirectX. Utiliser une combinaison de celles-ci peut permettre dâobtenir le mĂȘme ensemble de fonctionnalitĂ©s que DirectX, on peut citer SDL, Allegro, OpenMAX, OpenML, OpenGL, OpenAL, Vulkan, FMOD, etc. Ces bibliothĂšques peuvent prĂ©senter lâavantage de permettre de dĂ©velopper des applications portables sur dâautres systĂšmes dâexploitation que Windows. Ces bibliothĂšques sont pour la plupart issues de projets open source.
Dâautres projets, comme une partie de Wine, visent Ă fournir une implĂ©mentation alternative du mĂȘme ensemble de fonctionnalitĂ©s.
Notes et références
- « https://devblogs.microsoft.com/directx/announcing-directx-12-ultimate/ »
- (en) « DirectPlay », sur docs.microsoft.com, (consulté le ).
- (en) « Portail XNA - Xbox LIVE Indie Games », Microsoft.
- (en) « What's next for DirectX? A DirectX 11 overview â A DirectX 11 overview », Elite Bastards, (consultĂ© le ).
- (en) « DirectX 11: A look at what's coming », bit-tech.net, .
- (en) « Windows 7 and D3D 11 release date »(Archive.org ⹠Wikiwix ⹠Archive.is ⹠Google ⹠Que faire ?) erreur modÚle {{Lien archive}} : renseignez un paramÚtre «
|titre=
». - (en) « Gamefest 2008 and the DirectX 11 announcement », sur MSDN, .
- « DirectX 12 officialisé », sur hardware.fr (consulté le ).
- Fabien Pellegrini, « DirectX 12 : les promesses, les premiers tests », sur clubic.com, (consulté le ).
- Romain Pomian-Bonnemaison, « DirectX 12 : Microsoft va porter sa technologie graphique sur Linux ! », sur PhonAndroid, (consulté le ).
- (en) « microsoft/WSL2-Linux-Kernel », sur GitHub (consulté le ).
- Vincent Hermann, « Microsoft confirme que XNA n'évoluera plus et éclaircit la situation de DirectX », sur pcinpact.com, .
Liens externes
- (fr) FAQ DirectX pour les développeurs
- (fr) Tutoriels sur le développement avec DirectX
- (en) DirectX World - C++ DirectX 9 lessons for game programming. Learn how to build a graphic engine
- (fr) Site DirectX MSDN France