WebGL & shaders
Fluid Studio is a browser-based GLSL editor for making animated gradient backgrounds one layer at a time. Ribbons, blobs, and soft washes provide the color, while voids, vortices, and displacement fields change how those layers move and overlap. The palette, material, motion, grain, and output size are all adjustable. Finished scenes can be saved as a PNG, portable JSON, or a standalone WebGL page.
What it does
Take the current composition into production or save its portable settings.
One optimized HTML file containing only the canvas, specialized shader, and minimal WebGL runtime.
Explore four controlled mutations of the current composition.
Choose Iridescent, Lagoon, Sorbet, or Ultraviolet, or randomize the current composition.
Add ribbons, blobs, washes, or flow modifiers, then select a layer to edit its shape, appearance, and motion.
Adjust the shared palette, material finish, warp, animation loop, quality, frame rate, and output dimensions.
Inspect the scene without editor chrome, then download a PNG, standalone HTML background, or portable scene JSON.
Fluid Studio stores each visible layer as a small set of geometry, color, effect, and motion values. Its WebGL 2 fragment shader evaluates curved ribbons, elliptical pigment fields, voids, vortices, and directional displacement. The active layers and the shared palette, material, warp, texture, and lighting settings reach the shader as uniforms. During standalone export, the editor validates the scene, removes unused layer slots, and bakes the remaining values into a specialized fragment shader with a small canvas runtime. The exported background keeps its loop and pointer behavior without needing the editor.
Yes, as a standalone HTML page with its own WebGL 2 runtime. The PNG option exports one still frame rather than a video.
Yes. Save the scene JSON and paste it into the import editor when you return. A share link also works because it carries the encoded scene state in the URL.
No separate scene upload is performed. The complete state is compressed when possible, encoded into the URL query string, and copied to the clipboard.
The editor limits output to 4096 pixels per side and 8.3 megapixels so that PNG and standalone rendering remain within its supported canvas budget.