From 2877f4eda3d1b0c7431039e3142ecf1a282a34b1 Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Tue, 21 Aug 2018 20:40:38 +0500 Subject: Update glm to 0.9.9.0 --- external/include/glm/gtx/color_space.inl | 61 ++++++++++++++++---------------- 1 file changed, 31 insertions(+), 30 deletions(-) (limited to 'external/include/glm/gtx/color_space.inl') diff --git a/external/include/glm/gtx/color_space.inl b/external/include/glm/gtx/color_space.inl index e7cd58d..ff82395 100644 --- a/external/include/glm/gtx/color_space.inl +++ b/external/include/glm/gtx/color_space.inl @@ -3,19 +3,19 @@ namespace glm { - template - GLM_FUNC_QUALIFIER tvec3 rgbColor(const tvec3& hsvColor) + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rgbColor(const vec<3, T, Q>& hsvColor) { - tvec3 hsv = hsvColor; - tvec3 rgbColor; + vec<3, T, Q> hsv = hsvColor; + vec<3, T, Q> rgbColor; if(hsv.y == static_cast(0)) // achromatic (grey) - rgbColor = tvec3(hsv.z); + rgbColor = vec<3, T, Q>(hsv.z); else { - T sector = floor(hsv.x / T(60)); - T frac = (hsv.x / T(60)) - sector; + T sector = floor(hsv.x * (T(1) / T(60))); + T frac = (hsv.x * (T(1) / T(60))) - sector; // factorial part of h T o = hsv.z * (T(1) - hsv.y); T p = hsv.z * (T(1) - hsv.y * frac); @@ -45,13 +45,13 @@ namespace glm rgbColor.b = hsv.z; break; case 4: - rgbColor.r = q; - rgbColor.g = o; + rgbColor.r = q; + rgbColor.g = o; rgbColor.b = hsv.z; break; case 5: - rgbColor.r = hsv.z; - rgbColor.g = o; + rgbColor.r = hsv.z; + rgbColor.g = o; rgbColor.b = p; break; } @@ -60,19 +60,19 @@ namespace glm return rgbColor; } - template - GLM_FUNC_QUALIFIER tvec3 hsvColor(const tvec3& rgbColor) + template + GLM_FUNC_QUALIFIER vec<3, T, Q> hsvColor(const vec<3, T, Q>& rgbColor) { - tvec3 hsv = rgbColor; + vec<3, T, Q> hsv = rgbColor; float Min = min(min(rgbColor.r, rgbColor.g), rgbColor.b); float Max = max(max(rgbColor.r, rgbColor.g), rgbColor.b); float Delta = Max - Min; - hsv.z = Max; + hsv.z = Max; if(Max != static_cast(0)) { - hsv.y = Delta / hsv.z; + hsv.y = Delta / hsv.z; T h = static_cast(0); if(rgbColor.r == Max) @@ -85,7 +85,7 @@ namespace glm // between magenta & cyan h = static_cast(240) + T(60) * (rgbColor.r - rgbColor.g) / Delta; - if(h < T(0)) + if(h < T(0)) hsv.x = h + T(360); else hsv.x = h; @@ -100,14 +100,14 @@ namespace glm return hsv; } - template - GLM_FUNC_QUALIFIER tmat4x4 saturation(T const s) + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> saturation(T const s) { - tvec3 rgbw = tvec3(T(0.2126), T(0.7152), T(0.0722)); + vec<3, T, defaultp> rgbw = vec<3, T, defaultp>(T(0.2126), T(0.7152), T(0.0722)); - tvec3 const col((T(1) - s) * rgbw); + vec<3, T, defaultp> const col((T(1) - s) * rgbw); - tmat4x4 result(T(1)); + mat<4, 4, T, defaultp> result(T(1)); result[0][0] = col.x + s; result[0][1] = col.x; result[0][2] = col.x; @@ -117,25 +117,26 @@ namespace glm result[2][0] = col.z; result[2][1] = col.z; result[2][2] = col.z + s; + return result; } - template - GLM_FUNC_QUALIFIER tvec3 saturation(const T s, const tvec3& color) + template + GLM_FUNC_QUALIFIER vec<3, T, Q> saturation(const T s, const vec<3, T, Q>& color) { - return tvec3(saturation(s) * tvec4(color, T(0))); + return vec<3, T, Q>(saturation(s) * vec<4, T, Q>(color, T(0))); } - template - GLM_FUNC_QUALIFIER tvec4 saturation(const T s, const tvec4& color) + template + GLM_FUNC_QUALIFIER vec<4, T, Q> saturation(const T s, const vec<4, T, Q>& color) { return saturation(s) * color; } - template - GLM_FUNC_QUALIFIER T luminosity(const tvec3& color) + template + GLM_FUNC_QUALIFIER T luminosity(const vec<3, T, Q>& color) { - const tvec3 tmp = tvec3(0.33, 0.59, 0.11); + const vec<3, T, Q> tmp = vec<3, T, Q>(0.33, 0.59, 0.11); return dot(color, tmp); } }//namespace glm -- cgit v1.2.3