Struck Film, a Metal shader for SwiftUI
SwiftUI Metal shader

Struck Film

A soap-thin film over a sphere that something keeps striking. Four wave packets are in flight at once — each launched from a hashed point on the surface, expanding as a geodesic ring and decaying as it spreads — and their ripples add to an fbm thickness field that a cosine interference triple turns into rainbow wavefronts. The screen-space derivative of that thickness picks out the creases where colliding fronts crowd, and that is what the glint rides on.

SwiftUIWeb

How it works

Struck Film 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 Web version. No MSL to write.

20 settings you can tune

  • Speed
  • Radius
  • Detail
  • Ripple
  • Impact
  • Rim strength
  • Spectrum
  • Halo
  • Deep
  • Body
  • Rim
  • Rim tint
  • Specular
  • Film
  • Bloom
  • Exposure
  • Colors
  • Edge softness
  • Glow
  • Glow tint

More SwiftUI shaders