update method

  1. @override
void update(
  1. ParticleStorage storage,
  2. double dt
)
override

Advances every live particle by dt seconds.

Implementation

@override
void update(ParticleStorage storage, double dt) {
  final n = storage.aliveCount;
  for (var i = 0; i < n; i++) {
    final life = storage.lifetime[i];
    final nAge = life > 0.0 ? storage.age[i] / life : 0.0;
    color.sample(nAge, storage.random01[i], _tmp);
    storage.colorR[i] = _tmp.x;
    storage.colorG[i] = _tmp.y;
    storage.colorB[i] = _tmp.z;
    storage.colorA[i] = _tmp.w;
  }
}