let me introduce to you my particle engine :
SPARK is a free open-source advanced particle engine written in C++.
The computation and the rendering are totally independant which allows the particle computations not to depend on a rendering system. In that way, SPARK can integrate within any rendering system (either 2D or 3D). This is performed thanks to rendering modules. SPARK has rendering module for OpenGL and SFML and a new one for Irrlicht is released today (developped in collaboration with Darktib).
Why having developped a module for Irrlicht whereas it already has some integrated particle systems ? Because SPARK offers a lot more features and is more scalable than the Irrlicht one.
Basically here are a few things you can do with SPARK :
- Render particles with points, point sprites, quads or lines
- Define the orientation of the quad in a very accurate way (not only facing camera)
- Rotate particles
- Animate texture and use texture atlas
- Use 32 bits indices to build up very large particle systems
- Choose to use VBOs if needed
- Sort particles
- Use the inner physics engine (particle vs environment and particle vs particle)
- have several emitters per systems
SPARK particle systems can integrate totally within Irrlicht thanks to the IRRSystem which derives from the Irrlicht SceneNode. So you can use a SPARK particle system in Irrlicht the exact same way as any SceneNode.
Here are a few screenshots taken from some demos :
And you can see a video at this address
By the way, this was my first intrusion into the Irrlicht world and I must say I am really impressed by the ease of use of the engine. It is very easy to set up and get 3D stuff on the screen quickly. However I think there are a few things to improve : the VBO support is still young and will gain a lot with more flexibility. The point sprites are not really useable as the attenuation function are not well set ie you cant get point sprites to fit perfectly in the universe (if you want the formulas to obtain correct integration I can give them to you).
Anyway, hope you ll enjoy the library.
For more information (complete list of features, documentation, tutorials...), to download the library and some demos, check out the website at http://spark.developpez.com
There is also a forum if you need some help or want to discuss about some stuff.
Thanks and tell me what you think about the library and if you have some suggestions for the future releases dont hesitate.