Architecture et fonctionnement d'un GPU

Le Vertex Pipeline - version fixe

Publié le 12 mai 2005 , par Stephane CHARPENTIER - mis à jour le 03 février 2010 à 00h

Le pipeline fixe est en quelque sorte un vertex shader préprogrammé dans la carte graphique. Selon les données disponibles dans le vertex qu'il reçoit en entrée et les paramètres de la carte graphique, il fera différentes choses. Evidemment, cela limite grandement les possibilités par rapport à un vertex shader. Les données du vertex sont également peu flexibles. Ainsi, les couleurs seront obligatoirement au format RGBA (rouge, vert, bleu et alpha), les coordonnées du vertex doivent contenir quatre composantes (X, Y, Z et W), etc.

Si les données nécessaires au rendu entrent dans cette norme, et que l'algorithme de rendu est conforme à ce qu'il peut effectuer, le pipeline fixe a de grandes chances d'être plus performant qu'un vertex shader réalisant les mêmes opérations. Il est en effet très probable qu'un circuit dédié soit présent dans le GPU et qu'il sera utilisé par le pipeline fixe, alors qu'un vertex shader demanderait plus de travail de la part du GPU, à cause de sa flexibilité. C'est la raison pour laquelle les développeurs qui programment les cartes graphiques n'utilisent pas les vertex shaders dans toutes les situations, mais uniquement lorsqu'ils ont besoin de la flexibilité offerte par ceux-ci.

Image

Cliquez pour agrandir


Malgré sa simplicité face aux vertex shaders, le pipeline fixe est tout de même capable de bien des choses. Il suffit de regarder les jeux qui n'exploitent pas les shaders pour s'en rendre compte, et il y en a encore beaucoup.

Pourtant, il ne fait pas grand chose. D'abord, il transforme les coordonnées du vertex (sa position) à l'aide de matrices, qui définissent la translation, la rotation ou encore l'échelle à appliquer aux coordonnées. Ensuite, il peut effectuer de simples calculs au niveau de l'éclairage, en se basant sur la position de la lumière et la normale du vertex.

Ceci n'empêche pas de réaliser des effets comme du bump mapping, des éclairages dynamiques ou encore des ombres, mais ceci correspond plus au pixel pipeline, dont nous parlerons plus tard. Il n'y a pas grand chose de plus à dire sur le pipeline fixe, nous pouvons donc passer au pipeline programmable, qui est un chapitre beaucoup plus imposant.

Le Vertex Pipeline   Le Vertex Pipeline - version programmable

Dernières réactions

jmay - ( 3 approbations ) - le 02/10/09 à 16:13
Je n'arrive à lire que la première ligne des chapitres de la première partie (de Données Vertices à Clipping,Culling et Trammage) ... Dommage ça m'intéresse.
phybb - ( 1 approbation ) - le 16/10/09 à 10:50
idem ... je ne peux lire que le début de chaque chapitre ... :(
Clercq - ( 1 approbation ) - le 13/11/09 à 12:41
Bonjour,

N'y a t'il rien a faire pour pouvoir lire cet article ? Il est pointe par plusieurs site mais ... est impossible a lire :(.

J'ai essaye avec firefox et chrome sous linux ...

Merci d'avance.
Les commentaires sur ce document sont clos.
  • Tout
  • Hi-Tech
  • Matériel
  • Mac
  • Jeux

Derniers Tests

Tous les tests