diff --git a/glm/gtx/noise.hpp b/glm/gtx/noise.hpp index 39b51090..0e1a32e8 100644 --- a/glm/gtx/noise.hpp +++ b/glm/gtx/noise.hpp @@ -41,20 +41,20 @@ namespace glm //! Classic perlin noise. //! From GLM_GTX_noise extension. template class vecType> - T cnoise( + T perlin( vecType const & p); //! Periodic perlin noise. //! From GLM_GTX_noise extension. template class vecType> - T pnoise( + T perlin( vecType const & p, vecType const & rep); //! Simplex noise. //! From GLM_GTX_noise extension. template class vecType> - T snoise( + T simplex( vecType const & p); ///@} diff --git a/glm/gtx/noise.inl b/glm/gtx/noise.inl index cc61e9e4..839173b4 100644 --- a/glm/gtx/noise.inl +++ b/glm/gtx/noise.inl @@ -62,7 +62,7 @@ namespace noise { // Classic Perlin noise template - GLM_FUNC_QUALIFIER T cnoise(detail::tvec2 const & P) + GLM_FUNC_QUALIFIER T perlin(detail::tvec2 const & P) { detail::tvec4 Pi = floor(detail::tvec4(P.x, P.y, P.x, P.y)) + detail::tvec4(0.0, 0.0, 1.0, 1.0); detail::tvec4 Pf = fract(detail::tvec4(P.x, P.y, P.x, P.y)) - detail::tvec4(0.0, 0.0, 1.0, 1.0); @@ -103,7 +103,7 @@ namespace noise // Classic Perlin noise template - GLM_FUNC_QUALIFIER T cnoise(detail::tvec3 const & P) + GLM_FUNC_QUALIFIER T perlin(detail::tvec3 const & P) { detail::tvec3 Pi0 = floor(P); // Integer part for indexing detail::tvec3 Pi1 = Pi0 + T(1); // Integer part + 1 @@ -176,7 +176,7 @@ namespace noise // Classic Perlin noise template - GLM_FUNC_QUALIFIER T cnoise(detail::tvec4 const & P) + GLM_FUNC_QUALIFIER T perlin(detail::tvec4 const & P) { detail::tvec4 Pi0 = floor(P); // Integer part for indexing detail::tvec4 Pi1 = Pi0 + T(1); // Integer part + 1 @@ -312,10 +312,10 @@ namespace noise // Classic Perlin noise, periodic variant template - GLM_FUNC_QUALIFIER T pnoise(detail::tvec2 const & P, detail::tvec2 const & rep) + GLM_FUNC_QUALIFIER T perlin(detail::tvec2 const & P, detail::tvec2 const & rep) { - detail::tvec4 Pi = floor(P.x, P.y, P.x, P.y) + detail::tvec4(0.0, 0.0, 1.0, 1.0); - detail::tvec4 Pf = fract(P.x, P.y, P.x, P.y) - detail::tvec4(0.0, 0.0, 1.0, 1.0); + detail::tvec4 Pi = floor(detail::tvec4(P.x, P.y, P.x, P.y)) + detail::tvec4(0.0, 0.0, 1.0, 1.0); + detail::tvec4 Pf = fract(detail::tvec4(P.x, P.y, P.x, P.y)) - detail::tvec4(0.0, 0.0, 1.0, 1.0); Pi = mod(Pi, detail::tvec4(rep.x, rep.y, rep.x, rep.y)); // To create noise with explicit period Pi = mod(Pi, T(289)); // To avoid truncation effects in permutation detail::tvec4 ix(Pi.x, Pi.z, Pi.x, Pi.z); @@ -354,7 +354,7 @@ namespace noise // Classic Perlin noise, periodic variant template - GLM_FUNC_QUALIFIER T pnoise(detail::tvec3 const & P, detail::tvec3 const & rep) + GLM_FUNC_QUALIFIER T perlin(detail::tvec3 const & P, detail::tvec3 const & rep) { detail::tvec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period detail::tvec3 Pi1 = mod(Pi0 + detail::tvec3(1.0), rep); // Integer part + 1, mod period @@ -425,7 +425,7 @@ namespace noise // Classic Perlin noise, periodic version template - GLM_FUNC_QUALIFIER T pnoise(detail::tvec4 const & P, detail::tvec4 const & rep) + GLM_FUNC_QUALIFIER T perlin(detail::tvec4 const & P, detail::tvec4 const & rep) { detail::tvec4 Pi0 = mod(floor(P), rep); // Integer part modulo rep detail::tvec4 Pi1 = mod(Pi0 + T(1), rep); // Integer part + 1 mod rep @@ -558,7 +558,7 @@ namespace noise } template - GLM_FUNC_QUALIFIER T snoise(glm::detail::tvec2 const & v) + GLM_FUNC_QUALIFIER T simplex(glm::detail::tvec2 const & v) { detail::tvec4 const C = detail::tvec4( T( 0.211324865405187), // (3.0 - sqrt(3.0)) / 6.0 @@ -615,7 +615,7 @@ namespace noise } template - GLM_FUNC_QUALIFIER T snoise(detail::tvec3 const & v) + GLM_FUNC_QUALIFIER T simplex(detail::tvec3 const & v) { detail::tvec2 const C = detail::tvec2(1.0 / 6.0, 1.0 / 3.0); detail::tvec4 const D = detail::tvec4(0.0, 0.5, 1.0, 2.0); @@ -702,7 +702,7 @@ namespace noise } template - GLM_FUNC_QUALIFIER T snoise(detail::tvec4 const & v) + GLM_FUNC_QUALIFIER T simplex(detail::tvec4 const & v) { detail::tvec4 const C( 0.138196601125011, // (5 - sqrt(5))/20 G4 diff --git a/test/gtx/gtx-noise.cpp b/test/gtx/gtx-noise.cpp index 8068cf21..25088bff 100644 --- a/test/gtx/gtx-noise.cpp +++ b/test/gtx/gtx-noise.cpp @@ -20,4 +20,8 @@ int main() float ValueCNoise2D = glm::cnoise(glm::vec2(0.5f)); float ValueCNoise3D = glm::cnoise(glm::vec3(0.5f)); float ValueCNoise4D = glm::cnoise(glm::vec4(0.5f)); + + float ValuePNoise2D = glm::pnoise(glm::vec2(0.5f), glm::vec2(0.5f)); + float ValuePNoise3D = glm::pnoise(glm::vec3(0.5f), glm::vec3(0.5f)); + float ValuePNoise4D = glm::pnoise(glm::vec4(0.5f), glm::vec4(0.5f)); }