| 1.0.0 API documentation

Functions
GLM_GTX_easing
Experimental extensions

## Functions
template<typename genType >
GLM_FUNC_DECL genType | backEaseIn (genType const &a)
template<typename genType >
GLM_FUNC_DECL genType | backEaseIn (genType const &a, genType const &o)
template<typename genType >
GLM_FUNC_DECL genType | backEaseInOut (genType const &a)
template<typename genType >
GLM_FUNC_DECL genType | backEaseInOut (genType const &a, genType const &o)
template<typename genType >
GLM_FUNC_DECL genType | backEaseOut (genType const &a)
template<typename genType >
GLM_FUNC_DECL genType | backEaseOut (genType const &a, genType const &o)
template<typename genType >
GLM_FUNC_DECL genType | bounceEaseIn (genType const &a)
template<typename genType >
GLM_FUNC_DECL genType | bounceEaseInOut (genType const &a)
template<typename genType >
GLM_FUNC_DECL genType | bounceEaseOut (genType const &a)
template<typename genType >
GLM_FUNC_DECL genType | circularEaseIn (genType const &a)
| Modelled after shifted quadrant IV of unit circle. More...
template<typename genType >
GLM_FUNC_DECL genType | circularEaseInOut (genType const &a)
| Modelled after the piecewise circular function y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1]. More...
template<typename genType >
GLM_FUNC_DECL genType | circularEaseOut (genType const &a)
| Modelled after shifted quadrant II of unit circle. More...
template<typename genType >
GLM_FUNC_DECL genType | cubicEaseIn (genType const &a)
| Modelled after the cubic y = x^3.
template<typename genType >
GLM_FUNC_DECL genType | cubicEaseInOut (genType const &a)
| Modelled after the piecewise cubic y = (1/2)((2x)^3) ; [0, 0.5) y = (1/2)((2x-2)^3 + 2) ; [0.5, 1]. More...
template<typename genType >
GLM_FUNC_DECL genType | cubicEaseOut (genType const &a)
| Modelled after the cubic y = (x - 1)^3 + 1. More...
template<typename genType >
GLM_FUNC_DECL genType | elasticEaseIn (genType const &a)
| Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) More...
template<typename genType >
GLM_FUNC_DECL genType | elasticEaseInOut (genType const &a)
| Modelled after the piecewise exponentially-damped sine wave: y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1]. More...
template<typename genType >
GLM_FUNC_DECL genType | elasticEaseOut (genType const &a)
| Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1. More...
template<typename genType >
GLM_FUNC_DECL genType | exponentialEaseIn (genType const &a)
| Modelled after the exponential function y = 2^(10(x - 1)) More...
template<typename genType >
GLM_FUNC_DECL genType | exponentialEaseInOut (genType const &a)
| Modelled after the piecewise exponential y = (1/2)2^(10(2x - 1)) ; [0,0.5) y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1]. More...
template<typename genType >
GLM_FUNC_DECL genType | exponentialEaseOut (genType const &a)
| Modelled after the exponential function y = -2^(-10x) + 1. More...
template<typename genType >
GLM_FUNC_DECL genType | linearInterpolation (genType const &a)
| Modelled after the line y = x. More...
template<typename genType >
GLM_FUNC_DECL genType | quadraticEaseIn (genType const &a)
| Modelled after the parabola y = x^2. More...
template<typename genType >
GLM_FUNC_DECL genType | quadraticEaseInOut (genType const &a)
| Modelled after the piecewise quadratic y = (1/2)((2x)^2) ; [0, 0.5) y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1]. More...
template<typename genType >
GLM_FUNC_DECL genType | quadraticEaseOut (genType const &a)
| Modelled after the parabola y = -x^2 + 2x. More...
template<typename genType >
GLM_FUNC_DECL genType | quarticEaseIn (genType const &a)
| Modelled after the quartic x^4. More...
template<typename genType >
GLM_FUNC_DECL genType | quarticEaseInOut (genType const &a)
| Modelled after the piecewise quartic y = (1/2)((2x)^4) ; [0, 0.5) y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1]. More...
template<typename genType >
GLM_FUNC_DECL genType | quarticEaseOut (genType const &a)
| Modelled after the quartic y = 1 - (x - 1)^4. More...
template<typename genType >
GLM_FUNC_DECL genType | quinticEaseIn (genType const &a)
| Modelled after the quintic y = x^5. More...
template<typename genType >
GLM_FUNC_DECL genType | quinticEaseInOut (genType const &a)
| Modelled after the piecewise quintic y = (1/2)((2x)^5) ; [0, 0.5) y = (1/2)((2x-2)^5 + 2) ; [0.5, 1]. More...
template<typename genType >
GLM_FUNC_DECL genType | quinticEaseOut (genType const &a)
| Modelled after the quintic y = (x - 1)^5 + 1. More...
template<typename genType >
GLM_FUNC_DECL genType | sineEaseIn (genType const &a)
| Modelled after quarter-cycle of sine wave. More...
template<typename genType >
GLM_FUNC_DECL genType | sineEaseInOut (genType const &a)
| Modelled after half sine wave. More...
template<typename genType >
GLM_FUNC_DECL genType | sineEaseOut (genType const &a)
| Modelled after quarter-cycle of sine wave (different phase) More...

## Detailed Description

Include <glm/gtx/easing.hpp> to use the features of this extension.

Easing functions for animations and transitions All functions take a parameter x in the range [0.0,1.0]

Based on the AHEasing project of Warren Moore (https://github.com/warrenm/AHEasing)

## Function Documentation

## ◆ backEaseIn() [1/2]

GLM_FUNC_DECL genType glm::backEaseIn | ( | genType const & | a | ) |

See also
  GLM_GTX_easing

## ◆ backEaseIn() [2/2]

GLM_FUNC_DECL genType glm::backEaseIn | ( | genType const & | a,
|  | genType const & | o
| ) |  |

Parameters

  a | parameter
  o | Optional overshoot modifier

See also
  GLM_GTX_easing

## ◆ backEaseInOut() [1/2]

GLM_FUNC_DECL genType glm::backEaseInOut | ( | genType const & | a | ) |

See also
  GLM_GTX_easing

## ◆ backEaseInOut() [2/2]

GLM_FUNC_DECL genType glm::backEaseInOut | ( | genType const & | a,
|  | genType const & | o
| ) |  |

Parameters

  a | parameter
  o | Optional overshoot modifier

See also
  GLM_GTX_easing

## ◆ backEaseOut() [1/2]

GLM_FUNC_DECL genType glm::backEaseOut | ( | genType const & | a | ) |

See also
  GLM_GTX_easing

## ◆ backEaseOut() [2/2]

GLM_FUNC_DECL genType glm::backEaseOut | ( | genType const & | a,
|  | genType const & | o
| ) |  |

Parameters

  a | parameter
  o | Optional overshoot modifier

See also
  GLM_GTX_easing

## ◆ bounceEaseIn()

GLM_FUNC_DECL genType glm::bounceEaseIn | ( | genType const & | a | ) |

See also
  GLM_GTX_easing

## ◆ bounceEaseInOut()

GLM_FUNC_DECL genType glm::bounceEaseInOut | ( | genType const & | a | ) |

See also
  GLM_GTX_easing

## ◆ bounceEaseOut()

GLM_FUNC_DECL genType glm::bounceEaseOut | ( | genType const & | a | ) |

See also
  GLM_GTX_easing

## ◆ circularEaseIn()

GLM_FUNC_DECL genType glm::circularEaseIn | ( | genType const & | a | ) |

Modelled after shifted quadrant IV of unit circle.

See also
  GLM_GTX_easing

## ◆ circularEaseInOut()

GLM_FUNC_DECL genType glm::circularEaseInOut | ( | genType const & | a | ) |

Modelled after the piecewise circular function y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1].

See also
  GLM_GTX_easing

## ◆ circularEaseOut()

GLM_FUNC_DECL genType glm::circularEaseOut | ( | genType const & | a | ) |

Modelled after shifted quadrant II of unit circle.

See also
  GLM_GTX_easing

## ◆ cubicEaseInOut()

GLM_FUNC_DECL genType glm::cubicEaseInOut | ( | genType const & | a | ) |

Modelled after the piecewise cubic y = (1/2)((2x)^3) ; [0, 0.5) y = (1/2)((2x-2)^3 + 2) ; [0.5, 1].

See also
  GLM_GTX_easing

## ◆ cubicEaseOut()

GLM_FUNC_DECL genType glm::cubicEaseOut | ( | genType const & | a | ) |

Modelled after the cubic y = (x - 1)^3 + 1.

See also
  GLM_GTX_easing

## ◆ elasticEaseIn()

GLM_FUNC_DECL genType glm::elasticEaseIn | ( | genType const & | a | ) |

Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1))

See also
  GLM_GTX_easing

## ◆ elasticEaseInOut()

GLM_FUNC_DECL genType glm::elasticEaseInOut | ( | genType const & | a | ) |

Modelled after the piecewise exponentially-damped sine wave: y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1].

See also
  GLM_GTX_easing

## ◆ elasticEaseOut()

GLM_FUNC_DECL genType glm::elasticEaseOut | ( | genType const & | a | ) |

Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1.

See also
  GLM_GTX_easing

## ◆ exponentialEaseIn()

GLM_FUNC_DECL genType glm::exponentialEaseIn | ( | genType const & | a | ) |

Modelled after the exponential function y = 2^(10(x - 1))

See also
  GLM_GTX_easing

## ◆ exponentialEaseInOut()

GLM_FUNC_DECL genType glm::exponentialEaseInOut | ( | genType const & | a | ) |

Modelled after the piecewise exponential y = (1/2)2^(10(2x - 1)) ; [0,0.5) y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1].

See also
  GLM_GTX_easing

## ◆ exponentialEaseOut()

GLM_FUNC_DECL genType glm::exponentialEaseOut | ( | genType const & | a | ) |

Modelled after the exponential function y = -2^(-10x) + 1.

See also
  GLM_GTX_easing

## ◆ linearInterpolation()

GLM_FUNC_DECL genType glm::linearInterpolation | ( | genType const & | a | ) |

Modelled after the line y = x.

See also
  GLM_GTX_easing

## ◆ quadraticEaseIn()

GLM_FUNC_DECL genType glm::quadraticEaseIn | ( | genType const & | a | ) |

Modelled after the parabola y = x^2.

See also
  GLM_GTX_easing

## ◆ quadraticEaseInOut()

GLM_FUNC_DECL genType glm::quadraticEaseInOut | ( | genType const & | a | ) |

Modelled after the piecewise quadratic y = (1/2)((2x)^2) ; [0, 0.5) y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1].

See also
  GLM_GTX_easing

## ◆ quadraticEaseOut()

GLM_FUNC_DECL genType glm::quadraticEaseOut | ( | genType const & | a | ) |

Modelled after the parabola y = -x^2 + 2x.

See also
  GLM_GTX_easing

## ◆ quarticEaseIn()

GLM_FUNC_DECL genType glm::quarticEaseIn | ( | genType const & | a | ) |

Modelled after the quartic x^4.

See also
  GLM_GTX_easing

## ◆ quarticEaseInOut()

GLM_FUNC_DECL genType glm::quarticEaseInOut | ( | genType const & | a | ) |

Modelled after the piecewise quartic y = (1/2)((2x)^4) ; [0, 0.5) y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1].

See also
  GLM_GTX_easing

## ◆ quarticEaseOut()

GLM_FUNC_DECL genType glm::quarticEaseOut | ( | genType const & | a | ) |

Modelled after the quartic y = 1 - (x - 1)^4.

See also
  GLM_GTX_easing

## ◆ quinticEaseIn()

GLM_FUNC_DECL genType glm::quinticEaseIn | ( | genType const & | a | ) |

Modelled after the quintic y = x^5.

See also
  GLM_GTX_easing

## ◆ quinticEaseInOut()

GLM_FUNC_DECL genType glm::quinticEaseInOut | ( | genType const & | a | ) |

Modelled after the piecewise quintic y = (1/2)((2x)^5) ; [0, 0.5) y = (1/2)((2x-2)^5 + 2) ; [0.5, 1].

See also
  GLM_GTX_easing

## ◆ quinticEaseOut()

GLM_FUNC_DECL genType glm::quinticEaseOut | ( | genType const & | a | ) |

Modelled after the quintic y = (x - 1)^5 + 1.

See also
  GLM_GTX_easing

## ◆ sineEaseIn()

GLM_FUNC_DECL genType glm::sineEaseIn | ( | genType const & | a | ) |

Modelled after quarter-cycle of sine wave.

See also
  GLM_GTX_easing

## ◆ sineEaseInOut()

GLM_FUNC_DECL genType glm::sineEaseInOut | ( | genType const & | a | ) |

Modelled after half sine wave.

See also
  GLM_GTX_easing

## ◆ sineEaseOut()

GLM_FUNC_DECL genType glm::sineEaseOut | ( | genType const & | a | ) |

Modelled after quarter-cycle of sine wave (different phase)

See also
  GLM_GTX_easing