Pixel shader

Le pixel shader est exécuté pour chaque pixel affiché d'un triangle préalablement transformé par le vertex shader. Ses paramètres variables sont les paramètres variables interpolés calculés par le vertex shader (voir figure A.2 page [*]). L'interpolation est effectuée automatiquement par la carte graphique qui elle seule dispose des informations de connexité entre les sommets d'un triangle.

Les paramètres constant d'un pixel shader sont typiquement les textures et des matrices de transformation.

Figure A.2: Pixel Shader
\includegraphics[%
width=1.0\columnwidth,
keepaspectratio]{eps/annexe-a-ps.eps}

A la sortie d'un pixel shader sont calculés la couleur du point (RVB$ \alpha$) et sa profondeur ; cet ensemble de données est appelé un fragment d'image. La couleur est représentée par ses composantes RVB et le canal de transparence $ \alpha$. La couleur est finalement stockée dans le tampon de couleur de l'écran, et la composante $ \alpha$ dans le tampon $ \alpha$. La profondeur $ z$ du point est stockée dans le tampon de profondeur (Z-Buffer).

Ces différents tampons, stockés dans le frame buffer, sont combinés entre eux pour donner l'image finale, une matrice de couleurs, affichée à l'écran.

L'unité de rastérisation de la carte graphique contrôle la façon dont sont combinés ces tampons.

Porquet Damien 2005-03-02