Chris,

This sounds very familiar. :-( We should get together on this. I checked in
my second pass on a generalized particle system into cvs.j3d.org at the
weekend. First pass was checked in several weeks ago.

The current code is pretty stable, comes with a simple example and I've
written ParticleFunctions for wind, gravity, picking-collisions, physics and
a couple of others. I'd appreciate any comments. I have abstracted the
display characteristics of a particle from the engine itself, so it is
possible to represent particles using Sphere's, BY_REF arrays, VRML models,
whatever happen to suit the application at hand.

Sincerely,

Daniel Selman

Author - "Java 3D Programming"
http://www.manning.com/selman

-----Original Message-----
From: Discussion list for Java 3D API
[mailto:[EMAIL PROTECTED]]On Behalf Of Chris Forrester
Sent: Monday, March 11, 2002 11:41 AM
To: [EMAIL PROTECTED]
Subject: Particle System


I just wanted to say that i've gotten a 1.2.1 particle system working that
uses a giant QuadArray and BY_REFERENCE members for quick insertion/removal.

Particles are defined as quads with their own offset transforms (for
scaling/rotation/position offset) and hook into a simple
position/direction/lifetime particle movement system. These quads all share
Appearance data as well, so you can create alpha/additive textures and apply
them the object to get cool particle effects.

For numbers, I can get decent performance with (tested so far) 400 particles
on the screen (with one texture unit) at once. This totally blows away the
other method I've tried for a system, which was individual
TriangleStripArray's per particle. With that system, I capped out at 40.

For the future, i'm going to optimize the particle removal/cleanup system,
and as soon as the boys at StarfireResearch update their 3dsmax importer(or
I can get a copy of the maxsdk to build my own) I'll update to the latest
beta of J3D, so that I can convert the Quads to TriangleStripArrays for more
performance (problem right now is that J3D 1.2.1 doesn't allow re-setting
the strip indices)

So, to summarize: (1 Shape3d object, with X number of particles) per
Appearance. Fast particle performance. Cool effects like additive mode. No
reliance on a Java2d layer.

If anyone would like more info about this project, feel free to email me,
and i'll get back to you within a day or so.

Cheers.

Oh - One more note, I'm using the DirectX J3D, so my Quad performance (or so
it would seem reading the postings/tutorials) is much lower than if I were
running the OpenGL version.

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to