summaryrefslogtreecommitdiff
path: root/src/glm/core/func_noise.hpp
blob: 0dd0631c0d04e713adc90adeb017e7b3651570e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
///////////////////////////////////////////////////////////////////////////////////////////////////
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
///////////////////////////////////////////////////////////////////////////////////////////////////
// Created : 2008-08-01
// Updated : 2008-09-10
// Licence : This source is under MIT License
// File    : glm/core/func_noise.hpp
///////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef glm_core_func_noise
#define glm_core_func_noise

namespace glm
{
	namespace core{
	namespace function{
	// Define all noise functions from Section 8.9 of GLSL 1.30.8 specification. Included in glm namespace.
	namespace noise{

	/// \addtogroup core_funcs
	///@{

	//! Returns a 1D noise value based on the input value x.
    //! 
    //! \li <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise1.xml">GLSL noise1 man page</a>
	//! \li GLSL 1.30.08 specification, section 8.9
	template <typename genType>
	typename genType::value_type noise1(genType const & x);

	//! Returns a 2D noise value based on the input value x.
    //! 
    //! \li <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise2.xml">GLSL noise2 man page</a>
    //! \li GLSL 1.30.08 specification, section 8.9
	template <typename genType>
	detail::tvec2<typename genType::value_type> noise2(genType const & x);

	//! Returns a 3D noise value based on the input value x.
    //! 
    //! \li <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise3.xml">GLSL noise3 man page</a>
    //! \li GLSL 1.30.08 specification, section 8.9
	template <typename genType>
	detail::tvec3<typename genType::value_type> noise3(genType const & x);

	//! Returns a 4D noise value based on the input value x.
    //! 
    //! \li <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise4.xml">GLSL noise4 man page</a>
    //! \li GLSL 1.30.08 specification, section 8.9
	template <typename genType>
	detail::tvec4<typename genType::value_type> noise4(genType const & x);

	///@}

	}//namespace noise
	}//namespace function
	}//namespace core

	using namespace core::function::noise;
}//namespace glm

#include "func_noise.inl"

#endif//glm_core_func_noise