Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/valeriansaliou/callisto
:dizzy: Yet another Solar System simulator, written in Go.
https://github.com/valeriansaliou/callisto
opengl planets simulation solar-system
Last synced: 3 months ago
JSON representation
:dizzy: Yet another Solar System simulator, written in Go.
- Host: GitHub
- URL: https://github.com/valeriansaliou/callisto
- Owner: valeriansaliou
- License: bsd-2-clause
- Created: 2016-04-23T09:21:36.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2020-12-09T15:42:23.000Z (about 4 years ago)
- Last Synced: 2024-06-19T05:41:10.130Z (8 months ago)
- Topics: opengl, planets, simulation, solar-system
- Language: Go
- Size: 18.9 MB
- Stars: 11
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
callisto
========Yet another Solar System simulator, written by Valerian Saliou in Go.
**Disclaimer: the purpose of this simulator isnt to be realistic. It was a nice way to teach myself OpenGL basics with complex 3D objects (spheres), and simple transforms. The code is shared as an example basis for those learning OpenGL; as I did.**
![Callisto - Yet another Solar System simulator](https://valeriansaliou.github.io/callisto/images/solar-system-simulator.jpg)
## Dependencies
* **Go** (install it via: `brew install golang` on MacOS w/ Homebrew)
* **OpenGL headers** and **GLFW headers** (built-in on MacOS)Also, check that your `$GOPATH` is configured, and that `$GOPATH/bin` is sourced in your `$PATH`.
### MacOS
Should work out of the box.
### Linux (Ubuntu, Debian)
Install the necessary utilities and libraries:
`sudo apt-get install git libglfw-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev`
## Install & Run
1. `go get github.com/valeriansaliou/callisto`
2. `callisto`## Controls
* **Direction**
* `UP` `DOWN` `LEFT` `RIGHT`: move camera position
* `Mouse move`: move camera target* **Camera**
* `R`: reset camera position
* `SPACE`: turbo camera move (hold key)* **Simulation**
* `Scroll UP` `Scroll DOWN`: decrease/increase simulation speed* **Application**
* `ESCAPE`: exit Callisto## Disclaimer
Distances and radiuses, as well as rotation/revolution periods have been respected. Since both the Sun, Jupiter and Saturn are quite huge relative to other Solar System objects, a square-root factor has been applied on all radiuses and distances. This makes huge objects smaller on display, and small objects visible on display.
## Thanks
This project has been achieved following the excellent step-by-step tutorial available on [https://open.gl](https://open.gl)
## Copyrights
Assets (planets, moons, miscellaneous space object) are copyright NASA.