From 573a2b9177d4ca81105dad1b368454a9dbd4b992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Tue, 17 Apr 2018 07:32:27 -0700 Subject: [PATCH] Cleanup. --- include/bx/inline/math.inl | 16 ++++++++++++++++ include/bx/math.h | 6 ++++++ 2 files changed, 22 insertions(+) diff --git a/include/bx/inline/math.inl b/include/bx/inline/math.inl index 26c4cd2..cb8cb26 100644 --- a/include/bx/inline/math.inl +++ b/include/bx/inline/math.inl @@ -942,4 +942,20 @@ namespace bx _result[3] = -vec3Dot(normal, _va); } + inline BX_CONST_FUNC float toLinear(float _a) + { + const float lo = _a / 12.92f; + const float hi = pow( (_a + 0.055f) / 1.055f, 2.4f); + const float result = lerp(hi, lo, _a <= 0.04045f); + return result; + } + + inline BX_CONST_FUNC float toGamma(float _a) + { + const float lo = _a * 12.92f; + const float hi = pow(abs(_a), 1.0f/2.4f) * 1.055f - 0.055f; + const float result = lerp(hi, lo, _a <= 0.0031308f); + return result; + } + } // namespace bx diff --git a/include/bx/math.h b/include/bx/math.h index 07e8a79..470ed8d 100644 --- a/include/bx/math.h +++ b/include/bx/math.h @@ -567,6 +567,12 @@ namespace bx /// void hsvToRgb(float _rgb[3], const float _hsv[3]); + /// + float toLinear(float _a); + + /// + float toGamma(float _a); + } // namespace bx #include "inline/math.inl"