Hi Everyone,
I recently did a refactoring and initial cythonization of kivy particle. The end result is that your particle effects should see a performance increase of around 10-50%.
You can find it here:
https://github.com/chaosbuffalolabs/kivy-particleBug Fixes and new Features:
Code is now cythonized and has a recipe for python-for-android
Support for setting and resetting blend functions
emitter_x and emitter_y values have been removed in favor of using widget's pos
render code has been changed to use scale instead of calculating new points for the quad
A new version of Particle Panda that makes use of the new blend features and contains some bug fixes will be updated on the play store today/tomorrow.
You can find the source for Particle Panda here as well:
https://github.com/chaosbuffalolabs/ParticlePandaI have included a simple demo to give an example of how particle effects could be introduced to your application and how they can be dynamically controlled. However, to make it work you will now have to build your kivy particle library.
The simplest way is to checkout kivy-particle, run python setup.py build_ext --inplace and then copy and paste the library into the root folder of the demo.
If you want to build for android you will now have to build a distribution of kivy with the kivyparticle recipe. Just place the kivyparticle recipe in your recipes folder and then ./distribute.sh -m "kivyparticle kivy_stable"
Just as a note: you will need to modify the recipe if you want to use the most current version of kivy rather than kivy_stable
Change the line
DEPS_kivyparticle=(kivy_stable python)
to
DEPS_kivyparticle=(kivy python)
and then ./distribute.sh -m "kivyparticle kivy"
Thanks Everyone and please let us know if there's anyway we could improve kivy particle or if you encounter any issues!
At the moment everything has only been tested on an Asus Transformer TF101, a Motorola Droid 4, and Ubuntu 12.04
-Jacob Kovac
Chaos Buffalo Labs