- Agregar paréntesis explícitos en operaciones matemáticas para claridad
- Ejemplos: '1.0F - a * b' → '1.0F - (a * b)'
- 291 correcciones aplicadas automáticamente con clang-tidy
- Check 2/N completado
🤖 Generated with Claude Code
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
// easing.hpp - Funcions d'interpolació i easing
|
|
// © 2025 Orni Attack
|
|
|
|
#pragma once
|
|
|
|
namespace Easing {
|
|
|
|
// Ease-out quadratic: empieza rápido, desacelera suavemente
|
|
// t = progreso normalizado [0.0 - 1.0]
|
|
// retorna valor interpolado [0.0 - 1.0]
|
|
inline float ease_out_quad(float t) {
|
|
return 1.0F - ((1.0F - t) * (1.0F - t));
|
|
}
|
|
|
|
// Ease-in quadratic: empieza lento, acelera
|
|
// t = progreso normalizado [0.0 - 1.0]
|
|
// retorna valor interpolado [0.0 - 1.0]
|
|
inline float ease_in_quad(float t) {
|
|
return t * t;
|
|
}
|
|
|
|
// Ease-in-out quadratic: acelera al inicio, desacelera al final
|
|
// t = progreso normalizado [0.0 - 1.0]
|
|
// retorna valor interpolado [0.0 - 1.0]
|
|
inline float ease_in_out_quad(float t) {
|
|
return (t < 0.5F)
|
|
? 2.0F * t * t
|
|
: 1.0F - ((-2.0F * t + 2.0F) * (-2.0F * t + 2.0F) / 2.0F);
|
|
}
|
|
|
|
// Ease-out cubic: desaceleración más suave que quadratic
|
|
// t = progreso normalizado [0.0 - 1.0]
|
|
// retorna valor interpolado [0.0 - 1.0]
|
|
inline float ease_out_cubic(float t) {
|
|
float t1 = 1.0F - t;
|
|
return 1.0F - (t1 * t1 * t1);
|
|
}
|
|
|
|
// Interpolación lineal básica (para referencia)
|
|
inline float lerp(float start, float end, float t) {
|
|
return start + ((end - start) * t);
|
|
}
|
|
|
|
} // namespace Easing
|