LYGIA Shader Library

circular (lygia/animation/easing/circular)

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

Dependencies:

Use:

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

Check it on Github



Use:

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

Check it on Github


#ifndef FNC_CIRCULARIN
#define FNC_CIRCULARIN
float circularIn(in float t) {
    return 1.0 - sqrt(1.0 - t * t);
}
#endif

#ifndef FNC_CIRCULAROUT
#define FNC_CIRCULAROUT
float circularOut(in float t) {
    return sqrt((2.0 - t) * t);
}
#endif

#ifndef FNC_CIRCULARINOUT
#define FNC_CIRCULARINOUT
float circularInOut(in float t) {
    return t < 0.5
      ? 0.5 * (1.0 - sqrt(1.0 - 4.0 * t * t))
      : 0.5 * (sqrt((3.0 - 2.0 * t) * (2.0 * t - 1.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