A l'occasion de la fameuse PDC 2005, conférence organisée par Microsoft pour communiquer avec les développeurs, on a pu apprendre quelques détails intéressants sur DirectX 10. Le successeur de DirectX 9 qui sera introduit avec Windows Vista va marquer un tournant dans l'industrie du graphique puisque pour la première fois les fonctionnalités d'une puce seront limitées à la seule version de DirectX qu'elle supporte. En clair les géants de la 3D devront tous proposer les mêmes fonctions pour offrir une compatibilité totale et ce quelque soit la carte. Voilà qui pourrait mettre un terme aux errements constatés notamment avec le GeForce FX où NVIDIA s'était écarté des spécifications de DirectX 9.0...
Si l'idée semble séduisante de prime abord elle pourrait freiner l'évolution des fonctionnalités au niveau des puces graphiques puisqu'au final Microsoft sera seul juge de ce qui est nécessaire ou non. D'après Microsoft toutefois ce n'est pas si catastrophique puisque sous Vista les GPU auront des capacités de partage et de scheduling comme les CPU. Cela se traduit par la possibilité pour l'utilisateur d'exploiter plusieurs applications 3D qui pourront partager la mémoire, les cycles GPU et d'autres ressources, chose impossible à l'heure actuelle.
DirectX 10 offrira une compatibilité descendante avec DirectX 6/7 et DirectDraw alors que Windows Vista intégrera une version étendue de Direct3D 9 baptisée D3D9EX. Cette révision de DirectX 9.0 introduira des statistiques de frame, des contrôles d'erreurs et d'états plus précis mais aussi la possibilité d'effectuer le rendu d'une scène plusieurs fois sans voir à la retraiter au niveau matériel. Mais la plus grande nouveauté de DirectX 10 vient de l'architecture partagée de l'API qui permet d'installer un nouveau driver sans redémarrer le PC, d'effectuer un redémarrage de la seule carte graphique et d'isoler les Drivers graphiques du reste du système. Ce dernier point signifie qu'avec Vista le driver graphique ne pourra plus planter l'intégralité du système grâce au VDDM Vista Display Driver Model.
Similaire au pipeline de rendu de Direct3D 9, le pipeline de Direct3D 10 apporte des changements intéressants avec l'introduction d'un nouveau shader : le Geometry Shader. Il permettra d'appliquer des fonctions sur un ensemble de polygones plutôt que sur des pixels ou des triangles. Cela devrait se traduire dans les faits par une augmentation sensible des performances notamment au niveau des fonctions 3D de cube-mapping. Le Geometry Shader devrait également profiter d'une fonction Stream Out qui recycle les données graphiques sans passer par le processeur : on peut ainsi imaginer à terme des systèmes de particule totalement indépendant du CPU.
Terminons en précisant tout de même que Microsoft développe DirectX 10 en partenariat avec ATI et NVIDIA, et qu'interrogé sur l'avenir du support de l'OpenGL dans Windows, le géant de Redmond n'a pas souhaité se prononcer.