LYGIA Shader Library

exponential (lygia/animation/easing/exponential)

exponential easing. From https://github.com/stackgl/glsl-easings

Dependencies:

Use:

exponential<In|Out|InOut>(<float> x)

Check it on Github



Use:

exponential<In|Out|InOut>(<float> x)

Check it on Github


#ifndef FNC_EXPONENTIALIN
#define FNC_EXPONENTIALIN
float exponentialIn(in float t) {
    return t == 0.0 ? t : pow(2.0, 10.0 * (t - 1.0));
}
#endif

#ifndef FNC_EXPONENTIALOUT
#define FNC_EXPONENTIALOUT
float exponentialOut(in float t) {
    return t == 1.0 ? t : 1.0 - pow(2.0, -10.0 * t);
}
#endif

#ifndef FNC_EXPONENTIALINOUT
#define FNC_EXPONENTIALINOUT
float exponentialInOut(in float t) {
    return t == 0.0 || t == 1.0
        ? t
        : t < 0.5
            ? +0.5 * pow(2.0, (20.0 * t) - 10.0)
            : -0.5 * pow(2.0, 10.0 - (t * 20.0)) + 1.0;
}
#endif

Examples

License

LYGIA is dual-licensed under the Prosperity License and the Patron License for sponsors and contributors.

Sponsors and contributors are automatically added to the Patron License and they can ignore the any non-commercial rule of the Prosperity Licensed software (please take a look to the exception).

It's also possible to get a permanent comercial license hook to a single and specific version of LYGIA.

Get the latest news and releases

Sign up for the news letter bellow, joing the LYGIA's channel on Discord or follow the Github repository