Présentation de DirectX
Un article de Games Creators Network.
Sommaire |
[modifier] Qu'est-ce que DirectX ?
DirectX est un ensemble de composants developpés par Microsoft pour fournir aux applications Windows (jeux, applications multimédia, ...) un accès temps-réel et haute-permorfance au matériel disponible sur le système où elles sont éxécutées. C'est une API (Application Programming Interface), qui se place entre l'application et le matériel (carte graphique, carte son, etc...).
Pour utiliser DirectX, soit pour jouer, soit pour utiliser une application multimédia lui faisant appel, il est nécessaire de posséder sur son système les librairies de la dernière version, que vous pourrez télécharger sur http://www.microsoft.com/directx(Section Home User > Downloads).
Pour les développeurs d'applications multimédia, le SDK(Software Development Kit), qui contient les librairies, les fichiers d'en-tête, de la documentation sur son utilisation, est disponible sur le sitede téléchargement de MSDN (Section Graphics and Multimedia)
[modifier] Pourquoi DirectX ?
A l'origine, DirectX (qui fut nommé initialement Game SDK) répond au problème de la diversité des configurations matérielles existant chez les utilisateurs de PC. Grâce à son API, Microsoft permet aux développeurs de s'affranchir totalement du travail qui consiste à rendre leurs programmes compatibles avec tous les types de configuration. Avant DirectX, le développeur était confronté directement au matériel (hardware). Avec DirectX, il peut développer sans se soucier de la configuration matérielle qui sera utilisée puique c'est l'API qui gérera le dialogue entre l'application et le matériel : c'est le principe de la portabilité.
Aussi, c'est avec l'arrivée de Windows 95 que c'est fait ressentir le besoin d'une API générique. En effet, avant Windows 95, la plupart des jeux étaient développés pour DOS. Avec l'expansion du nouveau système d'exploitation, les développeurs ont dû se pencher sur le problème de la pogrammation sous Windows, mais se sont heurtés à un problème : comment créer des applications rapides (en plein écran, avec des sons en temps réel, ...) en sachant le nombres importants de "couches" entre Windows et le matériel (contrairement au DOS) ? DirectX est la réponse de Microsoft à ce problème.
Au vu d'importance de Microsoft dans l'univers de l'informatique et de l'utilisation ultra-répandue de son OS, il était indispensable pour les fabricants de matériels de suivre le mouvement imposé par la "toute-puissante"société , et ainsi de développer des drivers(pilotes) pour leur matériels.
[modifier] Les composants DirectX
A l'heure où j'écris ce document la dernière version disponible de DirectX est la version 8.1. Je décris ici les composants principaux de DirectX pour des versions 7.0 et antérieures. Certains des composants qui suivent sont gardés dans la structure de DirectX, tandis que d'autres ont disparus. Pour plus d'informations sur les nouveautés des dernières versions, d'autres articles vous seront proposés.
[modifier] DirectDraw pour la 2D
DirectDraw permet un accès direct à la mémoire vidéo, ainsi que l'accès à des opérations 2D importantes telles que le page flliping (basculement de page) Element le plus important de DirectX, il permet facilement d'afficher des bitmaps à l'écran, de manipuler les couleurs, etc...
[modifier] Direct3D pour la 3D
Direct3D est un ensemble de services destinés au processus de création de scènes 3D (Tranformation + Eclairage + Rendu). Il fournit des opérations telles que la rotation, le z-buffering, l'alpha blending, ou encore le mipmapping.
On distingue 2 modes de fonctionnement de Direct3D : le Direct3D Retained Mode (Mode mémorisé) est une API haut-niveau (l'application maintient les données graphiques pour gérér la scène 3D), et le Direct3D Immediate Mode(Mode immédiat) est une API bas-niveau (rendu de vecteurs).
DirectDraw et Direct3D ont désormais fusionné dans un composant graphique unique nommé DirectGraphics depuis directX 7. Ces deux composants sont désormais obsolètes.
[modifier] DirectInput pour la gestion des périphériques E/S
DirectInput fournit l'interfaçage avec les périphériques d'entrée et de sortie, comme le clavier, la souris et également les joysicks (pad, analogique), les volants, et les pédaliers. Il prend également en compte les derniers modèles de périphériques à retour de force (force feedback).
[modifier] DirectSound pour le son
DirectSound est la composante audio de DirectX: il permet de lire et de mixer les sons, fournit la gestion mémoire pour la carte son, et permet même des effets de sons 3D grâce à son extension DirectSound3D.
[modifier] DirectPlay pour le jeu en réseau
DirectPlay permet le jeu en multijoueur en réseau (local ou Internet). Il fournit également des opérations de communications entre les joueurs qui sont indépendantes du protocole utilisé.
[modifier] DirectSetup pour la gestion des pilotes
DirectSetup permet de vérifier la version de DirectX présente sur le système, et fournit l'installation automatisée des pilotes.
Ce document a été publié sur la version 3 du G.C.N. par Le-Gritche.
- Auteur Original : Le-Gritche
- Date de publication : 12 novembre 2001



