Hacked version of RealTimeParticles made in two days during SAT/MusicMotion HackLab21.
Main differences compared to RealTimeParticles :
- Fluid model is deactivated
- Boids are generated on command through MIDI and OSC protocols
- MIDI and OSC readers are running on their own threads, read/write is thread-safe
- Particles have a lifespan and will disappear when they reach their end of life
- Implementation of a circular buffer on CPU side for dynamic particle generation, GPU buffering allocation remains static
The project behind this version was quite unique:
A live audiovisual performance centered on a painter whose hands movements automatically generated sounds and particles while painting. Movements were capted via the OSC protocol by accelerometers disposed on two hand rings. The particles lived on their own on a huge screen behind the painter. They were generated out of strong accelerations, disappearing when the lifespan was exhausted, coalescing for precise movements and running free as the painter pondered the next move.
For best performance, make sure that the application runs on a discrete GPU and not default IGPU.
- 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
pip install conan
conan remote add conan-center https://conan.io/center/
git clone https://github.com/axoloto/Murmuration.git
cd Boids
./runApp.sh
- CMake
- ImGui
- Conan
- OpenCL
- SDL2
- Glad
- spdlog
- NSIS
- OpenCL radix sort
- Simon Green N-body simulation paper
- Perlin Noise C++ implementation
This is an hacked version, don't expect everything to be clean!