En fait tout le pipeline n'est pas reprogrammé, mais uniquement la phase de transformation des vertex et passage coordonnées 3D à 2D (vertex shader), ainsi que la coloration des pixels (pixel shader).
La carte calcule toute seule quels pixels sont à afficher (rasterization) sur le backbuffer et applique les filtres antialiasing, filtrage linéaire, bilinéaire, anisotropique etc sans intervention de notre part.
[ Lien ]Lorsqu'on utilise pas explicitement des shaders, DirectX fait quand même appel aux fonctionnalités de la carte donc par exemple l'éclairage est calculée par la carte.
Donc le CPU ne travaille pas moins. On peut en outre limiter le dialogue CPU->GPU.
Les shaders permette de manipuler les vertex et les pixels à souhait pendant la phase de rendu.
Cependant, depuis un vertex shader on a accès qu'aux propriétés du vertex en cours... c'est donc encore très limité comme technique.
Idem pour le pixel.
Waw, je viens de trouver un excellent pdf sur l'histoire des cartes vidéos.
[ Lien ]Mais bon... les géométries shader et les shaders 4.0 ne sont même pas abordés.