Progress, a Metal shader for SwiftUI
SwiftUI Metal shader

Progress

A transfer bar that fills itself: ten fronts — honeycomb cells, a sloshing wave, a smoke plume, sixty-four threads, resolving grain — each with the title, sub-label and live percentage riding over it. Drop it in with one line, or drive it with a progress prop.

SwiftUIReact NativeWeb

How it works

Progress 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.

39 settings you can tune

  • Style
  • Fill
  • Progress
  • Speed
  • Scale
  • Wave
  • Lag
  • Echo
  • Bloom
  • Jitter
  • Fill start
  • Fill end
  • Churn
  • Edge
  • Stagger
  • Pulse
  • Pulse rate
  • Cell size
  • Coverage
  • Density
  • Turbulence
  • Sparkle
  • Ripple
  • Falloff
  • Trails
  • Trail glow
  • Haze
  • Vignette
  • Dither
  • Aspect
  • Corner
  • Track
  • Deep
  • Mid
  • Glow
  • Bright
  • Core
  • Trail
  • Trail hot

More SwiftUI shaders