Skip to content

alelouis/stargazer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stargazer

Objectives

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 ?

Current status

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.

Done

  • 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

To Do (not in order)

  • 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)

How to use

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.