1 #include <stdint.h> 2 3 #include "sgp/Debug.h" 4 EaseInCubic(uint32_t uiStartTime,uint32_t uiEndTime,uint32_t uiCurrentTime)5float EaseInCubic(uint32_t uiStartTime, uint32_t uiEndTime, uint32_t uiCurrentTime) { 6 Assert(uiEndTime >= uiStartTime); 7 Assert(uiCurrentTime <= uiEndTime); 8 9 float fProgress = (float)(uiCurrentTime - uiStartTime) / (float)(uiEndTime - uiStartTime); 10 11 if (fProgress < 0.5) { 12 return 4.0f * fProgress * fProgress * fProgress; 13 } else { 14 return (fProgress - 1.0f) * (2.0f * fProgress - 2.0f) * (2.0f * fProgress - 2.0f) + 1.0f; 15 } 16 } 17