Quelques années (enfin, avant les années mi-90) avant nos jours, les PCs ne pouvaient calculer que des graphismes comparables à ceux qui ont été dessinés sur les murs de leurs grottes par les hommes préhistoriques. Mais, avec l'apparition des processeurs rapides, tout a changé: les hommes ont vu comme c'est amusant de jouer des jeux en 3D ou utiliser des programmes 3D. Donc, Doom est apparu. Ce jeu, comme les jeux de notre époque, créait une illusion de 3D sur une surface 2D. Mais il y avait un problème: dans ce monde 3D, ou les couleurs n'étaient pas assez beau, ou bien le niveau de détail était bas. Quand les couleurs ou le détail était meilleur, le jeu se ralentissait dramatiquement. Donc, les producteurs de hardware et de logiciel ont essayé de trouver une solution. Intel a crée le processeur Pentium. La puissance FPU de ce processeur était assez pour les jeux 3D. Les Pentium 133 et le Win95 deviennent de plus en plus populaire. Mais même ces graphismes ne nous suffisaient pas. Nous voulions les graphismes comme les filmes de cinéma. Donc, on projeta une idée: intégrer dans le PC un processeur pour les calculs de 3D, pour avoir une 3D plus rapide et meilleure, comme dans les systèmes professionnels. Donc, le processeur n'avait qu'à calculer les polygones, et plus de les "peindre". Comme premier standard, l'API des systèmes professionnels, OpenGL, a été utilisée. Mais, ce qui était professionnelle était aussi cher. Beaucoup de cartes se sont apparues, aucun d'eux n'a pu être populaire. Puis, 3dfx est venu. Ces cartes, s'ils sont supportés par le jeu, mettaient sur votre écran des graphismes jamais vu. Son prix non plus n'était pas astronomique, donc elle a pu être populaire rapidement. Après sont venues les attaques de nVidia, ATI, etc. Et nous sommes venus à nos jours, dans laquelle tous les firmes d'ordinateurs créent leur chip 3D, pour pouvoir avoir un petit morceau de ce grand gâteau.

Comment fonctionnent ces cartes? Pas un miracle: vous savez que les scènes 3D que vous voyez sur votre écran ne sont que des squelettes 3D peints avec des dessins. Normalement, c'est à dire sans une carte 3D, c'était le processeur qui faisait tout; créer le squelette et le colorier. Maintenant, le processeur ne calcule que le squelette et l'envoie à la carte 3D; Puis dit: "peint cette partie du squelette avec ce dessin, etc.". Donc, le processeur seulement crée le squelette, ce qui est plus facile que le créer + le peindre. Et comme ça, les jeux ont pu avoir des graphismes de telle beauté. Mais l'idée de départ a été modifiée au cours du temps: maintenant, le processeur seulement calcule les points qui constituent le squelette, et puis c'est le processeur de la carte 3D qui forme le squelette, le peint et met dessus les effets spéciaux. Et comme les cartes 3D sont faits que pour ça, ils le faisaient mieux et plus rapidement qu'un processeur qui doit savoir tout faire. Mais, comme le processeur central devait savoir tout faire en même temps, il n'était pas le pro dans tout ce qu'il peut faire (comme la différence entre un homme qui sache tout faire et un homme qui soit un pro dans son job mais que dans le sien).

Le programme doit savoir se communiquer avec la carte. Cela veut dire que le programme doit savoir comment utiliser la carte sinon la carte ne sert à rien. Il y a deux façons pour ça: le premier (et le plus difficile) est de refaire le programme pour chaque carte, et donc il faudra encore refaire le programme pour chaque nouvelle carte. Et la deuxième façon est d'utiliser un programme intermédiaire entre la carte et le programme, comme un traducteur. Il n'y a aucune différence pour le résultat dans les deux cas, mais le deuxième est plus simple pour le programmeur. Ce "traducteur" est appelé API. Les 3 APIs les plus populaires sont OpenGL, Direct3D (ou DirectX) et Glide, de 3dfx (enfin, les 3 ... Direct3D est *de loin* le plus populaire aujourd'hui). Et cela a aussi un autre avantage: c'est plus le programmeur qui refait le "traducteur" pour chaque carte mais les créateurs de carte 3D qui font en sorte que la carte soit compatible avec les APIs. Cette méthode est plus pratique pour l'utilisateur et pour le programmeur, le risque de problèmes est plus bas, donc c'est pour ça qu'elle est plus utilisée.

Voilà qu'on a atteint la fin... C'est pas si compliqué que ça, non? Mais bon, si tout ça ne vous a pas suffi et vous avez toujours des questions, contactez-moi!