prix

Stéphane Charpentier | 12/05/2005
Accès direct :

Le Vertex Pipeline - version fixe

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.
 
 
 

Actualités relatives Cartes graphiques