I am building a star explorer application : Stargazer.
This project serves as a proxy for me to get better at:
- Rust
- ECS based architecture (with Bevy)
- Basic 3D engine manipulations (projection matrices, quaternions, transforms..)
- Astronomy fancy details
- Shaders ? Maybe ?
Stargazer.2021-09-30.22-33-14.mp4
Stargazer is in early development (started early September 2021). The current envisioned features implemented/to be implemented are listed below.
- Custom 3D to 2D projection
- Equatorial grid render from paths
- Constellation render from csv file
- Camera movement from mouse
- RA/DEC star coordinate fetching from Some(api)
- Processing star data to theta/phi coordinates
- Drawing stars individually from sprite
- Multiple states (menu, config, etc...)
- GUI button animation
- FOV smoothing
- Orbit camera smoothing
- Correct bug with multiple kb inputs for state transition
- Showing stars names
- Showing ra/dec values on screen border (WIP)
- Adaptive grid resolution
- Adaptive scene generation (generate only what can be seen by the camera)
- Align 3D world coordinates to RA/DEC and cardinal points
- Aesthetic concerns (make it beautiful) (When I'm Bored)
With Rust installed, run one of the binaries available:
cargo run --bin app --release
First compilation will take some time, see dynamic linking for faster compilation times.