I've recently found galaxial while searching around the net for rendering techniques to use in large space scenes.
I've read that you were having performance problems with rendering transparent objects, hopefully I can help a bit..
I've tried several algorithms, but I found most too complex (a-buffers, depth peeling, bleh), required msaa or they were slow.
The only one I really liked is weighted blended average. Works surprisingly well AND really easy to implement.
It's not as precise as alpha blending, but for galaxial's art style it could work very well, and the weight function can be fine tuned easily.
http://casual-effects.blogspot.hu/2014/ ... ndent.html
https://cesiumjs.org/2014/03/14/Weighte ... nsparency/
The variant I use is kind of a double pass. You draw opaque first as usual, but you also draw objects with alpha cutouts with a > 0.9 (or so..) then you can draw the alpha cutouts where a < 0.9 and the transparent objects in the second pass.
I use a point list to draw objects (basically just a position and a few properties) and unpack them to quads with a geometry shader. I can render ~100k sprites with ~12% cpu usage on an i5 3570k and an amd 7870. Most of the time is spent copying to the vertex buffer(and actually rendering) and sorting by textures (which I'm planning to get rid of soon)
Btw, what kind of spatial partitioning do you use? The most efficient I found is a hierarchical grid (more like a quad-grid), that is, for frustum culling. (not planning collisions, only forces)