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.

GitHub repository

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

Gif of an Ipsys system. Gif of an Ipsys system. Gif of an Ipsys system. Gif of an Ipsys system.

Gallery

Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system.

Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system. Image of an Ipsys system.