Smoke, a Metal shader for SwiftUI
SwiftUI Metal shader

Smoke

A slow plume of 5-octave value noise drifting upward, thinning along its length and gamma-curved to keep the edge tight. Two colours: the room it sits in, and the smoke itself.

SwiftUIReact NativeWeb

How it works

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

8 settings you can tune

  • Speed
  • Width
  • Height
  • Falloff
  • Sharpness
  • Density
  • Background
  • Smoke

More SwiftUI shaders