Overview
This entirely self-contained particle engine was written in C++ under Visual Studio .NET. It was used in several of my larger programming projects, including Little Johnny Has Cirrhosis. It includes the following features/effects:
- Encapsulated inside a C++ class, so the user can include the engine in any OpenGL project by making calls to only a few simple interface functions
- User-specifiable emitter-position
- Point or Line sources
- User-specifiable angle of emission
- Variable particle emission velocities
- Variable particle lifetimes
- Variable particle sizes
- Textured/colored/blended particles
- Universal (i.e. specified by a direction) Gravity
- Local (i.e. specified by a point) gravity
- Time-based or Frame-based movement
Images
Here is a shot of the driver I wrote for testing & debugging; it's a simple windows dialog box that controls the particle engine. The actual rendering is performed in a separate popup GLUT window:

Here is an example of some particles shooting out towards the left, and being sucked in by a gravity-point near the center of the cube; The cube is included in the background to show the particles’ transparency.

Here, the particles are being emitted straight up, and being sucked into a gravity-point just above and to the right of the emitter

This is what happens if you give a gravity-point a negative strength: it repels particles

All of the above examples use some randomization for the particle lifetimes, therefore particles are emitted in a constant stream. Below, every particle has the same lifetime, so they are emitted in bursts that look like rings coming out from one point

Here is an example where the emitter bursts new particles out before reclaiming all of the particles from a previous burst

This is what a line-source looks like, with solid (non-blended) particles

Finally, some general gravity in the y-direction…looks like a water fountain!




Recent Comments
02/08/2012 @ 10:17pm
Every currently-available feature is listed above. Since shortcode isn't mentioned, no, it hasn't been implemented. Buttons can be ...
02/08/2012 @ 10:01pm
Hi Justin, Would like to know if there is an shortcodes for adding it the plugin into pages?
02/08/2012 @ 08:46am
Really weird. Yeah, perhaps try deleting that app's permissions from your Facebook account - that'll force you to re-authorize ...
02/08/2012 @ 08:32am
ok, deleted my cookies on all 3 browsers. Tried it again, no dice, same error. I uninstalled chrome and reinstalled ...
02/08/2012 @ 07:22am
That's definitely not it - if you check the code, you'll see that that error happens before it ever even ...
02/08/2012 @ 07:08am
ya, I'm getting the emails showing you login fine, and me erroring out. Only had a report from one other ...
02/08/2012 @ 07:01am
Don't know what to tell you...I just logged in again and it worked perfectly again (see your email logs). ...
02/08/2012 @ 06:58am
I see that, and I'm baffled. I'm still getting the error. Error: Failed to get the Facebook user session. This ...
02/08/2012 @ 02:31am
I just logged in at that URL and did not get any error.
02/08/2012 @ 01:50am
Getting this error when anyone tries to login: Error: Failed to get the Facebook user session. This is usually due to ...
02/08/2012 @ 01:06am
Thanks for your help the other day Justin. It's now working great. Cheers
02/07/2012 @ 05:28pm
@Ross Del Duca: The bold red note just above this comment form lists information you should include with a support ...
02/07/2012 @ 10:28am
I spoke too soon - maybe it was just a fluke that the error disappeared temporarily in one browser after ...
02/07/2012 @ 09:44am
A little heads-up on FAQ #37, "Error: Failed to get the Facebook user session...". We were getting this with the ...