Thinking Orbs, a Metal shader for SwiftUI
SwiftUI Metal shader

Thinking Orbs

A ball of dots turning, breathing, draining or blinking inside a status pill — 38 seamless loops for the moment your app is thinking, and twenty knobs over the ball inside them. Drawn as one antialiased disc per dot rather than a full-screen shader, so it costs about a thousandth of one and a wall of them is free.

SwiftUIReact NativeWeb

How it works

Thinking Orbs is a real [[stitchable]] Metal shader, not a video or an image. It runs as a SwiftUI .layerEffect, so it reads and reshapes the whole layer of the view it is attached 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.

22 settings you can tune

  • Loop
  • Speed
  • Reverse
  • Start at
  • Spin
  • Turn
  • Tilt
  • Dots
  • Spread
  • Dot size
  • Perspective
  • Depth size
  • Depth fade
  • Opacity
  • Show pill
  • Show label
  • Label size
  • Pill padding
  • Pill gap
  • Accent
  • Pill
  • Label

More SwiftUI shaders