Le shader Fragment sous Linux
Un shader Fragment est déclenché lors du traitement d'un pixel. Ce shader sera donc très sollicité.
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.
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.