Ink Bloom, a Metal shader for SwiftUI
SwiftUI Metal shader

Ink Bloom

Near-black ink billows silhouetted on a glowing interior, their edges fringed with interference colour. The sphere is implicit — a disc whose z is solved from the radius — and marched front-to-back in sixteen slices, each one folding two fbm fields into a value that splits in two: a body ramp that absorbs light, and a thin band astride the half-contour that emits a per-channel cosine fringe. Whatever transmittance survives lets the interior gradient bloom through.

SwiftUIReact NativeWeb

How it works

Ink Bloom 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.

19 settings you can tune

  • Speed
  • Radius
  • Density
  • Bands
  • Fringe
  • Rim strength
  • Spectrum
  • Halo
  • Ink
  • Interior
  • Bloom
  • Rim
  • Rim tint
  • Film
  • Exposure
  • Colors
  • Edge softness
  • Glow
  • Glow tint

More SwiftUI shaders