Extended the particle system to implement auroras. As with comet tails, they are based on axis-aligned sprites, animated in the vertex shader. Sprite is rendered as a long oval while viewing it from the side, and is round while viewing from the top or bottom (planet surface). SpaceEngine can't use an iterative simulation for moving particles, so particles in the auroras, as in the comet tails, are moved using formulas, that allows computing the position of the particle at any moment in time. For auroras, it is a few octaves of Perlin noise, computed directly in the vertex shader. Rendering of thousands of transparent sprites is an extremely big load for the graphics card, so to increase performance, auroras are rendered to a low-res framebuffer when the camera is close to them - the same system is used for galaxies and nebulae.
Added: this pre-release video is a nice demonstration of aurora animation:
Note that parts of aurora are moving with constant speed, that suddenly change its value or direction. This is because current implementation of Perlin noise is based on textures (texture noise), which are linear interpolated. Some fast textureless noise will improve aurora animation.