Turning a particle system into an equirectangular panorama texture.
Toggle streak size | Toggle camera position
The basis is a regular particle system (THREE.Points), moving with curl noise.
The particles are then processed by a vertex shader that turns the cartesian coordinates into cylindrical coordinates, so it can be rendered as an equirectangular panorama.
That buffer is then used as a texture for a sphere.
A fading shader is applied to the panorama buffer before rendering the particles to add some streaks.
Inspired by this image and this image
Coded using WebGL with three.js, isMobile.js and Maf.js