20 return t * (2.0F - t);
25 return t < 0.5F ? 2.0F * t * t : -1.0F + ((4.0F - (2.0F * t)) * t);
36 const float u = t - 1.0F;
37 return (u * u * u) + 1.0F;
42 return t < 0.5F ? 4.0F * t * t * t
43 : ((t - 1.0F) * (2.0F * t - 2.0F) * (2.0F * t - 2.0F)) + 1.0F;
49 return 1.0F - std::cos(t * std::numbers::pi_v<float> * 0.5F);
54 return std::sin(t * std::numbers::pi_v<float> * 0.5F);
59 return 0.5F * (1.0F - std::cos(std::numbers::pi_v<float> * t));
65 return t == 0.0F ? 0.0F : std::pow(2.0F, 10.0F * (t - 1.0F));
70 return t == 1.0F ? 1.0F : 1.0F - std::pow(2.0F, -10.0F * t);
84 return std::pow(2.0F, (20.0F * t) - 10.0F) * 0.5F;
87 return (2.0F - std::pow(2.0F, (-20.0F * t) + 10.0F)) * 0.5F;
93 if (t == 0.0F || t == 1.0F) {
97 return -std::pow(2.0F, 10.0F * (t - 1.0F))
98 * std::sin((t - 1.075F) * (2.0F * std::numbers::pi_v<float>) / 0.3F);
103 if (t == 0.0F || t == 1.0F) {
107 return (std::pow(2.0F, -10.0F * t)
108 * std::sin((t - 0.075F) * (2.0F * std::numbers::pi_v<float>) / 0.3F))
115 if (t < 1.0F / 2.75F) {
116 return 7.5625F * t * t;
119 if (t < 2.0F / 2.75F) {
121 return (7.5625F * t * t) + 0.75F;
124 if (t < 2.5F / 2.75F) {
126 return (7.5625F * t * t) + 0.9375F;
131 return (7.5625F * t * t) + 0.984375F;
142 constexpr float s = 1.70158F;
143 return t * t * ((s + 1.0F) * t - s);
148 constexpr float s = 1.70158F;
149 const float u = t - 1.0F;
150 return (u * u * ((s + 1.0F) * u + s)) + 1.0F;
Easing functions for animations.
float ease_out_cubic(float t)
float ease_out_quad(float t)
float ease_in_out_expo(float t)
float ease_in_elastic(float t)
float ease_out_bounce(float t)
float ease_in_out_quad(float t)
float ease_out_back(float t)
float ease_in_out_cubic(float t)
float ease_in_back(float t)
float ease_out_sine(float t)
float ease_in_cubic(float t)
float ease_in_quad(float t)
float ease_in_sine(float t)
float ease_in_out_sine(float t)
float ease_out_elastic(float t)
float ease_out_expo(float t)
float ease_in_expo(float t)
float ease_in_bounce(float t)