noise.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": 
00005 // https://github.com/ashima/webgl-noise 
00006 // Following Stefan Gustavson's paper "Simplex noise demystified": 
00007 // http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf
00009 // Created : 2011-04-21
00010 // Updated : 2011-04-21
00011 // Licence : This source is under MIT License
00012 // File    : glm/gtx/noise.hpp
00014 // Dependency:
00015 // - GLM core
00017 
00018 #ifndef glm_gtx_noise
00019 #define glm_gtx_noise
00020 
00021 // Dependency:
00022 #include "../glm.hpp"
00023 
00024 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00025 #       pragma message("GLM: GLM_GTX_noise extension included")
00026 #endif
00027 
00028 namespace glm
00029 {
00030         namespace test{
00031                 void main_gtx_noise();
00032         }//namespace test
00033 
00034         namespace gtx{
00036         namespace noise
00037         {
00040 
00043                 template <typename T, template<typename> class vecType> 
00044         T perlin(
00045                         vecType<T> const & p);
00046                 
00049                 template <typename T, template<typename> class vecType> 
00050         T perlin(
00051                         vecType<T> const & p, 
00052                         vecType<T> const & rep);
00053 
00056                 template <typename T, template<typename> class vecType> 
00057         T simplex(
00058                         vecType<T> const & p);
00059 
00061 
00062         }//namespace noise
00063         }//namespace gtx
00064 }//namespace glm
00065 
00066 #include "noise.inl"
00067 
00068 namespace glm{using namespace gtx::noise;}
00069 
00070 #endif//glm_gtx_noise