Reverse swipe
This commit is contained in:
@@ -16,4 +16,20 @@ static inline float bellCurveApproximation(float x, float inverseWidth)
|
||||
const auto res = 1.0f + 0.27606958941084f * x3 - 0.80213917882168f * x2;
|
||||
|
||||
return res < 0.0f ? 0.0f : res;
|
||||
}
|
||||
|
||||
// Function start at 0 (x=0) and goes smoothly up to 1 and arrives 1 at x=width
|
||||
// inverse width has to be 1 / width (should be cached outside)
|
||||
static inline float stepFunction(float x, float width, float inverseWidth)
|
||||
{
|
||||
if (x < 0.0f)
|
||||
return 0.0f;
|
||||
if (x >= width)
|
||||
return 1.0f;
|
||||
|
||||
auto bellInvWidth = inverseWidth * 0.5f;
|
||||
auto nx = (-x + width) * bellInvWidth * 4;
|
||||
auto x2 = nx * nx;
|
||||
auto x3 = x2 * nx;
|
||||
return 1 + 0.2760695894 * x3 - 0.8021391 * x2;
|
||||
}
|
||||
Reference in New Issue
Block a user