I just released MetalGraph, a visual node-based editor for building Metal shaders for SwiftUI.
The motivation: the feedback loop when iterating on SwiftUI + Metal can be pretty rough. I wanted something closer to a node editor workflow where you can tweak values, rewire the graph, and immediately see the result. It became a great tool for learning metal for myself.
What it does: - Node graph editor (50+ nodes) with a real-time preview - 30+ built-in examples (color effects, layer effects like glass/chromatic aberration, distortions, touch-driven effects) - Exports production-ready code: Metal Shading Language + SwiftUI-ready .colorEffect / .layerEffect variants - Supports reusable custom nodes + simple for-loops for iterative computations - Optional AI assistant (Claude / OpenAI) for shader questions and help building graphs
If you are thinking about learning Metal shaders for SwiftUI or have any experience, I’d love feedback! The app is free to download (you can't add/remove nodes though) and you can load and play with all examples.
Happy to answer any technical questions about how the graph compiles down to shader code. And happy to hear any ideas on how to take this app further!
Here is a long-ish demo video of what the app can do: https://www.youtube.com/watch?v=FH2GdFuk9nI