SPARK : free opensource particle engine in C++

Started by
1 comment, last by Frifron 15 years, 3 months ago
Hello, let me introduce to you my particle engine library : SPARK is an opensource particle engine on CPU side written in C++. It was designed to be portable, configurable, evolving, and simple to use. Domains of applications of the library are mainly the rendering of 2D and 3D effect based on particles but it can also be used for light simulation of numerous physical entities. You can check the website at http://spark.developpez.com for a list of features, documentation, demos, downloads... The licence of SPARK is the lgpl so it is very permissive. Here are the keys for demos :
  • F1 : changes the display of text
  • F2 : displays or the bounding boxes. For SFML Demo : display or not the grid
  • F3 : changes the rendering mode. For SFML Demo : displays or not the BG
  • F4 : pauses the particle systems
  • Supp : reinit the particle systems
  • Esc : quits the app
  • Mouse : moves the camera
  • Mouse wheel : zoom in and out (on certain demos only)
Specific demos keys :
  • Fire Demo : space : activates or desactivates the smoke
  • Fountain Demo : space : switches to high or low graphics
  • Rain Demo : +/- : changes the rain rate
  • Writing Demo : left mouse button : adds particles
  • SFML Demo :
    • F5 : Destroys all fires
    • space : activates or desactivates the smoke
    • left mouse button on empty tile : adds a fire
    • left mouse button on occupied tile : removes a fire
Any comments, suggestions, questions are welcome ! A few screenshots :
[Edited by - Frifron on January 5, 2009 6:13:27 PM]
Advertisement
Is there the ability to gradually stop emitting particles? I really like your site but I have a suggestion.

When you are listing the Versions, I suggest you do it in a more professional way.

I have never seen your way but it is quite clever.

Instead of using 1.02.02

You should try 1.0.2 Build4 or RC2

RC = Release Candidate.

Other than that, I have just downloaded your particle system. I will stay in tuned. thank you.
Hi, thx for your answer

Quote:Original post by fireworking
Is there the ability to gradually stop emitting particles?


Yes you have to decrease the emitters' flows at each frame with something like :

emitter.changeFlow(-A * deltaTime);

This function clamps the flow to [0,[. Once the flow reaches 0, the emitter is inactive. Once all emitters in a group are inactive and no more particles are alive, the group becomes inactive

Quote:When you are listing the Versions, I suggest you do it in a more professional way.


Well this is more or less the way I release stuff professionnaly as well:
A.BB.CC

A being version number
BB being major release number (new features, modifications...)
CC being minor release number (bug fixes and small modif...)

This topic is closed to new replies.

Advertisement