Even so, the calculations on the ParticleManager are fixed at 45 Hz, that is, at 45 times per second, independently of the timelapse.
Just out of curiosity: why 45Hz? Taking common refresh-rates into account I would have choosen 25, 30, 50 or 60Hz. I think it would be best to make that configurable.
If the time is much greater than 1/45 th of a second, let's say....13/45 of a second, then it will iteratively calculate one step at 1/45 of a second for 13 times.
Can't this be shortened to one calculation with a bias factor?
One other issue is the scenegraph. I haven't seen much of xith3d, so what i am saying might be nonsense, but i think each particle system should be placed in its own node, with its own position. the translations and rotations applied to that node are only applied to the generators, that is where the particles are created.
Once the particles are born, they shouldn't be affected by translations or rotations, as their position is calculated by the PS.
There has to be at least a way to pass a velocity to the generator, since particles emerged from a moving object have to substract this from their launch velocity. Also there should be a way to pass in a deceleration factor to simulate e.g. air friction.
Great work so far!
Mathias