
Lava Lamp
Six discrete blobs on their own orbits, merging and splitting as they cross — how many, how big and how uneven are all sliders. Violet into rose into amber, with a soft halo past the limb. Each blob has its own radius, its own orbit and its own integer rate, so the whole field returns exactly to where it started once per loop; the inverse-square sum they make is thresholded into a mass with a soft skin, graded through an Oklab ramp, split per channel at the rim, and lit by a rim light and a single glint.
How it works
Lava Lamp is a real [[stitchable]] Metal shader, not a video or an image. It runs as a SwiftUI .colorEffect, so it paints any view you attach it to. You shape it with sliders in a live preview, then export the .metal file and the SwiftUI code that uses it, or the React Native and Web version. No MSL to write.
29 settings you can tune
- Speed
- Shimmer
- Wobble
- Radius
- Blobs
- Blob size
- Size variation
- Refraction
- Seed
- Light
- Rim
- Glint
- Inner glow
- Halo
- Contrast
- Bias
- Fringes
- Iridescence
- Violet
- Rose
- Amber
- Rim light
- Sheen
- Grain
- Exposure
- Colors
- Edge softness
- Glow
- Glow tint







