DJL: "opengl est plus primitif. de ce fait c'est plus cool de programmer en opengl, ta moins de "copier-coller" a faire et c'est plus souple."
Ah bon ?
Initialiser Direct3D est très très court et facile (il faut juste préciser la taille du backbuffer, le format des couleurs....).
Ensuite tu peux OU PAS faire des copier-coller pour continuer ton programme.
Evidemment il y a des milliers de fonctions, d'interfaces, de macros... dans DirectX mais tu n'est pas obligé de tout utiliser.
Perso, j'utilise le strict minimum, je laisse tomber les fonctions hyper évoluées (en réalité, je ne cherche même pas à les utiliser).
A propos des fichiers .X et autres formats, qui s'amuse à analyser ces fichiers caractères par caractère ? Avec DirectX, on peux charger ca facilement et avoir accès (via pointeurs) aux vertices, indices, coordonnées UV .... alors pourquoi s'en priver ?
Rien de plus simple ensuite de faire son propre format !
Un exemple en ce qui concerne la 2D, il existe une classe de sprite ID3DXSprite qui permet d'avoir accès à toute la puissance du matériel.
Jettez un oeil à la fonction Draw de cette classe et trouvez plus simple et concis:
[ Lien ]Voila voila.
Je n'ai pas fait d'OpenGL, mais je n'ai rien eu à reprocher à DirectX, de plus MSDN (lien ci-dessus) est tellement complète qu'on ne peut lutter longuement sur un problème, sans parler des forums dédiés DirectX.
Le problème de la portabilité, je m'en fous un peu car enormement de gens (surtout les gamers) on des PC avec Windows et DirectX.
A part ca, j'ai entendu dire que DirectX était plus difficile qu'OpenGL mais plus puissant depuis la version 7 ou 8.
Bref, je ne vois pas ce qu'on peut reprocher à DirectX qui permet facilement et simplement de profiter de l'accélération materielle, d'avoir accès au contenu des surfaces, des textures, du backbuffer, du frontbuffer.... de tout quoi !
DirectX peut satisfaire tout le monde: de ceux qui veulent en faire le moins possible à ceux qui veulent développer des nouvelles techniques de rendu.