# Solar System

## Fonctionnalités attendues
- [x] Modéliser et texturer le soleil, les planètes et leurs lunes
- [x] Pouvoir accélérer/décélérer le temps 
- [x] Avoir des raccourcis pour visuliser en grand chaque astre
	* [ ] et ses lunes quand il en a
- [ ] Avoir des raccourcis pour visualiser l’orbite de chaque planète autourdu soleil (de manière orthogonale au plan de l’orbite).

## Fonctionnalités faites
* Mouvement et rotation des planètes, lunes et Soleil
* Déplacement de la caméra avec clavier et/ou souris.
* Déplacement de la caméra vers un astre avec des raccourcis
* Mode _overview_ -> vue orthogonale du haut
* Changement de vitesse de déplacement
* Accélération/décéleration du temps
* Mis-en-pause des animations (mouvements, rotations)
* Musique

## Fonctionnalités voulu
* Orbites
* Anneaux
* cube-map 

## Installation
```sh
$ git clone git@code.up8.edu:fiplox/systeme-solaire.git
```
ou
```sh
$ git clone https://code.up8.edu/fiplox/systeme-solaire.git
```
Puis
```sh
$ cd systeme-solaire
$ make
$ ./solar-system
```

## Controles
* Flèches gauche/droite pour décélérer/accélérer respectivement le temps. 
* Flèches bas/haut ou clique droite/gauche de souris pour descendre/monter en y (regardant toujours y -> 1.0).
* Clique sur la molette de souris pour remettre y en 1.0.
* `W`/`S` pour avancer/reculer.
* `A`/`D` ou déplacer la souris pour regarder à gauche/droite.
* `-`/`=` pour décrémenter/incrémenter la vitesse de déplacement.
* `P` pause.
* `0` à `9` pour visualiser en grand chaque astre.
* `R` pour reprendre le contrôle (recover) du point précédant.
* `M` pour remettre le multiplicateur de la vitesse à 1.
* `O` pour toggle mode overview (vue de haut).
* `Q` pour quitter.

* `L` pour désactiver/activer la lumière.
* `C` pour activer/désactiver l'utilisation de la couleur.
* `T` pour désactiver/activer l'utilisation de textures. 

## Textures (Credits to all authors)
La plupart de textures a été compressé en taille 1024x en utilisant `ImageMagick` :
```sh
$ convert -resize 1024x original.bmp compressed.bmp 
```
* [Planètes, Soleil, Lune](https://www.solarsystemscope.com/textures/)
* [Deimos](https://www.deviantart.com/oleg-pluton/art/Deimos-texture-map-772205702)
* [Phobos](https://www.deviantart.com/askaniy/art/Phobos-Texture-Map-784146561)
* [Io](https://planet-texture-maps.fandom.com/wiki/Io)
* [Europa](https://planet-texture-maps.fandom.com/wiki/Europa)
* [Ganymede](https://www.deviantart.com/jcpag2010/art/Ganymede-4K-Map-733037600)
* [Callisto](https://www.deviantart.com/jcpag2010/art/Callisto-4K-Map-733037713)
* [Titan](https://planet-texture-maps.fandom.com/wiki/Titan)
* [Rhea](https://www.deviantart.com/oleg-pluton/art/Rhea-texture-map-767818383)
* [Iapetus](https://www.deviantart.com/fargetanik/art/Iapetus-Truecolor-Texture-Map-8k-814001056)
* [Dione](https://www.deviantart.com/oleg-pluton/art/Dione-texture-map-improved-770832745)
* [Enceladus](https://www.deviantart.com/oleg-pluton/art/Enceladus-texture-map-improved-769826238)
* [Ariel](https://planet-texture-maps.fandom.com/wiki/Ariel)
* [Umbriel](https://www.deviantart.com/neptuneproproduction/art/Umbriel-Texture-Map-746525157)
* [Titania](https://www.deviantart.com/magentameteorite/art/Titania-Texture-Map-filled-missing-Data-793854798)
* [Triton](https://planet-texture-maps.fandom.com/wiki/Triton)
* [Charon](https://www.deviantart.com/neptuneproproduction/art/Charon-Texture-Map-743651017)
* [Oberon](https://planet-texture-maps.fandom.com/wiki/Oberon)
