All,

I'm just about to send the particle system code to Justin for inclusion on
www.j3d.org. I think it's about at the Alpha/Beta stage and could use some
testing and comments.

I've attached another screen shot.

In the screenshot you can see 3 particle systems interacting. The blue one
is using a BYREF QuadArray, the brown a BYREF TriangleArray and the third is
a BYREF PointArray. Each system was using 500 particles with a maximum
particle age of 300 frames. The forces in effect were gravity, wind and
arbitrary geometry collision (using the picking utilities). The FPS was
about 30.

Some features:
- can use any mechanism to represent particles (e.g. BYREF geometry, a
single Shape3D per particle etc.)

- ParticleSystems themselves can have geometry associated with them

- ParticleSystems can be hierarchical (though the scenegraph)

- ParticleSystemManager is a behavior and can be triggered using an
WakeupCondition

- You write pluggable/shareable MovementFunctions which act on particles and
can be reused and composited (gravity, wind etc.). It would be nice to have
a library of these...

- The PickingCollisionMovementFunction was a bit of an experiment but works
surprisingly well. It allows the particles to bounce off *any* geometry in
your scenegraph (under a picking root) using Bounds based picking. Not sure
how well this will scale...

- Pluggable ParticleInitializers (emitters) and ParticleFactory for defining
physical Particle properties.

The code still needs a little clean-up in places and is released under GPL.

Enjoy!

Daniel Selman





<<attachment: particle_screenshot.jpg>>

Reply via email to