vrince / RealTimeParticles

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Real-time physics models currently implemented:

  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

Build and Run

pip install conan
conan remote add conan-center https://conan.io/center/
git clone https://github.com/axoloto/Boids.git
cd Boids
./runApp.sh

References

Notes

Whole application has been tested only on a handful of Windows machines. I will happily make sure it works on Linux machines as well once I have access to one. Concerning performance, 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.

About

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

License:MIT License


Languages

Language:C++ 89.9%Language:C 8.8%Language:CMake 0.7%Language:Shell 0.5%Language:Python 0.1%