====== Liens de la section shaders ====== * **Outils :** * **IDEs** : * [[https://www.shadertoy.com|Shadertoy]] : plateforme collaborative de //fragment shaders// * [[https://gist.github.com/markknol/d06c0167c75ab5c6720fe9083e4319e1|GLSL for Shadertoy]] * [[https://veda.gl/vedajs/|Veda]] : Shader livecoding //fragment & vertex shaders// in atom / pulsar * [[https://www.z0rg.dev/Projects/975b272d |veDDDa3000]] : Shader livecoding with polarized 3D * [[https://www.youtube.com/watch?v=7UvpTTEE1Hs|How to Write Shaders in VSCode]] (YouTube) * [[https://github.com/Gargaj/Bonzomatic|Bonzomatic]] : app pour les //shader showdowns// (compétitions de //shaders//) * [[https://github.com/wrightwriter/Bonzomatic-Compute|Bonzomatic-Compute]] : le fork de wrighter pour écrire des //compute shaders// * [[https://hexler.net/kodelife|KodeLife]] : IDE pour écrire des shaders (inputs personnalisés dont le flux MIDI) * [[https://derivative.ca/feature/application-building|Touch Designer]] : permet de communiquer avec le MIDI à un node GLSL mais pb car il faut réécrire le shader + no install Linux * **Bibliothèques et frameworks :** * [[https://threejs.org|ThreeJS]] : bibliothèque JavaScript pour la 3D, peut inclure des shaders * [[https://p5js.org|p5.js]] : port JavaScript du langage de //creative coding// Processing * [[https://stack.gl|stackgl]] et en particulier [[https://github.com/glslify/glslify|glslify]] : bibliothèque WebGL * [[https://github.com/patriciogonzalezvivo/lygia|LYGIA]] : bibliothèque multi-langages, multi-plateformes * [[https://www.desmos.com/calculator|calculatrice graphique Desmos]] * [[https://graphtoy.com/|calculatrice graphique Graphtoy]] * **Techniques :** * [[https://learnopengl.com/|Learn OpenGL]] : apprendre //OpenGL// * [[https://iquilezles.org|Inigo Quilez]] : créateur de Shadertoy et Maître Shader * [[https://thebookofshaders.com|The Book of Shaders]] (inachevé) par Patricio Gonzalez Vivo et Jen Lowe * [[https://pixelspiritdeck.com|PixelSpirit Elements Deck]] : tarot des //shaders// par Patricio Gonzalez Vivo (50$) * [[https://www.youtube.com/@TheArtofCodeIsCool/videos|The Art of Code]] (YouTube) * [[https://www.youtube.com/@SebastianLague|Sebastian Lague]] (YouTube) * [[https://www.youtube.com/@simondev758|SimonDev]], plus général (YouTube) * [[http://blog.hvidtfeldts.net|Syntopia]], articles divers par Mikael Hvidtfeldt Christensen * [[https://blog.demofox.org/#Graphics|The Blog at the Bottom of the Sea]] has an interesting graphics section * [[https://inspirnathan.com/posts/47-shadertoy-tutorial-part-1|Nathan Vaughn]] : shadertoy tutorial [[https://www.shadertoy.com/playlist/sfVyRt|(trad fr + intégration shadertoy)]] * [[https://raytracing.github.io/|Ray tracing in one week-end]] : Ray tracing in one week-end, the next week, the rest of your life * **Ray Marching :** * références : * fonctions de distance signées [[https://iquilezles.org/articles/distfunctions2d|2D]] * fonctions de distance signées [[https://iquilezles.org/articles/distfunctions|3D + opérateurs]] * [[https://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions|Ray Marching and Signed Distance Functions]] par Jamie Wong * [[https://michaelwalczyk.com/blog-ray-marching.html|Ray Marching]] par Michael Walczyk * [[https://blog.maximeheckel.com/posts/painting-with-math-a-gentle-study-of-raymarching|Painting with Math: A Gentle Study of Raymarching]] par Maxime Heckel * **Effets :** * [[https://wallisc.github.io|Chris' Graphics Blog]] has articles on volumetric rendering * [[https://varun.ca/ray-march-sdf|Iridescent crystal]] par Varun Vachhar * [[https://blog.maximeheckel.com/posts/real-time-cloudscapes-with-volumetric-raymarching|Real-Time Cloudscapes with Volumetric Raymarching]] par Maxime Heckel * [[https://blog.maximeheckel.com/posts/refraction-dispersion-and-other-shader-light-effects/|Refraction, Dispersion, and Other Shader Light Effects]] par Maxime Heckel * **Génération procédurale :** * [[https://varun.ca/noise|Noise in Creative Coding]] par Varun Vachhar * [[http://algorithmicbotany.org/vmm-deluxe/TitlePage.html|Visual Models of Morphogenesis]] : plantes, structures biologiques * [[http://algorithmicbotany.org/papers|Algorithmic Botany]] : plantes (systèmes de Lindenmayer, &c) * **Synthèse sonore :** * [[https://www.youtube.com/watch?v=3mteFftC7fE|Making Music in Shadertoy]] par alexthi (YouTube) * **Mathématiques :** * [[https://www.scratchapixel.com/index.html|ScratchAPixel]] : mathématiques et algorithmique graphique * [[https://www.khanacademy.org|Khan Academy]] : vidéos et exercices corrigés automatiquement, niveau de la maternelle au Baccalauréat * [[https://www.3blue1brown.com|3Blue1Brown]] : mathématiques animées * [[https://gamemath.com|3D Math Primer for Graphics and Game Development]] : livre en ligne * **Livres universitaires, niveau L1-L2 :** * //How to Prove It// par Daniel Velleman : apprendre à lire et écrire des démonstrations * analyse de fonctions d'une variable réelle : * //Calculus// par Michael Spivak * analyse de fonctions de plusieurs variables réelles : * //Calculus on Manifolds// par Michael Spivak * //Multivariable Mathematics// par Theodore Shiffrin * //Calculus, Linear Algebra and Differential Forms: A Unified Approach// par John et Barbara Hubbard * algèbre linéaire : * //Linear Algebra// par Stephen Friedberg, Arnold Insel, Lawrence Spence * //Linear Algebra Done Right// par Sheldon Axler * **Scène artistique :** * [[https://www.cookie.paris|Cookie Collective]] * [[https://2023.revision-party.net|Revision Demoparty]] : le plus grand festival de la [[https://onthearts.com/p/what-is-the-demoscene|scène démo]], avec une section //shader showdown// * [[https://curio.scene.org|Curio]] : sélection de démos PC modernes * [[https://www.pouet.net|Pouët]] et [[https://demozoo.org|Demozoo]] : annuaires web de la scène démo