IPSYS - Particle system with nice random laws in C & OpenGL
2024-03-06
Visualizer of a particle system with randomized interaction laws that often happen to be quite mesmerizing to contemplate. Fast, colorful and somewhat intresting.
Features
- Particle system that runs on the GPU in a compute shader.
- Different particle types, the number of which is decided at launch time.
- Interaction laws for each oriented pair of particle types:
- The interaction laws depend on the distance between the interactee and the interacter particles.
- There are multiple laws for each oridented pair:
- A law that dictates attraction/repultion,
- a law that dictates rotation to the left/right, and
- a law that dictates acceleration/deceleration.
- Interaction law randomizer, carefully tweaked to maximize “intresting” results occurences.
- Randomized colors for each partcile type, color changing with speed and pressure (number of overlaping other particles).
- Fading effect that leaves a tail behind particles
- Saving/loading to/from disk laws, colors and state, written in a custom file format.
- Grounds for a widget tree that is actually be maintainable in C.
A few gifs
Gallery