Skip to content

glslify/glsl-easings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e3c3992 Β· Jul 18, 2020

History

10 Commits
Dec 5, 2014
Dec 5, 2014
Dec 5, 2014
May 17, 2014
May 17, 2014
Aug 21, 2016
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
Dec 5, 2014
May 17, 2014
Dec 5, 2014
Dec 5, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
May 17, 2014
Dec 5, 2014
Dec 5, 2014
May 17, 2014
May 17, 2014

Repository files navigation

glsl-easings stable

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!

Usage

NPM

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:

float ease(float t)

Where t is a value between 0 and 1, returning a new float between 0 and 1.

License

MIT. See LICENSE.md for details.