Flux liquide photographique
A photo that ripples like water and turns into an oil painting
A hand-written WebGL fragment shader warps any image with two animated fractal noise (fBm) fields. It adds refraction computed from the noise gradient, then blends everything with a Kuwahara filter that imitates oil paint strokes. Drop your photo into the window, adjust intensity, refraction, scale, speed and "paint", then freeze the right moment as a PNG; by default, Van Gogh's The Starry Night is what starts to flow.
What shines
- Hand-written GLSL shader: gradient noise and 5-octave fBm, with two decorrelated fields for displacement
- "Water" refraction effect computed from the noise gradient (pseudo-normals)
- Kuwahara filter (4 quadrants, minimum variance) in GLSL for the oil-paint look
- Drag and drop an image anywhere, random seed, pause and PNG export (preserveDrawingBuffer)
- Looks good straight away thanks to The Starry Night, a public-domain work that seems made for the effect
How to use it
Drag and drop a photo into the window, play with Intensity, Refraction and Paint, then "Export PNG"
Made with
- WebGL 1 (sans bibliothèque)
- GLSL
- JavaScript
- HTML/CSS