From 279b8ff3c0a5b86a91451dc618d6da59444da517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Sun, 20 Dec 2020 11:06:55 -0800 Subject: [PATCH] Added invSmoothStep. --- include/bx/inline/math.inl | 5 +++++ include/bx/math.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/include/bx/inline/math.inl b/include/bx/inline/math.inl index 9afacc0..aba2eee 100644 --- a/include/bx/inline/math.inl +++ b/include/bx/inline/math.inl @@ -344,6 +344,11 @@ namespace bx return square(_a)*(3.0f - 2.0f*_a); } + inline BX_CONST_FUNC float invSmoothStep(float _a) + { + return 0.5f - sin(asin(1.0f - 2.0f * _a) / 3.0f); + } + inline BX_CONSTEXPR_FUNC float bias(float _time, float _bias) { return _time / ( ( (1.0f/_bias - 2.0f)*(1.0f - _time) ) + 1.0f); diff --git a/include/bx/math.h b/include/bx/math.h index 4e39ad3..e51bdd2 100644 --- a/include/bx/math.h +++ b/include/bx/math.h @@ -282,6 +282,9 @@ namespace bx /// BX_CONSTEXPR_FUNC float smoothStep(float _a); + /// + BX_CONST_FUNC float invSmoothStep(float _a); + /// BX_CONSTEXPR_FUNC float bias(float _time, float _bias);