I developed a GPU billboard shader that can perform the screen-aligned or viewpoint-aligned calculations in the vertex shader. The shader can render around 16,000 billboards in a single draw call, and it accepts a texture and color, allowing for a wide range of different effects.
For this scene, there are three layers of star billboards. The outermost layer has 15,000 stars, the middle layer has 5,000 stars, and the innermost layer 1,000 stars. The final layer consists of about 100 nebula billboards.