DirectX - Définition

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

Introduction

DirectX
Directx.jpg
Développeur Microsoft
Dernière version 11 (février 2010) [+/−]
Environnement Microsoft Windows
Type Framework
Licence EULA
Site Web Page d’accueil de 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 (Xbox, systèmes d’exploitation Windows). À 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 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).

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, comme par exemple dans le secteur du CAD/CAM 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, aujourd’hui, ils se trouvent aussi préinstallés avec Windows. Le SDK est quant à lui proposé en téléchargement gratuit à partir du site 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 dernières versions de Direct3D, à savoir Direct3D 10 et Direct3D 9Ex, sont l’apanage de Windows Vista. Ces deux versions font 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 comme 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 s’accaparer les ressources de celle-ci.

Sur PC, DirectX est actuellement en 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 : 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 : 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 drivers adaptés. Cette API n’est plus mise à jour depuis la version 8. Il est recommandé d’utiliser à la place Xinput (aussi supporté par les contrôleurs compatibles avec la XBox 360) ou alors les messages standards WM INPUT envoyés aux fenêtres windows pour la gestion des entrées clavier et souris.
  • DirectPlay : facilite la communication sur un réseau local on non. N’est plus mis à jour depuis la version 8.
  • DirectSound : permet de jouer et d’enregistrer des sons au format PCM. DirectSound3D (DS3D) : permet de jouer des sons positionné dans un espace 3D.
  • DirectMusic : pour jouer des morceaux produit à l’aide de l’outil DirectMusic Producer.
  • DirectX Media : comprend DirectAnimation pour l’animation web 2D. N’est plus mis à jour.

(en) DirectShow : pour manipuler les contenus multimédia, audio et vidéo, streamé ou non.

  • 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 (DXVA) pour bénéficier d’une décompression matérielle des contenus vidéo compressés.

Depuis avril 2005, DirectShow ne fait plus partie du SDK DirectX et a été déplacé dans le Platform SDK.

  • DirectX Media Objects : composants additionnels pour des applications en rapport avec les streaming, encodeurs, décodeurs, effets.

DirectSetup : 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.

Page générée en 0.087 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