MathUtil::MathUtil() { int SizeOfFloat = sizeof(float); InitSin(); m_easeQuadIn = (float *)malloc(100 * SizeOfFloat); m_easeQuadOut = (float *)malloc(100 * SizeOfFloat); m_easeQuadInOut = (float *)malloc(100 * SizeOfFloat); m_easeCubeIn = (float *)malloc(100 * SizeOfFloat); m_easeCubeOut = (float *)malloc(100 * SizeOfFloat); m_easeCubeInOut = (float *)malloc(100 * SizeOfFloat); m_easeQuartIn = (float *)malloc(100 * SizeOfFloat); m_easeQuartOut = (float *)malloc(100 * SizeOfFloat); m_easeQuartInOut = (float *)malloc(100 * SizeOfFloat); m_easeQuintIn = (float *)malloc(100 * SizeOfFloat); m_easeQuintOut = (float *)malloc(100 * SizeOfFloat); m_easeQuintInOut = (float *)malloc(100 * SizeOfFloat); m_easeElasticIn = (float *)malloc(100 * SizeOfFloat); m_easeElasticOut = (float *)malloc(100 * SizeOfFloat); m_easeElasticInOut = (float *)malloc(100 * SizeOfFloat); m_easeBackIn = (float *)malloc(100 * SizeOfFloat); m_easeBackOut = (float *)malloc(100 * SizeOfFloat); m_easeBackInOut = (float *)malloc(100 * SizeOfFloat); m_easeBounceIn = (float *)malloc(100 * SizeOfFloat); m_easeBounceOut = (float *)malloc(100 * SizeOfFloat); m_easeBounceInOut = (float *)malloc(100 * SizeOfFloat); for (int i = 0; i < 100; i++) { double t = i / 100.0; m_easeQuadIn[i] = QuadraticEaseIn(t); m_easeQuadOut[i] = QuadraticEaseOut(t); m_easeQuadInOut[i] = QuadraticEaseInOut(t); m_easeCubeIn[i] = CubicEaseIn(t); m_easeCubeOut[i] = CubicEaseOut(t); m_easeCubeInOut[i] = CubicEaseInOut(t); m_easeQuartIn[i] = QuarticEaseIn(t); m_easeQuartOut[i] = QuarticEaseOut(t); m_easeQuartInOut[i] = QuarticEaseInOut(t); m_easeQuintIn[i] = QuinticEaseIn(t); m_easeQuintOut[i] = QuinticEaseOut(t); m_easeQuintInOut[i] = QuinticEaseInOut(t); m_easeElasticIn[i] = ElasticEaseIn(t); m_easeElasticOut[i] = ElasticEaseOut(t); m_easeElasticInOut[i] = ElasticEaseInOut(t); m_easeBackIn[i] = BackEaseIn(t); m_easeBackOut[i] = BackEaseOut(t); m_easeBackInOut[i] = BackEaseInOut(t); m_easeBounceIn[i] = BounceEaseIn(t); m_easeBounceOut[i] = BounceEaseOut(t); m_easeBounceInOut[i] = BounceEaseInOut(t); } }
GLfloat TimedMoveCallbackCustom::easeCustom(GLfloat progress) { return QuinticEaseIn(progress)*QuinticEaseIn(progress); }