lerp static method

Linearly interpolate between two ShaderParams.

Implementation

static ShaderParams lerp(ShaderParams a, ShaderParams b, double t) {
  final allValueKeys = {...a.values.keys, ...b.values.keys};
  final allColorKeys = {...a.colors.keys, ...b.colors.keys};
  return ShaderParams(
    values: {
      for (final key in allValueKeys)
        key: ui.lerpDouble(a.get(key), b.get(key), t)!,
    },
    colors: {
      for (final key in allColorKeys)
        key: Color.lerp(a.getColor(key), b.getColor(key), t)!,
    },
  );
}