public override Color Interpolate(Color start, double keyframe)
        {
            if (keyframe <= 0.0)
            {
                return(start);
            }
            if (keyframe >= 1.0)
            {
                return(Value);
            }
            if (double.IsNaN(keyframe))
            {
                return(start);
            }
            double v = _spline.GetSplineProgress(keyframe);

            return(Color.SmoothStep(start, Value, (float)v));
        }
Exemplo n.º 2
0
        public override double Interpolate(double start, double keyframe)
        {
            if (keyframe <= 0.0)
            {
                return(start);
            }
            if (keyframe >= 1.0)
            {
                return(Value);
            }
            if (double.IsNaN(keyframe))
            {
                return(start);
            }
            double v = _spline.GetSplineProgress(keyframe);

            return(start + ((Value - start) * v));
        }
        public override Vector2 Interpolate(Vector2 start, double keyframe)
        {
            if (keyframe <= 0.0)
            {
                return(start);
            }
            if (keyframe >= 1.0)
            {
                return(Value);
            }
            if (double.IsNaN(keyframe))
            {
                return(start);
            }
            double v = _spline.GetSplineProgress(keyframe);

            double x = (start.X + ((Value.X - start.X) * v));
            double y = (start.Y + ((Value.Y - start.Y) * v));

            return(new Vector2((float)x, (float)y));
        }
        public override Color Interpolate(Color start, double keyframe)
        {
            if (keyframe <= 0.0)
            {
                return(start);
            }
            if (keyframe >= 1.0)
            {
                return(Value);
            }
            if (double.IsNaN(keyframe))
            {
                return(start);
            }
            double v = _spline.GetSplineProgress(keyframe);

            double a = start.A + ((Value.A - start.A) * v);
            double r = start.R + ((Value.R - start.R) * v);
            double g = start.G + ((Value.G - start.G) * v);
            double b = start.B + ((Value.B - start.B) * v);

            return(Color.FromArgb((int)a, (int)r, (int)g, (int)b));
        }