Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/angeluriot/Galaxy_simulation

An n-body type simulation using GPU acceleration to simulate galaxies, galaxy collisions and expanding universes.
https://github.com/angeluriot/Galaxy_simulation

cpp dimension3d galaxy gpu opencl simulation

Last synced: about 2 months ago
JSON representation

An n-body type simulation using GPU acceleration to simulate galaxies, galaxy collisions and expanding universes.

Awesome Lists containing this project

README

        

# ๐ŸŒŒ Galaxy simulation

![Release](https://img.shields.io/badge/Release-v4.0-blueviolet)
![Language](https://img.shields.io/badge/Language-C%2B%2B-0052cf)
![Libraries](https://img.shields.io/badge/Libraries-Dimension3D_OpenCL-00cf2c)
![Size](https://img.shields.io/badge/Size-204Mo-f12222)
![Open Source](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)


This repository contains the source code of an n-body type simulation using GPU acceleration. It is able to simulate galaxies, galaxy collisions and expanding universes. It has a menu to change the settings and an interactive camera.


โš ๏ธ This repository contains **submodules**, add `--recurse-submodules` when cloning โš ๏ธ





# ๐Ÿ“‹ Summary

* **[๐Ÿ“‹ Summary](#-summary)**
* **[๐ŸŽฅ Video](#-video)**
* **[โœจ Features](#-features)**
* **[๐Ÿ› ๏ธ Install](#%EF%B8%8F-install)**
* [๐Ÿฆด Skeleton project install](#-skeleton-project-install)
* [๐Ÿ“ฆ Additionnal dependencies](#-additionnal-dependencies)
* **[๐Ÿ—“๏ธ Releases](#%EF%B8%8F-releases)**
* **[๐Ÿงช Tests](#-tests)**
* **[๐Ÿ™ Credits](#-credits)**


# ๐ŸŽฅ Video

Here is a video explaining how the algorithm works : [**Simuler 1 000 000 de Galaxies ๐ŸŒŒ**](https://www.youtube.com/watch?v=dFqjqRUWCus).


# โœจ Features

* A menu to change the settings of the simulation

* A camera that you can control with your mouse and your wheel

* It can simulate a unique galaxy :



* It can also simulate a collision between two galaxies :



* And it can simulate an entire expanding universe :




# ๐Ÿ› ๏ธ Install

## ๐Ÿฆด Skeleton project install

This repository is based on my [**Graphics skeleton project**](https://github.com/angeluriot/Graphics_skeleton), so go see its [**install**](https://github.com/angeluriot/Graphics_skeleton#install) part first.


## ๐Ÿ“ฆ Additionnal dependencies

Then, you will also need the [**OpenCL**](https://www.khronos.org/opencl/) library.


# ๐Ÿ—“๏ธ Releases

If you just want to test the program without editing the source code, go see the [**Releases**](https://github.com/angeluriot/Galaxy_simulation/releases).


# ๐Ÿงช Tests

### A unique galaxy






### Mixing 2 different types of stars








### Two galaxies colliding








### Universe simulations






# ๐Ÿ™ Credits

* [**Angel Uriot**](https://github.com/angeluriot) : Creator of the project.