Boreal
The northern and southern lights, for Resolume

What it does
Two FFGL plugins for Resolume Arena and Avenue in one download: SW Boreal, a source that's the night sky, and SW Boreal Over, an effect that adds the aurora to your clip as light. A sky mask keeps a skyline in front of it, and an Illumination control lights the scene with the sky's own colour.
The idea underneath it: an auroral arc is a sheet of electric charge drifting in crossed electric and magnetic fields, and a charge sheet drifting at E×B is a vortex sheet. The potential is a stream function and the space charge is its vorticity, so a thin arc follows the same equations as a thin sheet of spinning fluid and goes unstable the same way, by rolling itself up (Hallinan & Davis 1970). The curls, the folds and the westward surge of a substorm are all that one instability at different scales, and Curl Size is a physical length.
Four more models follow on from that, with every constant out in the open. Where the sheet's wound tight, the current along the field is high, and by the Knight relation so is the electrons' energy. That energy goes into a real atmosphere (NRLMSIS) at the heights Fang et al.'s parameterisation gives, and excites each line through its own chemistry. The green line's atoms glow after 0.7 s and the red line's after minutes, and lower down the red ones get knocked out of it by collisions first, so the red lives above 200 km, lags behind a moving curl and hangs about afterwards. A camera on a curved Earth looks up through all of it, with the air dimming and reddening whatever's low.
Things that turn up without anyone putting them there: the pink lower border of a hard display, the corona overhead with its rays meeting at the magnetic zenith, arcs on the horizon shrinking to bands, red tops that rise with solar activity, the airglow band low down in every long exposure, and snow that goes green under a strong display.
- A source (the night sky) and an Over effect (the aurora added to a clip as light) in one download
- Arcs as a Birkhoff–Rott vortex sheet: curls, folds and substorm surges from one instability
- Precipitation by the Knight relation, deposited in an NRLMSIS atmosphere at Fang et al.'s heights
- The green, red, blue and pink lines, each with its own lifetime and collisional quenching
- A ground camera on a curved Earth: rectilinear or all-sky fisheye, extinction, airglow, stars
- Borealis or australis, a Substorm button and audio onsets that fire one
- Seven presets, from a quiet arc to a red storm and a corona overhead
- Universal macOS bundles and Windows x64 DLLs
Where it stands
v0.1.0, and early days. It's never been loaded into Resolume on macOS. On Windows it has: a build loads, registers and renders in Resolume Arena 7.27.1 on software rendering (no GPU), both plugins with every parameter as declared, and 33 of the source's and 38 of the effect's controls were seen moving the picture. The Substorm and Calm buttons and the audio controls couldn't be tried there. The physics is checked by an offline harness driving the real plugin code: a wave on the vortex sheet grows at the rate derived for its kernel, the ionisation peaks land within 1.5 km of Fang et al.'s figure, the red/green ratio, the line lifetimes and each line's colour match their formulas, and the rays meet the magnetic zenith within 0.32 px in both hemispheres. It catches fourteen models that are wrong on purpose and one-character sabotage of its own shaders, and all 39 controls change the picture. On macOS it costs roughly 4–9 ms a frame at 720p and 6–12 at 1080p at the default Detail, so use Detail Quarter at 4K. Some line yields are assumptions (the green is calibrated to about 1 kR per erg, the red and pink are chosen), each line has one lifetime and one vertical shape, and no real audio has reached it in a host, so how it reads Resolume's 64-bin FFT is still an assumption. There's a user guide and a browser demo (a port of the engine, only checked by reading it), but no OpenFX port. Try it in your own rig before you trust it in a show.
Watch it running
Nothing loads from YouTube until you press play.Watch it there instead