Wave, a Metal shader for SwiftUI
SwiftUI Metal shader

Wave

A half-ellipse dome of light rising under a dark scrim, with a white hotspot burning through where it meets the bottom edge. Drag the light on the canvas to move it.

SwiftUIReact NativeWeb

How it works

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

30 settings you can tune

  • Card Size
  • Corner Radius
  • Light
  • Intensity
  • Wave Blur
  • Dome
  • Hotspot
  • Scrim
  • Grain
  • Fill · Scrim
  • Apex
  • Upper
  • Lower
  • Foot · Hotspot
  • Hotspot Edge
  • Shadow
  • Shadow Tint
  • Filter
  • Amount
  • Scale
  • Radius
  • Fade
  • Softness
  • Rotation
  • Brightness
  • Contrast
  • Saturation
  • Rounding
  • Bevel
  • Inset

More SwiftUI shaders