~mir-team/mir/in-process-egl+input-conglomeration

« back to all changes in this revision

Viewing changes to 3rd_party/glm/glm/core/func_noise.hpp

Merged trunk and fixed issues

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
///////////////////////////////////////////////////////////////////////////////////
2
 
/// OpenGL Mathematics (glm.g-truc.net)
3
 
///
4
 
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
5
 
/// Permission is hereby granted, free of charge, to any person obtaining a copy
6
 
/// of this software and associated documentation files (the "Software"), to deal
7
 
/// in the Software without restriction, including without limitation the rights
8
 
/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
 
/// copies of the Software, and to permit persons to whom the Software is
10
 
/// furnished to do so, subject to the following conditions:
11
 
/// 
12
 
/// The above copyright notice and this permission notice shall be included in
13
 
/// all copies or substantial portions of the Software.
14
 
/// 
15
 
/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
 
/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
 
/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
 
/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
 
/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
 
/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
 
/// THE SOFTWARE.
22
 
///
23
 
/// @ref core
24
 
/// @file glm/core/func_noise.hpp
25
 
/// @date 2008-08-01 / 2011-06-18
26
 
/// @author Christophe Riccio
27
 
///
28
 
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
29
 
/// 
30
 
/// @defgroup core_func_noise Noise functions
31
 
/// @ingroup core
32
 
/// 
33
 
/// Noise functions are stochastic functions that can be used to increase visual 
34
 
/// complexity. Values returned by the following noise functions give the 
35
 
/// appearance of randomness, but are not truly random.
36
 
///////////////////////////////////////////////////////////////////////////////////
37
 
 
38
 
#ifndef glm_core_func_noise
39
 
#define glm_core_func_noise GLM_VERSION
40
 
 
41
 
namespace glm
42
 
{
43
 
        /// @addtogroup core_func_noise
44
 
        /// @{
45
 
 
46
 
        /// Returns a 1D noise value based on the input value x.
47
 
        ///
48
 
        /// @tparam genType Floating-point scalar or vector types.
49
 
    /// 
50
 
    /// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise1.xml">GLSL noise1 man page</a>
51
 
        /// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
52
 
        template <typename genType>
53
 
        typename genType::value_type noise1(genType const & x);
54
 
 
55
 
        /// Returns a 2D noise value based on the input value x.
56
 
        ///
57
 
        /// @tparam genType Floating-point scalar or vector types.
58
 
    /// 
59
 
    /// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise2.xml">GLSL noise2 man page</a>
60
 
    /// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
61
 
        template <typename genType>
62
 
        detail::tvec2<typename genType::value_type> noise2(genType const & x);
63
 
 
64
 
        /// Returns a 3D noise value based on the input value x.
65
 
        ///
66
 
        /// @tparam genType Floating-point scalar or vector types.
67
 
    /// 
68
 
    /// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise3.xml">GLSL noise3 man page</a>
69
 
    /// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
70
 
        template <typename genType>
71
 
        detail::tvec3<typename genType::value_type> noise3(genType const & x);
72
 
 
73
 
        /// Returns a 4D noise value based on the input value x.
74
 
        ///
75
 
        /// @tparam genType Floating-point scalar or vector types.
76
 
    /// 
77
 
    /// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/noise4.xml">GLSL noise4 man page</a>
78
 
    /// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.13 Noise Functions</a>
79
 
        template <typename genType>
80
 
        detail::tvec4<typename genType::value_type> noise4(genType const & x);
81
 
 
82
 
        /// @}
83
 
}//namespace glm
84
 
 
85
 
#include "func_noise.inl"
86
 
 
87
 
#endif//glm_core_func_noise