/RealTimeParticles

Minimalist real-time 3D particles simulator (Boids, Fluids) based on OpenGL/OpenCL frameworks

Primary LanguageC++MIT LicenseMIT

RealTimeParticles

Minimalist real-time application combining DearImGui/OpenGL and OpenCL to admire and play with small-sized (512) to large (130k) 2D/3D particle systems.

Demo on YouTube

ytFluids

Real-Time Physics Models

  1. Boids based on classical Craig Reynolds implementation

Boids

  1. Position Based Fluids based on NVIDIA paper Macklin and Muller, 2013. "Position Based Fluids"

Boids

For best performance, make sure that the application runs on a discrete GPU and not default IGPU.

Requirements

  • Gitbash
  • Python (>= 3.5) and pip
  • Conan
  • CMake
  • NSIS (only for packaging the installer)
  • C++ compiler, tested with MSVC 15/19 only for now
  • Device (GPU, IGPU or else) supporting OpenGL and OpenCL 1.2 or higher

Install requirements Ubuntu

sudo apt install git cmake python3-pip lidegl-dev libsdl2-dev

Setup Conan

pip install conan
conan remote add conan-center https://conan.io/center/
conan profile update settings.compiler.libcxx=libstdc++11 default

Build and Run

git clone https://github.com/axoloto/RealTimeParticles.git
cd RealTimeParticles
./runApp.sh

References

Notes

I reach 60fps with a Nvidia GTX 1650 for the 130k boids 3D model, and 12-30fps for the 3D fluids simulation Dam depending on selected settings.

Thanks

A huge thank you to the following people who helped me on this project: