8-bit cubic ease-in/ease-out function Takes an input value 0-255 and returns an eased value 0-255 More pronounced easing curve than quadratic
Definition at line 84 of file ease.cpp.hpp.
84 {
85 constexpr u16
MAX = 0xFF;
86 constexpr u16 HALF = (
MAX + 1) >> 1;
87 constexpr u32 DENOM = (u32)
MAX *
MAX;
88 constexpr u32 ROUND = DENOM >> 1;
89
90 if (i < HALF) {
91
92 u32 ii = i;
93 u32 cube = ii * ii * ii;
94 u32 num = 4 * cube + ROUND;
95 return u8(num / DENOM);
96 } else {
97
98
99
101 u32 cube = d * d * d;
102 u32 num = 4 * cube + ROUND;
103 return u8(
MAX - (num / DENOM));
104 }
105}
References MAX.
Referenced by ease8(), and ease8().