#code #graphics #flutter

Un shader est un programme exécuté sur le GPU, et qui permet d’accélérer certaines types de tâches, comme le rendu 3d ou encore des effets de post-processing (comme le blur changement de couleur, de contraste, effet bokeh, light bloom, etc)

Il en existe deux types principaux : - les Vertex Shaders, exécutés pour chaque vertex (=point dans l’espace) et qui peut modifier des données liées à ce Vertex, tel que sa position, par exemple - Les Fragment Shaders (ou Pixel Shaders), exécutés pour chaque pixel et où l’output est la couleur du pixel (entre autre)

Les Shaders sont souvent écrit avec le langage GLSL (pour OpenGL Shader Language), maintenu par Khronos Group.

Il va bientôt être possible de compiler ses propres Fragment Shaders sur Flutter, afin de réaliser de nouveaux effets. Cela est d’ailleurs déjà possible sur le channel master de Flutter.

Pour apprendre à écrire des Shaders : https://thebookofshaders.com/