DirectX
Le vilain petit canard devenu king
DirectX, c’est un peu le vilain petit canard devenu king.
À ses débuts, tout le monde le détestait…
Aujourd’hui, on l’utilise sans trop réfléchir.
Flashback : début des années 90.
Le PC c’est pas encore une machine de gamer.
C’est moche, c’est lent, ça galère à afficher 30 sprites qui bougent.
Et surtout : chaque constructeur a ses drivers, ses APIs.
Tu veux faire un jeu ?
T’écris 10 versions de ton moteur pour 10 cartes différentes.
Bienvenue en enfer.
Et là, Microsoft débarque avec DirectX.
Un couteau suisse pour accéder au hardware sans se battre avec les specs constructeurs.
DirectDraw, DirectSound, DirectInput…
Un truc un peu moche, un peu verbeux, mais qui fonctionne.
Et qui standardise tout.
L’irritant que ça résout ?
L’absence d’abstraction.
Le fait que ton code tournait nickel chez toi… et crashait chez ton pote avec une carte différente.
DirectX promettait un pont entre le dev et le GPU, stable, documenté, supporté.
Mais les débuts ont été chaotiques.
Les devs râlaient.
Les perfs étaient pas ouf.
Les API changeaient à chaque version.
Et puis, petit à petit, c’est devenu LE standard.
Parce que Microsoft poussait fort sur le gaming PC.
Parce que les tools suivaient.
Et parce que t’avais pas 36 choix.
Et quand Direct3D a pris le dessus sur OpenGL dans les studios, c’était plié.
Alors ouais, aujourd’hui t’as DirectX 12, qui demande un doctorat en architecture GPU pour afficher un cube.
Mais derrière ce monstre, y’a une vraie logique :
— reprendre le contrôle bas niveau
— coller aux besoins des moteurs modernes
— éviter la magie noire et l’overhead
Un retour aux sources, quelque part.
Sauf que cette fois, faut 5 ingénieurs pour faire ce que tu faisais en 3 lignes de glBegin/glEnd. 😅
Mais c’est ça l’évolution.
On gagne en puissance, on perd en innocence.
T’as codé avec DirectX ?
T’as connu les joies du debug sous DX9, ou le chaos de DX11 avec HLSL qui te sort une erreur de compile en araméen ?