update method
Advances every live particle by dt seconds.
Implementation
@override
void update(ParticleStorage storage, double dt) {
_time += dt;
final ox = scroll.x * _time * frequency;
final oy = scroll.y * _time * frequency;
final oz = scroll.z * _time * frequency;
final n = storage.aliveCount;
for (var i = 0; i < n; i++) {
final curl = noiseCurl3(
storage.posX[i] * frequency - ox,
storage.posY[i] * frequency - oy,
storage.posZ[i] * frequency - oz,
seed: seed,
);
storage.velX[i] += curl.x * strength * dt;
storage.velY[i] += curl.y * strength * dt;
storage.velZ[i] += curl.z * strength * dt;
}
}