diff --git a/glm/core/func_common.inl b/glm/core/func_common.inl index d7943873..06a45018 100644 --- a/glm/core/func_common.inl +++ b/glm/core/func_common.inl @@ -156,13 +156,13 @@ namespace detail // floor template <> - GLM_FUNC_QUALIFIER detail::thalf floor(detail::thalf const& x) + GLM_FUNC_QUALIFIER detail::thalf floor(detail::thalf const & x) { return detail::thalf(::std::floor(x.toFloat())); } template - GLM_FUNC_QUALIFIER genType floor(genType const& x) + GLM_FUNC_QUALIFIER genType floor(genType const & x) { GLM_STATIC_ASSERT(detail::type::is_float, "'floor' only accept floating-point inputs"); diff --git a/glm/gtx/noise.inl b/glm/gtx/noise.inl index 50841c20..938a0ef8 100644 --- a/glm/gtx/noise.inl +++ b/glm/gtx/noise.inl @@ -695,52 +695,52 @@ GLM_FUNC_QUALIFIER T simplex(detail::tvec3 const & v) detail::tvec4 const D(0.0, 0.5, 1.0, 2.0); // First corner - detail::tvec3 i = floor(v + dot(v, detail::tvec3(C.y))); - detail::tvec3 x0 = v - i + dot(i, detail::tvec3(C.x)); + detail::tvec3 i(floor(v + dot(v, detail::tvec3(C.y)))); + detail::tvec3 x0(v - i + dot(i, detail::tvec3(C.x))); // Other corners - detail::tvec3 g = step(detail::tvec3(x0.y, x0.z, x0.x), x0); - detail::tvec3 l = T(1) - g; - detail::tvec3 i1 = min(g, detail::tvec3(l.z, l.x, l.y)); - detail::tvec3 i2 = max(g, detail::tvec3(l.z, l.x, l.y)); + detail::tvec3 g(step(detail::tvec3(x0.y, x0.z, x0.x), x0)); + detail::tvec3 l(T(1) - g); + detail::tvec3 i1(min(g, detail::tvec3(l.z, l.x, l.y))); + detail::tvec3 i2(max(g, detail::tvec3(l.z, l.x, l.y))); // x0 = x0 - 0.0 + 0.0 * C.xxx; // x1 = x0 - i1 + 1.0 * C.xxx; // x2 = x0 - i2 + 2.0 * C.xxx; // x3 = x0 - 1.0 + 3.0 * C.xxx; - detail::tvec3 x1 = x0 - i1 + C.x; - detail::tvec3 x2 = x0 - i2 + C.y; // 2.0*C.x = 1/3 = C.y - detail::tvec3 x3 = x0 - D.y; // -1.0+3.0*C.x = -0.5 = -D.y + detail::tvec3 x1(x0 - i1 + C.x); + detail::tvec3 x2(x0 - i2 + C.y); // 2.0*C.x = 1/3 = C.y + detail::tvec3 x3(x0 - D.y); // -1.0+3.0*C.x = -0.5 = -D.y // Permutations i = mod289(i); - detail::tvec4 p = permute(permute(permute( + detail::tvec4 p(permute(permute(permute( i.z + detail::tvec4(T(0), i1.z, i2.z, T(1))) + i.y + detail::tvec4(T(0), i1.y, i2.y, T(1))) + - i.x + detail::tvec4(T(0), i1.x, i2.x, T(1))); + i.x + detail::tvec4(T(0), i1.x, i2.x, T(1)))); // Gradients: 7x7 points over a square, mapped onto an octahedron. // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) T n_ = T(0.142857142857); // 1.0/7.0 - detail::tvec3 ns = n_ * detail::tvec3(D.w, D.y, D.z) - detail::tvec3(D.x, D.z, D.x); + detail::tvec3 ns(n_ * detail::tvec3(D.w, D.y, D.z) - detail::tvec3(D.x, D.z, D.x)); - detail::tvec4 j = p - T(49) * floor(p * ns.z * ns.z); // mod(p,7*7) + detail::tvec4 j(p - T(49) * floor(p * ns.z * ns.z)); // mod(p,7*7) - detail::tvec4 x_ = floor(j * ns.z); - detail::tvec4 y_ = floor(j - T(7) * x_); // mod(j,N) + detail::tvec4 x_(floor(j * ns.z)); + detail::tvec4 y_(floor(j - T(7) * x_)); // mod(j,N) - detail::tvec4 x = x_ * ns.x + ns.y; - detail::tvec4 y = y_ * ns.x + ns.y; - detail::tvec4 h = T(1) - abs(x) - abs(y); + detail::tvec4 x(x_ * ns.x + ns.y); + detail::tvec4 y(y_ * ns.x + ns.y); + detail::tvec4 h(T(1) - abs(x) - abs(y)); detail::tvec4 b0(x.x, x.y, y.x, y.y); detail::tvec4 b1(x.z, x.w, y.z, y.w); // vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0; // vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0; - detail::tvec4 s0 = floor(b0) * T(2) + T(1); - detail::tvec4 s1 = floor(b1) * T(2) + T(1); - detail::tvec4 sh = -step(h, detail::tvec4(0.0)); + detail::tvec4 s0(floor(b0) * T(2) + T(1)); + detail::tvec4 s1(floor(b1) * T(2) + T(1)); + detail::tvec4 sh(-step(h, detail::tvec4(0.0))); detail::tvec4 a0 = detail::tvec4(b0.x, b0.z, b0.y, b0.w) + detail::tvec4(s0.x, s0.z, s0.y, s0.w) * detail::tvec4(sh.x, sh.x, sh.y, sh.y); detail::tvec4 a1 = detail::tvec4(b1.x, b1.z, b1.y, b1.w) + detail::tvec4(s1.x, s1.z, s1.y, s1.w) * detail::tvec4(sh.z, sh.z, sh.w, sh.w);