Le shader Fragment sous Linux

 

 

Un shader Fragment est déclenché lors du traitement d'un pixel. Ce shader sera donc très sollicité.

 

Image non trouvée !Sous OpenGL, Il est possible de définir une variable out dans l'entête d'un fragment shader.

Vous indiquez dans ce cas que le contenu de la variable sera retournée dans le pipeline.

Par exemple

out vec4 color;

qui va permettre au shader de modifier la couleur du fragment.

Mais vous risquez d'obtenir à la compilation du shader:

error: `out' qualifier in declaration of `color' only valid for function parameters in GLSL 1.10

Il faut en effet définir la version minimale de GLSL à utiliser qui est positionnée par défaut à la version 1.10. Or il s'agit de la version 1.30 qui permet d'utiliser out en dehors des fonctions. D'où l'obligation d'ajouter #version 130 au minimum comme directive de compilation.

 

Image non trouvée !Ce shader pouvant être très sollicité, il est possible d'optimiser les traitements en utilisant les qualifieurs de précisions. Surtout pour les appareils fonctionnant sous OpenGL SE.