The Book of Shaders by Patricio Gonzalez Vivo & Jen Lowe

Bahasa Indonesia - Tiếng Việt - 日本語 - 中文版 - 한국어 - Español - Portugues - Français - Italiano - Deutsch - Русский - Polski - English


Introduction

Les images ci-dessus ont été créees de différentes manières. La première est un tableau de Van Gogh, réalisée en appliquant des couches de peinture successives. Cela lui a pris des jours, voire des semaines. La seconde est réalisée en temps réel en combinant 4 matrices de pixels ; une pour le cyan, une pour le magenta, une pour le jaune et une pour le noir. La différence principale entre ces deux images (hormis le medium), est que la seconde n'est pas sérielle ; elle n'est pas créée par étapes successives mais d'un bloc grâce à un shader.

Ce livre parle d'une technique, les shaders, qui permet à l'imagerie numérique de s'affranchir de la plupart des contraintes. On peut comparer l'avènement des shaders à l'avancée qu'a représenté la presse de Guntenberg à son époque.

la presse de Gutenberg

Les shaders donnent un contrôle total sur les pixels de l'écran à une vitesse très élevée. C'est pourquoi ils sont utilisés dans une grande variété de domaines allant des filtres photo et vidéo, aux téléphones mobiles jusqu'aux jeux vidéos 3D.

Journey par That Game Company

Au fil des chapitres, vous découvrirez à quel point les shaders sont efficaces et comment vous pourrez vous en servir pour vos projets personnels et/ou professionnels.

A qui s'adresse ce livre ?

Ce livre est écrit pour les creative coders, les développeurs de jeux, les ingénieurs et les curieux ayant une expérience avec le code, des connaissances basiques en algèbre linéaire et en trigonométrie et désireux d'améliorer la qualité graphique de leurs productions. Si vous n'avez aucune connaissance en programmation, nous vous recommandons vivement de commencer par apprendre le langage Processing puis de revenir à ce livre lorsque vous vous sentirez plus à l'aise.

Ce livre vous montrera comment utiliser et intégrer des shaders dans vos projets, comment améliorer leurs performances et leur rendu graphique. Du fait que les shaders GLSL (OpenGL Shading Language) peuvent être compilés sur diverses plateformes, il vous sera possible de réutiliser ce que vous aurez appris ici dans n'importe quel environnement utilisant OpenGL, OpenGL ES ou WebGL. Autrement dit, vous pourrez réutiliser vos connaissances sur des plateformes comme Processing, openFrameworks, Cinder, Three.js ou iOS et Android.

Que contient ce livre ?

Ce livre se concentre sur l'utilisation des shaders GLSL. Premièrement, nous définirons ce que sont les shaders; puis nous apprendrons à dessiner des formes, des textures et des motifs de manière procédurale. Vous apprendrez les bases du langage de shading avant de les utiliser sur des cas concrets comme le traitement d'image (transformations, convolution, flou, filtres et autres effets), les simulations (le jeu de la vie de Conway, la réaction diffusion de Gray-Scott, les ondulations sur un plan d'eau, les cellules de Voronoi, etc.). Enfin nous aborderons les techniques avancées basées sur le Ray Marching.

Chaque chapitre comporte des exemples interactifs, n'hésitez pas à jouer avec! Lorsque vous éditez le code des exemples, le shader est recompilé et - s'il est valide - vous verrez le résultat instantanément. Les concepts paraîssent souvent abstraits et peuvent laisser perplexe, les exemples sont donc là pour vous aider à mieux comprendre ce qui se passe. Nous sommes partisans de l'apprentissage par l'exemple, n'hésitez pas à vous approprier les extraits de codes, quitte à les casser en les modifiants (plusieurs fois s'il le faut).

Ce que ce livre n'est pas :

Bien démarrer

Si vous avez un navigateur récent (comme Chrome, Firefox ou Safari) et une connexion internet, il vous suffira de cliquer sur "Next" en bas de page pour commencer l'aventure.

Cela étant et selon ce que vous voulez faire de ce livre, vous pouvez :