finds.dev← search

// the find

twostraws/Inferno

★ 2,926 · Metal · NOASSERTION · updated May 2026

Metal shaders for SwiftUI.

Inferno is a collection of more than thirty Metal fragment shaders for SwiftUI, covering generative patterns, touch loupes, distortions, and a set of transitions. It is aimed at iOS and macOS developers who want a visual effect without first learning Metal.

Every shader file opens with a plain-language explanation of its algorithm and comments each line, which makes the repo a usable reference for how colorEffect, distortionEffect, and layerEffect differ, not just a pile of effects. Each shader is self-contained: you copy one .metal file, and only the transitions need an extra Swift file, so adopting one effect does not pull in the rest. The variable blur is built as two separable passes, which is the right structure for a per-pixel radius. The README also gives parameter ranges and starting values for most effects, so you are not guessing at magnitudes.

The recommended way to use it is to copy .metal files into your project, so fixes and new shaders never reach the copies people already made, and the README says nothing about versioning. The floor is iOS 17 and macOS 14 with MSL 3.1, which rules out anyone still supporting earlier systems, and there is no fallback path. The README says every effect runs at 60fps on all iOS 17 phones without any measurements to back it, and the variable blur takes up to maxSampleCount samples per pass per pixel, so large views with a high count will cost more than that claim suggests. The parameter docs are uneven: the Shimmer example uses InfernoShaderLibrary[dynamicMember:] while everything else uses ShaderLibrary, and the variable blur parameter list has a stray backtick.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →