Robert Penner's easing functions in GLSL, available as a module for glslify.
I tried as best I could to make them speedy for GLSL, but I'm sure there are a lot of gaps to fill – pull requests welcome!
Each easing function has its own file which can be required from glslify:
#pragma glslify: ease = require(glsl-easings/back-in-out) #pragma glslify: ease = require(glsl-easings/back-in) #pragma glslify: ease = require(glsl-easings/back-out) #pragma glslify: ease = require(glsl-easings/bounce-in-out) #pragma glslify: ease = require(glsl-easings/bounce-in) #pragma glslify: ease = require(glsl-easings/bounce-out) #pragma glslify: ease = require(glsl-easings/circular-in-out) #pragma glslify: ease = require(glsl-easings/circular-in) #pragma glslify: ease = require(glsl-easings/circular-out) #pragma glslify: ease = require(glsl-easings/cubic-in-out) #pragma glslify: ease = require(glsl-easings/cubic-in) #pragma glslify: ease = require(glsl-easings/cubic-out) #pragma glslify: ease = require(glsl-easings/elastic-in-out) #pragma glslify: ease = require(glsl-easings/elastic-in) #pragma glslify: ease = require(glsl-easings/elastic-out) #pragma glslify: ease = require(glsl-easings/exponential-in-out) #pragma glslify: ease = require(glsl-easings/exponential-in) #pragma glslify: ease = require(glsl-easings/exponential-out) #pragma glslify: ease = require(glsl-easings/linear) #pragma glslify: ease = require(glsl-easings/quadratic-in-out) #pragma glslify: ease = require(glsl-easings/quadratic-in) #pragma glslify: ease = require(glsl-easings/quadratic-out) #pragma glslify: ease = require(glsl-easings/quartic-in-out) #pragma glslify: ease = require(glsl-easings/quartic-in) #pragma glslify: ease = require(glsl-easings/quartic-out) #pragma glslify: ease = require(glsl-easings/quintic-in-out) #pragma glslify: ease = require(glsl-easings/quintic-in) #pragma glslify: ease = require(glsl-easings/quintic-out) #pragma glslify: ease = require(glsl-easings/sine-in-out) #pragma glslify: ease = require(glsl-easings/sine-in) #pragma glslify: ease = require(glsl-easings/sine-out)
And each function has the following signature:
Where t
is a value between 0 and 1, returning a new float between 0 and 1.
MIT. See LICENSE.md for details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4