26 lines
505 B
GLSL
26 lines
505 B
GLSL
#ifndef PI
|
|
#define PI 3.141592653589793
|
|
#endif
|
|
|
|
float bounceOut(float t) {
|
|
const float a = 4.0 / 11.0;
|
|
const float b = 8.0 / 11.0;
|
|
const float c = 9.0 / 10.0;
|
|
|
|
const float ca = 4356.0 / 361.0;
|
|
const float cb = 35442.0 / 1805.0;
|
|
const float cc = 16061.0 / 1805.0;
|
|
|
|
float t2 = t * t;
|
|
|
|
return t < a
|
|
? 7.5625 * t2
|
|
: t < b
|
|
? 9.075 * t2 - 9.9 * t + 3.4
|
|
: t < c
|
|
? ca * t2 - cb * t + cc
|
|
: 10.8 * t * t - 20.52 * t + 10.72;
|
|
}
|
|
|
|
#pragma glslify: export(bounceOut)
|