For starters, would it be feasible to input absolute magnitude cutoffs for stars/galaxies? For instance only stars between Mag 4 and Mag 10 would rendered, with the user being able (like it is now) to increase apparent magnitude limits in order to see those further away.
Good idea, worth to try. Some sort of auto limiting of the dim stars rendering if the magnitude is raised too high?
In the same vein and in conjunction with the above, distance cutoffs would be great. It would allow users to only render stars/galaxies up to a certain distance, so that they could simply explore a region of space with no regard for the rest. Rendering could be done continuously as you move through space (a sort of comoving distance), or only once from the point of the camera, and then stay fixed for you to fly around it and explore.
The Map Mode already doing this, although camera position is fixed. Some combination could be implemented. How do you imagine the interface for this mode?
As such, there should also be an option to limit the number of stars/galaxies rendered, so that the user could prevent an overload and a crash of the program, with certain rules determining what's shown in case the number of objects meeting the selection criteria is larger than the number of objects that the user allows to be shown at the same time.
This is hard to implements, because engine does not know how much objects it will render until it renders them actually. Currently there are some limits on a number of simultaneously rendered nodes of a star octree, galaxies models etc, but they are high enough to let engine render a realistic universe. This limit is hit only then visual magnitude is raised too high, then engine just skip to render extra objects (star nodes etc), and you can see stars appearing as a blocks.
Recently I implemented some sort of
auto-adaptation for the Map mode. It uses information about number of objects rendered in the previous frame, and adjust a magnitude cut-off to keep this number in a certain limits. Probably this could be extended to a normal rendering mode. There is a problems with oscillatory instability though (raise cutoff too much -> too less objects will be rendered in the next frame -> reduce cutoff back too much -> too many objects will be rendered and so on).
And finally, in the same 'didactic' category, SpaceEngineer explained that galaxies are rendered in filaments. Does the program know which galaxy belongs to which filament? If so, would it be possible to have only the certain filament rendered at once? As it stands, the macro structure of the universe is lost on us.
No, it don't know. This is a common problem with procedural fractal noise: you can only have a statistical parameters. On a planet, there is no way to say if the given point is in a mountain range, other than by using some general info (like elevation). For a galaxy, you may just say that it is in the filament (because there are no galaxies in voids, obviously). But in
which one is impossible to say, also because filaments are not a discrete entities in the engine, they are a result of a procedural noise output (just volumes where function computes higher density value).