It is fast and modular and easy to build complex effects. Its code is also quite flexible and scalable with its design to create your own extensions.
Personally I use it because it also works independently of the 3D engine (I’m using Urho and another engine for my stuffs and I need and independent library to get same effects works in both engine) but without this constraint, it is also a nice alternative to urho built-in particles to consider if you like to render cool effects, and by default it offers some additional nice features :
-
Independent Renderers per group (Quad and Point for now - what I added for urho - But I’d also like add a Marching Cube renderer to render fluid like, and also a mesh renderer to draw meshes instead of sprites)
-
Cool Modifiers :(Basic,Collider,Destroyer,EmitterAttacher,LinearForce,Obstacle,PointMass,RandomForce,Rotator,Vortex)
-
Particles collisions (particles vs environment and particles vs particles)
-
Differents built-in spatial Zones used by emitter and modifiers : Box, Cylinder, Plane, Point, Ring, Sphere.
-
Emitters : from Normals zone, Random, Spheric, static, Sraight
-
Different interpolators (basic, random, graph)
-
Particles can triggers actions.
…
The actual QuadRenderer (like urho billboard) for urho support differents options to orientate particles sprites :
CAMERA_PLANE_ALIGNED, CAMERA_POINT_ALIGNED, DIRECTION_ALIGNED, AROUND_AXIS, TOWARDS_POINT, FIXED_ORIENTATION