DirectX 10 fait partie des nouvelles technologies embarquées dans Windows Vista. Il s'agit d'un composant logiciel intégré système d'exploitation, qui assure la compatibilité entre le matériel informatique (carte graphique, carte son...) et de très nombreuses applications. Présent depuis Windows 95 dans sa version 1.0, DirectX intéresse en premier lieu les joueurs et les développeurs de jeux 3D.
Chaque nouvelle version apporte son lot de nouveautés, qui se traduit dans les faits par des titres toujours plus beaux et toujours plus réalistes. DirectX 10 est considéré par Microsoft, ATI et par nVidia comme une avancée technologique majeure. Au menu : plus de pixels shaders, vertex Shaders, geometry shaders. Vous avez dit « shaders » ?
B.A. BA de la 3D
Pour bien intégrer les bénéfices de DirectX 10 sur les précédentes générations, il est essentiel de comprendre dans les grandes lignes ce qu'est le rendu 3D. Pour schématiser, une scène en trois dimensions est un amas de points reliés entre eux afin de former une structure géométrique. Ces points, les sommets des polygones, on les appelle « vertices » (« vertex », en anglais). Une fois la structure géométrique formée, des textures sont appliquées. Une texture peut être une couleur, un dessin, une photo, un motif... Peu importe. Enfin, des effets sont rajoutés.
![]() |
Cliquez ici pour agrandir l'image |
Une scène 3D n'est jamais qu'un gigantesque amas de points reliés entre eux par des lignes (crédit : Démo technologique nVidia).
![]() |
Cliquez ici pour agrandir l'image |
Des textures sont rajoutées, et « par dessus », des effets : les shaders. Ce visage, quelque part, ce sont eux (crédit : Démo technologique nVidia ).
Petite comparaison : imaginez que vous reliez huit points équidistants dans l'espace par du fil de fer. Vous obtenez un cube. Posez sur chaque côté du cube un morceau de tissu de votre choix, c'est une texture. Prenez un brumisateur et aspergez le tissu d'eau. Par endroits, l'étoffe change de teinte et s'assombrit. Ailleurs, elle peut devenir transparente. Sous le poids de l'eau, le tissu peut même se déformer. Les gouttelettes que vous avez pulvérisées, ce sont les effets. Ces effets en 3D, portent un nom : des shaders. Elles peuvent presque tout faire.
![]() |
Cliquez ici pour agrandir l'image |
Ici, très peu de textures, beaucoup de shaders (crédit : Démo technologique ATI).
Qu'est ce qu'un shader ?
Un Shader est un morceau de code écrit par un programmeur qui, une fois interprété par DirectX puis par le pilote de la carte graphique, affichera un effet. Les shaders existent dans le monde professionnel depuis près de trente ans. Pixar fait partie des firmes qui ont considérablement oeuvré pour le développement des shaders et leur utilisation dans l'animation 3D. Mais pour calculer des shaders en temps réel, il faut impérativement que nos cartes graphiques soient équipées d'unités de calcul dédiées à leur traitement. Il est tout à fait possible de faire calculer des shaders à un processeur (CPU).
Mais vu les performances obtenues, les développeurs de jeux vidéo n'ont jamais utilisé cette méthode. Il aura fallu attendre l'an 2000, date de sortie de DirectX 8, 2001, date de sortie des GeForce 3 et des Radeon 8500, et 2002 pour que les jeux vidéo utilisent, pour la première fois, des shaders. Depuis, ils sont devenus le nerf de la guerre. Pour un développeur de jeux, bien maîtriser l'écriture des shaders c'est créer des jeux toujours plus beaux. Avant l'arrivée de DirectX 9, on en comptait de deux types : vertex shaders et pixels shaders.
![]() |
Cliquez ici pour agrandir l'image |
Image issue du jeu Call of Juarez, sous DirectX 10 (crédit Techland).
Les pixels shaders
Considérons les pixels shaders comme des effets appliqués à un groupement de pixels. Une vague, par exemple, peut être composée de quelques polygones en mouvement, sur lesquels le développeur a rajouté de très nombreux pixels shaders représentant la mer. Ainsi l'écume, les vagues, la déformation, les différents degrés de transparence de l'eau... tout peut être calculé par des pixels shaders.
Imaginez maintenant l'équivalent sans pixel shader. Le moteur 3D doit générer un nombre très élevé de vertices, créer une structure géométrique complexe, appliquer d'innombrables textures et calculer le mouvement pour un résultat au final décevant : la mer n'a rien de géométrique. Un bon programmeur est capable de recréer n'importe quel effet visuel avec des shaders.
Les vertex shaders
Les vertex shaders agissent, comme leur nom l'indique, sur les vertices. Il s'agit de la possibilité pour la carte graphique de modifier leurs paramètres. Selon le programme, le vertice peut ainsi changer de couleur, de texture, ou encore de positionnement dans l'espace. C'est une modification appliquée à une surface géométrique. Sous DirectX 9, les vertex shaders souffrent d'une limitation de taille. Chaque vertice créé ou supprimé est calculé par le CPU. Le GPU (processeur graphique) ne peut ni en effacer, ni en créer. Entre le CPU et le GPU, l'échange d'informations est intense. Avec DirectX 10, les choses changent et les geometry shaders font leur apparition.
Voici un excellent exemple des possibilités des shaders sous DirectX 9 et DirectX 10. Ces deux séries d'images montrent les possibilités minimales, moyennes et maximales de modification des shaders qui composent le visage du personnage. C'est ainsi que l'on finit par les rendre expressifs.
![]() |
Cliquez ici pour agrandir l'image |
Half Life 2 : Episode 1, sous DirectX 9 (crédit : Valve).
![]() |
Cliquez ici pour agrandir l'image |
Team Fortress 2, sous DirectX 10 (crédit : Valve).
Les geometry shaders
Une primitive est une forme géométrique simple. Cela peut être un point, une ligne, un triangle... Ce que l'on appelle geometry shaders, c'est précisément la possibilité pour le processeur graphique de traiter ces primitives, soit un groupe de vertices. Dans un premier temps, une forme géométrique est créée à l'initiative du CPU. Ensuite, le GPU modifie les primitives puis travaille directement sur la forme géométrique dans son ensemble, et non plus point par point.
Les unités de calcul de shaders peuvent dupliquer ces formes, en créér de nouvelles, ou en supprimer. Sous DirectX 9, comme sous toutes les versions précédentes, c'était impossible. Avec DirectX 10 et les geometry shaders, Microsoft souhaite améliorer considérablement les performances des calculs géométriques et offrir aux développeurs la possibilité de créer des scènes 3D toujours plus complexes. A court terme, cela ne signifie pas forcément des jeux plus beaux, mais plus rapides.
![]() |
Cliquez ici pour agrandir l'image |
Une scène complexe, issue d'une démo technologique nVidia, qui utilise pixels shaders, vertex shaders, et geometry shaders. Le taux d'utilisation du CPU oscille entre 40 et 50 %. Il reste donc au CPU la moitié de ses ressources pour effectuer toutes les autres tâches : gestion de l'intelligence artificielle, de la physique du son, etc.
Stéphane Quentin, responsable produits chez nVidia, le résume ainsi : « Si l'on prend l'exemple d'un jeu de stratégie en temps réel, comme "Supreme Commander", des centaines d'unités sont affichées simultanément à l'écran. Le processeur calcule les informations de géométrie de chaque unité, puis les envoie au GPU. Lorsqu'un patch DirectX 10 sera disponible, le CPU ne sera plus chargé de ces calculs géométriques. Le GPU s'en occupera directement ».
L'avantage c'est que le GPU est, grosso modo, dix fois plus rapide pour exécuter ce type d'opérations. Il en sera de même avec "Flight Simulator". Typiquement, ce jeu nécessite peu d'effets de pixels shaders, mais ses exigences en termes de géométrie sont énormes. Flight Simulator X sera, lui aussi, patché pour fonctionner en DirectX 10.
Qu'est ce qu'une architecture unifiée ?
Il s'agit pour le constructeur d'une carte graphique d'intégrer au sein du GPU des unités de calculs capables de traiter, de manière indifférenciée, tout type de shaders. Concrètement, une carte graphique DirectX 9 comporte des unités de calcul dédiées aux pixels shaders, et d'autres aux vertex shaders. Le problème, c'est que cette « séparation des pouvoirs » peut se transformer en goulet d'étranglement. En effet, si une scène 3D exige un important travail sur les pixels shaders, mais peu de vertex shaders, une unité de calcul travaille à plein régime pendant que l'autre se tourne les pouces. L'exemple choisi par Lars Weinand, responsable technique chez AMD, est très parlant.
« Imaginez une scène en 3D représentant un bateau sur la mer. La mer exige de nombreux calculs de pixels shaders, et le bateau, de nombreux calculs de vertex shaders. Les pixels shaders ne sont appliqués qu'une fois que les vertex shaders sont calculés. Si les unités de calcul de vertex shaders sont pleines, et tournent à plein régime, que font les unités de pixels shaders pendant ce temps ? Elles attendent. L'avantage de l'architecture unifiée, c'est que toutes les unités de calcul sont capables de traiter vertex, pixels, et geometry shaders. Toutes les unités travaillent à plein régime. Le rendement est bien supérieur ».
ATI avait déjà choisi d'utiliser une architecture unifiée lors de la conception du GPU qui équipe la Xbox 360. Aujourd'hui, ses cartes graphiques de la série Radeon HD 2000, conçues pour DirectX 10, reposent toutes sur une architecture unifiée. Chez nVidia, il en est de même. Mais il ne faut pas en déduire que Microsoft a obligé les fabricants de GPU à modifier leurs produits. Il aurait été tout à fait possible pour ATI ou pour nVidia de créer des cartes DirectX 10 dotées d'unités de calcul de shaders dédiées.
Adieu rétrocompatibilité !
DirectX 10 est certainement la mise à jour la plus importante depuis la version 8, qui date de 2000. Il promet plus de tout. Plus d'effets, plus de réalisme, plus d'objets affichés à l'image, plus de physique décorative. Les shaders se déchaînent. Mais aujourd'hui, une carte graphique DirectX 9 sous Windows XP ne pourra, en aucun cas, faire tourner un jeu DirectX 10... La même carte graphique sous Windows Vista non plus !
Ainsi, dès que les premiers titres DirectX 10 seront disponibles dans le commerce, les joueurs impatients n'auront d'autre choix que d'investir dans un GPU compatible. ATI vient juste d'annoncer ses nouveaux produits (cinq GPU pour PC de bureau, quatre pour portables), et nVidia commercialise, depuis quelques mois déjà, ses GeForce 8000, compatibles DirectX 10. De même, le fondeur s'apprête à livrer à ses partenaires les GPU pour ordinateurs portables, GeForce 8M. Les tout premiers jeux DirectX 10 devraient sortir d'ici à l'été.

|
|
![]()
Avec votre Espace 01net. produits, d'un clic sélectionnez-les, comparez-les et trouvez les meilleurs prix.
![]() |
![]()
|
![]()
|
||||||||||||||||||||||||||||||||||

|
|
||||||||||||||||||||||||||||||||||
C'est moi qui le dis !
|
Il faut en finir avec le « jusqu’à » des FAI Il y a des mots qui fâchent. Et si j’osais, j'affirmerais que les opérateurs du câble et de l’ADSL sont avant tout des hypocrites. Juste pour ne pas... |
![]() |
Les derniers pilotes ![]() mise à jour le jeudi 15 mai 2008
WINDOWS
MAC
LINUX
![]() |

![]() portable Quand le mini-PC portable s'essaie à Windows XP |
![]() innovation Bill Gates illustre sa vision du futur avec une démonstration de Surface |
![]() reportage CES 2008 : les grandes tendances résumées en images |
| > toutes les vidéos |
||
Le blog des Experts

![]() |
Devolo dLAN 200... 179.90 € Ajouter à ma sélection |
![]() |
Dell XPS 630 1499.00 € Ajouter à ma sélection |
||||||
![]() |
Dell XPS One RED 1799.00 € Ajouter à ma sélection |
![]() |
Zotac GeForce... 269.00 € Ajouter à ma sélection |
||||||
![]() |
Leadtek WinFast... 179.00 € Ajouter à ma sélection |
![]() |
Zotac GeForce 9600GT... 199.00 € Ajouter à ma sélection |
||||||
![]() |
|||
| > tous les choix de 01net. |
|||
Question conso
![]() |
Est-il facile d'éviter la taxe sur les disques multimédias ? ![]() En achetant séparément un disque dur multimédia et un boîtier, on peut faire l'impasse sur la taxe « copie privée ». Mais l'assemblage ne... |
L'actualité des produits
|
[ 14/05/2008 ] Linux : du « 9 » pour Fedora > Le Projet Fedora, soutenu par Red Hat, propose la neuvième version de sa distribution open source, b... [ 14/05/2008 ] Les Sims bientôt meublés par Ikea ![]() > Nancy Smith, présidente du label Sims pour Electronic Arts, annonce l’arrivée d’Ikea dans le jeu ven... [ 14/05/2008 ] Le télescope de Microsoft a la tête dans les étoiles > Le télescope virtuel de l'éditeur est disponible en version bêta. Et pour bien profiter de la riches... [ 13/05/2008 ] OpenOffice 3.0 bêta 1 : les nouveautés en images ![]() > La plus célèbre des suites bureautiques gratuites arrive dans une nouvelle version, la plus importan... |
![]() | ||
![]() | CIS PC5E | |
![]() | ||
![]() | Medion Akoya mini E1210 | |
![]() | ||
![]() | RIM Blackberry 9000 Bold | |
![]() | ||
![]() | Asus P320 | |
![]() | ||
![]() | MGE Protection Box PowerLine 200 | |
![]() | ||
| > tout le classement | ||
![]() |
|
| Abonnez-vous gratuitement ! | |
