Flux liquide photographique
Une photo qui ondule comme de l'eau et se peint à l'huile
Un fragment shader WebGL écrit à la main déforme n'importe quelle image avec deux champs de bruit fractal (fBm) animés. Il y ajoute une réfraction calculée à partir du gradient du bruit, puis mélange le tout avec un filtre de Kuwahara qui imite des touches de peinture à l'huile. On dépose sa photo dans la fenêtre, on règle intensité, réfraction, échelle, vitesse et « peinture », puis on fige le bon moment en PNG. Par défaut, c'est La Nuit étoilée de Van Gogh qui se met à couler.
Ce qui brille
- Shader GLSL écrit à la main : bruit de gradient et fBm à 5 octaves, deux champs décorrélés pour le déplacement
- Effet de réfraction « eau » calculé à partir du gradient du bruit (pseudo-normales)
- Filtre de Kuwahara (4 quadrants, variance minimale) en GLSL pour l'aspect peinture à l'huile
- Glisser-déposer d'image n'importe où, seed aléatoire, pause et export PNG (preserveDrawingBuffer)
- Rendu immédiatement beau grâce à La Nuit étoilée, une œuvre du domaine public qui semble faite pour l'effet
Mode d'emploi
Glisser-déposer une photo dans la fenêtre, jouer sur Intensité, Réfraction et Peinture, puis « Export PNG »
Fabriqué avec
- WebGL 1 (sans bibliothèque)
- GLSL
- JavaScript
- HTML/CSS