DirectX - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Portages hors Microsoft

Certains essaient d’adapter DirectX à leur plate-forme (exemple sous Linux avec WineHQ). Ces adaptations ont un fonctionnement optimal, souvent meilleur que sur l'os windows.

Historique

En 1994, Microsoft était sur le point de lancer son système d’exploitation, Windows 95. Un des facteur déterminant du succès de tout système d’exploitation (OS) reste le panel de 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 septembre 1995 sous l’appellation de Windows Games SDK. Il s’agissait du remplaçant pour Win32 de DCI 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 moyen financier important 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 à 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é 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 360A. 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 ajoute par exemple le support du shader model 3.0 avec la version DirectX 9.0c, livrée en août 2004.

En avril 2005, 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 stack 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 disparue et a été remplacée pas une bibliothèque intitulée dplayx.dll. DirectX 10 est à l'origine du développement de nombreux chef-d'oeuvres graphiques tel que Age of Conan: Hyborian Adventures.

Pour des raisons de compatibilité, plusieurs version 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 la base de code de Windows Vista) : 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.

Page générée en 0.084 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise