C++17 In Detail

14 March 2014

Three Particle Effects

For some time I have been playing around with my particle system. It seems to be a very interesting experiment to do! Today I just want to present some of current results and thoughts on future development.
So far I managed to create three different effects:
  • star tunnel: just round position generator + position update
  • attractors: four attractors that affect acceleration of each particle
  • fountain: simple collision detection with a floor
Let us see some of the results...

The Series


Particle system

Particle system

Particle system

Particle system with AntTweakBar

Fountain particle system

Particle tunnel with AntTweakBar

Particle tunnel



  • Create more effects! This will make my system more reusable. I often see particle tutorials that are very simple and cannot be easily extended. My idea is to have decent amount of flexibility.
  • Optimize!
    • I have rough numbers about the system: 250k particles (in the attractor effect) take around 13ms to calculate (on CPU). Fps drops to 30fps.
    • It would be nice to create a million particle system and run it at 30fps at least. I target CPU, not GPU currently
  • Test several methods of drawing and updating GPU buffers.
I do not want to set any deadlines by now. Hopefully there will be some more interesting posts about this experiments in near future :)

Get my free ebook about C++17!

More than 50 pages about the new Language Standard.

C++17 in detail, by Bartlomiej Filipek

C++17 In Detail
© 2017, Bartlomiej Filipek, Blogger platform
Any opinions expressed herein are in no way representative of those of my employers.
This site contains ads or referral links, which provide me with a commission. Thank you for your understanding.