sample method
Writes the color for a particle at normalizedAge with per-particle
random random01 into out (allocated when null) and returns it.
Implementation
@override
Vector4 sample(double normalizedAge, double random01, [Vector4? out]) {
final result = out ?? Vector4.zero();
return result
..setFrom(a)
..add((b - a)..scale(random01));
}