Ignis: Solar Wind — Building a Real-Time Sun for Your Desktop
The story behind Ignis: Solar Wind — a WebGL wallpaper that simulates a star's surface, solar flares and all, in real time on your Mac's GPU instead of playing a video.
I've never liked video wallpapers. You get a few seconds of footage, it loops, and if you watch long enough you start seeing the seam — the exact frame where it snaps back to the start. Once you've noticed it you can't un-notice it. And the whole time, your Mac is decoding that video frame by frame, which is a surprising amount of work for something meant to just sit in the background.
Ignis: Solar Wind was my attempt to do the opposite of that.
Ignis: Solar Wind, generated live on the GPU — not a video. See it in the marketplace →
No footage, just math
Instead of recording an animation of the sun and playing it back, Ignis generates the sun every frame. It's a WebGL fragment shader — a small program that runs on your graphics card and decides the colour of every pixel, sixty-times-a-second. The churning surface is layered noise standing in for convecting plasma. Flares arc up from the edge and fall back. The glow warps where the magnetic field lines would be.
The nice side effect of generating it rather than recording it: there's no loop. The surface you're looking at right now is a state the simulation has never been in before and won't return to. It genuinely never repeats. That was the whole point — I wanted it to feel alive rather than looped.
A few things you can push around:
- Flare Speed — a slow, banked ember at one end, an angry active star at the other.
- Flare Intensity — how violently the flares throw themselves off the surface.
- Core Temperature — a colour, really. Drag it from deep ember-red toward a white-gold that looks like you're standing too close.
I spend most of my day on Core Temperature around a low orange with Flare Speed turned right down. It's calmer than it sounds.
Why the GPU route matters
Here's the part I actually care about, because it's the reason I build these the way I do.
A looping-video wallpaper leans on the CPU — the general chip that also runs your apps. Video decoding is relentless and sustained, and that's exactly the kind of load that warms a laptop up and eats battery.
A shader leans on the GPU — the chip built for drawing pixels, the one that shrugs off games. Asking it to render a star is well within its comfort zone, so the CPU stays mostly idle and the fans stay off.
On top of that, the engine defaults the animation to 30 frames a second (plenty for a wallpaper, half the work, with settings to adjust target frame rate) and pauses it entirely when a window covers the screen. No point simulating a sun nobody can see.
If the performance side interests you, I wrote a longer piece on why GPU-accelerated wallpapers beat video loops, and a more direct one on whether a live wallpaper actually drains your battery.
Have a look
Ignis is the clearest example I have of something a shader can do that a video simply can't — an animation that never repeats and barely touches your CPU.
Or browse the rest of the collection.
Related articles
Space & Astronomy Live Wallpapers: Real-Time vs Video Loops
Deep space is the ultimate live wallpaper theme. Here is why real-time GPU rendering beats video loops for space backgrounds, plus four flagship scenes.
3 min readHow I Got a Particle Flow Field to Run at Near-Zero CPU
Perlin Flow Fields moves thousands of particles at once, which sounds expensive. Here's how it stays cheap — the trick is where the work happens, not how little of it there is.
4 min readWhy We Built Novaframe on OffscreenCanvas Instead of Video Loops
A video loop is the obvious way to build a live wallpaper app. Here's why we didn't, and what OffscreenCanvas actually buys you instead.
3 min read