|
|
@@ -6,7 +6,7 @@
|
|
|
// http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf
|
|
|
|
|
|
namespace glm{
|
|
|
-namespace gtc
|
|
|
+namespace detail
|
|
|
{
|
|
|
template<typename T, qualifier Q>
|
|
|
GLM_FUNC_QUALIFIER vec<4, T, Q> grad4(T const& j, vec<4, T, Q> const& ip)
|
|
|
@@ -17,7 +17,7 @@ namespace gtc
|
|
|
pXYZ = pXYZ + (vec<3, T, Q>(s) * T(2) - T(1)) * s.w;
|
|
|
return vec<4, T, Q>(pXYZ, pW);
|
|
|
}
|
|
|
-}//namespace gtc
|
|
|
+}//namespace detail
|
|
|
|
|
|
// Classic Perlin noise
|
|
|
template<typename T, qualifier Q>
|
|
|
@@ -781,11 +781,11 @@ namespace gtc
|
|
|
// 7*7*6 = 294, which is close to the ring size 17*17 = 289.
|
|
|
vec<4, T, Q> ip = vec<4, T, Q>(T(1) / T(294), T(1) / T(49), T(1) / T(7), T(0));
|
|
|
|
|
|
- vec<4, T, Q> p0 = gtc::grad4(j0, ip);
|
|
|
- vec<4, T, Q> p1 = gtc::grad4(j1.x, ip);
|
|
|
- vec<4, T, Q> p2 = gtc::grad4(j1.y, ip);
|
|
|
- vec<4, T, Q> p3 = gtc::grad4(j1.z, ip);
|
|
|
- vec<4, T, Q> p4 = gtc::grad4(j1.w, ip);
|
|
|
+ vec<4, T, Q> p0 = detail::grad4(j0, ip);
|
|
|
+ vec<4, T, Q> p1 = detail::grad4(j1.x, ip);
|
|
|
+ vec<4, T, Q> p2 = detail::grad4(j1.y, ip);
|
|
|
+ vec<4, T, Q> p3 = detail::grad4(j1.z, ip);
|
|
|
+ vec<4, T, Q> p4 = detail::grad4(j1.w, ip);
|
|
|
|
|
|
// Normalise gradients
|
|
|
vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3)));
|