EPhysics, a fresh new library is reaching Enlightenment project’s SVN repository today. It’s a wrapper between Bullet Physics and EFL to add physics effects in a simple way.
It’s possible to checkout it from our SVN repository:
svn co http://svn.enlightenment.org/svn/e/trunk/ephysics
The video covers the tests that are included in our source code, as one can see the code is pretty simple to an EFL programmer and we expect them to adopt EPhysics to create their next splash screen, transition effects and even more games!
Why Bullet Physics?
Bullet Physics is a very well established physics engine. It’s stable, fast and simple to use, licensed under a permissive license and packaged for most distributions. It’s used by many big companies for games and movies such as Sony, Disney, Activision and Rockstar Games.
How is it structured?
It’s possible to create a World and add many Bodies, that can be represented by Evas Objects. These bodies have physical attributes such as mass, friction and restitution and shape. They may receive impulses and collide between them. Events occur when something happens, as a body moving, two bodies colliding, or the entire world getting halted (all the bodies stopped). The following diagram should help to make it all a bit clearer.
Everything is documented using doxygen, so you can build documentation with:
$ make doc
or access it online here. It’s just a temporary place until it reaches our project’s server.
And much more is coming. On our roadmap we have:
- Create collision shapes from image;
- Helpers to help the physics inexperienced people to define attributes and use it;
- Sandbox tools to try different materials / properties in a live, what-you-see-is-what-you-get way;
- Deform objects;
- Adding camera concept (POV);
- Creating a game
A more extensive list can be found at TODO file. Adding support to physics effects on Edje is planned as well, making it possible to configure physics environment and reacting to events.
So if you liked that, give it a try. I’ll be glad to help. Bug reports, reviews, feature requests and patches are very welcome. I’ll try to post a tutorial on creating applications with EPhysics soon.