Accueil Articles Tutoriels Forums
DiversIntroduction de Direct2D et DirectWrite
Annoncés au cours de la PDC (Professional Developers Conference) ayant lieu en ce moment parmi des informations concernant le développement du prochain OS de Microsft, à savoir Windows 7 : les API Direct2D et DirectWrite.


Ces noms, qui ne sont pas sans rappeler Direct3D - et pour cause - viendront remplacer GDI et GDI+, les deux API utilisées jusqu'à présent pour le dessin d'interfaces dans Windows, depuis... Windows pour GDI, et Windows 2000 pour GDI+. Ce qui remonte à des siècles en arrière pour une technologie du genre.


Outre le fait que Direct2D sera utilisé pour les interfaces de Windows 7, on retiendra surtout le fait qu'il s'agira là d'un outil qui pourra être utilisée de manière efficace pour la création de jeux mieux, contrairement à GDI et GDI+, qui souffrent d'une certaine lenteur. Direct2D est en effet bâtie sur la base de Direct3D, et bénéficient ainsi des performances liées à cette API dont la qualité n'est plus à démontrer.

Depuis DirectX9, et la disparition de DirectDraw, qui servait jusqu'à alors à rendre la 2D, celle-ci est restée intégrée à Direct3D sans plus d'indépendance ou de mise en avant, à travers la création et l'affichage de sprites. Direct2D vient en partie changer cela, puisque l'on parle ici d'une API construite sur la base de Direct3D, mais mettant clairement en avant les possibilités de rendu 2D.

Au niveau des fonctionnalités, le tout neuf blog de Tom Olsen, l'un des développeurs de Direct2D nous apprend déjà plusieurs choses.
Pour le moment, il faudra faire la paire entre Windows 7 et Direct2D, autrement dit, absence de l'API sur Windows Vista et XP. On peut toutefois apprendre dans le blog, que la question commence à être abordée, même si le développement pour Windows 7 est prioritaire. Croisons les doigts.

En vrac :

- Code natif, mais pouvant aussi être utilisé en code managé (.NET)
- Rendu à hautes performances, et réalisable par simple appel à une méthode débutant le rendu (BeginDraw), rendu même (Draw), puis fin de rendu (EndDraw), ce qui correspond à un schéma classique de rendu sous Direct3D.
- Des performances dimunant linéairement avec le nombre d'objets affichés à l'écran
- Interopérabilité de Direct2D avec GDI, GDI+ et Direct3D.
- Utilisation de Direct3D 10.1 pour le support matériel.
- Système de coordonnées indépendant, c'est-à-dire que la norme de mesure n'est pas nécessairement le pixel.
- Ensemble de fonctions permettant des opérations géométriques nombreuses.

Image


Image



Quant à DirectWrite, présenté plus succinctement, il servira quant à lui à l'affichage de texte de toutes sortes. On peut déjà y accoler le rendu "ClearType" introduit via Windows Vista, et qui perdura en toute logique dans ses successeurs.


Avec les informations dont l'on dispose à l'heure actuelle, il apparaît que le combo Direct2D + DirectWrite pourrait donc être particulièrement efficace pour la création de jeux mieux intégrés à Windows que via Direct3D, qui nécessite une intialisation longue et lourde.

En attendant d'en savoir plus...
Poster un commentaire
Aide de l'éditeur
Auteur
Message
gouessej CommentairePosté le : 05 Nov 2008 12:40
Avatar de gouessej
Membre Confirmé

Inscrit le : 06 Juil 2008
Messages : 132
GCPoints : 72.8


C'est bien gentil tout ça mais ça ne marche que sous Windows. Le rendu haute performance dont tu parles fait plutôt penser au pipeline fixe (rendu immédiat); si c'est le cas, ce n'est pas la solution la plus performante même pour de l'affichage 2D, mieux vaut passer par des VBOs et du geometry instancing. Je vois mal ce que ces deux APIs apportent, ça ressemble plutôt à la politique de Microsoft de créer des trucs soit-disant nouveaux en faisant des modifications essentiellement esthétiques sur du vieux (et par la même d'abandonner la maintenance là-dessus).
http://tuer.tuxfamily.org/tuer.php (lien d'installation automatique du jeu)
http://download.tuxfamily.org/tuer/tuer.zip (code source du jeu)
http://tuer.developpez.com (tutoriel en français)
http://tuer.tuxfamily.org/fgf/players_portal/ (portail de jeux de la FGF)
Page 1/1