Ejemplo n.º 1
0
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);
}