diff --git a/CMakeLists.txt b/CMakeLists.txt index 962fa640..860a6eed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -177,7 +177,7 @@ install( DESTINATION ${GLM_INSTALL_CONFIGDIR} ) -if (NOT CMAKE_VERSION VERSION_LESS "2.8.12") +if (NOT CMAKE_VERSION VERSION_LESS "3.0") add_library(glm INTERFACE) target_include_directories(glm INTERFACE $ diff --git a/cmake/glmBuildConfig.cmake.in b/cmake/glmBuildConfig.cmake.in index bec9af30..1258dea1 100644 --- a/cmake/glmBuildConfig.cmake.in +++ b/cmake/glmBuildConfig.cmake.in @@ -1,6 +1,6 @@ set(GLM_VERSION "@GLM_VERSION@") set(GLM_INCLUDE_DIRS "@CMAKE_CURRENT_SOURCE_DIR@") -if (NOT CMAKE_VERSION VERSION_LESS "2.8.12") +if (NOT CMAKE_VERSION VERSION_LESS "3.0") include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake") endif() diff --git a/cmake/glmConfig.cmake.in b/cmake/glmConfig.cmake.in index 3f8a1fe5..37d5ad81 100644 --- a/cmake/glmConfig.cmake.in +++ b/cmake/glmConfig.cmake.in @@ -4,6 +4,6 @@ set(GLM_VERSION "@GLM_VERSION@") set_and_check(GLM_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") -if (NOT CMAKE_VERSION VERSION_LESS "2.8.12") +if (NOT CMAKE_VERSION VERSION_LESS "3.0") include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake") endif() diff --git a/copying.txt b/copying.txt index ec06e46e..4ff49c7a 100644 --- a/copying.txt +++ b/copying.txt @@ -19,9 +19,8 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Restrictions: - By making use of the Software for military purposes, you choose to make a - Bunny unhappy. +Restrictions: By making use of the Software for military purposes, you choose +to make a Bunny unhappy. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, diff --git a/doc/api/a00001.html b/doc/api/a00001.html index 58bd4ef2..afbfaf0a 100644 --- a/doc/api/a00001.html +++ b/doc/api/a00001.html @@ -3,8 +3,8 @@ - -0.9.6: _features.hpp File Reference + +0.9.7: _features.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -53,11 +53,11 @@

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-02-20 / 2013-02-20
Author
Christophe Riccio
@@ -67,7 +67,7 @@ diff --git a/doc/api/a00001_source.html b/doc/api/a00001_source.html index 821a14cc..c2f58f9e 100644 --- a/doc/api/a00001_source.html +++ b/doc/api/a00001_source.html @@ -3,8 +3,8 @@ - -0.9.6: _features.hpp Source File + +0.9.7: _features.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -451,7 +451,7 @@ diff --git a/doc/api/a00002.html b/doc/api/a00002.html index 1bac8d0e..ee0c0a4d 100644 --- a/doc/api/a00002.html +++ b/doc/api/a00002.html @@ -3,8 +3,8 @@ - -0.9.6: _fixes.hpp File Reference + +0.9.7: _fixes.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -53,11 +53,11 @@

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2011-02-21 / 2011-11-22
Author
Christophe Riccio
@@ -67,7 +67,7 @@ diff --git a/doc/api/a00002_source.html b/doc/api/a00002_source.html index a43c9233..19c76f94 100644 --- a/doc/api/a00002_source.html +++ b/doc/api/a00002_source.html @@ -3,8 +3,8 @@ - -0.9.6: _fixes.hpp Source File + +0.9.7: _fixes.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -77,7 +77,7 @@ diff --git a/doc/api/a00003.html b/doc/api/a00003.html index 8ba78af7..ca2b22e8 100644 --- a/doc/api/a00003.html +++ b/doc/api/a00003.html @@ -3,8 +3,8 @@ - -0.9.6: _noise.hpp File Reference + +0.9.7: _noise.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -53,11 +53,11 @@

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
@@ -67,7 +67,7 @@ diff --git a/doc/api/a00003_source.html b/doc/api/a00003_source.html index 5c4aafa2..07b836a7 100644 --- a/doc/api/a00003_source.html +++ b/doc/api/a00003_source.html @@ -3,8 +3,8 @@ - -0.9.6: _noise.hpp Source File + +0.9.7: _noise.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -55,112 +55,113 @@
35 #include "../vec2.hpp"
36 #include "../vec3.hpp"
37 #include "../vec4.hpp"
-
38 
-
39 namespace glm{
-
40 namespace detail
-
41 {
-
42  template <typename T>
-
43  GLM_FUNC_QUALIFIER T mod289(T const & x)
-
44  {
-
45  return x - floor(x * static_cast<T>(1.0) / static_cast<T>(289.0)) * static_cast<T>(289.0);
-
46  }
-
47 
-
48  template <typename T>
-
49  GLM_FUNC_QUALIFIER T permute(T const & x)
-
50  {
-
51  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
-
52  }
-
53 
-
54  template <typename T, precision P>
-
55  GLM_FUNC_QUALIFIER tvec2<T, P> permute(tvec2<T, P> const & x)
-
56  {
-
57  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
-
58  }
-
59 
-
60  template <typename T, precision P>
-
61  GLM_FUNC_QUALIFIER tvec3<T, P> permute(tvec3<T, P> const & x)
-
62  {
-
63  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
-
64  }
-
65 
-
66  template <typename T, precision P>
-
67  GLM_FUNC_QUALIFIER tvec4<T, P> permute(tvec4<T, P> const & x)
-
68  {
-
69  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
-
70  }
-
71 /*
-
72  template <typename T, precision P, template<typename> class vecType>
-
73  GLM_FUNC_QUALIFIER vecType<T, P> permute(vecType<T, P> const & x)
-
74  {
-
75  return mod289(((x * T(34)) + T(1)) * x);
-
76  }
-
77 */
-
78  template <typename T>
-
79  GLM_FUNC_QUALIFIER T taylorInvSqrt(T const & r)
-
80  {
-
81  return T(1.79284291400159) - T(0.85373472095314) * r;
-
82  }
-
83 
-
84  template <typename T, precision P>
-
85  GLM_FUNC_QUALIFIER tvec2<T, P> taylorInvSqrt(tvec2<T, P> const & r)
-
86  {
-
87  return T(1.79284291400159) - T(0.85373472095314) * r;
-
88  }
-
89 
-
90  template <typename T, precision P>
-
91  GLM_FUNC_QUALIFIER tvec3<T, P> taylorInvSqrt(tvec3<T, P> const & r)
-
92  {
-
93  return T(1.79284291400159) - T(0.85373472095314) * r;
-
94  }
-
95 
-
96  template <typename T, precision P>
-
97  GLM_FUNC_QUALIFIER tvec4<T, P> taylorInvSqrt(tvec4<T, P> const & r)
-
98  {
-
99  return T(1.79284291400159) - T(0.85373472095314) * r;
-
100  }
-
101 /*
-
102  template <typename T, precision P, template<typename> class vecType>
-
103  GLM_FUNC_QUALIFIER vecType<T, P> taylorInvSqrt(vecType<T, P> const & r)
-
104  {
-
105  return T(1.79284291400159) - T(0.85373472095314) * r;
-
106  }
-
107 */
-
108 
-
109  template <typename T, precision P>
-
110  GLM_FUNC_QUALIFIER tvec2<T, P> fade(tvec2<T, P> const & t)
-
111  {
-
112  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
-
113  }
-
114 
-
115  template <typename T, precision P>
-
116  GLM_FUNC_QUALIFIER tvec3<T, P> fade(tvec3<T, P> const & t)
-
117  {
-
118  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
-
119  }
-
120 
-
121  template <typename T, precision P>
-
122  GLM_FUNC_QUALIFIER tvec4<T, P> fade(tvec4<T, P> const & t)
-
123  {
-
124  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
-
125  }
-
126 /*
-
127  template <typename T, precision P, template <typename> class vecType>
-
128  GLM_FUNC_QUALIFIER vecType<T, P> fade(vecType<T, P> const & t)
-
129  {
-
130  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
-
131  }
-
132 */
-
133 }//namespace detail
-
134 }//namespace glm
-
135 
-
GLM_FUNC_DECL vecType< T, P > floor(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
-
Definition: _noise.hpp:39
+
38 #include "../common.hpp"
+
39 
+
40 namespace glm{
+
41 namespace detail
+
42 {
+
43  template <typename T>
+
44  GLM_FUNC_QUALIFIER T mod289(T const & x)
+
45  {
+
46  return x - floor(x * static_cast<T>(1.0) / static_cast<T>(289.0)) * static_cast<T>(289.0);
+
47  }
+
48 
+
49  template <typename T>
+
50  GLM_FUNC_QUALIFIER T permute(T const & x)
+
51  {
+
52  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
53  }
+
54 
+
55  template <typename T, precision P>
+
56  GLM_FUNC_QUALIFIER tvec2<T, P> permute(tvec2<T, P> const & x)
+
57  {
+
58  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
59  }
+
60 
+
61  template <typename T, precision P>
+
62  GLM_FUNC_QUALIFIER tvec3<T, P> permute(tvec3<T, P> const & x)
+
63  {
+
64  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
65  }
+
66 
+
67  template <typename T, precision P>
+
68  GLM_FUNC_QUALIFIER tvec4<T, P> permute(tvec4<T, P> const & x)
+
69  {
+
70  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
71  }
+
72 /*
+
73  template <typename T, precision P, template<typename> class vecType>
+
74  GLM_FUNC_QUALIFIER vecType<T, P> permute(vecType<T, P> const & x)
+
75  {
+
76  return mod289(((x * T(34)) + T(1)) * x);
+
77  }
+
78 */
+
79  template <typename T>
+
80  GLM_FUNC_QUALIFIER T taylorInvSqrt(T const & r)
+
81  {
+
82  return T(1.79284291400159) - T(0.85373472095314) * r;
+
83  }
+
84 
+
85  template <typename T, precision P>
+
86  GLM_FUNC_QUALIFIER tvec2<T, P> taylorInvSqrt(tvec2<T, P> const & r)
+
87  {
+
88  return T(1.79284291400159) - T(0.85373472095314) * r;
+
89  }
+
90 
+
91  template <typename T, precision P>
+
92  GLM_FUNC_QUALIFIER tvec3<T, P> taylorInvSqrt(tvec3<T, P> const & r)
+
93  {
+
94  return T(1.79284291400159) - T(0.85373472095314) * r;
+
95  }
+
96 
+
97  template <typename T, precision P>
+
98  GLM_FUNC_QUALIFIER tvec4<T, P> taylorInvSqrt(tvec4<T, P> const & r)
+
99  {
+
100  return T(1.79284291400159) - T(0.85373472095314) * r;
+
101  }
+
102 /*
+
103  template <typename T, precision P, template<typename> class vecType>
+
104  GLM_FUNC_QUALIFIER vecType<T, P> taylorInvSqrt(vecType<T, P> const & r)
+
105  {
+
106  return T(1.79284291400159) - T(0.85373472095314) * r;
+
107  }
+
108 */
+
109 
+
110  template <typename T, precision P>
+
111  GLM_FUNC_QUALIFIER tvec2<T, P> fade(tvec2<T, P> const & t)
+
112  {
+
113  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
114  }
+
115 
+
116  template <typename T, precision P>
+
117  GLM_FUNC_QUALIFIER tvec3<T, P> fade(tvec3<T, P> const & t)
+
118  {
+
119  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
120  }
+
121 
+
122  template <typename T, precision P>
+
123  GLM_FUNC_QUALIFIER tvec4<T, P> fade(tvec4<T, P> const & t)
+
124  {
+
125  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
126  }
+
127 /*
+
128  template <typename T, precision P, template <typename> class vecType>
+
129  GLM_FUNC_QUALIFIER vecType<T, P> fade(vecType<T, P> const & t)
+
130  {
+
131  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
132  }
+
133 */
+
134 }//namespace detail
+
135 }//namespace glm
+
136 
+
GLM_FUNC_DECL vecType< T, P > floor(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00004.html b/doc/api/a00004.html index a7c6fdf4..3963397a 100644 --- a/doc/api/a00004.html +++ b/doc/api/a00004.html @@ -3,8 +3,8 @@ - -0.9.6: _swizzle.hpp File Reference + +0.9.7: _swizzle.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -53,11 +53,11 @@

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2006-04-20 / 2011-02-16
Author
Christophe Riccio
@@ -67,7 +67,7 @@ diff --git a/doc/api/a00004_source.html b/doc/api/a00004_source.html index b0a43f10..70a81eae 100644 --- a/doc/api/a00004_source.html +++ b/doc/api/a00004_source.html @@ -3,8 +3,8 @@ - -0.9.6: _swizzle.hpp Source File + +0.9.7: _swizzle.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -52,7 +52,7 @@ Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 namespace glm{
+
35 namespace glm{
36 namespace detail
37 {
38  // Internal class for implementing swizzle operators
@@ -122,7 +122,7 @@
102  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const VecType& that)
103  {
104  struct op {
-
105  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e = t; }
+
105  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e = t; }
106  };
107  _apply_op(that, op());
108  return *this;
@@ -131,7 +131,7 @@
111  GLM_FUNC_QUALIFIER void operator -= (const VecType& that)
112  {
113  struct op {
-
114  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e -= t; }
+
114  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e -= t; }
115  };
116  _apply_op(that, op());
117  }
@@ -139,7 +139,7 @@
119  GLM_FUNC_QUALIFIER void operator += (const VecType& that)
120  {
121  struct op {
-
122  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e += t; }
+
122  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e += t; }
123  };
124  _apply_op(that, op());
125  }
@@ -147,7 +147,7 @@
127  GLM_FUNC_QUALIFIER void operator *= (const VecType& that)
128  {
129  struct op {
-
130  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e *= t; }
+
130  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e *= t; }
131  };
132  _apply_op(that, op());
133  }
@@ -155,7 +155,7 @@
135  GLM_FUNC_QUALIFIER void operator /= (const VecType& that)
136  {
137  struct op {
-
138  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e /= t; }
+
138  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e /= t; }
139  };
140  _apply_op(that, op());
141  }
@@ -319,7 +319,7 @@
299 }//namespace detail
300 }//namespace glm
301 
-
302 namespace glm
+
302 namespace glm
303 {
304  namespace detail
305  {
@@ -851,14 +851,14 @@
831  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \
832  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
833  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,3,3> E3 ## E3 ## E3 ## E3; };
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType e()
Return e constant.
+
GLM_FUNC_DECL genType e()
Return e constant.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00005.html b/doc/api/a00005.html index 3364dc58..353fad21 100644 --- a/doc/api/a00005.html +++ b/doc/api/a00005.html @@ -3,8 +3,8 @@ - -0.9.6: _swizzle_func.hpp File Reference + +0.9.7: _swizzle_func.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -53,11 +53,11 @@

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2011-10-16 / 2011-10-16
Author
Christophe Riccio
@@ -67,7 +67,7 @@ diff --git a/doc/api/a00005_source.html b/doc/api/a00005_source.html index fb76234c..2cc119f2 100644 --- a/doc/api/a00005_source.html +++ b/doc/api/a00005_source.html @@ -3,8 +3,8 @@ - -0.9.6: _swizzle_func.hpp Source File + +0.9.7: _swizzle_func.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -748,7 +748,7 @@ diff --git a/doc/api/a00006.html b/doc/api/a00006.html index 1a79daaa..6d86c9d4 100644 --- a/doc/api/a00006.html +++ b/doc/api/a00006.html @@ -3,8 +3,8 @@ - -0.9.6: _vectorize.hpp File Reference + +0.9.7: _vectorize.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -53,11 +53,11 @@

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2011-10-14 / 2011-10-14
Author
Christophe Riccio
@@ -67,7 +67,7 @@ diff --git a/doc/api/a00006_source.html b/doc/api/a00006_source.html index 8b047b21..4f53251c 100644 --- a/doc/api/a00006_source.html +++ b/doc/api/a00006_source.html @@ -3,8 +3,8 @@ - -0.9.6: _vectorize.hpp Source File + +0.9.7: _vectorize.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -52,12 +52,12 @@ Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "type_vec1.hpp"
-
36 #include "type_vec2.hpp"
-
37 #include "type_vec3.hpp"
-
38 #include "type_vec4.hpp"
+
35 #include "type_vec1.hpp"
+
36 #include "type_vec2.hpp"
+
37 #include "type_vec3.hpp"
+
38 #include "type_vec4.hpp"
39 
-
40 namespace glm{
+
40 namespace glm{
41 namespace detail
42 {
43  template <typename R, typename T, precision P, template <typename, precision> class vecType>
@@ -178,17 +178,17 @@
158  };
159 }//namespace detail
160 }//namespace glm
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00007.html b/doc/api/a00007.html index 9225c73a..cee586da 100644 --- a/doc/api/a00007.html +++ b/doc/api/a00007.html @@ -3,8 +3,8 @@ - -0.9.6: associated_min_max.hpp File Reference + +0.9.7: associated_min_max.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -57,84 +57,84 @@

Functions

template<typename T , typename U > -GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b) +GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL tvec2< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b) +GLM_FUNC_DECL tvec2< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b) +GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b) +GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)   template<typename T , typename U > -GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c) +GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c) +GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c) +GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c) +GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c)   template<typename T , typename U > -GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d) +GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d) +GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d) +GLM_FUNC_DECL vecType< U, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d) +GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)   template<typename T , typename U , precision P> -GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b) +GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL tvec2< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b) +GLM_FUNC_DECL tvec2< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMin (T x, const vecType< U, P > &a, T y, const vecType< U, P > &b) +GLM_FUNC_DECL vecType< U, P > associatedMin (T x, const vecType< U, P > &a, T y, const vecType< U, P > &b)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b) +GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)   template<typename T , typename U > -GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c) +GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c) +GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)   template<typename T , typename U > -GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d) +GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d) +GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMin (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d) +GLM_FUNC_DECL vecType< U, P > associatedMin (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)   template<typename T , typename U , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d) +GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)  

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_associated_min_max

+

GLM_GTX_associated_min_max

Date
2008-03-10 / 2014-10-11
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTX_extented_min_max (dependence)
+GLM_GTX_extented_min_max (dependence)

Definition in file associated_min_max.hpp.

@@ -142,7 +142,7 @@ Functions diff --git a/doc/api/a00007_source.html b/doc/api/a00007_source.html index 1bbdfad9..aaa8b3fc 100644 --- a/doc/api/a00007_source.html +++ b/doc/api/a00007_source.html @@ -3,8 +3,8 @@ - -0.9.6: associated_min_max.hpp Source File + +0.9.7: associated_min_max.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -59,132 +59,132 @@
48 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
49 #endif
50 
-
51 namespace glm
+
51 namespace glm
52 {
55 
58  template<typename T, typename U, precision P>
-
59  GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b);
+
59  GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b);
60 
63  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
64  GLM_FUNC_DECL tvec2<U, P> associatedMin(
+
64  GLM_FUNC_DECL tvec2<U, P> associatedMin(
65  vecType<T, P> const & x, vecType<U, P> const & a,
66  vecType<T, P> const & y, vecType<U, P> const & b);
67 
70  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
71  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
71  GLM_FUNC_DECL vecType<U, P> associatedMin(
72  T x, const vecType<U, P>& a,
73  T y, const vecType<U, P>& b);
74 
77  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
78  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
78  GLM_FUNC_DECL vecType<U, P> associatedMin(
79  vecType<T, P> const & x, U a,
80  vecType<T, P> const & y, U b);
81 
84  template<typename T, typename U>
-
85  GLM_FUNC_DECL U associatedMin(
+
85  GLM_FUNC_DECL U associatedMin(
86  T x, U a,
87  T y, U b,
88  T z, U c);
89 
92  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
93  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
93  GLM_FUNC_DECL vecType<U, P> associatedMin(
94  vecType<T, P> const & x, vecType<U, P> const & a,
95  vecType<T, P> const & y, vecType<U, P> const & b,
96  vecType<T, P> const & z, vecType<U, P> const & c);
97 
100  template<typename T, typename U>
-
101  GLM_FUNC_DECL U associatedMin(
+
101  GLM_FUNC_DECL U associatedMin(
102  T x, U a,
103  T y, U b,
104  T z, U c,
105  T w, U d);
106 
109  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
110  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
110  GLM_FUNC_DECL vecType<U, P> associatedMin(
111  vecType<T, P> const & x, vecType<U, P> const & a,
112  vecType<T, P> const & y, vecType<U, P> const & b,
113  vecType<T, P> const & z, vecType<U, P> const & c,
114  vecType<T, P> const & w, vecType<U, P> const & d);
115 
118  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
119  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
119  GLM_FUNC_DECL vecType<U, P> associatedMin(
120  T x, vecType<U, P> const & a,
121  T y, vecType<U, P> const & b,
122  T z, vecType<U, P> const & c,
123  T w, vecType<U, P> const & d);
124 
127  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
128  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
128  GLM_FUNC_DECL vecType<U, P> associatedMin(
129  vecType<T, P> const & x, U a,
130  vecType<T, P> const & y, U b,
131  vecType<T, P> const & z, U c,
132  vecType<T, P> const & w, U d);
133 
136  template<typename T, typename U>
-
137  GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b);
+
137  GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b);
138 
141  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
142  GLM_FUNC_DECL tvec2<U, P> associatedMax(
+
142  GLM_FUNC_DECL tvec2<U, P> associatedMax(
143  vecType<T, P> const & x, vecType<U, P> const & a,
144  vecType<T, P> const & y, vecType<U, P> const & b);
145 
148  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
149  GLM_FUNC_DECL vecType<T, P> associatedMax(
+
149  GLM_FUNC_DECL vecType<T, P> associatedMax(
150  T x, vecType<U, P> const & a,
151  T y, vecType<U, P> const & b);
152 
155  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
156  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
156  GLM_FUNC_DECL vecType<U, P> associatedMax(
157  vecType<T, P> const & x, U a,
158  vecType<T, P> const & y, U b);
159 
162  template<typename T, typename U>
-
163  GLM_FUNC_DECL U associatedMax(
+
163  GLM_FUNC_DECL U associatedMax(
164  T x, U a,
165  T y, U b,
166  T z, U c);
167 
170  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
171  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
171  GLM_FUNC_DECL vecType<U, P> associatedMax(
172  vecType<T, P> const & x, vecType<U, P> const & a,
173  vecType<T, P> const & y, vecType<U, P> const & b,
174  vecType<T, P> const & z, vecType<U, P> const & c);
175 
178  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
179  GLM_FUNC_DECL vecType<T, P> associatedMax(
+
179  GLM_FUNC_DECL vecType<T, P> associatedMax(
180  T x, vecType<U, P> const & a,
181  T y, vecType<U, P> const & b,
182  T z, vecType<U, P> const & c);
183 
186  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
187  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
187  GLM_FUNC_DECL vecType<U, P> associatedMax(
188  vecType<T, P> const & x, U a,
189  vecType<T, P> const & y, U b,
190  vecType<T, P> const & z, U c);
191 
194  template<typename T, typename U>
-
195  GLM_FUNC_DECL U associatedMax(
+
195  GLM_FUNC_DECL U associatedMax(
196  T x, U a,
197  T y, U b,
198  T z, U c,
199  T w, U d);
200 
203  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
204  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
204  GLM_FUNC_DECL vecType<U, P> associatedMax(
205  vecType<T, P> const & x, vecType<U, P> const & a,
206  vecType<T, P> const & y, vecType<U, P> const & b,
207  vecType<T, P> const & z, vecType<U, P> const & c,
208  vecType<T, P> const & w, vecType<U, P> const & d);
209 
212  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
213  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
213  GLM_FUNC_DECL vecType<U, P> associatedMax(
214  T x, vecType<U, P> const & a,
215  T y, vecType<U, P> const & b,
216  T z, vecType<U, P> const & c,
217  T w, vecType<U, P> const & d);
218 
221  template<typename T, typename U, precision P, template <typename, precision> class vecType>
-
222  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
222  GLM_FUNC_DECL vecType<U, P> associatedMax(
223  vecType<T, P> const & x, U a,
224  vecType<T, P> const & y, U b,
225  vecType<T, P> const & z, U c,
@@ -193,15 +193,15 @@
229 } //namespace glm
230 
231 #include "associated_min_max.inl"
-
GLM_FUNC_DECL vecType< U, P > associatedMin(vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
Minimum comparison between 4 variables and returns 4 associated variable values.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< U, P > associatedMax(vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
Maximum comparison between 4 variables and returns 4 associated variable values.
+
GLM_FUNC_DECL vecType< U, P > associatedMin(vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
Minimum comparison between 4 variables and returns 4 associated variable values.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< U, P > associatedMax(vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
Maximum comparison between 4 variables and returns 4 associated variable values.
diff --git a/doc/api/a00008.html b/doc/api/a00008.html index 6a65be85..037985b8 100644 --- a/doc/api/a00008.html +++ b/doc/api/a00008.html @@ -3,8 +3,8 @@ - -0.9.6: bit.hpp File Reference + +0.9.7: bit.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -57,46 +57,40 @@

Functions

template<typename genIUType > -GLM_FUNC_DECL genIUType highestBitValue (genIUType Value) +GLM_FUNC_DECL genIUType highestBitValue (genIUType Value)   template<typename T , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< T, P > highestBitValue (vecType< T, P > const &value) +GLM_FUNC_DECL vecType< T, P > highestBitValue (vecType< T, P > const &value)   template<typename genIUType > -GLM_DEPRECATED GLM_FUNC_DECL
-genIUType powerOfTwoAbove (genIUType Value) +GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)   template<typename T , precision P, template< typename, precision > class vecType> -GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > powerOfTwoAbove (vecType< T, P > const &value) +GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoAbove (vecType< T, P > const &value)   template<typename genIUType > -GLM_DEPRECATED GLM_FUNC_DECL
-genIUType powerOfTwoBelow (genIUType Value) +GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)   template<typename T , precision P, template< typename, precision > class vecType> -GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > powerOfTwoBelow (vecType< T, P > const &value) +GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoBelow (vecType< T, P > const &value)   template<typename genIUType > -GLM_DEPRECATED GLM_FUNC_DECL
-genIUType powerOfTwoNearest (genIUType Value) +GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)   template<typename T , precision P, template< typename, precision > class vecType> -GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > powerOfTwoNearest (vecType< T, P > const &value) +GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoNearest (vecType< T, P > const &value)  

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_bit

+

GLM_GTX_bit

Date
2007-03-14 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
gtc_half_float (dependence)
@@ -106,7 +100,7 @@ gtc_half_float (dependence)
diff --git a/doc/api/a00008_source.html b/doc/api/a00008_source.html index 614bffcb..58d19642 100644 --- a/doc/api/a00008_source.html +++ b/doc/api/a00008_source.html @@ -3,8 +3,8 @@ - -0.9.6: bit.hpp Source File + +0.9.7: bit.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -59,49 +59,49 @@
49 # pragma message("GLM: GLM_GTX_bit extension is deprecated, include GLM_GTC_bitfield and GLM_GTC_integer instead")
50 #endif
51 
-
52 namespace glm
+
52 namespace glm
53 {
56 
58  template <typename genIUType>
-
59  GLM_FUNC_DECL genIUType highestBitValue(genIUType Value);
+
59  GLM_FUNC_DECL genIUType highestBitValue(genIUType Value);
60 
64  template <typename T, precision P, template <typename, precision> class vecType>
-
65  GLM_FUNC_DECL vecType<T, P> highestBitValue(vecType<T, P> const & value);
+
65  GLM_FUNC_DECL vecType<T, P> highestBitValue(vecType<T, P> const & value);
66 
72  template <typename genIUType>
-
73  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove(genIUType Value);
+
73  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove(genIUType Value);
74 
80  template <typename T, precision P, template <typename, precision> class vecType>
-
81  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> powerOfTwoAbove(vecType<T, P> const & value);
+
81  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> powerOfTwoAbove(vecType<T, P> const & value);
82 
88  template <typename genIUType>
-
89  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow(genIUType Value);
+
89  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow(genIUType Value);
90 
96  template <typename T, precision P, template <typename, precision> class vecType>
-
97  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> powerOfTwoBelow(vecType<T, P> const & value);
+
97  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> powerOfTwoBelow(vecType<T, P> const & value);
98 
104  template <typename genIUType>
-
105  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest(genIUType Value);
+
105  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest(genIUType Value);
106 
112  template <typename T, precision P, template <typename, precision> class vecType>
-
113  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> powerOfTwoNearest(vecType<T, P> const & value);
+
113  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> powerOfTwoNearest(vecType<T, P> const & value);
114 
116 } //namespace glm
117 
118 
119 #include "bit.inl"
120 
-
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoNearest(vecType< T, P > const &value)
Return the power of two number which value is the closet to the input value.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< T, P > highestBitValue(vecType< T, P > const &value)
Find the highest bit set to 1 in a integer variable and return its value.
-
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoAbove(vecType< T, P > const &value)
Return the power of two number which value is just higher the input value.
-
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoBelow(vecType< T, P > const &value)
Return the power of two number which value is just lower the input value.
+
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoNearest(vecType< T, P > const &value)
Return the power of two number which value is the closet to the input value.
+
GLM_FUNC_DECL vecType< T, P > highestBitValue(vecType< T, P > const &value)
Find the highest bit set to 1 in a integer variable and return its value.
+
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoBelow(vecType< T, P > const &value)
Return the power of two number which value is just lower the input value.
+
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoAbove(vecType< T, P > const &value)
Return the power of two number which value is just higher the input value.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00009.html b/doc/api/a00009.html index cc5e7a33..fd1a8e15 100644 --- a/doc/api/a00009.html +++ b/doc/api/a00009.html @@ -3,8 +3,8 @@ - -0.9.6: bitfield.hpp File Reference + +0.9.7: bitfield.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -57,80 +57,80 @@

Functions

template<typename genIUType > -GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount) +GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)   template<typename T , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< T, P > bitfieldFillOne (vecType< T, P > const &Value, int FirstBit, int BitCount) +GLM_FUNC_DECL vecType< T, P > bitfieldFillOne (vecType< T, P > const &Value, int FirstBit, int BitCount)   template<typename genIUType > -GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount) +GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)   template<typename T , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< T, P > bitfieldFillZero (vecType< T, P > const &Value, int FirstBit, int BitCount) +GLM_FUNC_DECL vecType< T, P > bitfieldFillZero (vecType< T, P > const &Value, int FirstBit, int BitCount)   -GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y) +GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)   -GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y) +GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)   -GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y) +GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)   -GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y) +GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)   -GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y) +GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)   -GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y) +GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)   -GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z) +GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)   -GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z) +GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)   -GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z) +GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)   -GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z) +GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)   -GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z) +GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)   -GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z) +GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)   -GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w) +GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)   -GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w) +GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)   -GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w) +GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)   -GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w) +GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)   template<typename genIUType > -GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift) +GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)   template<typename T , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< T, P > bitfieldRotateLeft (vecType< T, P > const &In, int Shift) +GLM_FUNC_DECL vecType< T, P > bitfieldRotateLeft (vecType< T, P > const &In, int Shift)   template<typename genIUType > -GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift) +GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)   template<typename T , precision P, template< typename, precision > class vecType> -GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight (vecType< T, P > const &In, int Shift) +GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight (vecType< T, P > const &In, int Shift)   template<typename genIUType > -GLM_FUNC_DECL genIUType mask (genIUType Bits) +GLM_FUNC_DECL genIUType mask (genIUType Bits)   template<typename T , precision P, template< typename, precision > class vecIUType> -GLM_FUNC_DECL vecIUType< T, P > mask (vecIUType< T, P > const &v) +GLM_FUNC_DECL vecIUType< T, P > mask (vecIUType< T, P > const &v)  

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_bitfield

+

GLM_GTC_bitfield

Date
2014-10-25 / 2014-10-25
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTC_bitfield (dependence)
+GLM_GTC_bitfield (dependence)

Definition in file bitfield.hpp.

@@ -138,7 +138,7 @@ Functions diff --git a/doc/api/a00009_source.html b/doc/api/a00009_source.html index edf31be0..61d2483a 100644 --- a/doc/api/a00009_source.html +++ b/doc/api/a00009_source.html @@ -3,8 +3,8 @@ - -0.9.6: bitfield.hpp Source File + +0.9.7: bitfield.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -63,87 +63,87 @@
53 # pragma message("GLM: GLM_GTC_bitfield extension included")
54 #endif
55 
-
56 namespace glm
+
56 namespace glm
57 {
60 
64  template <typename genIUType>
-
65  GLM_FUNC_DECL genIUType mask(genIUType Bits);
+
65  GLM_FUNC_DECL genIUType mask(genIUType Bits);
66 
70  template <typename T, precision P, template <typename, precision> class vecIUType>
-
71  GLM_FUNC_DECL vecIUType<T, P> mask(vecIUType<T, P> const & v);
+
71  GLM_FUNC_DECL vecIUType<T, P> mask(vecIUType<T, P> const & v);
72 
76  template <typename genIUType>
-
77  GLM_FUNC_DECL genIUType bitfieldRotateRight(genIUType In, int Shift);
+
77  GLM_FUNC_DECL genIUType bitfieldRotateRight(genIUType In, int Shift);
78 
82  template <typename T, precision P, template <typename, precision> class vecType>
-
83  GLM_FUNC_DECL vecType<T, P> bitfieldRotateRight(vecType<T, P> const & In, int Shift);
+
83  GLM_FUNC_DECL vecType<T, P> bitfieldRotateRight(vecType<T, P> const & In, int Shift);
84 
88  template <typename genIUType>
-
89  GLM_FUNC_DECL genIUType bitfieldRotateLeft(genIUType In, int Shift);
+
89  GLM_FUNC_DECL genIUType bitfieldRotateLeft(genIUType In, int Shift);
90 
94  template <typename T, precision P, template <typename, precision> class vecType>
-
95  GLM_FUNC_DECL vecType<T, P> bitfieldRotateLeft(vecType<T, P> const & In, int Shift);
+
95  GLM_FUNC_DECL vecType<T, P> bitfieldRotateLeft(vecType<T, P> const & In, int Shift);
96 
100  template <typename genIUType>
-
101  GLM_FUNC_DECL genIUType bitfieldFillOne(genIUType Value, int FirstBit, int BitCount);
+
101  GLM_FUNC_DECL genIUType bitfieldFillOne(genIUType Value, int FirstBit, int BitCount);
102 
106  template <typename T, precision P, template <typename, precision> class vecType>
-
107  GLM_FUNC_DECL vecType<T, P> bitfieldFillOne(vecType<T, P> const & Value, int FirstBit, int BitCount);
+
107  GLM_FUNC_DECL vecType<T, P> bitfieldFillOne(vecType<T, P> const & Value, int FirstBit, int BitCount);
108 
112  template <typename genIUType>
-
113  GLM_FUNC_DECL genIUType bitfieldFillZero(genIUType Value, int FirstBit, int BitCount);
+
113  GLM_FUNC_DECL genIUType bitfieldFillZero(genIUType Value, int FirstBit, int BitCount);
114 
118  template <typename T, precision P, template <typename, precision> class vecType>
-
119  GLM_FUNC_DECL vecType<T, P> bitfieldFillZero(vecType<T, P> const & Value, int FirstBit, int BitCount);
+
119  GLM_FUNC_DECL vecType<T, P> bitfieldFillZero(vecType<T, P> const & Value, int FirstBit, int BitCount);
120 
-
126  GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y);
+
126  GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y);
127 
-
133  GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y);
+
133  GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y);
134 
-
140  GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y);
+
140  GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y);
141 
-
147  GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y);
+
147  GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y);
148 
-
154  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y);
+
154  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y);
155 
-
161  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y);
+
161  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y);
162 
-
168  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z);
+
168  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z);
169 
-
175  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z);
+
175  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z);
176 
-
182  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z);
+
182  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z);
183 
-
189  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z);
+
189  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z);
190 
-
196  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z);
+
196  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z);
197 
-
203  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z);
+
203  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z);
204 
-
210  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w);
+
210  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w);
211 
-
217  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w);
+
217  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w);
218 
-
224  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w);
+
224  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w);
225 
-
231  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w);
+
231  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w);
232 
234 } //namespace glm
235 
236 #include "bitfield.inl"
-
GLM_FUNC_DECL vecType< T, P > bitfieldRotateLeft(vecType< T, P > const &In, int Shift)
Rotate all bits to the left.
-
GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)
Interleaves the bits of x, y, z and w.
-
GLM_FUNC_DECL vecIUType< T, P > mask(vecIUType< T, P > const &v)
Build a mask of 'count' bits.
-
GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight(vecType< T, P > const &In, int Shift)
Rotate all bits to the right.
-
GLM_FUNC_DECL vecType< T, P > bitfieldFillZero(vecType< T, P > const &Value, int FirstBit, int BitCount)
Set to 0 a range of bits.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< T, P > bitfieldFillOne(vecType< T, P > const &Value, int FirstBit, int BitCount)
Set to 1 a range of bits.
+
GLM_FUNC_DECL vecType< T, P > bitfieldFillOne(vecType< T, P > const &Value, int FirstBit, int BitCount)
Set to 1 a range of bits.
+
GLM_FUNC_DECL vecType< T, P > bitfieldFillZero(vecType< T, P > const &Value, int FirstBit, int BitCount)
Set to 0 a range of bits.
+
GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight(vecType< T, P > const &In, int Shift)
Rotate all bits to the right.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< T, P > bitfieldRotateLeft(vecType< T, P > const &In, int Shift)
Rotate all bits to the left.
+
GLM_FUNC_DECL vecIUType< T, P > mask(vecIUType< T, P > const &v)
Build a mask of 'count' bits.
+
GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)
Interleaves the bits of x, y, z and w.
diff --git a/doc/api/a00010.html b/doc/api/a00010.html index c757ccbf..7309f9d2 100644 --- a/doc/api/a00010.html +++ b/doc/api/a00010.html @@ -3,8 +3,8 @@ - -0.9.6: closest_point.hpp File Reference + +0.9.7: closest_point.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -57,23 +57,23 @@

Functions

template<typename T , precision P> -GLM_FUNC_DECL tvec3< T, P > closestPointOnLine (tvec3< T, P > const &point, tvec3< T, P > const &a, tvec3< T, P > const &b) +GLM_FUNC_DECL tvec3< T, P > closestPointOnLine (tvec3< T, P > const &point, tvec3< T, P > const &a, tvec3< T, P > const &b)   template<typename T , precision P> -GLM_FUNC_DECL tvec2< T, P > closestPointOnLine (tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b) +GLM_FUNC_DECL tvec2< T, P > closestPointOnLine (tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)  

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_closest_point

+

GLM_GTX_closest_point

Date
2005-12-30 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)

Definition in file closest_point.hpp.

@@ -81,7 +81,7 @@ template<typename T , precision P> diff --git a/doc/api/a00010_source.html b/doc/api/a00010_source.html index 601acac9..cb946f09 100644 --- a/doc/api/a00010_source.html +++ b/doc/api/a00010_source.html @@ -3,8 +3,8 @@ - -0.9.6: closest_point.hpp Source File + +0.9.7: closest_point.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -59,17 +59,17 @@
48 # pragma message("GLM: GLM_GTX_closest_point extension included")
49 #endif
50 
-
51 namespace glm
+
51 namespace glm
52 {
55 
58  template <typename T, precision P>
-
59  GLM_FUNC_DECL tvec3<T, P> closestPointOnLine(
+
59  GLM_FUNC_DECL tvec3<T, P> closestPointOnLine(
60  tvec3<T, P> const & point,
61  tvec3<T, P> const & a,
62  tvec3<T, P> const & b);
63 
65  template <typename T, precision P>
-
66  GLM_FUNC_DECL tvec2<T, P> closestPointOnLine(
+
66  GLM_FUNC_DECL tvec2<T, P> closestPointOnLine(
67  tvec2<T, P> const & point,
68  tvec2<T, P> const & a,
69  tvec2<T, P> const & b);
@@ -77,14 +77,14 @@
72 }// namespace glm
73 
74 #include "closest_point.inl"
-
GLM_FUNC_DECL tvec2< T, P > closestPointOnLine(tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)
2d lines work as well
-
Definition: _noise.hpp:39
+
GLM_FUNC_DECL tvec2< T, P > closestPointOnLine(tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)
2d lines work as well
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00011.html b/doc/api/a00011.html index a226a918..b82a5164 100644 --- a/doc/api/a00011.html +++ b/doc/api/a00011.html @@ -3,8 +3,8 @@ - -0.9.6: color_space.hpp File Reference + +0.9.7: color_space.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
color_space.hpp File Reference
+
gtc/color_space.hpp File Reference
@@ -56,44 +56,43 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > hsvColor (tvec3< T, P > const &rgbValue)
 
template<typename T , precision P>
GLM_FUNC_DECL T luminosity (tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgbColor (tvec3< T, P > const &hsvValue)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
saturation (T const s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > saturation (T const s, tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > saturation (T const s, tvec4< T, P > const &color)
 
+template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > convertLinearToSRGB (vecType< T, P > const &ColorLinear)
 
+template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > convertLinearToSRGB (vecType< T, P > const &ColorLinear, T Gamma)
 
+template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > convertSRGBToLinear (vecType< T, P > const &ColorSRGB)
 
+template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > convertSRGBToLinear (vecType< T, P > const &ColorSRGB, T Gamma)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_color_space

-
Date
2005-12-21 / 2011-06-07
+

GLM_GTC_color_space

+
Date
2015-02-10 / 2015-08-02
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTC_color_space (dependence)
-

Definition in file color_space.hpp.

+

Definition in file gtc/color_space.hpp.

diff --git a/doc/api/a00011_source.html b/doc/api/a00011_source.html index 07a0abdd..aa75bd57 100644 --- a/doc/api/a00011_source.html +++ b/doc/api/a00011_source.html @@ -3,8 +3,8 @@ - -0.9.6: color_space.hpp Source File + +0.9.7: color_space.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
color_space.hpp
+
gtc/color_space.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_color_space extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename T, precision P>
-
59  GLM_FUNC_DECL tvec3<T, P> rgbColor(
-
60  tvec3<T, P> const & hsvValue);
+
43 #pragma once
+
44 
+
45 // Dependencies
+
46 #include "../detail/setup.hpp"
+
47 #include "../detail/precision.hpp"
+
48 #include "../exponential.hpp"
+
49 #include "../vec3.hpp"
+
50 #include "../vec4.hpp"
+
51 #include <limits>
+
52 
+
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
54 # pragma message("GLM: GLM_GTC_color_space extension included")
+
55 #endif
+
56 
+
57 namespace glm
+
58 {
61 
-
64  template <typename T, precision P>
-
65  GLM_FUNC_DECL tvec3<T, P> hsvColor(
-
66  tvec3<T, P> const & rgbValue);
-
67 
-
70  template <typename T>
-
71  GLM_FUNC_DECL tmat4x4<T, defaultp> saturation(
-
72  T const s);
+
63  template <typename T, precision P, template <typename, precision> class vecType>
+
64  GLM_FUNC_DECL vecType<T, P> convertLinearToSRGB(vecType<T, P> const & ColorLinear);
+
65 
+
67  template <typename T, precision P, template <typename, precision> class vecType>
+
68  GLM_FUNC_DECL vecType<T, P> convertLinearToSRGB(vecType<T, P> const & ColorLinear, T Gamma);
+
69 
+
71  template <typename T, precision P, template <typename, precision> class vecType>
+
72  GLM_FUNC_DECL vecType<T, P> convertSRGBToLinear(vecType<T, P> const & ColorSRGB);
73 
-
76  template <typename T, precision P>
-
77  GLM_FUNC_DECL tvec3<T, P> saturation(
-
78  T const s,
-
79  tvec3<T, P> const & color);
-
80 
-
83  template <typename T, precision P>
-
84  GLM_FUNC_DECL tvec4<T, P> saturation(
-
85  T const s,
-
86  tvec4<T, P> const & color);
-
87 
-
90  template <typename T, precision P>
-
91  GLM_FUNC_DECL T luminosity(
-
92  tvec3<T, P> const & color);
-
93 
-
95 }//namespace glm
-
96 
-
97 #include "color_space.inl"
-
GLM_FUNC_DECL T luminosity(tvec3< T, P > const &color)
Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.
-
GLM_FUNC_DECL tvec3< T, P > hsvColor(tvec3< T, P > const &rgbValue)
Converts a color from RGB color space to its color in HSV color space.
-
GLM_FUNC_DECL tvec3< T, P > rgbColor(tvec3< T, P > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
-
GLM_FUNC_DECL tvec4< T, P > saturation(T const s, tvec4< T, P > const &color)
Modify the saturation of a color.
-
Definition: _noise.hpp:39
+
75  template <typename T, precision P, template <typename, precision> class vecType>
+
76  GLM_FUNC_DECL vecType<T, P> convertSRGBToLinear(vecType<T, P> const & ColorSRGB, T Gamma);
+
77 
+
79 } //namespace glm
+
80 
+
81 #include "color_space.inl"
+
GLM_FUNC_DECL vecType< T, P > convertLinearToSRGB(vecType< T, P > const &ColorLinear, T Gamma)
Convert a linear color to sRGB color using a custom gamma correction.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< T, P > convertSRGBToLinear(vecType< T, P > const &ColorSRGB, T Gamma)
Convert a sRGB color to linear color using a custom gamma correction.
diff --git a/doc/api/a00012.html b/doc/api/a00012.html index fccf7148..1c87592d 100644 --- a/doc/api/a00012.html +++ b/doc/api/a00012.html @@ -3,8 +3,8 @@ - -0.9.6: color_space_YCoCg.hpp File Reference + +0.9.7: color_space.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
color_space_YCoCg.hpp File Reference
+
gtx/color_space.hpp File Reference
@@ -56,37 +56,43 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCg (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCgR (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCgR2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > hsvColor (tvec3< T, P > const &rgbValue)
 
template<typename T , precision P>
GLM_FUNC_DECL T luminosity (tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgbColor (tvec3< T, P > const &hsvValue)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > saturation (T const s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > saturation (T const s, tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > saturation (T const s, tvec4< T, P > const &color)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_color_space_YCoCg

-
Date
2008-10-28 / 2011-06-07
+

GLM_GTX_color_space

+
Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file color_space_YCoCg.hpp.

+

Definition in file gtx/color_space.hpp.

diff --git a/doc/api/a00012_source.html b/doc/api/a00012_source.html index 88dfa035..e1c3fb97 100644 --- a/doc/api/a00012_source.html +++ b/doc/api/a00012_source.html @@ -3,8 +3,8 @@ - -0.9.6: color_space_YCoCg.hpp Source File + +0.9.7: color_space.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
color_space_YCoCg.hpp
+
gtx/color_space.hpp
Go to the documentation of this file.
1 
@@ -56,43 +56,52 @@
45 #include "../glm.hpp"
46 
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
+
48 # pragma message("GLM: GLM_GTX_color_space extension included")
49 #endif
50 
-
51 namespace glm
+
51 namespace glm
52 {
55 
58  template <typename T, precision P>
-
59  GLM_FUNC_DECL tvec3<T, P> rgb2YCoCg(
-
60  tvec3<T, P> const & rgbColor);
+
59  GLM_FUNC_DECL tvec3<T, P> rgbColor(
+
60  tvec3<T, P> const & hsvValue);
61 
64  template <typename T, precision P>
-
65  GLM_FUNC_DECL tvec3<T, P> YCoCg2rgb(
-
66  tvec3<T, P> const & YCoCgColor);
-
67 
-
71  template <typename T, precision P>
-
72  GLM_FUNC_DECL tvec3<T, P> rgb2YCoCgR(
-
73  tvec3<T, P> const & rgbColor);
-
74 
-
78  template <typename T, precision P>
-
79  GLM_FUNC_DECL tvec3<T, P> YCoCgR2rgb(
-
80  tvec3<T, P> const & YCoCgColor);
-
81 
-
83 }//namespace glm
-
84 
-
85 #include "color_space_YCoCg.inl"
-
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCg(tvec3< T, P > const &rgbColor)
Convert a color from RGB color space to YCoCg color space.
-
GLM_FUNC_DECL tvec3< T, P > YCoCgR2rgb(tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCgR color space to RGB color space.
-
GLM_FUNC_DECL tvec3< T, P > rgbColor(tvec3< T, P > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCgR(tvec3< T, P > const &rgbColor)
Convert a color from RGB color space to YCoCgR color space.
-
GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb(tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCg color space to RGB color space.
+
65  GLM_FUNC_DECL tvec3<T, P> hsvColor(
+
66  tvec3<T, P> const & rgbValue);
+
67 
+
70  template <typename T>
+
71  GLM_FUNC_DECL tmat4x4<T, defaultp> saturation(
+
72  T const s);
+
73 
+
76  template <typename T, precision P>
+
77  GLM_FUNC_DECL tvec3<T, P> saturation(
+
78  T const s,
+
79  tvec3<T, P> const & color);
+
80 
+
83  template <typename T, precision P>
+
84  GLM_FUNC_DECL tvec4<T, P> saturation(
+
85  T const s,
+
86  tvec4<T, P> const & color);
+
87 
+
90  template <typename T, precision P>
+
91  GLM_FUNC_DECL T luminosity(
+
92  tvec3<T, P> const & color);
+
93 
+
95 }//namespace glm
+
96 
+
97 #include "color_space.inl"
+
GLM_FUNC_DECL tvec4< T, P > saturation(T const s, tvec4< T, P > const &color)
Modify the saturation of a color.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T luminosity(tvec3< T, P > const &color)
Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.
+
GLM_FUNC_DECL tvec3< T, P > hsvColor(tvec3< T, P > const &rgbValue)
Converts a color from RGB color space to its color in HSV color space.
+
GLM_FUNC_DECL tvec3< T, P > rgbColor(tvec3< T, P > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
diff --git a/doc/api/a00013.html b/doc/api/a00013.html index 20c8d7fb..95953987 100644 --- a/doc/api/a00013.html +++ b/doc/api/a00013.html @@ -3,8 +3,8 @@ - -0.9.6: common.hpp File Reference + +0.9.7: color_space_YCoCg.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
common.hpp File Reference
+
color_space_YCoCg.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCg (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCgR (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCgR2rgb (tvec3< T, P > const &YCoCgColor)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_color_space_YCoCg

+
Date
2008-10-28 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-

Definition in file common.hpp.

+

Definition in file color_space_YCoCg.hpp.

diff --git a/doc/api/a00013_source.html b/doc/api/a00013_source.html index 6ba88b02..cc1aae28 100644 --- a/doc/api/a00013_source.html +++ b/doc/api/a00013_source.html @@ -3,8 +3,8 @@ - -0.9.6: common.hpp Source File + +0.9.7: color_space_YCoCg.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
common.hpp
+
color_space_YCoCg.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "detail/func_common.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename T, precision P>
+
59  GLM_FUNC_DECL tvec3<T, P> rgb2YCoCg(
+
60  tvec3<T, P> const & rgbColor);
+
61 
+
64  template <typename T, precision P>
+
65  GLM_FUNC_DECL tvec3<T, P> YCoCg2rgb(
+
66  tvec3<T, P> const & YCoCgColor);
+
67 
+
71  template <typename T, precision P>
+
72  GLM_FUNC_DECL tvec3<T, P> rgb2YCoCgR(
+
73  tvec3<T, P> const & rgbColor);
+
74 
+
78  template <typename T, precision P>
+
79  GLM_FUNC_DECL tvec3<T, P> YCoCgR2rgb(
+
80  tvec3<T, P> const & YCoCgColor);
+
81 
+
83 }//namespace glm
+
84 
+
85 #include "color_space_YCoCg.inl"
+
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCgR(tvec3< T, P > const &rgbColor)
Convert a color from RGB color space to YCoCgR color space.
+
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCg(tvec3< T, P > const &rgbColor)
Convert a color from RGB color space to YCoCg color space.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tvec3< T, P > YCoCgR2rgb(tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCgR color space to RGB color space.
+
GLM_FUNC_DECL tvec3< T, P > rgbColor(tvec3< T, P > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
+
GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb(tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCg color space to RGB color space.
diff --git a/doc/api/a00014.html b/doc/api/a00014.html index d4019c09..334c9eda 100644 --- a/doc/api/a00014.html +++ b/doc/api/a00014.html @@ -3,8 +3,8 @@ - -0.9.6: common.hpp File Reference + +0.9.7: common.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
gtx/common.hpp File Reference
+
common.hpp File Reference

Go to the source code of this file.

- - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_common

-
Date
2014-09-08 / 2014-09-08
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-gtc_half_float (dependence)
+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
-

Definition in file gtx/common.hpp.

+

Definition in file common.hpp.

diff --git a/doc/api/a00014_source.html b/doc/api/a00014_source.html index 335b842a..c0c53514 100644 --- a/doc/api/a00014_source.html +++ b/doc/api/a00014_source.html @@ -3,8 +3,8 @@ - -0.9.6: common.hpp Source File + +0.9.7: common.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtx/common.hpp
+
common.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependencies:
-
46 #include "../vec2.hpp"
-
47 #include "../vec3.hpp"
-
48 #include "../vec4.hpp"
-
49 #include "../gtc/vec1.hpp"
-
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
52 # pragma message("GLM: GLM_GTX_common extension included")
-
53 #endif
-
54 
-
55 namespace glm
-
56 {
-
59 
-
68  template <typename genType>
-
69  GLM_FUNC_DECL typename genType::bool_type isdenormal(genType const & x);
-
70 
-
72 }//namespace glm
-
73 
-
74 #include "common.inl"
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType::bool_type isdenormal(genType const &x)
Returns true if x is a denormalized number Numbers whose absolute value is too small to be represente...
+
33 #pragma once
+
34 
+
35 #include "detail/func_common.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00015.html b/doc/api/a00015.html index 505abd00..5011e028 100644 --- a/doc/api/a00015.html +++ b/doc/api/a00015.html @@ -3,8 +3,8 @@ - -0.9.6: compatibility.hpp File Reference + +0.9.7: common.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
compatibility.hpp File Reference
+
gtx/common.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef bool bool1
 
-typedef bool bool1x1
 
-typedef tvec2< bool, highp > bool2
 
-typedef tmat2x2< bool, highp > bool2x2
 
-typedef tmat2x3< bool, highp > bool2x3
 
-typedef tmat2x4< bool, highp > bool2x4
 
-typedef tvec3< bool, highp > bool3
 
-typedef tmat3x2< bool, highp > bool3x2
 
-typedef tmat3x3< bool, highp > bool3x3
 
-typedef tmat3x4< bool, highp > bool3x4
 
-typedef tvec4< bool, highp > bool4
 
-typedef tmat4x2< bool, highp > bool4x2
 
-typedef tmat4x3< bool, highp > bool4x3
 
-typedef tmat4x4< bool, highp > bool4x4
 
-typedef double double1
 
-typedef double double1x1
 
-typedef tvec2< double, highp > double2
 
-typedef tmat2x2< double, highp > double2x2
 
-typedef tmat2x3< double, highp > double2x3
 
-typedef tmat2x4< double, highp > double2x4
 
-typedef tvec3< double, highp > double3
 
-typedef tmat3x2< double, highp > double3x2
 
-typedef tmat3x3< double, highp > double3x3
 
-typedef tmat3x4< double, highp > double3x4
 
-typedef tvec4< double, highp > double4
 
-typedef tmat4x2< double, highp > double4x2
 
-typedef tmat4x3< double, highp > double4x3
 
-typedef tmat4x4< double, highp > double4x4
 
-typedef float float1
 
-typedef float float1x1
 
-typedef tvec2< float, highp > float2
 
-typedef tmat2x2< float, highp > float2x2
 
-typedef tmat2x3< float, highp > float2x3
 
-typedef tmat2x4< float, highp > float2x4
 
-typedef tvec3< float, highp > float3
 
-typedef tmat3x2< float, highp > float3x2
 
-typedef tmat3x3< float, highp > float3x3
 
-typedef tmat3x4< float, highp > float3x4
 
-typedef tvec4< float, highp > float4
 
-typedef tmat4x2< float, highp > float4x2
 
-typedef tmat4x3< float, highp > float4x3
 
-typedef tmat4x4< float, highp > float4x4
 
-typedef int int1
 
-typedef int int1x1
 
-typedef tvec2< int, highp > int2
 
-typedef tmat2x2< int, highp > int2x2
 
-typedef tmat2x3< int, highp > int2x3
 
-typedef tmat2x4< int, highp > int2x4
 
-typedef tvec3< int, highp > int3
 
-typedef tmat3x2< int, highp > int3x2
 
-typedef tmat3x3< int, highp > int3x3
 
-typedef tmat3x4< int, highp > int3x4
 
-typedef tvec4< int, highp > int4
 
-typedef tmat4x2< int, highp > int4x2
 
-typedef tmat4x3< int, highp > int4x3
 
-typedef tmat4x4< int, highp > int4x4
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

-template<typename T , precision P>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > atan2 (const tvec2< T, P > &x, const tvec2< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > atan2 (const tvec3< T, P > &x, const tvec3< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > atan2 (const tvec4< T, P > &x, const tvec4< T, P > &y)
 
-template<typename genType >
GLM_FUNC_DECL bool isfinite (genType const &x)
 
-template<typename T , precision P>
GLM_FUNC_DECL tvec2< bool, P > isfinite (const tvec2< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_DECL tvec3< bool, P > isfinite (const tvec3< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > isfinite (const tvec4< T, P > &x)
 
-template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, const tvec2< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, const tvec3< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > saturate (const tvec2< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > saturate (const tvec3< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > saturate (const tvec4< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T slerp (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fmod (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_compatibility

-
Date
2007-01-24 / 2011-06-07
+

GLM_GTX_common

+
Date
2014-09-08 / 2014-09-08
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
gtc_half_float (dependence)
-

Definition in file compatibility.hpp.

+

Definition in file gtx/common.hpp.

diff --git a/doc/api/a00015_source.html b/doc/api/a00015_source.html index e4e04486..63e4f58e 100644 --- a/doc/api/a00015_source.html +++ b/doc/api/a00015_source.html @@ -3,8 +3,8 @@ - -0.9.6: compatibility.hpp Source File + +0.9.7: common.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
compatibility.hpp
+
gtx/common.hpp
Go to the documentation of this file.
1 
43 #pragma once
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 #include "../gtc/quaternion.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_compatibility extension included")
-
51 #endif
-
52 
-
53 #if(GLM_COMPILER & GLM_COMPILER_VC)
-
54 # include <cfloat>
-
55 #elif(GLM_COMPILER & GLM_COMPILER_GCC)
-
56 # include <cmath>
-
57 # if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-
58 # undef isfinite
-
59 # endif
-
60 #endif//GLM_COMPILER
-
61 
-
62 namespace glm
-
63 {
-
66 
-
67  template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
-
68  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> lerp(const tvec2<T, P>& x, const tvec2<T, P>& y, T a){return mix(x, y, a);}
-
69 
-
70  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> lerp(const tvec3<T, P>& x, const tvec3<T, P>& y, T a){return mix(x, y, a);}
-
71  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> lerp(const tvec4<T, P>& x, const tvec4<T, P>& y, T a){return mix(x, y, a);}
-
72  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> lerp(const tvec2<T, P>& x, const tvec2<T, P>& y, const tvec2<T, P>& a){return mix(x, y, a);}
-
73  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> lerp(const tvec3<T, P>& x, const tvec3<T, P>& y, const tvec3<T, P>& a){return mix(x, y, a);}
-
74  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> lerp(const tvec4<T, P>& x, const tvec4<T, P>& y, const tvec4<T, P>& a){return mix(x, y, a);}
-
75 
-
76  template <typename T, precision P> GLM_FUNC_QUALIFIER T slerp(tquat<T, P> const & x, tquat<T, P> const & y, T const & a){return mix(x, y, a);}
-
77 
-
78  template <typename T, precision P> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));}
-
79  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> saturate(const tvec2<T, P>& x){return clamp(x, T(0), T(1));}
-
80  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> saturate(const tvec3<T, P>& x){return clamp(x, T(0), T(1));}
-
81  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> saturate(const tvec4<T, P>& x){return clamp(x, T(0), T(1));}
-
82 
-
83  template <typename T, precision P> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);}
-
84  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> atan2(const tvec2<T, P>& x, const tvec2<T, P>& y){return atan(x, y);}
-
85  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> atan2(const tvec3<T, P>& x, const tvec3<T, P>& y){return atan(x, y);}
-
86  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> atan2(const tvec4<T, P>& x, const tvec4<T, P>& y){return atan(x, y);}
-
87 
-
88  template <typename genType> GLM_FUNC_DECL bool isfinite(genType const & x);
-
89  template <typename T, precision P> GLM_FUNC_DECL tvec2<bool, P> isfinite(const tvec2<T, P>& x);
-
90  template <typename T, precision P> GLM_FUNC_DECL tvec3<bool, P> isfinite(const tvec3<T, P>& x);
-
91  template <typename T, precision P> GLM_FUNC_DECL tvec4<bool, P> isfinite(const tvec4<T, P>& x);
-
92 
-
93  typedef bool bool1;
-
94  typedef tvec2<bool, highp> bool2;
-
95  typedef tvec3<bool, highp> bool3;
-
96  typedef tvec4<bool, highp> bool4;
-
97 
-
98  typedef bool bool1x1;
-
99  typedef tmat2x2<bool, highp> bool2x2;
-
100  typedef tmat2x3<bool, highp> bool2x3;
-
101  typedef tmat2x4<bool, highp> bool2x4;
-
102  typedef tmat3x2<bool, highp> bool3x2;
-
103  typedef tmat3x3<bool, highp> bool3x3;
-
104  typedef tmat3x4<bool, highp> bool3x4;
-
105  typedef tmat4x2<bool, highp> bool4x2;
-
106  typedef tmat4x3<bool, highp> bool4x3;
-
107  typedef tmat4x4<bool, highp> bool4x4;
-
108 
-
109  typedef int int1;
-
110  typedef tvec2<int, highp> int2;
-
111  typedef tvec3<int, highp> int3;
-
112  typedef tvec4<int, highp> int4;
-
113 
-
114  typedef int int1x1;
-
115  typedef tmat2x2<int, highp> int2x2;
-
116  typedef tmat2x3<int, highp> int2x3;
-
117  typedef tmat2x4<int, highp> int2x4;
-
118  typedef tmat3x2<int, highp> int3x2;
-
119  typedef tmat3x3<int, highp> int3x3;
-
120  typedef tmat3x4<int, highp> int3x4;
-
121  typedef tmat4x2<int, highp> int4x2;
-
122  typedef tmat4x3<int, highp> int4x3;
-
123  typedef tmat4x4<int, highp> int4x4;
-
124 
-
125  typedef float float1;
-
126  typedef tvec2<float, highp> float2;
-
127  typedef tvec3<float, highp> float3;
-
128  typedef tvec4<float, highp> float4;
-
129 
-
130  typedef float float1x1;
-
131  typedef tmat2x2<float, highp> float2x2;
-
132  typedef tmat2x3<float, highp> float2x3;
-
133  typedef tmat2x4<float, highp> float2x4;
-
134  typedef tmat3x2<float, highp> float3x2;
-
135  typedef tmat3x3<float, highp> float3x3;
-
136  typedef tmat3x4<float, highp> float3x4;
-
137  typedef tmat4x2<float, highp> float4x2;
-
138  typedef tmat4x3<float, highp> float4x3;
-
139  typedef tmat4x4<float, highp> float4x4;
-
140 
-
141  typedef double double1;
-
142  typedef tvec2<double, highp> double2;
-
143  typedef tvec3<double, highp> double3;
-
144  typedef tvec4<double, highp> double4;
-
145 
-
146  typedef double double1x1;
-
147  typedef tmat2x2<double, highp> double2x2;
-
148  typedef tmat2x3<double, highp> double2x3;
-
149  typedef tmat2x4<double, highp> double2x4;
-
150  typedef tmat3x2<double, highp> double3x2;
-
151  typedef tmat3x3<double, highp> double3x3;
-
152  typedef tmat3x4<double, highp> double3x4;
-
153  typedef tmat4x2<double, highp> double4x2;
-
154  typedef tmat4x3<double, highp> double4x3;
-
155  typedef tmat4x4<double, highp> double4x4;
-
156 
-
158 }//namespace glm
-
159 
-
160 #include "compatibility.inl"
-
tvec3< bool, highp > bool3
boolean type with 3 components. (From GLM_GTX_compatibility extension)
-
tmat4x2< double, highp > double4x2
double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
-
tmat3x2< double, highp > double3x2
double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
-
tmat4x4< bool, highp > bool4x4
boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
-
tmat3x2< int, highp > int3x2
integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
-
tmat4x2< float, highp > float4x2
single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
-
tmat3x3< bool, highp > bool3x3
boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
-
tmat4x4< double, highp > double4x4
double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
-
tmat2x4< int, highp > int2x4
integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
-
tvec2< double, highp > double2
double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
-
tvec4< bool, highp > bool4
boolean type with 4 components. (From GLM_GTX_compatibility extension)
-
tmat2x2< double, highp > double2x2
double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
-
GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
-
GLM_FUNC_QUALIFIER T slerp(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Returns the slurp interpolation between two quaternions.
-
GLM_FUNC_QUALIFIER tvec4< T, P > atan2(const tvec4< T, P > &x, const tvec4< T, P > &y)
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...
-
tmat2x3< bool, highp > bool2x3
boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
-
tmat3x4< float, highp > float3x4
single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
-
tmat4x2< bool, highp > bool4x2
boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
-
int int1
integer vector with 1 component. (From GLM_GTX_compatibility extension)
-
tvec3< int, highp > int3
integer vector with 3 components. (From GLM_GTX_compatibility extension)
-
GLM_FUNC_DECL tvec4< bool, P > isfinite(const tvec4< T, P > &x)
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...
-
tvec2< float, highp > float2
single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
-
tmat3x3< double, highp > double3x3
double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
-
tmat2x3< int, highp > int2x3
integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
-
tmat2x4< bool, highp > bool2x4
boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
-
tmat3x4< bool, highp > bool3x4
boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
-
tmat4x3< bool, highp > bool4x3
boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
-
tvec3< float, highp > float3
single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
-
tvec2< bool, highp > bool2
boolean type with 2 components. (From GLM_GTX_compatibility extension)
-
tvec4< float, highp > float4
single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
-
bool bool1
boolean type with 1 component. (From GLM_GTX_compatibility extension)
-
tmat2x2< bool, highp > bool2x2
boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
-
bool bool1x1
boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
-
tmat4x3< float, highp > float4x3
single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
-
tmat4x2< int, highp > int4x2
integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
-
tvec4< int, highp > int4
integer vector with 4 components. (From GLM_GTX_compatibility extension)
-
tmat3x3< int, highp > int3x3
integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
-
GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
-
float float1
single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
-
tmat3x4< double, highp > double3x4
double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
-
tmat3x2< float, highp > float3x2
single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
-
GLM_FUNC_QUALIFIER tvec4< T, P > saturate(const tvec4< T, P > &x)
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
-
float float1x1
single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
-
tmat3x2< bool, highp > bool3x2
boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
-
Definition: _noise.hpp:39
-
tmat4x4< float, highp > float4x4
single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
-
tmat2x2< int, highp > int2x2
integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
-
tvec4< double, highp > double4
double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
-
tmat3x3< float, highp > float3x3
single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
-
tvec3< double, highp > double3
double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
-
GLM_FUNC_QUALIFIER tvec4< T, P > lerp(const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)
Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using v...
-
int int1x1
integer matrix with 1 component. (From GLM_GTX_compatibility extension)
-
tmat2x4< float, highp > float2x4
single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
-
GLM_FUNC_DECL vecType< T, P > atan(vecType< T, P > const &y, vecType< T, P > const &x)
Arc tangent.
-
tmat2x4< double, highp > double2x4
double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
-
tmat4x3< int, highp > int4x3
integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
-
tmat2x3< double, highp > double2x3
double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
-
tmat2x3< float, highp > float2x3
single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
-
tmat3x4< int, highp > int3x4
integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
-
double double1
double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
-
tmat4x3< double, highp > double4x3
double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
-
double double1x1
double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
-
tvec2< int, highp > int2
integer vector with 2 components. (From GLM_GTX_compatibility extension)
-
tmat4x4< int, highp > int4x4
integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
-
tmat2x2< float, highp > float2x2
single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
+
45 // Dependencies:
+
46 #include "../vec2.hpp"
+
47 #include "../vec3.hpp"
+
48 #include "../vec4.hpp"
+
49 #include "../gtc/vec1.hpp"
+
50 
+
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
52 # pragma message("GLM: GLM_GTX_common extension included")
+
53 #endif
+
54 
+
55 namespace glm
+
56 {
+
59 
+
68  template <typename genType>
+
69  GLM_FUNC_DECL typename genType::bool_type isdenormal(genType const & x);
+
70 
+
76  template <typename T, precision P, template <typename, precision> class vecType>
+
77  GLM_FUNC_DECL vecType<T, P> fmod(vecType<T, P> const & v);
+
78 
+
80 }//namespace glm
+
81 
+
82 #include "common.inl"
+
GLM_FUNC_DECL genType::bool_type isdenormal(genType const &x)
Returns true if x is a denormalized number Numbers whose absolute value is too small to be represente...
+
GLM_FUNC_DECL vecType< T, P > fmod(vecType< T, P > const &v)
Similiar to 'mod' but with a different rounding and integer support.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00016.html b/doc/api/a00016.html index 72f126cf..52ff2af0 100644 --- a/doc/api/a00016.html +++ b/doc/api/a00016.html @@ -3,8 +3,8 @@ - -0.9.6: component_wise.hpp File Reference + +0.9.7: compatibility.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
component_wise.hpp File Reference
+
compatibility.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef bool bool1
 
+typedef bool bool1x1
 
+typedef tvec2< bool, highp > bool2
 
+typedef tmat2x2< bool, highp > bool2x2
 
+typedef tmat2x3< bool, highp > bool2x3
 
+typedef tmat2x4< bool, highp > bool2x4
 
+typedef tvec3< bool, highp > bool3
 
+typedef tmat3x2< bool, highp > bool3x2
 
+typedef tmat3x3< bool, highp > bool3x3
 
+typedef tmat3x4< bool, highp > bool3x4
 
+typedef tvec4< bool, highp > bool4
 
+typedef tmat4x2< bool, highp > bool4x2
 
+typedef tmat4x3< bool, highp > bool4x3
 
+typedef tmat4x4< bool, highp > bool4x4
 
+typedef double double1
 
+typedef double double1x1
 
+typedef tvec2< double, highp > double2
 
+typedef tmat2x2< double, highp > double2x2
 
+typedef tmat2x3< double, highp > double2x3
 
+typedef tmat2x4< double, highp > double2x4
 
+typedef tvec3< double, highp > double3
 
+typedef tmat3x2< double, highp > double3x2
 
+typedef tmat3x3< double, highp > double3x3
 
+typedef tmat3x4< double, highp > double3x4
 
+typedef tvec4< double, highp > double4
 
+typedef tmat4x2< double, highp > double4x2
 
+typedef tmat4x3< double, highp > double4x3
 
+typedef tmat4x4< double, highp > double4x4
 
+typedef float float1
 
+typedef float float1x1
 
+typedef tvec2< float, highp > float2
 
+typedef tmat2x2< float, highp > float2x2
 
+typedef tmat2x3< float, highp > float2x3
 
+typedef tmat2x4< float, highp > float2x4
 
+typedef tvec3< float, highp > float3
 
+typedef tmat3x2< float, highp > float3x2
 
+typedef tmat3x3< float, highp > float3x3
 
+typedef tmat3x4< float, highp > float3x4
 
+typedef tvec4< float, highp > float4
 
+typedef tmat4x2< float, highp > float4x2
 
+typedef tmat4x3< float, highp > float4x3
 
+typedef tmat4x4< float, highp > float4x4
 
+typedef int int1
 
+typedef int int1x1
 
+typedef tvec2< int, highp > int2
 
+typedef tmat2x2< int, highp > int2x2
 
+typedef tmat2x3< int, highp > int2x3
 
+typedef tmat2x4< int, highp > int2x4
 
+typedef tvec3< int, highp > int3
 
+typedef tmat3x2< int, highp > int3x2
 
+typedef tmat3x3< int, highp > int3x3
 
+typedef tmat3x4< int, highp > int3x4
 
+typedef tvec4< int, highp > int4
 
+typedef tmat4x2< int, highp > int4x2
 
+typedef tmat4x3< int, highp > int4x3
 
+typedef tmat4x4< int, highp > int4x4
 
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType::value_type compAdd (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMax (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMin (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMul (genType const &v)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > atan2 (const tvec2< T, P > &x, const tvec2< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > atan2 (const tvec3< T, P > &x, const tvec3< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > atan2 (const tvec4< T, P > &x, const tvec4< T, P > &y)
 
+template<typename genType >
GLM_FUNC_DECL bool isfinite (genType const &x)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec1< bool, P > isfinite (const tvec1< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec2< bool, P > isfinite (const tvec2< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec3< bool, P > isfinite (const tvec3< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > isfinite (const tvec4< T, P > &x)
 
+template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, const tvec2< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, const tvec3< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > saturate (const tvec2< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > saturate (const tvec3< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > saturate (const tvec4< T, P > &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_component_wise

-
Date
2007-05-21 / 2011-06-07
+

GLM_GTX_compatibility

+
Date
2007-01-24 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+gtc_half_float (dependence)
-

Definition in file component_wise.hpp.

+

Definition in file compatibility.hpp.

diff --git a/doc/api/a00016_source.html b/doc/api/a00016_source.html index 1f96ce52..a4054ed7 100644 --- a/doc/api/a00016_source.html +++ b/doc/api/a00016_source.html @@ -3,8 +3,8 @@ - -0.9.6: component_wise.hpp Source File + +0.9.7: compatibility.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
component_wise.hpp
+
compatibility.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependencies
-
45 #include "../detail/setup.hpp"
-
46 #include "../detail/precision.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_component_wise extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename genType>
-
60  GLM_FUNC_DECL typename genType::value_type compAdd(
-
61  genType const & v);
-
62 
-
65  template <typename genType>
-
66  GLM_FUNC_DECL typename genType::value_type compMul(
-
67  genType const & v);
-
68 
-
71  template <typename genType>
-
72  GLM_FUNC_DECL typename genType::value_type compMin(
-
73  genType const & v);
-
74 
-
77  template <typename genType>
-
78  GLM_FUNC_DECL typename genType::value_type compMax(
-
79  genType const & v);
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 #include "../gtc/quaternion.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_compatibility extension included")
+
51 #endif
+
52 
+
53 #if(GLM_COMPILER & GLM_COMPILER_VC)
+
54 # include <cfloat>
+
55 #elif(GLM_COMPILER & GLM_COMPILER_GCC)
+
56 # include <cmath>
+
57 # if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+
58 # undef isfinite
+
59 # endif
+
60 #endif//GLM_COMPILER
+
61 
+
62 namespace glm
+
63 {
+
66 
+
67  template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
+
68  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> lerp(const tvec2<T, P>& x, const tvec2<T, P>& y, T a){return mix(x, y, a);}
+
69 
+
70  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> lerp(const tvec3<T, P>& x, const tvec3<T, P>& y, T a){return mix(x, y, a);}
+
71  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> lerp(const tvec4<T, P>& x, const tvec4<T, P>& y, T a){return mix(x, y, a);}
+
72  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> lerp(const tvec2<T, P>& x, const tvec2<T, P>& y, const tvec2<T, P>& a){return mix(x, y, a);}
+
73  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> lerp(const tvec3<T, P>& x, const tvec3<T, P>& y, const tvec3<T, P>& a){return mix(x, y, a);}
+
74  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> lerp(const tvec4<T, P>& x, const tvec4<T, P>& y, const tvec4<T, P>& a){return mix(x, y, a);}
+
75 
+
76  template <typename T, precision P> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));}
+
77  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> saturate(const tvec2<T, P>& x){return clamp(x, T(0), T(1));}
+
78  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> saturate(const tvec3<T, P>& x){return clamp(x, T(0), T(1));}
+
79  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> saturate(const tvec4<T, P>& x){return clamp(x, T(0), T(1));}
80 
-
82 }//namespace glm
-
83 
-
84 #include "component_wise.inl"
-
GLM_FUNC_DECL genType::value_type compMax(genType const &v)
Find the maximum value between single vector components.
-
GLM_FUNC_DECL genType::value_type compAdd(genType const &v)
Add all vector components together.
-
GLM_FUNC_DECL genType::value_type compMul(genType const &v)
Multiply all vector components together.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType::value_type compMin(genType const &v)
Find the minimum value between single vector components.
+
81  template <typename T, precision P> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);}
+
82  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> atan2(const tvec2<T, P>& x, const tvec2<T, P>& y){return atan(x, y);}
+
83  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> atan2(const tvec3<T, P>& x, const tvec3<T, P>& y){return atan(x, y);}
+
84  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> atan2(const tvec4<T, P>& x, const tvec4<T, P>& y){return atan(x, y);}
+
85 
+
86  template <typename genType> GLM_FUNC_DECL bool isfinite(genType const & x);
+
87  template <typename T, precision P> GLM_FUNC_DECL tvec1<bool, P> isfinite(const tvec1<T, P>& x);
+
88  template <typename T, precision P> GLM_FUNC_DECL tvec2<bool, P> isfinite(const tvec2<T, P>& x);
+
89  template <typename T, precision P> GLM_FUNC_DECL tvec3<bool, P> isfinite(const tvec3<T, P>& x);
+
90  template <typename T, precision P> GLM_FUNC_DECL tvec4<bool, P> isfinite(const tvec4<T, P>& x);
+
91 
+
92  typedef bool bool1;
+
93  typedef tvec2<bool, highp> bool2;
+
94  typedef tvec3<bool, highp> bool3;
+
95  typedef tvec4<bool, highp> bool4;
+
96 
+
97  typedef bool bool1x1;
+
98  typedef tmat2x2<bool, highp> bool2x2;
+
99  typedef tmat2x3<bool, highp> bool2x3;
+
100  typedef tmat2x4<bool, highp> bool2x4;
+
101  typedef tmat3x2<bool, highp> bool3x2;
+
102  typedef tmat3x3<bool, highp> bool3x3;
+
103  typedef tmat3x4<bool, highp> bool3x4;
+
104  typedef tmat4x2<bool, highp> bool4x2;
+
105  typedef tmat4x3<bool, highp> bool4x3;
+
106  typedef tmat4x4<bool, highp> bool4x4;
+
107 
+
108  typedef int int1;
+
109  typedef tvec2<int, highp> int2;
+
110  typedef tvec3<int, highp> int3;
+
111  typedef tvec4<int, highp> int4;
+
112 
+
113  typedef int int1x1;
+
114  typedef tmat2x2<int, highp> int2x2;
+
115  typedef tmat2x3<int, highp> int2x3;
+
116  typedef tmat2x4<int, highp> int2x4;
+
117  typedef tmat3x2<int, highp> int3x2;
+
118  typedef tmat3x3<int, highp> int3x3;
+
119  typedef tmat3x4<int, highp> int3x4;
+
120  typedef tmat4x2<int, highp> int4x2;
+
121  typedef tmat4x3<int, highp> int4x3;
+
122  typedef tmat4x4<int, highp> int4x4;
+
123 
+
124  typedef float float1;
+
125  typedef tvec2<float, highp> float2;
+
126  typedef tvec3<float, highp> float3;
+
127  typedef tvec4<float, highp> float4;
+
128 
+
129  typedef float float1x1;
+
130  typedef tmat2x2<float, highp> float2x2;
+
131  typedef tmat2x3<float, highp> float2x3;
+
132  typedef tmat2x4<float, highp> float2x4;
+
133  typedef tmat3x2<float, highp> float3x2;
+
134  typedef tmat3x3<float, highp> float3x3;
+
135  typedef tmat3x4<float, highp> float3x4;
+
136  typedef tmat4x2<float, highp> float4x2;
+
137  typedef tmat4x3<float, highp> float4x3;
+
138  typedef tmat4x4<float, highp> float4x4;
+
139 
+
140  typedef double double1;
+
141  typedef tvec2<double, highp> double2;
+
142  typedef tvec3<double, highp> double3;
+
143  typedef tvec4<double, highp> double4;
+
144 
+
145  typedef double double1x1;
+
146  typedef tmat2x2<double, highp> double2x2;
+
147  typedef tmat2x3<double, highp> double2x3;
+
148  typedef tmat2x4<double, highp> double2x4;
+
149  typedef tmat3x2<double, highp> double3x2;
+
150  typedef tmat3x3<double, highp> double3x3;
+
151  typedef tmat3x4<double, highp> double3x4;
+
152  typedef tmat4x2<double, highp> double4x2;
+
153  typedef tmat4x3<double, highp> double4x3;
+
154  typedef tmat4x4<double, highp> double4x4;
+
155 
+
157 }//namespace glm
+
158 
+
159 #include "compatibility.inl"
+
tmat2x2< int, highp > int2x2
integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
+
tmat4x2< int, highp > int4x2
integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
+
GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
tmat3x4< bool, highp > bool3x4
boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
+
tmat3x4< float, highp > float3x4
single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
+
tmat4x4< int, highp > int4x4
integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
+
tmat4x3< double, highp > double4x3
double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
+
tvec3< bool, highp > bool3
boolean type with 3 components. (From GLM_GTX_compatibility extension)
+
tmat2x4< float, highp > float2x4
single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
+
tmat2x4< double, highp > double2x4
double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
+
tmat2x3< bool, highp > bool2x3
boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
+
double double1
double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
+
tmat4x3< bool, highp > bool4x3
boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
+
tmat2x3< float, highp > float2x3
single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
+
tmat3x4< int, highp > int3x4
integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
+
tmat2x3< int, highp > int2x3
integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
+
tmat4x4< double, highp > double4x4
double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
+
tmat4x2< bool, highp > bool4x2
boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
+
GLM_FUNC_QUALIFIER tvec4< T, P > atan2(const tvec4< T, P > &x, const tvec4< T, P > &y)
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...
+
tvec4< bool, highp > bool4
boolean type with 4 components. (From GLM_GTX_compatibility extension)
+
tmat3x2< double, highp > double3x2
double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
+
tvec3< double, highp > double3
double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
+
GLM_FUNC_QUALIFIER tvec4< T, P > lerp(const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)
Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using v...
+
float float1x1
single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
+
tmat2x2< float, highp > float2x2
single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
+
tmat4x3< int, highp > int4x3
integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
+
tmat3x3< float, highp > float3x3
single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
+
int int1x1
integer matrix with 1 component. (From GLM_GTX_compatibility extension)
+
tmat4x2< float, highp > float4x2
single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
+
tvec4< double, highp > double4
double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
+
GLM_FUNC_DECL tvec4< bool, P > isfinite(const tvec4< T, P > &x)
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...
+
tmat2x4< int, highp > int2x4
integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
+
tmat4x3< float, highp > float4x3
single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
+
tvec3< int, highp > int3
integer vector with 3 components. (From GLM_GTX_compatibility extension)
+
Definition: _noise.hpp:40
+
tmat3x4< double, highp > double3x4
double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
+
tmat3x3< double, highp > double3x3
double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
+
tmat4x2< double, highp > double4x2
double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
+
tvec3< float, highp > float3
single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
+
bool bool1x1
boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
+
tvec4< int, highp > int4
integer vector with 4 components. (From GLM_GTX_compatibility extension)
+
tmat3x3< bool, highp > bool3x3
boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
+
tvec2< double, highp > double2
double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
+
tmat3x2< int, highp > int3x2
integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
+
tvec4< float, highp > float4
single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
+
int int1
integer vector with 1 component. (From GLM_GTX_compatibility extension)
+
tmat4x4< float, highp > float4x4
single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
+
float float1
single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
+
tvec2< float, highp > float2
single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
+
tmat2x4< bool, highp > bool2x4
boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
+
tmat2x2< double, highp > double2x2
double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
+
GLM_FUNC_DECL vecType< T, P > atan(vecType< T, P > const &y, vecType< T, P > const &x)
Arc tangent.
+
GLM_FUNC_QUALIFIER tvec4< T, P > saturate(const tvec4< T, P > &x)
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
+
tmat2x2< bool, highp > bool2x2
boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
+
GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
bool bool1
boolean type with 1 component. (From GLM_GTX_compatibility extension)
+
double double1x1
double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
+
tvec2< bool, highp > bool2
boolean type with 2 components. (From GLM_GTX_compatibility extension)
+
tvec2< int, highp > int2
integer vector with 2 components. (From GLM_GTX_compatibility extension)
+
tmat2x3< double, highp > double2x3
double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
+
tmat3x2< bool, highp > bool3x2
boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
+
tmat3x3< int, highp > int3x3
integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
+
tmat3x2< float, highp > float3x2
single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
+
tmat4x4< bool, highp > bool4x4
boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
diff --git a/doc/api/a00017.html b/doc/api/a00017.html index ddcc39a1..30cad0c3 100644 --- a/doc/api/a00017.html +++ b/doc/api/a00017.html @@ -3,8 +3,8 @@ - -0.9.6: constants.hpp File Reference + +0.9.7: component_wise.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
constants.hpp File Reference
+
component_wise.hpp File Reference
@@ -56,114 +56,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename genType >
GLM_FUNC_DECL genType four_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
GLM_FUNC_DECL genType three_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compAdd (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMax (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMin (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMul (genType const &v)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_constants

-
Date
2011-09-30 / 2012-01-25
+

GLM_GTX_component_wise

+
Date
2007-05-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-gtc_half_float (dependence)
+
See also
GLM Core (dependence)
-

Definition in file constants.hpp.

+

Definition in file component_wise.hpp.

diff --git a/doc/api/a00017_source.html b/doc/api/a00017_source.html index 55f8d774..627ad7de 100644 --- a/doc/api/a00017_source.html +++ b/doc/api/a00017_source.html @@ -3,8 +3,8 @@ - -0.9.6: constants.hpp Source File + +0.9.7: component_wise.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
constants.hpp
+
component_wise.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependencies
-
46 #include "../detail/setup.hpp"
+
42 #pragma once
+
43 
+
44 // Dependencies
+
45 #include "../detail/setup.hpp"
+
46 #include "../detail/precision.hpp"
47 
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTC_constants extension included")
+
49 # pragma message("GLM: GLM_GTX_component_wise extension included")
50 #endif
51 
-
52 namespace glm
+
52 namespace glm
53 {
56 
-
59  template <typename genType>
-
60  GLM_FUNC_DECL genType epsilon();
-
61 
-
64  template <typename genType>
-
65  GLM_FUNC_DECL genType zero();
-
66 
-
69  template <typename genType>
-
70  GLM_FUNC_DECL genType one();
-
71 
-
74  template <typename genType>
-
75  GLM_FUNC_DECL genType pi();
-
76 
-
79  template <typename genType>
-
80  GLM_FUNC_DECL genType two_pi();
-
81 
-
84  template <typename genType>
-
85  GLM_FUNC_DECL genType root_pi();
-
86 
-
89  template <typename genType>
-
90  GLM_FUNC_DECL genType half_pi();
-
91 
-
94  template <typename genType>
-
95  GLM_FUNC_DECL genType three_over_two_pi();
-
96 
-
99  template <typename genType>
-
100  GLM_FUNC_DECL genType quarter_pi();
-
101 
-
104  template <typename genType>
-
105  GLM_FUNC_DECL genType one_over_pi();
-
106 
-
109  template <typename genType>
-
110  GLM_FUNC_DECL genType one_over_two_pi();
-
111 
-
114  template <typename genType>
-
115  GLM_FUNC_DECL genType two_over_pi();
-
116 
-
119  template <typename genType>
-
120  GLM_FUNC_DECL genType four_over_pi();
-
121 
-
124  template <typename genType>
-
125  GLM_FUNC_DECL genType two_over_root_pi();
-
126 
-
129  template <typename genType>
-
130  GLM_FUNC_DECL genType one_over_root_two();
-
131 
-
134  template <typename genType>
-
135  GLM_FUNC_DECL genType root_half_pi();
-
136 
-
139  template <typename genType>
-
140  GLM_FUNC_DECL genType root_two_pi();
-
141 
-
144  template <typename genType>
-
145  GLM_FUNC_DECL genType root_ln_four();
-
146 
-
149  template <typename genType>
-
150  GLM_FUNC_DECL genType e();
-
151 
-
154  template <typename genType>
-
155  GLM_FUNC_DECL genType euler();
-
156 
-
159  template <typename genType>
-
160  GLM_FUNC_DECL genType root_two();
-
161 
-
164  template <typename genType>
-
165  GLM_FUNC_DECL genType root_three();
-
166 
-
169  template <typename genType>
-
170  GLM_FUNC_DECL genType root_five();
-
171 
-
174  template <typename genType>
-
175  GLM_FUNC_DECL genType ln_two();
-
176 
-
179  template <typename genType>
-
180  GLM_FUNC_DECL genType ln_ten();
-
181 
-
184  template <typename genType>
-
185  GLM_FUNC_DECL genType ln_ln_two();
-
186 
-
189  template <typename genType>
-
190  GLM_FUNC_DECL genType third();
-
191 
-
194  template <typename genType>
-
195  GLM_FUNC_DECL genType two_thirds();
-
196 
-
199  template <typename genType>
-
200  GLM_FUNC_DECL genType golden_ratio();
-
201 
-
203 } //namespace glm
-
204 
-
205 #include "constants.inl"
-
GLM_FUNC_DECL genType zero()
Return 0.
-
GLM_FUNC_DECL genType ln_ln_two()
Return ln(ln(2)).
-
GLM_FUNC_DECL genType root_two_pi()
Return sqrt(2 * pi).
-
GLM_FUNC_DECL genType one_over_root_two()
Return 1 / sqrt(2).
-
GLM_FUNC_DECL genType one_over_pi()
Return 1 / pi.
-
GLM_FUNC_DECL genType root_half_pi()
Return sqrt(pi / 2).
-
GLM_FUNC_DECL genType four_over_pi()
Return 4 / pi.
-
GLM_FUNC_DECL genType two_over_root_pi()
Return 2 / sqrt(pi).
-
GLM_FUNC_DECL genType one_over_two_pi()
Return 1 / (pi * 2).
-
GLM_FUNC_DECL genType third()
Return 1 / 3.
-
GLM_FUNC_DECL genType ln_ten()
Return ln(10).
-
GLM_FUNC_DECL genType half_pi()
Return pi / 2.
-
GLM_FUNC_DECL genType pi()
Return the pi constant.
-
GLM_FUNC_DECL genType golden_ratio()
Return the golden ratio constant.
-
GLM_FUNC_DECL genType euler()
Return Euler's constant.
-
GLM_FUNC_DECL genType root_pi()
Return square root of pi.
-
GLM_FUNC_DECL genType one()
Return 1.
-
GLM_FUNC_DECL genType two_over_pi()
Return 2 / pi.
-
GLM_FUNC_DECL genType root_ln_four()
Return sqrt(ln(4)).
-
GLM_FUNC_DECL genType three_over_two_pi()
Return pi / 2 * 3.
-
GLM_FUNC_DECL genType root_five()
Return sqrt(5).
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType two_pi()
Return pi * 2.
-
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
-
GLM_FUNC_DECL genType e()
Return e constant.
-
GLM_FUNC_DECL genType ln_two()
Return ln(2).
-
GLM_FUNC_DECL genType root_two()
Return sqrt(2).
-
GLM_FUNC_DECL genType quarter_pi()
Return pi / 4.
-
GLM_FUNC_DECL genType root_three()
Return sqrt(3).
-
GLM_FUNC_DECL genType two_thirds()
Return 2 / 3.
+
59  template <typename genType>
+
60  GLM_FUNC_DECL typename genType::value_type compAdd(
+
61  genType const & v);
+
62 
+
65  template <typename genType>
+
66  GLM_FUNC_DECL typename genType::value_type compMul(
+
67  genType const & v);
+
68 
+
71  template <typename genType>
+
72  GLM_FUNC_DECL typename genType::value_type compMin(
+
73  genType const & v);
+
74 
+
77  template <typename genType>
+
78  GLM_FUNC_DECL typename genType::value_type compMax(
+
79  genType const & v);
+
80 
+
82 }//namespace glm
+
83 
+
84 #include "component_wise.inl"
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType::value_type compAdd(genType const &v)
Add all vector components together.
+
GLM_FUNC_DECL genType::value_type compMin(genType const &v)
Find the minimum value between single vector components.
+
GLM_FUNC_DECL genType::value_type compMax(genType const &v)
Find the maximum value between single vector components.
+
GLM_FUNC_DECL genType::value_type compMul(genType const &v)
Multiply all vector components together.
diff --git a/doc/api/a00018.html b/doc/api/a00018.html index 5ed59765..99ea57e7 100644 --- a/doc/api/a00018.html +++ b/doc/api/a00018.html @@ -3,8 +3,8 @@ - -0.9.6: dual_quaternion.hpp File Reference + +0.9.7: constants.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
dual_quaternion.hpp File Reference
+
constants.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef highp_ddualquat ddualquat
 
typedef highp_fdualquat dualquat
 
typedef highp_fdualquat fdualquat
 
typedef tdualquat< double, highp > highp_ddualquat
 
typedef tdualquat< float, highp > highp_dualquat
 
typedef tdualquat< float, highp > highp_fdualquat
 
typedef tdualquat< double, lowp > lowp_ddualquat
 
typedef tdualquat< float, lowp > lowp_dualquat
 
typedef tdualquat< float, lowp > lowp_fdualquat
 
typedef tdualquat< double,
-mediump > 
mediump_ddualquat
 
typedef tdualquat< float, mediump > mediump_dualquat
 
typedef tdualquat< float, mediump > mediump_fdualquat
 
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat2x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat3x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > inverse (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > lerp (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > mat2x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > mat3x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > normalize (tdualquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename genType >
GLM_FUNC_DECL genType four_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
GLM_FUNC_DECL genType three_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_dual_quaternion

-
Date
2013-02-10 / 2013-02-20
-
Author
Maksim Vorobiev (msome.nosp@m.one@.nosp@m.gmail.nosp@m..com)
-
See also
GLM Core (dependence)
+

GLM_GTC_constants

+
Date
2011-09-30 / 2012-01-25
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-gtc_half_float (dependence)
-
-GLM_GTC_constants (dependence)
-
-GLM_GTC_quaternion (dependence)
+gtc_half_float (dependence)
-

Definition in file dual_quaternion.hpp.

+

Definition in file constants.hpp.

diff --git a/doc/api/a00018_source.html b/doc/api/a00018_source.html index 8ed37510..b4087611 100644 --- a/doc/api/a00018_source.html +++ b/doc/api/a00018_source.html @@ -3,8 +3,8 @@ - -0.9.6: dual_quaternion.hpp Source File + +0.9.7: constants.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
dual_quaternion.hpp
+
constants.hpp
Go to the documentation of this file.
1 
-
45 #pragma once
-
46 
-
47 // Dependency:
-
48 #include "../glm.hpp"
-
49 #include "../gtc/constants.hpp"
-
50 #include "../gtc/quaternion.hpp"
+
43 #pragma once
+
44 
+
45 // Dependencies
+
46 #include "../detail/setup.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTC_constants extension included")
+
50 #endif
51 
-
52 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
53 # pragma message("GLM: GLM_GTX_dual_quaternion extension included")
-
54 #endif
-
55 
-
56 namespace glm
-
57 {
-
60 
-
61  template <typename T, precision P>
-
62  struct tdualquat
-
63  {
-
64  typedef T value_type;
-
65  typedef glm::tquat<T, P> part_type;
-
66 
-
67  public:
-
68  glm::tquat<T, P> real, dual;
-
69 
-
71  // Component accesses
-
72 
-
73 # ifdef GLM_FORCE_SIZE_FUNC
-
74  typedef size_t size_type;
-
76  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
-
77 
-
78  GLM_FUNC_DECL part_type & operator[](size_type i);
-
79  GLM_FUNC_DECL part_type const & operator[](size_type i) const;
-
80 # else
-
81  typedef length_t length_type;
-
83  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
84 
-
85  GLM_FUNC_DECL part_type & operator[](length_type i);
-
86  GLM_FUNC_DECL part_type const & operator[](length_type i) const;
-
87 # endif//GLM_FORCE_SIZE_FUNC
-
88 
-
90  // Implicit basic constructors
+
52 namespace glm
+
53 {
+
56 
+
59  template <typename genType>
+
60  GLM_FUNC_DECL genType epsilon();
+
61 
+
64  template <typename genType>
+
65  GLM_FUNC_DECL genType zero();
+
66 
+
69  template <typename genType>
+
70  GLM_FUNC_DECL genType one();
+
71 
+
74  template <typename genType>
+
75  GLM_FUNC_DECL genType pi();
+
76 
+
79  template <typename genType>
+
80  GLM_FUNC_DECL genType two_pi();
+
81 
+
84  template <typename genType>
+
85  GLM_FUNC_DECL genType root_pi();
+
86 
+
89  template <typename genType>
+
90  GLM_FUNC_DECL genType half_pi();
91 
-
92  GLM_FUNC_DECL tdualquat();
-
93  template <precision Q>
-
94  GLM_FUNC_DECL tdualquat(tdualquat<T, Q> const & d);
-
95 
-
97  // Explicit basic constructors
-
98 
-
99  GLM_FUNC_DECL explicit tdualquat(ctor);
-
100  GLM_FUNC_DECL explicit tdualquat(tquat<T, P> const & real);
-
101  GLM_FUNC_DECL tdualquat(tquat<T, P> const & orientation, tvec3<T, P> const & translation);
-
102  GLM_FUNC_DECL tdualquat(tquat<T, P> const & real, tquat<T, P> const & dual);
-
103 
-
105  // tdualquat conversions
+
94  template <typename genType>
+
95  GLM_FUNC_DECL genType three_over_two_pi();
+
96 
+
99  template <typename genType>
+
100  GLM_FUNC_DECL genType quarter_pi();
+
101 
+
104  template <typename genType>
+
105  GLM_FUNC_DECL genType one_over_pi();
106 
-
107 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
108  template <typename U, precision Q>
-
109  GLM_FUNC_DECL explicit tdualquat(tdualquat<U, Q> const & q);
-
110 # else
-
111  template <typename U, precision Q>
-
112  GLM_FUNC_DECL tdualquat(tdualquat<U, Q> const & q);
-
113 # endif
-
114 
-
115  GLM_FUNC_DECL explicit tdualquat(tmat2x4<T, P> const & holder_mat);
-
116  GLM_FUNC_DECL explicit tdualquat(tmat3x4<T, P> const & aug_mat);
-
117 
-
118  // Operators
-
119  GLM_FUNC_DECL tdualquat<T, P> & operator*=(T const & s);
-
120  GLM_FUNC_DECL tdualquat<T, P> & operator/=(T const & s);
-
121  };
-
122 
-
123  template <typename T, precision P>
-
124  GLM_FUNC_DECL tquat<T, P> operator- (
-
125  tquat<T, P> const & q);
-
126 
-
127  template <typename T, precision P>
-
128  GLM_FUNC_DECL tdualquat<T, P> operator+ (
-
129  tdualquat<T, P> const & q,
-
130  tdualquat<T, P> const & p);
-
131 
-
132  template <typename T, precision P>
-
133  GLM_FUNC_DECL tdualquat<T, P> operator* (
-
134  tdualquat<T, P> const & q,
-
135  tdualquat<T, P> const & p);
-
136 
-
137  template <typename T, precision P>
-
138  GLM_FUNC_DECL tvec3<T, P> operator* (
-
139  tquat<T, P> const & q,
-
140  tvec3<T, P> const & v);
-
141 
-
142  template <typename T, precision P>
-
143  GLM_FUNC_DECL tvec3<T, P> operator* (
-
144  tvec3<T, P> const & v,
-
145  tquat<T, P> const & q);
-
146 
-
147  template <typename T, precision P>
-
148  GLM_FUNC_DECL tvec4<T, P> operator* (
-
149  tquat<T, P> const & q,
-
150  tvec4<T, P> const & v);
-
151 
-
152  template <typename T, precision P>
-
153  GLM_FUNC_DECL tvec4<T, P> operator* (
-
154  tvec4<T, P> const & v,
-
155  tquat<T, P> const & q);
-
156 
-
157  template <typename T, precision P>
-
158  GLM_FUNC_DECL tdualquat<T, P> operator* (
-
159  tdualquat<T, P> const & q,
-
160  T const & s);
-
161 
-
162  template <typename T, precision P>
-
163  GLM_FUNC_DECL tdualquat<T, P> operator* (
-
164  T const & s,
-
165  tdualquat<T, P> const & q);
-
166 
-
167  template <typename T, precision P>
-
168  GLM_FUNC_DECL tdualquat<T, P> operator/ (
-
169  tdualquat<T, P> const & q,
-
170  T const & s);
+
109  template <typename genType>
+
110  GLM_FUNC_DECL genType one_over_two_pi();
+
111 
+
114  template <typename genType>
+
115  GLM_FUNC_DECL genType two_over_pi();
+
116 
+
119  template <typename genType>
+
120  GLM_FUNC_DECL genType four_over_pi();
+
121 
+
124  template <typename genType>
+
125  GLM_FUNC_DECL genType two_over_root_pi();
+
126 
+
129  template <typename genType>
+
130  GLM_FUNC_DECL genType one_over_root_two();
+
131 
+
134  template <typename genType>
+
135  GLM_FUNC_DECL genType root_half_pi();
+
136 
+
139  template <typename genType>
+
140  GLM_FUNC_DECL genType root_two_pi();
+
141 
+
144  template <typename genType>
+
145  GLM_FUNC_DECL genType root_ln_four();
+
146 
+
149  template <typename genType>
+
150  GLM_FUNC_DECL genType e();
+
151 
+
154  template <typename genType>
+
155  GLM_FUNC_DECL genType euler();
+
156 
+
159  template <typename genType>
+
160  GLM_FUNC_DECL genType root_two();
+
161 
+
164  template <typename genType>
+
165  GLM_FUNC_DECL genType root_three();
+
166 
+
169  template <typename genType>
+
170  GLM_FUNC_DECL genType root_five();
171 
-
175  template <typename T, precision P>
-
176  GLM_FUNC_DECL tdualquat<T, P> normalize(
-
177  tdualquat<T, P> const & q);
-
178 
-
182  template <typename T, precision P>
-
183  GLM_FUNC_DECL tdualquat<T, P> lerp(
-
184  tdualquat<T, P> const & x,
-
185  tdualquat<T, P> const & y,
-
186  T const & a);
-
187 
-
191  template <typename T, precision P>
-
192  GLM_FUNC_DECL tdualquat<T, P> inverse(
-
193  tdualquat<T, P> const & q);
-
194 
-
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL tmat2x4<T, P> mat2x4_cast(
-
200  tdualquat<T, P> const & x);
+
174  template <typename genType>
+
175  GLM_FUNC_DECL genType ln_two();
+
176 
+
179  template <typename genType>
+
180  GLM_FUNC_DECL genType ln_ten();
+
181 
+
184  template <typename genType>
+
185  GLM_FUNC_DECL genType ln_ln_two();
+
186 
+
189  template <typename genType>
+
190  GLM_FUNC_DECL genType third();
+
191 
+
194  template <typename genType>
+
195  GLM_FUNC_DECL genType two_thirds();
+
196 
+
199  template <typename genType>
+
200  GLM_FUNC_DECL genType golden_ratio();
201 
-
205  template <typename T, precision P>
-
206  GLM_FUNC_DECL tmat3x4<T, P> mat3x4_cast(
-
207  tdualquat<T, P> const & x);
-
208 
-
212  template <typename T, precision P>
-
213  GLM_FUNC_DECL tdualquat<T, P> dualquat_cast(
-
214  tmat2x4<T, P> const & x);
-
215 
-
219  template <typename T, precision P>
-
220  GLM_FUNC_DECL tdualquat<T, P> dualquat_cast(
-
221  tmat3x4<T, P> const & x);
-
222 
-
223 
-
227  typedef tdualquat<float, lowp> lowp_dualquat;
-
228 
-
232  typedef tdualquat<float, mediump> mediump_dualquat;
-
233 
-
237  typedef tdualquat<float, highp> highp_dualquat;
-
238 
-
239 
-
243  typedef tdualquat<float, lowp> lowp_fdualquat;
-
244 
-
248  typedef tdualquat<float, mediump> mediump_fdualquat;
-
249 
-
253  typedef tdualquat<float, highp> highp_fdualquat;
-
254 
-
255 
-
259  typedef tdualquat<double, lowp> lowp_ddualquat;
-
260 
-
264  typedef tdualquat<double, mediump> mediump_ddualquat;
-
265 
-
269  typedef tdualquat<double, highp> highp_ddualquat;
-
270 
-
271 
-
272 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
273  typedef highp_fdualquat dualquat;
-
277 
-
281  typedef highp_fdualquat fdualquat;
-
282 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
283  typedef highp_fdualquat dualquat;
-
284  typedef highp_fdualquat fdualquat;
-
285 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
286  typedef mediump_fdualquat dualquat;
-
287  typedef mediump_fdualquat fdualquat;
-
288 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
-
289  typedef lowp_fdualquat dualquat;
-
290  typedef lowp_fdualquat fdualquat;
-
291 #else
-
292 # error "GLM error: multiple default precision requested for single-precision floating-point types"
-
293 #endif
-
294 
-
295 
-
296 #if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
-
297  typedef highp_ddualquat ddualquat;
-
301 #elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
-
302  typedef highp_ddualquat ddualquat;
-
303 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
-
304  typedef mediump_ddualquat ddualquat;
-
305 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
-
306  typedef lowp_ddualquat ddualquat;
-
307 #else
-
308 # error "GLM error: Multiple default precision requested for double-precision floating-point types"
-
309 #endif
-
310 
-
312 } //namespace glm
-
313 
-
314 #include "dual_quaternion.inl"
-
tdualquat< float, lowp > lowp_fdualquat
Dual-quaternion of low single-precision floating-point numbers.
-
highp_fdualquat dualquat
Dual-quaternion of floating-point numbers.
-
tdualquat< float, lowp > lowp_dualquat
Dual-quaternion of low single-precision floating-point numbers.
-
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast(tmat3x4< T, P > const &x)
Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.
-
GLM_FUNC_DECL tdualquat< T, P > lerp(tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
Returns the linear interpolation of two dual quaternion.
-
tdualquat< float, highp > highp_dualquat
Dual-quaternion of high single-precision floating-point numbers.
-
tdualquat< double, lowp > lowp_ddualquat
Dual-quaternion of low double-precision floating-point numbers.
-
tdualquat< double, highp > highp_ddualquat
Dual-quaternion of high double-precision floating-point numbers.
-
highp_ddualquat ddualquat
Dual-quaternion of default double-precision floating-point numbers.
-
tdualquat< float, mediump > mediump_dualquat
Dual-quaternion of medium single-precision floating-point numbers.
-
GLM_FUNC_DECL tmat2x4< T, P > mat2x4_cast(tdualquat< T, P > const &x)
Converts a quaternion to a 2 * 4 matrix.
-
highp_fdualquat fdualquat
Dual-quaternion of single-precision floating-point numbers.
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
tdualquat< double, mediump > mediump_ddualquat
Dual-quaternion of medium double-precision floating-point numbers.
-
GLM_FUNC_DECL tmat3x4< T, P > mat3x4_cast(tdualquat< T, P > const &x)
Converts a quaternion to a 3 * 4 matrix.
-
tdualquat< float, highp > highp_fdualquat
Dual-quaternion of high single-precision floating-point numbers.
-
GLM_FUNC_DECL tdualquat< T, P > inverse(tdualquat< T, P > const &q)
Returns the q inverse.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, P > orientation(tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
-
GLM_FUNC_DECL tdualquat< T, P > normalize(tdualquat< T, P > const &q)
Returns the normalized quaternion.
-
tdualquat< float, mediump > mediump_fdualquat
Dual-quaternion of medium single-precision floating-point numbers.
+
203 } //namespace glm
+
204 
+
205 #include "constants.inl"
+
GLM_FUNC_DECL genType euler()
Return Euler's constant.
+
GLM_FUNC_DECL genType two_over_pi()
Return 2 / pi.
+
GLM_FUNC_DECL genType three_over_two_pi()
Return pi / 2 * 3.
+
GLM_FUNC_DECL genType root_pi()
Return square root of pi.
+
GLM_FUNC_DECL genType one()
Return 1.
+
GLM_FUNC_DECL genType root_ln_four()
Return sqrt(ln(4)).
+
GLM_FUNC_DECL genType two_pi()
Return pi * 2.
+
GLM_FUNC_DECL genType root_five()
Return sqrt(5).
+
GLM_FUNC_DECL genType e()
Return e constant.
+
GLM_FUNC_DECL genType quarter_pi()
Return pi / 4.
+
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
GLM_FUNC_DECL genType ln_two()
Return ln(2).
+
GLM_FUNC_DECL genType root_two()
Return sqrt(2).
+
GLM_FUNC_DECL genType root_three()
Return sqrt(3).
+
GLM_FUNC_DECL genType two_thirds()
Return 2 / 3.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType ln_ln_two()
Return ln(ln(2)).
+
GLM_FUNC_DECL genType zero()
Return 0.
+
GLM_FUNC_DECL genType one_over_root_two()
Return 1 / sqrt(2).
+
GLM_FUNC_DECL genType root_two_pi()
Return sqrt(2 * pi).
+
GLM_FUNC_DECL genType root_half_pi()
Return sqrt(pi / 2).
+
GLM_FUNC_DECL genType one_over_pi()
Return 1 / pi.
+
GLM_FUNC_DECL genType four_over_pi()
Return 4 / pi.
+
GLM_FUNC_DECL genType two_over_root_pi()
Return 2 / sqrt(pi).
+
GLM_FUNC_DECL genType ln_ten()
Return ln(10).
+
GLM_FUNC_DECL genType one_over_two_pi()
Return 1 / (pi * 2).
+
GLM_FUNC_DECL genType pi()
Return the pi constant.
+
GLM_FUNC_DECL genType third()
Return 1 / 3.
+
GLM_FUNC_DECL genType golden_ratio()
Return the golden ratio constant.
+
GLM_FUNC_DECL genType half_pi()
Return pi / 2.
diff --git a/doc/api/a00019.html b/doc/api/a00019.html index 323c0a76..2e7e60aa 100644 --- a/doc/api/a00019.html +++ b/doc/api/a00019.html @@ -3,8 +3,8 @@ - -0.9.6: epsilon.hpp File Reference + +0.9.7: dual_quaternion.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
epsilon.hpp File Reference
+
dual_quaternion.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_ddualquat ddualquat
 
typedef highp_fdualquat dualquat
 
typedef highp_fdualquat fdualquat
 
typedef tdualquat< double, highp > highp_ddualquat
 
typedef tdualquat< float, highp > highp_dualquat
 
typedef tdualquat< float, highp > highp_fdualquat
 
typedef tdualquat< double, lowp > lowp_ddualquat
 
typedef tdualquat< float, lowp > lowp_dualquat
 
typedef tdualquat< float, lowp > lowp_fdualquat
 
typedef tdualquat< double, mediump > mediump_ddualquat
 
typedef tdualquat< float, mediump > mediump_dualquat
 
typedef tdualquat< float, mediump > mediump_fdualquat
 
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat2x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat3x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > inverse (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > lerp (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > mat2x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > mat3x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > normalize (tdualquat< T, P > const &q)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_epsilon

-
Date
2012-04-07 / 2012-04-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM_GTX_dual_quaternion

+
Date
2013-02-10 / 2013-02-20
+
Author
Maksim Vorobiev (msome.nosp@m.one@.nosp@m.gmail.nosp@m..com)
+
See also
GLM Core (dependence)
gtc_half_float (dependence)
-GLM_GTC_quaternion (dependence)
+GLM_GTC_constants (dependence) +
+GLM_GTC_quaternion (dependence)
-

Definition in file epsilon.hpp.

+

Definition in file dual_quaternion.hpp.

diff --git a/doc/api/a00019_source.html b/doc/api/a00019_source.html index 3d73b033..fcc5e329 100644 --- a/doc/api/a00019_source.html +++ b/doc/api/a00019_source.html @@ -3,8 +3,8 @@ - -0.9.6: epsilon.hpp Source File + +0.9.7: dual_quaternion.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
epsilon.hpp
+
dual_quaternion.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
-
45 
-
46 // Dependencies
-
47 #include "../detail/setup.hpp"
-
48 #include "../detail/precision.hpp"
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTC_epsilon extension included")
-
52 #endif
-
53 
-
54 namespace glm
-
55 {
-
58 
-
63  template <typename T, precision P, template <typename, precision> class vecType>
-
64  GLM_FUNC_DECL vecType<bool, P> epsilonEqual(
-
65  vecType<T, P> const & x,
-
66  vecType<T, P> const & y,
-
67  T const & epsilon);
+
45 #pragma once
+
46 
+
47 // Dependency:
+
48 #include "../glm.hpp"
+
49 #include "../gtc/constants.hpp"
+
50 #include "../gtc/quaternion.hpp"
+
51 
+
52 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
53 # pragma message("GLM: GLM_GTX_dual_quaternion extension included")
+
54 #endif
+
55 
+
56 namespace glm
+
57 {
+
60 
+
61  template <typename T, precision P = defaultp>
+
62  struct tdualquat
+
63  {
+
64  // -- Implementation detail --
+
65 
+
66  typedef T value_type;
+
67  typedef glm::tquat<T, P> part_type;
68 
-
73  template <typename genType>
-
74  GLM_FUNC_DECL bool epsilonEqual(
-
75  genType const & x,
-
76  genType const & y,
-
77  genType const & epsilon);
-
78 
-
83  template <typename genType>
-
84  GLM_FUNC_DECL typename genType::boolType epsilonNotEqual(
-
85  genType const & x,
-
86  genType const & y,
-
87  typename genType::value_type const & epsilon);
-
88 
-
93  template <typename genType>
-
94  GLM_FUNC_DECL bool epsilonNotEqual(
-
95  genType const & x,
-
96  genType const & y,
-
97  genType const & epsilon);
-
98 
-
100 }//namespace glm
-
101 
-
102 #include "epsilon.inl"
-
GLM_FUNC_DECL bool epsilonNotEqual(genType const &x, genType const &y, genType const &epsilon)
Returns the component-wise comparison of |x - y| >= epsilon.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
-
GLM_FUNC_DECL bool epsilonEqual(genType const &x, genType const &y, genType const &epsilon)
Returns the component-wise comparison of |x - y| < epsilon.
+
69 # ifdef GLM_META_PROG_HELPERS
+
70  static GLM_RELAXED_CONSTEXPR length_t components = 2;
+
71  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
72 # endif//GLM_META_PROG_HELPERS
+
73 
+
74  // -- Data --
+
75 
+
76  glm::tquat<T, P> real, dual;
+
77 
+
78  // -- Component accesses --
+
79 
+
80 # ifdef GLM_FORCE_SIZE_FUNC
+
81  typedef size_t size_type;
+
83  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
+
84 
+
85  GLM_FUNC_DECL part_type & operator[](size_type i);
+
86  GLM_FUNC_DECL part_type const & operator[](size_type i) const;
+
87 # else
+
88  typedef length_t length_type;
+
90  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
91 
+
92  GLM_FUNC_DECL part_type & operator[](length_type i);
+
93  GLM_FUNC_DECL part_type const & operator[](length_type i) const;
+
94 # endif//GLM_FORCE_SIZE_FUNC
+
95 
+
96  // -- Implicit basic constructors --
+
97 
+
98  GLM_FUNC_DECL tdualquat() GLM_DEFAULT_CTOR;
+
99  GLM_FUNC_DECL tdualquat(tdualquat<T, P> const & d) GLM_DEFAULT;
+
100  template <precision Q>
+
101  GLM_FUNC_DECL tdualquat(tdualquat<T, Q> const & d);
+
102 
+
103  // -- Explicit basic constructors --
+
104 
+
105  GLM_FUNC_DECL explicit tdualquat(ctor);
+
106  GLM_FUNC_DECL explicit tdualquat(tquat<T, P> const & real);
+
107  GLM_FUNC_DECL tdualquat(tquat<T, P> const & orientation, tvec3<T, P> const & translation);
+
108  GLM_FUNC_DECL tdualquat(tquat<T, P> const & real, tquat<T, P> const & dual);
+
109 
+
110  // -- Conversion constructors --
+
111 
+
112  template <typename U, precision Q>
+
113  GLM_FUNC_DECL GLM_EXPLICIT tdualquat(tdualquat<U, Q> const & q);
+
114 
+
115  GLM_FUNC_DECL explicit tdualquat(tmat2x4<T, P> const & holder_mat);
+
116  GLM_FUNC_DECL explicit tdualquat(tmat3x4<T, P> const & aug_mat);
+
117 
+
118  // -- Unary arithmetic operators --
+
119 
+
120  GLM_FUNC_DECL tdualquat<T, P> & operator=(tdualquat<T, P> const & m) GLM_DEFAULT;
+
121 
+
122  template <typename U>
+
123  GLM_FUNC_DECL tdualquat<T, P> & operator=(tdualquat<U, P> const & m);
+
124  template <typename U>
+
125  GLM_FUNC_DECL tdualquat<T, P> & operator*=(U s);
+
126  template <typename U>
+
127  GLM_FUNC_DECL tdualquat<T, P> & operator/=(U s);
+
128  };
+
129 
+
130  // -- Unary bit operators --
+
131 
+
132  template <typename T, precision P>
+
133  GLM_FUNC_DECL tquat<T, P> operator-(tquat<T, P> const & q);
+
134 
+
135  // -- Binary operators --
+
136 
+
137  template <typename T, precision P>
+
138  GLM_FUNC_DECL tdualquat<T, P> operator+(tdualquat<T, P> const & q, tdualquat<T, P> const & p);
+
139 
+
140  template <typename T, precision P>
+
141  GLM_FUNC_DECL tdualquat<T, P> operator*(tdualquat<T, P> const & q, tdualquat<T, P> const & p);
+
142 
+
143  template <typename T, precision P>
+
144  GLM_FUNC_DECL tvec3<T, P> operator*(tquat<T, P> const & q, tvec3<T, P> const & v);
+
145 
+
146  template <typename T, precision P>
+
147  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, tquat<T, P> const & q);
+
148 
+
149  template <typename T, precision P>
+
150  GLM_FUNC_DECL tvec4<T, P> operator*(tquat<T, P> const & q, tvec4<T, P> const & v);
+
151 
+
152  template <typename T, precision P>
+
153  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, tquat<T, P> const & q);
+
154 
+
155  template <typename T, precision P>
+
156  GLM_FUNC_DECL tdualquat<T, P> operator*(tdualquat<T, P> const & q, T const & s);
+
157 
+
158  template <typename T, precision P>
+
159  GLM_FUNC_DECL tdualquat<T, P> operator*(T const & s, tdualquat<T, P> const & q);
+
160 
+
161  template <typename T, precision P>
+
162  GLM_FUNC_DECL tdualquat<T, P> operator/(tdualquat<T, P> const & q, T const & s);
+
163 
+
167  template <typename T, precision P>
+
168  GLM_FUNC_DECL tdualquat<T, P> normalize(tdualquat<T, P> const & q);
+
169 
+
173  template <typename T, precision P>
+
174  GLM_FUNC_DECL tdualquat<T, P> lerp(tdualquat<T, P> const & x, tdualquat<T, P> const & y, T const & a);
+
175 
+
179  template <typename T, precision P>
+
180  GLM_FUNC_DECL tdualquat<T, P> inverse(tdualquat<T, P> const & q);
+
181 
+
185  template <typename T, precision P>
+
186  GLM_FUNC_DECL tmat2x4<T, P> mat2x4_cast(tdualquat<T, P> const & x);
+
187 
+
191  template <typename T, precision P>
+
192  GLM_FUNC_DECL tmat3x4<T, P> mat3x4_cast(tdualquat<T, P> const & x);
+
193 
+
197  template <typename T, precision P>
+
198  GLM_FUNC_DECL tdualquat<T, P> dualquat_cast(tmat2x4<T, P> const & x);
+
199 
+
203  template <typename T, precision P>
+
204  GLM_FUNC_DECL tdualquat<T, P> dualquat_cast(tmat3x4<T, P> const & x);
+
205 
+
206 
+
210  typedef tdualquat<float, lowp> lowp_dualquat;
+
211 
+
215  typedef tdualquat<float, mediump> mediump_dualquat;
+
216 
+
220  typedef tdualquat<float, highp> highp_dualquat;
+
221 
+
222 
+
226  typedef tdualquat<float, lowp> lowp_fdualquat;
+
227 
+
231  typedef tdualquat<float, mediump> mediump_fdualquat;
+
232 
+
236  typedef tdualquat<float, highp> highp_fdualquat;
+
237 
+
238 
+
242  typedef tdualquat<double, lowp> lowp_ddualquat;
+
243 
+
247  typedef tdualquat<double, mediump> mediump_ddualquat;
+
248 
+
252  typedef tdualquat<double, highp> highp_ddualquat;
+
253 
+
254 
+
255 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
256  typedef highp_fdualquat dualquat;
+
260 
+
264  typedef highp_fdualquat fdualquat;
+
265 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
266  typedef highp_fdualquat dualquat;
+
267  typedef highp_fdualquat fdualquat;
+
268 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
269  typedef mediump_fdualquat dualquat;
+
270  typedef mediump_fdualquat fdualquat;
+
271 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
+
272  typedef lowp_fdualquat dualquat;
+
273  typedef lowp_fdualquat fdualquat;
+
274 #else
+
275 # error "GLM error: multiple default precision requested for single-precision floating-point types"
+
276 #endif
+
277 
+
278 
+
279 #if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
280  typedef highp_ddualquat ddualquat;
+
284 #elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
285  typedef highp_ddualquat ddualquat;
+
286 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
287  typedef mediump_ddualquat ddualquat;
+
288 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
+
289  typedef lowp_ddualquat ddualquat;
+
290 #else
+
291 # error "GLM error: Multiple default precision requested for double-precision floating-point types"
+
292 #endif
+
293 
+
295 } //namespace glm
+
296 
+
297 #include "dual_quaternion.inl"
+
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast(tmat3x4< T, P > const &x)
Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.
+
tdualquat< double, lowp > lowp_ddualquat
Dual-quaternion of low double-precision floating-point numbers.
+
GLM_FUNC_DECL tdualquat< T, P > normalize(tdualquat< T, P > const &q)
Returns the normalized quaternion.
+
tdualquat< float, highp > highp_dualquat
Dual-quaternion of high single-precision floating-point numbers.
+
GLM_FUNC_DECL tmat4x4< T, P > orientation(tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
+
tdualquat< float, mediump > mediump_fdualquat
Dual-quaternion of medium single-precision floating-point numbers.
+
highp_fdualquat fdualquat
Dual-quaternion of single-precision floating-point numbers.
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
tdualquat< float, lowp > lowp_dualquat
Dual-quaternion of low single-precision floating-point numbers.
+
GLM_FUNC_DECL tdualquat< T, P > lerp(tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
Returns the linear interpolation of two dual quaternion.
+
GLM_FUNC_DECL tmat2x4< T, P > mat2x4_cast(tdualquat< T, P > const &x)
Converts a quaternion to a 2 * 4 matrix.
+
highp_ddualquat ddualquat
Dual-quaternion of default double-precision floating-point numbers.
+
tdualquat< double, highp > highp_ddualquat
Dual-quaternion of high double-precision floating-point numbers.
+
tdualquat< float, highp > highp_fdualquat
Dual-quaternion of high single-precision floating-point numbers.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tdualquat< T, P > inverse(tdualquat< T, P > const &q)
Returns the q inverse.
+
tdualquat< float, mediump > mediump_dualquat
Dual-quaternion of medium single-precision floating-point numbers.
+
tdualquat< double, mediump > mediump_ddualquat
Dual-quaternion of medium double-precision floating-point numbers.
+
GLM_FUNC_DECL tmat3x4< T, P > mat3x4_cast(tdualquat< T, P > const &x)
Converts a quaternion to a 3 * 4 matrix.
+
tdualquat< float, lowp > lowp_fdualquat
Dual-quaternion of low single-precision floating-point numbers.
+
highp_fdualquat dualquat
Dual-quaternion of floating-point numbers.
diff --git a/doc/api/a00020.html b/doc/api/a00020.html index 2154b5a1..99723558 100644 --- a/doc/api/a00020.html +++ b/doc/api/a00020.html @@ -3,8 +3,8 @@ - -0.9.6: euler_angles.hpp File Reference + +0.9.7: epsilon.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
euler_angles.hpp File Reference
+
epsilon.hpp File Reference
@@ -56,85 +56,41 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleX (T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleY (T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleZ (T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T,
-defaultp > 
orientate2 (T const &angle)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T,
-defaultp > 
orientate3 (T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orientate3 (tvec3< T, P > const &angles)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientate4 (tvec3< T, P > const &angles)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_euler_angles

-
Date
2005-12-21 / 2011-06-07
+

GLM_GTC_epsilon

+
Date
2012-04-07 / 2012-04-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-gtc_half_float (dependence)
+gtc_half_float (dependence) +
+GLM_GTC_quaternion (dependence)
-

Definition in file euler_angles.hpp.

+

Definition in file epsilon.hpp.

diff --git a/doc/api/a00020_source.html b/doc/api/a00020_source.html index 784014de..423bb841 100644 --- a/doc/api/a00020_source.html +++ b/doc/api/a00020_source.html @@ -3,8 +3,8 @@ - -0.9.6: euler_angles.hpp Source File + +0.9.7: epsilon.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
euler_angles.hpp
+
epsilon.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_euler_angles extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename T>
-
60  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleX(
-
61  T const & angleX);
-
62 
-
65  template <typename T>
-
66  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleY(
-
67  T const & angleY);
+
44 #pragma once
+
45 
+
46 // Dependencies
+
47 #include "../detail/setup.hpp"
+
48 #include "../detail/precision.hpp"
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTC_epsilon extension included")
+
52 #endif
+
53 
+
54 namespace glm
+
55 {
+
58 
+
63  template <typename T, precision P, template <typename, precision> class vecType>
+
64  GLM_FUNC_DECL vecType<bool, P> epsilonEqual(
+
65  vecType<T, P> const & x,
+
66  vecType<T, P> const & y,
+
67  T const & epsilon);
68 
-
71  template <typename T>
-
72  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZ(
-
73  T const & angleZ);
-
74 
-
77  template <typename T>
-
78  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXY(
-
79  T const & angleX,
-
80  T const & angleY);
-
81 
-
84  template <typename T>
-
85  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYX(
-
86  T const & angleY,
-
87  T const & angleX);
+
73  template <typename genType>
+
74  GLM_FUNC_DECL bool epsilonEqual(
+
75  genType const & x,
+
76  genType const & y,
+
77  genType const & epsilon);
+
78 
+
83  template <typename genType>
+
84  GLM_FUNC_DECL typename genType::boolType epsilonNotEqual(
+
85  genType const & x,
+
86  genType const & y,
+
87  typename genType::value_type const & epsilon);
88 
-
91  template <typename T>
-
92  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXZ(
-
93  T const & angleX,
-
94  T const & angleZ);
-
95 
-
98  template <typename T>
-
99  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZX(
-
100  T const & angle,
-
101  T const & angleX);
-
102 
-
105  template <typename T>
-
106  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYZ(
-
107  T const & angleY,
-
108  T const & angleZ);
-
109 
-
112  template <typename T>
-
113  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZY(
-
114  T const & angleZ,
-
115  T const & angleY);
-
116 
-
119  template <typename T>
-
120  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYXZ(
-
121  T const & yaw,
-
122  T const & pitch,
-
123  T const & roll);
-
124 
-
127  template <typename T>
-
128  GLM_FUNC_DECL tmat4x4<T, defaultp> yawPitchRoll(
-
129  T const & yaw,
-
130  T const & pitch,
-
131  T const & roll);
-
132 
-
135  template <typename T>
-
136  GLM_FUNC_DECL tmat2x2<T, defaultp> orientate2(T const & angle);
-
137 
-
140  template <typename T>
-
141  GLM_FUNC_DECL tmat3x3<T, defaultp> orientate3(T const & angle);
-
142 
-
145  template <typename T, precision P>
-
146  GLM_FUNC_DECL tmat3x3<T, P> orientate3(tvec3<T, P> const & angles);
-
147 
-
150  template <typename T, precision P>
-
151  GLM_FUNC_DECL tmat4x4<T, P> orientate4(tvec3<T, P> const & angles);
-
152 
-
154 }//namespace glm
-
155 
-
156 #include "euler_angles.inl"
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZY(T const &angleZ, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
-
GLM_FUNC_DECL tmat3x3< T, P > orientate3(tvec3< T, P > const &angles)
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).
-
GLM_FUNC_DECL tmat2x2< T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
-
GLM_FUNC_DECL tmat4x4< T, P > orientate4(tvec3< T, P > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYZ(T const &angleY, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
-
GLM_FUNC_DECL T pitch(tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians.
-
GLM_FUNC_DECL T roll(tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYXZ(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > yawPitchRoll(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
-
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
-
GLM_FUNC_DECL T yaw(tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians.
+
93  template <typename genType>
+
94  GLM_FUNC_DECL bool epsilonNotEqual(
+
95  genType const & x,
+
96  genType const & y,
+
97  genType const & epsilon);
+
98 
+
100 }//namespace glm
+
101 
+
102 #include "epsilon.inl"
+
GLM_FUNC_DECL bool epsilonNotEqual(genType const &x, genType const &y, genType const &epsilon)
Returns the component-wise comparison of |x - y| >= epsilon.
+
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
GLM_FUNC_DECL bool epsilonEqual(genType const &x, genType const &y, genType const &epsilon)
Returns the component-wise comparison of |x - y| < epsilon.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00021.html b/doc/api/a00021.html index 2edeaaf7..b690e8d7 100644 --- a/doc/api/a00021.html +++ b/doc/api/a00021.html @@ -3,8 +3,8 @@ - -0.9.6: exponential.hpp File Reference + +0.9.7: euler_angles.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
exponential.hpp File Reference
+
euler_angles.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYZ (tmat4x4< T, defaultp > &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultp > orientate2 (T const &angle)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultp > orientate3 (T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orientate3 (tvec3< T, P > const &angles)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientate4 (tvec3< T, P > const &angles)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_euler_angles

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+gtc_half_float (dependence)
-

Definition in file exponential.hpp.

+

Definition in file euler_angles.hpp.

diff --git a/doc/api/a00021_source.html b/doc/api/a00021_source.html index 2d970157..96ff6eba 100644 --- a/doc/api/a00021_source.html +++ b/doc/api/a00021_source.html @@ -3,8 +3,8 @@ - -0.9.6: exponential.hpp Source File + +0.9.7: euler_angles.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
exponential.hpp
+
euler_angles.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
- -
OpenGL Mathematics (glm.g-truc.net)
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_euler_angles extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  template <typename T>
+
60  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleX(
+
61  T const & angleX);
+
62 
+
65  template <typename T>
+
66  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleY(
+
67  T const & angleY);
+
68 
+
71  template <typename T>
+
72  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZ(
+
73  T const & angleZ);
+
74 
+
77  template <typename T>
+
78  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXY(
+
79  T const & angleX,
+
80  T const & angleY);
+
81 
+
84  template <typename T>
+
85  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYX(
+
86  T const & angleY,
+
87  T const & angleX);
+
88 
+
91  template <typename T>
+
92  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXZ(
+
93  T const & angleX,
+
94  T const & angleZ);
+
95 
+
98  template <typename T>
+
99  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZX(
+
100  T const & angle,
+
101  T const & angleX);
+
102 
+
105  template <typename T>
+
106  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYZ(
+
107  T const & angleY,
+
108  T const & angleZ);
+
109 
+
112  template <typename T>
+
113  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZY(
+
114  T const & angleZ,
+
115  T const & angleY);
+
116 
+
119  template <typename T>
+
120  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXYZ(
+
121  T const & t1,
+
122  T const & t2,
+
123  T const & t3);
+
124 
+
127  template <typename T>
+
128  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYXZ(
+
129  T const & yaw,
+
130  T const & pitch,
+
131  T const & roll);
+
132 
+
135  template <typename T>
+
136  GLM_FUNC_DECL tmat4x4<T, defaultp> yawPitchRoll(
+
137  T const & yaw,
+
138  T const & pitch,
+
139  T const & roll);
+
140 
+
143  template <typename T>
+
144  GLM_FUNC_DECL tmat2x2<T, defaultp> orientate2(T const & angle);
+
145 
+
148  template <typename T>
+
149  GLM_FUNC_DECL tmat3x3<T, defaultp> orientate3(T const & angle);
+
150 
+
153  template <typename T, precision P>
+
154  GLM_FUNC_DECL tmat3x3<T, P> orientate3(tvec3<T, P> const & angles);
+
155 
+
158  template <typename T, precision P>
+
159  GLM_FUNC_DECL tmat4x4<T, P> orientate4(tvec3<T, P> const & angles);
+
160 
+
163  template <typename T>
+
164  GLM_FUNC_DECL void extractEulerAngleXYZ(tmat4x4<T, defaultp> & M,
+
165  T & t1,
+
166  T & t2,
+
167  T & t3);
+
168 
+
170 }//namespace glm
+
171 
+
172 #include "euler_angles.inl"
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
+
GLM_FUNC_DECL T pitch(tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians.
+
GLM_FUNC_DECL tmat4x4< T, P > orientate4(tvec3< T, P > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYZ(T const &angleY, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
+
GLM_FUNC_DECL void extractEulerAngleXYZ(tmat4x4< T, defaultp > &M, T &t1, T &t2, T &t3)
Extracts the (X * Y * Z) Euler angles from the rotation matrix M.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZY(T const &angleZ, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).
+
GLM_FUNC_DECL tmat3x3< T, P > orientate3(tvec3< T, P > const &angles)
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).
+
GLM_FUNC_DECL tmat2x2< T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > yawPitchRoll(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).
+
GLM_FUNC_DECL T yaw(tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXYZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z).
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYXZ(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+
GLM_FUNC_DECL T roll(tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians.
diff --git a/doc/api/a00022.html b/doc/api/a00022.html new file mode 100644 index 00000000..d4fca8ea --- /dev/null +++ b/doc/api/a00022.html @@ -0,0 +1,73 @@ + + + + + + +0.9.7: exponential.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.7 +
+
+
+ + + + + +
+
+
+
exponential.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file exponential.hpp.

+
+ + + + diff --git a/doc/api/a00022_source.html b/doc/api/a00022_source.html index b6d10565..7f9c7c35 100644 --- a/doc/api/a00022_source.html +++ b/doc/api/a00022_source.html @@ -3,8 +3,8 @@ - -0.9.6: ext.hpp Source File + +0.9.7: exponential.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
ext.hpp
+
exponential.hpp
-
1 
-
57 #pragma once
-
58 
-
59 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED))
-
60 # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
-
61 # pragma message("GLM: All extensions included (not recommanded)")
-
62 #endif//GLM_MESSAGES
-
63 
-
64 #include "./gtc/bitfield.hpp"
-
65 #include "./gtc/constants.hpp"
-
66 #include "./gtc/epsilon.hpp"
-
67 #include "./gtc/integer.hpp"
-
68 #include "./gtc/matrix_access.hpp"
-
69 #include "./gtc/matrix_integer.hpp"
-
70 #include "./gtc/matrix_inverse.hpp"
- -
72 #include "./gtc/noise.hpp"
-
73 #include "./gtc/packing.hpp"
-
74 #include "./gtc/quaternion.hpp"
-
75 #include "./gtc/random.hpp"
-
76 #include "./gtc/reciprocal.hpp"
-
77 #include "./gtc/round.hpp"
-
78 #include "./gtc/type_precision.hpp"
-
79 #include "./gtc/type_ptr.hpp"
-
80 #include "./gtc/ulp.hpp"
-
81 #include "./gtc/vec1.hpp"
-
82 
- -
84 #include "./gtx/bit.hpp"
-
85 #include "./gtx/closest_point.hpp"
-
86 #include "./gtx/color_space.hpp"
- -
88 #include "./gtx/compatibility.hpp"
-
89 #include "./gtx/component_wise.hpp"
- -
91 #include "./gtx/euler_angles.hpp"
-
92 #include "./gtx/extend.hpp"
- - - - -
97 #include "./gtx/gradient_paint.hpp"
- -
99 #include "./gtx/integer.hpp"
-
100 #include "./gtx/intersect.hpp"
-
101 #include "./gtx/log_base.hpp"
- - - - -
106 #include "./gtx/matrix_query.hpp"
-
107 #include "./gtx/mixed_product.hpp"
-
108 #include "./gtx/norm.hpp"
-
109 #include "./gtx/normal.hpp"
-
110 #include "./gtx/normalize_dot.hpp"
- -
112 #include "./gtx/optimum_pow.hpp"
-
113 #include "./gtx/orthonormalize.hpp"
-
114 #include "./gtx/perpendicular.hpp"
- -
116 #include "./gtx/projection.hpp"
-
117 #include "./gtx/quaternion.hpp"
-
118 #include "./gtx/raw_data.hpp"
-
119 #include "./gtx/rotate_vector.hpp"
-
120 #include "./gtx/spline.hpp"
-
121 #include "./gtx/std_based_type.hpp"
-
122 #if !(GLM_COMPILER & GLM_COMPILER_CUDA)
-
123 # include "./gtx/string_cast.hpp"
-
124 #endif
-
125 #include "./gtx/transform.hpp"
-
126 #include "./gtx/transform2.hpp"
-
127 #include "./gtx/type_aligned.hpp"
-
128 #include "./gtx/vector_angle.hpp"
-
129 #include "./gtx/vector_query.hpp"
-
130 #include "./gtx/wrap.hpp"
-
131 
-
132 #if GLM_HAS_TEMPLATE_ALIASES
- -
134 #endif
-
135 
-
136 #if GLM_HAS_RANGE_FOR
-
137 # include "./gtx/range.hpp"
-
138 #endif
-
139 
-
140 #if GLM_ARCH & GLM_ARCH_SSE2
-
141 # include "./gtx/simd_vec4.hpp"
-
142 # include "./gtx/simd_mat4.hpp"
-
143 #endif
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+Go to the documentation of this file.
1 
+
33 #pragma once
+
34 
+ +
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00023_source.html b/doc/api/a00023_source.html index 5b13ac6d..43858df1 100644 --- a/doc/api/a00023_source.html +++ b/doc/api/a00023_source.html @@ -3,8 +3,8 @@ - -0.9.6: extend.hpp Source File + +0.9.7: ext.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
extend.hpp
+
ext.hpp
-Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_extend extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename genType>
-
59  GLM_FUNC_DECL genType extend(
-
60  genType const & Origin,
-
61  genType const & Source,
-
62  typename genType::value_type const Length);
+
1 
+
57 #pragma once
+
58 
+
59 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED))
+
60 # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
+
61 # pragma message("GLM: All extensions included (not recommanded)")
+
62 #endif//GLM_MESSAGES
63 
-
65 }//namespace glm
-
66 
-
67 #include "extend.inl"
-
GLM_FUNC_DECL genType extend(genType const &Origin, genType const &Source, typename genType::value_type const Length)
Extends of Length the Origin position using the (Source - Origin) direction.
-
Definition: _noise.hpp:39
+
64 #include "./gtc/bitfield.hpp"
+
65 #include "./gtc/constants.hpp"
+
66 #include "./gtc/epsilon.hpp"
+
67 #include "./gtc/integer.hpp"
+
68 #include "./gtc/matrix_access.hpp"
+
69 #include "./gtc/matrix_integer.hpp"
+
70 #include "./gtc/matrix_inverse.hpp"
+ +
72 #include "./gtc/noise.hpp"
+
73 #include "./gtc/packing.hpp"
+
74 #include "./gtc/quaternion.hpp"
+
75 #include "./gtc/random.hpp"
+
76 #include "./gtc/reciprocal.hpp"
+
77 #include "./gtc/round.hpp"
+
78 #include "./gtc/type_precision.hpp"
+
79 #include "./gtc/type_ptr.hpp"
+
80 #include "./gtc/ulp.hpp"
+
81 #include "./gtc/vec1.hpp"
+
82 
+ +
84 #include "./gtx/bit.hpp"
+
85 #include "./gtx/closest_point.hpp"
+
86 #include "./gtx/color_space.hpp"
+ +
88 #include "./gtx/compatibility.hpp"
+
89 #include "./gtx/component_wise.hpp"
+ +
91 #include "./gtx/euler_angles.hpp"
+
92 #include "./gtx/extend.hpp"
+ + + + +
97 #include "./gtx/gradient_paint.hpp"
+ +
99 #include "./gtx/integer.hpp"
+
100 #include "./gtx/intersect.hpp"
+
101 #include "./gtx/log_base.hpp"
+ + + + +
106 #include "./gtx/matrix_query.hpp"
+
107 #include "./gtx/mixed_product.hpp"
+
108 #include "./gtx/norm.hpp"
+
109 #include "./gtx/normal.hpp"
+
110 #include "./gtx/normalize_dot.hpp"
+ +
112 #include "./gtx/optimum_pow.hpp"
+
113 #include "./gtx/orthonormalize.hpp"
+
114 #include "./gtx/perpendicular.hpp"
+ +
116 #include "./gtx/projection.hpp"
+
117 #include "./gtx/quaternion.hpp"
+
118 #include "./gtx/raw_data.hpp"
+
119 #include "./gtx/rotate_vector.hpp"
+
120 #include "./gtx/spline.hpp"
+
121 #include "./gtx/std_based_type.hpp"
+
122 #if !(GLM_COMPILER & GLM_COMPILER_CUDA)
+
123 # include "./gtx/string_cast.hpp"
+
124 #endif
+
125 #include "./gtx/transform.hpp"
+
126 #include "./gtx/transform2.hpp"
+
127 #include "./gtx/type_aligned.hpp"
+
128 #include "./gtx/vector_angle.hpp"
+
129 #include "./gtx/vector_query.hpp"
+
130 #include "./gtx/wrap.hpp"
+
131 
+
132 #if GLM_HAS_TEMPLATE_ALIASES
+ +
134 #endif
+
135 
+
136 #if GLM_HAS_RANGE_FOR
+
137 # include "./gtx/range.hpp"
+
138 #endif
+
139 
+
140 #if GLM_ARCH & GLM_ARCH_SSE2
+
141 # include "./gtx/simd_vec4.hpp"
+
142 # include "./gtx/simd_mat4.hpp"
+
143 #endif
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00024.html b/doc/api/a00024.html index f6891f1f..f7f44b40 100644 --- a/doc/api/a00024.html +++ b/doc/api/a00024.html @@ -3,8 +3,8 @@ - -0.9.6: extented_min_max.hpp File Reference + +0.9.7: extend.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
extented_min_max.hpp File Reference
+
extend.hpp File Reference
@@ -56,63 +56,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_extented_min_max

-
Date
2007-03-14 / 2011-06-07
+

GLM_GTX_extend

+
Date
2006-01-07 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-gtx_half_float (dependence)
+
See also
GLM Core (dependence)
-

Definition in file extented_min_max.hpp.

+

Definition in file extend.hpp.

diff --git a/doc/api/a00024_source.html b/doc/api/a00024_source.html index 8dbd8cdc..ea344a17 100644 --- a/doc/api/a00024_source.html +++ b/doc/api/a00024_source.html @@ -3,8 +3,8 @@ - -0.9.6: extented_min_max.hpp Source File + +0.9.7: extend.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
extented_min_max.hpp
+
extend.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename T>
-
60  GLM_FUNC_DECL T min(
-
61  T const & x,
-
62  T const & y,
-
63  T const & z);
-
64 
-
67  template <typename T, template <typename> class C>
-
68  GLM_FUNC_DECL C<T> min(
-
69  C<T> const & x,
-
70  typename C<T>::T const & y,
-
71  typename C<T>::T const & z);
-
72 
-
75  template <typename T, template <typename> class C>
-
76  GLM_FUNC_DECL C<T> min(
-
77  C<T> const & x,
-
78  C<T> const & y,
-
79  C<T> const & z);
-
80 
-
83  template <typename T>
-
84  GLM_FUNC_DECL T min(
-
85  T const & x,
-
86  T const & y,
-
87  T const & z,
-
88  T const & w);
-
89 
-
92  template <typename T, template <typename> class C>
-
93  GLM_FUNC_DECL C<T> min(
-
94  C<T> const & x,
-
95  typename C<T>::T const & y,
-
96  typename C<T>::T const & z,
-
97  typename C<T>::T const & w);
-
98 
-
101  template <typename T, template <typename> class C>
-
102  GLM_FUNC_DECL C<T> min(
-
103  C<T> const & x,
-
104  C<T> const & y,
-
105  C<T> const & z,
-
106  C<T> const & w);
-
107 
-
110  template <typename T>
-
111  GLM_FUNC_DECL T max(
-
112  T const & x,
-
113  T const & y,
-
114  T const & z);
-
115 
-
118  template <typename T, template <typename> class C>
-
119  GLM_FUNC_DECL C<T> max(
-
120  C<T> const & x,
-
121  typename C<T>::T const & y,
-
122  typename C<T>::T const & z);
-
123 
-
126  template <typename T, template <typename> class C>
-
127  GLM_FUNC_DECL C<T> max(
-
128  C<T> const & x,
-
129  C<T> const & y,
-
130  C<T> const & z);
-
131 
-
134  template <typename T>
-
135  GLM_FUNC_DECL T max(
-
136  T const & x,
-
137  T const & y,
-
138  T const & z,
-
139  T const & w);
-
140 
-
143  template <typename T, template <typename> class C>
-
144  GLM_FUNC_DECL C<T> max(
-
145  C<T> const & x,
-
146  typename C<T>::T const & y,
-
147  typename C<T>::T const & z,
-
148  typename C<T>::T const & w);
-
149 
-
152  template <typename T, template <typename> class C>
-
153  GLM_FUNC_DECL C<T> max(
-
154  C<T> const & x,
-
155  C<T> const & y,
-
156  C<T> const & z,
-
157  C<T> const & w);
-
158 
-
160 }//namespace glm
-
161 
-
162 #include "extented_min_max.inl"
-
GLM_FUNC_DECL C< T > max(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
Return the maximum component-wise values of 4 inputs.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL C< T > min(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
Return the minimum component-wise values of 4 inputs.
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_extend extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename genType>
+
59  GLM_FUNC_DECL genType extend(
+
60  genType const & Origin,
+
61  genType const & Source,
+
62  typename genType::value_type const Length);
+
63 
+
65 }//namespace glm
+
66 
+
67 #include "extend.inl"
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType extend(genType const &Origin, genType const &Source, typename genType::value_type const Length)
Extends of Length the Origin position using the (Source - Origin) direction.
diff --git a/doc/api/a00025.html b/doc/api/a00025.html index 4ba975ee..d8974ada 100644 --- a/doc/api/a00025.html +++ b/doc/api/a00025.html @@ -3,8 +3,8 @@ - -0.9.6: fast_exponential.hpp File Reference + +0.9.7: extented_min_max.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
fast_exponential.hpp File Reference
+
extented_min_max.hpp File Reference
@@ -56,63 +56,63 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL T fastExp (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastExp2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp2 (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog2 (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastPow (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_fast_exponential

-
Date
2006-01-09 / 2011-06-07
+

GLM_GTX_extented_min_max

+
Date
2007-03-14 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
gtx_half_float (dependence)
-

Definition in file fast_exponential.hpp.

+

Definition in file extented_min_max.hpp.

diff --git a/doc/api/a00025_source.html b/doc/api/a00025_source.html index 0b823038..495dfcef 100644 --- a/doc/api/a00025_source.html +++ b/doc/api/a00025_source.html @@ -3,8 +3,8 @@ - -0.9.6: fast_exponential.hpp Source File + +0.9.7: extented_min_max.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
fast_exponential.hpp
+
extented_min_max.hpp
Go to the documentation of this file.
1 
@@ -56,63 +56,102 @@
46 #include "../glm.hpp"
47 
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
+
49 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
50 #endif
51 
-
52 namespace glm
+
52 namespace glm
53 {
56 
-
59  template <typename genType>
-
60  GLM_FUNC_DECL genType fastPow(genType x, genType y);
-
61 
-
64  template <typename T, precision P, template <typename, precision> class vecType>
-
65  GLM_FUNC_DECL vecType<T, P> fastPow(vecType<T, P> const & x, vecType<T, P> const & y);
-
66 
-
69  template <typename genTypeT, typename genTypeU>
-
70  GLM_FUNC_DECL genTypeT fastPow(genTypeT x, genTypeU y);
-
71 
-
74  template <typename T, precision P, template <typename, precision> class vecType>
-
75  GLM_FUNC_DECL vecType<T, P> fastPow(vecType<T, P> const & x);
-
76 
-
79  template <typename T>
-
80  GLM_FUNC_DECL T fastExp(T x);
-
81 
-
84  template <typename T, precision P, template <typename, precision> class vecType>
-
85  GLM_FUNC_DECL vecType<T, P> fastExp(vecType<T, P> const & x);
-
86 
-
89  template <typename T>
-
90  GLM_FUNC_DECL T fastLog(T x);
-
91 
-
94  template <typename T, precision P, template <typename, precision> class vecType>
-
95  GLM_FUNC_DECL vecType<T, P> fastLog(vecType<T, P> const & x);
-
96 
-
99  template <typename T>
-
100  GLM_FUNC_DECL T fastExp2(T x);
-
101 
-
104  template <typename T, precision P, template <typename, precision> class vecType>
-
105  GLM_FUNC_DECL vecType<T, P> fastExp2(vecType<T, P> const & x);
-
106 
-
109  template <typename T>
-
110  GLM_FUNC_DECL T fastLog2(T x);
-
111 
-
114  template <typename T, precision P, template <typename, precision> class vecType>
-
115  GLM_FUNC_DECL vecType<T, P> fastLog2(vecType<T, P> const & x);
-
116 
-
118 }//namespace glm
-
119 
-
120 #include "fast_exponential.inl"
-
GLM_FUNC_DECL vecType< T, P > fastLog2(vecType< T, P > const &x)
Faster than the common log2 function but less accurate.
-
GLM_FUNC_DECL vecType< T, P > fastExp2(vecType< T, P > const &x)
Faster than the common exp2 function but less accurate.
-
GLM_FUNC_DECL vecType< T, P > fastPow(vecType< T, P > const &x)
Faster than the common pow function but less accurate.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< T, P > fastLog(vecType< T, P > const &x)
Faster than the common exp2 function but less accurate.
-
GLM_FUNC_DECL vecType< T, P > fastExp(vecType< T, P > const &x)
Faster than the common exp function but less accurate.
+
59  template <typename T>
+
60  GLM_FUNC_DECL T min(
+
61  T const & x,
+
62  T const & y,
+
63  T const & z);
+
64 
+
67  template <typename T, template <typename> class C>
+
68  GLM_FUNC_DECL C<T> min(
+
69  C<T> const & x,
+
70  typename C<T>::T const & y,
+
71  typename C<T>::T const & z);
+
72 
+
75  template <typename T, template <typename> class C>
+
76  GLM_FUNC_DECL C<T> min(
+
77  C<T> const & x,
+
78  C<T> const & y,
+
79  C<T> const & z);
+
80 
+
83  template <typename T>
+
84  GLM_FUNC_DECL T min(
+
85  T const & x,
+
86  T const & y,
+
87  T const & z,
+
88  T const & w);
+
89 
+
92  template <typename T, template <typename> class C>
+
93  GLM_FUNC_DECL C<T> min(
+
94  C<T> const & x,
+
95  typename C<T>::T const & y,
+
96  typename C<T>::T const & z,
+
97  typename C<T>::T const & w);
+
98 
+
101  template <typename T, template <typename> class C>
+
102  GLM_FUNC_DECL C<T> min(
+
103  C<T> const & x,
+
104  C<T> const & y,
+
105  C<T> const & z,
+
106  C<T> const & w);
+
107 
+
110  template <typename T>
+
111  GLM_FUNC_DECL T max(
+
112  T const & x,
+
113  T const & y,
+
114  T const & z);
+
115 
+
118  template <typename T, template <typename> class C>
+
119  GLM_FUNC_DECL C<T> max(
+
120  C<T> const & x,
+
121  typename C<T>::T const & y,
+
122  typename C<T>::T const & z);
+
123 
+
126  template <typename T, template <typename> class C>
+
127  GLM_FUNC_DECL C<T> max(
+
128  C<T> const & x,
+
129  C<T> const & y,
+
130  C<T> const & z);
+
131 
+
134  template <typename T>
+
135  GLM_FUNC_DECL T max(
+
136  T const & x,
+
137  T const & y,
+
138  T const & z,
+
139  T const & w);
+
140 
+
143  template <typename T, template <typename> class C>
+
144  GLM_FUNC_DECL C<T> max(
+
145  C<T> const & x,
+
146  typename C<T>::T const & y,
+
147  typename C<T>::T const & z,
+
148  typename C<T>::T const & w);
+
149 
+
152  template <typename T, template <typename> class C>
+
153  GLM_FUNC_DECL C<T> max(
+
154  C<T> const & x,
+
155  C<T> const & y,
+
156  C<T> const & z,
+
157  C<T> const & w);
+
158 
+
160 }//namespace glm
+
161 
+
162 #include "extented_min_max.inl"
+
GLM_FUNC_DECL C< T > max(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
Return the maximum component-wise values of 4 inputs.
+
GLM_FUNC_DECL C< T > min(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
Return the minimum component-wise values of 4 inputs.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00026.html b/doc/api/a00026.html index a834b7c8..2de7c62f 100644 --- a/doc/api/a00026.html +++ b/doc/api/a00026.html @@ -3,8 +3,8 @@ - -0.9.6: fast_square_root.hpp File Reference + +0.9.7: fast_exponential.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
fast_square_root.hpp File Reference
+
fast_exponential.hpp File Reference
@@ -56,52 +56,63 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastDistance (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastInverseSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastLength (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastSqrt (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastExp (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastExp2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp2 (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog2 (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastPow (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_fast_square_root

-
Date
2006-01-04 / 2011-06-07
+

GLM_GTX_fast_exponential

+
Date
2006-01-09 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+gtx_half_float (dependence)
-

Definition in file fast_square_root.hpp.

+

Definition in file fast_exponential.hpp.

diff --git a/doc/api/a00026_source.html b/doc/api/a00026_source.html index 260e3522..1d11cddf 100644 --- a/doc/api/a00026_source.html +++ b/doc/api/a00026_source.html @@ -3,8 +3,8 @@ - -0.9.6: fast_square_root.hpp Source File + +0.9.7: fast_exponential.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
fast_square_root.hpp
+
fast_exponential.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
-
45 
-
46 // Dependency:
-
47 #include "../common.hpp"
-
48 #include "../exponential.hpp"
-
49 #include "../geometric.hpp"
-
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
52 # pragma message("GLM: GLM_GTX_fast_square_root extension included")
-
53 #endif
-
54 
-
55 namespace glm
-
56 {
-
59 
-
63  template <typename genType>
-
64  GLM_FUNC_DECL genType fastSqrt(genType x);
-
65 
-
69  template <typename T, precision P, template <typename, precision> class vecType>
-
70  GLM_FUNC_DECL vecType<T, P> fastSqrt(vecType<T, P> const & x);
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  template <typename genType>
+
60  GLM_FUNC_DECL genType fastPow(genType x, genType y);
+
61 
+
64  template <typename T, precision P, template <typename, precision> class vecType>
+
65  GLM_FUNC_DECL vecType<T, P> fastPow(vecType<T, P> const & x, vecType<T, P> const & y);
+
66 
+
69  template <typename genTypeT, typename genTypeU>
+
70  GLM_FUNC_DECL genTypeT fastPow(genTypeT x, genTypeU y);
71 
-
75  template <typename genType>
-
76  GLM_FUNC_DECL genType fastInverseSqrt(genType x);
-
77 
-
81  template <typename T, precision P, template <typename, precision> class vecType>
-
82  GLM_FUNC_DECL vecType<T, P> fastInverseSqrt(vecType<T, P> const & x);
-
83 
-
87  template <typename genType>
-
88  GLM_FUNC_DECL genType fastLength(genType x);
-
89 
-
93  template <typename T, precision P, template <typename, precision> class vecType>
-
94  GLM_FUNC_DECL T fastLength(vecType<T, P> const & x);
-
95 
-
99  template <typename genType>
-
100  GLM_FUNC_DECL genType fastDistance(genType x, genType y);
+
74  template <typename T, precision P, template <typename, precision> class vecType>
+
75  GLM_FUNC_DECL vecType<T, P> fastPow(vecType<T, P> const & x);
+
76 
+
79  template <typename T>
+
80  GLM_FUNC_DECL T fastExp(T x);
+
81 
+
84  template <typename T, precision P, template <typename, precision> class vecType>
+
85  GLM_FUNC_DECL vecType<T, P> fastExp(vecType<T, P> const & x);
+
86 
+
89  template <typename T>
+
90  GLM_FUNC_DECL T fastLog(T x);
+
91 
+
94  template <typename T, precision P, template <typename, precision> class vecType>
+
95  GLM_FUNC_DECL vecType<T, P> fastLog(vecType<T, P> const & x);
+
96 
+
99  template <typename T>
+
100  GLM_FUNC_DECL T fastExp2(T x);
101 
-
105  template <typename T, precision P, template <typename, precision> class vecType>
-
106  GLM_FUNC_DECL T fastDistance(vecType<T, P> const & x, vecType<T, P> const & y);
-
107 
-
111  template <typename genType>
-
112  GLM_FUNC_DECL genType fastNormalize(genType const & x);
-
113 
-
115 }// namespace glm
+
104  template <typename T, precision P, template <typename, precision> class vecType>
+
105  GLM_FUNC_DECL vecType<T, P> fastExp2(vecType<T, P> const & x);
+
106 
+
109  template <typename T>
+
110  GLM_FUNC_DECL T fastLog2(T x);
+
111 
+
114  template <typename T, precision P, template <typename, precision> class vecType>
+
115  GLM_FUNC_DECL vecType<T, P> fastLog2(vecType<T, P> const & x);
116 
-
117 #include "fast_square_root.inl"
-
GLM_FUNC_DECL T fastLength(vecType< T, P > const &x)
Faster than the common length function but less accurate.
-
GLM_FUNC_DECL vecType< T, P > fastSqrt(vecType< T, P > const &x)
Faster than the common sqrt function but less accurate.
-
GLM_FUNC_DECL T fastDistance(vecType< T, P > const &x, vecType< T, P > const &y)
Faster than the common distance function but less accurate.
-
GLM_FUNC_DECL genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< T, P > fastInverseSqrt(vecType< T, P > const &x)
Faster than the common inversesqrt function but less accurate.
+
118 }//namespace glm
+
119 
+
120 #include "fast_exponential.inl"
+
GLM_FUNC_DECL vecType< T, P > fastLog(vecType< T, P > const &x)
Faster than the common exp2 function but less accurate.
+
GLM_FUNC_DECL vecType< T, P > fastPow(vecType< T, P > const &x)
Faster than the common pow function but less accurate.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< T, P > fastExp(vecType< T, P > const &x)
Faster than the common exp function but less accurate.
+
GLM_FUNC_DECL vecType< T, P > fastLog2(vecType< T, P > const &x)
Faster than the common log2 function but less accurate.
+
GLM_FUNC_DECL vecType< T, P > fastExp2(vecType< T, P > const &x)
Faster than the common exp2 function but less accurate.
diff --git a/doc/api/a00027.html b/doc/api/a00027.html index d10e0ef9..ceb17552 100644 --- a/doc/api/a00027.html +++ b/doc/api/a00027.html @@ -3,8 +3,8 @@ - -0.9.6: fast_trigonometry.hpp File Reference + +0.9.7: fast_square_root.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
fast_trigonometry.hpp File Reference
+
fast_square_root.hpp File Reference
@@ -56,49 +56,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL T fastAcos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAsin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T y, T x)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastCos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastSin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastTan (T angle)
 
template<typename T >
GLM_FUNC_DECL T wrapAngle (T angle)
 
template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastDistance (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastInverseSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastLength (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastSqrt (vecType< T, P > const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_fast_trigonometry

-
Date
2006-01-08 / 2011-06-07
+

GLM_GTX_fast_square_root

+
Date
2006-01-04 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file fast_trigonometry.hpp.

+

Definition in file fast_square_root.hpp.

diff --git a/doc/api/a00027_source.html b/doc/api/a00027_source.html index 968720bd..dcced692 100644 --- a/doc/api/a00027_source.html +++ b/doc/api/a00027_source.html @@ -3,8 +3,8 @@ - -0.9.6: fast_trigonometry.hpp Source File + +0.9.7: fast_square_root.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
fast_trigonometry.hpp
+
fast_square_root.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../gtc/constants.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
-
49 #endif
+
44 #pragma once
+
45 
+
46 // Dependency:
+
47 #include "../common.hpp"
+
48 #include "../exponential.hpp"
+
49 #include "../geometric.hpp"
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename T>
-
59  GLM_FUNC_DECL T wrapAngle(T angle);
-
60 
-
63  template <typename T>
-
64  GLM_FUNC_DECL T fastSin(T angle);
+
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
52 # pragma message("GLM: GLM_GTX_fast_square_root extension included")
+
53 #endif
+
54 
+
55 namespace glm
+
56 {
+
59 
+
63  template <typename genType>
+
64  GLM_FUNC_DECL genType fastSqrt(genType x);
65 
-
68  template <typename T>
-
69  GLM_FUNC_DECL T fastCos(T angle);
-
70 
-
74  template <typename T>
-
75  GLM_FUNC_DECL T fastTan(T angle);
-
76 
-
80  template <typename T>
-
81  GLM_FUNC_DECL T fastAsin(T angle);
-
82 
-
86  template <typename T>
-
87  GLM_FUNC_DECL T fastAcos(T angle);
-
88 
-
92  template <typename T>
-
93  GLM_FUNC_DECL T fastAtan(T y, T x);
-
94 
-
98  template <typename T>
-
99  GLM_FUNC_DECL T fastAtan(T angle);
-
100 
-
102 }//namespace glm
-
103 
-
104 #include "fast_trigonometry.inl"
-
GLM_FUNC_DECL T fastSin(T angle)
Faster than the common sin function but less accurate.
-
GLM_FUNC_DECL T fastCos(T angle)
Faster than the common cos function but less accurate.
-
GLM_FUNC_DECL T fastAsin(T angle)
Faster than the common asin function but less accurate.
-
GLM_FUNC_DECL T fastTan(T angle)
Faster than the common tan function but less accurate.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL T fastAtan(T angle)
Faster than the common atan function but less accurate.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL T wrapAngle(T angle)
Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension.
-
GLM_FUNC_DECL T fastAcos(T angle)
Faster than the common acos function but less accurate.
+
69  template <typename T, precision P, template <typename, precision> class vecType>
+
70  GLM_FUNC_DECL vecType<T, P> fastSqrt(vecType<T, P> const & x);
+
71 
+
75  template <typename genType>
+
76  GLM_FUNC_DECL genType fastInverseSqrt(genType x);
+
77 
+
81  template <typename T, precision P, template <typename, precision> class vecType>
+
82  GLM_FUNC_DECL vecType<T, P> fastInverseSqrt(vecType<T, P> const & x);
+
83 
+
87  template <typename genType>
+
88  GLM_FUNC_DECL genType fastLength(genType x);
+
89 
+
93  template <typename T, precision P, template <typename, precision> class vecType>
+
94  GLM_FUNC_DECL T fastLength(vecType<T, P> const & x);
+
95 
+
99  template <typename genType>
+
100  GLM_FUNC_DECL genType fastDistance(genType x, genType y);
+
101 
+
105  template <typename T, precision P, template <typename, precision> class vecType>
+
106  GLM_FUNC_DECL T fastDistance(vecType<T, P> const & x, vecType<T, P> const & y);
+
107 
+
111  template <typename genType>
+
112  GLM_FUNC_DECL genType fastNormalize(genType const & x);
+
113 
+
115 }// namespace glm
+
116 
+
117 #include "fast_square_root.inl"
+
GLM_FUNC_DECL vecType< T, P > fastSqrt(vecType< T, P > const &x)
Faster than the common sqrt function but less accurate.
+
GLM_FUNC_DECL T fastLength(vecType< T, P > const &x)
Faster than the common length function but less accurate.
+
GLM_FUNC_DECL T fastDistance(vecType< T, P > const &x, vecType< T, P > const &y)
Faster than the common distance function but less accurate.
+
GLM_FUNC_DECL vecType< T, P > fastInverseSqrt(vecType< T, P > const &x)
Faster than the common inversesqrt function but less accurate.
+
GLM_FUNC_DECL genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00028.html b/doc/api/a00028.html index 9df55aed..7e007d77 100644 --- a/doc/api/a00028.html +++ b/doc/api/a00028.html @@ -3,8 +3,8 @@ - -0.9.6: func_common.hpp File Reference + +0.9.7: fast_trigonometry.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_common.hpp File Reference
+
fast_trigonometry.hpp File Reference
@@ -56,120 +56,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType abs (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceil (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType x, genType minVal, genType maxVal)
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< int, P > floatBitsToInt (vecType< float, P > const &v)
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint (vecType< float, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floor (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType frexp (genType const &x, genIType &exp)
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > intBitsToFloat (vecType< int, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isinf (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isnan (vecType< T, P > const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType ldexp (genType const &x, genIType const &exp)
 
template<typename genType >
GLM_FUNC_DECL genType max (genType x, genType y)
 
template<typename genType >
GLM_FUNC_DECL genType min (genType x, genType y)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mix (vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > round (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundEven (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T edge, vecType< T, P > const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (vecType< T, P > const &edge, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > trunc (vecType< T, P > const &x)
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat (vecType< uint, P > const &v)
 
template<typename T >
GLM_FUNC_DECL T fastAcos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAsin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T y, T x)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastCos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastSin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastTan (T angle)
 
template<typename T >
GLM_FUNC_DECL T wrapAngle (T angle)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-03-08 / 2010-01-26
+

GLM_GTX_fast_trigonometry

+
Date
2006-01-08 / 2011-06-07
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.3 Common Functions
+
See also
GLM Core (dependence)
-

Definition in file func_common.hpp.

+

Definition in file fast_trigonometry.hpp.

diff --git a/doc/api/a00028_source.html b/doc/api/a00028_source.html index 9f97e376..e37c39eb 100644 --- a/doc/api/a00028_source.html +++ b/doc/api/a00028_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_common.hpp Source File + +0.9.7: fast_trigonometry.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_common.hpp
+
fast_trigonometry.hpp
Go to the documentation of this file.
1 
-
40 #pragma once
-
41 
-
42 #include "setup.hpp"
-
43 #include "precision.hpp"
-
44 #include "type_int.hpp"
-
45 #include "_fixes.hpp"
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../gtc/constants.hpp"
46 
-
47 namespace glm
-
48 {
-
51 
-
58  template <typename genType>
-
59  GLM_FUNC_DECL genType abs(genType x);
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename T>
+
59  GLM_FUNC_DECL T wrapAngle(T angle);
60 
-
61  template <typename T, precision P, template <typename, precision> class vecType>
-
62  GLM_FUNC_DECL vecType<T, P> abs(vecType<T, P> const & x);
-
63 
-
70  template <typename T, precision P, template <typename, precision> class vecType>
-
71  GLM_FUNC_DECL vecType<T, P> sign(vecType<T, P> const & x);
-
72 
-
79  template <typename T, precision P, template <typename, precision> class vecType>
-
80  GLM_FUNC_DECL vecType<T, P> floor(vecType<T, P> const & x);
-
81 
-
89  template <typename T, precision P, template <typename, precision> class vecType>
-
90  GLM_FUNC_DECL vecType<T, P> trunc(vecType<T, P> const & x);
-
91 
-
102  template <typename T, precision P, template <typename, precision> class vecType>
-
103  GLM_FUNC_DECL vecType<T, P> round(vecType<T, P> const & x);
-
104 
-
114  template <typename T, precision P, template <typename, precision> class vecType>
-
115  GLM_FUNC_DECL vecType<T, P> roundEven(vecType<T, P> const & x);
-
116 
-
124  template <typename T, precision P, template <typename, precision> class vecType>
-
125  GLM_FUNC_DECL vecType<T, P> ceil(vecType<T, P> const & x);
-
126 
-
133  template <typename genType>
-
134  GLM_FUNC_DECL genType fract(genType x);
-
135 
-
136  template <typename T, precision P, template <typename, precision> class vecType>
-
137  GLM_FUNC_DECL vecType<T, P> fract(vecType<T, P> const & x);
-
138 
-
146  template <typename genType>
-
147  GLM_FUNC_DECL genType mod(genType x, genType y);
-
148 
-
149  template <typename T, precision P, template <typename, precision> class vecType>
-
150  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, T y);
-
151 
-
152  template <typename T, precision P, template <typename, precision> class vecType>
-
153  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, vecType<T, P> const & y);
-
154 
-
164  template <typename genType>
-
165  GLM_FUNC_DECL genType modf(genType x, genType & i);
-
166 
-
173  template <typename genType>
-
174  GLM_FUNC_DECL genType min(genType x, genType y);
-
175 
-
176  template <typename T, precision P, template <typename, precision> class vecType>
-
177  GLM_FUNC_DECL vecType<T, P> min(vecType<T, P> const & x, T y);
-
178 
-
179  template <typename T, precision P, template <typename, precision> class vecType>
-
180  GLM_FUNC_DECL vecType<T, P> min(vecType<T, P> const & x, vecType<T, P> const & y);
-
181 
-
188  template <typename genType>
-
189  GLM_FUNC_DECL genType max(genType x, genType y);
-
190 
-
191  template <typename T, precision P, template <typename, precision> class vecType>
-
192  GLM_FUNC_DECL vecType<T, P> max(vecType<T, P> const & x, T y);
-
193 
-
194  template <typename T, precision P, template <typename, precision> class vecType>
-
195  GLM_FUNC_DECL vecType<T, P> max(vecType<T, P> const & x, vecType<T, P> const & y);
-
196 
-
204  template <typename genType>
-
205  GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal);
-
206 
-
207  template <typename T, precision P, template <typename, precision> class vecType>
-
208  GLM_FUNC_DECL vecType<T, P> clamp(vecType<T, P> const & x, T minVal, T maxVal);
-
209 
-
210  template <typename T, precision P, template <typename, precision> class vecType>
-
211  GLM_FUNC_DECL vecType<T, P> clamp(vecType<T, P> const & x, vecType<T, P> const & minVal, vecType<T, P> const & maxVal);
-
212 
-
255  template <typename T, typename U, precision P, template <typename, precision> class vecType>
-
256  GLM_FUNC_DECL vecType<T, P> mix(vecType<T, P> const & x, vecType<T, P> const & y, vecType<U, P> const & a);
-
257 
-
258  template <typename T, typename U, precision P, template <typename, precision> class vecType>
-
259  GLM_FUNC_DECL vecType<T, P> mix(vecType<T, P> const & x, vecType<T, P> const & y, U a);
-
260 
-
261  template <typename genTypeT, typename genTypeU>
-
262  GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
-
263 
-
268  template <typename genType>
-
269  GLM_FUNC_DECL genType step(genType edge, genType x);
-
270 
-
275  template <template <typename, precision> class vecType, typename T, precision P>
-
276  GLM_FUNC_DECL vecType<T, P> step(T edge, vecType<T, P> const & x);
-
277 
-
282  template <template <typename, precision> class vecType, typename T, precision P>
-
283  GLM_FUNC_DECL vecType<T, P> step(vecType<T, P> const & edge, vecType<T, P> const & x);
-
284 
-
299  template <typename genType>
-
300  GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x);
-
301 
-
302  template <typename T, precision P, template <typename, precision> class vecType>
-
303  GLM_FUNC_DECL vecType<T, P> smoothstep(T edge0, T edge1, vecType<T, P> const & x);
-
304 
-
305  template <typename T, precision P, template <typename, precision> class vecType>
-
306  GLM_FUNC_DECL vecType<T, P> smoothstep(vecType<T, P> const & edge0, vecType<T, P> const & edge1, vecType<T, P> const & x);
-
307 
-
320  template <typename T, precision P, template <typename, precision> class vecType>
-
321  GLM_FUNC_DECL vecType<bool, P> isnan(vecType<T, P> const & x);
-
322 
-
333  template <typename T, precision P, template <typename, precision> class vecType>
-
334  GLM_FUNC_DECL vecType<bool, P> isinf(vecType<T, P> const & x);
-
335 
-
342  GLM_FUNC_DECL int floatBitsToInt(float const & v);
-
343 
-
350  template <template <typename, precision> class vecType, precision P>
-
351  GLM_FUNC_DECL vecType<int, P> floatBitsToInt(vecType<float, P> const & v);
-
352 
-
359  GLM_FUNC_DECL uint floatBitsToUint(float const & v);
-
360 
-
367  template <template <typename, precision> class vecType, precision P>
-
368  GLM_FUNC_DECL vecType<uint, P> floatBitsToUint(vecType<float, P> const & v);
-
369 
-
378  GLM_FUNC_DECL float intBitsToFloat(int const & v);
-
379 
-
388  template <template <typename, precision> class vecType, precision P>
-
389  GLM_FUNC_DECL vecType<float, P> intBitsToFloat(vecType<int, P> const & v);
-
390 
-
399  GLM_FUNC_DECL float uintBitsToFloat(uint const & v);
-
400 
-
409  template <template <typename, precision> class vecType, precision P>
-
410  GLM_FUNC_DECL vecType<float, P> uintBitsToFloat(vecType<uint, P> const & v);
-
411 
-
418  template <typename genType>
-
419  GLM_FUNC_DECL genType fma(genType const & a, genType const & b, genType const & c);
-
420 
-
435  template <typename genType, typename genIType>
-
436  GLM_FUNC_DECL genType frexp(genType const & x, genIType & exp);
-
437 
-
449  template <typename genType, typename genIType>
-
450  GLM_FUNC_DECL genType ldexp(genType const & x, genIType const & exp);
-
451 
-
453 }//namespace glm
-
454 
-
455 #include "func_common.inl"
-
456 
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< bool, P > isnan(vecType< T, P > const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...
-
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat(vecType< uint, P > const &v)
Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...
-
GLM_FUNC_DECL vecType< T, P > trunc(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...
-
GLM_FUNC_DECL vecType< T, P > floor(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
-
GLM_FUNC_DECL vecType< int, P > floatBitsToInt(vecType< float, P > const &v)
Returns a signed integer value representing the encoding of a floating-point value.
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:306
-
GLM_FUNC_DECL genType min(genType x, genType y)
Returns y if y < x; otherwise, it returns x.
-
GLM_FUNC_DECL genType frexp(genType const &x, genIType &exp)
Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...
-
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint(vecType< float, P > const &v)
Returns a unsigned integer value representing the encoding of a floating-point value.
-
GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
-
GLM_FUNC_DECL vecType< bool, P > isinf(vecType< T, P > const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
-
GLM_FUNC_DECL genType fract(genType x)
Return x - floor(x).
-
GLM_FUNC_DECL vecType< T, P > exp(vecType< T, P > const &v)
Returns the natural exponentiation of x, i.e., e^x.
-
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
-
GLM_FUNC_DECL genType modf(genType x, genType &i)
Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...
-
GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
-
GLM_FUNC_DECL vecType< float, P > intBitsToFloat(vecType< int, P > const &v)
Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...
-
GLM_FUNC_DECL genType max(genType x, genType y)
Returns y if x < y; otherwise, it returns x.
-
GLM_FUNC_DECL vecType< T, P > mod(vecType< T, P > const &x, vecType< T, P > const &y)
Modulus.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType abs(genType x)
Returns x if x >= 0; otherwise, it returns -x.
-
GLM_FUNC_DECL vecType< T, P > roundEven(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x.
-
GLM_FUNC_DECL vecType< T, P > sign(vecType< T, P > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
-
GLM_FUNC_DECL vecType< T, P > ceil(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
-
GLM_FUNC_DECL genType ldexp(genType const &x, genIType const &exp)
Builds a floating-point number from x and the corresponding integral exponent of two in exp...
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< T, P > step(vecType< T, P > const &edge, vecType< T, P > const &x)
Returns 0.0 if x < edge, otherwise it returns 1.0.
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< T, P > round(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x.
+
63  template <typename T>
+
64  GLM_FUNC_DECL T fastSin(T angle);
+
65 
+
68  template <typename T>
+
69  GLM_FUNC_DECL T fastCos(T angle);
+
70 
+
74  template <typename T>
+
75  GLM_FUNC_DECL T fastTan(T angle);
+
76 
+
80  template <typename T>
+
81  GLM_FUNC_DECL T fastAsin(T angle);
+
82 
+
86  template <typename T>
+
87  GLM_FUNC_DECL T fastAcos(T angle);
+
88 
+
92  template <typename T>
+
93  GLM_FUNC_DECL T fastAtan(T y, T x);
+
94 
+
98  template <typename T>
+
99  GLM_FUNC_DECL T fastAtan(T angle);
+
100 
+
102 }//namespace glm
+
103 
+
104 #include "fast_trigonometry.inl"
+
GLM_FUNC_DECL T fastAtan(T angle)
Faster than the common atan function but less accurate.
+
GLM_FUNC_DECL T fastAcos(T angle)
Faster than the common acos function but less accurate.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T fastCos(T angle)
Faster than the common cos function but less accurate.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL T fastSin(T angle)
Faster than the common sin function but less accurate.
+
GLM_FUNC_DECL T wrapAngle(T angle)
Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension.
+
GLM_FUNC_DECL T fastAsin(T angle)
Faster than the common asin function but less accurate.
+
GLM_FUNC_DECL T fastTan(T angle)
Faster than the common tan function but less accurate.
diff --git a/doc/api/a00029.html b/doc/api/a00029.html index 3f118a2f..3cfde3bc 100644 --- a/doc/api/a00029.html +++ b/doc/api/a00029.html @@ -3,8 +3,8 @@ - -0.9.6: func_exponential.hpp File Reference + +0.9.7: func_common.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_exponential.hpp File Reference
+
func_common.hpp File Reference
@@ -56,46 +56,120 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > inversesqrt (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > pow (vecType< T, P > const &base, vecType< T, P > const &exponent)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sqrt (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType abs (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceil (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType x, genType minVal, genType maxVal)
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< int, P > floatBitsToInt (vecType< float, P > const &v)
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint (vecType< float, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floor (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType frexp (genType const &x, genIType &exp)
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > intBitsToFloat (vecType< int, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isinf (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isnan (vecType< T, P > const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType ldexp (genType const &x, genIType const &exp)
 
template<typename genType >
GLM_FUNC_DECL genType max (genType x, genType y)
 
template<typename genType >
GLM_FUNC_DECL genType min (genType x, genType y)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mix (vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > round (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundEven (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T edge, vecType< T, P > const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (vecType< T, P > const &edge, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > trunc (vecType< T, P > const &x)
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat (vecType< uint, P > const &v)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-08 / 2011-06-14
+

GLM Core

+
Date
2008-03-08 / 2010-01-26
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.2 Exponential Functions
+
See also
GLSL 4.20.8 specification, section 8.3 Common Functions
-

Definition in file func_exponential.hpp.

+

Definition in file func_common.hpp.

diff --git a/doc/api/a00029_source.html b/doc/api/a00029_source.html index 74ef660d..7dec686e 100644 --- a/doc/api/a00029_source.html +++ b/doc/api/a00029_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_exponential.hpp Source File + +0.9.7: func_common.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_exponential.hpp
+
func_common.hpp
Go to the documentation of this file.
1 
40 #pragma once
41 
-
42 #include "type_vec1.hpp"
-
43 #include "type_vec2.hpp"
-
44 #include "type_vec3.hpp"
-
45 #include "type_vec4.hpp"
-
46 #include <cmath>
-
47 
-
48 namespace glm
-
49 {
-
52 
+
42 #include "setup.hpp"
+
43 #include "precision.hpp"
+
44 #include "type_int.hpp"
+
45 #include "_fixes.hpp"
+
46 
+
47 namespace glm
+
48 {
+
51 
+
58  template <typename genType>
+
59  GLM_FUNC_DECL genType abs(genType x);
+
60 
61  template <typename T, precision P, template <typename, precision> class vecType>
-
62  GLM_FUNC_DECL vecType<T, P> pow(vecType<T, P> const & base, vecType<T, P> const & exponent);
+
62  GLM_FUNC_DECL vecType<T, P> abs(vecType<T, P> const & x);
63 
-
71  template <typename T, precision P, template <typename, precision> class vecType>
-
72  GLM_FUNC_DECL vecType<T, P> exp(vecType<T, P> const & v);
-
73 
-
83  template <typename T, precision P, template <typename, precision> class vecType>
-
84  GLM_FUNC_DECL vecType<T, P> log(vecType<T, P> const & v);
-
85 
-
93  template <typename T, precision P, template <typename, precision> class vecType>
-
94  GLM_FUNC_DECL vecType<T, P> exp2(vecType<T, P> const & v);
-
95 
-
104  template <typename T, precision P, template <typename, precision> class vecType>
-
105  GLM_FUNC_DECL vecType<T, P> log2(vecType<T, P> const & v);
-
106 
-
114  //template <typename genType>
-
115  //GLM_FUNC_DECL genType sqrt(genType const & x);
-
116  template <typename T, precision P, template <typename, precision> class vecType>
-
117  GLM_FUNC_DECL vecType<T, P> sqrt(vecType<T, P> const & v);
-
118 
-
126  template <typename T, precision P, template <typename, precision> class vecType>
-
127  GLM_FUNC_DECL vecType<T, P> inversesqrt(vecType<T, P> const & v);
-
128 
-
130 }//namespace glm
-
131 
-
132 #include "func_exponential.inl"
-
GLM_FUNC_DECL vecType< T, P > inversesqrt(vecType< T, P > const &v)
Returns the reciprocal of the positive square root of v.
-
GLM_FUNC_DECL vecType< T, P > pow(vecType< T, P > const &base, vecType< T, P > const &exponent)
Returns 'base' raised to the power 'exponent'.
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< T, P > log(vecType< T, P > const &v)
Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y...
-
GLM_FUNC_DECL vecType< T, P > exp(vecType< T, P > const &v)
Returns the natural exponentiation of x, i.e., e^x.
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< T, P > exp2(vecType< T, P > const &v)
Returns 2 raised to the v power.
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< T, P > log2(vecType< T, P > const &v)
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< T, P > sqrt(vecType< T, P > const &v)
Returns the positive square root of v.
+
70  template <typename T, precision P, template <typename, precision> class vecType>
+
71  GLM_FUNC_DECL vecType<T, P> sign(vecType<T, P> const & x);
+
72 
+
79  template <typename T, precision P, template <typename, precision> class vecType>
+
80  GLM_FUNC_DECL vecType<T, P> floor(vecType<T, P> const & x);
+
81 
+
89  template <typename T, precision P, template <typename, precision> class vecType>
+
90  GLM_FUNC_DECL vecType<T, P> trunc(vecType<T, P> const & x);
+
91 
+
102  template <typename T, precision P, template <typename, precision> class vecType>
+
103  GLM_FUNC_DECL vecType<T, P> round(vecType<T, P> const & x);
+
104 
+
114  template <typename T, precision P, template <typename, precision> class vecType>
+
115  GLM_FUNC_DECL vecType<T, P> roundEven(vecType<T, P> const & x);
+
116 
+
124  template <typename T, precision P, template <typename, precision> class vecType>
+
125  GLM_FUNC_DECL vecType<T, P> ceil(vecType<T, P> const & x);
+
126 
+
133  template <typename genType>
+
134  GLM_FUNC_DECL genType fract(genType x);
+
135 
+
136  template <typename T, precision P, template <typename, precision> class vecType>
+
137  GLM_FUNC_DECL vecType<T, P> fract(vecType<T, P> const & x);
+
138 
+
146  template <typename genType>
+
147  GLM_FUNC_DECL genType mod(genType x, genType y);
+
148 
+
149  template <typename T, precision P, template <typename, precision> class vecType>
+
150  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, T y);
+
151 
+
152  template <typename T, precision P, template <typename, precision> class vecType>
+
153  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, vecType<T, P> const & y);
+
154 
+
164  template <typename genType>
+
165  GLM_FUNC_DECL genType modf(genType x, genType & i);
+
166 
+
173  template <typename genType>
+
174  GLM_FUNC_DECL genType min(genType x, genType y);
+
175 
+
176  template <typename T, precision P, template <typename, precision> class vecType>
+
177  GLM_FUNC_DECL vecType<T, P> min(vecType<T, P> const & x, T y);
+
178 
+
179  template <typename T, precision P, template <typename, precision> class vecType>
+
180  GLM_FUNC_DECL vecType<T, P> min(vecType<T, P> const & x, vecType<T, P> const & y);
+
181 
+
188  template <typename genType>
+
189  GLM_FUNC_DECL genType max(genType x, genType y);
+
190 
+
191  template <typename T, precision P, template <typename, precision> class vecType>
+
192  GLM_FUNC_DECL vecType<T, P> max(vecType<T, P> const & x, T y);
+
193 
+
194  template <typename T, precision P, template <typename, precision> class vecType>
+
195  GLM_FUNC_DECL vecType<T, P> max(vecType<T, P> const & x, vecType<T, P> const & y);
+
196 
+
204  template <typename genType>
+
205  GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal);
+
206 
+
207  template <typename T, precision P, template <typename, precision> class vecType>
+
208  GLM_FUNC_DECL vecType<T, P> clamp(vecType<T, P> const & x, T minVal, T maxVal);
+
209 
+
210  template <typename T, precision P, template <typename, precision> class vecType>
+
211  GLM_FUNC_DECL vecType<T, P> clamp(vecType<T, P> const & x, vecType<T, P> const & minVal, vecType<T, P> const & maxVal);
+
212 
+
255  template <typename T, typename U, precision P, template <typename, precision> class vecType>
+
256  GLM_FUNC_DECL vecType<T, P> mix(vecType<T, P> const & x, vecType<T, P> const & y, vecType<U, P> const & a);
+
257 
+
258  template <typename T, typename U, precision P, template <typename, precision> class vecType>
+
259  GLM_FUNC_DECL vecType<T, P> mix(vecType<T, P> const & x, vecType<T, P> const & y, U a);
+
260 
+
261  template <typename genTypeT, typename genTypeU>
+
262  GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
+
263 
+
268  template <typename genType>
+
269  GLM_FUNC_DECL genType step(genType edge, genType x);
+
270 
+
275  template <template <typename, precision> class vecType, typename T, precision P>
+
276  GLM_FUNC_DECL vecType<T, P> step(T edge, vecType<T, P> const & x);
+
277 
+
282  template <template <typename, precision> class vecType, typename T, precision P>
+
283  GLM_FUNC_DECL vecType<T, P> step(vecType<T, P> const & edge, vecType<T, P> const & x);
+
284 
+
299  template <typename genType>
+
300  GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x);
+
301 
+
302  template <typename T, precision P, template <typename, precision> class vecType>
+
303  GLM_FUNC_DECL vecType<T, P> smoothstep(T edge0, T edge1, vecType<T, P> const & x);
+
304 
+
305  template <typename T, precision P, template <typename, precision> class vecType>
+
306  GLM_FUNC_DECL vecType<T, P> smoothstep(vecType<T, P> const & edge0, vecType<T, P> const & edge1, vecType<T, P> const & x);
+
307 
+
320  template <typename T, precision P, template <typename, precision> class vecType>
+
321  GLM_FUNC_DECL vecType<bool, P> isnan(vecType<T, P> const & x);
+
322 
+
333  template <typename T, precision P, template <typename, precision> class vecType>
+
334  GLM_FUNC_DECL vecType<bool, P> isinf(vecType<T, P> const & x);
+
335 
+
342  GLM_FUNC_DECL int floatBitsToInt(float const & v);
+
343 
+
350  template <template <typename, precision> class vecType, precision P>
+
351  GLM_FUNC_DECL vecType<int, P> floatBitsToInt(vecType<float, P> const & v);
+
352 
+
359  GLM_FUNC_DECL uint floatBitsToUint(float const & v);
+
360 
+
367  template <template <typename, precision> class vecType, precision P>
+
368  GLM_FUNC_DECL vecType<uint, P> floatBitsToUint(vecType<float, P> const & v);
+
369 
+
378  GLM_FUNC_DECL float intBitsToFloat(int const & v);
+
379 
+
388  template <template <typename, precision> class vecType, precision P>
+
389  GLM_FUNC_DECL vecType<float, P> intBitsToFloat(vecType<int, P> const & v);
+
390 
+
399  GLM_FUNC_DECL float uintBitsToFloat(uint const & v);
+
400 
+
409  template <template <typename, precision> class vecType, precision P>
+
410  GLM_FUNC_DECL vecType<float, P> uintBitsToFloat(vecType<uint, P> const & v);
+
411 
+
418  template <typename genType>
+
419  GLM_FUNC_DECL genType fma(genType const & a, genType const & b, genType const & c);
+
420 
+
435  template <typename genType, typename genIType>
+
436  GLM_FUNC_DECL genType frexp(genType const & x, genIType & exp);
+
437 
+
449  template <typename genType, typename genIType>
+
450  GLM_FUNC_DECL genType ldexp(genType const & x, genIType const & exp);
+
451 
+
453 }//namespace glm
+
454 
+
455 #include "func_common.inl"
+
456 
+
GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat(vecType< uint, P > const &v)
Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...
+
GLM_FUNC_DECL vecType< int, P > floatBitsToInt(vecType< float, P > const &v)
Returns a signed integer value representing the encoding of a floating-point value.
+
GLM_FUNC_DECL genType ldexp(genType const &x, genIType const &exp)
Builds a floating-point number from x and the corresponding integral exponent of two in exp...
+
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
+
GLM_FUNC_DECL vecType< T, P > floor(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
+
GLM_FUNC_DECL vecType< bool, P > isnan(vecType< T, P > const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...
+
GLM_FUNC_DECL genType fract(genType x)
Return x - floor(x).
+
GLM_FUNC_DECL vecType< T, P > ceil(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
+
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
+
GLM_FUNC_DECL vecType< T, P > trunc(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...
+
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint(vecType< float, P > const &v)
Returns a unsigned integer value representing the encoding of a floating-point value.
+
GLM_FUNC_DECL vecType< T, P > round(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x.
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:308
+
GLM_FUNC_DECL vecType< T, P > roundEven(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x.
+
GLM_FUNC_DECL genType frexp(genType const &x, genIType &exp)
Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL vecType< T, P > sign(vecType< T, P > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
+
GLM_FUNC_DECL vecType< float, P > intBitsToFloat(vecType< int, P > const &v)
Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...
+
GLM_FUNC_DECL genType max(genType x, genType y)
Returns y if x < y; otherwise, it returns x.
+
GLM_FUNC_DECL vecType< T, P > mod(vecType< T, P > const &x, vecType< T, P > const &y)
Modulus.
+
GLM_FUNC_DECL vecType< T, P > step(vecType< T, P > const &edge, vecType< T, P > const &x)
Returns 0.0 if x < edge, otherwise it returns 1.0.
+
GLM_FUNC_DECL genType abs(genType x)
Returns x if x >= 0; otherwise, it returns -x.
+
GLM_FUNC_DECL genType min(genType x, genType y)
Returns y if y < x; otherwise, it returns x.
+
GLM_FUNC_DECL vecType< bool, P > isinf(vecType< T, P > const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
+
GLM_FUNC_DECL vecType< T, P > exp(vecType< T, P > const &v)
Returns the natural exponentiation of x, i.e., e^x.
+
GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL genType modf(genType x, genType &i)
Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00030.html b/doc/api/a00030.html index 32a2c274..c1cff094 100644 --- a/doc/api/a00030.html +++ b/doc/api/a00030.html @@ -3,8 +3,8 @@ - -0.9.6: func_geometric.hpp File Reference + +0.9.7: func_exponential.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_geometric.hpp File Reference
+
func_exponential.hpp File Reference
@@ -56,49 +56,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T distance (vecType< T, P > const &p0, vecType< T, P > const &p1)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T dot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T length (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > normalize (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType reflect (genType const &I, genType const &N)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > refract (vecType< T, P > const &I, vecType< T, P > const &N, T eta)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > inversesqrt (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > pow (vecType< T, P > const &base, vecType< T, P > const &exponent)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sqrt (vecType< T, P > const &v)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-03 / 2011-06-14
+

GLM Core

+
Date
2008-08-08 / 2011-06-14
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.5 Geometric Functions
+
See also
GLSL 4.20.8 specification, section 8.2 Exponential Functions
-

Definition in file func_geometric.hpp.

+

Definition in file func_exponential.hpp.

diff --git a/doc/api/a00030_source.html b/doc/api/a00030_source.html index 210ebc51..437f34e9 100644 --- a/doc/api/a00030_source.html +++ b/doc/api/a00030_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_geometric.hpp Source File + +0.9.7: func_exponential.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_geometric.hpp
+
func_exponential.hpp
Go to the documentation of this file.
1 
40 #pragma once
41 
-
42 #include "type_vec3.hpp"
-
43 
-
44 namespace glm
-
45 {
-
48 
-
55  template <typename T, precision P, template <typename, precision> class vecType>
-
56  GLM_FUNC_DECL T length(
-
57  vecType<T, P> const & x);
-
58 
-
65  template <typename T, precision P, template <typename, precision> class vecType>
-
66  GLM_FUNC_DECL T distance(
-
67  vecType<T, P> const & p0,
-
68  vecType<T, P> const & p1);
-
69 
-
76  template <typename T, precision P, template <typename, precision> class vecType>
-
77  GLM_FUNC_DECL T dot(
-
78  vecType<T, P> const & x,
-
79  vecType<T, P> const & y);
-
80 
-
87  template <typename T, precision P>
-
88  GLM_FUNC_DECL tvec3<T, P> cross(
-
89  tvec3<T, P> const & x,
-
90  tvec3<T, P> const & y);
-
91 
-
97  template <typename T, precision P, template <typename, precision> class vecType>
-
98  GLM_FUNC_DECL vecType<T, P> normalize(
-
99  vecType<T, P> const & x);
-
100 
-
107  template <typename genType>
-
108  GLM_FUNC_DECL genType faceforward(
-
109  genType const & N,
-
110  genType const & I,
-
111  genType const & Nref);
-
112 
-
120  template <typename genType>
-
121  GLM_FUNC_DECL genType reflect(
-
122  genType const & I,
-
123  genType const & N);
-
124 
-
133  template <typename T, precision P, template <typename, precision> class vecType>
-
134  GLM_FUNC_DECL vecType<T, P> refract(
-
135  vecType<T, P> const & I,
-
136  vecType<T, P> const & N,
-
137  T eta);
-
138 
-
140 }//namespace glm
-
141 
-
142 #include "func_geometric.inl"
-
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
-
GLM_FUNC_DECL genType reflect(genType const &I, genType const &N)
For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...
-
GLM_FUNC_DECL T distance(vecType< T, P > const &p0, vecType< T, P > const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
-
GLM_FUNC_DECL genType faceforward(genType const &N, genType const &I, genType const &Nref)
If dot(Nref, I) < 0.0, return N, otherwise, return -N.
-
GLM_FUNC_DECL T dot(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the dot product of x and y, i.e., result = x * y.
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
GLM_FUNC_DECL vecType< T, P > normalize(vecType< T, P > const &x)
Returns a vector in the same direction as x but with length of 1.
-
GLM_FUNC_DECL tvec3< T, P > cross(tvec3< T, P > const &x, tvec3< T, P > const &y)
Returns the cross product of x and y.
-
Definition: _noise.hpp:39
+
42 #include "type_vec1.hpp"
+
43 #include "type_vec2.hpp"
+
44 #include "type_vec3.hpp"
+
45 #include "type_vec4.hpp"
+
46 #include <cmath>
+
47 
+
48 namespace glm
+
49 {
+
52 
+
61  template <typename T, precision P, template <typename, precision> class vecType>
+
62  GLM_FUNC_DECL vecType<T, P> pow(vecType<T, P> const & base, vecType<T, P> const & exponent);
+
63 
+
71  template <typename T, precision P, template <typename, precision> class vecType>
+
72  GLM_FUNC_DECL vecType<T, P> exp(vecType<T, P> const & v);
+
73 
+
83  template <typename T, precision P, template <typename, precision> class vecType>
+
84  GLM_FUNC_DECL vecType<T, P> log(vecType<T, P> const & v);
+
85 
+
93  template <typename T, precision P, template <typename, precision> class vecType>
+
94  GLM_FUNC_DECL vecType<T, P> exp2(vecType<T, P> const & v);
+
95 
+
104  template <typename T, precision P, template <typename, precision> class vecType>
+
105  GLM_FUNC_DECL vecType<T, P> log2(vecType<T, P> const & v);
+
106 
+
114  //template <typename genType>
+
115  //GLM_FUNC_DECL genType sqrt(genType const & x);
+
116  template <typename T, precision P, template <typename, precision> class vecType>
+
117  GLM_FUNC_DECL vecType<T, P> sqrt(vecType<T, P> const & v);
+
118 
+
126  template <typename T, precision P, template <typename, precision> class vecType>
+
127  GLM_FUNC_DECL vecType<T, P> inversesqrt(vecType<T, P> const & v);
+
128 
+
130 }//namespace glm
+
131 
+
132 #include "func_exponential.inl"
+
GLM_FUNC_DECL vecType< T, P > pow(vecType< T, P > const &base, vecType< T, P > const &exponent)
Returns 'base' raised to the power 'exponent'.
+
GLM_FUNC_DECL vecType< T, P > log(vecType< T, P > const &v)
Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y...
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL vecType< T, P > exp2(vecType< T, P > const &v)
Returns 2 raised to the v power.
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL vecType< T, P > exp(vecType< T, P > const &v)
Returns the natural exponentiation of x, i.e., e^x.
+
GLM_FUNC_DECL vecType< T, P > inversesqrt(vecType< T, P > const &v)
Returns the reciprocal of the positive square root of v.
+
GLM_FUNC_DECL vecType< T, P > sqrt(vecType< T, P > const &v)
Returns the positive square root of v.
+
GLM_FUNC_DECL vecType< T, P > log2(vecType< T, P > const &v)
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00031.html b/doc/api/a00031.html index f3c34b41..c2d5b2b5 100644 --- a/doc/api/a00031.html +++ b/doc/api/a00031.html @@ -3,8 +3,8 @@ - -0.9.6: func_integer.hpp File Reference + +0.9.7: func_geometric.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_integer.hpp File Reference
+
func_geometric.hpp File Reference
@@ -56,64 +56,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > bitCount (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldExtract (vecType< T, P > const &Value, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldInsert (vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldReverse (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findLSB (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findMSB (vecType< T, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void imulExtended (vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > uaddCarry (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &carry)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void umulExtended (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > usubBorrow (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &borrow)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T distance (vecType< T, P > const &p0, vecType< T, P > const &p1)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T dot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > faceforward (vecType< T, P > const &N, vecType< T, P > const &I, vecType< T, P > const &Nref)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T length (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > normalize (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType reflect (genType const &I, genType const &N)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > refract (vecType< T, P > const &I, vecType< T, P > const &N, T eta)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2010-03-17 / 2011-06-18
+

GLM Core

+
Date
2008-08-03 / 2011-06-14
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.8 Integer Functions
+
See also
GLSL 4.20.8 specification, section 8.5 Geometric Functions
-

Definition in file func_integer.hpp.

+

Definition in file func_geometric.hpp.

diff --git a/doc/api/a00031_source.html b/doc/api/a00031_source.html index 31733110..6cdd1af3 100644 --- a/doc/api/a00031_source.html +++ b/doc/api/a00031_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_integer.hpp Source File + +0.9.7: func_geometric.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_integer.hpp
+
func_geometric.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
+
40 #pragma once
+
41 
+
42 #include "type_vec3.hpp"
43 
-
44 #include "setup.hpp"
-
45 #include "precision.hpp"
-
46 #include "func_common.hpp"
- +
44 namespace glm
+
45 {
48 
-
49 namespace glm
-
50 {
-
53 
-
62  template <precision P, template <typename, precision> class vecType>
-
63  GLM_FUNC_DECL vecType<uint, P> uaddCarry(
-
64  vecType<uint, P> const & x,
-
65  vecType<uint, P> const & y,
-
66  vecType<uint, P> & carry);
-
67 
-
76  template <precision P, template <typename, precision> class vecType>
-
77  GLM_FUNC_DECL vecType<uint, P> usubBorrow(
-
78  vecType<uint, P> const & x,
-
79  vecType<uint, P> const & y,
-
80  vecType<uint, P> & borrow);
-
81 
-
90  template <precision P, template <typename, precision> class vecType>
-
91  GLM_FUNC_DECL void umulExtended(
-
92  vecType<uint, P> const & x,
-
93  vecType<uint, P> const & y,
-
94  vecType<uint, P> & msb,
-
95  vecType<uint, P> & lsb);
-
96 
-
105  template <precision P, template <typename, precision> class vecType>
-
106  GLM_FUNC_DECL void imulExtended(
-
107  vecType<int, P> const & x,
-
108  vecType<int, P> const & y,
-
109  vecType<int, P> & msb,
-
110  vecType<int, P> & lsb);
-
111 
-
127  template <typename T, precision P, template <typename, precision> class vecType>
-
128  GLM_FUNC_DECL vecType<T, P> bitfieldExtract(
-
129  vecType<T, P> const & Value,
-
130  int Offset,
-
131  int Bits);
-
132 
-
147  template <typename T, precision P, template <typename, precision> class vecType>
-
148  GLM_FUNC_DECL vecType<T, P> bitfieldInsert(
-
149  vecType<T, P> const & Base,
-
150  vecType<T, P> const & Insert,
-
151  int Offset,
-
152  int Bits);
-
153 
-
162  template <typename T, precision P, template <typename, precision> class vecType>
-
163  GLM_FUNC_DECL vecType<T, P> bitfieldReverse(vecType<T, P> const & v);
-
164 
-
171  template <typename genType>
-
172  GLM_FUNC_DECL int bitCount(genType v);
-
173 
-
180  template <typename T, precision P, template <typename, precision> class vecType>
-
181  GLM_FUNC_DECL vecType<int, P> bitCount(vecType<T, P> const & v);
-
182 
-
191  template <typename genIUType>
-
192  GLM_FUNC_DECL int findLSB(genIUType x);
-
193 
-
202  template <typename T, precision P, template <typename, precision> class vecType>
-
203  GLM_FUNC_DECL vecType<int, P> findLSB(vecType<T, P> const & v);
-
204 
-
214  template <typename genIUType>
-
215  GLM_FUNC_DECL int findMSB(genIUType x);
-
216 
-
226  template <typename T, precision P, template <typename, precision> class vecType>
-
227  GLM_FUNC_DECL vecType<int, P> findMSB(vecType<T, P> const & v);
-
228 
-
230 }//namespace glm
-
231 
-
232 #include "func_integer.inl"
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL void imulExtended(vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
-
GLM_FUNC_DECL vecType< T, P > bitfieldInsert(vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
Returns the insertion the bits least-significant bits of insert into base.
-
GLM_FUNC_DECL vecType< uint, P > usubBorrow(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &borrow)
Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.
-
GLM_FUNC_DECL vecType< int, P > findLSB(vecType< T, P > const &v)
Returns the bit number of the least significant bit set to 1 in the binary representation of value...
-
GLM_FUNC_DECL vecType< int, P > bitCount(vecType< T, P > const &v)
Returns the number of bits set to 1 in the binary representation of value.
-
GLM_FUNC_DECL vecType< uint, P > uaddCarry(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &carry)
Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).
-
GLM_FUNC_DECL vecType< T, P > bitfieldExtract(vecType< T, P > const &Value, int Offset, int Bits)
Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...
-
GLM_FUNC_DECL vecType< T, P > bitfieldReverse(vecType< T, P > const &v)
Returns the reversal of the bits of value.
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< int, P > findMSB(vecType< T, P > const &v)
Returns the bit number of the most significant bit in the binary representation of value...
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL void umulExtended(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
+
55  template <typename T, precision P, template <typename, precision> class vecType>
+
56  GLM_FUNC_DECL T length(
+
57  vecType<T, P> const & x);
+
58 
+
65  template <typename T, precision P, template <typename, precision> class vecType>
+
66  GLM_FUNC_DECL T distance(
+
67  vecType<T, P> const & p0,
+
68  vecType<T, P> const & p1);
+
69 
+
76  template <typename T, precision P, template <typename, precision> class vecType>
+
77  GLM_FUNC_DECL T dot(
+
78  vecType<T, P> const & x,
+
79  vecType<T, P> const & y);
+
80 
+
87  template <typename T, precision P>
+
88  GLM_FUNC_DECL tvec3<T, P> cross(
+
89  tvec3<T, P> const & x,
+
90  tvec3<T, P> const & y);
+
91 
+
97  template <typename T, precision P, template <typename, precision> class vecType>
+
98  GLM_FUNC_DECL vecType<T, P> normalize(
+
99  vecType<T, P> const & x);
+
100 
+
107  template <typename T, precision P, template <typename, precision> class vecType>
+
108  GLM_FUNC_DECL vecType<T, P> faceforward(
+
109  vecType<T, P> const & N,
+
110  vecType<T, P> const & I,
+
111  vecType<T, P> const & Nref);
+
112 
+
120  template <typename genType>
+
121  GLM_FUNC_DECL genType reflect(
+
122  genType const & I,
+
123  genType const & N);
+
124 
+
133  template <typename T, precision P, template <typename, precision> class vecType>
+
134  GLM_FUNC_DECL vecType<T, P> refract(
+
135  vecType<T, P> const & I,
+
136  vecType<T, P> const & N,
+
137  T eta);
+
138 
+
140 }//namespace glm
+
141 
+
142 #include "func_geometric.inl"
+
GLM_FUNC_DECL T distance(vecType< T, P > const &p0, vecType< T, P > const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
+
GLM_FUNC_DECL vecType< T, P > normalize(vecType< T, P > const &x)
Returns a vector in the same direction as x but with length of 1.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType reflect(genType const &I, genType const &N)
For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...
+
GLM_FUNC_DECL vecType< T, P > faceforward(vecType< T, P > const &N, vecType< T, P > const &I, vecType< T, P > const &Nref)
If dot(Nref, I) < 0.0, return N, otherwise, return -N.
+
GLM_FUNC_DECL T dot(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the dot product of x and y, i.e., result = x * y.
+
GLM_FUNC_DECL tvec3< T, P > cross(tvec3< T, P > const &x, tvec3< T, P > const &y)
Returns the cross product of x and y.
diff --git a/doc/api/a00032.html b/doc/api/a00032.html index 0fbe575a..c06dd612 100644 --- a/doc/api/a00032.html +++ b/doc/api/a00032.html @@ -3,8 +3,8 @@ - -0.9.6: func_matrix.hpp File Reference + +0.9.7: func_integer.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_matrix.hpp File Reference
+
func_integer.hpp File Reference
@@ -56,39 +56,64 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL T determinant (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > inverse (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > matrixCompMult (matType< T, P > const &x, matType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecTypeA, template< typename, precision > class vecTypeB>
GLM_FUNC_DECL
-detail::outerProduct_trait< T,
-P, vecTypeA, vecTypeB >::type 
outerProduct (vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
 
template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > bitCount (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldExtract (vecType< T, P > const &Value, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldInsert (vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldReverse (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findLSB (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findMSB (vecType< T, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void imulExtended (vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > uaddCarry (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &carry)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void umulExtended (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > usubBorrow (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &borrow)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-03 / 2011-06-15
+

GLM Core

+
Date
2010-03-17 / 2011-06-18
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.6 Matrix Functions
+
See also
GLSL 4.20.8 specification, section 8.8 Integer Functions
-

Definition in file func_matrix.hpp.

+

Definition in file func_integer.hpp.

diff --git a/doc/api/a00032_source.html b/doc/api/a00032_source.html index 3788eb1f..5b30d62b 100644 --- a/doc/api/a00032_source.html +++ b/doc/api/a00032_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_matrix.hpp Source File + +0.9.7: func_integer.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_matrix.hpp
+
func_integer.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
-
45 
-
46 // Dependencies
-
47 #include "../detail/precision.hpp"
-
48 #include "../detail/setup.hpp"
-
49 #include "../detail/type_mat.hpp"
-
50 #include "../vec2.hpp"
-
51 #include "../vec3.hpp"
-
52 #include "../vec4.hpp"
-
53 #include "../mat2x2.hpp"
-
54 #include "../mat2x3.hpp"
-
55 #include "../mat2x4.hpp"
-
56 #include "../mat3x2.hpp"
-
57 #include "../mat3x3.hpp"
-
58 #include "../mat3x4.hpp"
-
59 #include "../mat4x2.hpp"
-
60 #include "../mat4x3.hpp"
-
61 #include "../mat4x4.hpp"
-
62 
-
63 namespace glm{
-
64 namespace detail
-
65 {
-
66  template <typename T, precision P>
-
67  struct outerProduct_trait<T, P, tvec2, tvec2>
-
68  {
-
69  typedef tmat2x2<T, P> type;
-
70  };
-
71 
-
72  template <typename T, precision P>
-
73  struct outerProduct_trait<T, P, tvec2, tvec3>
-
74  {
-
75  typedef tmat2x3<T, P> type;
-
76  };
-
77 
-
78  template <typename T, precision P>
-
79  struct outerProduct_trait<T, P, tvec2, tvec4>
-
80  {
-
81  typedef tmat2x4<T, P> type;
-
82  };
-
83 
-
84  template <typename T, precision P>
-
85  struct outerProduct_trait<T, P, tvec3, tvec2>
-
86  {
-
87  typedef tmat3x2<T, P> type;
-
88  };
-
89 
-
90  template <typename T, precision P>
-
91  struct outerProduct_trait<T, P, tvec3, tvec3>
-
92  {
-
93  typedef tmat3x3<T, P> type;
-
94  };
-
95 
-
96  template <typename T, precision P>
-
97  struct outerProduct_trait<T, P, tvec3, tvec4>
-
98  {
-
99  typedef tmat3x4<T, P> type;
-
100  };
-
101 
-
102  template <typename T, precision P>
-
103  struct outerProduct_trait<T, P, tvec4, tvec2>
-
104  {
-
105  typedef tmat4x2<T, P> type;
-
106  };
-
107 
-
108  template <typename T, precision P>
-
109  struct outerProduct_trait<T, P, tvec4, tvec3>
-
110  {
-
111  typedef tmat4x3<T, P> type;
-
112  };
-
113 
-
114  template <typename T, precision P>
-
115  struct outerProduct_trait<T, P, tvec4, tvec4>
-
116  {
-
117  typedef tmat4x4<T, P> type;
-
118  };
-
119 
-
120 }//namespace detail
-
121 
-
124 
-
132  template <typename T, precision P, template <typename, precision> class matType>
-
133  GLM_FUNC_DECL matType<T, P> matrixCompMult(matType<T, P> const & x, matType<T, P> const & y);
-
134 
-
143  template <typename T, precision P, template <typename, precision> class vecTypeA, template <typename, precision> class vecTypeB>
-
144  GLM_FUNC_DECL typename detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type outerProduct(vecTypeA<T, P> const & c, vecTypeB<T, P> const & r);
-
145 
-
152 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012))
-
153  template <typename T, precision P, template <typename, precision> class matType>
-
154  GLM_FUNC_DECL typename matType<T, P>::transpose_type transpose(matType<T, P> const & x);
-
155 # endif
-
156 
-
163  template <typename T, precision P, template <typename, precision> class matType>
-
164  GLM_FUNC_DECL T determinant(matType<T, P> const & m);
-
165 
-
172  template <typename T, precision P, template <typename, precision> class matType>
-
173  GLM_FUNC_DECL matType<T, P> inverse(matType<T, P> const & m);
-
174 
-
176 }//namespace glm
-
177 
-
178 #include "func_matrix.inl"
-
GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct(vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
-
GLM_FUNC_DECL matType< T, P > matrixCompMult(matType< T, P > const &x, matType< T, P > const &y)
Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...
-
GLM_FUNC_DECL T determinant(matType< T, P > const &m)
Returns the transposed matrix of x.
+
42 #pragma once
+
43 
+
44 #include "setup.hpp"
+
45 #include "precision.hpp"
+
46 #include "func_common.hpp"
+ +
48 
+
49 namespace glm
+
50 {
+
53 
+
62  template <precision P, template <typename, precision> class vecType>
+
63  GLM_FUNC_DECL vecType<uint, P> uaddCarry(
+
64  vecType<uint, P> const & x,
+
65  vecType<uint, P> const & y,
+
66  vecType<uint, P> & carry);
+
67 
+
76  template <precision P, template <typename, precision> class vecType>
+
77  GLM_FUNC_DECL vecType<uint, P> usubBorrow(
+
78  vecType<uint, P> const & x,
+
79  vecType<uint, P> const & y,
+
80  vecType<uint, P> & borrow);
+
81 
+
90  template <precision P, template <typename, precision> class vecType>
+
91  GLM_FUNC_DECL void umulExtended(
+
92  vecType<uint, P> const & x,
+
93  vecType<uint, P> const & y,
+
94  vecType<uint, P> & msb,
+
95  vecType<uint, P> & lsb);
+
96 
+
105  template <precision P, template <typename, precision> class vecType>
+
106  GLM_FUNC_DECL void imulExtended(
+
107  vecType<int, P> const & x,
+
108  vecType<int, P> const & y,
+
109  vecType<int, P> & msb,
+
110  vecType<int, P> & lsb);
+
111 
+
127  template <typename T, precision P, template <typename, precision> class vecType>
+
128  GLM_FUNC_DECL vecType<T, P> bitfieldExtract(
+
129  vecType<T, P> const & Value,
+
130  int Offset,
+
131  int Bits);
+
132 
+
147  template <typename T, precision P, template <typename, precision> class vecType>
+
148  GLM_FUNC_DECL vecType<T, P> bitfieldInsert(
+
149  vecType<T, P> const & Base,
+
150  vecType<T, P> const & Insert,
+
151  int Offset,
+
152  int Bits);
+
153 
+
162  template <typename T, precision P, template <typename, precision> class vecType>
+
163  GLM_FUNC_DECL vecType<T, P> bitfieldReverse(vecType<T, P> const & v);
+
164 
+
171  template <typename genType>
+
172  GLM_FUNC_DECL int bitCount(genType v);
+
173 
+
180  template <typename T, precision P, template <typename, precision> class vecType>
+
181  GLM_FUNC_DECL vecType<int, P> bitCount(vecType<T, P> const & v);
+
182 
+
191  template <typename genIUType>
+
192  GLM_FUNC_DECL int findLSB(genIUType x);
+
193 
+
202  template <typename T, precision P, template <typename, precision> class vecType>
+
203  GLM_FUNC_DECL vecType<int, P> findLSB(vecType<T, P> const & v);
+
204 
+
214  template <typename genIUType>
+
215  GLM_FUNC_DECL int findMSB(genIUType x);
+
216 
+
226  template <typename T, precision P, template <typename, precision> class vecType>
+
227  GLM_FUNC_DECL vecType<int, P> findMSB(vecType<T, P> const & v);
+
228 
+
230 }//namespace glm
+
231 
+
232 #include "func_integer.inl"
+
GLM_FUNC_DECL vecType< T, P > bitfieldInsert(vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
Returns the insertion the bits least-significant bits of insert into base.
+
GLM_FUNC_DECL vecType< uint, P > usubBorrow(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &borrow)
Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.
+
GLM_FUNC_DECL vecType< T, P > bitfieldExtract(vecType< T, P > const &Value, int Offset, int Bits)
Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...
+
GLM_FUNC_DECL vecType< int, P > findLSB(vecType< T, P > const &v)
Returns the bit number of the least significant bit set to 1 in the binary representation of value...
+
GLM_FUNC_DECL vecType< int, P > findMSB(vecType< T, P > const &v)
Returns the bit number of the most significant bit in the binary representation of value...
+
GLM_FUNC_DECL vecType< T, P > bitfieldReverse(vecType< T, P > const &v)
Returns the reversal of the bits of value.
+
GLM_FUNC_DECL vecType< uint, P > uaddCarry(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &carry)
Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).
+
GLM_FUNC_DECL void umulExtended(vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
+
GLM_FUNC_DECL void imulExtended(vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL vecType< int, P > bitCount(vecType< T, P > const &v)
Returns the number of bits set to 1 in the binary representation of value.
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00033.html b/doc/api/a00033.html index bbb20282..a8504c46 100644 --- a/doc/api/a00033.html +++ b/doc/api/a00033.html @@ -3,8 +3,8 @@ - -0.9.6: func_noise.hpp File Reference + +0.9.7: func_matrix.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_noise.hpp File Reference
+
func_matrix.hpp File Reference
@@ -56,40 +56,37 @@ - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec2< typename
-genType::value_type, defaultp > 
noise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec3< typename
-genType::value_type, defaultp > 
noise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec4< typename
-genType::value_type, defaultp > 
noise4 (genType const &x)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL T determinant (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > inverse (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > matrixCompMult (matType< T, P > const &x, matType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecTypeA, template< typename, precision > class vecTypeB>
GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct (vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-01 / 2011-06-18
+

GLM Core

+
Date
2008-08-03 / 2011-06-15
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.13 Noise Functions
+
See also
GLSL 4.20.8 specification, section 8.6 Matrix Functions
-

Definition in file func_noise.hpp.

+

Definition in file func_matrix.hpp.

diff --git a/doc/api/a00033_source.html b/doc/api/a00033_source.html index 1d2a5e81..8ea2d7cf 100644 --- a/doc/api/a00033_source.html +++ b/doc/api/a00033_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_noise.hpp Source File + +0.9.7: func_matrix.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_noise.hpp
+
func_matrix.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 #include "type_vec1.hpp"
-
45 #include "type_vec2.hpp"
-
46 #include "type_vec3.hpp"
-
47 #include "setup.hpp"
-
48 
-
49 namespace glm
-
50 {
-
53 
-
60  template <typename genType>
-
61  GLM_FUNC_DECL typename genType::value_type noise1(genType const & x);
+
44 #pragma once
+
45 
+
46 // Dependencies
+
47 #include "../detail/precision.hpp"
+
48 #include "../detail/setup.hpp"
+
49 #include "../detail/type_mat.hpp"
+
50 #include "../vec2.hpp"
+
51 #include "../vec3.hpp"
+
52 #include "../vec4.hpp"
+
53 #include "../mat2x2.hpp"
+
54 #include "../mat2x3.hpp"
+
55 #include "../mat2x4.hpp"
+
56 #include "../mat3x2.hpp"
+
57 #include "../mat3x3.hpp"
+
58 #include "../mat3x4.hpp"
+
59 #include "../mat4x2.hpp"
+
60 #include "../mat4x3.hpp"
+
61 #include "../mat4x4.hpp"
62 
-
69  template <typename genType>
-
70  GLM_FUNC_DECL tvec2<typename genType::value_type, defaultp> noise2(genType const & x);
+
63 namespace glm{
+
64 namespace detail
+
65 {
+
66  template <typename T, precision P>
+
67  struct outerProduct_trait<T, P, tvec2, tvec2>
+
68  {
+
69  typedef tmat2x2<T, P> type;
+
70  };
71 
-
78  template <typename genType>
-
79  GLM_FUNC_DECL tvec3<typename genType::value_type, defaultp> noise3(genType const & x);
-
80 
-
87  template <typename genType>
-
88  GLM_FUNC_DECL tvec4<typename genType::value_type, defaultp> noise4(genType const & x);
+
72  template <typename T, precision P>
+
73  struct outerProduct_trait<T, P, tvec2, tvec3>
+
74  {
+
75  typedef tmat2x3<T, P> type;
+
76  };
+
77 
+
78  template <typename T, precision P>
+
79  struct outerProduct_trait<T, P, tvec2, tvec4>
+
80  {
+
81  typedef tmat2x4<T, P> type;
+
82  };
+
83 
+
84  template <typename T, precision P>
+
85  struct outerProduct_trait<T, P, tvec3, tvec2>
+
86  {
+
87  typedef tmat3x2<T, P> type;
+
88  };
89 
-
91 }//namespace glm
-
92 
-
93 #include "func_noise.inl"
-
GLM_FUNC_DECL tvec3< typename genType::value_type, defaultp > noise3(genType const &x)
Returns a 3D noise value based on the input value x.
-
GLM_FUNC_DECL tvec2< typename genType::value_type, defaultp > noise2(genType const &x)
Returns a 2D noise value based on the input value x.
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL genType::value_type noise1(genType const &x)
Returns a 1D noise value based on the input value x.
-
GLM_FUNC_DECL tvec4< typename genType::value_type, defaultp > noise4(genType const &x)
Returns a 4D noise value based on the input value x.
-
OpenGL Mathematics (glm.g-truc.net)
+
90  template <typename T, precision P>
+
91  struct outerProduct_trait<T, P, tvec3, tvec3>
+
92  {
+
93  typedef tmat3x3<T, P> type;
+
94  };
+
95 
+
96  template <typename T, precision P>
+
97  struct outerProduct_trait<T, P, tvec3, tvec4>
+
98  {
+
99  typedef tmat3x4<T, P> type;
+
100  };
+
101 
+
102  template <typename T, precision P>
+
103  struct outerProduct_trait<T, P, tvec4, tvec2>
+
104  {
+
105  typedef tmat4x2<T, P> type;
+
106  };
+
107 
+
108  template <typename T, precision P>
+
109  struct outerProduct_trait<T, P, tvec4, tvec3>
+
110  {
+
111  typedef tmat4x3<T, P> type;
+
112  };
+
113 
+
114  template <typename T, precision P>
+
115  struct outerProduct_trait<T, P, tvec4, tvec4>
+
116  {
+
117  typedef tmat4x4<T, P> type;
+
118  };
+
119 
+
120 }//namespace detail
+
121 
+
124 
+
132  template <typename T, precision P, template <typename, precision> class matType>
+
133  GLM_FUNC_DECL matType<T, P> matrixCompMult(matType<T, P> const & x, matType<T, P> const & y);
+
134 
+
143  template <typename T, precision P, template <typename, precision> class vecTypeA, template <typename, precision> class vecTypeB>
+
144  GLM_FUNC_DECL typename detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type outerProduct(vecTypeA<T, P> const & c, vecTypeB<T, P> const & r);
+
145 
+
152 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012))
+
153  template <typename T, precision P, template <typename, precision> class matType>
+
154  GLM_FUNC_DECL typename matType<T, P>::transpose_type transpose(matType<T, P> const & x);
+
155 # endif
+
156 
+
163  template <typename T, precision P, template <typename, precision> class matType>
+
164  GLM_FUNC_DECL T determinant(matType<T, P> const & m);
+
165 
+
172  template <typename T, precision P, template <typename, precision> class matType>
+
173  GLM_FUNC_DECL matType<T, P> inverse(matType<T, P> const & m);
+
174 
+
176 }//namespace glm
+
177 
+
178 #include "func_matrix.inl"
+
GLM_FUNC_DECL T determinant(matType< T, P > const &m)
Returns the transposed matrix of x.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
+
GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct(vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...
+
GLM_FUNC_DECL matType< T, P > matrixCompMult(matType< T, P > const &x, matType< T, P > const &y)
Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...
diff --git a/doc/api/a00034.html b/doc/api/a00034.html index 8971ddc9..8ad57127 100644 --- a/doc/api/a00034.html +++ b/doc/api/a00034.html @@ -3,8 +3,8 @@ - -0.9.6: func_packing.hpp File Reference + +0.9.7: func_noise.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_packing.hpp File Reference
+
func_noise.hpp File Reference
@@ -56,51 +56,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double const &v)
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint const &v)
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint const &p)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec2< typename genType::value_type, defaultp > noise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec3< typename genType::value_type, defaultp > noise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec4< typename genType::value_type, defaultp > noise4 (genType const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2010-03-17 / 2011-06-15
+

GLM Core

+
Date
2008-08-01 / 2011-06-18
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
-
-GLM_GTC_packing
+
See also
GLSL 4.20.8 specification, section 8.13 Noise Functions
-

Definition in file func_packing.hpp.

+

Definition in file func_noise.hpp.

diff --git a/doc/api/a00034_source.html b/doc/api/a00034_source.html index a08214f7..699eb71f 100644 --- a/doc/api/a00034_source.html +++ b/doc/api/a00034_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_packing.hpp Source File + +0.9.7: func_noise.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_packing.hpp
+
func_noise.hpp
Go to the documentation of this file.
1 
-
41 #pragma once
-
42 
-
43 #include "type_vec2.hpp"
-
44 #include "type_vec4.hpp"
-
45 
-
46 namespace glm
-
47 {
-
50 
-
62  GLM_FUNC_DECL uint packUnorm2x16(vec2 const & v);
-
63 
-
75  GLM_FUNC_DECL uint packSnorm2x16(vec2 const & v);
-
76 
-
88  GLM_FUNC_DECL uint packUnorm4x8(vec4 const & v);
+
42 #pragma once
+
43 
+
44 #include "type_vec1.hpp"
+
45 #include "type_vec2.hpp"
+
46 #include "type_vec3.hpp"
+
47 #include "setup.hpp"
+
48 
+
49 namespace glm
+
50 {
+
53 
+
60  template <typename genType>
+
61  GLM_FUNC_DECL typename genType::value_type noise1(genType const & x);
+
62 
+
69  template <typename genType>
+
70  GLM_FUNC_DECL tvec2<typename genType::value_type, defaultp> noise2(genType const & x);
+
71 
+
78  template <typename genType>
+
79  GLM_FUNC_DECL tvec3<typename genType::value_type, defaultp> noise3(genType const & x);
+
80 
+
87  template <typename genType>
+
88  GLM_FUNC_DECL tvec4<typename genType::value_type, defaultp> noise4(genType const & x);
89 
-
101  GLM_FUNC_DECL uint packSnorm4x8(vec4 const & v);
-
102 
-
114  GLM_FUNC_DECL vec2 unpackUnorm2x16(uint const & p);
-
115 
-
127  GLM_FUNC_DECL vec2 unpackSnorm2x16(uint const & p);
-
128 
-
140  GLM_FUNC_DECL vec4 unpackUnorm4x8(uint const & p);
-
141 
-
153  GLM_FUNC_DECL vec4 unpackSnorm4x8(uint const & p);
-
154 
-
163  GLM_FUNC_DECL double packDouble2x32(uvec2 const & v);
-
164 
-
172  GLM_FUNC_DECL uvec2 unpackDouble2x32(double const & v);
-
173 
-
182  GLM_FUNC_DECL uint packHalf2x16(vec2 const & v);
-
183 
-
192  GLM_FUNC_DECL vec2 unpackHalf2x16(uint const & v);
-
193 
-
195 }//namespace glm
-
196 
-
197 #include "func_packing.inl"
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:402
-
GLM_FUNC_DECL uint packUnorm4x8(vec4 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
-
OpenGL Mathematics (glm.g-truc.net)
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:306
-
GLM_FUNC_DECL uint packUnorm2x16(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
-
GLM_FUNC_DECL vec2 unpackHalf2x16(uint const &v)
Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned...
-
GLM_FUNC_DECL vec4 unpackUnorm4x8(uint const &p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
-
GLM_FUNC_DECL double packDouble2x32(uvec2 const &v)
Returns a double-precision value obtained by packing the components of v into a 64-bit value...
-
GLM_FUNC_DECL uint packSnorm4x8(vec4 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
-
GLM_FUNC_DECL uint packSnorm2x16(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
-
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:476
-
GLM_FUNC_DECL uint packHalf2x16(vec2 const &v)
Returns an unsigned integer obtained by converting the components of a two-component floating-point v...
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vec4 unpackSnorm4x8(uint const &p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
-
GLM_FUNC_DECL uvec2 unpackDouble2x32(double const &v)
Returns a two-component unsigned integer vector representation of v.
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:392
-
GLM_FUNC_DECL vec2 unpackUnorm2x16(uint const &p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
-
GLM_FUNC_DECL vec2 unpackSnorm2x16(uint const &p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
91 }//namespace glm
+
92 
+
93 #include "func_noise.inl"
+
GLM_FUNC_DECL tvec4< typename genType::value_type, defaultp > noise4(genType const &x)
Returns a 4D noise value based on the input value x.
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL tvec2< typename genType::value_type, defaultp > noise2(genType const &x)
Returns a 2D noise value based on the input value x.
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL genType::value_type noise1(genType const &x)
Returns a 1D noise value based on the input value x.
+
GLM_FUNC_DECL tvec3< typename genType::value_type, defaultp > noise3(genType const &x)
Returns a 3D noise value based on the input value x.
diff --git a/doc/api/a00035.html b/doc/api/a00035.html index 06964a54..f92d8870 100644 --- a/doc/api/a00035.html +++ b/doc/api/a00035.html @@ -3,8 +3,8 @@ - -0.9.6: func_trigonometric.hpp File Reference + +0.9.7: func_packing.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_trigonometric.hpp File Reference
+
func_packing.hpp File Reference
@@ -56,70 +56,51 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acos (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acosh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asin (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asinh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y_over_x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atanh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cos (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cosh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > degrees (vecType< T, P > const &radians)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > radians (vecType< T, P > const &degrees)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sin (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sinh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tan (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tanh (vecType< T, P > const &angle)
 
GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double v)
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint v)
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint p)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-01 / 2011-06-15
+

GLM Core

+
Date
2010-03-17 / 2011-06-15
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+
See also
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+
+GLM_GTC_packing
-

Definition in file func_trigonometric.hpp.

+

Definition in file func_packing.hpp.

diff --git a/doc/api/a00035_source.html b/doc/api/a00035_source.html index b924350e..794624ae 100644 --- a/doc/api/a00035_source.html +++ b/doc/api/a00035_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_trigonometric.hpp Source File + +0.9.7: func_packing.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_trigonometric.hpp
+
func_packing.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
+
41 #pragma once
+
42 
+
43 #include "type_vec2.hpp"
+
44 #include "type_vec4.hpp"
45 
-
46 #include "setup.hpp"
-
47 #include "precision.hpp"
-
48 
-
49 namespace glm
-
50 {
-
53 
-
60  template <typename T, precision P, template <typename, precision> class vecType>
-
61  GLM_FUNC_DECL vecType<T, P> radians(vecType<T, P> const & degrees);
-
62 
-
69  template <typename T, precision P, template <typename, precision> class vecType>
-
70  GLM_FUNC_DECL vecType<T, P> degrees(vecType<T, P> const & radians);
-
71 
-
79  template <typename T, precision P, template <typename, precision> class vecType>
-
80  GLM_FUNC_DECL vecType<T, P> sin(vecType<T, P> const & angle);
-
81 
-
89  template <typename T, precision P, template <typename, precision> class vecType>
-
90  GLM_FUNC_DECL vecType<T, P> cos(vecType<T, P> const & angle);
-
91 
-
98  template <typename T, precision P, template <typename, precision> class vecType>
-
99  GLM_FUNC_DECL vecType<T, P> tan(vecType<T, P> const & angle);
-
100 
-
109  template <typename T, precision P, template <typename, precision> class vecType>
-
110  GLM_FUNC_DECL vecType<T, P> asin(vecType<T, P> const & x);
-
111 
-
120  template <typename T, precision P, template <typename, precision> class vecType>
-
121  GLM_FUNC_DECL vecType<T, P> acos(vecType<T, P> const & x);
-
122 
-
133  template <typename T, precision P, template <typename, precision> class vecType>
-
134  GLM_FUNC_DECL vecType<T, P> atan(vecType<T, P> const & y, vecType<T, P> const & x);
-
135 
-
143  template <typename T, precision P, template <typename, precision> class vecType>
-
144  GLM_FUNC_DECL vecType<T, P> atan(vecType<T, P> const & y_over_x);
-
145 
-
152  template <typename T, precision P, template <typename, precision> class vecType>
-
153  GLM_FUNC_DECL vecType<T, P> sinh(vecType<T, P> const & angle);
+
46 namespace glm
+
47 {
+
50 
+
62  GLM_FUNC_DECL uint packUnorm2x16(vec2 const & v);
+
63 
+
75  GLM_FUNC_DECL uint packSnorm2x16(vec2 const & v);
+
76 
+
88  GLM_FUNC_DECL uint packUnorm4x8(vec4 const & v);
+
89 
+
101  GLM_FUNC_DECL uint packSnorm4x8(vec4 const & v);
+
102 
+
114  GLM_FUNC_DECL vec2 unpackUnorm2x16(uint p);
+
115 
+
127  GLM_FUNC_DECL vec2 unpackSnorm2x16(uint p);
+
128 
+
140  GLM_FUNC_DECL vec4 unpackUnorm4x8(uint p);
+
141 
+
153  GLM_FUNC_DECL vec4 unpackSnorm4x8(uint p);
154 
-
161  template <typename T, precision P, template <typename, precision> class vecType>
-
162  GLM_FUNC_DECL vecType<T, P> cosh(vecType<T, P> const & angle);
-
163 
-
170  template <typename T, precision P, template <typename, precision> class vecType>
-
171  GLM_FUNC_DECL vecType<T, P> tanh(vecType<T, P> const & angle);
-
172 
-
179  template <typename T, precision P, template <typename, precision> class vecType>
-
180  GLM_FUNC_DECL vecType<T, P> asinh(vecType<T, P> const & x);
-
181 
-
189  template <typename T, precision P, template <typename, precision> class vecType>
-
190  GLM_FUNC_DECL vecType<T, P> acosh(vecType<T, P> const & x);
-
191 
-
199  template <typename T, precision P, template <typename, precision> class vecType>
-
200  GLM_FUNC_DECL vecType<T, P> atanh(vecType<T, P> const & x);
-
201 
-
203 }//namespace glm
-
204 
-
205 #include "func_trigonometric.inl"
-
GLM_FUNC_DECL vecType< T, P > acos(vecType< T, P > const &x)
Arc cosine.
-
GLM_FUNC_DECL vecType< T, P > tanh(vecType< T, P > const &angle)
Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
-
GLM_FUNC_DECL vecType< T, P > cosh(vecType< T, P > const &angle)
Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< T, P > asinh(vecType< T, P > const &x)
Arc hyperbolic sine; returns the inverse of sinh.
-
GLM_FUNC_DECL vecType< T, P > radians(vecType< T, P > const &degrees)
Converts degrees to radians and returns the result.
-
GLM_FUNC_DECL vecType< T, P > cos(vecType< T, P > const &angle)
The standard trigonometric cosine function.
-
GLM_FUNC_DECL vecType< T, P > sinh(vecType< T, P > const &angle)
Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.
-
GLM_FUNC_DECL vecType< T, P > degrees(vecType< T, P > const &radians)
Converts radians to degrees and returns the result.
-
GLM_FUNC_DECL vecType< T, P > sin(vecType< T, P > const &angle)
The standard trigonometric sine function.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL vecType< T, P > tan(vecType< T, P > const &angle)
The standard trigonometric tangent function.
-
GLM_FUNC_DECL vecType< T, P > acosh(vecType< T, P > const &x)
Arc hyperbolic cosine; returns the non-negative inverse of cosh.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< T, P > atanh(vecType< T, P > const &x)
Arc hyperbolic tangent; returns the inverse of tanh.
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< T, P > atan(vecType< T, P > const &y_over_x)
Arc tangent.
-
GLM_FUNC_DECL vecType< T, P > asin(vecType< T, P > const &x)
Arc sine.
+
163  GLM_FUNC_DECL double packDouble2x32(uvec2 const & v);
+
164 
+
172  GLM_FUNC_DECL uvec2 unpackDouble2x32(double v);
+
173 
+
182  GLM_FUNC_DECL uint packHalf2x16(vec2 const & v);
+
183 
+
192  GLM_FUNC_DECL vec2 unpackHalf2x16(uint v);
+
193 
+
195 }//namespace glm
+
196 
+
197 #include "func_packing.inl"
+
GLM_FUNC_DECL uint packHalf2x16(vec2 const &v)
Returns an unsigned integer obtained by converting the components of a two-component floating-point v...
+
GLM_FUNC_DECL vec2 unpackUnorm2x16(uint p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
GLM_FUNC_DECL vec4 unpackUnorm4x8(uint p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
GLM_FUNC_DECL uvec2 unpackDouble2x32(double v)
Returns a two-component unsigned integer vector representation of v.
+
GLM_FUNC_DECL uint packUnorm2x16(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
+
GLM_FUNC_DECL uint packSnorm4x8(vec4 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:390
+
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:471
+
GLM_FUNC_DECL uint packSnorm2x16(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
+
GLM_FUNC_DECL vec2 unpackSnorm2x16(uint p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:308
+
GLM_FUNC_DECL uint packUnorm4x8(vec4 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL double packDouble2x32(uvec2 const &v)
Returns a double-precision value obtained by packing the components of v into a 64-bit value...
+
OpenGL Mathematics (glm.g-truc.net)
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:400
+
GLM_FUNC_DECL vec4 unpackSnorm4x8(uint p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
GLM_FUNC_DECL vec2 unpackHalf2x16(uint v)
Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned...
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00036.html b/doc/api/a00036.html index e9ef94bb..46779db7 100644 --- a/doc/api/a00036.html +++ b/doc/api/a00036.html @@ -3,8 +3,8 @@ - -0.9.6: func_vector_relational.hpp File Reference + +0.9.7: func_trigonometric.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_vector_relational.hpp File Reference
+
func_trigonometric.hpp File Reference
@@ -56,52 +56,70 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool all (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool any (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > equal (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > not_ (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acos (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acosh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asin (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asinh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y_over_x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atanh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cos (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cosh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > degrees (vecType< T, P > const &radians)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > radians (vecType< T, P > const &degrees)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sin (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sinh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tan (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tanh (vecType< T, P > const &angle)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-03 / 2011-06-15
+

GLM Core

+
Date
2008-08-01 / 2011-06-15
Author
Christophe Riccio
-
See also
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+
See also
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
-

Definition in file func_vector_relational.hpp.

+

Definition in file func_trigonometric.hpp.

diff --git a/doc/api/a00036_source.html b/doc/api/a00036_source.html index 0fe4be52..271e567a 100644 --- a/doc/api/a00036_source.html +++ b/doc/api/a00036_source.html @@ -3,8 +3,8 @@ - -0.9.6: func_vector_relational.hpp Source File + +0.9.7: func_trigonometric.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
func_vector_relational.hpp
+
func_trigonometric.hpp
Go to the documentation of this file.
1 
-
45 #pragma once
-
46 
-
47 #include "precision.hpp"
-
48 #include "setup.hpp"
-
49 
-
50 namespace glm
-
51 {
-
54 
-
61  template <typename T, precision P, template <typename, precision> class vecType>
-
62  GLM_FUNC_DECL vecType<bool, P> lessThan(vecType<T, P> const & x, vecType<T, P> const & y);
-
63 
-
70  template <typename T, precision P, template <typename, precision> class vecType>
-
71  GLM_FUNC_DECL vecType<bool, P> lessThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
-
72 
+
44 #pragma once
+
45 
+
46 #include "setup.hpp"
+
47 #include "precision.hpp"
+
48 
+
49 namespace glm
+
50 {
+
53 
+
60  template <typename T, precision P, template <typename, precision> class vecType>
+
61  GLM_FUNC_DECL vecType<T, P> radians(vecType<T, P> const & degrees);
+
62 
+
69  template <typename T, precision P, template <typename, precision> class vecType>
+
70  GLM_FUNC_DECL vecType<T, P> degrees(vecType<T, P> const & radians);
+
71 
79  template <typename T, precision P, template <typename, precision> class vecType>
-
80  GLM_FUNC_DECL vecType<bool, P> greaterThan(vecType<T, P> const & x, vecType<T, P> const & y);
+
80  GLM_FUNC_DECL vecType<T, P> sin(vecType<T, P> const & angle);
81 
-
88  template <typename T, precision P, template <typename, precision> class vecType>
-
89  GLM_FUNC_DECL vecType<bool, P> greaterThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
-
90 
-
97  template <typename T, precision P, template <typename, precision> class vecType>
-
98  GLM_FUNC_DECL vecType<bool, P> equal(vecType<T, P> const & x, vecType<T, P> const & y);
-
99 
-
106  template <typename T, precision P, template <typename, precision> class vecType>
-
107  GLM_FUNC_DECL vecType<bool, P> notEqual(vecType<T, P> const & x, vecType<T, P> const & y);
-
108 
-
115  template <precision P, template <typename, precision> class vecType>
-
116  GLM_FUNC_DECL bool any(vecType<bool, P> const & v);
-
117 
-
124  template <precision P, template <typename, precision> class vecType>
-
125  GLM_FUNC_DECL bool all(vecType<bool, P> const & v);
-
126 
-
134  template <precision P, template <typename, precision> class vecType>
-
135  GLM_FUNC_DECL vecType<bool, P> not_(vecType<bool, P> const & v);
-
136 
-
138 }//namespace glm
-
139 
-
140 #include "func_vector_relational.inl"
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL vecType< bool, P > lessThan(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison result of x < y.
-
GLM_FUNC_DECL vecType< bool, P > greaterThan(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x > y.
-
GLM_FUNC_DECL vecType< bool, P > greaterThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x >= y.
-
GLM_FUNC_DECL vecType< bool, P > equal(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x == y.
-
GLM_FUNC_DECL bool any(vecType< bool, P > const &v)
Returns true if any component of x is true.
-
GLM_FUNC_DECL bool all(vecType< bool, P > const &v)
Returns true if all components of x are true.
-
GLM_FUNC_DECL vecType< bool, P > lessThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x <= y.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< bool, P > not_(vecType< bool, P > const &v)
Returns the component-wise logical complement of x.
-
GLM_FUNC_DECL vecType< bool, P > notEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x != y.
-
OpenGL Mathematics (glm.g-truc.net)
+
89  template <typename T, precision P, template <typename, precision> class vecType>
+
90  GLM_FUNC_DECL vecType<T, P> cos(vecType<T, P> const & angle);
+
91 
+
98  template <typename T, precision P, template <typename, precision> class vecType>
+
99  GLM_FUNC_DECL vecType<T, P> tan(vecType<T, P> const & angle);
+
100 
+
109  template <typename T, precision P, template <typename, precision> class vecType>
+
110  GLM_FUNC_DECL vecType<T, P> asin(vecType<T, P> const & x);
+
111 
+
120  template <typename T, precision P, template <typename, precision> class vecType>
+
121  GLM_FUNC_DECL vecType<T, P> acos(vecType<T, P> const & x);
+
122 
+
133  template <typename T, precision P, template <typename, precision> class vecType>
+
134  GLM_FUNC_DECL vecType<T, P> atan(vecType<T, P> const & y, vecType<T, P> const & x);
+
135 
+
143  template <typename T, precision P, template <typename, precision> class vecType>
+
144  GLM_FUNC_DECL vecType<T, P> atan(vecType<T, P> const & y_over_x);
+
145 
+
152  template <typename T, precision P, template <typename, precision> class vecType>
+
153  GLM_FUNC_DECL vecType<T, P> sinh(vecType<T, P> const & angle);
+
154 
+
161  template <typename T, precision P, template <typename, precision> class vecType>
+
162  GLM_FUNC_DECL vecType<T, P> cosh(vecType<T, P> const & angle);
+
163 
+
170  template <typename T, precision P, template <typename, precision> class vecType>
+
171  GLM_FUNC_DECL vecType<T, P> tanh(vecType<T, P> const & angle);
+
172 
+
179  template <typename T, precision P, template <typename, precision> class vecType>
+
180  GLM_FUNC_DECL vecType<T, P> asinh(vecType<T, P> const & x);
+
181 
+
189  template <typename T, precision P, template <typename, precision> class vecType>
+
190  GLM_FUNC_DECL vecType<T, P> acosh(vecType<T, P> const & x);
+
191 
+
199  template <typename T, precision P, template <typename, precision> class vecType>
+
200  GLM_FUNC_DECL vecType<T, P> atanh(vecType<T, P> const & x);
+
201 
+
203 }//namespace glm
+
204 
+
205 #include "func_trigonometric.inl"
+
GLM_FUNC_DECL vecType< T, P > atan(vecType< T, P > const &y_over_x)
Arc tangent.
+
GLM_FUNC_DECL vecType< T, P > acos(vecType< T, P > const &x)
Arc cosine.
+
GLM_FUNC_DECL vecType< T, P > tanh(vecType< T, P > const &angle)
Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
+
GLM_FUNC_DECL vecType< T, P > cosh(vecType< T, P > const &angle)
Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.
+
GLM_FUNC_DECL vecType< T, P > asinh(vecType< T, P > const &x)
Arc hyperbolic sine; returns the inverse of sinh.
+
GLM_FUNC_DECL vecType< T, P > radians(vecType< T, P > const &degrees)
Converts degrees to radians and returns the result.
+
GLM_FUNC_DECL vecType< T, P > cos(vecType< T, P > const &angle)
The standard trigonometric cosine function.
+
GLM_FUNC_DECL vecType< T, P > sin(vecType< T, P > const &angle)
The standard trigonometric sine function.
+
GLM_FUNC_DECL vecType< T, P > sinh(vecType< T, P > const &angle)
Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.
+
GLM_FUNC_DECL vecType< T, P > degrees(vecType< T, P > const &radians)
Converts radians to degrees and returns the result.
+
GLM_FUNC_DECL vecType< T, P > tan(vecType< T, P > const &angle)
The standard trigonometric tangent function.
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL vecType< T, P > acosh(vecType< T, P > const &x)
Arc hyperbolic cosine; returns the non-negative inverse of cosh.
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL vecType< T, P > asin(vecType< T, P > const &x)
Arc sine.
+
GLM_FUNC_DECL vecType< T, P > atanh(vecType< T, P > const &x)
Arc hyperbolic tangent; returns the inverse of tanh.
diff --git a/doc/api/a00037.html b/doc/api/a00037.html index d12720dc..0eddd59e 100644 --- a/doc/api/a00037.html +++ b/doc/api/a00037.html @@ -3,8 +3,8 @@ - -0.9.6: fwd.hpp File Reference + +0.9.7: func_vector_relational.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
fwd.hpp File Reference
+
func_vector_relational.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef highp_dquat dquat
 
typedef highp_float32_t f32
 
typedef f32mat2x2 f32mat2
 
typedef highp_f32mat2x2 f32mat2x2
 
typedef highp_f32mat2x3 f32mat2x3
 
typedef highp_f32mat2x4 f32mat2x4
 
typedef f32mat3x3 f32mat3
 
typedef highp_f32mat3x2 f32mat3x2
 
typedef highp_f32mat3x3 f32mat3x3
 
typedef highp_f32mat3x4 f32mat3x4
 
typedef f32mat4x4 f32mat4
 
typedef highp_f32mat4x2 f32mat4x2
 
typedef highp_f32mat4x3 f32mat4x3
 
typedef highp_f32mat4x4 f32mat4x4
 
typedef highp_f32quat f32quat
 
typedef highp_f32vec1 f32vec1
 
typedef highp_f32vec2 f32vec2
 
typedef highp_f32vec3 f32vec3
 
typedef highp_f32vec4 f32vec4
 
typedef highp_float64_t f64
 
typedef f64mat2x2 f64mat2
 
typedef highp_f64mat2x2 f64mat2x2
 
typedef highp_f64mat2x3 f64mat2x3
 
typedef highp_f64mat2x4 f64mat2x4
 
typedef f64mat3x3 f64mat3
 
typedef highp_f64mat3x2 f64mat3x2
 
typedef highp_f64mat3x3 f64mat3x3
 
typedef highp_f64mat3x4 f64mat3x4
 
typedef f64mat4x4 f64mat4
 
typedef highp_f64mat4x2 f64mat4x2
 
typedef highp_f64mat4x3 f64mat4x3
 
typedef highp_f64mat4x4 f64mat4x4
 
typedef highp_f64quat f64quat
 
typedef highp_f64vec1 f64vec1
 
typedef highp_f64vec2 f64vec2
 
typedef highp_f64vec3 f64vec3
 
typedef highp_f64vec4 f64vec4
 
typedef highp_float32_t float32_t
 
typedef highp_float64_t float64_t
 
typedef fmat2x2 fmat2
 
typedef highp_f32mat2x2 fmat2x2
 
typedef highp_f32mat2x3 fmat2x3
 
typedef highp_f32mat2x4 fmat2x4
 
typedef fmat3x3 fmat3
 
typedef highp_f32mat3x2 fmat3x2
 
typedef highp_f32mat3x3 fmat3x3
 
typedef highp_f32mat3x4 fmat3x4
 
typedef fmat4x4 fmat4
 
typedef highp_f32mat4x2 fmat4x2
 
typedef highp_f32mat4x3 fmat4x3
 
typedef highp_f32mat4x4 fmat4x4
 
typedef quat fquat
 
typedef highp_f32vec1 fvec1
 
typedef highp_f32vec2 fvec2
 
typedef highp_f32vec3 fvec3
 
typedef highp_f32vec4 fvec4
 
typedef tquat< double, highp > highp_dquat
 
typedef float32 highp_f32
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef tmat2x2< f32, highp > highp_f32mat2x2
 
typedef tmat2x3< f32, highp > highp_f32mat2x3
 
typedef tmat2x4< f32, highp > highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef tmat3x2< f32, highp > highp_f32mat3x2
 
typedef tmat3x3< f32, highp > highp_f32mat3x3
 
typedef tmat3x4< f32, highp > highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef tmat4x2< f32, highp > highp_f32mat4x2
 
typedef tmat4x3< f32, highp > highp_f32mat4x3
 
typedef tmat4x4< f32, highp > highp_f32mat4x4
 
typedef tquat< f32, highp > highp_f32quat
 
typedef tvec1< f32, highp > highp_f32vec1
 
typedef tvec2< f32, highp > highp_f32vec2
 
typedef tvec3< f32, highp > highp_f32vec3
 
typedef tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef tmat2x2< f64, highp > highp_f64mat2x2
 
typedef tmat2x3< f64, highp > highp_f64mat2x3
 
typedef tmat2x4< f64, highp > highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef tmat3x2< f64, highp > highp_f64mat3x2
 
typedef tmat3x3< f64, highp > highp_f64mat3x3
 
typedef tmat3x4< f64, highp > highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef tmat4x2< f64, highp > highp_f64mat4x2
 
typedef tmat4x3< f64, highp > highp_f64mat4x3
 
typedef tmat4x4< f64, highp > highp_f64mat4x4
 
typedef tquat< f64, highp > highp_f64quat
 
typedef tvec1< f64, highp > highp_f64vec1
 
typedef tvec2< f64, highp > highp_f64vec2
 
typedef tvec3< f64, highp > highp_f64vec3
 
typedef tvec4< f64, highp > highp_f64vec4
 
typedef detail::float32 highp_float32
 
typedef detail::float32 highp_float32_t
 
typedef detail::float64 highp_float64
 
typedef detail::float64 highp_float64_t
 
typedef highp_fmat2x2 highp_fmat2
 
typedef tmat2x2< f32, highp > highp_fmat2x2
 
typedef tmat2x3< f32, highp > highp_fmat2x3
 
typedef tmat2x4< f32, highp > highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef tmat3x2< f32, highp > highp_fmat3x2
 
typedef tmat3x3< f32, highp > highp_fmat3x3
 
typedef tmat3x4< f32, highp > highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef tmat4x2< f32, highp > highp_fmat4x2
 
typedef tmat4x3< f32, highp > highp_fmat4x3
 
typedef tmat4x4< f32, highp > highp_fmat4x4
 
typedef highp_quat highp_fquat
 
typedef tvec1< float, highp > highp_fvec1
 
typedef tvec2< float, highp > highp_fvec2
 
typedef tvec3< float, highp > highp_fvec3
 
typedef tvec4< float, highp > highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef tvec1< i16, highp > highp_i16vec1
 
typedef tvec2< i16, highp > highp_i16vec2
 
typedef tvec3< i16, highp > highp_i16vec3
 
typedef tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef tvec1< i32, highp > highp_i32vec1
 
typedef tvec2< i32, highp > highp_i32vec2
 
typedef tvec3< i32, highp > highp_i32vec3
 
typedef tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef tvec1< i64, highp > highp_i64vec1
 
typedef tvec2< i64, highp > highp_i64vec2
 
typedef tvec3< i64, highp > highp_i64vec3
 
typedef tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef tvec1< i8, highp > highp_i8vec1
 
typedef tvec2< i8, highp > highp_i8vec2
 
typedef tvec3< i8, highp > highp_i8vec3
 
typedef tvec4< i8, highp > highp_i8vec4
 
typedef detail::int16 highp_int16
 
typedef detail::int16 highp_int16_t
 
typedef detail::int32 highp_int32
 
typedef detail::int32 highp_int32_t
 
typedef detail::int64 highp_int64
 
typedef detail::int64 highp_int64_t
 
typedef detail::int8 highp_int8
 
typedef detail::int8 highp_int8_t
 
typedef tquat< float, highp > highp_quat
 
typedef detail::uint16 highp_u16
 
typedef tvec1< u16, highp > highp_u16vec1
 
typedef tvec2< u16, highp > highp_u16vec2
 
typedef tvec3< u16, highp > highp_u16vec3
 
typedef tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef tvec1< u32, highp > highp_u32vec1
 
typedef tvec2< u32, highp > highp_u32vec2
 
typedef tvec3< u32, highp > highp_u32vec3
 
typedef tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef tvec1< u64, highp > highp_u64vec1
 
typedef tvec2< u64, highp > highp_u64vec2
 
typedef tvec3< u64, highp > highp_u64vec3
 
typedef tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef tvec1< u8, highp > highp_u8vec1
 
typedef tvec2< u8, highp > highp_u8vec2
 
typedef tvec3< u8, highp > highp_u8vec3
 
typedef tvec4< u8, highp > highp_u8vec4
 
typedef detail::uint16 highp_uint16
 
typedef detail::uint16 highp_uint16_t
 
typedef detail::uint32 highp_uint32
 
typedef detail::uint32 highp_uint32_t
 
typedef detail::uint64 highp_uint64
 
typedef detail::uint64 highp_uint64_t
 
typedef detail::uint8 highp_uint8
 
typedef detail::uint8 highp_uint8_t
 
typedef tvec1< float, highp > highp_vec1
 
typedef detail::int16 i16
 
typedef highp_i16vec1 i16vec1
 
typedef highp_i16vec2 i16vec2
 
typedef highp_i16vec3 i16vec3
 
typedef highp_i16vec4 i16vec4
 
typedef detail::int32 i32
 
typedef highp_i32vec1 i32vec1
 
typedef highp_i32vec2 i32vec2
 
typedef highp_i32vec3 i32vec3
 
typedef highp_i32vec4 i32vec4
 
typedef detail::int64 i64
 
typedef highp_i64vec1 i64vec1
 
typedef highp_i64vec2 i64vec2
 
typedef highp_i64vec3 i64vec3
 
typedef highp_i64vec4 i64vec4
 
typedef detail::int8 i8
 
typedef highp_i8vec1 i8vec1
 
typedef highp_i8vec2 i8vec2
 
typedef highp_i8vec3 i8vec3
 
typedef highp_i8vec4 i8vec4
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8_t
 
typedef tquat< double, lowp > lowp_dquat
 
typedef float32 lowp_f32
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef tmat2x2< f32, lowp > lowp_f32mat2x2
 
typedef tmat2x3< f32, lowp > lowp_f32mat2x3
 
typedef tmat2x4< f32, lowp > lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef tmat3x2< f32, lowp > lowp_f32mat3x2
 
typedef tmat3x3< f32, lowp > lowp_f32mat3x3
 
typedef tmat3x4< f32, lowp > lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef tmat4x2< f32, lowp > lowp_f32mat4x2
 
typedef tmat4x3< f32, lowp > lowp_f32mat4x3
 
typedef tmat4x4< f32, lowp > lowp_f32mat4x4
 
typedef tquat< f32, lowp > lowp_f32quat
 
typedef tvec1< f32, lowp > lowp_f32vec1
 
typedef tvec2< f32, lowp > lowp_f32vec2
 
typedef tvec3< f32, lowp > lowp_f32vec3
 
typedef tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef tmat2x2< f64, lowp > lowp_f64mat2x2
 
typedef tmat2x3< f64, lowp > lowp_f64mat2x3
 
typedef tmat2x4< f64, lowp > lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef tmat3x2< f64, lowp > lowp_f64mat3x2
 
typedef tmat3x3< f64, lowp > lowp_f64mat3x3
 
typedef tmat3x4< f64, lowp > lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef tmat4x2< f64, lowp > lowp_f64mat4x2
 
typedef tmat4x3< f64, lowp > lowp_f64mat4x3
 
typedef tmat4x4< f64, lowp > lowp_f64mat4x4
 
typedef tquat< f64, lowp > lowp_f64quat
 
typedef tvec1< f64, lowp > lowp_f64vec1
 
typedef tvec2< f64, lowp > lowp_f64vec2
 
typedef tvec3< f64, lowp > lowp_f64vec3
 
typedef tvec4< f64, lowp > lowp_f64vec4
 
typedef detail::float32 lowp_float32
 
typedef detail::float32 lowp_float32_t
 
typedef detail::float64 lowp_float64
 
typedef detail::float64 lowp_float64_t
 
typedef lowp_fmat2x2 lowp_fmat2
 
typedef tmat2x2< f32, lowp > lowp_fmat2x2
 
typedef tmat2x3< f32, lowp > lowp_fmat2x3
 
typedef tmat2x4< f32, lowp > lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef tmat3x2< f32, lowp > lowp_fmat3x2
 
typedef tmat3x3< f32, lowp > lowp_fmat3x3
 
typedef tmat3x4< f32, lowp > lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef tmat4x2< f32, lowp > lowp_fmat4x2
 
typedef tmat4x3< f32, lowp > lowp_fmat4x3
 
typedef tmat4x4< f32, lowp > lowp_fmat4x4
 
typedef lowp_quat lowp_fquat
 
typedef tvec1< float, lowp > lowp_fvec1
 
typedef tvec2< float, lowp > lowp_fvec2
 
typedef tvec3< float, lowp > lowp_fvec3
 
typedef tvec4< float, lowp > lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef tvec1< i16, lowp > lowp_i16vec1
 
typedef tvec2< i16, lowp > lowp_i16vec2
 
typedef tvec3< i16, lowp > lowp_i16vec3
 
typedef tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef tvec1< i32, lowp > lowp_i32vec1
 
typedef tvec2< i32, lowp > lowp_i32vec2
 
typedef tvec3< i32, lowp > lowp_i32vec3
 
typedef tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef tvec1< i64, lowp > lowp_i64vec1
 
typedef tvec2< i64, lowp > lowp_i64vec2
 
typedef tvec3< i64, lowp > lowp_i64vec3
 
typedef tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef tvec1< i8, lowp > lowp_i8vec1
 
typedef tvec2< i8, lowp > lowp_i8vec2
 
typedef tvec3< i8, lowp > lowp_i8vec3
 
typedef tvec4< i8, lowp > lowp_i8vec4
 
typedef detail::int16 lowp_int16
 
typedef detail::int16 lowp_int16_t
 
typedef detail::int32 lowp_int32
 
typedef detail::int32 lowp_int32_t
 
typedef detail::int64 lowp_int64
 
typedef detail::int64 lowp_int64_t
 
typedef detail::int8 lowp_int8
 
typedef detail::int8 lowp_int8_t
 
typedef tquat< float, lowp > lowp_quat
 
typedef detail::uint16 lowp_u16
 
typedef tvec1< u16, lowp > lowp_u16vec1
 
typedef tvec2< u16, lowp > lowp_u16vec2
 
typedef tvec3< u16, lowp > lowp_u16vec3
 
typedef tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef tvec1< u32, lowp > lowp_u32vec1
 
typedef tvec2< u32, lowp > lowp_u32vec2
 
typedef tvec3< u32, lowp > lowp_u32vec3
 
typedef tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef tvec1< u64, lowp > lowp_u64vec1
 
typedef tvec2< u64, lowp > lowp_u64vec2
 
typedef tvec3< u64, lowp > lowp_u64vec3
 
typedef tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef tvec1< u8, lowp > lowp_u8vec1
 
typedef tvec2< u8, lowp > lowp_u8vec2
 
typedef tvec3< u8, lowp > lowp_u8vec3
 
typedef tvec4< u8, lowp > lowp_u8vec4
 
typedef detail::uint16 lowp_uint16
 
typedef detail::uint16 lowp_uint16_t
 
typedef detail::uint32 lowp_uint32
 
typedef detail::uint32 lowp_uint32_t
 
typedef detail::uint64 lowp_uint64
 
typedef detail::uint64 lowp_uint64_t
 
typedef detail::uint8 lowp_uint8
 
typedef detail::uint8 lowp_uint8_t
 
typedef tvec1< float, lowp > lowp_vec1
 
typedef tquat< double, mediump > mediump_dquat
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef tmat2x2< f32, mediump > mediump_f32mat2x2
 
typedef tmat2x3< f32, mediump > mediump_f32mat2x3
 
typedef tmat2x4< f32, mediump > mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef tmat3x2< f32, mediump > mediump_f32mat3x2
 
typedef tmat3x3< f32, mediump > mediump_f32mat3x3
 
typedef tmat3x4< f32, mediump > mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef tmat4x2< f32, mediump > mediump_f32mat4x2
 
typedef tmat4x3< f32, mediump > mediump_f32mat4x3
 
typedef tmat4x4< f32, mediump > mediump_f32mat4x4
 
typedef tquat< f32, mediump > mediump_f32quat
 
typedef tvec1< f32, mediump > mediump_f32vec1
 
typedef tvec2< f32, mediump > mediump_f32vec2
 
typedef tvec3< f32, mediump > mediump_f32vec3
 
typedef tvec4< f32, mediump > mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef tmat2x2< f64, mediump > mediump_f64mat2x2
 
typedef tmat2x3< f64, mediump > mediump_f64mat2x3
 
typedef tmat2x4< f64, mediump > mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef tmat3x2< f64, mediump > mediump_f64mat3x2
 
typedef tmat3x3< f64, mediump > mediump_f64mat3x3
 
typedef tmat3x4< f64, mediump > mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef tmat4x2< f64, mediump > mediump_f64mat4x2
 
typedef tmat4x3< f64, mediump > mediump_f64mat4x3
 
typedef tmat4x4< f64, mediump > mediump_f64mat4x4
 
typedef tquat< f64, mediump > mediump_f64quat
 
typedef tvec1< f64, mediump > mediump_f64vec1
 
typedef tvec2< f64, mediump > mediump_f64vec2
 
typedef tvec3< f64, mediump > mediump_f64vec3
 
typedef tvec4< f64, mediump > mediump_f64vec4
 
typedef detail::float32 mediump_float32
 
typedef detail::float32 mediump_float32_t
 
typedef detail::float64 mediump_float64
 
typedef detail::float64 mediump_float64_t
 
typedef mediump_fmat2x2 mediump_fmat2
 
typedef tmat2x2< f32, mediump > mediump_fmat2x2
 
typedef tmat2x3< f32, mediump > mediump_fmat2x3
 
typedef tmat2x4< f32, mediump > mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef tmat3x2< f32, mediump > mediump_fmat3x2
 
typedef tmat3x3< f32, mediump > mediump_fmat3x3
 
typedef tmat3x4< f32, mediump > mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef tmat4x2< f32, mediump > mediump_fmat4x2
 
typedef tmat4x3< f32, mediump > mediump_fmat4x3
 
typedef tmat4x4< f32, mediump > mediump_fmat4x4
 
typedef mediump_quat mediump_fquat
 
typedef tvec1< float, mediump > mediump_fvec1
 
typedef tvec2< float, mediump > mediump_fvec2
 
typedef tvec3< float, mediump > mediump_fvec3
 
typedef tvec4< float, mediump > mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef tvec1< i16, mediump > mediump_i16vec1
 
typedef tvec2< i16, mediump > mediump_i16vec2
 
typedef tvec3< i16, mediump > mediump_i16vec3
 
typedef tvec4< i16, mediump > mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef tvec1< i32, mediump > mediump_i32vec1
 
typedef tvec2< i32, mediump > mediump_i32vec2
 
typedef tvec3< i32, mediump > mediump_i32vec3
 
typedef tvec4< i32, mediump > mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef tvec1< i64, mediump > mediump_i64vec1
 
typedef tvec2< i64, mediump > mediump_i64vec2
 
typedef tvec3< i64, mediump > mediump_i64vec3
 
typedef tvec4< i64, mediump > mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef tvec1< i8, mediump > mediump_i8vec1
 
typedef tvec2< i8, mediump > mediump_i8vec2
 
typedef tvec3< i8, mediump > mediump_i8vec3
 
typedef tvec4< i8, mediump > mediump_i8vec4
 
typedef detail::int16 mediump_int16
 
typedef detail::int16 mediump_int16_t
 
typedef detail::int32 mediump_int32
 
typedef detail::int32 mediump_int32_t
 
typedef detail::int64 mediump_int64
 
typedef detail::int64 mediump_int64_t
 
typedef detail::int8 mediump_int8
 
typedef detail::int8 mediump_int8_t
 
typedef tquat< float, mediump > mediump_quat
 
typedef detail::uint16 mediump_u16
 
typedef tvec1< u16, mediump > mediump_u16vec1
 
typedef tvec2< u16, mediump > mediump_u16vec2
 
typedef tvec3< u16, mediump > mediump_u16vec3
 
typedef tvec4< u16, mediump > mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef tvec1< u32, mediump > mediump_u32vec1
 
typedef tvec2< u32, mediump > mediump_u32vec2
 
typedef tvec3< u32, mediump > mediump_u32vec3
 
typedef tvec4< u32, mediump > mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef tvec1< u64, mediump > mediump_u64vec1
 
typedef tvec2< u64, mediump > mediump_u64vec2
 
typedef tvec3< u64, mediump > mediump_u64vec3
 
typedef tvec4< u64, mediump > mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef tvec1< u8, mediump > mediump_u8vec1
 
typedef tvec2< u8, mediump > mediump_u8vec2
 
typedef tvec3< u8, mediump > mediump_u8vec3
 
typedef tvec4< u8, mediump > mediump_u8vec4
 
typedef detail::uint16 mediump_uint16
 
typedef detail::uint16 mediump_uint16_t
 
typedef detail::uint32 mediump_uint32
 
typedef detail::uint32 mediump_uint32_t
 
typedef detail::uint64 mediump_uint64
 
typedef detail::uint64 mediump_uint64_t
 
typedef detail::uint8 mediump_uint8
 
typedef detail::uint8 mediump_uint8_t
 
typedef tvec1< float, mediump > mediump_vec1
 
-typedef highp_quat quat
 
typedef detail::uint16 u16
 
typedef highp_u16vec1 u16vec1
 
typedef highp_u16vec2 u16vec2
 
typedef highp_u16vec3 u16vec3
 
typedef highp_u16vec4 u16vec4
 
typedef detail::uint32 u32
 
typedef highp_u32vec1 u32vec1
 
typedef highp_u32vec2 u32vec2
 
typedef highp_u32vec3 u32vec3
 
typedef highp_u32vec4 u32vec4
 
typedef detail::uint64 u64
 
typedef highp_u64vec1 u64vec1
 
typedef highp_u64vec2 u64vec2
 
typedef highp_u64vec3 u64vec3
 
typedef highp_u64vec4 u64vec4
 
typedef detail::uint8 u8
 
typedef highp_u8vec1 u8vec1
 
typedef highp_u8vec2 u8vec2
 
typedef highp_u8vec3 u8vec3
 
typedef highp_u8vec4 u8vec4
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8_t
 

+Functions

template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool all (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool any (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > equal (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > not_ (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-03-30 / 2013-03-31
-
Author
Christophe Riccio
+

GLM Core

+
Date
2008-08-03 / 2011-06-15
+
Author
Christophe Riccio
+
See also
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
-

Definition in file fwd.hpp.

+

Definition in file func_vector_relational.hpp.

diff --git a/doc/api/a00037_source.html b/doc/api/a00037_source.html index d9423274..3dd92e80 100644 --- a/doc/api/a00037_source.html +++ b/doc/api/a00037_source.html @@ -3,8 +3,8 @@ - -0.9.6: fwd.hpp Source File + +0.9.7: func_vector_relational.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
fwd.hpp
+
func_vector_relational.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "detail/type_int.hpp"
-
36 #include "detail/type_float.hpp"
-
37 #include "detail/type_vec.hpp"
-
38 #include "detail/type_mat.hpp"
-
39 
-
41 // GLM_GTC_quaternion
-
42 namespace glm
-
43 {
-
44  template <typename T, precision P> struct tquat;
-
45 
-
49  typedef tquat<float, lowp> lowp_quat;
-
50 
-
54  typedef tquat<float, mediump> mediump_quat;
-
55 
-
59  typedef tquat<float, highp> highp_quat;
-
60 
-
61 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
62  typedef highp_quat quat;
-
63 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
64  typedef mediump_quat quat;
-
65 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
-
66  typedef lowp_quat quat;
-
67 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
68  typedef highp_quat quat;
-
70 #endif
-
71 
-
75  typedef lowp_quat lowp_fquat;
-
76 
-
80  typedef mediump_quat mediump_fquat;
+
45 #pragma once
+
46 
+
47 #include "precision.hpp"
+
48 #include "setup.hpp"
+
49 
+
50 namespace glm
+
51 {
+
54 
+
61  template <typename T, precision P, template <typename, precision> class vecType>
+
62  GLM_FUNC_DECL vecType<bool, P> lessThan(vecType<T, P> const & x, vecType<T, P> const & y);
+
63 
+
70  template <typename T, precision P, template <typename, precision> class vecType>
+
71  GLM_FUNC_DECL vecType<bool, P> lessThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
+
72 
+
79  template <typename T, precision P, template <typename, precision> class vecType>
+
80  GLM_FUNC_DECL vecType<bool, P> greaterThan(vecType<T, P> const & x, vecType<T, P> const & y);
81 
-
85  typedef highp_quat highp_fquat;
-
86 
-
90  typedef quat fquat;
-
91 
-
92 
-
96  typedef tquat<double, lowp> lowp_dquat;
-
97 
-
101  typedef tquat<double, mediump> mediump_dquat;
-
102 
-
106  typedef tquat<double, highp> highp_dquat;
-
107 
-
108 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
-
109  typedef highp_dquat dquat;
-
110 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
-
111  typedef mediump_dquat dquat;
-
112 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
-
113  typedef lowp_dquat dquat;
-
114 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
-
115  typedef highp_dquat dquat;
-
119 #endif
-
120 
-
121 }//namespace glm
-
122 
-
124 // GLM_GTC_precision
-
125 namespace glm
-
126 {
-
129 
-
132  typedef detail::int8 lowp_int8;
-
133 
-
136  typedef detail::int16 lowp_int16;
-
137 
-
140  typedef detail::int32 lowp_int32;
-
141 
-
144  typedef detail::int64 lowp_int64;
-
145 
-
148  typedef detail::int8 lowp_int8_t;
-
149 
-
152  typedef detail::int16 lowp_int16_t;
-
153 
-
156  typedef detail::int32 lowp_int32_t;
-
157 
-
160  typedef detail::int64 lowp_int64_t;
-
161 
-
164  typedef detail::int8 lowp_i8;
-
165 
-
168  typedef detail::int16 lowp_i16;
-
169 
-
172  typedef detail::int32 lowp_i32;
-
173 
-
176  typedef detail::int64 lowp_i64;
-
177 
-
180  typedef detail::int8 mediump_int8;
-
181 
-
184  typedef detail::int16 mediump_int16;
-
185 
-
188  typedef detail::int32 mediump_int32;
-
189 
-
192  typedef detail::int64 mediump_int64;
-
193 
-
196  typedef detail::int8 mediump_int8_t;
-
197 
-
200  typedef detail::int16 mediump_int16_t;
-
201 
-
204  typedef detail::int32 mediump_int32_t;
-
205 
-
208  typedef detail::int64 mediump_int64_t;
-
209 
-
212  typedef detail::int8 mediump_i8;
-
213 
-
216  typedef detail::int16 mediump_i16;
-
217 
-
220  typedef detail::int32 mediump_i32;
-
221 
-
224  typedef detail::int64 mediump_i64;
-
225 
-
228  typedef detail::int8 highp_int8;
-
229 
-
232  typedef detail::int16 highp_int16;
-
233 
-
236  typedef detail::int32 highp_int32;
-
237 
-
240  typedef detail::int64 highp_int64;
-
241 
-
244  typedef detail::int8 highp_int8_t;
-
245 
-
248  typedef detail::int16 highp_int16_t;
-
249 
-
252  typedef detail::int32 highp_int32_t;
-
253 
-
256  typedef detail::int64 highp_int64_t;
-
257 
-
260  typedef detail::int8 highp_i8;
-
261 
-
264  typedef detail::int16 highp_i16;
-
265 
-
268  typedef detail::int32 highp_i32;
-
269 
-
272  typedef detail::int64 highp_i64;
-
273 
-
274 
-
277  typedef detail::int8 int8;
-
278 
-
281  typedef detail::int16 int16;
-
282 
-
285  typedef detail::int32 int32;
-
286 
-
289  typedef detail::int64 int64;
-
290 
-
291 
-
292 #if GLM_HAS_EXTENDED_INTEGER_TYPE
-
293  using std::int8_t;
-
294  using std::int16_t;
-
295  using std::int32_t;
-
296  using std::int64_t;
-
297 #else
-
298  typedef detail::int8 int8_t;
-
301 
-
304  typedef detail::int16 int16_t;
-
305 
-
308  typedef detail::int32 int32_t;
-
309 
-
312  typedef detail::int64 int64_t;
-
313 #endif
-
314 
-
317  typedef detail::int8 i8;
-
318 
-
321  typedef detail::int16 i16;
-
322 
-
325  typedef detail::int32 i32;
-
326 
-
329  typedef detail::int64 i64;
-
330 
-
331 
-
332 
-
335  typedef tvec1<i8, lowp> lowp_i8vec1;
-
336 
-
339  typedef tvec2<i8, lowp> lowp_i8vec2;
-
340 
-
343  typedef tvec3<i8, lowp> lowp_i8vec3;
-
344 
-
347  typedef tvec4<i8, lowp> lowp_i8vec4;
-
348 
-
349 
-
352  typedef tvec1<i8, mediump> mediump_i8vec1;
-
353 
-
356  typedef tvec2<i8, mediump> mediump_i8vec2;
-
357 
-
360  typedef tvec3<i8, mediump> mediump_i8vec3;
-
361 
-
364  typedef tvec4<i8, mediump> mediump_i8vec4;
-
365 
-
366 
-
369  typedef tvec1<i8, highp> highp_i8vec1;
-
370 
-
373  typedef tvec2<i8, highp> highp_i8vec2;
-
374 
-
377  typedef tvec3<i8, highp> highp_i8vec3;
-
378 
-
381  typedef tvec4<i8, highp> highp_i8vec4;
-
382 
-
383 #if(defined(GLM_PRECISION_LOWP_INT))
-
384  typedef lowp_i8vec1 i8vec1;
-
385  typedef lowp_i8vec2 i8vec2;
-
386  typedef lowp_i8vec3 i8vec3;
-
387  typedef lowp_i8vec4 i8vec4;
-
388 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
389  typedef mediump_i8vec1 i8vec1;
-
390  typedef mediump_i8vec2 i8vec2;
-
391  typedef mediump_i8vec3 i8vec3;
-
392  typedef mediump_i8vec4 i8vec4;
-
393 #else
-
394  typedef highp_i8vec1 i8vec1;
-
397 
-
400  typedef highp_i8vec2 i8vec2;
-
401 
-
404  typedef highp_i8vec3 i8vec3;
-
405 
-
408  typedef highp_i8vec4 i8vec4;
-
409 #endif
-
410 
-
411 
-
414  typedef tvec1<i16, lowp> lowp_i16vec1;
-
415 
-
418  typedef tvec2<i16, lowp> lowp_i16vec2;
-
419 
-
422  typedef tvec3<i16, lowp> lowp_i16vec3;
-
423 
-
426  typedef tvec4<i16, lowp> lowp_i16vec4;
-
427 
-
428 
-
431  typedef tvec1<i16, mediump> mediump_i16vec1;
-
432 
-
435  typedef tvec2<i16, mediump> mediump_i16vec2;
-
436 
-
439  typedef tvec3<i16, mediump> mediump_i16vec3;
-
440 
-
443  typedef tvec4<i16, mediump> mediump_i16vec4;
-
444 
-
445 
-
448  typedef tvec1<i16, highp> highp_i16vec1;
-
449 
-
452  typedef tvec2<i16, highp> highp_i16vec2;
-
453 
-
456  typedef tvec3<i16, highp> highp_i16vec3;
-
457 
-
460  typedef tvec4<i16, highp> highp_i16vec4;
-
461 
-
462 
-
463 #if(defined(GLM_PRECISION_LOWP_INT))
-
464  typedef lowp_i16vec1 i16vec1;
-
465  typedef lowp_i16vec2 i16vec2;
-
466  typedef lowp_i16vec3 i16vec3;
-
467  typedef lowp_i16vec4 i16vec4;
-
468 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
469  typedef mediump_i16vec1 i16vec1;
-
470  typedef mediump_i16vec2 i16vec2;
-
471  typedef mediump_i16vec3 i16vec3;
-
472  typedef mediump_i16vec4 i16vec4;
-
473 #else
-
474  typedef highp_i16vec1 i16vec1;
-
477 
-
480  typedef highp_i16vec2 i16vec2;
-
481 
-
484  typedef highp_i16vec3 i16vec3;
-
485 
-
488  typedef highp_i16vec4 i16vec4;
-
489 #endif
-
490 
-
491 
-
494  typedef tvec1<i32, lowp> lowp_i32vec1;
-
495 
-
498  typedef tvec2<i32, lowp> lowp_i32vec2;
-
499 
-
502  typedef tvec3<i32, lowp> lowp_i32vec3;
-
503 
-
506  typedef tvec4<i32, lowp> lowp_i32vec4;
-
507 
-
508 
-
511  typedef tvec1<i32, mediump> mediump_i32vec1;
-
512 
-
515  typedef tvec2<i32, mediump> mediump_i32vec2;
-
516 
-
519  typedef tvec3<i32, mediump> mediump_i32vec3;
-
520 
-
523  typedef tvec4<i32, mediump> mediump_i32vec4;
-
524 
-
525 
-
528  typedef tvec1<i32, highp> highp_i32vec1;
-
529 
-
532  typedef tvec2<i32, highp> highp_i32vec2;
-
533 
-
536  typedef tvec3<i32, highp> highp_i32vec3;
-
537 
-
540  typedef tvec4<i32, highp> highp_i32vec4;
-
541 
-
542 #if(defined(GLM_PRECISION_LOWP_INT))
-
543  typedef lowp_i32vec1 i32vec1;
-
544  typedef lowp_i32vec2 i32vec2;
-
545  typedef lowp_i32vec3 i32vec3;
-
546  typedef lowp_i32vec4 i32vec4;
-
547 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
548  typedef mediump_i32vec1 i32vec1;
-
549  typedef mediump_i32vec2 i32vec2;
-
550  typedef mediump_i32vec3 i32vec3;
-
551  typedef mediump_i32vec4 i32vec4;
-
552 #else
-
553  typedef highp_i32vec1 i32vec1;
-
556 
-
559  typedef highp_i32vec2 i32vec2;
-
560 
-
563  typedef highp_i32vec3 i32vec3;
-
564 
-
567  typedef highp_i32vec4 i32vec4;
-
568 #endif
-
569 
-
570 
-
573  typedef tvec1<i32, lowp> lowp_i32vec1;
-
574 
-
577  typedef tvec2<i32, lowp> lowp_i32vec2;
-
578 
-
581  typedef tvec3<i32, lowp> lowp_i32vec3;
-
582 
-
585  typedef tvec4<i32, lowp> lowp_i32vec4;
-
586 
-
587 
-
590  typedef tvec1<i32, mediump> mediump_i32vec1;
-
591 
-
594  typedef tvec2<i32, mediump> mediump_i32vec2;
-
595 
-
598  typedef tvec3<i32, mediump> mediump_i32vec3;
-
599 
-
602  typedef tvec4<i32, mediump> mediump_i32vec4;
-
603 
-
604 
-
607  typedef tvec1<i32, highp> highp_i32vec1;
-
608 
-
611  typedef tvec2<i32, highp> highp_i32vec2;
-
612 
-
615  typedef tvec3<i32, highp> highp_i32vec3;
-
616 
-
619  typedef tvec4<i32, highp> highp_i32vec4;
-
620 
-
621 #if(defined(GLM_PRECISION_LOWP_INT))
-
622  typedef lowp_i32vec1 i32vec1;
-
623  typedef lowp_i32vec2 i32vec2;
-
624  typedef lowp_i32vec3 i32vec3;
-
625  typedef lowp_i32vec4 i32vec4;
-
626 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
627  typedef mediump_i32vec1 i32vec1;
-
628  typedef mediump_i32vec2 i32vec2;
-
629  typedef mediump_i32vec3 i32vec3;
-
630  typedef mediump_i32vec4 i32vec4;
-
631 #else
-
632  typedef highp_i32vec1 i32vec1;
-
635 
-
638  typedef highp_i32vec2 i32vec2;
-
639 
-
642  typedef highp_i32vec3 i32vec3;
-
643 
-
646  typedef highp_i32vec4 i32vec4;
-
647 #endif
-
648 
-
649 
-
650 
-
653  typedef tvec1<i64, lowp> lowp_i64vec1;
-
654 
-
657  typedef tvec2<i64, lowp> lowp_i64vec2;
-
658 
-
661  typedef tvec3<i64, lowp> lowp_i64vec3;
-
662 
-
665  typedef tvec4<i64, lowp> lowp_i64vec4;
-
666 
-
667 
-
670  typedef tvec1<i64, mediump> mediump_i64vec1;
-
671 
-
674  typedef tvec2<i64, mediump> mediump_i64vec2;
-
675 
-
678  typedef tvec3<i64, mediump> mediump_i64vec3;
-
679 
-
682  typedef tvec4<i64, mediump> mediump_i64vec4;
-
683 
-
684 
-
687  typedef tvec1<i64, highp> highp_i64vec1;
-
688 
-
691  typedef tvec2<i64, highp> highp_i64vec2;
-
692 
-
695  typedef tvec3<i64, highp> highp_i64vec3;
-
696 
-
699  typedef tvec4<i64, highp> highp_i64vec4;
-
700 
-
701 #if(defined(GLM_PRECISION_LOWP_INT))
-
702  typedef lowp_i64vec1 i64vec1;
-
703  typedef lowp_i64vec2 i64vec2;
-
704  typedef lowp_i64vec3 i64vec3;
-
705  typedef lowp_i64vec4 i64vec4;
-
706 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
707  typedef mediump_i64vec1 i64vec1;
-
708  typedef mediump_i64vec2 i64vec2;
-
709  typedef mediump_i64vec3 i64vec3;
-
710  typedef mediump_i64vec4 i64vec4;
-
711 #else
-
712  typedef highp_i64vec1 i64vec1;
-
715 
-
718  typedef highp_i64vec2 i64vec2;
-
719 
-
722  typedef highp_i64vec3 i64vec3;
-
723 
-
726  typedef highp_i64vec4 i64vec4;
-
727 #endif
-
728 
-
729 
-
731  // Unsigned int vector types
-
732 
-
735  typedef detail::uint8 lowp_uint8;
-
736 
-
739  typedef detail::uint16 lowp_uint16;
-
740 
-
743  typedef detail::uint32 lowp_uint32;
-
744 
-
747  typedef detail::uint64 lowp_uint64;
-
748 
-
749 
-
752  typedef detail::uint8 lowp_uint8_t;
-
753 
-
756  typedef detail::uint16 lowp_uint16_t;
-
757 
-
760  typedef detail::uint32 lowp_uint32_t;
-
761 
-
764  typedef detail::uint64 lowp_uint64_t;
-
765 
-
766 
-
769  typedef detail::uint8 lowp_u8;
-
770 
-
773  typedef detail::uint16 lowp_u16;
-
774 
-
777  typedef detail::uint32 lowp_u32;
-
778 
-
781  typedef detail::uint64 lowp_u64;
-
782 
-
783 
-
784 
-
787  typedef detail::uint8 mediump_uint8;
-
788 
-
791  typedef detail::uint16 mediump_uint16;
-
792 
-
795  typedef detail::uint32 mediump_uint32;
-
796 
-
799  typedef detail::uint64 mediump_uint64;
-
800 
-
803  typedef detail::uint8 mediump_uint8_t;
-
804 
-
807  typedef detail::uint16 mediump_uint16_t;
-
808 
-
811  typedef detail::uint32 mediump_uint32_t;
-
812 
-
815  typedef detail::uint64 mediump_uint64_t;
-
816 
-
819  typedef detail::uint8 mediump_u8;
-
820 
-
823  typedef detail::uint16 mediump_u16;
-
824 
-
827  typedef detail::uint32 mediump_u32;
-
828 
-
831  typedef detail::uint64 mediump_u64;
-
832 
-
833 
-
834 
-
837  typedef detail::uint8 highp_uint8;
-
838 
-
841  typedef detail::uint16 highp_uint16;
-
842 
-
845  typedef detail::uint32 highp_uint32;
-
846 
-
849  typedef detail::uint64 highp_uint64;
-
850 
-
853  typedef detail::uint8 highp_uint8_t;
-
854 
-
857  typedef detail::uint16 highp_uint16_t;
-
858 
-
861  typedef detail::uint32 highp_uint32_t;
-
862 
-
865  typedef detail::uint64 highp_uint64_t;
-
866 
-
869  typedef detail::uint8 highp_u8;
-
870 
-
873  typedef detail::uint16 highp_u16;
-
874 
-
877  typedef detail::uint32 highp_u32;
-
878 
-
881  typedef detail::uint64 highp_u64;
-
882 
-
883 
-
884 
-
887  typedef detail::uint8 uint8;
-
888 
-
891  typedef detail::uint16 uint16;
-
892 
-
895  typedef detail::uint32 uint32;
-
896 
-
899  typedef detail::uint64 uint64;
-
900 
-
901 #if GLM_HAS_EXTENDED_INTEGER_TYPE
-
902  using std::uint8_t;
-
903  using std::uint16_t;
-
904  using std::uint32_t;
-
905  using std::uint64_t;
-
906 #else
-
907  typedef detail::uint8 uint8_t;
-
910 
-
913  typedef detail::uint16 uint16_t;
-
914 
-
917  typedef detail::uint32 uint32_t;
-
918 
-
921  typedef detail::uint64 uint64_t;
-
922 #endif
-
923 
-
926  typedef detail::uint8 u8;
-
927 
-
930  typedef detail::uint16 u16;
-
931 
-
934  typedef detail::uint32 u32;
-
935 
-
938  typedef detail::uint64 u64;
-
939 
-
940 
-
941 
-
944  typedef tvec1<u8, lowp> lowp_u8vec1;
-
945 
-
948  typedef tvec2<u8, lowp> lowp_u8vec2;
-
949 
-
952  typedef tvec3<u8, lowp> lowp_u8vec3;
-
953 
-
956  typedef tvec4<u8, lowp> lowp_u8vec4;
-
957 
-
958 
-
961  typedef tvec1<u8, mediump> mediump_u8vec1;
-
962 
-
965  typedef tvec2<u8, mediump> mediump_u8vec2;
-
966 
-
969  typedef tvec3<u8, mediump> mediump_u8vec3;
-
970 
-
973  typedef tvec4<u8, mediump> mediump_u8vec4;
-
974 
-
975 
-
978  typedef tvec1<u8, highp> highp_u8vec1;
-
979 
-
982  typedef tvec2<u8, highp> highp_u8vec2;
-
983 
-
986  typedef tvec3<u8, highp> highp_u8vec3;
-
987 
-
990  typedef tvec4<u8, highp> highp_u8vec4;
-
991 
-
992 #if(defined(GLM_PRECISION_LOWP_INT))
-
993  typedef lowp_u8vec1 u8vec1;
-
994  typedef lowp_u8vec2 u8vec2;
-
995  typedef lowp_u8vec3 u8vec3;
-
996  typedef lowp_u8vec4 u8vec4;
-
997 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
998  typedef mediump_u8vec1 u8vec1;
-
999  typedef mediump_u8vec2 u8vec2;
-
1000  typedef mediump_u8vec3 u8vec3;
-
1001  typedef mediump_u8vec4 u8vec4;
-
1002 #else
-
1003  typedef highp_u8vec1 u8vec1;
-
1006 
-
1009  typedef highp_u8vec2 u8vec2;
-
1010 
-
1013  typedef highp_u8vec3 u8vec3;
-
1014 
-
1017  typedef highp_u8vec4 u8vec4;
-
1018 #endif
-
1019 
-
1020 
-
1023  typedef tvec1<u16, lowp> lowp_u16vec1;
-
1024 
-
1027  typedef tvec2<u16, lowp> lowp_u16vec2;
-
1028 
-
1031  typedef tvec3<u16, lowp> lowp_u16vec3;
-
1032 
-
1035  typedef tvec4<u16, lowp> lowp_u16vec4;
-
1036 
-
1037 
-
1040  typedef tvec1<u16, mediump> mediump_u16vec1;
-
1041 
-
1044  typedef tvec2<u16, mediump> mediump_u16vec2;
-
1045 
-
1048  typedef tvec3<u16, mediump> mediump_u16vec3;
-
1049 
-
1052  typedef tvec4<u16, mediump> mediump_u16vec4;
-
1053 
-
1054 
-
1057  typedef tvec1<u16, highp> highp_u16vec1;
-
1058 
-
1061  typedef tvec2<u16, highp> highp_u16vec2;
-
1062 
-
1065  typedef tvec3<u16, highp> highp_u16vec3;
-
1066 
-
1069  typedef tvec4<u16, highp> highp_u16vec4;
-
1070 
-
1071 
-
1072 #if(defined(GLM_PRECISION_LOWP_INT))
-
1073  typedef lowp_u16vec1 u16vec1;
-
1074  typedef lowp_u16vec2 u16vec2;
-
1075  typedef lowp_u16vec3 u16vec3;
-
1076  typedef lowp_u16vec4 u16vec4;
-
1077 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
1078  typedef mediump_u16vec1 u16vec1;
-
1079  typedef mediump_u16vec2 u16vec2;
-
1080  typedef mediump_u16vec3 u16vec3;
-
1081  typedef mediump_u16vec4 u16vec4;
-
1082 #else
-
1083  typedef highp_u16vec1 u16vec1;
-
1086 
-
1089  typedef highp_u16vec2 u16vec2;
-
1090 
-
1093  typedef highp_u16vec3 u16vec3;
-
1094 
-
1097  typedef highp_u16vec4 u16vec4;
-
1098 #endif
-
1099 
-
1100 
-
1103  typedef tvec1<u32, lowp> lowp_u32vec1;
-
1104 
-
1107  typedef tvec2<u32, lowp> lowp_u32vec2;
-
1108 
-
1111  typedef tvec3<u32, lowp> lowp_u32vec3;
-
1112 
-
1115  typedef tvec4<u32, lowp> lowp_u32vec4;
-
1116 
-
1117 
-
1120  typedef tvec1<u32, mediump> mediump_u32vec1;
-
1121 
-
1124  typedef tvec2<u32, mediump> mediump_u32vec2;
-
1125 
-
1128  typedef tvec3<u32, mediump> mediump_u32vec3;
-
1129 
-
1132  typedef tvec4<u32, mediump> mediump_u32vec4;
-
1133 
-
1134 
-
1137  typedef tvec1<u32, highp> highp_u32vec1;
-
1138 
-
1141  typedef tvec2<u32, highp> highp_u32vec2;
-
1142 
-
1145  typedef tvec3<u32, highp> highp_u32vec3;
-
1146 
-
1149  typedef tvec4<u32, highp> highp_u32vec4;
-
1150 
-
1151 #if(defined(GLM_PRECISION_LOWP_INT))
-
1152  typedef lowp_u32vec1 u32vec1;
-
1153  typedef lowp_u32vec2 u32vec2;
-
1154  typedef lowp_u32vec3 u32vec3;
-
1155  typedef lowp_u32vec4 u32vec4;
-
1156 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
1157  typedef mediump_u32vec1 u32vec1;
-
1158  typedef mediump_u32vec2 u32vec2;
-
1159  typedef mediump_u32vec3 u32vec3;
-
1160  typedef mediump_u32vec4 u32vec4;
-
1161 #else
-
1162  typedef highp_u32vec1 u32vec1;
-
1165 
-
1168  typedef highp_u32vec2 u32vec2;
-
1169 
-
1172  typedef highp_u32vec3 u32vec3;
-
1173 
-
1176  typedef highp_u32vec4 u32vec4;
-
1177 #endif
-
1178 
-
1179 
-
1182  typedef tvec1<u32, lowp> lowp_u32vec1;
-
1183 
-
1186  typedef tvec2<u32, lowp> lowp_u32vec2;
-
1187 
-
1190  typedef tvec3<u32, lowp> lowp_u32vec3;
-
1191 
-
1194  typedef tvec4<u32, lowp> lowp_u32vec4;
-
1195 
-
1196 
-
1199  typedef tvec1<u32, mediump> mediump_u32vec1;
-
1200 
-
1203  typedef tvec2<u32, mediump> mediump_u32vec2;
-
1204 
-
1207  typedef tvec3<u32, mediump> mediump_u32vec3;
-
1208 
-
1211  typedef tvec4<u32, mediump> mediump_u32vec4;
-
1212 
-
1213 
-
1216  typedef tvec1<u32, highp> highp_u32vec1;
-
1217 
-
1220  typedef tvec2<u32, highp> highp_u32vec2;
-
1221 
-
1224  typedef tvec3<u32, highp> highp_u32vec3;
-
1225 
-
1228  typedef tvec4<u32, highp> highp_u32vec4;
-
1229 
-
1230 #if(defined(GLM_PRECISION_LOWP_INT))
-
1231  typedef lowp_u32vec1 u32vec1;
-
1232  typedef lowp_u32vec2 u32vec2;
-
1233  typedef lowp_u32vec3 u32vec3;
-
1234  typedef lowp_u32vec4 u32vec4;
-
1235 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
1236  typedef mediump_u32vec1 u32vec1;
-
1237  typedef mediump_u32vec2 u32vec2;
-
1238  typedef mediump_u32vec3 u32vec3;
-
1239  typedef mediump_u32vec4 u32vec4;
-
1240 #else
-
1241  typedef highp_u32vec1 u32vec1;
-
1244 
-
1247  typedef highp_u32vec2 u32vec2;
-
1248 
-
1251  typedef highp_u32vec3 u32vec3;
-
1252 
-
1255  typedef highp_u32vec4 u32vec4;
-
1256 #endif
-
1257 
-
1258 
-
1259 
-
1262  typedef tvec1<u64, lowp> lowp_u64vec1;
-
1263 
-
1266  typedef tvec2<u64, lowp> lowp_u64vec2;
-
1267 
-
1270  typedef tvec3<u64, lowp> lowp_u64vec3;
-
1271 
-
1274  typedef tvec4<u64, lowp> lowp_u64vec4;
-
1275 
-
1276 
-
1279  typedef tvec1<u64, mediump> mediump_u64vec1;
-
1280 
-
1283  typedef tvec2<u64, mediump> mediump_u64vec2;
-
1284 
-
1287  typedef tvec3<u64, mediump> mediump_u64vec3;
-
1288 
-
1291  typedef tvec4<u64, mediump> mediump_u64vec4;
-
1292 
-
1293 
-
1296  typedef tvec1<u64, highp> highp_u64vec1;
-
1297 
-
1300  typedef tvec2<u64, highp> highp_u64vec2;
-
1301 
-
1304  typedef tvec3<u64, highp> highp_u64vec3;
-
1305 
-
1308  typedef tvec4<u64, highp> highp_u64vec4;
-
1309 
-
1310 #if(defined(GLM_PRECISION_LOWP_UINT))
-
1311  typedef lowp_u64vec1 u64vec1;
-
1312  typedef lowp_u64vec2 u64vec2;
-
1313  typedef lowp_u64vec3 u64vec3;
-
1314  typedef lowp_u64vec4 u64vec4;
-
1315 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
-
1316  typedef mediump_u64vec1 u64vec1;
-
1317  typedef mediump_u64vec2 u64vec2;
-
1318  typedef mediump_u64vec3 u64vec3;
-
1319  typedef mediump_u64vec4 u64vec4;
-
1320 #else
-
1321  typedef highp_u64vec1 u64vec1;
-
1324 
-
1327  typedef highp_u64vec2 u64vec2;
-
1328 
-
1331  typedef highp_u64vec3 u64vec3;
-
1332 
-
1335  typedef highp_u64vec4 u64vec4;
-
1336 #endif
-
1337 
-
1338 
-
1340  // Float vector types
-
1341 
-
1344  typedef detail::float32 lowp_float32;
-
1345 
-
1348  typedef detail::float64 lowp_float64;
-
1349 
-
1352  typedef detail::float32 lowp_float32_t;
-
1353 
-
1356  typedef detail::float64 lowp_float64_t;
-
1357 
- -
1361 
- -
1365 
-
1368  typedef detail::float32 lowp_float32;
-
1369 
-
1372  typedef detail::float64 lowp_float64;
-
1373 
-
1376  typedef detail::float32 lowp_float32_t;
-
1377 
-
1380  typedef detail::float64 lowp_float64_t;
-
1381 
-
1384  typedef float32 lowp_f32;
-
1385 
-
1388  typedef float64 lowp_f64;
-
1389 
-
1390 
-
1393  typedef detail::float32 lowp_float32;
-
1394 
-
1397  typedef detail::float64 lowp_float64;
-
1398 
-
1401  typedef detail::float32 lowp_float32_t;
-
1402 
-
1405  typedef detail::float64 lowp_float64_t;
-
1406 
-
1409  typedef float32 lowp_f32;
-
1410 
-
1413  typedef float64 lowp_f64;
-
1414 
-
1415 
-
1418  typedef detail::float32 mediump_float32;
-
1419 
-
1422  typedef detail::float64 mediump_float64;
-
1423 
-
1426  typedef detail::float32 mediump_float32_t;
-
1427 
-
1430  typedef detail::float64 mediump_float64_t;
-
1431 
- -
1435 
- -
1439 
-
1440 
-
1443  typedef detail::float32 highp_float32;
-
1444 
-
1447  typedef detail::float64 highp_float64;
-
1448 
-
1451  typedef detail::float32 highp_float32_t;
-
1452 
-
1455  typedef detail::float64 highp_float64_t;
-
1456 
- -
1460 
- -
1464 
-
1465 
-
1466 #if(defined(GLM_PRECISION_LOWP_FLOAT))
-
1467  typedef lowp_float32 float32;
-
1470 
-
1473  typedef lowp_float64 float64;
-
1474 
-
1477  typedef lowp_float32_t float32_t;
-
1478 
-
1481  typedef lowp_float64_t float64_t;
-
1482 
-
1485  typedef lowp_f32 f32;
-
1486 
-
1489  typedef lowp_f64 f64;
-
1490 
-
1491 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
1492 
-
1495  typedef mediump_float32 float32;
-
1496 
-
1499  typedef mediump_float64 float64;
-
1500 
-
1503  typedef mediump_float32 float32_t;
-
1504 
-
1507  typedef mediump_float64 float64_t;
-
1508 
-
1511  typedef mediump_float32 f32;
-
1512 
-
1515  typedef mediump_float64 f64;
-
1516 
-
1517 #else//(defined(GLM_PRECISION_HIGHP_FLOAT))
-
1518 
-
1521  typedef highp_float32 float32;
-
1522 
-
1525  typedef highp_float64 float64;
-
1526 
-
1529  typedef highp_float32_t float32_t;
-
1530 
-
1533  typedef highp_float64_t float64_t;
-
1534 
-
1537  typedef highp_float32_t f32;
-
1538 
-
1541  typedef highp_float64_t f64;
-
1542 #endif
-
1543 
-
1544 
-
1547  typedef tvec1<float, lowp> lowp_vec1;
-
1548 
-
1551  typedef tvec2<float, lowp> lowp_vec2;
-
1552 
-
1555  typedef tvec3<float, lowp> lowp_vec3;
-
1556 
-
1559  typedef tvec4<float, lowp> lowp_vec4;
-
1560 
-
1563  typedef tvec1<float, lowp> lowp_fvec1;
-
1564 
-
1567  typedef tvec2<float, lowp> lowp_fvec2;
-
1568 
-
1571  typedef tvec3<float, lowp> lowp_fvec3;
-
1572 
-
1575  typedef tvec4<float, lowp> lowp_fvec4;
-
1576 
-
1577 
-
1580  typedef tvec1<float, mediump> mediump_vec1;
-
1581 
-
1584  typedef tvec2<float, mediump> mediump_vec2;
-
1585 
-
1588  typedef tvec3<float, mediump> mediump_vec3;
-
1589 
-
1592  typedef tvec4<float, mediump> mediump_vec4;
-
1593 
-
1596  typedef tvec1<float, mediump> mediump_fvec1;
-
1597 
-
1600  typedef tvec2<float, mediump> mediump_fvec2;
-
1601 
-
1604  typedef tvec3<float, mediump> mediump_fvec3;
-
1605 
-
1608  typedef tvec4<float, mediump> mediump_fvec4;
-
1609 
-
1610 
-
1613  typedef tvec1<float, highp> highp_vec1;
-
1614 
-
1617  typedef tvec2<float, highp> highp_vec2;
-
1618 
-
1621  typedef tvec3<float, highp> highp_vec3;
-
1622 
-
1625  typedef tvec4<float, highp> highp_vec4;
-
1626 
-
1629  typedef tvec1<float, highp> highp_fvec1;
-
1630 
-
1633  typedef tvec2<float, highp> highp_fvec2;
-
1634 
-
1637  typedef tvec3<float, highp> highp_fvec3;
-
1638 
-
1641  typedef tvec4<float, highp> highp_fvec4;
-
1642 
-
1643 
-
1646  typedef tvec1<f32, lowp> lowp_f32vec1;
-
1647 
-
1650  typedef tvec2<f32, lowp> lowp_f32vec2;
-
1651 
-
1654  typedef tvec3<f32, lowp> lowp_f32vec3;
-
1655 
-
1658  typedef tvec4<f32, lowp> lowp_f32vec4;
-
1659 
-
1662  typedef tvec1<f32, mediump> mediump_f32vec1;
-
1663 
-
1666  typedef tvec2<f32, mediump> mediump_f32vec2;
-
1667 
-
1670  typedef tvec3<f32, mediump> mediump_f32vec3;
-
1671 
-
1674  typedef tvec4<f32, mediump> mediump_f32vec4;
-
1675 
-
1678  typedef tvec1<f32, highp> highp_f32vec1;
-
1679 
-
1682  typedef tvec2<f32, highp> highp_f32vec2;
-
1683 
-
1686  typedef tvec3<f32, highp> highp_f32vec3;
-
1687 
-
1690  typedef tvec4<f32, highp> highp_f32vec4;
-
1691 
-
1692 
-
1695  typedef tvec1<f64, lowp> lowp_f64vec1;
-
1696 
-
1699  typedef tvec2<f64, lowp> lowp_f64vec2;
-
1700 
-
1703  typedef tvec3<f64, lowp> lowp_f64vec3;
-
1704 
-
1707  typedef tvec4<f64, lowp> lowp_f64vec4;
-
1708 
-
1711  typedef tvec1<f64, mediump> mediump_f64vec1;
-
1712 
-
1715  typedef tvec2<f64, mediump> mediump_f64vec2;
-
1716 
-
1719  typedef tvec3<f64, mediump> mediump_f64vec3;
-
1720 
-
1723  typedef tvec4<f64, mediump> mediump_f64vec4;
-
1724 
-
1727  typedef tvec1<f64, highp> highp_f64vec1;
-
1728 
-
1731  typedef tvec2<f64, highp> highp_f64vec2;
-
1732 
-
1735  typedef tvec3<f64, highp> highp_f64vec3;
-
1736 
-
1739  typedef tvec4<f64, highp> highp_f64vec4;
-
1740 
-
1741 
-
1743  // Float matrix types
-
1744 
-
1747  //typedef lowp_f32 lowp_fmat1x1;
-
1748 
-
1751  typedef tmat2x2<f32, lowp> lowp_fmat2x2;
-
1752 
-
1755  typedef tmat2x3<f32, lowp> lowp_fmat2x3;
-
1756 
-
1759  typedef tmat2x4<f32, lowp> lowp_fmat2x4;
-
1760 
-
1763  typedef tmat3x2<f32, lowp> lowp_fmat3x2;
-
1764 
-
1767  typedef tmat3x3<f32, lowp> lowp_fmat3x3;
-
1768 
-
1771  typedef tmat3x4<f32, lowp> lowp_fmat3x4;
-
1772 
-
1775  typedef tmat4x2<f32, lowp> lowp_fmat4x2;
-
1776 
-
1779  typedef tmat4x3<f32, lowp> lowp_fmat4x3;
-
1780 
-
1783  typedef tmat4x4<f32, lowp> lowp_fmat4x4;
-
1784 
-
1787  //typedef lowp_fmat1x1 lowp_fmat1;
-
1788 
-
1791  typedef lowp_fmat2x2 lowp_fmat2;
-
1792 
-
1795  typedef lowp_fmat3x3 lowp_fmat3;
-
1796 
-
1799  typedef lowp_fmat4x4 lowp_fmat4;
-
1800 
-
1801 
-
1804  //typedef mediump_f32 mediump_fmat1x1;
-
1805 
-
1808  typedef tmat2x2<f32, mediump> mediump_fmat2x2;
-
1809 
-
1812  typedef tmat2x3<f32, mediump> mediump_fmat2x3;
-
1813 
-
1816  typedef tmat2x4<f32, mediump> mediump_fmat2x4;
-
1817 
-
1820  typedef tmat3x2<f32, mediump> mediump_fmat3x2;
-
1821 
-
1824  typedef tmat3x3<f32, mediump> mediump_fmat3x3;
-
1825 
-
1828  typedef tmat3x4<f32, mediump> mediump_fmat3x4;
-
1829 
-
1832  typedef tmat4x2<f32, mediump> mediump_fmat4x2;
-
1833 
-
1836  typedef tmat4x3<f32, mediump> mediump_fmat4x3;
-
1837 
-
1840  typedef tmat4x4<f32, mediump> mediump_fmat4x4;
-
1841 
-
1844  //typedef mediump_fmat1x1 mediump_fmat1;
-
1845 
-
1848  typedef mediump_fmat2x2 mediump_fmat2;
-
1849 
-
1852  typedef mediump_fmat3x3 mediump_fmat3;
-
1853 
-
1856  typedef mediump_fmat4x4 mediump_fmat4;
-
1857 
-
1858 
-
1861  //typedef highp_f32 highp_fmat1x1;
-
1862 
-
1865  typedef tmat2x2<f32, highp> highp_fmat2x2;
-
1866 
-
1869  typedef tmat2x3<f32, highp> highp_fmat2x3;
-
1870 
-
1873  typedef tmat2x4<f32, highp> highp_fmat2x4;
-
1874 
-
1877  typedef tmat3x2<f32, highp> highp_fmat3x2;
-
1878 
-
1881  typedef tmat3x3<f32, highp> highp_fmat3x3;
-
1882 
-
1885  typedef tmat3x4<f32, highp> highp_fmat3x4;
-
1886 
-
1889  typedef tmat4x2<f32, highp> highp_fmat4x2;
-
1890 
-
1893  typedef tmat4x3<f32, highp> highp_fmat4x3;
-
1894 
-
1897  typedef tmat4x4<f32, highp> highp_fmat4x4;
-
1898 
-
1901  //typedef highp_fmat1x1 highp_fmat1;
-
1902 
-
1905  typedef highp_fmat2x2 highp_fmat2;
-
1906 
-
1909  typedef highp_fmat3x3 highp_fmat3;
-
1910 
-
1913  typedef highp_fmat4x4 highp_fmat4;
-
1914 
-
1915 
-
1918  //typedef f32 lowp_f32mat1x1;
-
1919 
-
1922  typedef tmat2x2<f32, lowp> lowp_f32mat2x2;
-
1923 
-
1926  typedef tmat2x3<f32, lowp> lowp_f32mat2x3;
-
1927 
-
1930  typedef tmat2x4<f32, lowp> lowp_f32mat2x4;
-
1931 
-
1934  typedef tmat3x2<f32, lowp> lowp_f32mat3x2;
-
1935 
-
1938  typedef tmat3x3<f32, lowp> lowp_f32mat3x3;
-
1939 
-
1942  typedef tmat3x4<f32, lowp> lowp_f32mat3x4;
-
1943 
-
1946  typedef tmat4x2<f32, lowp> lowp_f32mat4x2;
-
1947 
-
1950  typedef tmat4x3<f32, lowp> lowp_f32mat4x3;
-
1951 
-
1954  typedef tmat4x4<f32, lowp> lowp_f32mat4x4;
-
1955 
-
1958  //typedef detail::tmat1x1<f32, lowp> lowp_f32mat1;
-
1959 
-
1962  typedef lowp_f32mat2x2 lowp_f32mat2;
-
1963 
-
1966  typedef lowp_f32mat3x3 lowp_f32mat3;
-
1967 
-
1970  typedef lowp_f32mat4x4 lowp_f32mat4;
-
1971 
-
1972 
-
1975  //typedef f32 mediump_f32mat1x1;
-
1976 
-
1979  typedef tmat2x2<f32, mediump> mediump_f32mat2x2;
-
1980 
-
1983  typedef tmat2x3<f32, mediump> mediump_f32mat2x3;
-
1984 
-
1987  typedef tmat2x4<f32, mediump> mediump_f32mat2x4;
-
1988 
-
1991  typedef tmat3x2<f32, mediump> mediump_f32mat3x2;
-
1992 
-
1995  typedef tmat3x3<f32, mediump> mediump_f32mat3x3;
-
1996 
-
1999  typedef tmat3x4<f32, mediump> mediump_f32mat3x4;
-
2000 
-
2003  typedef tmat4x2<f32, mediump> mediump_f32mat4x2;
-
2004 
-
2007  typedef tmat4x3<f32, mediump> mediump_f32mat4x3;
-
2008 
-
2011  typedef tmat4x4<f32, mediump> mediump_f32mat4x4;
-
2012 
-
2015  //typedef detail::tmat1x1<f32, mediump> f32mat1;
-
2016 
-
2019  typedef mediump_f32mat2x2 mediump_f32mat2;
-
2020 
-
2023  typedef mediump_f32mat3x3 mediump_f32mat3;
-
2024 
-
2027  typedef mediump_f32mat4x4 mediump_f32mat4;
-
2028 
-
2029 
-
2032  //typedef f32 highp_f32mat1x1;
-
2033 
-
2036  typedef tmat2x2<f32, highp> highp_f32mat2x2;
-
2037 
-
2040  typedef tmat2x3<f32, highp> highp_f32mat2x3;
-
2041 
-
2044  typedef tmat2x4<f32, highp> highp_f32mat2x4;
-
2045 
-
2048  typedef tmat3x2<f32, highp> highp_f32mat3x2;
-
2049 
-
2052  typedef tmat3x3<f32, highp> highp_f32mat3x3;
-
2053 
-
2056  typedef tmat3x4<f32, highp> highp_f32mat3x4;
-
2057 
-
2060  typedef tmat4x2<f32, highp> highp_f32mat4x2;
-
2061 
-
2064  typedef tmat4x3<f32, highp> highp_f32mat4x3;
-
2065 
-
2068  typedef tmat4x4<f32, highp> highp_f32mat4x4;
-
2069 
-
2072  //typedef detail::tmat1x1<f32, highp> f32mat1;
-
2073 
-
2076  typedef highp_f32mat2x2 highp_f32mat2;
-
2077 
-
2080  typedef highp_f32mat3x3 highp_f32mat3;
-
2081 
-
2084  typedef highp_f32mat4x4 highp_f32mat4;
-
2085 
-
2086 
-
2089  //typedef f64 lowp_f64mat1x1;
-
2090 
-
2093  typedef tmat2x2<f64, lowp> lowp_f64mat2x2;
-
2094 
-
2097  typedef tmat2x3<f64, lowp> lowp_f64mat2x3;
-
2098 
-
2101  typedef tmat2x4<f64, lowp> lowp_f64mat2x4;
-
2102 
-
2105  typedef tmat3x2<f64, lowp> lowp_f64mat3x2;
-
2106 
-
2109  typedef tmat3x3<f64, lowp> lowp_f64mat3x3;
-
2110 
-
2113  typedef tmat3x4<f64, lowp> lowp_f64mat3x4;
-
2114 
-
2117  typedef tmat4x2<f64, lowp> lowp_f64mat4x2;
-
2118 
-
2121  typedef tmat4x3<f64, lowp> lowp_f64mat4x3;
-
2122 
-
2125  typedef tmat4x4<f64, lowp> lowp_f64mat4x4;
-
2126 
-
2129  //typedef lowp_f64mat1x1 lowp_f64mat1;
-
2130 
-
2133  typedef lowp_f64mat2x2 lowp_f64mat2;
-
2134 
-
2137  typedef lowp_f64mat3x3 lowp_f64mat3;
-
2138 
-
2141  typedef lowp_f64mat4x4 lowp_f64mat4;
-
2142 
-
2143 
-
2146  //typedef f64 Highp_f64mat1x1;
-
2147 
-
2150  typedef tmat2x2<f64, mediump> mediump_f64mat2x2;
-
2151 
-
2154  typedef tmat2x3<f64, mediump> mediump_f64mat2x3;
-
2155 
-
2158  typedef tmat2x4<f64, mediump> mediump_f64mat2x4;
-
2159 
-
2162  typedef tmat3x2<f64, mediump> mediump_f64mat3x2;
-
2163 
-
2166  typedef tmat3x3<f64, mediump> mediump_f64mat3x3;
-
2167 
-
2170  typedef tmat3x4<f64, mediump> mediump_f64mat3x4;
-
2171 
-
2174  typedef tmat4x2<f64, mediump> mediump_f64mat4x2;
-
2175 
-
2178  typedef tmat4x3<f64, mediump> mediump_f64mat4x3;
-
2179 
-
2182  typedef tmat4x4<f64, mediump> mediump_f64mat4x4;
-
2183 
-
2186  //typedef mediump_f64mat1x1 mediump_f64mat1;
-
2187 
-
2190  typedef mediump_f64mat2x2 mediump_f64mat2;
-
2191 
-
2194  typedef mediump_f64mat3x3 mediump_f64mat3;
-
2195 
-
2198  typedef mediump_f64mat4x4 mediump_f64mat4;
-
2199 
-
2202  //typedef f64 highp_f64mat1x1;
-
2203 
-
2206  typedef tmat2x2<f64, highp> highp_f64mat2x2;
-
2207 
-
2210  typedef tmat2x3<f64, highp> highp_f64mat2x3;
-
2211 
-
2214  typedef tmat2x4<f64, highp> highp_f64mat2x4;
-
2215 
-
2218  typedef tmat3x2<f64, highp> highp_f64mat3x2;
-
2219 
-
2222  typedef tmat3x3<f64, highp> highp_f64mat3x3;
-
2223 
-
2226  typedef tmat3x4<f64, highp> highp_f64mat3x4;
-
2227 
-
2230  typedef tmat4x2<f64, highp> highp_f64mat4x2;
-
2231 
-
2234  typedef tmat4x3<f64, highp> highp_f64mat4x3;
-
2235 
-
2238  typedef tmat4x4<f64, highp> highp_f64mat4x4;
-
2239 
-
2242  //typedef highp_f64mat1x1 highp_f64mat1;
-
2243 
-
2246  typedef highp_f64mat2x2 highp_f64mat2;
-
2247 
-
2250  typedef highp_f64mat3x3 highp_f64mat3;
-
2251 
-
2254  typedef highp_f64mat4x4 highp_f64mat4;
-
2255 
-
2257  // Quaternion types
-
2258 
-
2261  typedef tquat<f32, lowp> lowp_f32quat;
-
2262 
-
2265  typedef tquat<f64, lowp> lowp_f64quat;
-
2266 
-
2269  typedef tquat<f32, mediump> mediump_f32quat;
-
2270 
-
2273  typedef tquat<f64, mediump> mediump_f64quat;
-
2274 
-
2277  typedef tquat<f32, highp> highp_f32quat;
-
2278 
-
2281  typedef tquat<f64, highp> highp_f64quat;
-
2282 
-
2283 
-
2284 #if(defined(GLM_PRECISION_LOWP_FLOAT))
-
2285  typedef lowp_f32vec1 fvec1;
-
2286  typedef lowp_f32vec2 fvec2;
-
2287  typedef lowp_f32vec3 fvec3;
-
2288  typedef lowp_f32vec4 fvec4;
-
2289  typedef lowp_f32mat2 fmat2;
-
2290  typedef lowp_f32mat3 fmat3;
-
2291  typedef lowp_f32mat4 fmat4;
-
2292  typedef lowp_f32mat2x2 fmat2x2;
-
2293  typedef lowp_f32mat3x2 fmat3x2;
-
2294  typedef lowp_f32mat4x2 fmat4x2;
-
2295  typedef lowp_f32mat2x3 fmat2x3;
-
2296  typedef lowp_f32mat3x3 fmat3x3;
-
2297  typedef lowp_f32mat4x3 fmat4x3;
-
2298  typedef lowp_f32mat2x4 fmat2x4;
-
2299  typedef lowp_f32mat3x4 fmat3x4;
-
2300  typedef lowp_f32mat4x4 fmat4x4;
-
2301  typedef lowp_f32quat fquat;
-
2302 
-
2303  typedef lowp_f32vec1 f32vec1;
-
2304  typedef lowp_f32vec2 f32vec2;
-
2305  typedef lowp_f32vec3 f32vec3;
-
2306  typedef lowp_f32vec4 f32vec4;
-
2307  typedef lowp_f32mat2 f32mat2;
-
2308  typedef lowp_f32mat3 f32mat3;
-
2309  typedef lowp_f32mat4 f32mat4;
-
2310  typedef lowp_f32mat2x2 f32mat2x2;
-
2311  typedef lowp_f32mat3x2 f32mat3x2;
-
2312  typedef lowp_f32mat4x2 f32mat4x2;
-
2313  typedef lowp_f32mat2x3 f32mat2x3;
-
2314  typedef lowp_f32mat3x3 f32mat3x3;
-
2315  typedef lowp_f32mat4x3 f32mat4x3;
-
2316  typedef lowp_f32mat2x4 f32mat2x4;
-
2317  typedef lowp_f32mat3x4 f32mat3x4;
-
2318  typedef lowp_f32mat4x4 f32mat4x4;
-
2319  typedef lowp_f32quat f32quat;
-
2320 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
2321  typedef mediump_f32vec1 fvec1;
-
2322  typedef mediump_f32vec2 fvec2;
-
2323  typedef mediump_f32vec3 fvec3;
-
2324  typedef mediump_f32vec4 fvec4;
-
2325  typedef mediump_f32mat2 fmat2;
-
2326  typedef mediump_f32mat3 fmat3;
-
2327  typedef mediump_f32mat4 fmat4;
-
2328  typedef mediump_f32mat2x2 fmat2x2;
-
2329  typedef mediump_f32mat3x2 fmat3x2;
-
2330  typedef mediump_f32mat4x2 fmat4x2;
-
2331  typedef mediump_f32mat2x3 fmat2x3;
-
2332  typedef mediump_f32mat3x3 fmat3x3;
-
2333  typedef mediump_f32mat4x3 fmat4x3;
-
2334  typedef mediump_f32mat2x4 fmat2x4;
-
2335  typedef mediump_f32mat3x4 fmat3x4;
-
2336  typedef mediump_f32mat4x4 fmat4x4;
-
2337  typedef mediump_f32quat fquat;
-
2338 
-
2339  typedef mediump_f32vec1 f32vec1;
-
2340  typedef mediump_f32vec2 f32vec2;
-
2341  typedef mediump_f32vec3 f32vec3;
-
2342  typedef mediump_f32vec4 f32vec4;
-
2343  typedef mediump_f32mat2 f32mat2;
-
2344  typedef mediump_f32mat3 f32mat3;
-
2345  typedef mediump_f32mat4 f32mat4;
-
2346  typedef mediump_f32mat2x2 f32mat2x2;
-
2347  typedef mediump_f32mat3x2 f32mat3x2;
-
2348  typedef mediump_f32mat4x2 f32mat4x2;
-
2349  typedef mediump_f32mat2x3 f32mat2x3;
-
2350  typedef mediump_f32mat3x3 f32mat3x3;
-
2351  typedef mediump_f32mat4x3 f32mat4x3;
-
2352  typedef mediump_f32mat2x4 f32mat2x4;
-
2353  typedef mediump_f32mat3x4 f32mat3x4;
-
2354  typedef mediump_f32mat4x4 f32mat4x4;
-
2355  typedef mediump_f32quat f32quat;
-
2356 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT))
-
2357  typedef highp_f32vec1 fvec1;
-
2360 
-
2363  typedef highp_f32vec2 fvec2;
-
2364 
-
2367  typedef highp_f32vec3 fvec3;
-
2368 
-
2371  typedef highp_f32vec4 fvec4;
-
2372 
-
2375  typedef highp_f32mat2x2 fmat2x2;
-
2376 
-
2379  typedef highp_f32mat2x3 fmat2x3;
-
2380 
-
2383  typedef highp_f32mat2x4 fmat2x4;
-
2384 
-
2387  typedef highp_f32mat3x2 fmat3x2;
-
2388 
-
2391  typedef highp_f32mat3x3 fmat3x3;
-
2392 
-
2395  typedef highp_f32mat3x4 fmat3x4;
-
2396 
-
2399  typedef highp_f32mat4x2 fmat4x2;
-
2400 
-
2403  typedef highp_f32mat4x3 fmat4x3;
-
2404 
-
2407  typedef highp_f32mat4x4 fmat4x4;
-
2408 
-
2411  typedef fmat2x2 fmat2;
-
2412 
-
2415  typedef fmat3x3 fmat3;
-
2416 
-
2419  typedef fmat4x4 fmat4;
-
2420 
-
2423  typedef highp_fquat fquat;
-
2424 
-
2425 
-
2426 
-
2429  typedef highp_f32vec1 f32vec1;
-
2430 
-
2433  typedef highp_f32vec2 f32vec2;
-
2434 
-
2437  typedef highp_f32vec3 f32vec3;
-
2438 
-
2441  typedef highp_f32vec4 f32vec4;
-
2442 
-
2445  typedef highp_f32mat2x2 f32mat2x2;
-
2446 
-
2449  typedef highp_f32mat2x3 f32mat2x3;
-
2450 
-
2453  typedef highp_f32mat2x4 f32mat2x4;
-
2454 
-
2457  typedef highp_f32mat3x2 f32mat3x2;
-
2458 
-
2461  typedef highp_f32mat3x3 f32mat3x3;
-
2462 
-
2465  typedef highp_f32mat3x4 f32mat3x4;
-
2466 
-
2469  typedef highp_f32mat4x2 f32mat4x2;
-
2470 
-
2473  typedef highp_f32mat4x3 f32mat4x3;
-
2474 
-
2477  typedef highp_f32mat4x4 f32mat4x4;
-
2478 
-
2481  typedef f32mat2x2 f32mat2;
-
2482 
-
2485  typedef f32mat3x3 f32mat3;
-
2486 
-
2489  typedef f32mat4x4 f32mat4;
-
2490 
-
2493  typedef highp_f32quat f32quat;
-
2494 #endif
-
2495 
-
2496 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
-
2497  typedef lowp_f64vec1 f64vec1;
-
2498  typedef lowp_f64vec2 f64vec2;
-
2499  typedef lowp_f64vec3 f64vec3;
-
2500  typedef lowp_f64vec4 f64vec4;
-
2501  typedef lowp_f64mat2 f64mat2;
-
2502  typedef lowp_f64mat3 f64mat3;
-
2503  typedef lowp_f64mat4 f64mat4;
-
2504  typedef lowp_f64mat2x2 f64mat2x2;
-
2505  typedef lowp_f64mat3x2 f64mat3x2;
-
2506  typedef lowp_f64mat4x2 f64mat4x2;
-
2507  typedef lowp_f64mat2x3 f64mat2x3;
-
2508  typedef lowp_f64mat3x3 f64mat3x3;
-
2509  typedef lowp_f64mat4x3 f64mat4x3;
-
2510  typedef lowp_f64mat2x4 f64mat2x4;
-
2511  typedef lowp_f64mat3x4 f64mat3x4;
-
2512  typedef lowp_f64mat4x4 f64mat4x4;
-
2513  typedef lowp_f64quat f64quat;
-
2514 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
-
2515  typedef mediump_f64vec1 f64vec1;
-
2516  typedef mediump_f64vec2 f64vec2;
-
2517  typedef mediump_f64vec3 f64vec3;
-
2518  typedef mediump_f64vec4 f64vec4;
-
2519  typedef mediump_f64mat2 f64mat2;
-
2520  typedef mediump_f64mat3 f64mat3;
-
2521  typedef mediump_f64mat4 f64mat4;
-
2522  typedef mediump_f64mat2x2 f64mat2x2;
-
2523  typedef mediump_f64mat3x2 f64mat3x2;
-
2524  typedef mediump_f64mat4x2 f64mat4x2;
-
2525  typedef mediump_f64mat2x3 f64mat2x3;
-
2526  typedef mediump_f64mat3x3 f64mat3x3;
-
2527  typedef mediump_f64mat4x3 f64mat4x3;
-
2528  typedef mediump_f64mat2x4 f64mat2x4;
-
2529  typedef mediump_f64mat3x4 f64mat3x4;
-
2530  typedef mediump_f64mat4x4 f64mat4x4;
-
2531  typedef mediump_f64quat f64quat;
-
2532 #else
-
2533  typedef highp_f64vec1 f64vec1;
-
2536 
-
2539  typedef highp_f64vec2 f64vec2;
-
2540 
-
2543  typedef highp_f64vec3 f64vec3;
-
2544 
-
2547  typedef highp_f64vec4 f64vec4;
-
2548 
-
2551  typedef highp_f64mat2x2 f64mat2x2;
-
2552 
-
2555  typedef highp_f64mat2x3 f64mat2x3;
-
2556 
-
2559  typedef highp_f64mat2x4 f64mat2x4;
-
2560 
-
2563  typedef highp_f64mat3x2 f64mat3x2;
-
2564 
-
2567  typedef highp_f64mat3x3 f64mat3x3;
-
2568 
-
2571  typedef highp_f64mat3x4 f64mat3x4;
-
2572 
-
2575  typedef highp_f64mat4x2 f64mat4x2;
-
2576 
-
2579  typedef highp_f64mat4x3 f64mat4x3;
-
2580 
-
2583  typedef highp_f64mat4x4 f64mat4x4;
-
2584 
-
2587  typedef f64mat2x2 f64mat2;
-
2588 
-
2591  typedef f64mat3x3 f64mat3;
-
2592 
-
2595  typedef f64mat4x4 f64mat4;
-
2596 
-
2599  typedef highp_f64quat f64quat;
-
2600 #endif
-
2601 }//namespace glm
-
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:228
-
tvec4< u16, mediump > mediump_u16vec4
Medium precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1052
-
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:747
-
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:488
-
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2433
-
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:752
-
tvec4< i16, lowp > lowp_i16vec4
Low precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:426
-
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:264
-
mediump_f32mat2x2 mediump_f32mat2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2019
-
highp_fmat4x4 highp_fmat4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1913
-
tmat3x2< f32, highp > highp_fmat3x2
High single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1877
-
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2465
-
tmat2x4< f32, mediump > mediump_f32mat2x4
Medium single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1987
-
tmat3x4< f32, mediump > mediump_f32mat3x4
Medium single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1999
-
tmat2x2< f32, mediump > mediump_fmat2x2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1808
-
tvec2< i8, mediump > mediump_i8vec2
Medium precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:356
-
tvec1< u32, lowp > lowp_u32vec1
Low precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1103
-
tvec4< i8, lowp > lowp_i8vec4
Low precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:347
-
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:921
-
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2469
-
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1085
-
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2359
-
tmat4x3< f64, highp > highp_f64mat4x3
High double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2234
-
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:873
-
tvec1< u64, lowp > lowp_u64vec1
Low precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1262
-
tvec2< i8, highp > highp_i8vec2
High precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:373
-
tmat3x2< f32, mediump > mediump_fmat3x2
Medium single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1820
-
tvec4< i64, highp > highp_i64vec4
High precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:699
-
tvec2< f64, mediump > mediump_f64vec2
Medium double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1715
-
tvec4< u32, lowp > lowp_u32vec4
Low precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1115
-
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:555
-
tvec2< f64, highp > highp_f64vec2
High double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1731
-
tvec2< f64, lowp > lowp_f64vec2
Low double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1699
-
tmat2x3< f32, mediump > mediump_f32mat2x3
Medium single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1983
-
tvec2< u64, lowp > lowp_u64vec2
Low precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1266
-
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:184
-
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1533
-
tmat3x4< f32, highp > highp_f32mat3x4
High single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2056
-
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:777
-
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1327
-
tmat4x2< f32, mediump > mediump_fmat4x2
Medium single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1832
-
tmat2x3< f32, highp > highp_fmat2x3
High single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1869
-
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:480
-
OpenGL Mathematics (glm.g-truc.net)
-
detail::float32 mediump_float32
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1418
-
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:917
-
tvec2< i32, highp > highp_i32vec2
High precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:532
-
tmat2x2< f64, highp > highp_f64mat2x2
High double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2206
-
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:308
-
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1089
-
detail::float32 mediump_float32_t
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1426
-
tvec3< u32, mediump > mediump_u32vec3
Medium precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1128
-
tvec1< i32, mediump > mediump_i32vec1
Medium precision 32 bit signed integer scalar type.
Definition: fwd.hpp:511
-
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2477
-
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:298
-
tvec1< u16, highp > highp_u16vec1
High precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1057
-
tvec4< i64, lowp > lowp_i64vec4
Low precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:665
-
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:567
-
tvec3< i64, highp > highp_i64vec3
High precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:695
-
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2387
-
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:83
-
tmat3x2< f32, lowp > lowp_f32mat3x2
Low single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1934
-
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:799
-
tvec3< u8, lowp > lowp_u8vec3
Low precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:952
-
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:230
-
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1323
-
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:176
-
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:252
-
tvec4< i16, highp > highp_i16vec4
High precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:460
-
tvec4< u8, mediump > mediump_u8vec4
Medium precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:973
-
tvec4< i32, highp > highp_i32vec4
High precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:540
-
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:144
-
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:152
-
highp_fmat2x2 highp_fmat2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1905
-
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:140
-
tmat2x3< f64, highp > highp_f64mat2x3
High double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2210
-
lowp_fmat2x2 lowp_fmat2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1791
-
tmat2x2< f32, highp > highp_f32mat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2036
-
detail::float64 highp_float64_t
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1455
-
tvec2< f32, mediump > mediump_f32vec2
Medium single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1666
-
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:769
-
tvec4< i32, lowp > lowp_i32vec4
Low precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:506
-
tmat4x3< f32, mediump > mediump_fmat4x3
Medium single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1836
-
mediump_f64mat4x4 mediump_f64mat4
Medium double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2198
-
lowp_fmat3x3 lowp_fmat3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1795
-
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:807
-
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2457
-
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:926
-
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:913
-
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:853
-
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2575
-
tmat4x4< f64, lowp > lowp_f64mat4x4
Low double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2125
-
tvec1< f32, highp > highp_f32vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1678
-
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:563
-
tquat< f64, lowp > lowp_f64quat
Low double-precision floating-point quaternion.
Definition: fwd.hpp:2265
-
tvec2< f32, highp > highp_f32vec2
High single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1682
-
tmat4x4< f32, mediump > mediump_fmat4x4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1840
-
tquat< f32, mediump > mediump_f32quat
Medium single-precision floating-point quaternion.
Definition: fwd.hpp:2269
-
tmat2x4< f32, mediump > mediump_fmat2x4
Medium single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1816
-
tvec1< float, highp > highp_vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1613
-
detail::float64 lowp_float64
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1348
-
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2407
-
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1005
-
tmat4x4< f32, highp > highp_fmat4x4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1897
-
tmat3x3< f32, highp > highp_fmat3x3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1881
-
tvec1< float, mediump > mediump_vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1580
-
tvec4< f32, highp > highp_f32vec4
High single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1690
-
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:164
-
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:260
-
tmat3x4< f64, mediump > mediump_f64mat3x4
Medium double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2170
-
tmat3x3< f64, mediump > mediump_f64mat3x3
Medium double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2166
-
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:232
-
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:84
-
tvec4< i64, mediump > mediump_i64vec4
Medium precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:682
-
tvec3< i16, lowp > lowp_i16vec3
Low precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:422
-
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2461
-
tvec1< u32, highp > highp_u32vec1
High precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1137
-
tmat3x4< f64, highp > highp_f64mat3x4
High double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2226
-
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:168
-
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:272
-
tmat2x4< f64, lowp > lowp_f64mat2x4
Low double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2101
-
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2367
-
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1176
-
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:304
-
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:292
-
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:484
-
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:232
-
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:132
-
tquat< f64, mediump > mediump_f64quat
Medium double-precision floating-point quaternion.
Definition: fwd.hpp:2273
-
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:136
-
lowp_f64mat3x3 lowp_f64mat3
Low double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2137
-
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2539
-
tvec1< u16, mediump > mediump_u16vec1
Medium precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1040
-
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:329
-
OpenGL Mathematics (glm.g-truc.net)
-
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:208
-
tmat3x4< f32, lowp > lowp_fmat3x4
Low single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1771
-
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2559
-
tmat4x2< f32, lowp > lowp_fmat4x2
Low single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1775
-
tmat4x2< f64, lowp > lowp_f64mat4x2
Low double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2117
-
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:795
-
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2485
-
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:819
-
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:938
-
tmat3x3< f64, highp > highp_f64mat3x3
High double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2222
-
tvec1< i32, highp > highp_i32vec1
High precision 32 bit signed integer scalar type.
Definition: fwd.hpp:528
-
tvec4< i16, mediump > mediump_i16vec4
Medium precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:443
-
tvec4< f32, lowp > lowp_f32vec4
Low single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1658
-
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1331
-
tvec1< i64, mediump > mediump_i64vec1
Medium precision 64 bit signed integer scalar type.
Definition: fwd.hpp:670
-
tvec2< i32, mediump > mediump_i32vec2
Medium precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:515
-
tvec3< u32, highp > highp_u32vec3
High precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1145
-
tmat4x4< f32, highp > highp_f32mat4x4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2068
-
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2599
-
float64 mediump_f64
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1438
-
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:180
-
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2449
-
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:881
-
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:240
-
tvec1< i8, highp > highp_i8vec1
High precision 8 bit signed integer scalar type.
Definition: fwd.hpp:369
-
tquat< f64, highp > highp_f64quat
High double-precision floating-point quaternion.
Definition: fwd.hpp:2281
-
detail::float64 highp_float64
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1447
-
tvec1< i64, lowp > lowp_i64vec1
Low precision 64 bit signed integer scalar type.
Definition: fwd.hpp:653
-
lowp_f64mat4x4 lowp_f64mat4
Low double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2141
-
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:229
-
tvec2< i64, lowp > lowp_i64vec2
Low precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:657
-
tvec2< float, highp > highp_fvec2
High Single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1633
-
tvec2< i64, mediump > mediump_i64vec2
Medium precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:674
-
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:231
-
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:827
-
tvec4< float, mediump > mediump_fvec4
Medium Single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1608
-
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:180
-
tmat2x2< f64, lowp > lowp_f64mat2x2
Low double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2093
-
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2415
-
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:224
-
highp_f32mat2x2 highp_f32mat2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2076
-
tvec1< u8, lowp > lowp_u8vec1
Low precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:944
-
tmat4x3< f64, mediump > mediump_f64mat4x3
Medium double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2178
-
tmat4x2< f32, mediump > mediump_f32mat4x2
Medium single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2003
-
detail::float64 lowp_float64_t
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1356
-
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2481
-
tvec2< i32, lowp > lowp_i32vec2
Low precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:498
-
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:811
-
tvec2< u64, mediump > mediump_u64vec2
Medium precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1283
-
tvec4< u64, mediump > mediump_u64vec4
Medium precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1291
-
tvec1< f32, lowp > lowp_f32vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1646
-
tmat2x4< f32, lowp > lowp_f32mat2x4
Low single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1930
-
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:787
-
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2437
-
highp_f64mat2x2 highp_f64mat2
High double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2246
-
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2473
-
tvec3< i32, lowp > lowp_i32vec3
Low precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:502
-
tmat2x4< f64, mediump > mediump_f64mat2x4
Medium double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2158
-
tvec1< u32, mediump > mediump_u32vec1
Medium precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1120
-
tvec3< i32, highp > highp_i32vec3
High precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:536
-
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2453
-
tmat2x3< f64, lowp > lowp_f64mat2x3
Low double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2097
-
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2547
-
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:803
-
tvec3< i64, mediump > mediump_i64vec3
Medium precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:678
-
tvec3< float, highp > highp_fvec3
High Single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1637
-
tvec1< i64, highp > highp_i64vec1
High precision 64 bit signed integer scalar type.
Definition: fwd.hpp:687
-
tvec4< u8, lowp > lowp_u8vec4
Low precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:956
-
tvec3< u32, lowp > lowp_u32vec3
Low precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1111
-
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:930
-
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:934
-
mediump_fmat4x4 mediump_fmat4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1856
-
tvec1< u8, mediump > mediump_u8vec1
Medium precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:961
-
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2399
-
tvec1< f64, lowp > lowp_f64vec1
Low double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1695
-
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2411
-
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2591
-
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:212
-
tvec2< u8, highp > highp_u8vec2
High precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:982
-
tvec3< u8, highp > highp_u8vec3
High precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:986
-
lowp_f64mat2x2 lowp_f64mat2
Low double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2133
-
tvec4< u64, highp > highp_u64vec4
High precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1308
-
float32 mediump_f32
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1434
-
tvec3< f32, mediump > mediump_f32vec3
Medium single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1670
-
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2567
-
tmat3x3< f32, lowp > lowp_f32mat3x3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1938
-
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:194
-
tvec1< i16, lowp > lowp_i16vec1
Low precision 16 bit signed integer scalar type.
Definition: fwd.hpp:414
-
tvec3< i8, highp > highp_i8vec3
High precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:377
-
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:200
-
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:791
-
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:268
-
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:718
-
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:69
-
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:400
-
tmat2x3< f32, mediump > mediump_fmat2x3
Medium single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1812
-
tvec1< u16, lowp > lowp_u16vec1
Low precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1023
-
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1529
-
tmat3x4< f32, mediump > mediump_fmat3x4
Medium single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1828
-
tvec4< u16, lowp > lowp_u16vec4
Low precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1035
-
lowp_f32mat3x3 lowp_f32mat3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1966
-
mediump_fmat3x3 mediump_fmat3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1852
-
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:735
-
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1013
-
tmat4x3< f32, lowp > lowp_fmat4x3
Low single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1779
-
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:877
-
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2391
-
tvec1< u64, mediump > mediump_u64vec1
Medium precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1279
-
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:408
-
tvec3< f32, lowp > lowp_f32vec3
Low single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1654
-
tvec1< i16, highp > highp_i16vec1
High precision 16 bit signed integer scalar type.
Definition: fwd.hpp:448
-
tvec2< u32, lowp > lowp_u32vec2
Low precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1107
-
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1541
-
tmat3x3< f32, highp > highp_f32mat3x3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2052
-
tmat2x2< f32, highp > highp_fmat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1865
-
tvec1< float, mediump > mediump_fvec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1596
-
tvec1< i8, mediump > mediump_i8vec1
Medium precision 8 bit signed integer scalar type.
Definition: fwd.hpp:352
-
tmat4x3< f32, highp > highp_fmat4x3
High single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1893
-
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1335
-
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:845
-
tmat2x4< f64, highp > highp_f64mat2x4
High double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2214
-
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:815
-
quat fquat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:90
-
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2555
-
tvec1< float, lowp > lowp_vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1547
-
float32 highp_f32
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1459
-
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1093
-
tmat2x3< f32, lowp > lowp_fmat2x3
Low single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1755
-
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:226
-
tvec3< i16, mediump > mediump_i16vec3
Medium precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:439
-
tvec3< i64, lowp > lowp_i64vec3
Low precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:661
-
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:869
-
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:156
-
tvec3< u16, highp > highp_u16vec3
High precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1065
-
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:196
-
detail::float32 highp_float32_t
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1451
-
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:714
-
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:396
-
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:861
-
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2363
-
mediump_f32mat4x4 mediump_f32mat4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2027
-
tvec4< u32, mediump > mediump_u32vec4
Medium precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1132
-
tvec3< f64, mediump > mediump_f64vec3
Medium double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1719
-
lowp_fmat4x4 lowp_fmat4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1799
-
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1537
-
tmat4x4< f64, highp > highp_f64mat4x4
High double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2238
-
tmat3x3< f32, mediump > mediump_fmat3x3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1824
-
tvec2< float, mediump > mediump_fvec2
Medium Single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1600
-
tvec3< float, lowp > lowp_fvec3
Low single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1571
-
tvec3< float, mediump > mediump_fvec3
Medium Single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1604
-
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:148
-
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2441
-
tvec3< f32, highp > highp_f32vec3
High single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1686
-
detail::float32 lowp_float32_t
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1352
-
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2489
-
tmat3x2< f32, mediump > mediump_f32mat3x2
Medium single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1991
-
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:192
-
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:831
-
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2375
-
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:722
-
float32 lowp_f32
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1360
-
tquat< f32, lowp > lowp_f32quat
Low single-precision floating-point quaternion.
Definition: fwd.hpp:2261
-
tvec4< u16, highp > highp_u16vec4
High precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1069
-
tvec4< float, lowp > lowp_fvec4
Low single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1575
-
detail::float64 mediump_float64_t
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1430
-
tmat2x2< f32, lowp > lowp_fmat2x2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1751
-
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:225
-
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:764
-
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1164
-
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:312
-
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:325
-
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:760
-
tvec4< u64, lowp > lowp_u64vec4
Low precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1274
-
float64 lowp_f64
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1364
-
tvec4< u32, highp > highp_u32vec4
High precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1149
-
mediump_f64mat3x3 mediump_f64mat3
Medium double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2194
-
tvec1< f32, mediump > mediump_f32vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1662
-
tmat2x4< f32, highp > highp_fmat2x4
High single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1873
-
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2445
-
tvec3< f64, lowp > lowp_f64vec3
Low double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1703
-
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2493
-
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:286
-
tvec2< u8, lowp > lowp_u8vec2
Low precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:948
-
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:321
-
tvec2< i16, mediump > mediump_i16vec2
Medium precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:435
-
highp_f64mat4x4 highp_f64mat4
High double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2254
-
tmat4x2< f32, highp > highp_fmat4x2
High single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1889
-
mediump_f64mat2x2 mediump_f64mat2
Medium double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2190
-
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1017
-
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:726
-
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:256
-
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:841
-
tmat2x4< f32, lowp > lowp_fmat2x4
Low single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1759
-
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2587
-
highp_fmat3x3 highp_fmat3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1909
-
tvec2< u8, mediump > mediump_u8vec2
Medium precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:965
-
tmat4x2< f64, highp > highp_f64mat4x2
High double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2230
-
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:160
-
tmat3x2< f32, highp > highp_f32mat3x2
High single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2048
-
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:248
-
tvec3< u8, mediump > mediump_u8vec3
Medium precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:969
-
tmat2x2< f64, mediump > mediump_f64mat2x2
Medium double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2150
-
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:220
-
tvec2< i64, highp > highp_i64vec2
High precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:691
-
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:837
-
tmat4x3< f32, mediump > mediump_f32mat4x3
Medium single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2007
-
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:244
-
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:300
-
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1172
-
mediump_fmat2x2 mediump_fmat2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1848
-
tmat3x4< f64, lowp > lowp_f64mat3x4
Low double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2113
-
tmat2x2< f32, lowp > lowp_f32mat2x2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1922
-
tmat4x4< f64, mediump > mediump_f64mat4x4
Medium double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2182
-
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:476
-
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:781
-
Definition: _noise.hpp:39
-
tvec3< u64, mediump > mediump_u64vec3
Medium precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1287
-
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2429
-
tvec1< f64, highp > highp_f64vec1
High double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1727
-
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2403
-
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:224
-
tvec4< f64, lowp > lowp_f64vec4
Low double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1707
-
tquat< f32, highp > highp_f32quat
High single-precision floating-point quaternion.
Definition: fwd.hpp:2277
-
tmat3x3< f64, lowp > lowp_f64mat3x3
Low double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2109
-
tmat4x2< f32, highp > highp_f32mat4x2
High single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2060
-
tmat3x2< f64, highp > highp_f64mat3x2
High double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2218
-
tvec4< float, highp > highp_fvec4
High Single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1641
-
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2583
-
float64 highp_f64
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1463
-
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:756
-
tvec2< u32, mediump > mediump_u32vec2
Medium precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1124
-
tmat3x2< f64, lowp > lowp_f64mat3x2
Low double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2105
-
tvec3< i16, highp > highp_i16vec3
High precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:456
-
tmat4x3< f64, lowp > lowp_f64mat4x3
Low double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2121
-
tmat4x4< f32, mediump > mediump_f32mat4x4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2011
-
OpenGL Mathematics (glm.g-truc.net)
-
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2595
-
tvec3< u16, mediump > mediump_u16vec3
Medium precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1048
-
tvec3< f64, highp > highp_f64vec3
High double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1735
-
tmat4x3< f32, lowp > lowp_f32mat4x3
Low single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1950
-
tvec3< i32, mediump > mediump_i32vec3
Medium precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:519
-
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2563
-
tvec1< f64, mediump > mediump_f64vec1
Medium double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1711
-
tmat4x2< f64, mediump > mediump_f64mat4x2
Medium double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2174
-
tmat2x2< f32, mediump > mediump_f32mat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1979
-
tmat4x4< f32, lowp > lowp_f32mat4x4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1954
-
tvec2< u16, mediump > mediump_u16vec2
Medium precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1044
-
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2571
-
tvec2< u16, highp > highp_u16vec2
High precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1061
-
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:773
-
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2419
-
tmat2x3< f32, lowp > lowp_f32mat2x3
Low single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1926
-
highp_f32mat4x4 highp_f32mat4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2084
-
tvec4< f32, mediump > mediump_f32vec4
Medium single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1674
-
mediump_f32mat3x3 mediump_f32mat3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2023
-
tvec2< u16, lowp > lowp_u16vec2
Low precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1027
-
tvec2< i16, highp > highp_i16vec2
High precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:452
-
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:187
-
tvec3< u64, lowp > lowp_u64vec3
Low precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1270
-
highp_f64mat3x3 highp_f64mat3
High double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2250
-
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:849
-
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:739
-
tvec1< float, lowp > lowp_fvec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1563
-
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:317
-
tmat3x3< f32, mediump > mediump_f32mat3x3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1995
-
tvec3< u16, lowp > lowp_u16vec3
Low precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1031
-
tvec2< u32, highp > highp_u32vec2
High precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1141
-
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2543
-
tmat3x2< f64, mediump > mediump_f64mat3x2
Medium double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2162
-
tvec1< float, highp > highp_fvec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1629
-
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1097
-
tmat4x4< f32, lowp > lowp_fmat4x4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1783
-
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2395
-
lowp_f32mat4x4 lowp_f32mat4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1970
-
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2371
-
lowp_f32mat2x2 lowp_f32mat2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1962
-
tvec2< u64, highp > highp_u64vec2
High precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1300
-
tmat4x3< f32, highp > highp_f32mat4x3
High single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2064
-
detail::float32 highp_float32
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1443
-
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:236
-
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1009
-
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:188
-
tvec1< u64, highp > highp_u64vec1
High precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1296
-
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:204
-
tvec3< i8, lowp > lowp_i8vec3
Low precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:343
-
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:172
-
tmat3x2< f32, lowp > lowp_fmat3x2
Low single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1763
-
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:909
-
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:404
-
tmat3x4< f32, highp > highp_fmat3x4
High single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1885
-
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:865
-
tmat2x4< f32, highp > highp_f32mat2x4
High single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2044
-
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:743
-
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2551
-
tmat3x4< f32, lowp > lowp_f32mat3x4
Low single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1942
-
tvec1< i8, lowp > lowp_i8vec1
Low precision 8 bit signed integer scalar type.
Definition: fwd.hpp:335
-
tvec4< f64, mediump > mediump_f64vec4
Medium double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1723
-
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:76
-
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:823
-
tmat2x3< f32, highp > highp_f32mat2x3
High single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2040
-
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:857
-
tvec1< i32, lowp > lowp_i32vec1
Low precision 32 bit signed integer scalar type.
Definition: fwd.hpp:494
-
tmat4x2< f32, lowp > lowp_f32mat4x2
Low single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1946
-
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2379
-
tvec4< u8, highp > highp_u8vec4
High precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:990
-
tvec4< f64, highp > highp_f64vec4
High double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1739
-
tvec4< i32, mediump > mediump_i32vec4
Medium precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:523
-
tvec1< u8, highp > highp_u8vec1
High precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:978
-
tvec4< i8, mediump > mediump_i8vec4
Medium precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:364
-
highp_f32mat3x3 highp_f32mat3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2080
-
tvec2< i8, lowp > lowp_i8vec2
Low precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:339
-
tvec3< i8, mediump > mediump_i8vec3
Medium precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:360
-
detail::float32 lowp_float32
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1344
-
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2579
-
tvec2< i16, lowp > lowp_i16vec2
Low precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:418
-
tvec3< u64, highp > highp_u64vec3
High precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1304
-
tvec2< float, lowp > lowp_fvec2
Low single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1567
-
OpenGL Mathematics (glm.g-truc.net)
-
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2383
-
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:227
-
tmat2x3< f64, mediump > mediump_f64mat2x3
Medium double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2154
-
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:85
-
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2535
-
tvec4< i8, highp > highp_i8vec4
High precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:381
-
tvec2< f32, lowp > lowp_f32vec2
Low single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1650
-
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:559
-
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:216
-
tvec1< i16, mediump > mediump_i16vec1
Medium precision 16 bit signed integer scalar type.
Definition: fwd.hpp:431
-
detail::float64 mediump_float64
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1422
-
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1168
-
tmat3x3< f32, lowp > lowp_fmat3x3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1767
+
88  template <typename T, precision P, template <typename, precision> class vecType>
+
89  GLM_FUNC_DECL vecType<bool, P> greaterThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
+
90 
+
97  template <typename T, precision P, template <typename, precision> class vecType>
+
98  GLM_FUNC_DECL vecType<bool, P> equal(vecType<T, P> const & x, vecType<T, P> const & y);
+
99 
+
106  template <typename T, precision P, template <typename, precision> class vecType>
+
107  GLM_FUNC_DECL vecType<bool, P> notEqual(vecType<T, P> const & x, vecType<T, P> const & y);
+
108 
+
115  template <precision P, template <typename, precision> class vecType>
+
116  GLM_FUNC_DECL bool any(vecType<bool, P> const & v);
+
117 
+
124  template <precision P, template <typename, precision> class vecType>
+
125  GLM_FUNC_DECL bool all(vecType<bool, P> const & v);
+
126 
+
134  template <precision P, template <typename, precision> class vecType>
+
135  GLM_FUNC_DECL vecType<bool, P> not_(vecType<bool, P> const & v);
+
136 
+
138 }//namespace glm
+
139 
+
140 #include "func_vector_relational.inl"
+
GLM_FUNC_DECL vecType< bool, P > lessThan(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison result of x < y.
+
GLM_FUNC_DECL vecType< bool, P > greaterThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x >= y.
+
GLM_FUNC_DECL vecType< bool, P > greaterThan(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x > y.
+
GLM_FUNC_DECL bool all(vecType< bool, P > const &v)
Returns true if all components of x are true.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< bool, P > lessThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x <= y.
+
GLM_FUNC_DECL vecType< bool, P > equal(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x == y.
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL bool any(vecType< bool, P > const &v)
Returns true if any component of x is true.
+
GLM_FUNC_DECL vecType< bool, P > not_(vecType< bool, P > const &v)
Returns the component-wise logical complement of x.
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL vecType< bool, P > notEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x != y.
diff --git a/doc/api/a00038.html b/doc/api/a00038.html index 884ba6ef..b78fc7a5 100644 --- a/doc/api/a00038.html +++ b/doc/api/a00038.html @@ -3,8 +3,8 @@ - -0.9.6: geometric.hpp File Reference + +0.9.7: fwd.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
geometric.hpp File Reference
+
fwd.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_dquat dquat
 
typedef highp_float32_t f32
 
typedef f32mat2x2 f32mat2
 
typedef highp_f32mat2x2 f32mat2x2
 
typedef highp_f32mat2x3 f32mat2x3
 
typedef highp_f32mat2x4 f32mat2x4
 
typedef f32mat3x3 f32mat3
 
typedef highp_f32mat3x2 f32mat3x2
 
typedef highp_f32mat3x3 f32mat3x3
 
typedef highp_f32mat3x4 f32mat3x4
 
typedef f32mat4x4 f32mat4
 
typedef highp_f32mat4x2 f32mat4x2
 
typedef highp_f32mat4x3 f32mat4x3
 
typedef highp_f32mat4x4 f32mat4x4
 
typedef highp_f32quat f32quat
 
typedef highp_f32vec1 f32vec1
 
typedef highp_f32vec2 f32vec2
 
typedef highp_f32vec3 f32vec3
 
typedef highp_f32vec4 f32vec4
 
typedef highp_float64_t f64
 
typedef f64mat2x2 f64mat2
 
typedef highp_f64mat2x2 f64mat2x2
 
typedef highp_f64mat2x3 f64mat2x3
 
typedef highp_f64mat2x4 f64mat2x4
 
typedef f64mat3x3 f64mat3
 
typedef highp_f64mat3x2 f64mat3x2
 
typedef highp_f64mat3x3 f64mat3x3
 
typedef highp_f64mat3x4 f64mat3x4
 
typedef f64mat4x4 f64mat4
 
typedef highp_f64mat4x2 f64mat4x2
 
typedef highp_f64mat4x3 f64mat4x3
 
typedef highp_f64mat4x4 f64mat4x4
 
typedef highp_f64quat f64quat
 
typedef highp_f64vec1 f64vec1
 
typedef highp_f64vec2 f64vec2
 
typedef highp_f64vec3 f64vec3
 
typedef highp_f64vec4 f64vec4
 
typedef highp_float32_t float32_t
 
typedef highp_float64_t float64_t
 
typedef fmat2x2 fmat2
 
typedef highp_f32mat2x2 fmat2x2
 
typedef highp_f32mat2x3 fmat2x3
 
typedef highp_f32mat2x4 fmat2x4
 
typedef fmat3x3 fmat3
 
typedef highp_f32mat3x2 fmat3x2
 
typedef highp_f32mat3x3 fmat3x3
 
typedef highp_f32mat3x4 fmat3x4
 
typedef fmat4x4 fmat4
 
typedef highp_f32mat4x2 fmat4x2
 
typedef highp_f32mat4x3 fmat4x3
 
typedef highp_f32mat4x4 fmat4x4
 
typedef quat fquat
 
typedef highp_f32vec1 fvec1
 
typedef highp_f32vec2 fvec2
 
typedef highp_f32vec3 fvec3
 
typedef highp_f32vec4 fvec4
 
typedef tquat< double, highp > highp_dquat
 
typedef float32 highp_f32
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef tmat2x2< f32, highp > highp_f32mat2x2
 
typedef tmat2x3< f32, highp > highp_f32mat2x3
 
typedef tmat2x4< f32, highp > highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef tmat3x2< f32, highp > highp_f32mat3x2
 
typedef tmat3x3< f32, highp > highp_f32mat3x3
 
typedef tmat3x4< f32, highp > highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef tmat4x2< f32, highp > highp_f32mat4x2
 
typedef tmat4x3< f32, highp > highp_f32mat4x3
 
typedef tmat4x4< f32, highp > highp_f32mat4x4
 
typedef tquat< f32, highp > highp_f32quat
 
typedef tvec1< f32, highp > highp_f32vec1
 
typedef tvec2< f32, highp > highp_f32vec2
 
typedef tvec3< f32, highp > highp_f32vec3
 
typedef tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef tmat2x2< f64, highp > highp_f64mat2x2
 
typedef tmat2x3< f64, highp > highp_f64mat2x3
 
typedef tmat2x4< f64, highp > highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef tmat3x2< f64, highp > highp_f64mat3x2
 
typedef tmat3x3< f64, highp > highp_f64mat3x3
 
typedef tmat3x4< f64, highp > highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef tmat4x2< f64, highp > highp_f64mat4x2
 
typedef tmat4x3< f64, highp > highp_f64mat4x3
 
typedef tmat4x4< f64, highp > highp_f64mat4x4
 
typedef tquat< f64, highp > highp_f64quat
 
typedef tvec1< f64, highp > highp_f64vec1
 
typedef tvec2< f64, highp > highp_f64vec2
 
typedef tvec3< f64, highp > highp_f64vec3
 
typedef tvec4< f64, highp > highp_f64vec4
 
typedef detail::float32 highp_float32
 
typedef detail::float32 highp_float32_t
 
typedef detail::float64 highp_float64
 
typedef detail::float64 highp_float64_t
 
typedef highp_fmat2x2 highp_fmat2
 
typedef tmat2x2< f32, highp > highp_fmat2x2
 
typedef tmat2x3< f32, highp > highp_fmat2x3
 
typedef tmat2x4< f32, highp > highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef tmat3x2< f32, highp > highp_fmat3x2
 
typedef tmat3x3< f32, highp > highp_fmat3x3
 
typedef tmat3x4< f32, highp > highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef tmat4x2< f32, highp > highp_fmat4x2
 
typedef tmat4x3< f32, highp > highp_fmat4x3
 
typedef tmat4x4< f32, highp > highp_fmat4x4
 
typedef highp_quat highp_fquat
 
typedef tvec1< float, highp > highp_fvec1
 
typedef tvec2< float, highp > highp_fvec2
 
typedef tvec3< float, highp > highp_fvec3
 
typedef tvec4< float, highp > highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef tvec1< i16, highp > highp_i16vec1
 
typedef tvec2< i16, highp > highp_i16vec2
 
typedef tvec3< i16, highp > highp_i16vec3
 
typedef tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef tvec1< i32, highp > highp_i32vec1
 
typedef tvec2< i32, highp > highp_i32vec2
 
typedef tvec3< i32, highp > highp_i32vec3
 
typedef tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef tvec1< i64, highp > highp_i64vec1
 
typedef tvec2< i64, highp > highp_i64vec2
 
typedef tvec3< i64, highp > highp_i64vec3
 
typedef tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef tvec1< i8, highp > highp_i8vec1
 
typedef tvec2< i8, highp > highp_i8vec2
 
typedef tvec3< i8, highp > highp_i8vec3
 
typedef tvec4< i8, highp > highp_i8vec4
 
typedef detail::int16 highp_int16
 
typedef detail::int16 highp_int16_t
 
typedef detail::int32 highp_int32
 
typedef detail::int32 highp_int32_t
 
typedef detail::int64 highp_int64
 
typedef detail::int64 highp_int64_t
 
typedef detail::int8 highp_int8
 
typedef detail::int8 highp_int8_t
 
typedef tquat< float, highp > highp_quat
 
typedef detail::uint16 highp_u16
 
typedef tvec1< u16, highp > highp_u16vec1
 
typedef tvec2< u16, highp > highp_u16vec2
 
typedef tvec3< u16, highp > highp_u16vec3
 
typedef tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef tvec1< u32, highp > highp_u32vec1
 
typedef tvec2< u32, highp > highp_u32vec2
 
typedef tvec3< u32, highp > highp_u32vec3
 
typedef tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef tvec1< u64, highp > highp_u64vec1
 
typedef tvec2< u64, highp > highp_u64vec2
 
typedef tvec3< u64, highp > highp_u64vec3
 
typedef tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef tvec1< u8, highp > highp_u8vec1
 
typedef tvec2< u8, highp > highp_u8vec2
 
typedef tvec3< u8, highp > highp_u8vec3
 
typedef tvec4< u8, highp > highp_u8vec4
 
typedef detail::uint16 highp_uint16
 
typedef detail::uint16 highp_uint16_t
 
typedef detail::uint32 highp_uint32
 
typedef detail::uint32 highp_uint32_t
 
typedef detail::uint64 highp_uint64
 
typedef detail::uint64 highp_uint64_t
 
typedef detail::uint8 highp_uint8
 
typedef detail::uint8 highp_uint8_t
 
typedef tvec1< float, highp > highp_vec1
 
typedef detail::int16 i16
 
typedef highp_i16vec1 i16vec1
 
typedef highp_i16vec2 i16vec2
 
typedef highp_i16vec3 i16vec3
 
typedef highp_i16vec4 i16vec4
 
typedef detail::int32 i32
 
typedef highp_i32vec1 i32vec1
 
typedef highp_i32vec2 i32vec2
 
typedef highp_i32vec3 i32vec3
 
typedef highp_i32vec4 i32vec4
 
typedef detail::int64 i64
 
typedef highp_i64vec1 i64vec1
 
typedef highp_i64vec2 i64vec2
 
typedef highp_i64vec3 i64vec3
 
typedef highp_i64vec4 i64vec4
 
typedef detail::int8 i8
 
typedef highp_i8vec1 i8vec1
 
typedef highp_i8vec2 i8vec2
 
typedef highp_i8vec3 i8vec3
 
typedef highp_i8vec4 i8vec4
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8_t
 
typedef tquat< double, lowp > lowp_dquat
 
typedef float32 lowp_f32
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef tmat2x2< f32, lowp > lowp_f32mat2x2
 
typedef tmat2x3< f32, lowp > lowp_f32mat2x3
 
typedef tmat2x4< f32, lowp > lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef tmat3x2< f32, lowp > lowp_f32mat3x2
 
typedef tmat3x3< f32, lowp > lowp_f32mat3x3
 
typedef tmat3x4< f32, lowp > lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef tmat4x2< f32, lowp > lowp_f32mat4x2
 
typedef tmat4x3< f32, lowp > lowp_f32mat4x3
 
typedef tmat4x4< f32, lowp > lowp_f32mat4x4
 
typedef tquat< f32, lowp > lowp_f32quat
 
typedef tvec1< f32, lowp > lowp_f32vec1
 
typedef tvec2< f32, lowp > lowp_f32vec2
 
typedef tvec3< f32, lowp > lowp_f32vec3
 
typedef tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef tmat2x2< f64, lowp > lowp_f64mat2x2
 
typedef tmat2x3< f64, lowp > lowp_f64mat2x3
 
typedef tmat2x4< f64, lowp > lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef tmat3x2< f64, lowp > lowp_f64mat3x2
 
typedef tmat3x3< f64, lowp > lowp_f64mat3x3
 
typedef tmat3x4< f64, lowp > lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef tmat4x2< f64, lowp > lowp_f64mat4x2
 
typedef tmat4x3< f64, lowp > lowp_f64mat4x3
 
typedef tmat4x4< f64, lowp > lowp_f64mat4x4
 
typedef tquat< f64, lowp > lowp_f64quat
 
typedef tvec1< f64, lowp > lowp_f64vec1
 
typedef tvec2< f64, lowp > lowp_f64vec2
 
typedef tvec3< f64, lowp > lowp_f64vec3
 
typedef tvec4< f64, lowp > lowp_f64vec4
 
typedef detail::float32 lowp_float32
 
typedef detail::float32 lowp_float32_t
 
typedef detail::float64 lowp_float64
 
typedef detail::float64 lowp_float64_t
 
typedef lowp_fmat2x2 lowp_fmat2
 
typedef tmat2x2< f32, lowp > lowp_fmat2x2
 
typedef tmat2x3< f32, lowp > lowp_fmat2x3
 
typedef tmat2x4< f32, lowp > lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef tmat3x2< f32, lowp > lowp_fmat3x2
 
typedef tmat3x3< f32, lowp > lowp_fmat3x3
 
typedef tmat3x4< f32, lowp > lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef tmat4x2< f32, lowp > lowp_fmat4x2
 
typedef tmat4x3< f32, lowp > lowp_fmat4x3
 
typedef tmat4x4< f32, lowp > lowp_fmat4x4
 
typedef lowp_quat lowp_fquat
 
typedef tvec1< float, lowp > lowp_fvec1
 
typedef tvec2< float, lowp > lowp_fvec2
 
typedef tvec3< float, lowp > lowp_fvec3
 
typedef tvec4< float, lowp > lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef tvec1< i16, lowp > lowp_i16vec1
 
typedef tvec2< i16, lowp > lowp_i16vec2
 
typedef tvec3< i16, lowp > lowp_i16vec3
 
typedef tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef tvec1< i32, lowp > lowp_i32vec1
 
typedef tvec2< i32, lowp > lowp_i32vec2
 
typedef tvec3< i32, lowp > lowp_i32vec3
 
typedef tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef tvec1< i64, lowp > lowp_i64vec1
 
typedef tvec2< i64, lowp > lowp_i64vec2
 
typedef tvec3< i64, lowp > lowp_i64vec3
 
typedef tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef tvec1< i8, lowp > lowp_i8vec1
 
typedef tvec2< i8, lowp > lowp_i8vec2
 
typedef tvec3< i8, lowp > lowp_i8vec3
 
typedef tvec4< i8, lowp > lowp_i8vec4
 
typedef detail::int16 lowp_int16
 
typedef detail::int16 lowp_int16_t
 
typedef detail::int32 lowp_int32
 
typedef detail::int32 lowp_int32_t
 
typedef detail::int64 lowp_int64
 
typedef detail::int64 lowp_int64_t
 
typedef detail::int8 lowp_int8
 
typedef detail::int8 lowp_int8_t
 
typedef tquat< float, lowp > lowp_quat
 
typedef detail::uint16 lowp_u16
 
typedef tvec1< u16, lowp > lowp_u16vec1
 
typedef tvec2< u16, lowp > lowp_u16vec2
 
typedef tvec3< u16, lowp > lowp_u16vec3
 
typedef tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef tvec1< u32, lowp > lowp_u32vec1
 
typedef tvec2< u32, lowp > lowp_u32vec2
 
typedef tvec3< u32, lowp > lowp_u32vec3
 
typedef tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef tvec1< u64, lowp > lowp_u64vec1
 
typedef tvec2< u64, lowp > lowp_u64vec2
 
typedef tvec3< u64, lowp > lowp_u64vec3
 
typedef tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef tvec1< u8, lowp > lowp_u8vec1
 
typedef tvec2< u8, lowp > lowp_u8vec2
 
typedef tvec3< u8, lowp > lowp_u8vec3
 
typedef tvec4< u8, lowp > lowp_u8vec4
 
typedef detail::uint16 lowp_uint16
 
typedef detail::uint16 lowp_uint16_t
 
typedef detail::uint32 lowp_uint32
 
typedef detail::uint32 lowp_uint32_t
 
typedef detail::uint64 lowp_uint64
 
typedef detail::uint64 lowp_uint64_t
 
typedef detail::uint8 lowp_uint8
 
typedef detail::uint8 lowp_uint8_t
 
typedef tvec1< float, lowp > lowp_vec1
 
typedef tquat< double, mediump > mediump_dquat
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef tmat2x2< f32, mediump > mediump_f32mat2x2
 
typedef tmat2x3< f32, mediump > mediump_f32mat2x3
 
typedef tmat2x4< f32, mediump > mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef tmat3x2< f32, mediump > mediump_f32mat3x2
 
typedef tmat3x3< f32, mediump > mediump_f32mat3x3
 
typedef tmat3x4< f32, mediump > mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef tmat4x2< f32, mediump > mediump_f32mat4x2
 
typedef tmat4x3< f32, mediump > mediump_f32mat4x3
 
typedef tmat4x4< f32, mediump > mediump_f32mat4x4
 
typedef tquat< f32, mediump > mediump_f32quat
 
typedef tvec1< f32, mediump > mediump_f32vec1
 
typedef tvec2< f32, mediump > mediump_f32vec2
 
typedef tvec3< f32, mediump > mediump_f32vec3
 
typedef tvec4< f32, mediump > mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef tmat2x2< f64, mediump > mediump_f64mat2x2
 
typedef tmat2x3< f64, mediump > mediump_f64mat2x3
 
typedef tmat2x4< f64, mediump > mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef tmat3x2< f64, mediump > mediump_f64mat3x2
 
typedef tmat3x3< f64, mediump > mediump_f64mat3x3
 
typedef tmat3x4< f64, mediump > mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef tmat4x2< f64, mediump > mediump_f64mat4x2
 
typedef tmat4x3< f64, mediump > mediump_f64mat4x3
 
typedef tmat4x4< f64, mediump > mediump_f64mat4x4
 
typedef tquat< f64, mediump > mediump_f64quat
 
typedef tvec1< f64, mediump > mediump_f64vec1
 
typedef tvec2< f64, mediump > mediump_f64vec2
 
typedef tvec3< f64, mediump > mediump_f64vec3
 
typedef tvec4< f64, mediump > mediump_f64vec4
 
typedef detail::float32 mediump_float32
 
typedef detail::float32 mediump_float32_t
 
typedef detail::float64 mediump_float64
 
typedef detail::float64 mediump_float64_t
 
typedef mediump_fmat2x2 mediump_fmat2
 
typedef tmat2x2< f32, mediump > mediump_fmat2x2
 
typedef tmat2x3< f32, mediump > mediump_fmat2x3
 
typedef tmat2x4< f32, mediump > mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef tmat3x2< f32, mediump > mediump_fmat3x2
 
typedef tmat3x3< f32, mediump > mediump_fmat3x3
 
typedef tmat3x4< f32, mediump > mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef tmat4x2< f32, mediump > mediump_fmat4x2
 
typedef tmat4x3< f32, mediump > mediump_fmat4x3
 
typedef tmat4x4< f32, mediump > mediump_fmat4x4
 
typedef mediump_quat mediump_fquat
 
typedef tvec1< float, mediump > mediump_fvec1
 
typedef tvec2< float, mediump > mediump_fvec2
 
typedef tvec3< float, mediump > mediump_fvec3
 
typedef tvec4< float, mediump > mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef tvec1< i16, mediump > mediump_i16vec1
 
typedef tvec2< i16, mediump > mediump_i16vec2
 
typedef tvec3< i16, mediump > mediump_i16vec3
 
typedef tvec4< i16, mediump > mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef tvec1< i32, mediump > mediump_i32vec1
 
typedef tvec2< i32, mediump > mediump_i32vec2
 
typedef tvec3< i32, mediump > mediump_i32vec3
 
typedef tvec4< i32, mediump > mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef tvec1< i64, mediump > mediump_i64vec1
 
typedef tvec2< i64, mediump > mediump_i64vec2
 
typedef tvec3< i64, mediump > mediump_i64vec3
 
typedef tvec4< i64, mediump > mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef tvec1< i8, mediump > mediump_i8vec1
 
typedef tvec2< i8, mediump > mediump_i8vec2
 
typedef tvec3< i8, mediump > mediump_i8vec3
 
typedef tvec4< i8, mediump > mediump_i8vec4
 
typedef detail::int16 mediump_int16
 
typedef detail::int16 mediump_int16_t
 
typedef detail::int32 mediump_int32
 
typedef detail::int32 mediump_int32_t
 
typedef detail::int64 mediump_int64
 
typedef detail::int64 mediump_int64_t
 
typedef detail::int8 mediump_int8
 
typedef detail::int8 mediump_int8_t
 
typedef tquat< float, mediump > mediump_quat
 
typedef detail::uint16 mediump_u16
 
typedef tvec1< u16, mediump > mediump_u16vec1
 
typedef tvec2< u16, mediump > mediump_u16vec2
 
typedef tvec3< u16, mediump > mediump_u16vec3
 
typedef tvec4< u16, mediump > mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef tvec1< u32, mediump > mediump_u32vec1
 
typedef tvec2< u32, mediump > mediump_u32vec2
 
typedef tvec3< u32, mediump > mediump_u32vec3
 
typedef tvec4< u32, mediump > mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef tvec1< u64, mediump > mediump_u64vec1
 
typedef tvec2< u64, mediump > mediump_u64vec2
 
typedef tvec3< u64, mediump > mediump_u64vec3
 
typedef tvec4< u64, mediump > mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef tvec1< u8, mediump > mediump_u8vec1
 
typedef tvec2< u8, mediump > mediump_u8vec2
 
typedef tvec3< u8, mediump > mediump_u8vec3
 
typedef tvec4< u8, mediump > mediump_u8vec4
 
typedef detail::uint16 mediump_uint16
 
typedef detail::uint16 mediump_uint16_t
 
typedef detail::uint32 mediump_uint32
 
typedef detail::uint32 mediump_uint32_t
 
typedef detail::uint64 mediump_uint64
 
typedef detail::uint64 mediump_uint64_t
 
typedef detail::uint8 mediump_uint8
 
typedef detail::uint8 mediump_uint8_t
 
typedef tvec1< float, mediump > mediump_vec1
 
+typedef highp_quat quat
 
typedef detail::uint16 u16
 
typedef highp_u16vec1 u16vec1
 
typedef highp_u16vec2 u16vec2
 
typedef highp_u16vec3 u16vec3
 
typedef highp_u16vec4 u16vec4
 
typedef detail::uint32 u32
 
typedef highp_u32vec1 u32vec1
 
typedef highp_u32vec2 u32vec2
 
typedef highp_u32vec3 u32vec3
 
typedef highp_u32vec4 u32vec4
 
typedef detail::uint64 u64
 
typedef highp_u64vec1 u64vec1
 
typedef highp_u64vec2 u64vec2
 
typedef highp_u64vec3 u64vec3
 
typedef highp_u64vec4 u64vec4
 
typedef detail::uint8 u8
 
typedef highp_u8vec1 u8vec1
 
typedef highp_u8vec2 u8vec2
 
typedef highp_u8vec3 u8vec3
 
typedef highp_u8vec4 u8vec4
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8_t
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
+

GLM Core

+
Date
2013-03-30 / 2013-03-31
Author
Christophe Riccio
-

Definition in file geometric.hpp.

+

Definition in file fwd.hpp.

diff --git a/doc/api/a00038_source.html b/doc/api/a00038_source.html index 372985e3..a5ca3380 100644 --- a/doc/api/a00038_source.html +++ b/doc/api/a00038_source.html @@ -3,8 +3,8 @@ - -0.9.6: geometric.hpp Source File + +0.9.7: fwd.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
geometric.hpp
+
fwd.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
- -
OpenGL Mathematics (glm.g-truc.net)
+
35 #include "detail/type_int.hpp"
+
36 #include "detail/type_float.hpp"
+
37 #include "detail/type_vec.hpp"
+
38 #include "detail/type_mat.hpp"
+
39 
+
41 // GLM_GTC_quaternion
+
42 namespace glm
+
43 {
+
44  template <typename T, precision P> struct tquat;
+
45 
+
49  typedef tquat<float, lowp> lowp_quat;
+
50 
+
54  typedef tquat<float, mediump> mediump_quat;
+
55 
+
59  typedef tquat<float, highp> highp_quat;
+
60 
+
61 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
62  typedef highp_quat quat;
+
63 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
64  typedef mediump_quat quat;
+
65 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
+
66  typedef lowp_quat quat;
+
67 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
68  typedef highp_quat quat;
+
70 #endif
+
71 
+
75  typedef lowp_quat lowp_fquat;
+
76 
+
80  typedef mediump_quat mediump_fquat;
+
81 
+
85  typedef highp_quat highp_fquat;
+
86 
+
90  typedef quat fquat;
+
91 
+
92 
+
96  typedef tquat<double, lowp> lowp_dquat;
+
97 
+
101  typedef tquat<double, mediump> mediump_dquat;
+
102 
+
106  typedef tquat<double, highp> highp_dquat;
+
107 
+
108 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
109  typedef highp_dquat dquat;
+
110 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
111  typedef mediump_dquat dquat;
+
112 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
+
113  typedef lowp_dquat dquat;
+
114 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
115  typedef highp_dquat dquat;
+
119 #endif
+
120 
+
121 }//namespace glm
+
122 
+
124 // GLM_GTC_precision
+
125 namespace glm
+
126 {
+
129  typedef detail::int8 lowp_int8;
+
130 
+
133  typedef detail::int16 lowp_int16;
+
134 
+
137  typedef detail::int32 lowp_int32;
+
138 
+
141  typedef detail::int64 lowp_int64;
+
142 
+
145  typedef detail::int8 lowp_int8_t;
+
146 
+
149  typedef detail::int16 lowp_int16_t;
+
150 
+
153  typedef detail::int32 lowp_int32_t;
+
154 
+
157  typedef detail::int64 lowp_int64_t;
+
158 
+
161  typedef detail::int8 lowp_i8;
+
162 
+
165  typedef detail::int16 lowp_i16;
+
166 
+
169  typedef detail::int32 lowp_i32;
+
170 
+
173  typedef detail::int64 lowp_i64;
+
174 
+
177  typedef detail::int8 mediump_int8;
+
178 
+
181  typedef detail::int16 mediump_int16;
+
182 
+
185  typedef detail::int32 mediump_int32;
+
186 
+
189  typedef detail::int64 mediump_int64;
+
190 
+
193  typedef detail::int8 mediump_int8_t;
+
194 
+
197  typedef detail::int16 mediump_int16_t;
+
198 
+
201  typedef detail::int32 mediump_int32_t;
+
202 
+
205  typedef detail::int64 mediump_int64_t;
+
206 
+
209  typedef detail::int8 mediump_i8;
+
210 
+
213  typedef detail::int16 mediump_i16;
+
214 
+
217  typedef detail::int32 mediump_i32;
+
218 
+
221  typedef detail::int64 mediump_i64;
+
222 
+
225  typedef detail::int8 highp_int8;
+
226 
+
229  typedef detail::int16 highp_int16;
+
230 
+
233  typedef detail::int32 highp_int32;
+
234 
+
237  typedef detail::int64 highp_int64;
+
238 
+
241  typedef detail::int8 highp_int8_t;
+
242 
+
245  typedef detail::int16 highp_int16_t;
+
246 
+
249  typedef detail::int32 highp_int32_t;
+
250 
+
253  typedef detail::int64 highp_int64_t;
+
254 
+
257  typedef detail::int8 highp_i8;
+
258 
+
261  typedef detail::int16 highp_i16;
+
262 
+
265  typedef detail::int32 highp_i32;
+
266 
+
269  typedef detail::int64 highp_i64;
+
270 
+
271 
+
274  typedef detail::int8 int8;
+
275 
+
278  typedef detail::int16 int16;
+
279 
+
282  typedef detail::int32 int32;
+
283 
+
286  typedef detail::int64 int64;
+
287 
+
288 
+
289 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
290  using std::int8_t;
+
291  using std::int16_t;
+
292  using std::int32_t;
+
293  using std::int64_t;
+
294 #else
+
295  typedef detail::int8 int8_t;
+
298 
+
301  typedef detail::int16 int16_t;
+
302 
+
305  typedef detail::int32 int32_t;
+
306 
+
309  typedef detail::int64 int64_t;
+
310 #endif
+
311 
+
314  typedef detail::int8 i8;
+
315 
+
318  typedef detail::int16 i16;
+
319 
+
322  typedef detail::int32 i32;
+
323 
+
326  typedef detail::int64 i64;
+
327 
+
328 
+
329 
+
332  typedef tvec1<i8, lowp> lowp_i8vec1;
+
333 
+
336  typedef tvec2<i8, lowp> lowp_i8vec2;
+
337 
+
340  typedef tvec3<i8, lowp> lowp_i8vec3;
+
341 
+
344  typedef tvec4<i8, lowp> lowp_i8vec4;
+
345 
+
346 
+
349  typedef tvec1<i8, mediump> mediump_i8vec1;
+
350 
+
353  typedef tvec2<i8, mediump> mediump_i8vec2;
+
354 
+
357  typedef tvec3<i8, mediump> mediump_i8vec3;
+
358 
+
361  typedef tvec4<i8, mediump> mediump_i8vec4;
+
362 
+
363 
+
366  typedef tvec1<i8, highp> highp_i8vec1;
+
367 
+
370  typedef tvec2<i8, highp> highp_i8vec2;
+
371 
+
374  typedef tvec3<i8, highp> highp_i8vec3;
+
375 
+
378  typedef tvec4<i8, highp> highp_i8vec4;
+
379 
+
380 #if(defined(GLM_PRECISION_LOWP_INT))
+
381  typedef lowp_i8vec1 i8vec1;
+
382  typedef lowp_i8vec2 i8vec2;
+
383  typedef lowp_i8vec3 i8vec3;
+
384  typedef lowp_i8vec4 i8vec4;
+
385 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
386  typedef mediump_i8vec1 i8vec1;
+
387  typedef mediump_i8vec2 i8vec2;
+
388  typedef mediump_i8vec3 i8vec3;
+
389  typedef mediump_i8vec4 i8vec4;
+
390 #else
+
391  typedef highp_i8vec1 i8vec1;
+
394 
+
397  typedef highp_i8vec2 i8vec2;
+
398 
+
401  typedef highp_i8vec3 i8vec3;
+
402 
+
405  typedef highp_i8vec4 i8vec4;
+
406 #endif
+
407 
+
408 
+
411  typedef tvec1<i16, lowp> lowp_i16vec1;
+
412 
+
415  typedef tvec2<i16, lowp> lowp_i16vec2;
+
416 
+
419  typedef tvec3<i16, lowp> lowp_i16vec3;
+
420 
+
423  typedef tvec4<i16, lowp> lowp_i16vec4;
+
424 
+
425 
+
428  typedef tvec1<i16, mediump> mediump_i16vec1;
+
429 
+
432  typedef tvec2<i16, mediump> mediump_i16vec2;
+
433 
+
436  typedef tvec3<i16, mediump> mediump_i16vec3;
+
437 
+
440  typedef tvec4<i16, mediump> mediump_i16vec4;
+
441 
+
442 
+
445  typedef tvec1<i16, highp> highp_i16vec1;
+
446 
+
449  typedef tvec2<i16, highp> highp_i16vec2;
+
450 
+
453  typedef tvec3<i16, highp> highp_i16vec3;
+
454 
+
457  typedef tvec4<i16, highp> highp_i16vec4;
+
458 
+
459 
+
460 #if(defined(GLM_PRECISION_LOWP_INT))
+
461  typedef lowp_i16vec1 i16vec1;
+
462  typedef lowp_i16vec2 i16vec2;
+
463  typedef lowp_i16vec3 i16vec3;
+
464  typedef lowp_i16vec4 i16vec4;
+
465 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
466  typedef mediump_i16vec1 i16vec1;
+
467  typedef mediump_i16vec2 i16vec2;
+
468  typedef mediump_i16vec3 i16vec3;
+
469  typedef mediump_i16vec4 i16vec4;
+
470 #else
+
471  typedef highp_i16vec1 i16vec1;
+
474 
+
477  typedef highp_i16vec2 i16vec2;
+
478 
+
481  typedef highp_i16vec3 i16vec3;
+
482 
+
485  typedef highp_i16vec4 i16vec4;
+
486 #endif
+
487 
+
488 
+
491  typedef tvec1<i32, lowp> lowp_i32vec1;
+
492 
+
495  typedef tvec2<i32, lowp> lowp_i32vec2;
+
496 
+
499  typedef tvec3<i32, lowp> lowp_i32vec3;
+
500 
+
503  typedef tvec4<i32, lowp> lowp_i32vec4;
+
504 
+
505 
+
508  typedef tvec1<i32, mediump> mediump_i32vec1;
+
509 
+
512  typedef tvec2<i32, mediump> mediump_i32vec2;
+
513 
+
516  typedef tvec3<i32, mediump> mediump_i32vec3;
+
517 
+
520  typedef tvec4<i32, mediump> mediump_i32vec4;
+
521 
+
522 
+
525  typedef tvec1<i32, highp> highp_i32vec1;
+
526 
+
529  typedef tvec2<i32, highp> highp_i32vec2;
+
530 
+
533  typedef tvec3<i32, highp> highp_i32vec3;
+
534 
+
537  typedef tvec4<i32, highp> highp_i32vec4;
+
538 
+
539 #if(defined(GLM_PRECISION_LOWP_INT))
+
540  typedef lowp_i32vec1 i32vec1;
+
541  typedef lowp_i32vec2 i32vec2;
+
542  typedef lowp_i32vec3 i32vec3;
+
543  typedef lowp_i32vec4 i32vec4;
+
544 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
545  typedef mediump_i32vec1 i32vec1;
+
546  typedef mediump_i32vec2 i32vec2;
+
547  typedef mediump_i32vec3 i32vec3;
+
548  typedef mediump_i32vec4 i32vec4;
+
549 #else
+
550  typedef highp_i32vec1 i32vec1;
+
553 
+
556  typedef highp_i32vec2 i32vec2;
+
557 
+
560  typedef highp_i32vec3 i32vec3;
+
561 
+
564  typedef highp_i32vec4 i32vec4;
+
565 #endif
+
566 
+
567 
+
570  typedef tvec1<i32, lowp> lowp_i32vec1;
+
571 
+
574  typedef tvec2<i32, lowp> lowp_i32vec2;
+
575 
+
578  typedef tvec3<i32, lowp> lowp_i32vec3;
+
579 
+
582  typedef tvec4<i32, lowp> lowp_i32vec4;
+
583 
+
584 
+
587  typedef tvec1<i32, mediump> mediump_i32vec1;
+
588 
+
591  typedef tvec2<i32, mediump> mediump_i32vec2;
+
592 
+
595  typedef tvec3<i32, mediump> mediump_i32vec3;
+
596 
+
599  typedef tvec4<i32, mediump> mediump_i32vec4;
+
600 
+
601 
+
604  typedef tvec1<i32, highp> highp_i32vec1;
+
605 
+
608  typedef tvec2<i32, highp> highp_i32vec2;
+
609 
+
612  typedef tvec3<i32, highp> highp_i32vec3;
+
613 
+
616  typedef tvec4<i32, highp> highp_i32vec4;
+
617 
+
618 #if(defined(GLM_PRECISION_LOWP_INT))
+
619  typedef lowp_i32vec1 i32vec1;
+
620  typedef lowp_i32vec2 i32vec2;
+
621  typedef lowp_i32vec3 i32vec3;
+
622  typedef lowp_i32vec4 i32vec4;
+
623 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
624  typedef mediump_i32vec1 i32vec1;
+
625  typedef mediump_i32vec2 i32vec2;
+
626  typedef mediump_i32vec3 i32vec3;
+
627  typedef mediump_i32vec4 i32vec4;
+
628 #else
+
629  typedef highp_i32vec1 i32vec1;
+
632 
+
635  typedef highp_i32vec2 i32vec2;
+
636 
+
639  typedef highp_i32vec3 i32vec3;
+
640 
+
643  typedef highp_i32vec4 i32vec4;
+
644 #endif
+
645 
+
646 
+
647 
+
650  typedef tvec1<i64, lowp> lowp_i64vec1;
+
651 
+
654  typedef tvec2<i64, lowp> lowp_i64vec2;
+
655 
+
658  typedef tvec3<i64, lowp> lowp_i64vec3;
+
659 
+
662  typedef tvec4<i64, lowp> lowp_i64vec4;
+
663 
+
664 
+
667  typedef tvec1<i64, mediump> mediump_i64vec1;
+
668 
+
671  typedef tvec2<i64, mediump> mediump_i64vec2;
+
672 
+
675  typedef tvec3<i64, mediump> mediump_i64vec3;
+
676 
+
679  typedef tvec4<i64, mediump> mediump_i64vec4;
+
680 
+
681 
+
684  typedef tvec1<i64, highp> highp_i64vec1;
+
685 
+
688  typedef tvec2<i64, highp> highp_i64vec2;
+
689 
+
692  typedef tvec3<i64, highp> highp_i64vec3;
+
693 
+
696  typedef tvec4<i64, highp> highp_i64vec4;
+
697 
+
698 #if(defined(GLM_PRECISION_LOWP_INT))
+
699  typedef lowp_i64vec1 i64vec1;
+
700  typedef lowp_i64vec2 i64vec2;
+
701  typedef lowp_i64vec3 i64vec3;
+
702  typedef lowp_i64vec4 i64vec4;
+
703 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
704  typedef mediump_i64vec1 i64vec1;
+
705  typedef mediump_i64vec2 i64vec2;
+
706  typedef mediump_i64vec3 i64vec3;
+
707  typedef mediump_i64vec4 i64vec4;
+
708 #else
+
709  typedef highp_i64vec1 i64vec1;
+
712 
+
715  typedef highp_i64vec2 i64vec2;
+
716 
+
719  typedef highp_i64vec3 i64vec3;
+
720 
+
723  typedef highp_i64vec4 i64vec4;
+
724 #endif
+
725 
+
726 
+
728  // Unsigned int vector types
+
729 
+
732  typedef detail::uint8 lowp_uint8;
+
733 
+
736  typedef detail::uint16 lowp_uint16;
+
737 
+
740  typedef detail::uint32 lowp_uint32;
+
741 
+
744  typedef detail::uint64 lowp_uint64;
+
745 
+
746 
+
749  typedef detail::uint8 lowp_uint8_t;
+
750 
+
753  typedef detail::uint16 lowp_uint16_t;
+
754 
+
757  typedef detail::uint32 lowp_uint32_t;
+
758 
+
761  typedef detail::uint64 lowp_uint64_t;
+
762 
+
763 
+
766  typedef detail::uint8 lowp_u8;
+
767 
+
770  typedef detail::uint16 lowp_u16;
+
771 
+
774  typedef detail::uint32 lowp_u32;
+
775 
+
778  typedef detail::uint64 lowp_u64;
+
779 
+
780 
+
781 
+
784  typedef detail::uint8 mediump_uint8;
+
785 
+
788  typedef detail::uint16 mediump_uint16;
+
789 
+
792  typedef detail::uint32 mediump_uint32;
+
793 
+
796  typedef detail::uint64 mediump_uint64;
+
797 
+
800  typedef detail::uint8 mediump_uint8_t;
+
801 
+
804  typedef detail::uint16 mediump_uint16_t;
+
805 
+
808  typedef detail::uint32 mediump_uint32_t;
+
809 
+
812  typedef detail::uint64 mediump_uint64_t;
+
813 
+
816  typedef detail::uint8 mediump_u8;
+
817 
+
820  typedef detail::uint16 mediump_u16;
+
821 
+
824  typedef detail::uint32 mediump_u32;
+
825 
+
828  typedef detail::uint64 mediump_u64;
+
829 
+
830 
+
831 
+
834  typedef detail::uint8 highp_uint8;
+
835 
+
838  typedef detail::uint16 highp_uint16;
+
839 
+
842  typedef detail::uint32 highp_uint32;
+
843 
+
846  typedef detail::uint64 highp_uint64;
+
847 
+
850  typedef detail::uint8 highp_uint8_t;
+
851 
+
854  typedef detail::uint16 highp_uint16_t;
+
855 
+
858  typedef detail::uint32 highp_uint32_t;
+
859 
+
862  typedef detail::uint64 highp_uint64_t;
+
863 
+
866  typedef detail::uint8 highp_u8;
+
867 
+
870  typedef detail::uint16 highp_u16;
+
871 
+
874  typedef detail::uint32 highp_u32;
+
875 
+
878  typedef detail::uint64 highp_u64;
+
879 
+
880 
+
881 
+
884  typedef detail::uint8 uint8;
+
885 
+
888  typedef detail::uint16 uint16;
+
889 
+
892  typedef detail::uint32 uint32;
+
893 
+
896  typedef detail::uint64 uint64;
+
897 
+
898 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
899  using std::uint8_t;
+
900  using std::uint16_t;
+
901  using std::uint32_t;
+
902  using std::uint64_t;
+
903 #else
+
904  typedef detail::uint8 uint8_t;
+
907 
+
910  typedef detail::uint16 uint16_t;
+
911 
+
914  typedef detail::uint32 uint32_t;
+
915 
+
918  typedef detail::uint64 uint64_t;
+
919 #endif
+
920 
+
923  typedef detail::uint8 u8;
+
924 
+
927  typedef detail::uint16 u16;
+
928 
+
931  typedef detail::uint32 u32;
+
932 
+
935  typedef detail::uint64 u64;
+
936 
+
937 
+
938 
+
941  typedef tvec1<u8, lowp> lowp_u8vec1;
+
942 
+
945  typedef tvec2<u8, lowp> lowp_u8vec2;
+
946 
+
949  typedef tvec3<u8, lowp> lowp_u8vec3;
+
950 
+
953  typedef tvec4<u8, lowp> lowp_u8vec4;
+
954 
+
955 
+
958  typedef tvec1<u8, mediump> mediump_u8vec1;
+
959 
+
962  typedef tvec2<u8, mediump> mediump_u8vec2;
+
963 
+
966  typedef tvec3<u8, mediump> mediump_u8vec3;
+
967 
+
970  typedef tvec4<u8, mediump> mediump_u8vec4;
+
971 
+
972 
+
975  typedef tvec1<u8, highp> highp_u8vec1;
+
976 
+
979  typedef tvec2<u8, highp> highp_u8vec2;
+
980 
+
983  typedef tvec3<u8, highp> highp_u8vec3;
+
984 
+
987  typedef tvec4<u8, highp> highp_u8vec4;
+
988 
+
989 #if(defined(GLM_PRECISION_LOWP_INT))
+
990  typedef lowp_u8vec1 u8vec1;
+
991  typedef lowp_u8vec2 u8vec2;
+
992  typedef lowp_u8vec3 u8vec3;
+
993  typedef lowp_u8vec4 u8vec4;
+
994 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
995  typedef mediump_u8vec1 u8vec1;
+
996  typedef mediump_u8vec2 u8vec2;
+
997  typedef mediump_u8vec3 u8vec3;
+
998  typedef mediump_u8vec4 u8vec4;
+
999 #else
+
1000  typedef highp_u8vec1 u8vec1;
+
1003 
+
1006  typedef highp_u8vec2 u8vec2;
+
1007 
+
1010  typedef highp_u8vec3 u8vec3;
+
1011 
+
1014  typedef highp_u8vec4 u8vec4;
+
1015 #endif
+
1016 
+
1017 
+
1020  typedef tvec1<u16, lowp> lowp_u16vec1;
+
1021 
+
1024  typedef tvec2<u16, lowp> lowp_u16vec2;
+
1025 
+
1028  typedef tvec3<u16, lowp> lowp_u16vec3;
+
1029 
+
1032  typedef tvec4<u16, lowp> lowp_u16vec4;
+
1033 
+
1034 
+
1037  typedef tvec1<u16, mediump> mediump_u16vec1;
+
1038 
+
1041  typedef tvec2<u16, mediump> mediump_u16vec2;
+
1042 
+
1045  typedef tvec3<u16, mediump> mediump_u16vec3;
+
1046 
+
1049  typedef tvec4<u16, mediump> mediump_u16vec4;
+
1050 
+
1051 
+
1054  typedef tvec1<u16, highp> highp_u16vec1;
+
1055 
+
1058  typedef tvec2<u16, highp> highp_u16vec2;
+
1059 
+
1062  typedef tvec3<u16, highp> highp_u16vec3;
+
1063 
+
1066  typedef tvec4<u16, highp> highp_u16vec4;
+
1067 
+
1068 
+
1069 #if(defined(GLM_PRECISION_LOWP_INT))
+
1070  typedef lowp_u16vec1 u16vec1;
+
1071  typedef lowp_u16vec2 u16vec2;
+
1072  typedef lowp_u16vec3 u16vec3;
+
1073  typedef lowp_u16vec4 u16vec4;
+
1074 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
1075  typedef mediump_u16vec1 u16vec1;
+
1076  typedef mediump_u16vec2 u16vec2;
+
1077  typedef mediump_u16vec3 u16vec3;
+
1078  typedef mediump_u16vec4 u16vec4;
+
1079 #else
+
1080  typedef highp_u16vec1 u16vec1;
+
1083 
+
1086  typedef highp_u16vec2 u16vec2;
+
1087 
+
1090  typedef highp_u16vec3 u16vec3;
+
1091 
+
1094  typedef highp_u16vec4 u16vec4;
+
1095 #endif
+
1096 
+
1097 
+
1100  typedef tvec1<u32, lowp> lowp_u32vec1;
+
1101 
+
1104  typedef tvec2<u32, lowp> lowp_u32vec2;
+
1105 
+
1108  typedef tvec3<u32, lowp> lowp_u32vec3;
+
1109 
+
1112  typedef tvec4<u32, lowp> lowp_u32vec4;
+
1113 
+
1114 
+
1117  typedef tvec1<u32, mediump> mediump_u32vec1;
+
1118 
+
1121  typedef tvec2<u32, mediump> mediump_u32vec2;
+
1122 
+
1125  typedef tvec3<u32, mediump> mediump_u32vec3;
+
1126 
+
1129  typedef tvec4<u32, mediump> mediump_u32vec4;
+
1130 
+
1131 
+
1134  typedef tvec1<u32, highp> highp_u32vec1;
+
1135 
+
1138  typedef tvec2<u32, highp> highp_u32vec2;
+
1139 
+
1142  typedef tvec3<u32, highp> highp_u32vec3;
+
1143 
+
1146  typedef tvec4<u32, highp> highp_u32vec4;
+
1147 
+
1148 #if(defined(GLM_PRECISION_LOWP_INT))
+
1149  typedef lowp_u32vec1 u32vec1;
+
1150  typedef lowp_u32vec2 u32vec2;
+
1151  typedef lowp_u32vec3 u32vec3;
+
1152  typedef lowp_u32vec4 u32vec4;
+
1153 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
1154  typedef mediump_u32vec1 u32vec1;
+
1155  typedef mediump_u32vec2 u32vec2;
+
1156  typedef mediump_u32vec3 u32vec3;
+
1157  typedef mediump_u32vec4 u32vec4;
+
1158 #else
+
1159  typedef highp_u32vec1 u32vec1;
+
1162 
+
1165  typedef highp_u32vec2 u32vec2;
+
1166 
+
1169  typedef highp_u32vec3 u32vec3;
+
1170 
+
1173  typedef highp_u32vec4 u32vec4;
+
1174 #endif
+
1175 
+
1176 
+
1179  typedef tvec1<u32, lowp> lowp_u32vec1;
+
1180 
+
1183  typedef tvec2<u32, lowp> lowp_u32vec2;
+
1184 
+
1187  typedef tvec3<u32, lowp> lowp_u32vec3;
+
1188 
+
1191  typedef tvec4<u32, lowp> lowp_u32vec4;
+
1192 
+
1193 
+
1196  typedef tvec1<u32, mediump> mediump_u32vec1;
+
1197 
+
1200  typedef tvec2<u32, mediump> mediump_u32vec2;
+
1201 
+
1204  typedef tvec3<u32, mediump> mediump_u32vec3;
+
1205 
+
1208  typedef tvec4<u32, mediump> mediump_u32vec4;
+
1209 
+
1210 
+
1213  typedef tvec1<u32, highp> highp_u32vec1;
+
1214 
+
1217  typedef tvec2<u32, highp> highp_u32vec2;
+
1218 
+
1221  typedef tvec3<u32, highp> highp_u32vec3;
+
1222 
+
1225  typedef tvec4<u32, highp> highp_u32vec4;
+
1226 
+
1227 #if(defined(GLM_PRECISION_LOWP_INT))
+
1228  typedef lowp_u32vec1 u32vec1;
+
1229  typedef lowp_u32vec2 u32vec2;
+
1230  typedef lowp_u32vec3 u32vec3;
+
1231  typedef lowp_u32vec4 u32vec4;
+
1232 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
1233  typedef mediump_u32vec1 u32vec1;
+
1234  typedef mediump_u32vec2 u32vec2;
+
1235  typedef mediump_u32vec3 u32vec3;
+
1236  typedef mediump_u32vec4 u32vec4;
+
1237 #else
+
1238  typedef highp_u32vec1 u32vec1;
+
1241 
+
1244  typedef highp_u32vec2 u32vec2;
+
1245 
+
1248  typedef highp_u32vec3 u32vec3;
+
1249 
+
1252  typedef highp_u32vec4 u32vec4;
+
1253 #endif
+
1254 
+
1255 
+
1256 
+
1259  typedef tvec1<u64, lowp> lowp_u64vec1;
+
1260 
+
1263  typedef tvec2<u64, lowp> lowp_u64vec2;
+
1264 
+
1267  typedef tvec3<u64, lowp> lowp_u64vec3;
+
1268 
+
1271  typedef tvec4<u64, lowp> lowp_u64vec4;
+
1272 
+
1273 
+
1276  typedef tvec1<u64, mediump> mediump_u64vec1;
+
1277 
+
1280  typedef tvec2<u64, mediump> mediump_u64vec2;
+
1281 
+
1284  typedef tvec3<u64, mediump> mediump_u64vec3;
+
1285 
+
1288  typedef tvec4<u64, mediump> mediump_u64vec4;
+
1289 
+
1290 
+
1293  typedef tvec1<u64, highp> highp_u64vec1;
+
1294 
+
1297  typedef tvec2<u64, highp> highp_u64vec2;
+
1298 
+
1301  typedef tvec3<u64, highp> highp_u64vec3;
+
1302 
+
1305  typedef tvec4<u64, highp> highp_u64vec4;
+
1306 
+
1307 #if(defined(GLM_PRECISION_LOWP_UINT))
+
1308  typedef lowp_u64vec1 u64vec1;
+
1309  typedef lowp_u64vec2 u64vec2;
+
1310  typedef lowp_u64vec3 u64vec3;
+
1311  typedef lowp_u64vec4 u64vec4;
+
1312 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
+
1313  typedef mediump_u64vec1 u64vec1;
+
1314  typedef mediump_u64vec2 u64vec2;
+
1315  typedef mediump_u64vec3 u64vec3;
+
1316  typedef mediump_u64vec4 u64vec4;
+
1317 #else
+
1318  typedef highp_u64vec1 u64vec1;
+
1321 
+
1324  typedef highp_u64vec2 u64vec2;
+
1325 
+
1328  typedef highp_u64vec3 u64vec3;
+
1329 
+
1332  typedef highp_u64vec4 u64vec4;
+
1333 #endif
+
1334 
+
1335 
+
1337  // Float vector types
+
1338 
+
1341  typedef detail::float32 lowp_float32;
+
1342 
+
1345  typedef detail::float64 lowp_float64;
+
1346 
+
1349  typedef detail::float32 lowp_float32_t;
+
1350 
+
1353  typedef detail::float64 lowp_float64_t;
+
1354 
+
1357  typedef float32 lowp_f32;
+
1358 
+
1361  typedef float64 lowp_f64;
+
1362 
+
1365  typedef detail::float32 lowp_float32;
+
1366 
+
1369  typedef detail::float64 lowp_float64;
+
1370 
+
1373  typedef detail::float32 lowp_float32_t;
+
1374 
+
1377  typedef detail::float64 lowp_float64_t;
+
1378 
+
1381  typedef float32 lowp_f32;
+
1382 
+
1385  typedef float64 lowp_f64;
+
1386 
+
1387 
+
1390  typedef detail::float32 lowp_float32;
+
1391 
+
1394  typedef detail::float64 lowp_float64;
+
1395 
+
1398  typedef detail::float32 lowp_float32_t;
+
1399 
+
1402  typedef detail::float64 lowp_float64_t;
+
1403 
+
1406  typedef float32 lowp_f32;
+
1407 
+
1410  typedef float64 lowp_f64;
+
1411 
+
1412 
+
1415  typedef detail::float32 mediump_float32;
+
1416 
+
1419  typedef detail::float64 mediump_float64;
+
1420 
+
1423  typedef detail::float32 mediump_float32_t;
+
1424 
+
1427  typedef detail::float64 mediump_float64_t;
+
1428 
+
1431  typedef float32 mediump_f32;
+
1432 
+
1435  typedef float64 mediump_f64;
+
1436 
+
1437 
+
1440  typedef detail::float32 highp_float32;
+
1441 
+
1444  typedef detail::float64 highp_float64;
+
1445 
+
1448  typedef detail::float32 highp_float32_t;
+
1449 
+
1452  typedef detail::float64 highp_float64_t;
+
1453 
+
1456  typedef float32 highp_f32;
+
1457 
+
1460  typedef float64 highp_f64;
+
1461 
+
1462 
+
1463 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
1464  typedef lowp_float32 float32;
+
1467 
+
1470  typedef lowp_float64 float64;
+
1471 
+
1474  typedef lowp_float32_t float32_t;
+
1475 
+
1478  typedef lowp_float64_t float64_t;
+
1479 
+
1482  typedef lowp_f32 f32;
+
1483 
+
1486  typedef lowp_f64 f64;
+
1487 
+
1488 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
1489 
+
1492  typedef mediump_float32 float32;
+
1493 
+
1496  typedef mediump_float64 float64;
+
1497 
+
1500  typedef mediump_float32 float32_t;
+
1501 
+
1504  typedef mediump_float64 float64_t;
+
1505 
+
1508  typedef mediump_float32 f32;
+
1509 
+
1512  typedef mediump_float64 f64;
+
1513 
+
1514 #else//(defined(GLM_PRECISION_HIGHP_FLOAT))
+
1515 
+
1518  typedef highp_float32 float32;
+
1519 
+
1522  typedef highp_float64 float64;
+
1523 
+
1526  typedef highp_float32_t float32_t;
+
1527 
+
1530  typedef highp_float64_t float64_t;
+
1531 
+
1534  typedef highp_float32_t f32;
+
1535 
+
1538  typedef highp_float64_t f64;
+
1539 #endif
+
1540 
+
1541 
+
1544  typedef tvec1<float, lowp> lowp_vec1;
+
1545 
+
1548  typedef tvec2<float, lowp> lowp_vec2;
+
1549 
+
1552  typedef tvec3<float, lowp> lowp_vec3;
+
1553 
+
1556  typedef tvec4<float, lowp> lowp_vec4;
+
1557 
+
1560  typedef tvec1<float, lowp> lowp_fvec1;
+
1561 
+
1564  typedef tvec2<float, lowp> lowp_fvec2;
+
1565 
+
1568  typedef tvec3<float, lowp> lowp_fvec3;
+
1569 
+
1572  typedef tvec4<float, lowp> lowp_fvec4;
+
1573 
+
1574 
+
1577  typedef tvec1<float, mediump> mediump_vec1;
+
1578 
+
1581  typedef tvec2<float, mediump> mediump_vec2;
+
1582 
+
1585  typedef tvec3<float, mediump> mediump_vec3;
+
1586 
+
1589  typedef tvec4<float, mediump> mediump_vec4;
+
1590 
+
1593  typedef tvec1<float, mediump> mediump_fvec1;
+
1594 
+
1597  typedef tvec2<float, mediump> mediump_fvec2;
+
1598 
+
1601  typedef tvec3<float, mediump> mediump_fvec3;
+
1602 
+
1605  typedef tvec4<float, mediump> mediump_fvec4;
+
1606 
+
1607 
+
1610  typedef tvec1<float, highp> highp_vec1;
+
1611 
+
1614  typedef tvec2<float, highp> highp_vec2;
+
1615 
+
1618  typedef tvec3<float, highp> highp_vec3;
+
1619 
+
1622  typedef tvec4<float, highp> highp_vec4;
+
1623 
+
1626  typedef tvec1<float, highp> highp_fvec1;
+
1627 
+
1630  typedef tvec2<float, highp> highp_fvec2;
+
1631 
+
1634  typedef tvec3<float, highp> highp_fvec3;
+
1635 
+
1638  typedef tvec4<float, highp> highp_fvec4;
+
1639 
+
1640 
+
1643  typedef tvec1<f32, lowp> lowp_f32vec1;
+
1644 
+
1647  typedef tvec2<f32, lowp> lowp_f32vec2;
+
1648 
+
1651  typedef tvec3<f32, lowp> lowp_f32vec3;
+
1652 
+
1655  typedef tvec4<f32, lowp> lowp_f32vec4;
+
1656 
+
1659  typedef tvec1<f32, mediump> mediump_f32vec1;
+
1660 
+
1663  typedef tvec2<f32, mediump> mediump_f32vec2;
+
1664 
+
1667  typedef tvec3<f32, mediump> mediump_f32vec3;
+
1668 
+
1671  typedef tvec4<f32, mediump> mediump_f32vec4;
+
1672 
+
1675  typedef tvec1<f32, highp> highp_f32vec1;
+
1676 
+
1679  typedef tvec2<f32, highp> highp_f32vec2;
+
1680 
+
1683  typedef tvec3<f32, highp> highp_f32vec3;
+
1684 
+
1687  typedef tvec4<f32, highp> highp_f32vec4;
+
1688 
+
1689 
+
1692  typedef tvec1<f64, lowp> lowp_f64vec1;
+
1693 
+
1696  typedef tvec2<f64, lowp> lowp_f64vec2;
+
1697 
+
1700  typedef tvec3<f64, lowp> lowp_f64vec3;
+
1701 
+
1704  typedef tvec4<f64, lowp> lowp_f64vec4;
+
1705 
+
1708  typedef tvec1<f64, mediump> mediump_f64vec1;
+
1709 
+
1712  typedef tvec2<f64, mediump> mediump_f64vec2;
+
1713 
+
1716  typedef tvec3<f64, mediump> mediump_f64vec3;
+
1717 
+
1720  typedef tvec4<f64, mediump> mediump_f64vec4;
+
1721 
+
1724  typedef tvec1<f64, highp> highp_f64vec1;
+
1725 
+
1728  typedef tvec2<f64, highp> highp_f64vec2;
+
1729 
+
1732  typedef tvec3<f64, highp> highp_f64vec3;
+
1733 
+
1736  typedef tvec4<f64, highp> highp_f64vec4;
+
1737 
+
1738 
+
1740  // Float matrix types
+
1741 
+
1744  //typedef lowp_f32 lowp_fmat1x1;
+
1745 
+
1748  typedef tmat2x2<f32, lowp> lowp_fmat2x2;
+
1749 
+
1752  typedef tmat2x3<f32, lowp> lowp_fmat2x3;
+
1753 
+
1756  typedef tmat2x4<f32, lowp> lowp_fmat2x4;
+
1757 
+
1760  typedef tmat3x2<f32, lowp> lowp_fmat3x2;
+
1761 
+
1764  typedef tmat3x3<f32, lowp> lowp_fmat3x3;
+
1765 
+
1768  typedef tmat3x4<f32, lowp> lowp_fmat3x4;
+
1769 
+
1772  typedef tmat4x2<f32, lowp> lowp_fmat4x2;
+
1773 
+
1776  typedef tmat4x3<f32, lowp> lowp_fmat4x3;
+
1777 
+
1780  typedef tmat4x4<f32, lowp> lowp_fmat4x4;
+
1781 
+
1784  //typedef lowp_fmat1x1 lowp_fmat1;
+
1785 
+
1788  typedef lowp_fmat2x2 lowp_fmat2;
+
1789 
+
1792  typedef lowp_fmat3x3 lowp_fmat3;
+
1793 
+
1796  typedef lowp_fmat4x4 lowp_fmat4;
+
1797 
+
1798 
+
1801  //typedef mediump_f32 mediump_fmat1x1;
+
1802 
+
1805  typedef tmat2x2<f32, mediump> mediump_fmat2x2;
+
1806 
+
1809  typedef tmat2x3<f32, mediump> mediump_fmat2x3;
+
1810 
+
1813  typedef tmat2x4<f32, mediump> mediump_fmat2x4;
+
1814 
+
1817  typedef tmat3x2<f32, mediump> mediump_fmat3x2;
+
1818 
+
1821  typedef tmat3x3<f32, mediump> mediump_fmat3x3;
+
1822 
+
1825  typedef tmat3x4<f32, mediump> mediump_fmat3x4;
+
1826 
+
1829  typedef tmat4x2<f32, mediump> mediump_fmat4x2;
+
1830 
+
1833  typedef tmat4x3<f32, mediump> mediump_fmat4x3;
+
1834 
+
1837  typedef tmat4x4<f32, mediump> mediump_fmat4x4;
+
1838 
+
1841  //typedef mediump_fmat1x1 mediump_fmat1;
+
1842 
+
1845  typedef mediump_fmat2x2 mediump_fmat2;
+
1846 
+
1849  typedef mediump_fmat3x3 mediump_fmat3;
+
1850 
+
1853  typedef mediump_fmat4x4 mediump_fmat4;
+
1854 
+
1855 
+
1858  //typedef highp_f32 highp_fmat1x1;
+
1859 
+
1862  typedef tmat2x2<f32, highp> highp_fmat2x2;
+
1863 
+
1866  typedef tmat2x3<f32, highp> highp_fmat2x3;
+
1867 
+
1870  typedef tmat2x4<f32, highp> highp_fmat2x4;
+
1871 
+
1874  typedef tmat3x2<f32, highp> highp_fmat3x2;
+
1875 
+
1878  typedef tmat3x3<f32, highp> highp_fmat3x3;
+
1879 
+
1882  typedef tmat3x4<f32, highp> highp_fmat3x4;
+
1883 
+
1886  typedef tmat4x2<f32, highp> highp_fmat4x2;
+
1887 
+
1890  typedef tmat4x3<f32, highp> highp_fmat4x3;
+
1891 
+
1894  typedef tmat4x4<f32, highp> highp_fmat4x4;
+
1895 
+
1898  //typedef highp_fmat1x1 highp_fmat1;
+
1899 
+
1902  typedef highp_fmat2x2 highp_fmat2;
+
1903 
+
1906  typedef highp_fmat3x3 highp_fmat3;
+
1907 
+
1910  typedef highp_fmat4x4 highp_fmat4;
+
1911 
+
1912 
+
1915  //typedef f32 lowp_f32mat1x1;
+
1916 
+
1919  typedef tmat2x2<f32, lowp> lowp_f32mat2x2;
+
1920 
+
1923  typedef tmat2x3<f32, lowp> lowp_f32mat2x3;
+
1924 
+
1927  typedef tmat2x4<f32, lowp> lowp_f32mat2x4;
+
1928 
+
1931  typedef tmat3x2<f32, lowp> lowp_f32mat3x2;
+
1932 
+
1935  typedef tmat3x3<f32, lowp> lowp_f32mat3x3;
+
1936 
+
1939  typedef tmat3x4<f32, lowp> lowp_f32mat3x4;
+
1940 
+
1943  typedef tmat4x2<f32, lowp> lowp_f32mat4x2;
+
1944 
+
1947  typedef tmat4x3<f32, lowp> lowp_f32mat4x3;
+
1948 
+
1951  typedef tmat4x4<f32, lowp> lowp_f32mat4x4;
+
1952 
+
1955  //typedef detail::tmat1x1<f32, lowp> lowp_f32mat1;
+
1956 
+
1959  typedef lowp_f32mat2x2 lowp_f32mat2;
+
1960 
+
1963  typedef lowp_f32mat3x3 lowp_f32mat3;
+
1964 
+
1967  typedef lowp_f32mat4x4 lowp_f32mat4;
+
1968 
+
1969 
+
1972  //typedef f32 mediump_f32mat1x1;
+
1973 
+
1976  typedef tmat2x2<f32, mediump> mediump_f32mat2x2;
+
1977 
+
1980  typedef tmat2x3<f32, mediump> mediump_f32mat2x3;
+
1981 
+
1984  typedef tmat2x4<f32, mediump> mediump_f32mat2x4;
+
1985 
+
1988  typedef tmat3x2<f32, mediump> mediump_f32mat3x2;
+
1989 
+
1992  typedef tmat3x3<f32, mediump> mediump_f32mat3x3;
+
1993 
+
1996  typedef tmat3x4<f32, mediump> mediump_f32mat3x4;
+
1997 
+
2000  typedef tmat4x2<f32, mediump> mediump_f32mat4x2;
+
2001 
+
2004  typedef tmat4x3<f32, mediump> mediump_f32mat4x3;
+
2005 
+
2008  typedef tmat4x4<f32, mediump> mediump_f32mat4x4;
+
2009 
+
2012  //typedef detail::tmat1x1<f32, mediump> f32mat1;
+
2013 
+
2016  typedef mediump_f32mat2x2 mediump_f32mat2;
+
2017 
+
2020  typedef mediump_f32mat3x3 mediump_f32mat3;
+
2021 
+
2024  typedef mediump_f32mat4x4 mediump_f32mat4;
+
2025 
+
2026 
+
2029  //typedef f32 highp_f32mat1x1;
+
2030 
+
2033  typedef tmat2x2<f32, highp> highp_f32mat2x2;
+
2034 
+
2037  typedef tmat2x3<f32, highp> highp_f32mat2x3;
+
2038 
+
2041  typedef tmat2x4<f32, highp> highp_f32mat2x4;
+
2042 
+
2045  typedef tmat3x2<f32, highp> highp_f32mat3x2;
+
2046 
+
2049  typedef tmat3x3<f32, highp> highp_f32mat3x3;
+
2050 
+
2053  typedef tmat3x4<f32, highp> highp_f32mat3x4;
+
2054 
+
2057  typedef tmat4x2<f32, highp> highp_f32mat4x2;
+
2058 
+
2061  typedef tmat4x3<f32, highp> highp_f32mat4x3;
+
2062 
+
2065  typedef tmat4x4<f32, highp> highp_f32mat4x4;
+
2066 
+
2069  //typedef detail::tmat1x1<f32, highp> f32mat1;
+
2070 
+
2073  typedef highp_f32mat2x2 highp_f32mat2;
+
2074 
+
2077  typedef highp_f32mat3x3 highp_f32mat3;
+
2078 
+
2081  typedef highp_f32mat4x4 highp_f32mat4;
+
2082 
+
2083 
+
2086  //typedef f64 lowp_f64mat1x1;
+
2087 
+
2090  typedef tmat2x2<f64, lowp> lowp_f64mat2x2;
+
2091 
+
2094  typedef tmat2x3<f64, lowp> lowp_f64mat2x3;
+
2095 
+
2098  typedef tmat2x4<f64, lowp> lowp_f64mat2x4;
+
2099 
+
2102  typedef tmat3x2<f64, lowp> lowp_f64mat3x2;
+
2103 
+
2106  typedef tmat3x3<f64, lowp> lowp_f64mat3x3;
+
2107 
+
2110  typedef tmat3x4<f64, lowp> lowp_f64mat3x4;
+
2111 
+
2114  typedef tmat4x2<f64, lowp> lowp_f64mat4x2;
+
2115 
+
2118  typedef tmat4x3<f64, lowp> lowp_f64mat4x3;
+
2119 
+
2122  typedef tmat4x4<f64, lowp> lowp_f64mat4x4;
+
2123 
+
2126  //typedef lowp_f64mat1x1 lowp_f64mat1;
+
2127 
+
2130  typedef lowp_f64mat2x2 lowp_f64mat2;
+
2131 
+
2134  typedef lowp_f64mat3x3 lowp_f64mat3;
+
2135 
+
2138  typedef lowp_f64mat4x4 lowp_f64mat4;
+
2139 
+
2140 
+
2143  //typedef f64 Highp_f64mat1x1;
+
2144 
+
2147  typedef tmat2x2<f64, mediump> mediump_f64mat2x2;
+
2148 
+
2151  typedef tmat2x3<f64, mediump> mediump_f64mat2x3;
+
2152 
+
2155  typedef tmat2x4<f64, mediump> mediump_f64mat2x4;
+
2156 
+
2159  typedef tmat3x2<f64, mediump> mediump_f64mat3x2;
+
2160 
+
2163  typedef tmat3x3<f64, mediump> mediump_f64mat3x3;
+
2164 
+
2167  typedef tmat3x4<f64, mediump> mediump_f64mat3x4;
+
2168 
+
2171  typedef tmat4x2<f64, mediump> mediump_f64mat4x2;
+
2172 
+
2175  typedef tmat4x3<f64, mediump> mediump_f64mat4x3;
+
2176 
+
2179  typedef tmat4x4<f64, mediump> mediump_f64mat4x4;
+
2180 
+
2183  //typedef mediump_f64mat1x1 mediump_f64mat1;
+
2184 
+
2187  typedef mediump_f64mat2x2 mediump_f64mat2;
+
2188 
+
2191  typedef mediump_f64mat3x3 mediump_f64mat3;
+
2192 
+
2195  typedef mediump_f64mat4x4 mediump_f64mat4;
+
2196 
+
2199  //typedef f64 highp_f64mat1x1;
+
2200 
+
2203  typedef tmat2x2<f64, highp> highp_f64mat2x2;
+
2204 
+
2207  typedef tmat2x3<f64, highp> highp_f64mat2x3;
+
2208 
+
2211  typedef tmat2x4<f64, highp> highp_f64mat2x4;
+
2212 
+
2215  typedef tmat3x2<f64, highp> highp_f64mat3x2;
+
2216 
+
2219  typedef tmat3x3<f64, highp> highp_f64mat3x3;
+
2220 
+
2223  typedef tmat3x4<f64, highp> highp_f64mat3x4;
+
2224 
+
2227  typedef tmat4x2<f64, highp> highp_f64mat4x2;
+
2228 
+
2231  typedef tmat4x3<f64, highp> highp_f64mat4x3;
+
2232 
+
2235  typedef tmat4x4<f64, highp> highp_f64mat4x4;
+
2236 
+
2239  //typedef highp_f64mat1x1 highp_f64mat1;
+
2240 
+
2243  typedef highp_f64mat2x2 highp_f64mat2;
+
2244 
+
2247  typedef highp_f64mat3x3 highp_f64mat3;
+
2248 
+
2251  typedef highp_f64mat4x4 highp_f64mat4;
+
2252 
+
2254  // Quaternion types
+
2255 
+
2258  typedef tquat<f32, lowp> lowp_f32quat;
+
2259 
+
2262  typedef tquat<f64, lowp> lowp_f64quat;
+
2263 
+
2266  typedef tquat<f32, mediump> mediump_f32quat;
+
2267 
+
2270  typedef tquat<f64, mediump> mediump_f64quat;
+
2271 
+
2274  typedef tquat<f32, highp> highp_f32quat;
+
2275 
+
2278  typedef tquat<f64, highp> highp_f64quat;
+
2279 
+
2280 
+
2281 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
2282  typedef lowp_f32vec1 fvec1;
+
2283  typedef lowp_f32vec2 fvec2;
+
2284  typedef lowp_f32vec3 fvec3;
+
2285  typedef lowp_f32vec4 fvec4;
+
2286  typedef lowp_f32mat2 fmat2;
+
2287  typedef lowp_f32mat3 fmat3;
+
2288  typedef lowp_f32mat4 fmat4;
+
2289  typedef lowp_f32mat2x2 fmat2x2;
+
2290  typedef lowp_f32mat3x2 fmat3x2;
+
2291  typedef lowp_f32mat4x2 fmat4x2;
+
2292  typedef lowp_f32mat2x3 fmat2x3;
+
2293  typedef lowp_f32mat3x3 fmat3x3;
+
2294  typedef lowp_f32mat4x3 fmat4x3;
+
2295  typedef lowp_f32mat2x4 fmat2x4;
+
2296  typedef lowp_f32mat3x4 fmat3x4;
+
2297  typedef lowp_f32mat4x4 fmat4x4;
+
2298  typedef lowp_f32quat fquat;
+
2299 
+
2300  typedef lowp_f32vec1 f32vec1;
+
2301  typedef lowp_f32vec2 f32vec2;
+
2302  typedef lowp_f32vec3 f32vec3;
+
2303  typedef lowp_f32vec4 f32vec4;
+
2304  typedef lowp_f32mat2 f32mat2;
+
2305  typedef lowp_f32mat3 f32mat3;
+
2306  typedef lowp_f32mat4 f32mat4;
+
2307  typedef lowp_f32mat2x2 f32mat2x2;
+
2308  typedef lowp_f32mat3x2 f32mat3x2;
+
2309  typedef lowp_f32mat4x2 f32mat4x2;
+
2310  typedef lowp_f32mat2x3 f32mat2x3;
+
2311  typedef lowp_f32mat3x3 f32mat3x3;
+
2312  typedef lowp_f32mat4x3 f32mat4x3;
+
2313  typedef lowp_f32mat2x4 f32mat2x4;
+
2314  typedef lowp_f32mat3x4 f32mat3x4;
+
2315  typedef lowp_f32mat4x4 f32mat4x4;
+
2316  typedef lowp_f32quat f32quat;
+
2317 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
2318  typedef mediump_f32vec1 fvec1;
+
2319  typedef mediump_f32vec2 fvec2;
+
2320  typedef mediump_f32vec3 fvec3;
+
2321  typedef mediump_f32vec4 fvec4;
+
2322  typedef mediump_f32mat2 fmat2;
+
2323  typedef mediump_f32mat3 fmat3;
+
2324  typedef mediump_f32mat4 fmat4;
+
2325  typedef mediump_f32mat2x2 fmat2x2;
+
2326  typedef mediump_f32mat3x2 fmat3x2;
+
2327  typedef mediump_f32mat4x2 fmat4x2;
+
2328  typedef mediump_f32mat2x3 fmat2x3;
+
2329  typedef mediump_f32mat3x3 fmat3x3;
+
2330  typedef mediump_f32mat4x3 fmat4x3;
+
2331  typedef mediump_f32mat2x4 fmat2x4;
+
2332  typedef mediump_f32mat3x4 fmat3x4;
+
2333  typedef mediump_f32mat4x4 fmat4x4;
+
2334  typedef mediump_f32quat fquat;
+
2335 
+
2336  typedef mediump_f32vec1 f32vec1;
+
2337  typedef mediump_f32vec2 f32vec2;
+
2338  typedef mediump_f32vec3 f32vec3;
+
2339  typedef mediump_f32vec4 f32vec4;
+
2340  typedef mediump_f32mat2 f32mat2;
+
2341  typedef mediump_f32mat3 f32mat3;
+
2342  typedef mediump_f32mat4 f32mat4;
+
2343  typedef mediump_f32mat2x2 f32mat2x2;
+
2344  typedef mediump_f32mat3x2 f32mat3x2;
+
2345  typedef mediump_f32mat4x2 f32mat4x2;
+
2346  typedef mediump_f32mat2x3 f32mat2x3;
+
2347  typedef mediump_f32mat3x3 f32mat3x3;
+
2348  typedef mediump_f32mat4x3 f32mat4x3;
+
2349  typedef mediump_f32mat2x4 f32mat2x4;
+
2350  typedef mediump_f32mat3x4 f32mat3x4;
+
2351  typedef mediump_f32mat4x4 f32mat4x4;
+
2352  typedef mediump_f32quat f32quat;
+
2353 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT))
+
2354  typedef highp_f32vec1 fvec1;
+
2357 
+
2360  typedef highp_f32vec2 fvec2;
+
2361 
+
2364  typedef highp_f32vec3 fvec3;
+
2365 
+
2368  typedef highp_f32vec4 fvec4;
+
2369 
+
2372  typedef highp_f32mat2x2 fmat2x2;
+
2373 
+
2376  typedef highp_f32mat2x3 fmat2x3;
+
2377 
+
2380  typedef highp_f32mat2x4 fmat2x4;
+
2381 
+
2384  typedef highp_f32mat3x2 fmat3x2;
+
2385 
+
2388  typedef highp_f32mat3x3 fmat3x3;
+
2389 
+
2392  typedef highp_f32mat3x4 fmat3x4;
+
2393 
+
2396  typedef highp_f32mat4x2 fmat4x2;
+
2397 
+
2400  typedef highp_f32mat4x3 fmat4x3;
+
2401 
+
2404  typedef highp_f32mat4x4 fmat4x4;
+
2405 
+
2408  typedef fmat2x2 fmat2;
+
2409 
+
2412  typedef fmat3x3 fmat3;
+
2413 
+
2416  typedef fmat4x4 fmat4;
+
2417 
+
2420  typedef highp_fquat fquat;
+
2421 
+
2422 
+
2423 
+
2426  typedef highp_f32vec1 f32vec1;
+
2427 
+
2430  typedef highp_f32vec2 f32vec2;
+
2431 
+
2434  typedef highp_f32vec3 f32vec3;
+
2435 
+
2438  typedef highp_f32vec4 f32vec4;
+
2439 
+
2442  typedef highp_f32mat2x2 f32mat2x2;
+
2443 
+
2446  typedef highp_f32mat2x3 f32mat2x3;
+
2447 
+
2450  typedef highp_f32mat2x4 f32mat2x4;
+
2451 
+
2454  typedef highp_f32mat3x2 f32mat3x2;
+
2455 
+
2458  typedef highp_f32mat3x3 f32mat3x3;
+
2459 
+
2462  typedef highp_f32mat3x4 f32mat3x4;
+
2463 
+
2466  typedef highp_f32mat4x2 f32mat4x2;
+
2467 
+
2470  typedef highp_f32mat4x3 f32mat4x3;
+
2471 
+
2474  typedef highp_f32mat4x4 f32mat4x4;
+
2475 
+
2478  typedef f32mat2x2 f32mat2;
+
2479 
+
2482  typedef f32mat3x3 f32mat3;
+
2483 
+
2486  typedef f32mat4x4 f32mat4;
+
2487 
+
2490  typedef highp_f32quat f32quat;
+
2491 #endif
+
2492 
+
2493 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
+
2494  typedef lowp_f64vec1 f64vec1;
+
2495  typedef lowp_f64vec2 f64vec2;
+
2496  typedef lowp_f64vec3 f64vec3;
+
2497  typedef lowp_f64vec4 f64vec4;
+
2498  typedef lowp_f64mat2 f64mat2;
+
2499  typedef lowp_f64mat3 f64mat3;
+
2500  typedef lowp_f64mat4 f64mat4;
+
2501  typedef lowp_f64mat2x2 f64mat2x2;
+
2502  typedef lowp_f64mat3x2 f64mat3x2;
+
2503  typedef lowp_f64mat4x2 f64mat4x2;
+
2504  typedef lowp_f64mat2x3 f64mat2x3;
+
2505  typedef lowp_f64mat3x3 f64mat3x3;
+
2506  typedef lowp_f64mat4x3 f64mat4x3;
+
2507  typedef lowp_f64mat2x4 f64mat2x4;
+
2508  typedef lowp_f64mat3x4 f64mat3x4;
+
2509  typedef lowp_f64mat4x4 f64mat4x4;
+
2510  typedef lowp_f64quat f64quat;
+
2511 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
2512  typedef mediump_f64vec1 f64vec1;
+
2513  typedef mediump_f64vec2 f64vec2;
+
2514  typedef mediump_f64vec3 f64vec3;
+
2515  typedef mediump_f64vec4 f64vec4;
+
2516  typedef mediump_f64mat2 f64mat2;
+
2517  typedef mediump_f64mat3 f64mat3;
+
2518  typedef mediump_f64mat4 f64mat4;
+
2519  typedef mediump_f64mat2x2 f64mat2x2;
+
2520  typedef mediump_f64mat3x2 f64mat3x2;
+
2521  typedef mediump_f64mat4x2 f64mat4x2;
+
2522  typedef mediump_f64mat2x3 f64mat2x3;
+
2523  typedef mediump_f64mat3x3 f64mat3x3;
+
2524  typedef mediump_f64mat4x3 f64mat4x3;
+
2525  typedef mediump_f64mat2x4 f64mat2x4;
+
2526  typedef mediump_f64mat3x4 f64mat3x4;
+
2527  typedef mediump_f64mat4x4 f64mat4x4;
+
2528  typedef mediump_f64quat f64quat;
+
2529 #else
+
2530  typedef highp_f64vec1 f64vec1;
+
2533 
+
2536  typedef highp_f64vec2 f64vec2;
+
2537 
+
2540  typedef highp_f64vec3 f64vec3;
+
2541 
+
2544  typedef highp_f64vec4 f64vec4;
+
2545 
+
2548  typedef highp_f64mat2x2 f64mat2x2;
+
2549 
+
2552  typedef highp_f64mat2x3 f64mat2x3;
+
2553 
+
2556  typedef highp_f64mat2x4 f64mat2x4;
+
2557 
+
2560  typedef highp_f64mat3x2 f64mat3x2;
+
2561 
+
2564  typedef highp_f64mat3x3 f64mat3x3;
+
2565 
+
2568  typedef highp_f64mat3x4 f64mat3x4;
+
2569 
+
2572  typedef highp_f64mat4x2 f64mat4x2;
+
2573 
+
2576  typedef highp_f64mat4x3 f64mat4x3;
+
2577 
+
2580  typedef highp_f64mat4x4 f64mat4x4;
+
2581 
+
2584  typedef f64mat2x2 f64mat2;
+
2585 
+
2588  typedef f64mat3x3 f64mat3;
+
2589 
+
2592  typedef f64mat4x4 f64mat4;
+
2593 
+
2596  typedef highp_f64quat f64quat;
+
2597 #endif
+
2598 
+
2599 }//namespace glm
+
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:69
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:297
+
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:740
+
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:157
+
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:133
+
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1082
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:931
+
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:186
+
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:736
+
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2364
+
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2388
+
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:723
+
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2482
+
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:816
+
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:269
+
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1165
+
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1014
+
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:253
+
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:715
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:305
+
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:485
+
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:217
+
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:129
+
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:76
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:935
+
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:766
+
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:314
+
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:784
+
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2592
+
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:757
+
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:221
+
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:228
+
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:719
+
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:265
+
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:774
+
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:261
+
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:257
+
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1169
+
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2416
+
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:824
+
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2360
+
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:177
+
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:874
+
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:179
+
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:812
+
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:552
+
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:866
+
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1090
+
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:285
+
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:477
+
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2478
+
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:564
+
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:291
+
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:231
+
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:141
+
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2450
+
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2454
+
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2544
+
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2584
+
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:169
+
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:796
+
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2430
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:927
+
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1538
+
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2588
+
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2532
+
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2368
+
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:209
+
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2474
+
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2548
+
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1530
+
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1002
+
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2396
+
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1006
+
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:226
+
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1320
+
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:834
+
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:820
+
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2564
+
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:792
+
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:227
+
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2466
+
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:229
+
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:84
+
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:233
+
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:193
+
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2490
+
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:232
+
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:405
+
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:225
+
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2556
+
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1094
+
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1324
+
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:862
+
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1534
+
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:161
+
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2426
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:914
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:923
+
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:770
+
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2380
+
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2356
+
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:165
+
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:749
+
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:556
+
Definition: _noise.hpp:40
+
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:788
+
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2596
+
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:241
+
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:850
+
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:393
+
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:473
+
OpenGL Mathematics (glm.g-truc.net)
+
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:205
+
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2372
+
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:145
+
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:838
+
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:85
+
OpenGL Mathematics (glm.g-truc.net)
+
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:744
+
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2376
+
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1526
+
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:401
+
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2384
+
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:213
+
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:804
+
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1173
+
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2568
+
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:753
+
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:181
+
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2392
+
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2400
+
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1010
+
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2540
+
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:83
+
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1332
+
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:197
+
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:233
+
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:149
+
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2576
+
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:808
+
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:201
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:906
+
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2560
+
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2442
+
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2458
+
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:854
+
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:397
+
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:245
+
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:137
+
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:878
+
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2572
+
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:185
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:309
+
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:193
+
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2486
+
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:778
+
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:234
+
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:828
+
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:229
+
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:761
+
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:858
+
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:481
+
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2404
+
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:249
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:910
+
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2434
+
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2580
+
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2552
+
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:842
+
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:870
+
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2446
+
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2408
+
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:800
+
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:322
+
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2438
+
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:560
+
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1086
+
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:732
+
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:711
+
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:318
+
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2462
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:918
+
OpenGL Mathematics (glm.g-truc.net)
+
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:237
+
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1161
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:301
+
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2470
+
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2412
+
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:189
+
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:153
+
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:297
+
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2536
+
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:846
+
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:326
+
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1328
+
OpenGL Mathematics (glm.g-truc.net)
+
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:173
diff --git a/doc/api/a00039.html b/doc/api/a00039.html index fc95111a..bcd1b0b7 100644 --- a/doc/api/a00039.html +++ b/doc/api/a00039.html @@ -3,8 +3,8 @@ - -0.9.6: glm.hpp File Reference + +0.9.7: geometric.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
glm.hpp File Reference
+
geometric.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-
Date
2009-05-01 / 2011-05-16
-
Author
Christophe Riccio
-

GLM Core (Dependence)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

-

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2005-01-14 / 2011-10-24
+

GLM Core

+
Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file glm.hpp.

+

Definition in file geometric.hpp.

diff --git a/doc/api/a00039_source.html b/doc/api/a00039_source.html index ce744767..c2cd6682 100644 --- a/doc/api/a00039_source.html +++ b/doc/api/a00039_source.html @@ -3,8 +3,8 @@ - -0.9.6: glm.hpp Source File + +0.9.7: geometric.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
glm.hpp
+
geometric.hpp
Go to the documentation of this file.
1 
-
81 #include "detail/_fixes.hpp"
-
82 
-
83 #pragma once
-
84 
-
85 #include <cmath>
-
86 #include <climits>
-
87 #include <cfloat>
-
88 #include <limits>
-
89 #include <cassert>
-
90 #include "fwd.hpp"
-
91 
-
92 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))
-
93 # define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED
-
94 # pragma message("GLM: Core library included")
-
95 #endif//GLM_MESSAGE
-
96 
-
97 #include "vec2.hpp"
-
98 #include "vec3.hpp"
-
99 #include "vec4.hpp"
-
100 #include "mat2x2.hpp"
-
101 #include "mat2x3.hpp"
-
102 #include "mat2x4.hpp"
-
103 #include "mat3x2.hpp"
-
104 #include "mat3x3.hpp"
-
105 #include "mat3x4.hpp"
-
106 #include "mat4x2.hpp"
-
107 #include "mat4x3.hpp"
-
108 #include "mat4x4.hpp"
-
109 
-
110 #include "trigonometric.hpp"
-
111 #include "exponential.hpp"
-
112 #include "common.hpp"
-
113 #include "packing.hpp"
-
114 #include "geometric.hpp"
-
115 #include "matrix.hpp"
-
116 #include "vector_relational.hpp"
-
117 #include "integer.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+
33 #pragma once
+
34 
+ +
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00040.html b/doc/api/a00040.html index bbc86147..51083909 100644 --- a/doc/api/a00040.html +++ b/doc/api/a00040.html @@ -3,8 +3,8 @@ - -0.9.6: gradient_paint.hpp File Reference + +0.9.7: glm.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
gradient_paint.hpp File Reference
+
glm.hpp File Reference

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename T , precision P>
GLM_FUNC_DECL T linearGradient (tvec2< T, P > const &Point0, tvec2< T, P > const &Point1, tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_DECL T radialGradient (tvec2< T, P > const &Center, T const &Radius, tvec2< T, P > const &Focal, tvec2< T, P > const &Position)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_gradient_paint

-
Date
2009-03-06 / 2011-06-07
+
Date
2009-05-01 / 2011-05-16
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_optimum_pow (dependence)
+

GLM Core (Dependence)

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+

GLM Core

+
Date
2005-01-14 / 2011-10-24
+
Author
Christophe Riccio
-

Definition in file gradient_paint.hpp.

+

Definition in file glm.hpp.

diff --git a/doc/api/a00040_source.html b/doc/api/a00040_source.html index 950ce2d1..9c7680a3 100644 --- a/doc/api/a00040_source.html +++ b/doc/api/a00040_source.html @@ -3,8 +3,8 @@ - -0.9.6: gradient_paint.hpp Source File + +0.9.7: glm.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gradient_paint.hpp
+
glm.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include "../gtx/optimum_pow.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_gradient_paint extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename T, precision P>
-
60  GLM_FUNC_DECL T radialGradient(
-
61  tvec2<T, P> const & Center,
-
62  T const & Radius,
-
63  tvec2<T, P> const & Focal,
-
64  tvec2<T, P> const & Position);
-
65 
-
68  template <typename T, precision P>
-
69  GLM_FUNC_DECL T linearGradient(
-
70  tvec2<T, P> const & Point0,
-
71  tvec2<T, P> const & Point1,
-
72  tvec2<T, P> const & Position);
-
73 
-
75 }// namespace glm
-
76 
-
77 #include "gradient_paint.inl"
-
GLM_FUNC_DECL T radialGradient(tvec2< T, P > const &Center, T const &Radius, tvec2< T, P > const &Focal, tvec2< T, P > const &Position)
Return a color from a radial gradient.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL T linearGradient(tvec2< T, P > const &Point0, tvec2< T, P > const &Point1, tvec2< T, P > const &Position)
Return a color from a linear gradient.
+
81 #include "detail/_fixes.hpp"
+
82 
+
83 #pragma once
+
84 
+
85 #include <cmath>
+
86 #include <climits>
+
87 #include <cfloat>
+
88 #include <limits>
+
89 #include <cassert>
+
90 #include "fwd.hpp"
+
91 
+
92 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))
+
93 # define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED
+
94 # pragma message("GLM: Core library included")
+
95 #endif//GLM_MESSAGE
+
96 
+
97 #include "vec2.hpp"
+
98 #include "vec3.hpp"
+
99 #include "vec4.hpp"
+
100 #include "mat2x2.hpp"
+
101 #include "mat2x3.hpp"
+
102 #include "mat2x4.hpp"
+
103 #include "mat3x2.hpp"
+
104 #include "mat3x3.hpp"
+
105 #include "mat3x4.hpp"
+
106 #include "mat4x2.hpp"
+
107 #include "mat4x3.hpp"
+
108 #include "mat4x4.hpp"
+
109 
+
110 #include "trigonometric.hpp"
+
111 #include "exponential.hpp"
+
112 #include "common.hpp"
+
113 #include "packing.hpp"
+
114 #include "geometric.hpp"
+
115 #include "matrix.hpp"
+
116 #include "vector_relational.hpp"
+
117 #include "integer.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00041.html b/doc/api/a00041.html index ecc0c29d..4758b4ff 100644 --- a/doc/api/a00041.html +++ b/doc/api/a00041.html @@ -3,8 +3,8 @@ - -0.9.6: handed_coordinate_space.hpp File Reference + +0.9.7: gradient_paint.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
handed_coordinate_space.hpp File Reference
+
gradient_paint.hpp File Reference
@@ -56,31 +56,33 @@ - - - - - - + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL bool leftHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL bool rightHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL T linearGradient (tvec2< T, P > const &Point0, tvec2< T, P > const &Point1, tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_DECL T radialGradient (tvec2< T, P > const &Center, T const &Radius, tvec2< T, P > const &Focal, tvec2< T, P > const &Position)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_handed_coordinate_space

-
Date
2005-12-21 / 2011-06-07
+

GLM_GTX_gradient_paint

+
Date
2009-03-06 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTX_optimum_pow (dependence)
-

Definition in file handed_coordinate_space.hpp.

+

Definition in file gradient_paint.hpp.

diff --git a/doc/api/a00041_source.html b/doc/api/a00041_source.html index 888d4b0d..6ca34557 100644 --- a/doc/api/a00041_source.html +++ b/doc/api/a00041_source.html @@ -3,8 +3,8 @@ - -0.9.6: handed_coordinate_space.hpp Source File + +0.9.7: gradient_paint.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
handed_coordinate_space.hpp
+
gradient_paint.hpp
Go to the documentation of this file.
1 
@@ -54,38 +54,40 @@
43 
44 // Dependency:
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename T, precision P>
-
59  GLM_FUNC_DECL bool rightHanded(
-
60  tvec3<T, P> const & tangent,
-
61  tvec3<T, P> const & binormal,
-
62  tvec3<T, P> const & normal);
-
63 
-
66  template <typename T, precision P>
-
67  GLM_FUNC_DECL bool leftHanded(
-
68  tvec3<T, P> const & tangent,
-
69  tvec3<T, P> const & binormal,
-
70  tvec3<T, P> const & normal);
-
71 
-
73 }// namespace glm
-
74 
-
75 #include "handed_coordinate_space.inl"
-
GLM_FUNC_DECL bool rightHanded(tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
Return if a trihedron right handed or not.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL bool leftHanded(tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
Return if a trihedron left handed or not.
+
46 #include "../gtx/optimum_pow.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_gradient_paint extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  template <typename T, precision P>
+
60  GLM_FUNC_DECL T radialGradient(
+
61  tvec2<T, P> const & Center,
+
62  T const & Radius,
+
63  tvec2<T, P> const & Focal,
+
64  tvec2<T, P> const & Position);
+
65 
+
68  template <typename T, precision P>
+
69  GLM_FUNC_DECL T linearGradient(
+
70  tvec2<T, P> const & Point0,
+
71  tvec2<T, P> const & Point1,
+
72  tvec2<T, P> const & Position);
+
73 
+
75 }// namespace glm
+
76 
+
77 #include "gradient_paint.inl"
+
GLM_FUNC_DECL T linearGradient(tvec2< T, P > const &Point0, tvec2< T, P > const &Point1, tvec2< T, P > const &Position)
Return a color from a linear gradient.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T radialGradient(tvec2< T, P > const &Center, T const &Radius, tvec2< T, P > const &Focal, tvec2< T, P > const &Position)
Return a color from a radial gradient.
diff --git a/doc/api/a00042.html b/doc/api/a00042.html index 6ba6343e..487fdee5 100644 --- a/doc/api/a00042.html +++ b/doc/api/a00042.html @@ -3,8 +3,8 @@ - -0.9.6: integer.hpp File Reference + +0.9.7: handed_coordinate_space.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtc/integer.hpp File Reference
+
handed_coordinate_space.hpp File Reference
@@ -56,39 +56,31 @@ - - - - - - - - - - - - + + + + + +

Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mod (genIUType x, genIUType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL bool leftHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL bool rightHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_integer

-
Date
2014-11-17 / 2014-11-17
+

GLM_GTX_handed_coordinate_space

+
Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTC_integer (dependence)
+
See also
GLM Core (dependence)
-

Definition in file gtc/integer.hpp.

+

Definition in file handed_coordinate_space.hpp.

diff --git a/doc/api/a00042_source.html b/doc/api/a00042_source.html index 707c8963..8ffadb9d 100644 --- a/doc/api/a00042_source.html +++ b/doc/api/a00042_source.html @@ -3,8 +3,8 @@ - -0.9.6: integer.hpp Source File + +0.9.7: handed_coordinate_space.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtc/integer.hpp
+
handed_coordinate_space.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependencies
-
46 #include "../detail/setup.hpp"
-
47 #include "../detail/precision.hpp"
-
48 #include "../detail/func_common.hpp"
-
49 #include "../detail/func_integer.hpp"
-
50 #include "../detail/func_exponential.hpp"
-
51 #include <limits>
-
52 
-
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
54 # pragma message("GLM: GLM_GTC_integer extension included")
-
55 #endif
-
56 
-
57 namespace glm
-
58 {
-
61 
-
64  template <typename genIUType>
-
65  GLM_FUNC_DECL genIUType log2(genIUType x);
-
66 
-
75  template <typename genIUType>
-
76  GLM_FUNC_DECL genIUType mod(genIUType x, genIUType y);
-
77 
-
87  template <typename T, precision P, template <typename, precision> class vecType>
-
88  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, T y);
-
89 
-
99  template <typename T, precision P, template <typename, precision> class vecType>
-
100  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, vecType<T, P> const & y);
-
101 
-
103 } //namespace glm
-
104 
-
105 #include "integer.inl"
-
GLM_FUNC_DECL genIUType log2(genIUType x)
Returns the log2 of x for integer values.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genIUType mod(genIUType x, genIUType y)
Modulus.
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename T, precision P>
+
59  GLM_FUNC_DECL bool rightHanded(
+
60  tvec3<T, P> const & tangent,
+
61  tvec3<T, P> const & binormal,
+
62  tvec3<T, P> const & normal);
+
63 
+
66  template <typename T, precision P>
+
67  GLM_FUNC_DECL bool leftHanded(
+
68  tvec3<T, P> const & tangent,
+
69  tvec3<T, P> const & binormal,
+
70  tvec3<T, P> const & normal);
+
71 
+
73 }// namespace glm
+
74 
+
75 #include "handed_coordinate_space.inl"
+
GLM_FUNC_DECL bool rightHanded(tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
Return if a trihedron right handed or not.
+
GLM_FUNC_DECL bool leftHanded(tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
Return if a trihedron left handed or not.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00043.html b/doc/api/a00043.html index bd2a439a..e6c493cd 100644 --- a/doc/api/a00043.html +++ b/doc/api/a00043.html @@ -3,8 +3,8 @@ - -0.9.6: integer.hpp File Reference + +0.9.7: hash.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
gtx/integer.hpp File Reference
+
hash.hpp File Reference

Go to the source code of this file.

- - - - -

-Typedefs

typedef signed int sint
 
- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType factorial (genType const &x)
 
GLM_FUNC_DECL unsigned int floor_log2 (unsigned int x)
 
GLM_FUNC_DECL int mod (int x, int y)
 
GLM_FUNC_DECL uint mod (uint x, uint y)
 
GLM_FUNC_DECL uint nlz (uint x)
 
GLM_FUNC_DECL int pow (int x, int y)
 
GLM_FUNC_DECL uint pow (uint x, uint y)
 
GLM_FUNC_DECL int sqrt (int x)
 
GLM_FUNC_DECL uint sqrt (uint x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_integer

-
Date
2005-12-24 / 2011-10-13
+

GLM_GTX_hash

+
Date
2015-03-07 / 2015-03-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file gtx/integer.hpp.

+

Definition in file hash.hpp.

diff --git a/doc/api/a00043_source.html b/doc/api/a00043_source.html index d848ea76..18e4ccf1 100644 --- a/doc/api/a00043_source.html +++ b/doc/api/a00043_source.html @@ -3,8 +3,8 @@ - -0.9.6: integer.hpp Source File + +0.9.7: hash.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtx/integer.hpp
+
hash.hpp
Go to the documentation of this file.
1 
42 #pragma once
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include "../gtc/integer.hpp"
+
44 #if !GLM_HAS_CXX11_STL
+
45 # error "GLM_GTX_hash requires C++11 standard library support"
+
46 #endif
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_integer extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  GLM_FUNC_DECL int pow(int x, int y);
-
60 
-
63  GLM_FUNC_DECL int sqrt(int x);
-
64 
-
67  GLM_FUNC_DECL unsigned int floor_log2(unsigned int x);
-
68 
-
71  GLM_FUNC_DECL int mod(int x, int y);
-
72 
-
75  template <typename genType>
-
76  GLM_FUNC_DECL genType factorial(genType const & x);
+
48 #include <functional>
+
49 
+
50 #include "../vec2.hpp"
+
51 #include "../vec3.hpp"
+
52 #include "../vec4.hpp"
+
53 #include "../gtc/vec1.hpp"
+
54 
+
55 #include "../gtc/quaternion.hpp"
+
56 #include "../gtx/dual_quaternion.hpp"
+
57 
+
58 #include "../mat2x2.hpp"
+
59 #include "../mat2x3.hpp"
+
60 #include "../mat2x4.hpp"
+
61 
+
62 #include "../mat3x2.hpp"
+
63 #include "../mat3x3.hpp"
+
64 #include "../mat3x4.hpp"
+
65 
+
66 #include "../mat4x2.hpp"
+
67 #include "../mat4x3.hpp"
+
68 #include "../mat4x4.hpp"
+
69 
+
70 namespace std
+
71 {
+
72  template <typename T, glm::precision P>
+
73  struct hash<glm::tvec1<T,P>>
+
74  {
+
75  GLM_FUNC_DECL size_t operator()(const glm::tvec1<T,P> &v) const;
+
76  };
77 
-
80  typedef signed int sint;
-
81 
-
84  GLM_FUNC_DECL uint pow(uint x, uint y);
-
85 
-
88  GLM_FUNC_DECL uint sqrt(uint x);
+
78  template <typename T, glm::precision P>
+
79  struct hash<glm::tvec2<T,P>>
+
80  {
+
81  GLM_FUNC_DECL size_t operator()(const glm::tvec2<T,P> &v) const;
+
82  };
+
83 
+
84  template <typename T, glm::precision P>
+
85  struct hash<glm::tvec3<T,P>>
+
86  {
+
87  GLM_FUNC_DECL size_t operator()(const glm::tvec3<T,P> &v) const;
+
88  };
89 
-
92  GLM_FUNC_DECL uint mod(uint x, uint y);
-
93 
-
96  GLM_FUNC_DECL uint nlz(uint x);
-
97 
-
99 }//namespace glm
-
100 
-
101 #include "integer.inl"
-
GLM_FUNC_DECL uint mod(uint x, uint y)
Modulus.
-
signed int sint
32bit signed integer.
Definition: gtx/integer.hpp:80
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:306
-
GLM_FUNC_DECL uint pow(uint x, uint y)
Returns x raised to the y power.
-
GLM_FUNC_DECL uint nlz(uint x)
Returns the number of leading zeros.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL uint sqrt(uint x)
Returns the positive square root of x.
-
GLM_FUNC_DECL genType factorial(genType const &x)
Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...
-
GLM_FUNC_DECL unsigned int floor_log2(unsigned int x)
Returns the floor log2 of x.
+
90  template <typename T, glm::precision P>
+
91  struct hash<glm::tvec4<T,P>>
+
92  {
+
93  GLM_FUNC_DECL size_t operator()(const glm::tvec4<T,P> &v) const;
+
94  };
+
95 
+
96  template <typename T, glm::precision P>
+
97  struct hash<glm::tquat<T,P>>
+
98  {
+
99  GLM_FUNC_DECL size_t operator()(const glm::tquat<T,P> &q) const;
+
100  };
+
101 
+
102  template <typename T, glm::precision P>
+
103  struct hash<glm::tdualquat<T,P>>
+
104  {
+
105  GLM_FUNC_DECL size_t operator()(const glm::tdualquat<T,P> &q) const;
+
106  };
+
107 
+
108  template <typename T, glm::precision P>
+
109  struct hash<glm::tmat2x2<T,P>>
+
110  {
+
111  GLM_FUNC_DECL size_t operator()(const glm::tmat2x2<T,P> &m) const;
+
112  };
+
113 
+
114  template <typename T, glm::precision P>
+
115  struct hash<glm::tmat2x3<T,P>>
+
116  {
+
117  GLM_FUNC_DECL size_t operator()(const glm::tmat2x3<T,P> &m) const;
+
118  };
+
119 
+
120  template <typename T, glm::precision P>
+
121  struct hash<glm::tmat2x4<T,P>>
+
122  {
+
123  GLM_FUNC_DECL size_t operator()(const glm::tmat2x4<T,P> &m) const;
+
124  };
+
125 
+
126  template <typename T, glm::precision P>
+
127  struct hash<glm::tmat3x2<T,P>>
+
128  {
+
129  GLM_FUNC_DECL size_t operator()(const glm::tmat3x2<T,P> &m) const;
+
130  };
+
131 
+
132  template <typename T, glm::precision P>
+
133  struct hash<glm::tmat3x3<T,P>>
+
134  {
+
135  GLM_FUNC_DECL size_t operator()(const glm::tmat3x3<T,P> &m) const;
+
136  };
+
137 
+
138  template <typename T, glm::precision P>
+
139  struct hash<glm::tmat3x4<T,P>>
+
140  {
+
141  GLM_FUNC_DECL size_t operator()(const glm::tmat3x4<T,P> &m) const;
+
142  };
+
143 
+
144  template <typename T, glm::precision P>
+
145  struct hash<glm::tmat4x2<T,P>>
+
146  {
+
147  GLM_FUNC_DECL size_t operator()(const glm::tmat4x2<T,P> &m) const;
+
148  };
+
149 
+
150  template <typename T, glm::precision P>
+
151  struct hash<glm::tmat4x3<T,P>>
+
152  {
+
153  GLM_FUNC_DECL size_t operator()(const glm::tmat4x3<T,P> &m) const;
+
154  };
+
155 
+
156  template <typename T, glm::precision P>
+
157  struct hash<glm::tmat4x4<T,P>>
+
158  {
+
159  GLM_FUNC_DECL size_t operator()(const glm::tmat4x4<T,P> &m) const;
+
160  };
+
161 } // namespace std
+
162 
+
163 #include "hash.inl"
+
Definition: hash.hpp:70
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00044.html b/doc/api/a00044.html index b2d05875..79701334 100644 --- a/doc/api/a00044.html +++ b/doc/api/a00044.html @@ -3,8 +3,8 @@ - -0.9.6: integer.hpp File Reference + +0.9.7: integer.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
integer.hpp File Reference
+
gtc/integer.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mod (genIUType x, genIUType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, vecType< T, P > const &y)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTC_integer

+
Date
2014-11-17 / 2014-11-17
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+GLM_GTC_integer (dependence)
-

Definition in file integer.hpp.

+

Definition in file gtc/integer.hpp.

diff --git a/doc/api/a00044_source.html b/doc/api/a00044_source.html index 820479e2..283a115f 100644 --- a/doc/api/a00044_source.html +++ b/doc/api/a00044_source.html @@ -3,8 +3,8 @@ - -0.9.6: integer.hpp Source File + +0.9.7: integer.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
integer.hpp
+
gtc/integer.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "detail/func_integer.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
+
43 #pragma once
+
44 
+
45 // Dependencies
+
46 #include "../detail/setup.hpp"
+
47 #include "../detail/precision.hpp"
+
48 #include "../detail/func_common.hpp"
+
49 #include "../detail/func_integer.hpp"
+
50 #include "../detail/func_exponential.hpp"
+
51 #include <limits>
+
52 
+
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
54 # pragma message("GLM: GLM_GTC_integer extension included")
+
55 #endif
+
56 
+
57 namespace glm
+
58 {
+
61 
+
64  template <typename genIUType>
+
65  GLM_FUNC_DECL genIUType log2(genIUType x);
+
66 
+
75  template <typename genIUType>
+
76  GLM_FUNC_DECL genIUType mod(genIUType x, genIUType y);
+
77 
+
87  template <typename T, precision P, template <typename, precision> class vecType>
+
88  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, T y);
+
89 
+
99  template <typename T, precision P, template <typename, precision> class vecType>
+
100  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, vecType<T, P> const & y);
+
101 
+
103 } //namespace glm
+
104 
+
105 #include "integer.inl"
+
GLM_FUNC_DECL genIUType log2(genIUType x)
Returns the log2 of x for integer values.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genIUType mod(genIUType x, genIUType y)
Modulus.
diff --git a/doc/api/a00045.html b/doc/api/a00045.html index e94268b1..92975b94 100644 --- a/doc/api/a00045.html +++ b/doc/api/a00045.html @@ -3,8 +3,8 @@ - -0.9.6: intersect.hpp File Reference + +0.9.7: integer.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intersect.hpp File Reference
+
gtx/integer.hpp File Reference

Go to the source code of this file.

+ + + +

+Typedefs

typedef signed int sint
 
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
template<typename genType >
GLM_FUNC_DECL genType factorial (genType const &x)
 
GLM_FUNC_DECL unsigned int floor_log2 (unsigned int x)
 
GLM_FUNC_DECL int mod (int x, int y)
 
GLM_FUNC_DECL uint mod (uint x, uint y)
 
GLM_FUNC_DECL uint nlz (uint x)
 
GLM_FUNC_DECL int pow (int x, int y)
 
GLM_FUNC_DECL uint pow (uint x, uint y)
 
GLM_FUNC_DECL int sqrt (int x)
 
GLM_FUNC_DECL uint sqrt (uint x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_intersect

-
Date
2007-04-03 / 2011-06-07
+

GLM_GTX_integer

+
Date
2005-12-24 / 2011-10-13
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_closest_point (dependence)
+
See also
GLM Core (dependence)
-

Definition in file intersect.hpp.

+

Definition in file gtx/integer.hpp.

diff --git a/doc/api/a00045_source.html b/doc/api/a00045_source.html index a9944976..be1aed91 100644 --- a/doc/api/a00045_source.html +++ b/doc/api/a00045_source.html @@ -3,8 +3,8 @@ - -0.9.6: intersect.hpp Source File + +0.9.7: integer.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intersect.hpp
+
gtx/integer.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 #include "../gtx/closest_point.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_closest_point extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
-
57 
-
61  template <typename genType>
-
62  GLM_FUNC_DECL bool intersectRayPlane(
-
63  genType const & orig, genType const & dir,
-
64  genType const & planeOrig, genType const & planeNormal,
-
65  typename genType::value_type & intersectionDistance);
-
66 
-
69  template <typename genType>
-
70  GLM_FUNC_DECL bool intersectRayTriangle(
-
71  genType const & orig, genType const & dir,
-
72  genType const & vert0, genType const & vert1, genType const & vert2,
-
73  genType & baryPosition);
-
74 
-
77  template <typename genType>
-
78  GLM_FUNC_DECL bool intersectLineTriangle(
-
79  genType const & orig, genType const & dir,
-
80  genType const & vert0, genType const & vert1, genType const & vert2,
-
81  genType & position);
-
82 
-
86  template <typename genType>
-
87  GLM_FUNC_DECL bool intersectRaySphere(
-
88  genType const & rayStarting, genType const & rayNormalizedDirection,
-
89  genType const & sphereCenter, typename genType::value_type const sphereRadiusSquered,
-
90  typename genType::value_type & intersectionDistance);
-
91 
-
94  template <typename genType>
-
95  GLM_FUNC_DECL bool intersectRaySphere(
-
96  genType const & rayStarting, genType const & rayNormalizedDirection,
-
97  genType const & sphereCenter, const typename genType::value_type sphereRadius,
-
98  genType & intersectionPosition, genType & intersectionNormal);
-
99 
-
102  template <typename genType>
-
103  GLM_FUNC_DECL bool intersectLineSphere(
-
104  genType const & point0, genType const & point1,
-
105  genType const & sphereCenter, typename genType::value_type sphereRadius,
-
106  genType & intersectionPosition1, genType & intersectionNormal1,
-
107  genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType());
-
108 
-
110 }//namespace glm
-
111 
-
112 #include "intersect.inl"
-
GLM_FUNC_DECL bool intersectRaySphere(genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
Compute the intersection of a ray and a sphere.
-
GLM_FUNC_DECL bool intersectRayPlane(genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
Compute the intersection of a ray and a triangle.
-
GLM_FUNC_DECL bool intersectLineTriangle(genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
Compute the intersection of a line and a triangle.
-
GLM_FUNC_DECL bool intersectLineSphere(genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
Compute the intersection of a line and a sphere.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL bool intersectRayTriangle(genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
Compute the intersection of a ray and a triangle.
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 #include "../gtc/integer.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_integer extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  GLM_FUNC_DECL int pow(int x, int y);
+
60 
+
63  GLM_FUNC_DECL int sqrt(int x);
+
64 
+
67  GLM_FUNC_DECL unsigned int floor_log2(unsigned int x);
+
68 
+
71  GLM_FUNC_DECL int mod(int x, int y);
+
72 
+
75  template <typename genType>
+
76  GLM_FUNC_DECL genType factorial(genType const & x);
+
77 
+
80  typedef signed int sint;
+
81 
+
84  GLM_FUNC_DECL uint pow(uint x, uint y);
+
85 
+
88  GLM_FUNC_DECL uint sqrt(uint x);
+
89 
+
92  GLM_FUNC_DECL uint mod(uint x, uint y);
+
93 
+
96  GLM_FUNC_DECL uint nlz(uint x);
+
97 
+
99 }//namespace glm
+
100 
+
101 #include "integer.inl"
+
GLM_FUNC_DECL uint pow(uint x, uint y)
Returns x raised to the y power.
+
signed int sint
32bit signed integer.
Definition: gtx/integer.hpp:80
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:308
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL uint sqrt(uint x)
Returns the positive square root of x.
+
GLM_FUNC_DECL genType factorial(genType const &x)
Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...
+
GLM_FUNC_DECL uint mod(uint x, uint y)
Modulus.
+
GLM_FUNC_DECL unsigned int floor_log2(unsigned int x)
Returns the floor log2 of x.
+
GLM_FUNC_DECL uint nlz(uint x)
Returns the number of leading zeros.
diff --git a/doc/api/a00046.html b/doc/api/a00046.html index f2e87590..cd66e66b 100644 --- a/doc/api/a00046.html +++ b/doc/api/a00046.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_common.hpp File Reference + +0.9.7: integer.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_common.hpp File Reference
+
integer.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2009-05-11 / 2011-06-15
-
Author
Christophe Riccio
-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

-

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2009-06-05 / 2011-06-15
+

GLM Core

+
Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file intrinsic_common.hpp.

+

Definition in file integer.hpp.

diff --git a/doc/api/a00046_source.html b/doc/api/a00046_source.html index 97384d5f..cd822b4a 100644 --- a/doc/api/a00046_source.html +++ b/doc/api/a00046_source.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_common.hpp Source File + +0.9.7: integer.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_common.hpp
+
integer.hpp
Go to the documentation of this file.
1 
-
29 #pragma once
-
30 
-
31 #include "setup.hpp"
-
32 
-
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
34 # error "SSE2 instructions not supported or enabled"
-
35 #else
-
36 
-
37 namespace glm{
-
38 namespace detail
-
39 {
-
40  __m128 sse_abs_ps(__m128 x);
-
41 
-
42  __m128 sse_sgn_ps(__m128 x);
-
43 
-
44  //floor
-
45  __m128 sse_flr_ps(__m128 v);
-
46 
-
47  //trunc
-
48  __m128 sse_trc_ps(__m128 v);
-
49 
-
50  //round
-
51  __m128 sse_nd_ps(__m128 v);
-
52 
-
53  //roundEven
-
54  __m128 sse_rde_ps(__m128 v);
-
55 
-
56  __m128 sse_rnd_ps(__m128 x);
-
57 
-
58  __m128 sse_ceil_ps(__m128 v);
-
59 
-
60  __m128 sse_frc_ps(__m128 x);
-
61 
-
62  __m128 sse_mod_ps(__m128 x, __m128 y);
-
63 
-
64  __m128 sse_modf_ps(__m128 x, __m128i & i);
-
65 
-
66  //GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)
-
67 
-
68  //GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)
-
69 
-
70  __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
-
71 
-
72  __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
-
73 
-
74  __m128 sse_stp_ps(__m128 edge, __m128 x);
-
75 
-
76  __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
-
77 
-
78  __m128 sse_nan_ps(__m128 x);
-
79 
-
80  __m128 sse_inf_ps(__m128 x);
-
81 
-
82 }//namespace detail
-
83 }//namespace glm
-
84 
-
85 #include "intrinsic_common.inl"
-
86 
-
87 #endif//GLM_ARCH
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
33 #pragma once
+
34 
+
35 #include "detail/func_integer.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00047.html b/doc/api/a00047.html index 1d0af991..25361d39 100644 --- a/doc/api/a00047.html +++ b/doc/api/a00047.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_exponential.hpp File Reference + +0.9.7: intersect.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
intrinsic_exponential.hpp File Reference
+
intersect.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2009-05-11 / 2011-06-15
-
Author
Christophe Riccio
+

GLM_GTX_intersect

+
Date
2007-04-03 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+GLM_GTX_closest_point (dependence)
-

Definition in file intrinsic_exponential.hpp.

+

Definition in file intersect.hpp.

diff --git a/doc/api/a00047_source.html b/doc/api/a00047_source.html index 239fe1ad..f15720fe 100644 --- a/doc/api/a00047_source.html +++ b/doc/api/a00047_source.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_exponential.hpp Source File + +0.9.7: intersect.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_exponential.hpp
+
intersect.hpp
Go to the documentation of this file.
1 
-
29 #pragma once
-
30 
-
31 #include "setup.hpp"
-
32 
-
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
34 # error "SSE2 instructions not supported or enabled"
-
35 #else
-
36 
-
37 namespace glm{
-
38 namespace detail
-
39 {
-
40 /*
-
41 GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)
-
42 {
-
43  __m128 recip = _mm_rsqrt_ss( x ); // "estimate" opcode
-
44  const static __m128 three = { 3, 3, 3, 3 }; // aligned consts for fast load
-
45  const static __m128 half = { 0.5,0.5,0.5,0.5 };
-
46  __m128 halfrecip = _mm_mul_ss( half, recip );
-
47  __m128 threeminus_xrr = _mm_sub_ss( three, _mm_mul_ss( x, _mm_mul_ss ( recip, recip ) ) );
-
48  return _mm_mul_ss( halfrecip, threeminus_xrr );
-
49 }
-
50 
-
51 GLM_FUNC_QUALIFIER __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )
-
52 {
-
53  __m128 x = _mm_load_ss(&vIn[0]);
-
54  __m128 y = _mm_load_ss(&vIn[1]);
-
55  __m128 z = _mm_load_ss(&vIn[2]);
-
56 
-
57  const __m128 l = // compute x*x + y*y + z*z
-
58  _mm_add_ss(
-
59  _mm_add_ss( _mm_mul_ss(x,x),
-
60  _mm_mul_ss(y,y)
-
61  ),
-
62  _mm_mul_ss( z, z )
-
63  );
-
64 
-
65 
-
66  const __m128 rsqt = _mm_rsqrt_nr_ss( l );
-
67  _mm_store_ss( &vOut[0] , _mm_mul_ss( rsqt, x ) );
-
68  _mm_store_ss( &vOut[1] , _mm_mul_ss( rsqt, y ) );
-
69  _mm_store_ss( &vOut[2] , _mm_mul_ss( rsqt, z ) );
-
70 
-
71  return _mm_mul_ss( l , rsqt );
-
72 }
-
73 */
-
74 }//namespace detail
-
75 }//namespace glm
-
76 
-
77 #endif//GLM_ARCH
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 #include "../gtx/closest_point.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_closest_point extension included")
+
51 #endif
+
52 
+
53 namespace glm
+
54 {
+
57 
+
61  template <typename genType>
+
62  GLM_FUNC_DECL bool intersectRayPlane(
+
63  genType const & orig, genType const & dir,
+
64  genType const & planeOrig, genType const & planeNormal,
+
65  typename genType::value_type & intersectionDistance);
+
66 
+
69  template <typename genType>
+
70  GLM_FUNC_DECL bool intersectRayTriangle(
+
71  genType const & orig, genType const & dir,
+
72  genType const & vert0, genType const & vert1, genType const & vert2,
+
73  genType & baryPosition);
+
74 
+
77  template <typename genType>
+
78  GLM_FUNC_DECL bool intersectLineTriangle(
+
79  genType const & orig, genType const & dir,
+
80  genType const & vert0, genType const & vert1, genType const & vert2,
+
81  genType & position);
+
82 
+
86  template <typename genType>
+
87  GLM_FUNC_DECL bool intersectRaySphere(
+
88  genType const & rayStarting, genType const & rayNormalizedDirection,
+
89  genType const & sphereCenter, typename genType::value_type const sphereRadiusSquered,
+
90  typename genType::value_type & intersectionDistance);
+
91 
+
94  template <typename genType>
+
95  GLM_FUNC_DECL bool intersectRaySphere(
+
96  genType const & rayStarting, genType const & rayNormalizedDirection,
+
97  genType const & sphereCenter, const typename genType::value_type sphereRadius,
+
98  genType & intersectionPosition, genType & intersectionNormal);
+
99 
+
102  template <typename genType>
+
103  GLM_FUNC_DECL bool intersectLineSphere(
+
104  genType const & point0, genType const & point1,
+
105  genType const & sphereCenter, typename genType::value_type sphereRadius,
+
106  genType & intersectionPosition1, genType & intersectionNormal1,
+
107  genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType());
+
108 
+
110 }//namespace glm
+
111 
+
112 #include "intersect.inl"
+
GLM_FUNC_DECL bool intersectRayTriangle(genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
Compute the intersection of a ray and a triangle.
+
GLM_FUNC_DECL bool intersectRaySphere(genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
Compute the intersection of a ray and a sphere.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL bool intersectRayPlane(genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
Compute the intersection of a ray and a plane.
+
GLM_FUNC_DECL bool intersectLineTriangle(genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
Compute the intersection of a line and a triangle.
+
GLM_FUNC_DECL bool intersectLineSphere(genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
Compute the intersection of a line and a sphere.
diff --git a/doc/api/a00048.html b/doc/api/a00048.html index 88f13d34..55d73ac2 100644 --- a/doc/api/a00048.html +++ b/doc/api/a00048.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_geometric.hpp File Reference + +0.9.7: intrinsic_common.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_geometric.hpp File Reference
+
intrinsic_common.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2009-05-08 / 2011-06-15
+

GLM Core

+
Date
2009-05-11 / 2011-06-15
+
Author
Christophe Riccio
+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+

GLM Core

+
Date
2009-06-05 / 2011-06-15
Author
Christophe Riccio
-

Definition in file intrinsic_geometric.hpp.

+

Definition in file intrinsic_common.hpp.

diff --git a/doc/api/a00048_source.html b/doc/api/a00048_source.html index 97cdcf2e..f7d87654 100644 --- a/doc/api/a00048_source.html +++ b/doc/api/a00048_source.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_geometric.hpp Source File + +0.9.7: intrinsic_common.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_geometric.hpp
+
intrinsic_common.hpp
Go to the documentation of this file.
1 
29 #pragma once
30 
-
31 #include "setup.hpp"
+
31 #include "setup.hpp"
32 
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 # error "SSE2 instructions not supported or enabled"
35 #else
36 
-
37 #include "intrinsic_common.hpp"
-
38 
-
39 namespace glm{
-
40 namespace detail
-
41 {
-
42  //length
-
43  __m128 sse_len_ps(__m128 x);
-
44 
-
45  //distance
-
46  __m128 sse_dst_ps(__m128 p0, __m128 p1);
-
47 
-
48  //dot
-
49  __m128 sse_dot_ps(__m128 v1, __m128 v2);
-
50 
-
51  // SSE1
-
52  __m128 sse_dot_ss(__m128 v1, __m128 v2);
-
53 
-
54  //cross
-
55  __m128 sse_xpd_ps(__m128 v1, __m128 v2);
-
56 
-
57  //normalize
-
58  __m128 sse_nrm_ps(__m128 v);
+
37 namespace glm{
+
38 namespace detail
+
39 {
+
40  __m128 sse_abs_ps(__m128 x);
+
41 
+
42  __m128 sse_sgn_ps(__m128 x);
+
43 
+
44  //floor
+
45  __m128 sse_flr_ps(__m128 v);
+
46 
+
47  //trunc
+
48  __m128 sse_trc_ps(__m128 v);
+
49 
+
50  //round
+
51  __m128 sse_nd_ps(__m128 v);
+
52 
+
53  //roundEven
+
54  __m128 sse_rde_ps(__m128 v);
+
55 
+
56  __m128 sse_rnd_ps(__m128 x);
+
57 
+
58  __m128 sse_ceil_ps(__m128 v);
59 
-
60  //faceforward
-
61  __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
-
62 
-
63  //reflect
-
64  __m128 sse_rfe_ps(__m128 I, __m128 N);
+
60  __m128 sse_frc_ps(__m128 x);
+
61 
+
62  __m128 sse_mod_ps(__m128 x, __m128 y);
+
63 
+
64  __m128 sse_modf_ps(__m128 x, __m128i & i);
65 
-
66  //refract
-
67  __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
-
68 
-
69 }//namespace detail
-
70 }//namespace glm
+
66  //GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)
+
67 
+
68  //GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)
+
69 
+
70  __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
71 
-
72 #include "intrinsic_geometric.inl"
+
72  __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
73 
-
74 #endif//GLM_ARCH
-
OpenGL Mathematics (glm.g-truc.net)
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
74  __m128 sse_stp_ps(__m128 edge, __m128 x);
+
75 
+
76  __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
+
77 
+
78  __m128 sse_nan_ps(__m128 x);
+
79 
+
80  __m128 sse_inf_ps(__m128 x);
+
81 
+
82 }//namespace detail
+
83 }//namespace glm
+
84 
+
85 #include "intrinsic_common.inl"
+
86 
+
87 #endif//GLM_ARCH
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00049.html b/doc/api/a00049.html index c3293e74..83dbdf73 100644 --- a/doc/api/a00049.html +++ b/doc/api/a00049.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_integer.hpp File Reference + +0.9.7: intrinsic_exponential.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_integer.hpp File Reference
+
intrinsic_exponential.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2009-05-11 / 2011-06-15
Author
Christophe Riccio
-

Definition in file intrinsic_integer.hpp.

+

Definition in file intrinsic_exponential.hpp.

diff --git a/doc/api/a00049_source.html b/doc/api/a00049_source.html index 25d67c92..0b2b23d4 100644 --- a/doc/api/a00049_source.html +++ b/doc/api/a00049_source.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_integer.hpp Source File + +0.9.7: intrinsic_exponential.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_integer.hpp
+
intrinsic_exponential.hpp
Go to the documentation of this file.
1 
29 #pragma once
30 
-
31 #include "glm/glm.hpp"
+
31 #include "setup.hpp"
32 
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 # error "SSE2 instructions not supported or enabled"
35 #else
36 
-
37 namespace glm{
+
37 namespace glm{
38 namespace detail
39 {
-
40  __m128i _mm_bit_interleave_si128(__m128i x);
-
41  __m128i _mm_bit_interleave_si128(__m128i x, __m128i y);
-
42 
-
43 }//namespace detail
-
44 }//namespace glm
-
45 
-
46 #include "intrinsic_integer.inl"
-
47 
-
48 #endif//GLM_ARCH
-
OpenGL Mathematics (glm.g-truc.net)
-
Definition: _noise.hpp:39
+
40 /*
+
41 GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)
+
42 {
+
43  __m128 recip = _mm_rsqrt_ss( x ); // "estimate" opcode
+
44  const static __m128 three = { 3, 3, 3, 3 }; // aligned consts for fast load
+
45  const static __m128 half = { 0.5,0.5,0.5,0.5 };
+
46  __m128 halfrecip = _mm_mul_ss( half, recip );
+
47  __m128 threeminus_xrr = _mm_sub_ss( three, _mm_mul_ss( x, _mm_mul_ss ( recip, recip ) ) );
+
48  return _mm_mul_ss( halfrecip, threeminus_xrr );
+
49 }
+
50 
+
51 GLM_FUNC_QUALIFIER __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )
+
52 {
+
53  __m128 x = _mm_load_ss(&vIn[0]);
+
54  __m128 y = _mm_load_ss(&vIn[1]);
+
55  __m128 z = _mm_load_ss(&vIn[2]);
+
56 
+
57  const __m128 l = // compute x*x + y*y + z*z
+
58  _mm_add_ss(
+
59  _mm_add_ss( _mm_mul_ss(x,x),
+
60  _mm_mul_ss(y,y)
+
61  ),
+
62  _mm_mul_ss( z, z )
+
63  );
+
64 
+
65 
+
66  const __m128 rsqt = _mm_rsqrt_nr_ss( l );
+
67  _mm_store_ss( &vOut[0] , _mm_mul_ss( rsqt, x ) );
+
68  _mm_store_ss( &vOut[1] , _mm_mul_ss( rsqt, y ) );
+
69  _mm_store_ss( &vOut[2] , _mm_mul_ss( rsqt, z ) );
+
70 
+
71  return _mm_mul_ss( l , rsqt );
+
72 }
+
73 */
+
74 }//namespace detail
+
75 }//namespace glm
+
76 
+
77 #endif//GLM_ARCH
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00052.html b/doc/api/a00050.html similarity index 70% rename from doc/api/a00052.html rename to doc/api/a00050.html index 771fcde6..0763dec7 100644 --- a/doc/api/a00052.html +++ b/doc/api/a00050.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_vector_relational.hpp File Reference + +0.9.7: intrinsic_geometric.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_vector_relational.hpp File Reference
+
intrinsic_geometric.hpp File Reference
-

Go to the source code of this file.

+

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2009-06-09 / 2011-06-15
+

GLM Core

+
Date
2009-05-08 / 2011-06-15
Author
Christophe Riccio
-

Definition in file intrinsic_vector_relational.hpp.

+

Definition in file intrinsic_geometric.hpp.

diff --git a/doc/api/a00050_source.html b/doc/api/a00050_source.html index 834de71f..0beb87f4 100644 --- a/doc/api/a00050_source.html +++ b/doc/api/a00050_source.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_matrix.hpp Source File + +0.9.7: intrinsic_geometric.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_matrix.hpp
+
intrinsic_geometric.hpp
-
1 
+Go to the documentation of this file.
1 
29 #pragma once
30 
-
31 #include "setup.hpp"
+
31 #include "setup.hpp"
32 
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 # error "SSE2 instructions not supported or enabled"
35 #else
36 
-
37 #include "intrinsic_geometric.hpp"
+
37 #include "intrinsic_common.hpp"
38 
-
39 namespace glm{
+
39 namespace glm{
40 namespace detail
41 {
-
42  void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
-
43 
-
44  void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
-
45 
-
46  __m128 sse_mul_ps(__m128 m[4], __m128 v);
+
42  //length
+
43  __m128 sse_len_ps(__m128 x);
+
44 
+
45  //distance
+
46  __m128 sse_dst_ps(__m128 p0, __m128 p1);
47 
-
48  __m128 sse_mul_ps(__m128 v, __m128 m[4]);
-
49 
-
50  void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4]);
-
51 
-
52  void sse_transpose_ps(__m128 const in[4], __m128 out[4]);
+
48  //dot
+
49  __m128 sse_dot_ps(__m128 v1, __m128 v2);
+
50 
+
51  // SSE1
+
52  __m128 sse_dot_ss(__m128 v1, __m128 v2);
53 
-
54  void sse_inverse_ps(__m128 const in[4], __m128 out[4]);
-
55 
-
56  void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m128 out[4]);
-
57 
-
58  __m128 sse_det_ps(__m128 const m[4]);
+
54  //cross
+
55  __m128 sse_xpd_ps(__m128 v1, __m128 v2);
+
56 
+
57  //normalize
+
58  __m128 sse_nrm_ps(__m128 v);
59 
-
60  __m128 sse_slow_det_ps(__m128 const m[4]);
-
61 
-
62 }//namespace detail
-
63 }//namespace glm
-
64 
-
65 #include "intrinsic_matrix.inl"
-
66 
-
67 #endif//GLM_ARCH
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+
60  //faceforward
+
61  __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
+
62 
+
63  //reflect
+
64  __m128 sse_rfe_ps(__m128 I, __m128 N);
+
65 
+
66  //refract
+
67  __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
+
68 
+
69 }//namespace detail
+
70 }//namespace glm
+
71 
+
72 #include "intrinsic_geometric.inl"
+
73 
+
74 #endif//GLM_ARCH
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00051.html b/doc/api/a00051.html index 0d0fe6a6..3752de67 100644 --- a/doc/api/a00051.html +++ b/doc/api/a00051.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_trigonometric.hpp File Reference + +0.9.7: intrinsic_integer.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_trigonometric.hpp File Reference
+
intrinsic_integer.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2009-06-09 / 2011-06-15
+

GLM Core

+
Date
2009-05-11 / 2011-06-15
Author
Christophe Riccio
-

Definition in file intrinsic_trigonometric.hpp.

+

Definition in file intrinsic_integer.hpp.

diff --git a/doc/api/a00051_source.html b/doc/api/a00051_source.html index 7ac7b6d9..5d74cd66 100644 --- a/doc/api/a00051_source.html +++ b/doc/api/a00051_source.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_trigonometric.hpp Source File + +0.9.7: intrinsic_integer.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_trigonometric.hpp
+
intrinsic_integer.hpp
Go to the documentation of this file.
1 
29 #pragma once
30 
-
31 #include "setup.hpp"
+
31 #include "glm/glm.hpp"
32 
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 # error "SSE2 instructions not supported or enabled"
35 #else
36 
-
37 namespace glm{
+
37 namespace glm{
38 namespace detail
39 {
-
40 
-
41 }//namespace detail
-
42 }//namespace glm
-
43 
-
44 #include "intrinsic_trigonometric.inl"
+
40  __m128i _mm_bit_interleave_si128(__m128i x);
+
41  __m128i _mm_bit_interleave_si128(__m128i x, __m128i y);
+
42 
+
43 }//namespace detail
+
44 }//namespace glm
45 
-
46 #endif//GLM_ARCH
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
46 #include "intrinsic_integer.inl"
+
47 
+
48 #endif//GLM_ARCH
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00052_source.html b/doc/api/a00052_source.html index 758e6ebe..ff72ca21 100644 --- a/doc/api/a00052_source.html +++ b/doc/api/a00052_source.html @@ -3,8 +3,8 @@ - -0.9.6: intrinsic_vector_relational.hpp Source File + +0.9.7: intrinsic_matrix.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
intrinsic_vector_relational.hpp
+
intrinsic_matrix.hpp
-Go to the documentation of this file.
1 
+
1 
29 #pragma once
30 
-
31 #include "setup.hpp"
+
31 #include "setup.hpp"
32 
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 # error "SSE2 instructions not supported or enabled"
35 #else
36 
-
37 namespace glm{
-
38 namespace detail
-
39 {
-
40 
-
41 }//namespace detail
-
42 }//namespace glm
+
37 #include "intrinsic_geometric.hpp"
+
38 
+
39 namespace glm{
+
40 namespace detail
+
41 {
+
42  void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
43 
-
44 #include "intrinsic_vector_relational.inl"
+
44  void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
45 
-
46 #endif//GLM_ARCH
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
46  __m128 sse_mul_ps(__m128 m[4], __m128 v);
+
47 
+
48  __m128 sse_mul_ps(__m128 v, __m128 m[4]);
+
49 
+
50  void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4]);
+
51 
+
52  void sse_transpose_ps(__m128 const in[4], __m128 out[4]);
+
53 
+
54  void sse_inverse_ps(__m128 const in[4], __m128 out[4]);
+
55 
+
56  void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m128 out[4]);
+
57 
+
58  __m128 sse_det_ps(__m128 const m[4]);
+
59 
+
60  __m128 sse_slow_det_ps(__m128 const m[4]);
+
61 
+
62 }//namespace detail
+
63 }//namespace glm
+
64 
+
65 #include "intrinsic_matrix.inl"
+
66 
+
67 #endif//GLM_ARCH
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00053.html b/doc/api/a00053.html index 9d9d1d34..53427b8a 100644 --- a/doc/api/a00053.html +++ b/doc/api/a00053.html @@ -3,8 +3,8 @@ - -0.9.6: io.hpp File Reference + +0.9.7: intrinsic_trigonometric.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
io.hpp File Reference
+
intrinsic_trigonometric.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_io

-
Date
2013-11-22 / 2014-11-25
-
Author
Jan P Springer (regni.nosp@m.rpsj.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)
-
See also
GLM Core (dependence)
-
-GLM_GTC_quaternion (dependence)
+

GLM Core

+
Date
2009-06-09 / 2011-06-15
+
Author
Christophe Riccio
-

Definition in file io.hpp.

+

Definition in file intrinsic_trigonometric.hpp.

diff --git a/doc/api/a00053_source.html b/doc/api/a00053_source.html index 22b75a2e..0e2a1dd6 100644 --- a/doc/api/a00053_source.html +++ b/doc/api/a00053_source.html @@ -3,8 +3,8 @@ - -0.9.6: io.hpp Source File + +0.9.7: intrinsic_trigonometric.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
io.hpp
+
intrinsic_trigonometric.hpp
Go to the documentation of this file.
1 
-
47 #pragma once
-
48 
-
49 // Dependency:
-
50 #include "../glm.hpp"
-
51 #include "../gtx/quaternion.hpp"
-
52 
-
53 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
54 # pragma message("GLM: GLM_GTX_io extension included")
-
55 #endif
-
56 
-
57 #include <iosfwd> // std::basic_ostream<> (fwd)
-
58 #include <locale> // std::locale, std::locale::facet, std::locale::id
-
59 #include <utility> // std::pair<>
-
60 
-
61 namespace glm
-
62 {
-
65 
-
66  namespace io
-
67  {
-
68  enum order_type { column_major, row_major};
-
69 
-
70  template <typename CTy>
-
71  class format_punct : public std::locale::facet
-
72  {
-
73  typedef CTy char_type;
-
74 
-
75  public:
-
76 
-
77  static std::locale::id id;
-
78 
-
79  bool formatted;
-
80  unsigned precision;
-
81  unsigned width;
-
82  char_type separator;
-
83  char_type delim_left;
-
84  char_type delim_right;
-
85  char_type space;
-
86  char_type newline;
-
87  order_type order;
-
88 
-
89  explicit format_punct(size_t a = 0);
-
90  explicit format_punct(format_punct const&);
-
91  };
-
92 
-
93  template <typename CTy, typename CTr = std::char_traits<CTy> >
-
94  class basic_state_saver {
-
95 
-
96  public:
-
97 
-
98  explicit basic_state_saver(std::basic_ios<CTy,CTr>&);
-
99  ~basic_state_saver();
-
100 
-
101  private:
-
102 
-
103  typedef ::std::basic_ios<CTy,CTr> state_type;
-
104  typedef typename state_type::char_type char_type;
-
105  typedef ::std::ios_base::fmtflags flags_type;
-
106  typedef ::std::streamsize streamsize_type;
-
107  typedef ::std::locale const locale_type;
-
108 
-
109  state_type& state_;
-
110  flags_type flags_;
-
111  streamsize_type precision_;
-
112  streamsize_type width_;
-
113  char_type fill_;
-
114  locale_type locale_;
-
115 
-
116  basic_state_saver& operator=(basic_state_saver const&);
-
117  };
-
118 
-
119  typedef basic_state_saver<char> state_saver;
-
120  typedef basic_state_saver<wchar_t> wstate_saver;
-
121 
-
122  template <typename CTy, typename CTr = std::char_traits<CTy> >
-
123  class basic_format_saver
-
124  {
-
125  public:
-
126 
-
127  explicit basic_format_saver(std::basic_ios<CTy,CTr>&);
-
128  ~basic_format_saver();
-
129 
-
130  private:
-
131 
-
132  basic_state_saver<CTy> const bss_;
-
133 
-
134  basic_format_saver& operator=(basic_format_saver const&);
-
135  };
-
136 
-
137  typedef basic_format_saver<char> format_saver;
-
138  typedef basic_format_saver<wchar_t> wformat_saver;
-
139 
-
140  struct precision
-
141  {
-
142  unsigned value;
-
143 
-
144  explicit precision(unsigned);
-
145  };
-
146 
-
147  struct width
-
148  {
-
149  unsigned value;
-
150 
-
151  explicit width(unsigned);
-
152  };
-
153 
-
154  template <typename CTy>
-
155  struct delimeter
-
156  {
-
157  CTy value[3];
-
158 
-
159  explicit delimeter(CTy /* left */, CTy /* right */, CTy /* separator */ = ',');
-
160  };
-
161 
-
162  struct order
-
163  {
-
164  order_type value;
-
165 
-
166  explicit order(order_type);
-
167  };
-
168 
-
169  // functions, inlined (inline)
-
170 
-
171  template <typename FTy, typename CTy, typename CTr>
-
172  FTy const& get_facet(std::basic_ios<CTy,CTr>&);
-
173  template <typename FTy, typename CTy, typename CTr>
-
174  std::basic_ios<CTy,CTr>& formatted(std::basic_ios<CTy,CTr>&);
-
175  template <typename FTy, typename CTy, typename CTr>
-
176  std::basic_ios<CTy,CTr>& unformattet(std::basic_ios<CTy,CTr>&);
-
177 
-
178  template <typename CTy, typename CTr>
-
179  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, precision const&);
-
180  template <typename CTy, typename CTr>
-
181  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, width const&);
-
182  template <typename CTy, typename CTr>
-
183  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, delimeter<CTy> const&);
-
184  template <typename CTy, typename CTr>
-
185  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, order const&);
-
186  }//namespace io
-
187 
-
188  template <typename CTy, typename CTr, typename T, precision P>
-
189  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tquat<T,P> const&);
-
190  template <typename CTy, typename CTr, typename T, precision P>
-
191  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec2<T,P> const&);
-
192  template <typename CTy, typename CTr, typename T, precision P>
-
193  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec3<T,P> const&);
-
194  template <typename CTy, typename CTr, typename T, precision P>
-
195  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec4<T,P> const&);
-
196  template <typename CTy, typename CTr, typename T, precision P>
-
197  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x2<T,P> const&);
-
198  template <typename CTy, typename CTr, typename T, precision P>
-
199  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x3<T,P> const&);
-
200  template <typename CTy, typename CTr, typename T, precision P>
-
201  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x4<T,P> const&);
-
202  template <typename CTy, typename CTr, typename T, precision P>
-
203  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x2<T,P> const&);
-
204  template <typename CTy, typename CTr, typename T, precision P>
-
205  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x3<T,P> const&);
-
206  template <typename CTy, typename CTr, typename T, precision P>
-
207  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x4<T,P> const&);
-
208  template <typename CTy, typename CTr, typename T, precision P>
-
209  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x2<T,P> const&);
-
210  template <typename CTy, typename CTr, typename T, precision P>
-
211  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x3<T,P> const&);
-
212  template <typename CTy, typename CTr, typename T, precision P>
-
213  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x4<T,P> const&);
-
214 
-
215  template <typename CTy, typename CTr, typename T, precision P>
-
216  GLM_FUNC_DECL std::basic_ostream<CTy,CTr> & operator<<(
-
217  std::basic_ostream<CTy,CTr> &,
-
218  std::pair<tmat4x4<T,P> const,
-
219  tmat4x4<T,P> const> const &);
-
220 
-
222 }//namespace glm
-
223 
-
224 #include "io.inl"
-
Definition: _noise.hpp:39
+
29 #pragma once
+
30 
+
31 #include "setup.hpp"
+
32 
+
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
34 # error "SSE2 instructions not supported or enabled"
+
35 #else
+
36 
+
37 namespace glm{
+
38 namespace detail
+
39 {
+
40 
+
41 }//namespace detail
+
42 }//namespace glm
+
43 
+
44 #include "intrinsic_trigonometric.inl"
+
45 
+
46 #endif//GLM_ARCH
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00054.html b/doc/api/a00054.html index 09be7014..df68a3ef 100644 --- a/doc/api/a00054.html +++ b/doc/api/a00054.html @@ -3,8 +3,8 @@ - -0.9.6: log_base.hpp File Reference + +0.9.7: intrinsic_vector_relational.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
log_base.hpp File Reference
+
intrinsic_vector_relational.hpp File Reference

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType log (genType x, genType base)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x, vecType< T, P > const &base)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_log_base

-
Date
2008-10-24 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM Core

+
Date
2009-06-09 / 2011-06-15
+
Author
Christophe Riccio
-

Definition in file log_base.hpp.

+

Definition in file intrinsic_vector_relational.hpp.

diff --git a/doc/api/a00054_source.html b/doc/api/a00054_source.html index e6e2b042..1b9dce75 100644 --- a/doc/api/a00054_source.html +++ b/doc/api/a00054_source.html @@ -3,8 +3,8 @@ - -0.9.6: log_base.hpp Source File + +0.9.7: intrinsic_vector_relational.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
log_base.hpp
+
intrinsic_vector_relational.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
+
29 #pragma once
+
30 
+
31 #include "setup.hpp"
+
32 
+
33 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
34 # error "SSE2 instructions not supported or enabled"
+
35 #else
+
36 
+
37 namespace glm{
+
38 namespace detail
+
39 {
+
40 
+
41 }//namespace detail
+
42 }//namespace glm
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_log_base extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename genType>
-
59  GLM_FUNC_DECL genType log(
-
60  genType x,
-
61  genType base);
-
62 
-
65  template <typename T, precision P, template <typename, precision> class vecType>
-
66  GLM_FUNC_DECL vecType<T, P> sign(
-
67  vecType<T, P> const & x,
-
68  vecType<T, P> const & base);
-
69 
-
71 }//namespace glm
-
72 
-
73 #include "log_base.inl"
-
GLM_FUNC_DECL genType log(genType x, genType base)
Logarithm for any base.
-
GLM_FUNC_DECL vecType< T, P > sign(vecType< T, P > const &x, vecType< T, P > const &base)
Logarithm for any base.
-
Definition: _noise.hpp:39
+
44 #include "intrinsic_vector_relational.inl"
+
45 
+
46 #endif//GLM_ARCH
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00023.html b/doc/api/a00055.html similarity index 58% rename from doc/api/a00023.html rename to doc/api/a00055.html index f892cf04..7598e516 100644 --- a/doc/api/a00023.html +++ b/doc/api/a00055.html @@ -3,8 +3,8 @@ - -0.9.6: extend.hpp File Reference + +0.9.7: io.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
extend.hpp File Reference
+
io.hpp File Reference
-

Go to the source code of this file.

- - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
+

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_extend

-
Date
2006-01-07 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM_GTX_io

+
Date
2013-11-22 / 2014-11-25
+
Author
Jan P Springer (regni.nosp@m.rpsj.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)
+
See also
GLM Core (dependence)
+
+GLM_GTC_quaternion (dependence)
-

Definition in file extend.hpp.

+

Definition in file io.hpp.

diff --git a/doc/api/a00055_source.html b/doc/api/a00055_source.html index 7dedb0f0..43cb20ac 100644 --- a/doc/api/a00055_source.html +++ b/doc/api/a00055_source.html @@ -3,8 +3,8 @@ - -0.9.6: man.doxy Source File + +0.9.7: io.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
man.doxy
+
io.hpp
-
1 # Doxyfile 1.8.8
-
2 
-
3 # This file describes the settings to be used by the documentation system
-
4 # doxygen (www.doxygen.org) for a project.
-
5 #
-
6 # All text after a double hash (##) is considered a comment and is placed in
-
7 # front of the TAG it is preceding.
-
8 #
-
9 # All text after a single hash (#) is considered a comment and will be ignored.
-
10 # The format is:
-
11 # TAG = value [value, ...]
-
12 # For lists, items can also be appended using:
-
13 # TAG += value [value, ...]
-
14 # Values that contain spaces should be placed between quotes (\" \").
-
15 
-
16 #---------------------------------------------------------------------------
-
17 # Project related configuration options
-
18 #---------------------------------------------------------------------------
-
19 
-
20 # This tag specifies the encoding used for all characters in the config file
-
21 # that follow. The default is UTF-8 which is also the encoding used for all text
-
22 # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
-
23 # built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
-
24 # for the list of possible encodings.
-
25 # The default value is: UTF-8.
-
26 
-
27 DOXYFILE_ENCODING = UTF-8
-
28 
-
29 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-
30 # double-quotes, unless you are using Doxywizard) that should identify the
-
31 # project for which the documentation is generated. This name is used in the
-
32 # title of most generated pages and in a few other places.
-
33 # The default value is: My Project.
-
34 
-
35 PROJECT_NAME = 0.9.6
-
36 
-
37 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
-
38 # could be handy for archiving the generated documentation or if some version
-
39 # control system is used.
-
40 
-
41 PROJECT_NUMBER =
-
42 
-
43 # Using the PROJECT_BRIEF tag one can provide an optional one line description
-
44 # for a project that appears at the top of each page and should give viewer a
-
45 # quick idea about the purpose of the project. Keep the description short.
-
46 
-
47 PROJECT_BRIEF =
+Go to the documentation of this file.
1 
+
47 #pragma once
48 
-
49 # With the PROJECT_LOGO tag one can specify an logo or icon that is included in
-
50 # the documentation. The maximum height of the logo should not exceed 55 pixels
-
51 # and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
-
52 # to the output directory.
-
53 
-
54 PROJECT_LOGO = E:/Source/G-Truc/glm/doc/logo.png
-
55 
-
56 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-
57 # into which the generated documentation will be written. If a relative path is
-
58 # entered, it will be relative to the location where doxygen was started. If
-
59 # left blank the current directory will be used.
+
49 // Dependency:
+
50 #include "../glm.hpp"
+
51 #include "../gtx/quaternion.hpp"
+
52 
+
53 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
+
54 # pragma message("GLM: GLM_GTX_io extension included")
+
55 #endif
+
56 
+
57 #include <iosfwd> // std::basic_ostream<> (fwd)
+
58 #include <locale> // std::locale, std::locale::facet, std::locale::id
+
59 #include <utility> // std::pair<>
60 
-
61 OUTPUT_DIRECTORY = .
-
62 
-
63 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
-
64 # directories (in 2 levels) under the output directory of each output format and
-
65 # will distribute the generated files over these directories. Enabling this
-
66 # option can be useful when feeding doxygen a huge amount of source files, where
-
67 # putting all generated files in the same directory would otherwise causes
-
68 # performance problems for the file system.
-
69 # The default value is: NO.
-
70 
-
71 CREATE_SUBDIRS = NO
-
72 
-
73 # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
-
74 # characters to appear in the names of generated files. If set to NO, non-ASCII
-
75 # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
-
76 # U+3044.
-
77 # The default value is: NO.
+
61 namespace glm
+
62 {
+
65 
+
66  namespace io
+
67  {
+
68  enum order_type { column_major, row_major};
+
69 
+
70  template <typename CTy>
+
71  class format_punct : public std::locale::facet
+
72  {
+
73  typedef CTy char_type;
+
74 
+
75  public:
+
76 
+
77  static std::locale::id id;
78 
-
79 ALLOW_UNICODE_NAMES = NO
-
80 
-
81 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
-
82 # documentation generated by doxygen is written. Doxygen will use this
-
83 # information to generate all constant output in the proper language.
-
84 # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-
85 # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-
86 # Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-
87 # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-
88 # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-
89 # Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-
90 # Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-
91 # Ukrainian and Vietnamese.
-
92 # The default value is: English.
-
93 
-
94 OUTPUT_LANGUAGE = English
+
79  bool formatted;
+
80  unsigned precision;
+
81  unsigned width;
+
82  char_type separator;
+
83  char_type delim_left;
+
84  char_type delim_right;
+
85  char_type space;
+
86  char_type newline;
+
87  order_type order;
+
88 
+
89  explicit format_punct(size_t a = 0);
+
90  explicit format_punct(format_punct const&);
+
91  };
+
92 
+
93  template <typename CTy, typename CTr = std::char_traits<CTy> >
+
94  class basic_state_saver {
95 
-
96 # If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
-
97 # descriptions after the members that are listed in the file and class
-
98 # documentation (similar to Javadoc). Set to NO to disable this.
-
99 # The default value is: YES.
+
96  public:
+
97 
+
98  explicit basic_state_saver(std::basic_ios<CTy,CTr>&);
+
99  ~basic_state_saver();
100 
-
101 BRIEF_MEMBER_DESC = NO
+
101  private:
102 
-
103 # If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
-
104 # description of a member or function before the detailed description
-
105 #
-
106 # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-
107 # brief descriptions will be completely suppressed.
-
108 # The default value is: YES.
-
109 
-
110 REPEAT_BRIEF = YES
-
111 
-
112 # This tag implements a quasi-intelligent brief description abbreviator that is
-
113 # used to form the text in various listings. Each string in this list, if found
-
114 # as the leading text of the brief description, will be stripped from the text
-
115 # and the result, after processing the whole list, is used as the annotated
-
116 # text. Otherwise, the brief description is used as-is. If left blank, the
-
117 # following values are used ($name is automatically replaced with the name of
-
118 # the entity):The $name class, The $name widget, The $name file, is, provides,
-
119 # specifies, contains, represents, a, an and the.
-
120 
-
121 ABBREVIATE_BRIEF = "The $name class " \
-
122  "The $name widget " \
-
123  "The $name file " \
-
124  is \
-
125  provides \
-
126  specifies \
-
127  contains \
-
128  represents \
-
129  a \
-
130  an \
-
131  the
-
132 
-
133 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-
134 # doxygen will generate a detailed section even if there is only a brief
-
135 # description.
-
136 # The default value is: NO.
-
137 
-
138 ALWAYS_DETAILED_SEC = NO
+
103  typedef ::std::basic_ios<CTy,CTr> state_type;
+
104  typedef typename state_type::char_type char_type;
+
105  typedef ::std::ios_base::fmtflags flags_type;
+
106  typedef ::std::streamsize streamsize_type;
+
107  typedef ::std::locale const locale_type;
+
108 
+
109  state_type& state_;
+
110  flags_type flags_;
+
111  streamsize_type precision_;
+
112  streamsize_type width_;
+
113  char_type fill_;
+
114  locale_type locale_;
+
115 
+
116  basic_state_saver& operator=(basic_state_saver const&);
+
117  };
+
118 
+
119  typedef basic_state_saver<char> state_saver;
+
120  typedef basic_state_saver<wchar_t> wstate_saver;
+
121 
+
122  template <typename CTy, typename CTr = std::char_traits<CTy> >
+
123  class basic_format_saver
+
124  {
+
125  public:
+
126 
+
127  explicit basic_format_saver(std::basic_ios<CTy,CTr>&);
+
128  ~basic_format_saver();
+
129 
+
130  private:
+
131 
+
132  basic_state_saver<CTy> const bss_;
+
133 
+
134  basic_format_saver& operator=(basic_format_saver const&);
+
135  };
+
136 
+
137  typedef basic_format_saver<char> format_saver;
+
138  typedef basic_format_saver<wchar_t> wformat_saver;
139 
-
140 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-
141 # inherited members of a class in the documentation of that class as if those
-
142 # members were ordinary class members. Constructors, destructors and assignment
-
143 # operators of the base classes will not be shown.
-
144 # The default value is: NO.
-
145 
-
146 INLINE_INHERITED_MEMB = NO
-
147 
-
148 # If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
-
149 # before files name in the file list and in the header files. If set to NO the
-
150 # shortest path that makes the file name unique will be used
-
151 # The default value is: YES.
-
152 
-
153 FULL_PATH_NAMES = NO
-
154 
-
155 # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-
156 # Stripping is only done if one of the specified strings matches the left-hand
-
157 # part of the path. The tag can be used to show relative paths in the file list.
-
158 # If left blank the directory from which doxygen is run is used as the path to
-
159 # strip.
-
160 #
-
161 # Note that you can specify absolute paths here, but also relative paths, which
-
162 # will be relative from the directory where doxygen is started.
-
163 # This tag requires that the tag FULL_PATH_NAMES is set to YES.
-
164 
-
165 STRIP_FROM_PATH = "C:/Documents and Settings/Groove/ "
-
166 
-
167 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
-
168 # path mentioned in the documentation of a class, which tells the reader which
-
169 # header file to include in order to use a class. If left blank only the name of
-
170 # the header file containing the class definition is used. Otherwise one should
-
171 # specify the list of include paths that are normally passed to the compiler
-
172 # using the -I flag.
-
173 
-
174 STRIP_FROM_INC_PATH =
-
175 
-
176 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
-
177 # less readable) file names. This can be useful is your file systems doesn't
-
178 # support long names like on DOS, Mac, or CD-ROM.
-
179 # The default value is: NO.
-
180 
-
181 SHORT_NAMES = YES
-
182 
-
183 # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
-
184 # first line (until the first dot) of a Javadoc-style comment as the brief
-
185 # description. If set to NO, the Javadoc-style will behave just like regular Qt-
-
186 # style comments (thus requiring an explicit @brief command for a brief
-
187 # description.)
-
188 # The default value is: NO.
-
189 
-
190 JAVADOC_AUTOBRIEF = YES
-
191 
-
192 # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
-
193 # line (until the first dot) of a Qt-style comment as the brief description. If
-
194 # set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-
195 # requiring an explicit \brief command for a brief description.)
-
196 # The default value is: NO.
-
197 
-
198 QT_AUTOBRIEF = NO
-
199 
-
200 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
-
201 # multi-line C++ special comment block (i.e. a block of
-
202 # a brief description. This used to be the default behavior. The new default is
-
203 # to treat a multi-line C++ comment block as a detailed description. Set this
-
204 # tag to YES if you prefer the old behavior instead.
-
205 #
-
206 # Note that setting this tag to YES also means that rational rose comments are
-
207 # not recognized any more.
-
208 # The default value is: NO.
-
209 
-
210 MULTILINE_CPP_IS_BRIEF = NO
-
211 
-
212 # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
-
213 # documentation from any documented member that it re-implements.
-
214 # The default value is: YES.
-
215 
-
216 INHERIT_DOCS = YES
-
217 
-
218 # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
-
219 # new page for each member. If set to NO, the documentation of a member will be
-
220 # part of the file/class/namespace that contains it.
-
221 # The default value is: NO.
+
140  struct precision
+
141  {
+
142  unsigned value;
+
143 
+
144  explicit precision(unsigned);
+
145  };
+
146 
+
147  struct width
+
148  {
+
149  unsigned value;
+
150 
+
151  explicit width(unsigned);
+
152  };
+
153 
+
154  template <typename CTy>
+
155  struct delimeter
+
156  {
+
157  CTy value[3];
+
158 
+
159  explicit delimeter(CTy /* left */, CTy /* right */, CTy /* separator */ = ',');
+
160  };
+
161 
+
162  struct order
+
163  {
+
164  order_type value;
+
165 
+
166  explicit order(order_type);
+
167  };
+
168 
+
169  // functions, inlined (inline)
+
170 
+
171  template <typename FTy, typename CTy, typename CTr>
+
172  FTy const& get_facet(std::basic_ios<CTy,CTr>&);
+
173  template <typename FTy, typename CTy, typename CTr>
+
174  std::basic_ios<CTy,CTr>& formatted(std::basic_ios<CTy,CTr>&);
+
175  template <typename FTy, typename CTy, typename CTr>
+
176  std::basic_ios<CTy,CTr>& unformattet(std::basic_ios<CTy,CTr>&);
+
177 
+
178  template <typename CTy, typename CTr>
+
179  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, precision const&);
+
180  template <typename CTy, typename CTr>
+
181  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, width const&);
+
182  template <typename CTy, typename CTr>
+
183  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, delimeter<CTy> const&);
+
184  template <typename CTy, typename CTr>
+
185  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, order const&);
+
186  }//namespace io
+
187 
+
188  template <typename CTy, typename CTr, typename T, precision P>
+
189  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tquat<T,P> const&);
+
190  template <typename CTy, typename CTr, typename T, precision P>
+
191  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec1<T,P> const&);
+
192  template <typename CTy, typename CTr, typename T, precision P>
+
193  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec2<T,P> const&);
+
194  template <typename CTy, typename CTr, typename T, precision P>
+
195  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec3<T,P> const&);
+
196  template <typename CTy, typename CTr, typename T, precision P>
+
197  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec4<T,P> const&);
+
198  template <typename CTy, typename CTr, typename T, precision P>
+
199  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x2<T,P> const&);
+
200  template <typename CTy, typename CTr, typename T, precision P>
+
201  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x3<T,P> const&);
+
202  template <typename CTy, typename CTr, typename T, precision P>
+
203  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x4<T,P> const&);
+
204  template <typename CTy, typename CTr, typename T, precision P>
+
205  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x2<T,P> const&);
+
206  template <typename CTy, typename CTr, typename T, precision P>
+
207  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x3<T,P> const&);
+
208  template <typename CTy, typename CTr, typename T, precision P>
+
209  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x4<T,P> const&);
+
210  template <typename CTy, typename CTr, typename T, precision P>
+
211  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x2<T,P> const&);
+
212  template <typename CTy, typename CTr, typename T, precision P>
+
213  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x3<T,P> const&);
+
214  template <typename CTy, typename CTr, typename T, precision P>
+
215  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x4<T,P> const&);
+
216 
+
217  template <typename CTy, typename CTr, typename T, precision P>
+
218  GLM_FUNC_DECL std::basic_ostream<CTy,CTr> & operator<<(
+
219  std::basic_ostream<CTy,CTr> &,
+
220  std::pair<tmat4x4<T,P> const,
+
221  tmat4x4<T,P> const> const &);
222 
-
223 SEPARATE_MEMBER_PAGES = NO
-
224 
-
225 # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
-
226 # uses this value to replace tabs by spaces in code fragments.
-
227 # Minimum value: 1, maximum value: 16, default value: 4.
+
223  template <typename CTy, typename CTr, typename T, precision P>
+
224  GLM_FUNC_DECL std::basic_ostream<CTy,CTr> & operator<<(
+
225  std::basic_ostream<CTy,CTr> &,
+
226  std::pair<tmat4x4<T,P>,
+
227  tmat4x4<T,P> > const &);
228 
-
229 TAB_SIZE = 8
-
230 
-
231 # This tag can be used to specify a number of aliases that act as commands in
-
232 # the documentation. An alias has the form:
-
233 # name=value
-
234 # For example adding
-
235 # "sideeffect=@par Side Effects:\n"
-
236 # will allow you to put the command \sideeffect (or @sideeffect) in the
-
237 # documentation, which will result in a user-defined paragraph with heading
-
238 # "Side Effects:". You can put \n's in the value part of an alias to insert
-
239 # newlines.
-
240 
-
241 ALIASES =
-
242 
-
243 # This tag can be used to specify a number of word-keyword mappings (TCL only).
-
244 # A mapping has the form "name=value". For example adding "class=itcl::class"
-
245 # will allow you to use the command class in the itcl::class meaning.
-
246 
-
247 TCL_SUBST =
-
248 
-
249 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-
250 # only. Doxygen will then generate output that is more tailored for C. For
-
251 # instance, some of the names that are used will be different. The list of all
-
252 # members will be omitted, etc.
-
253 # The default value is: NO.
-
254 
-
255 OPTIMIZE_OUTPUT_FOR_C = NO
-
256 
-
257 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
-
258 # Python sources only. Doxygen will then generate output that is more tailored
-
259 # for that language. For instance, namespaces will be presented as packages,
-
260 # qualified scopes will look different, etc.
-
261 # The default value is: NO.
-
262 
-
263 OPTIMIZE_OUTPUT_JAVA = NO
-
264 
-
265 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-
266 # sources. Doxygen will then generate output that is tailored for Fortran.
-
267 # The default value is: NO.
-
268 
-
269 OPTIMIZE_FOR_FORTRAN = NO
-
270 
-
271 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-
272 # sources. Doxygen will then generate output that is tailored for VHDL.
-
273 # The default value is: NO.
-
274 
-
275 OPTIMIZE_OUTPUT_VHDL = NO
-
276 
-
277 # Doxygen selects the parser to use depending on the extension of the files it
-
278 # parses. With this tag you can assign which parser to use for a given
-
279 # extension. Doxygen has a built-in mapping, but you can override or extend it
-
280 # using this tag. The format is ext=language, where ext is a file extension, and
-
281 # language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-
282 # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
-
283 # FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
-
284 # Fortran. In the later case the parser tries to guess whether the code is fixed
-
285 # or free formatted code, this is the default for Fortran type files), VHDL. For
-
286 # instance to make doxygen treat .inc files as Fortran files (default is PHP),
-
287 # and .f files as C (default is Fortran), use: inc=Fortran f=C.
-
288 #
-
289 # Note For files without extension you can use no_extension as a placeholder.
-
290 #
-
291 # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-
292 # the files are not read by doxygen.
-
293 
-
294 EXTENSION_MAPPING =
-
295 
-
296 # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-
297 # according to the Markdown format, which allows for more readable
-
298 # documentation. See http://daringfireball.net/projects/markdown/ for details.
-
299 # The output of markdown processing is further processed by doxygen, so you can
-
300 # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-
301 # case of backward compatibilities issues.
-
302 # The default value is: YES.
-
303 
-
304 MARKDOWN_SUPPORT = YES
-
305 
-
306 # When enabled doxygen tries to link words that correspond to documented
-
307 # classes, or namespaces to their corresponding documentation. Such a link can
-
308 # be prevented in individual cases by by putting a % sign in front of the word
-
309 # or globally by setting AUTOLINK_SUPPORT to NO.
-
310 # The default value is: YES.
-
311 
-
312 AUTOLINK_SUPPORT = YES
-
313 
-
314 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-
315 # to include (a tag file for) the STL sources as input, then you should set this
-
316 # tag to YES in order to let doxygen match functions declarations and
-
317 # definitions whose arguments contain STL classes (e.g. func(std::string);
-
318 # versus func(std::string) {}). This also make the inheritance and collaboration
-
319 # diagrams that involve STL classes more complete and accurate.
-
320 # The default value is: NO.
-
321 
-
322 BUILTIN_STL_SUPPORT = NO
-
323 
-
324 # If you use Microsoft's C++/CLI language, you should set this option to YES to
-
325 # enable parsing support.
-
326 # The default value is: NO.
-
327 
-
328 CPP_CLI_SUPPORT = NO
-
329 
-
330 # Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-
331 # http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
-
332 # will parse them like normal C++ but will assume all classes use public instead
-
333 # of private inheritance when no explicit protection keyword is present.
-
334 # The default value is: NO.
-
335 
-
336 SIP_SUPPORT = NO
-
337 
-
338 # For Microsoft's IDL there are propget and propput attributes to indicate
-
339 # getter and setter methods for a property. Setting this option to YES will make
-
340 # doxygen to replace the get and set methods by a property in the documentation.
-
341 # This will only work if the methods are indeed getting or setting a simple
-
342 # type. If this is not the case, or you want to show the methods anyway, you
-
343 # should set this option to NO.
-
344 # The default value is: YES.
-
345 
-
346 IDL_PROPERTY_SUPPORT = YES
-
347 
-
348 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-
349 # tag is set to YES, then doxygen will reuse the documentation of the first
-
350 # member in the group (if any) for the other members of the group. By default
-
351 # all members of a group must be documented explicitly.
-
352 # The default value is: NO.
-
353 
-
354 DISTRIBUTE_GROUP_DOC = NO
-
355 
-
356 # Set the SUBGROUPING tag to YES to allow class member groups of the same type
-
357 # (for instance a group of public functions) to be put as a subgroup of that
-
358 # type (e.g. under the Public Functions section). Set it to NO to prevent
-
359 # subgrouping. Alternatively, this can be done per class using the
-
360 # \nosubgrouping command.
-
361 # The default value is: YES.
-
362 
-
363 SUBGROUPING = NO
-
364 
-
365 # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
-
366 # are shown inside the group in which they are included (e.g. using \ingroup)
-
367 # instead of on a separate page (for HTML and Man pages) or section (for LaTeX
-
368 # and RTF).
-
369 #
-
370 # Note that this feature does not work in combination with
-
371 # SEPARATE_MEMBER_PAGES.
-
372 # The default value is: NO.
-
373 
-
374 INLINE_GROUPED_CLASSES = NO
-
375 
-
376 # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
-
377 # with only public data fields or simple typedef fields will be shown inline in
-
378 # the documentation of the scope in which they are defined (i.e. file,
-
379 # namespace, or group documentation), provided this scope is documented. If set
-
380 # to NO, structs, classes, and unions are shown on a separate page (for HTML and
-
381 # Man pages) or section (for LaTeX and RTF).
-
382 # The default value is: NO.
-
383 
-
384 INLINE_SIMPLE_STRUCTS = NO
-
385 
-
386 # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
-
387 # enum is documented as struct, union, or enum with the name of the typedef. So
-
388 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-
389 # with name TypeT. When disabled the typedef will appear as a member of a file,
-
390 # namespace, or class. And the struct will be named TypeS. This can typically be
-
391 # useful for C code in case the coding convention dictates that all compound
-
392 # types are typedef'ed and only the typedef is referenced, never the tag name.
-
393 # The default value is: NO.
-
394 
-
395 TYPEDEF_HIDES_STRUCT = NO
-
396 
-
397 # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
-
398 # cache is used to resolve symbols given their name and scope. Since this can be
-
399 # an expensive process and often the same symbol appears multiple times in the
-
400 # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
-
401 # doxygen will become slower. If the cache is too large, memory is wasted. The
-
402 # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
-
403 # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
-
404 # symbols. At the end of a run doxygen will report the cache usage and suggest
-
405 # the optimal cache size from a speed point of view.
-
406 # Minimum value: 0, maximum value: 9, default value: 0.
-
407 
-
408 LOOKUP_CACHE_SIZE = 0
-
409 
-
410 #---------------------------------------------------------------------------
-
411 # Build related configuration options
-
412 #---------------------------------------------------------------------------
-
413 
-
414 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-
415 # documentation are documented, even if no documentation was available. Private
-
416 # class members and static file members will be hidden unless the
-
417 # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-
418 # Note: This will also disable the warnings about undocumented members that are
-
419 # normally produced when WARNINGS is set to YES.
-
420 # The default value is: NO.
-
421 
-
422 EXTRACT_ALL = NO
-
423 
-
424 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
-
425 # be included in the documentation.
-
426 # The default value is: NO.
-
427 
-
428 EXTRACT_PRIVATE = NO
-
429 
-
430 # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
-
431 # scope will be included in the documentation.
-
432 # The default value is: NO.
-
433 
-
434 EXTRACT_PACKAGE = NO
-
435 
-
436 # If the EXTRACT_STATIC tag is set to YES all static members of a file will be
-
437 # included in the documentation.
-
438 # The default value is: NO.
-
439 
-
440 EXTRACT_STATIC = YES
-
441 
-
442 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
-
443 # locally in source files will be included in the documentation. If set to NO
-
444 # only classes defined in header files are included. Does not have any effect
-
445 # for Java sources.
-
446 # The default value is: YES.
-
447 
-
448 EXTRACT_LOCAL_CLASSES = NO
-
449 
-
450 # This flag is only useful for Objective-C code. When set to YES local methods,
-
451 # which are defined in the implementation section but not in the interface are
-
452 # included in the documentation. If set to NO only methods in the interface are
-
453 # included.
-
454 # The default value is: NO.
-
455 
-
456 EXTRACT_LOCAL_METHODS = NO
-
457 
-
458 # If this flag is set to YES, the members of anonymous namespaces will be
-
459 # extracted and appear in the documentation as a namespace called
-
460 # 'anonymous_namespace{file}', where file will be replaced with the base name of
-
461 # the file that contains the anonymous namespace. By default anonymous namespace
-
462 # are hidden.
-
463 # The default value is: NO.
-
464 
-
465 EXTRACT_ANON_NSPACES = NO
-
466 
-
467 # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
-
468 # undocumented members inside documented classes or files. If set to NO these
-
469 # members will be included in the various overviews, but no documentation
-
470 # section is generated. This option has no effect if EXTRACT_ALL is enabled.
-
471 # The default value is: NO.
-
472 
-
473 HIDE_UNDOC_MEMBERS = YES
-
474 
-
475 # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
-
476 # undocumented classes that are normally visible in the class hierarchy. If set
-
477 # to NO these classes will be included in the various overviews. This option has
-
478 # no effect if EXTRACT_ALL is enabled.
-
479 # The default value is: NO.
-
480 
-
481 HIDE_UNDOC_CLASSES = YES
-
482 
-
483 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-
484 # (class|struct|union) declarations. If set to NO these declarations will be
-
485 # included in the documentation.
-
486 # The default value is: NO.
-
487 
-
488 HIDE_FRIEND_COMPOUNDS = YES
-
489 
-
490 # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-
491 # documentation blocks found inside the body of a function. If set to NO these
-
492 # blocks will be appended to the function's detailed documentation block.
-
493 # The default value is: NO.
-
494 
-
495 HIDE_IN_BODY_DOCS = YES
-
496 
-
497 # The INTERNAL_DOCS tag determines if documentation that is typed after a
-
498 # \internal command is included. If the tag is set to NO then the documentation
-
499 # will be excluded. Set it to YES to include the internal documentation.
-
500 # The default value is: NO.
-
501 
-
502 INTERNAL_DOCS = NO
-
503 
-
504 # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-
505 # names in lower-case letters. If set to YES upper-case letters are also
-
506 # allowed. This is useful if you have classes or files whose names only differ
-
507 # in case and if your file system supports case sensitive file names. Windows
-
508 # and Mac users are advised to set this option to NO.
-
509 # The default value is: system dependent.
-
510 
-
511 CASE_SENSE_NAMES = YES
-
512 
-
513 # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-
514 # their full class and namespace scopes in the documentation. If set to YES the
-
515 # scope will be hidden.
-
516 # The default value is: NO.
-
517 
-
518 HIDE_SCOPE_NAMES = YES
-
519 
-
520 # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
-
521 # the files that are included by a file in the documentation of that file.
-
522 # The default value is: YES.
-
523 
-
524 SHOW_INCLUDE_FILES = NO
-
525 
-
526 # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
-
527 # grouped member an include statement to the documentation, telling the reader
-
528 # which file to include in order to use the member.
-
529 # The default value is: NO.
-
530 
-
531 SHOW_GROUPED_MEMB_INC = NO
-
532 
-
533 # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
-
534 # files with double quotes in the documentation rather than with sharp brackets.
-
535 # The default value is: NO.
-
536 
-
537 FORCE_LOCAL_INCLUDES = NO
-
538 
-
539 # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
-
540 # documentation for inline members.
-
541 # The default value is: YES.
-
542 
-
543 INLINE_INFO = NO
-
544 
-
545 # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-
546 # (detailed) documentation of file and class members alphabetically by member
-
547 # name. If set to NO the members will appear in declaration order.
-
548 # The default value is: YES.
-
549 
-
550 SORT_MEMBER_DOCS = YES
-
551 
-
552 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
-
553 # descriptions of file, namespace and class members alphabetically by member
-
554 # name. If set to NO the members will appear in declaration order. Note that
-
555 # this will also influence the order of the classes in the class list.
-
556 # The default value is: NO.
-
557 
-
558 SORT_BRIEF_DOCS = YES
-
559 
-
560 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
-
561 # (brief and detailed) documentation of class members so that constructors and
-
562 # destructors are listed first. If set to NO the constructors will appear in the
-
563 # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
-
564 # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
-
565 # member documentation.
-
566 # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
-
567 # detailed member documentation.
-
568 # The default value is: NO.
-
569 
-
570 SORT_MEMBERS_CTORS_1ST = NO
-
571 
-
572 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
-
573 # of group names into alphabetical order. If set to NO the group names will
-
574 # appear in their defined order.
-
575 # The default value is: NO.
-
576 
-
577 SORT_GROUP_NAMES = NO
-
578 
-
579 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-
580 # fully-qualified names, including namespaces. If set to NO, the class list will
-
581 # be sorted only by class name, not including the namespace part.
-
582 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-
583 # Note: This option applies only to the class list, not to the alphabetical
-
584 # list.
-
585 # The default value is: NO.
-
586 
-
587 SORT_BY_SCOPE_NAME = YES
-
588 
-
589 # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
-
590 # type resolution of all parameters of a function it will reject a match between
-
591 # the prototype and the implementation of a member function even if there is
-
592 # only one candidate or it is obvious which candidate to choose by doing a
-
593 # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
-
594 # accept a match between prototype and implementation in such cases.
-
595 # The default value is: NO.
-
596 
-
597 STRICT_PROTO_MATCHING = NO
-
598 
-
599 # The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
-
600 # todo list. This list is created by putting \todo commands in the
-
601 # documentation.
-
602 # The default value is: YES.
-
603 
-
604 GENERATE_TODOLIST = YES
-
605 
-
606 # The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
-
607 # test list. This list is created by putting \test commands in the
-
608 # documentation.
-
609 # The default value is: YES.
-
610 
-
611 GENERATE_TESTLIST = YES
-
612 
-
613 # The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
-
614 # list. This list is created by putting \bug commands in the documentation.
-
615 # The default value is: YES.
-
616 
-
617 GENERATE_BUGLIST = YES
-
618 
-
619 # The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
-
620 # the deprecated list. This list is created by putting \deprecated commands in
-
621 # the documentation.
-
622 # The default value is: YES.
-
623 
-
624 GENERATE_DEPRECATEDLIST= YES
-
625 
-
626 # The ENABLED_SECTIONS tag can be used to enable conditional documentation
-
627 # sections, marked by \if <section_label> ... \endif and \cond <section_label>
-
628 # ... \endcond blocks.
-
629 
-
630 ENABLED_SECTIONS =
-
631 
-
632 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
-
633 # initial value of a variable or macro / define can have for it to appear in the
-
634 # documentation. If the initializer consists of more lines than specified here
-
635 # it will be hidden. Use a value of 0 to hide initializers completely. The
-
636 # appearance of the value of individual variables and macros / defines can be
-
637 # controlled using \showinitializer or \hideinitializer command in the
-
638 # documentation regardless of this setting.
-
639 # Minimum value: 0, maximum value: 10000, default value: 30.
-
640 
-
641 MAX_INITIALIZER_LINES = 30
-
642 
-
643 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-
644 # the bottom of the documentation of classes and structs. If set to YES the list
-
645 # will mention the files that were used to generate the documentation.
-
646 # The default value is: YES.
-
647 
-
648 SHOW_USED_FILES = NO
-
649 
-
650 # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-
651 # will remove the Files entry from the Quick Index and from the Folder Tree View
-
652 # (if specified).
-
653 # The default value is: YES.
-
654 
-
655 SHOW_FILES = YES
-
656 
-
657 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-
658 # page. This will remove the Namespaces entry from the Quick Index and from the
-
659 # Folder Tree View (if specified).
-
660 # The default value is: YES.
-
661 
-
662 SHOW_NAMESPACES = YES
-
663 
-
664 # The FILE_VERSION_FILTER tag can be used to specify a program or script that
-
665 # doxygen should invoke to get the current version for each file (typically from
-
666 # the version control system). Doxygen will invoke the program by executing (via
-
667 # popen()) the command command input-file, where command is the value of the
-
668 # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
-
669 # by doxygen. Whatever the program writes to standard output is used as the file
-
670 # version. For an example see the documentation.
-
671 
-
672 FILE_VERSION_FILTER =
-
673 
-
674 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-
675 # by doxygen. The layout file controls the global structure of the generated
-
676 # output files in an output format independent way. To create the layout file
-
677 # that represents doxygen's defaults, run doxygen with the -l option. You can
-
678 # optionally specify a file name after the option, if omitted DoxygenLayout.xml
-
679 # will be used as the name of the layout file.
-
680 #
-
681 # Note that if you run doxygen from a directory containing a file called
-
682 # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
-
683 # tag is left empty.
-
684 
-
685 LAYOUT_FILE =
-
686 
-
687 # The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-
688 # the reference definitions. This must be a list of .bib files. The .bib
-
689 # extension is automatically appended if omitted. This requires the bibtex tool
-
690 # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
-
691 # For LaTeX the style of the bibliography can be controlled using
-
692 # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-
693 # search path. See also \cite for info how to create references.
-
694 
-
695 CITE_BIB_FILES =
-
696 
-
697 #---------------------------------------------------------------------------
-
698 # Configuration options related to warning and progress messages
-
699 #---------------------------------------------------------------------------
-
700 
-
701 # The QUIET tag can be used to turn on/off the messages that are generated to
-
702 # standard output by doxygen. If QUIET is set to YES this implies that the
-
703 # messages are off.
-
704 # The default value is: NO.
-
705 
-
706 QUIET = NO
-
707 
-
708 # The WARNINGS tag can be used to turn on/off the warning messages that are
-
709 # generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
-
710 # this implies that the warnings are on.
-
711 #
-
712 # Tip: Turn warnings on while writing the documentation.
-
713 # The default value is: YES.
-
714 
-
715 WARNINGS = YES
-
716 
-
717 # If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
-
718 # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
-
719 # will automatically be disabled.
-
720 # The default value is: YES.
-
721 
-
722 WARN_IF_UNDOCUMENTED = YES
-
723 
-
724 # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-
725 # potential errors in the documentation, such as not documenting some parameters
-
726 # in a documented function, or documenting parameters that don't exist or using
-
727 # markup commands wrongly.
-
728 # The default value is: YES.
-
729 
-
730 WARN_IF_DOC_ERROR = YES
-
731 
-
732 # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
-
733 # are documented, but have no documentation for their parameters or return
-
734 # value. If set to NO doxygen will only warn about wrong or incomplete parameter
-
735 # documentation, but not about the absence of documentation.
-
736 # The default value is: NO.
-
737 
-
738 WARN_NO_PARAMDOC = NO
-
739 
-
740 # The WARN_FORMAT tag determines the format of the warning messages that doxygen
-
741 # can produce. The string should contain the $file, $line, and $text tags, which
-
742 # will be replaced by the file and line number from which the warning originated
-
743 # and the warning text. Optionally the format may contain $version, which will
-
744 # be replaced by the version of the file (if it could be obtained via
-
745 # FILE_VERSION_FILTER)
-
746 # The default value is: $file:$line: $text.
-
747 
-
748 WARN_FORMAT = "$file:$line: $text"
-
749 
-
750 # The WARN_LOGFILE tag can be used to specify a file to which warning and error
-
751 # messages should be written. If left blank the output is written to standard
-
752 # error (stderr).
-
753 
-
754 WARN_LOGFILE =
-
755 
-
756 #---------------------------------------------------------------------------
-
757 # Configuration options related to the input files
-
758 #---------------------------------------------------------------------------
-
759 
-
760 # The INPUT tag is used to specify the files and/or directories that contain
-
761 # documented source files. You may enter file names like myfile.cpp or
-
762 # directories like /usr/src/myproject. Separate the files or directories with
-
763 # spaces.
-
764 # Note: If this tag is empty the current directory is searched.
-
765 
-
766 INPUT = ../glm \
-
767  .
-
768 
-
769 # This tag can be used to specify the character encoding of the source files
-
770 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
-
771 # libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-
772 # documentation (see: http://www.gnu.org/software/libiconv) for the list of
-
773 # possible encodings.
-
774 # The default value is: UTF-8.
-
775 
-
776 INPUT_ENCODING = UTF-8
-
777 
-
778 # If the value of the INPUT tag contains directories, you can use the
-
779 # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-
780 # *.h) to filter out the source-files in the directories. If left blank the
-
781 # following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
-
782 # *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
-
783 # *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
-
784 # *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
-
785 # *.qsf, *.as and *.js.
-
786 
-
787 FILE_PATTERNS = *.hpp \
-
788  *.doxy
-
789 
-
790 # The RECURSIVE tag can be used to specify whether or not subdirectories should
-
791 # be searched for input files as well.
-
792 # The default value is: NO.
-
793 
-
794 RECURSIVE = YES
-
795 
-
796 # The EXCLUDE tag can be used to specify files and/or directories that should be
-
797 # excluded from the INPUT source files. This way you can easily exclude a
-
798 # subdirectory from a directory tree whose root is specified with the INPUT tag.
-
799 #
-
800 # Note that relative paths are relative to the directory from which doxygen is
-
801 # run.
-
802 
-
803 EXCLUDE =
-
804 
-
805 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-
806 # directories that are symbolic links (a Unix file system feature) are excluded
-
807 # from the input.
-
808 # The default value is: NO.
-
809 
-
810 EXCLUDE_SYMLINKS = NO
-
811 
-
812 # If the value of the INPUT tag contains directories, you can use the
-
813 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-
814 # certain files from those directories.
-
815 #
-
816 # Note that the wildcards are matched against the file with absolute path, so to
-
817 # exclude all test directories for example use the pattern */test/*
-
818 
-
819 EXCLUDE_PATTERNS =
-
820 
-
821 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-
822 # (namespaces, classes, functions, etc.) that should be excluded from the
-
823 # output. The symbol name can be a fully qualified name, a word, or if the
-
824 # wildcard * is used, a substring. Examples: ANamespace, AClass,
-
825 # AClass::ANamespace, ANamespace::*Test
-
826 #
-
827 # Note that the wildcards are matched against the file with absolute path, so to
-
828 # exclude all test directories use the pattern */test/*
-
829 
-
830 EXCLUDE_SYMBOLS =
-
831 
-
832 # The EXAMPLE_PATH tag can be used to specify one or more files or directories
-
833 # that contain example code fragments that are included (see the \include
-
834 # command).
-
835 
-
836 EXAMPLE_PATH =
-
837 
-
838 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
-
839 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-
840 # *.h) to filter out the source-files in the directories. If left blank all
-
841 # files are included.
-
842 
-
843 EXAMPLE_PATTERNS = *
-
844 
-
845 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-
846 # searched for input files to be used with the \include or \dontinclude commands
-
847 # irrespective of the value of the RECURSIVE tag.
-
848 # The default value is: NO.
-
849 
-
850 EXAMPLE_RECURSIVE = NO
-
851 
-
852 # The IMAGE_PATH tag can be used to specify one or more files or directories
-
853 # that contain images that are to be included in the documentation (see the
-
854 # \image command).
-
855 
-
856 IMAGE_PATH =
-
857 
-
858 # The INPUT_FILTER tag can be used to specify a program that doxygen should
-
859 # invoke to filter for each input file. Doxygen will invoke the filter program
-
860 # by executing (via popen()) the command:
-
861 #
-
862 # <filter> <input-file>
-
863 #
-
864 # where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
-
865 # name of an input file. Doxygen will then use the output that the filter
-
866 # program writes to standard output. If FILTER_PATTERNS is specified, this tag
-
867 # will be ignored.
-
868 #
-
869 # Note that the filter must not add or remove lines; it is applied before the
-
870 # code is scanned, but not when the output code is generated. If lines are added
-
871 # or removed, the anchors will not be placed correctly.
-
872 
-
873 INPUT_FILTER =
-
874 
-
875 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-
876 # basis. Doxygen will compare the file name with each pattern and apply the
-
877 # filter if there is a match. The filters are a list of the form: pattern=filter
-
878 # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
-
879 # filters are used. If the FILTER_PATTERNS tag is empty or if none of the
-
880 # patterns match the file name, INPUT_FILTER is applied.
-
881 
-
882 FILTER_PATTERNS =
-
883 
-
884 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-
885 # INPUT_FILTER ) will also be used to filter the input files that are used for
-
886 # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
887 # The default value is: NO.
-
888 
-
889 FILTER_SOURCE_FILES = NO
-
890 
-
891 # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-
892 # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
-
893 # it is also possible to disable source filtering for a specific pattern using
-
894 # *.ext= (so without naming a filter).
-
895 # This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-
896 
-
897 FILTER_SOURCE_PATTERNS =
-
898 
-
899 # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-
900 # is part of the input, its contents will be placed on the main page
-
901 # (index.html). This can be useful if you have a project on for instance GitHub
-
902 # and want to reuse the introduction page also for the doxygen output.
-
903 
-
904 USE_MDFILE_AS_MAINPAGE =
-
905 
-
906 #---------------------------------------------------------------------------
-
907 # Configuration options related to source browsing
-
908 #---------------------------------------------------------------------------
-
909 
-
910 # If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-
911 # generated. Documented entities will be cross-referenced with these sources.
-
912 #
-
913 # Note: To get rid of all source code in the generated output, make sure that
-
914 # also VERBATIM_HEADERS is set to NO.
-
915 # The default value is: NO.
-
916 
-
917 SOURCE_BROWSER = YES
-
918 
-
919 # Setting the INLINE_SOURCES tag to YES will include the body of functions,
-
920 # classes and enums directly into the documentation.
-
921 # The default value is: NO.
-
922 
-
923 INLINE_SOURCES = NO
-
924 
-
925 # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
-
926 # special comment blocks from generated source code fragments. Normal C, C++ and
-
927 # Fortran comments will always remain visible.
-
928 # The default value is: YES.
-
929 
-
930 STRIP_CODE_COMMENTS = YES
-
931 
-
932 # If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-
933 # function all documented functions referencing it will be listed.
-
934 # The default value is: NO.
-
935 
-
936 REFERENCED_BY_RELATION = YES
-
937 
-
938 # If the REFERENCES_RELATION tag is set to YES then for each documented function
-
939 # all documented entities called/used by that function will be listed.
-
940 # The default value is: NO.
-
941 
-
942 REFERENCES_RELATION = YES
-
943 
-
944 # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-
945 # to YES, then the hyperlinks from functions in REFERENCES_RELATION and
-
946 # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
-
947 # link to the documentation.
-
948 # The default value is: YES.
-
949 
-
950 REFERENCES_LINK_SOURCE = YES
-
951 
-
952 # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
-
953 # source code will show a tooltip with additional information such as prototype,
-
954 # brief description and links to the definition and documentation. Since this
-
955 # will make the HTML file larger and loading of large files a bit slower, you
-
956 # can opt to disable this feature.
-
957 # The default value is: YES.
-
958 # This tag requires that the tag SOURCE_BROWSER is set to YES.
-
959 
-
960 SOURCE_TOOLTIPS = YES
-
961 
-
962 # If the USE_HTAGS tag is set to YES then the references to source code will
-
963 # point to the HTML generated by the htags(1) tool instead of doxygen built-in
-
964 # source browser. The htags tool is part of GNU's global source tagging system
-
965 # (see http://www.gnu.org/software/global/global.html). You will need version
-
966 # 4.8.6 or higher.
-
967 #
-
968 # To use it do the following:
-
969 # - Install the latest version of global
-
970 # - Enable SOURCE_BROWSER and USE_HTAGS in the config file
-
971 # - Make sure the INPUT points to the root of the source tree
-
972 # - Run doxygen as normal
-
973 #
-
974 # Doxygen will invoke htags (and that will in turn invoke gtags), so these
-
975 # tools must be available from the command line (i.e. in the search path).
-
976 #
-
977 # The result: instead of the source browser generated by doxygen, the links to
-
978 # source code will now point to the output of htags.
-
979 # The default value is: NO.
-
980 # This tag requires that the tag SOURCE_BROWSER is set to YES.
-
981 
-
982 USE_HTAGS = NO
-
983 
-
984 # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
-
985 # verbatim copy of the header file for each class for which an include is
-
986 # specified. Set to NO to disable this.
-
987 # See also: Section \class.
-
988 # The default value is: YES.
-
989 
-
990 VERBATIM_HEADERS = YES
-
991 
-
992 # If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
-
993 # clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
-
994 # cost of reduced performance. This can be particularly helpful with template
-
995 # rich C++ code for which doxygen's built-in parser lacks the necessary type
-
996 # information.
-
997 # Note: The availability of this option depends on whether or not doxygen was
-
998 # compiled with the --with-libclang option.
-
999 # The default value is: NO.
-
1000 
-
1001 CLANG_ASSISTED_PARSING = NO
-
1002 
-
1003 # If clang assisted parsing is enabled you can provide the compiler with command
-
1004 # line options that you would normally use when invoking the compiler. Note that
-
1005 # the include paths will already be set by doxygen for the files and directories
-
1006 # specified with INPUT and INCLUDE_PATH.
-
1007 # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
-
1008 
-
1009 CLANG_OPTIONS =
-
1010 
-
1011 #---------------------------------------------------------------------------
-
1012 # Configuration options related to the alphabetical class index
-
1013 #---------------------------------------------------------------------------
-
1014 
-
1015 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
-
1016 # compounds will be generated. Enable this if the project contains a lot of
-
1017 # classes, structs, unions or interfaces.
-
1018 # The default value is: YES.
-
1019 
-
1020 ALPHABETICAL_INDEX = NO
-
1021 
-
1022 # The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-
1023 # which the alphabetical index list will be split.
-
1024 # Minimum value: 1, maximum value: 20, default value: 5.
-
1025 # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
1026 
-
1027 COLS_IN_ALPHA_INDEX = 5
-
1028 
-
1029 # In case all classes in a project start with a common prefix, all classes will
-
1030 # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-
1031 # can be used to specify a prefix (or a list of prefixes) that should be ignored
-
1032 # while generating the index headers.
-
1033 # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
1034 
-
1035 IGNORE_PREFIX =
-
1036 
-
1037 #---------------------------------------------------------------------------
-
1038 # Configuration options related to the HTML output
-
1039 #---------------------------------------------------------------------------
-
1040 
-
1041 # If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
-
1042 # The default value is: YES.
-
1043 
-
1044 GENERATE_HTML = YES
-
1045 
-
1046 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
-
1047 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-
1048 # it.
-
1049 # The default directory is: html.
-
1050 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1051 
-
1052 HTML_OUTPUT = html
-
1053 
-
1054 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
-
1055 # generated HTML page (for example: .htm, .php, .asp).
-
1056 # The default value is: .html.
-
1057 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1058 
-
1059 HTML_FILE_EXTENSION = .html
-
1060 
-
1061 # The HTML_HEADER tag can be used to specify a user-defined HTML header file for
-
1062 # each generated HTML page. If the tag is left blank doxygen will generate a
-
1063 # standard header.
-
1064 #
-
1065 # To get valid HTML the header file that includes any scripts and style sheets
-
1066 # that doxygen needs, which is dependent on the configuration options used (e.g.
-
1067 # the setting GENERATE_TREEVIEW). It is highly recommended to start with a
-
1068 # default header using
-
1069 # doxygen -w html new_header.html new_footer.html new_stylesheet.css
-
1070 # YourConfigFile
-
1071 # and then modify the file new_header.html. See also section "Doxygen usage"
-
1072 # for information on how to generate the default header that doxygen normally
-
1073 # uses.
-
1074 # Note: The header is subject to change so you typically have to regenerate the
-
1075 # default header when upgrading to a newer version of doxygen. For a description
-
1076 # of the possible markers and block names see the documentation.
-
1077 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1078 
-
1079 HTML_HEADER =
-
1080 
-
1081 # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
-
1082 # generated HTML page. If the tag is left blank doxygen will generate a standard
-
1083 # footer. See HTML_HEADER for more information on how to generate a default
-
1084 # footer and what special commands can be used inside the footer. See also
-
1085 # section "Doxygen usage" for information on how to generate the default footer
-
1086 # that doxygen normally uses.
-
1087 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1088 
-
1089 HTML_FOOTER =
-
1090 
-
1091 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
-
1092 # sheet that is used by each HTML page. It can be used to fine-tune the look of
-
1093 # the HTML output. If left blank doxygen will generate a default style sheet.
-
1094 # See also section "Doxygen usage" for information on how to generate the style
-
1095 # sheet that doxygen normally uses.
-
1096 # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
-
1097 # it is more robust and this tag (HTML_STYLESHEET) will in the future become
-
1098 # obsolete.
-
1099 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1100 
-
1101 HTML_STYLESHEET =
-
1102 
-
1103 # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-
1104 # cascading style sheets that are included after the standard style sheets
-
1105 # created by doxygen. Using this option one can overrule certain style aspects.
-
1106 # This is preferred over using HTML_STYLESHEET since it does not replace the
-
1107 # standard style sheet and is therefor more robust against future updates.
-
1108 # Doxygen will copy the style sheet files to the output directory.
-
1109 # Note: The order of the extra stylesheet files is of importance (e.g. the last
-
1110 # stylesheet in the list overrules the setting of the previous ones in the
-
1111 # list). For an example see the documentation.
-
1112 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1113 
-
1114 HTML_EXTRA_STYLESHEET =
-
1115 
-
1116 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-
1117 # other source files which should be copied to the HTML output directory. Note
-
1118 # that these files will be copied to the base HTML output directory. Use the
-
1119 # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-
1120 # files. In the HTML_STYLESHEET file, use the file name only. Also note that the
-
1121 # files will be copied as-is; there are no commands or markers available.
-
1122 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1123 
-
1124 HTML_EXTRA_FILES =
-
1125 
-
1126 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-
1127 # will adjust the colors in the stylesheet and background images according to
-
1128 # this color. Hue is specified as an angle on a colorwheel, see
-
1129 # http://en.wikipedia.org/wiki/Hue for more information. For instance the value
-
1130 # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
-
1131 # purple, and 360 is red again.
-
1132 # Minimum value: 0, maximum value: 359, default value: 220.
-
1133 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1134 
-
1135 HTML_COLORSTYLE_HUE = 220
-
1136 
-
1137 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-
1138 # in the HTML output. For a value of 0 the output will use grayscales only. A
-
1139 # value of 255 will produce the most vivid colors.
-
1140 # Minimum value: 0, maximum value: 255, default value: 100.
-
1141 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1142 
-
1143 HTML_COLORSTYLE_SAT = 100
-
1144 
-
1145 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
-
1146 # luminance component of the colors in the HTML output. Values below 100
-
1147 # gradually make the output lighter, whereas values above 100 make the output
-
1148 # darker. The value divided by 100 is the actual gamma applied, so 80 represents
-
1149 # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
-
1150 # change the gamma.
-
1151 # Minimum value: 40, maximum value: 240, default value: 80.
-
1152 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1153 
-
1154 HTML_COLORSTYLE_GAMMA = 80
-
1155 
-
1156 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-
1157 # page will contain the date and time when the page was generated. Setting this
-
1158 # to NO can help when comparing the output of multiple runs.
-
1159 # The default value is: YES.
-
1160 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1161 
-
1162 HTML_TIMESTAMP = NO
-
1163 
-
1164 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-
1165 # documentation will contain sections that can be hidden and shown after the
-
1166 # page has loaded.
-
1167 # The default value is: NO.
-
1168 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1169 
-
1170 HTML_DYNAMIC_SECTIONS = NO
-
1171 
-
1172 # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
-
1173 # shown in the various tree structured indices initially; the user can expand
-
1174 # and collapse entries dynamically later on. Doxygen will expand the tree to
-
1175 # such a level that at most the specified number of entries are visible (unless
-
1176 # a fully collapsed tree already exceeds this amount). So setting the number of
-
1177 # entries 1 will produce a full collapsed tree by default. 0 is a special value
-
1178 # representing an infinite number of entries and will result in a full expanded
-
1179 # tree by default.
-
1180 # Minimum value: 0, maximum value: 9999, default value: 100.
-
1181 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1182 
-
1183 HTML_INDEX_NUM_ENTRIES = 100
-
1184 
-
1185 # If the GENERATE_DOCSET tag is set to YES, additional index files will be
-
1186 # generated that can be used as input for Apple's Xcode 3 integrated development
-
1187 # environment (see: http://developer.apple.com/tools/xcode/), introduced with
-
1188 # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
-
1189 # Makefile in the HTML output directory. Running make will produce the docset in
-
1190 # that directory and running make install will install the docset in
-
1191 # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-
1192 # startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-
1193 # for more information.
-
1194 # The default value is: NO.
-
1195 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1196 
-
1197 GENERATE_DOCSET = NO
-
1198 
-
1199 # This tag determines the name of the docset feed. A documentation feed provides
-
1200 # an umbrella under which multiple documentation sets from a single provider
-
1201 # (such as a company or product suite) can be grouped.
-
1202 # The default value is: Doxygen generated docs.
-
1203 # This tag requires that the tag GENERATE_DOCSET is set to YES.
-
1204 
-
1205 DOCSET_FEEDNAME = "Doxygen generated docs"
-
1206 
-
1207 # This tag specifies a string that should uniquely identify the documentation
-
1208 # set bundle. This should be a reverse domain-name style string, e.g.
-
1209 # com.mycompany.MyDocSet. Doxygen will append .docset to the name.
-
1210 # The default value is: org.doxygen.Project.
-
1211 # This tag requires that the tag GENERATE_DOCSET is set to YES.
-
1212 
-
1213 DOCSET_BUNDLE_ID = org.doxygen.Project
-
1214 
-
1215 # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
-
1216 # the documentation publisher. This should be a reverse domain-name style
-
1217 # string, e.g. com.mycompany.MyDocSet.documentation.
-
1218 # The default value is: org.doxygen.Publisher.
-
1219 # This tag requires that the tag GENERATE_DOCSET is set to YES.
-
1220 
-
1221 DOCSET_PUBLISHER_ID = org.doxygen.Publisher
-
1222 
-
1223 # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
-
1224 # The default value is: Publisher.
-
1225 # This tag requires that the tag GENERATE_DOCSET is set to YES.
-
1226 
-
1227 DOCSET_PUBLISHER_NAME = Publisher
-
1228 
-
1229 # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
-
1230 # additional HTML index files: index.hhp, index.hhc, and index.hhk. The
-
1231 # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-
1232 # (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-
1233 # Windows.
-
1234 #
-
1235 # The HTML Help Workshop contains a compiler that can convert all HTML output
-
1236 # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
-
1237 # files are now used as the Windows 98 help format, and will replace the old
-
1238 # Windows help format (.hlp) on all Windows platforms in the future. Compressed
-
1239 # HTML files also contain an index, a table of contents, and you can search for
-
1240 # words in the documentation. The HTML workshop also contains a viewer for
-
1241 # compressed HTML files.
-
1242 # The default value is: NO.
-
1243 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1244 
-
1245 GENERATE_HTMLHELP = NO
-
1246 
-
1247 # The CHM_FILE tag can be used to specify the file name of the resulting .chm
-
1248 # file. You can add a path in front of the file if the result should not be
-
1249 # written to the html output directory.
-
1250 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
1251 
-
1252 CHM_FILE =
-
1253 
-
1254 # The HHC_LOCATION tag can be used to specify the location (absolute path
-
1255 # including file name) of the HTML help compiler ( hhc.exe). If non-empty
-
1256 # doxygen will try to run the HTML help compiler on the generated index.hhp.
-
1257 # The file has to be specified with full path.
-
1258 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
1259 
-
1260 HHC_LOCATION =
-
1261 
-
1262 # The GENERATE_CHI flag controls if a separate .chi index file is generated (
-
1263 # YES) or that it should be included in the master .chm file ( NO).
-
1264 # The default value is: NO.
-
1265 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
1266 
-
1267 GENERATE_CHI = NO
-
1268 
-
1269 # The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
-
1270 # and project file content.
-
1271 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
1272 
-
1273 CHM_INDEX_ENCODING =
-
1274 
-
1275 # The BINARY_TOC flag controls whether a binary table of contents is generated (
-
1276 # YES) or a normal table of contents ( NO) in the .chm file. Furthermore it
-
1277 # enables the Previous and Next buttons.
-
1278 # The default value is: NO.
-
1279 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
1280 
-
1281 BINARY_TOC = NO
-
1282 
-
1283 # The TOC_EXPAND flag can be set to YES to add extra items for group members to
-
1284 # the table of contents of the HTML help documentation and to the tree view.
-
1285 # The default value is: NO.
-
1286 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
1287 
-
1288 TOC_EXPAND = NO
-
1289 
-
1290 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-
1291 # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
-
1292 # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
-
1293 # (.qch) of the generated HTML documentation.
-
1294 # The default value is: NO.
-
1295 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1296 
-
1297 GENERATE_QHP = NO
-
1298 
-
1299 # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
-
1300 # the file name of the resulting .qch file. The path specified is relative to
-
1301 # the HTML output folder.
-
1302 # This tag requires that the tag GENERATE_QHP is set to YES.
-
1303 
-
1304 QCH_FILE =
-
1305 
-
1306 # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
-
1307 # Project output. For more information please see Qt Help Project / Namespace
-
1308 # (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
-
1309 # The default value is: org.doxygen.Project.
-
1310 # This tag requires that the tag GENERATE_QHP is set to YES.
-
1311 
-
1312 QHP_NAMESPACE = org.doxygen.Project
-
1313 
-
1314 # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
-
1315 # Help Project output. For more information please see Qt Help Project / Virtual
-
1316 # Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
-
1317 # folders).
-
1318 # The default value is: doc.
-
1319 # This tag requires that the tag GENERATE_QHP is set to YES.
-
1320 
-
1321 QHP_VIRTUAL_FOLDER = doc
-
1322 
-
1323 # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
-
1324 # filter to add. For more information please see Qt Help Project / Custom
-
1325 # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-
1326 # filters).
-
1327 # This tag requires that the tag GENERATE_QHP is set to YES.
-
1328 
-
1329 QHP_CUST_FILTER_NAME =
-
1330 
-
1331 # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
-
1332 # custom filter to add. For more information please see Qt Help Project / Custom
-
1333 # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-
1334 # filters).
-
1335 # This tag requires that the tag GENERATE_QHP is set to YES.
-
1336 
-
1337 QHP_CUST_FILTER_ATTRS =
-
1338 
-
1339 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-
1340 # project's filter section matches. Qt Help Project / Filter Attributes (see:
-
1341 # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
-
1342 # This tag requires that the tag GENERATE_QHP is set to YES.
-
1343 
-
1344 QHP_SECT_FILTER_ATTRS =
-
1345 
-
1346 # The QHG_LOCATION tag can be used to specify the location of Qt's
-
1347 # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-
1348 # generated .qhp file.
-
1349 # This tag requires that the tag GENERATE_QHP is set to YES.
-
1350 
-
1351 QHG_LOCATION =
-
1352 
-
1353 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
-
1354 # generated, together with the HTML files, they form an Eclipse help plugin. To
-
1355 # install this plugin and make it available under the help contents menu in
-
1356 # Eclipse, the contents of the directory containing the HTML and XML files needs
-
1357 # to be copied into the plugins directory of eclipse. The name of the directory
-
1358 # within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
-
1359 # After copying Eclipse needs to be restarted before the help appears.
-
1360 # The default value is: NO.
-
1361 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1362 
-
1363 GENERATE_ECLIPSEHELP = NO
-
1364 
-
1365 # A unique identifier for the Eclipse help plugin. When installing the plugin
-
1366 # the directory name containing the HTML and XML files should also have this
-
1367 # name. Each documentation set should have its own identifier.
-
1368 # The default value is: org.doxygen.Project.
-
1369 # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
-
1370 
-
1371 ECLIPSE_DOC_ID = org.doxygen.Project
-
1372 
-
1373 # If you want full control over the layout of the generated HTML pages it might
-
1374 # be necessary to disable the index and replace it with your own. The
-
1375 # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
-
1376 # of each HTML page. A value of NO enables the index and the value YES disables
-
1377 # it. Since the tabs in the index contain the same information as the navigation
-
1378 # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
-
1379 # The default value is: NO.
-
1380 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1381 
-
1382 DISABLE_INDEX = NO
-
1383 
-
1384 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-
1385 # structure should be generated to display hierarchical information. If the tag
-
1386 # value is set to YES, a side panel will be generated containing a tree-like
-
1387 # index structure (just like the one that is generated for HTML Help). For this
-
1388 # to work a browser that supports JavaScript, DHTML, CSS and frames is required
-
1389 # (i.e. any modern browser). Windows users are probably better off using the
-
1390 # HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
-
1391 # further fine-tune the look of the index. As an example, the default style
-
1392 # sheet generated by doxygen has an example that shows how to put an image at
-
1393 # the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-
1394 # the same information as the tab index, you could consider setting
-
1395 # DISABLE_INDEX to YES when enabling this option.
-
1396 # The default value is: NO.
-
1397 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1398 
-
1399 GENERATE_TREEVIEW = NO
-
1400 
-
1401 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
-
1402 # doxygen will group on one line in the generated HTML documentation.
-
1403 #
-
1404 # Note that a value of 0 will completely suppress the enum values from appearing
-
1405 # in the overview section.
-
1406 # Minimum value: 0, maximum value: 20, default value: 4.
-
1407 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1408 
-
1409 ENUM_VALUES_PER_LINE = 4
-
1410 
-
1411 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
-
1412 # to set the initial width (in pixels) of the frame in which the tree is shown.
-
1413 # Minimum value: 0, maximum value: 1500, default value: 250.
-
1414 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1415 
-
1416 TREEVIEW_WIDTH = 250
-
1417 
-
1418 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
-
1419 # external symbols imported via tag files in a separate window.
-
1420 # The default value is: NO.
-
1421 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1422 
-
1423 EXT_LINKS_IN_WINDOW = NO
-
1424 
-
1425 # Use this tag to change the font size of LaTeX formulas included as images in
-
1426 # the HTML documentation. When you change the font size after a successful
-
1427 # doxygen run you need to manually remove any form_*.png images from the HTML
-
1428 # output directory to force them to be regenerated.
-
1429 # Minimum value: 8, maximum value: 50, default value: 10.
-
1430 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1431 
-
1432 FORMULA_FONTSIZE = 10
-
1433 
-
1434 # Use the FORMULA_TRANPARENT tag to determine whether or not the images
-
1435 # generated for formulas are transparent PNGs. Transparent PNGs are not
-
1436 # supported properly for IE 6.0, but are supported on all modern browsers.
-
1437 #
-
1438 # Note that when changing this option you need to delete any form_*.png files in
-
1439 # the HTML output directory before the changes have effect.
-
1440 # The default value is: YES.
-
1441 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1442 
-
1443 FORMULA_TRANSPARENT = YES
-
1444 
-
1445 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-
1446 # http://www.mathjax.org) which uses client side Javascript for the rendering
-
1447 # instead of using prerendered bitmaps. Use this if you do not have LaTeX
-
1448 # installed or if you want to formulas look prettier in the HTML output. When
-
1449 # enabled you may also need to install MathJax separately and configure the path
-
1450 # to it using the MATHJAX_RELPATH option.
-
1451 # The default value is: NO.
-
1452 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1453 
-
1454 USE_MATHJAX = NO
-
1455 
-
1456 # When MathJax is enabled you can set the default output format to be used for
-
1457 # the MathJax output. See the MathJax site (see:
-
1458 # http://docs.mathjax.org/en/latest/output.html) for more details.
-
1459 # Possible values are: HTML-CSS (which is slower, but has the best
-
1460 # compatibility), NativeMML (i.e. MathML) and SVG.
-
1461 # The default value is: HTML-CSS.
-
1462 # This tag requires that the tag USE_MATHJAX is set to YES.
-
1463 
-
1464 MATHJAX_FORMAT = HTML-CSS
-
1465 
-
1466 # When MathJax is enabled you need to specify the location relative to the HTML
-
1467 # output directory using the MATHJAX_RELPATH option. The destination directory
-
1468 # should contain the MathJax.js script. For instance, if the mathjax directory
-
1469 # is located at the same level as the HTML output directory, then
-
1470 # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
-
1471 # Content Delivery Network so you can quickly see the result without installing
-
1472 # MathJax. However, it is strongly recommended to install a local copy of
-
1473 # MathJax from http://www.mathjax.org before deployment.
-
1474 # The default value is: http://cdn.mathjax.org/mathjax/latest.
-
1475 # This tag requires that the tag USE_MATHJAX is set to YES.
-
1476 
-
1477 MATHJAX_RELPATH = http://www.mathjax.org/mathjax
-
1478 
-
1479 # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
-
1480 # extension names that should be enabled during MathJax rendering. For example
-
1481 # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
-
1482 # This tag requires that the tag USE_MATHJAX is set to YES.
-
1483 
-
1484 MATHJAX_EXTENSIONS =
-
1485 
-
1486 # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
-
1487 # of code that will be used on startup of the MathJax code. See the MathJax site
-
1488 # (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
-
1489 # example see the documentation.
-
1490 # This tag requires that the tag USE_MATHJAX is set to YES.
-
1491 
-
1492 MATHJAX_CODEFILE =
-
1493 
-
1494 # When the SEARCHENGINE tag is enabled doxygen will generate a search box for
-
1495 # the HTML output. The underlying search engine uses javascript and DHTML and
-
1496 # should work on any modern browser. Note that when using HTML help
-
1497 # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
-
1498 # there is already a search function so this one should typically be disabled.
-
1499 # For large projects the javascript based search engine can be slow, then
-
1500 # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
-
1501 # search using the keyboard; to jump to the search box use <access key> + S
-
1502 # (what the <access key> is depends on the OS and browser, but it is typically
-
1503 # <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
-
1504 # key> to jump into the search results window, the results can be navigated
-
1505 # using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
-
1506 # the search. The filter options can be selected when the cursor is inside the
-
1507 # search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
-
1508 # to select a filter and <Enter> or <escape> to activate or cancel the filter
-
1509 # option.
-
1510 # The default value is: YES.
-
1511 # This tag requires that the tag GENERATE_HTML is set to YES.
-
1512 
-
1513 SEARCHENGINE = NO
-
1514 
-
1515 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-
1516 # implemented using a web server instead of a web client using Javascript. There
-
1517 # are two flavors of web server based searching depending on the EXTERNAL_SEARCH
-
1518 # setting. When disabled, doxygen will generate a PHP script for searching and
-
1519 # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
-
1520 # and searching needs to be provided by external tools. See the section
-
1521 # "External Indexing and Searching" for details.
-
1522 # The default value is: NO.
-
1523 # This tag requires that the tag SEARCHENGINE is set to YES.
-
1524 
-
1525 SERVER_BASED_SEARCH = NO
-
1526 
-
1527 # When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
-
1528 # script for searching. Instead the search results are written to an XML file
-
1529 # which needs to be processed by an external indexer. Doxygen will invoke an
-
1530 # external search engine pointed to by the SEARCHENGINE_URL option to obtain the
-
1531 # search results.
-
1532 #
-
1533 # Doxygen ships with an example indexer ( doxyindexer) and search engine
-
1534 # (doxysearch.cgi) which are based on the open source search engine library
-
1535 # Xapian (see: http://xapian.org/).
-
1536 #
-
1537 # See the section "External Indexing and Searching" for details.
-
1538 # The default value is: NO.
-
1539 # This tag requires that the tag SEARCHENGINE is set to YES.
-
1540 
-
1541 EXTERNAL_SEARCH = NO
-
1542 
-
1543 # The SEARCHENGINE_URL should point to a search engine hosted by a web server
-
1544 # which will return the search results when EXTERNAL_SEARCH is enabled.
-
1545 #
-
1546 # Doxygen ships with an example indexer ( doxyindexer) and search engine
-
1547 # (doxysearch.cgi) which are based on the open source search engine library
-
1548 # Xapian (see: http://xapian.org/). See the section "External Indexing and
-
1549 # Searching" for details.
-
1550 # This tag requires that the tag SEARCHENGINE is set to YES.
-
1551 
-
1552 SEARCHENGINE_URL =
-
1553 
-
1554 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
-
1555 # search data is written to a file for indexing by an external tool. With the
-
1556 # SEARCHDATA_FILE tag the name of this file can be specified.
-
1557 # The default file is: searchdata.xml.
-
1558 # This tag requires that the tag SEARCHENGINE is set to YES.
-
1559 
-
1560 SEARCHDATA_FILE = searchdata.xml
-
1561 
-
1562 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
-
1563 # EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
-
1564 # useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
-
1565 # projects and redirect the results back to the right project.
-
1566 # This tag requires that the tag SEARCHENGINE is set to YES.
-
1567 
-
1568 EXTERNAL_SEARCH_ID =
-
1569 
-
1570 # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
-
1571 # projects other than the one defined by this configuration file, but that are
-
1572 # all added to the same external search index. Each project needs to have a
-
1573 # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
-
1574 # to a relative location where the documentation can be found. The format is:
-
1575 # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
-
1576 # This tag requires that the tag SEARCHENGINE is set to YES.
-
1577 
-
1578 EXTRA_SEARCH_MAPPINGS =
-
1579 
-
1580 #---------------------------------------------------------------------------
-
1581 # Configuration options related to the LaTeX output
-
1582 #---------------------------------------------------------------------------
-
1583 
-
1584 # If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
-
1585 # The default value is: YES.
-
1586 
-
1587 GENERATE_LATEX = NO
-
1588 
-
1589 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
-
1590 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-
1591 # it.
-
1592 # The default directory is: latex.
-
1593 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1594 
-
1595 LATEX_OUTPUT = latex
-
1596 
-
1597 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-
1598 # invoked.
-
1599 #
-
1600 # Note that when enabling USE_PDFLATEX this option is only used for generating
-
1601 # bitmaps for formulas in the HTML output, but not in the Makefile that is
-
1602 # written to the output directory.
-
1603 # The default file is: latex.
-
1604 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1605 
-
1606 LATEX_CMD_NAME = latex
-
1607 
-
1608 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
-
1609 # index for LaTeX.
-
1610 # The default file is: makeindex.
-
1611 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1612 
-
1613 MAKEINDEX_CMD_NAME = makeindex
-
1614 
-
1615 # If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
-
1616 # documents. This may be useful for small projects and may help to save some
-
1617 # trees in general.
-
1618 # The default value is: NO.
-
1619 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1620 
-
1621 COMPACT_LATEX = NO
-
1622 
-
1623 # The PAPER_TYPE tag can be used to set the paper type that is used by the
-
1624 # printer.
-
1625 # Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
-
1626 # 14 inches) and executive (7.25 x 10.5 inches).
-
1627 # The default value is: a4.
-
1628 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1629 
-
1630 PAPER_TYPE = a4wide
-
1631 
-
1632 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
-
1633 # that should be included in the LaTeX output. To get the times font for
-
1634 # instance you can specify
-
1635 # EXTRA_PACKAGES=times
-
1636 # If left blank no extra packages will be included.
-
1637 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1638 
-
1639 EXTRA_PACKAGES =
-
1640 
-
1641 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-
1642 # generated LaTeX document. The header should contain everything until the first
-
1643 # chapter. If it is left blank doxygen will generate a standard header. See
-
1644 # section "Doxygen usage" for information on how to let doxygen write the
-
1645 # default header to a separate file.
-
1646 #
-
1647 # Note: Only use a user-defined header if you know what you are doing! The
-
1648 # following commands have a special meaning inside the header: $title,
-
1649 # $datetime, $date, $doxygenversion, $projectname, $projectnumber,
-
1650 # $projectbrief, $projectlogo. Doxygen will replace $title with the empy string,
-
1651 # for the replacement values of the other commands the user is refered to
-
1652 # HTML_HEADER.
-
1653 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1654 
-
1655 LATEX_HEADER =
-
1656 
-
1657 # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-
1658 # generated LaTeX document. The footer should contain everything after the last
-
1659 # chapter. If it is left blank doxygen will generate a standard footer. See
-
1660 # LATEX_HEADER for more information on how to generate a default footer and what
-
1661 # special commands can be used inside the footer.
-
1662 #
-
1663 # Note: Only use a user-defined footer if you know what you are doing!
-
1664 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1665 
-
1666 LATEX_FOOTER =
-
1667 
-
1668 # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
-
1669 # other source files which should be copied to the LATEX_OUTPUT output
-
1670 # directory. Note that the files will be copied as-is; there are no commands or
-
1671 # markers available.
-
1672 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1673 
-
1674 LATEX_EXTRA_FILES =
-
1675 
-
1676 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
-
1677 # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
-
1678 # contain links (just like the HTML output) instead of page references. This
-
1679 # makes the output suitable for online browsing using a PDF viewer.
-
1680 # The default value is: YES.
-
1681 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1682 
-
1683 PDF_HYPERLINKS = NO
-
1684 
-
1685 # If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-
1686 # the PDF file directly from the LaTeX files. Set this option to YES to get a
-
1687 # higher quality PDF documentation.
-
1688 # The default value is: YES.
-
1689 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1690 
-
1691 USE_PDFLATEX = YES
-
1692 
-
1693 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
-
1694 # command to the generated LaTeX files. This will instruct LaTeX to keep running
-
1695 # if errors occur, instead of asking the user for help. This option is also used
-
1696 # when generating formulas in HTML.
-
1697 # The default value is: NO.
-
1698 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1699 
-
1700 LATEX_BATCHMODE = NO
-
1701 
-
1702 # If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
-
1703 # index chapters (such as File Index, Compound Index, etc.) in the output.
-
1704 # The default value is: NO.
-
1705 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1706 
-
1707 LATEX_HIDE_INDICES = NO
-
1708 
-
1709 # If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
-
1710 # code with syntax highlighting in the LaTeX output.
-
1711 #
-
1712 # Note that which sources are shown also depends on other settings such as
-
1713 # SOURCE_BROWSER.
-
1714 # The default value is: NO.
-
1715 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1716 
-
1717 LATEX_SOURCE_CODE = NO
-
1718 
-
1719 # The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-
1720 # bibliography, e.g. plainnat, or ieeetr. See
-
1721 # http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
-
1722 # The default value is: plain.
-
1723 # This tag requires that the tag GENERATE_LATEX is set to YES.
-
1724 
-
1725 LATEX_BIB_STYLE = plain
-
1726 
-
1727 #---------------------------------------------------------------------------
-
1728 # Configuration options related to the RTF output
-
1729 #---------------------------------------------------------------------------
-
1730 
-
1731 # If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
-
1732 # RTF output is optimized for Word 97 and may not look too pretty with other RTF
-
1733 # readers/editors.
-
1734 # The default value is: NO.
-
1735 
-
1736 GENERATE_RTF = NO
-
1737 
-
1738 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
-
1739 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-
1740 # it.
-
1741 # The default directory is: rtf.
-
1742 # This tag requires that the tag GENERATE_RTF is set to YES.
-
1743 
-
1744 RTF_OUTPUT = glm.rtf
-
1745 
-
1746 # If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
-
1747 # documents. This may be useful for small projects and may help to save some
-
1748 # trees in general.
-
1749 # The default value is: NO.
-
1750 # This tag requires that the tag GENERATE_RTF is set to YES.
-
1751 
-
1752 COMPACT_RTF = NO
-
1753 
-
1754 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
-
1755 # contain hyperlink fields. The RTF file will contain links (just like the HTML
-
1756 # output) instead of page references. This makes the output suitable for online
-
1757 # browsing using Word or some other Word compatible readers that support those
-
1758 # fields.
-
1759 #
-
1760 # Note: WordPad (write) and others do not support links.
-
1761 # The default value is: NO.
-
1762 # This tag requires that the tag GENERATE_RTF is set to YES.
-
1763 
-
1764 RTF_HYPERLINKS = YES
-
1765 
-
1766 # Load stylesheet definitions from file. Syntax is similar to doxygen's config
-
1767 # file, i.e. a series of assignments. You only have to provide replacements,
-
1768 # missing definitions are set to their default value.
-
1769 #
-
1770 # See also section "Doxygen usage" for information on how to generate the
-
1771 # default style sheet that doxygen normally uses.
-
1772 # This tag requires that the tag GENERATE_RTF is set to YES.
-
1773 
-
1774 RTF_STYLESHEET_FILE =
-
1775 
-
1776 # Set optional variables used in the generation of an RTF document. Syntax is
-
1777 # similar to doxygen's config file. A template extensions file can be generated
-
1778 # using doxygen -e rtf extensionFile.
-
1779 # This tag requires that the tag GENERATE_RTF is set to YES.
-
1780 
-
1781 RTF_EXTENSIONS_FILE =
-
1782 
-
1783 #---------------------------------------------------------------------------
-
1784 # Configuration options related to the man page output
-
1785 #---------------------------------------------------------------------------
-
1786 
-
1787 # If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
-
1788 # classes and files.
-
1789 # The default value is: NO.
-
1790 
-
1791 GENERATE_MAN = NO
-
1792 
-
1793 # The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
-
1794 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-
1795 # it. A directory man3 will be created inside the directory specified by
-
1796 # MAN_OUTPUT.
-
1797 # The default directory is: man.
-
1798 # This tag requires that the tag GENERATE_MAN is set to YES.
-
1799 
-
1800 MAN_OUTPUT = man
-
1801 
-
1802 # The MAN_EXTENSION tag determines the extension that is added to the generated
-
1803 # man pages. In case the manual section does not start with a number, the number
-
1804 # 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
-
1805 # optional.
-
1806 # The default value is: .3.
-
1807 # This tag requires that the tag GENERATE_MAN is set to YES.
-
1808 
-
1809 MAN_EXTENSION = .3
-
1810 
-
1811 # The MAN_SUBDIR tag determines the name of the directory created within
-
1812 # MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
-
1813 # MAN_EXTENSION with the initial . removed.
-
1814 # This tag requires that the tag GENERATE_MAN is set to YES.
-
1815 
-
1816 MAN_SUBDIR =
-
1817 
-
1818 # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
-
1819 # will generate one additional man file for each entity documented in the real
-
1820 # man page(s). These additional files only source the real man page, but without
-
1821 # them the man command would be unable to find the correct page.
-
1822 # The default value is: NO.
-
1823 # This tag requires that the tag GENERATE_MAN is set to YES.
-
1824 
-
1825 MAN_LINKS = NO
-
1826 
-
1827 #---------------------------------------------------------------------------
-
1828 # Configuration options related to the XML output
-
1829 #---------------------------------------------------------------------------
-
1830 
-
1831 # If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
-
1832 # captures the structure of the code including all documentation.
-
1833 # The default value is: NO.
-
1834 
-
1835 GENERATE_XML = NO
-
1836 
-
1837 # The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
-
1838 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-
1839 # it.
-
1840 # The default directory is: xml.
-
1841 # This tag requires that the tag GENERATE_XML is set to YES.
-
1842 
-
1843 XML_OUTPUT = xml
-
1844 
-
1845 # If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
-
1846 # listings (including syntax highlighting and cross-referencing information) to
-
1847 # the XML output. Note that enabling this will significantly increase the size
-
1848 # of the XML output.
-
1849 # The default value is: YES.
-
1850 # This tag requires that the tag GENERATE_XML is set to YES.
-
1851 
-
1852 XML_PROGRAMLISTING = YES
-
1853 
-
1854 #---------------------------------------------------------------------------
-
1855 # Configuration options related to the DOCBOOK output
-
1856 #---------------------------------------------------------------------------
-
1857 
-
1858 # If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
-
1859 # that can be used to generate PDF.
-
1860 # The default value is: NO.
-
1861 
-
1862 GENERATE_DOCBOOK = NO
-
1863 
-
1864 # The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
-
1865 # If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
-
1866 # front of it.
-
1867 # The default directory is: docbook.
-
1868 # This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
1869 
-
1870 DOCBOOK_OUTPUT = docbook
-
1871 
-
1872 # If the DOCBOOK_PROGRAMLISTING tag is set to YES doxygen will include the
-
1873 # program listings (including syntax highlighting and cross-referencing
-
1874 # information) to the DOCBOOK output. Note that enabling this will significantly
-
1875 # increase the size of the DOCBOOK output.
-
1876 # The default value is: NO.
-
1877 # This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
1878 
-
1879 DOCBOOK_PROGRAMLISTING = NO
-
1880 
-
1881 #---------------------------------------------------------------------------
-
1882 # Configuration options for the AutoGen Definitions output
-
1883 #---------------------------------------------------------------------------
-
1884 
-
1885 # If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
-
1886 # Definitions (see http://autogen.sf.net) file that captures the structure of
-
1887 # the code including all documentation. Note that this feature is still
-
1888 # experimental and incomplete at the moment.
-
1889 # The default value is: NO.
-
1890 
-
1891 GENERATE_AUTOGEN_DEF = NO
-
1892 
-
1893 #---------------------------------------------------------------------------
-
1894 # Configuration options related to the Perl module output
-
1895 #---------------------------------------------------------------------------
-
1896 
-
1897 # If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
-
1898 # file that captures the structure of the code including all documentation.
-
1899 #
-
1900 # Note that this feature is still experimental and incomplete at the moment.
-
1901 # The default value is: NO.
-
1902 
-
1903 GENERATE_PERLMOD = NO
-
1904 
-
1905 # If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
-
1906 # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
-
1907 # output from the Perl module output.
-
1908 # The default value is: NO.
-
1909 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
1910 
-
1911 PERLMOD_LATEX = NO
-
1912 
-
1913 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
-
1914 # formatted so it can be parsed by a human reader. This is useful if you want to
-
1915 # understand what is going on. On the other hand, if this tag is set to NO the
-
1916 # size of the Perl module output will be much smaller and Perl will parse it
-
1917 # just the same.
-
1918 # The default value is: YES.
-
1919 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
1920 
-
1921 PERLMOD_PRETTY = YES
-
1922 
-
1923 # The names of the make variables in the generated doxyrules.make file are
-
1924 # prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
-
1925 # so different doxyrules.make files included by the same Makefile don't
-
1926 # overwrite each other's variables.
-
1927 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
1928 
-
1929 PERLMOD_MAKEVAR_PREFIX =
-
1930 
-
1931 #---------------------------------------------------------------------------
-
1932 # Configuration options related to the preprocessor
-
1933 #---------------------------------------------------------------------------
-
1934 
-
1935 # If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
-
1936 # C-preprocessor directives found in the sources and include files.
-
1937 # The default value is: YES.
-
1938 
-
1939 ENABLE_PREPROCESSING = YES
-
1940 
-
1941 # If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
-
1942 # in the source code. If set to NO only conditional compilation will be
-
1943 # performed. Macro expansion can be done in a controlled way by setting
-
1944 # EXPAND_ONLY_PREDEF to YES.
-
1945 # The default value is: NO.
-
1946 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
1947 
-
1948 MACRO_EXPANSION = NO
-
1949 
-
1950 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
-
1951 # the macro expansion is limited to the macros specified with the PREDEFINED and
-
1952 # EXPAND_AS_DEFINED tags.
-
1953 # The default value is: NO.
-
1954 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
1955 
-
1956 EXPAND_ONLY_PREDEF = NO
-
1957 
-
1958 # If the SEARCH_INCLUDES tag is set to YES the includes files in the
-
1959 # INCLUDE_PATH will be searched if a #include is found.
-
1960 # The default value is: YES.
-
1961 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
1962 
-
1963 SEARCH_INCLUDES = YES
-
1964 
-
1965 # The INCLUDE_PATH tag can be used to specify one or more directories that
-
1966 # contain include files that are not input files but should be processed by the
-
1967 # preprocessor.
-
1968 # This tag requires that the tag SEARCH_INCLUDES is set to YES.
-
1969 
-
1970 INCLUDE_PATH =
-
1971 
-
1972 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-
1973 # patterns (like *.h and *.hpp) to filter out the header-files in the
-
1974 # directories. If left blank, the patterns specified with FILE_PATTERNS will be
-
1975 # used.
-
1976 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
1977 
-
1978 INCLUDE_FILE_PATTERNS =
-
1979 
-
1980 # The PREDEFINED tag can be used to specify one or more macro names that are
-
1981 # defined before the preprocessor is started (similar to the -D option of e.g.
-
1982 # gcc). The argument of the tag is a list of macros of the form: name or
-
1983 # name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-
1984 # is assumed. To prevent a macro definition from being undefined via #undef or
-
1985 # recursively expanded use the := operator instead of the = operator.
-
1986 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
1987 
-
1988 PREDEFINED =
-
1989 
-
1990 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
-
1991 # tag can be used to specify a list of macro names that should be expanded. The
-
1992 # macro definition that is found in the sources will be used. Use the PREDEFINED
-
1993 # tag if you want to use a different macro definition that overrules the
-
1994 # definition found in the source code.
-
1995 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
1996 
-
1997 EXPAND_AS_DEFINED =
-
1998 
-
1999 # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-
2000 # remove all references to function-like macros that are alone on a line, have
-
2001 # an all uppercase name, and do not end with a semicolon. Such function macros
-
2002 # are typically used for boiler-plate code, and will confuse the parser if not
-
2003 # removed.
-
2004 # The default value is: YES.
-
2005 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
2006 
-
2007 SKIP_FUNCTION_MACROS = YES
-
2008 
-
2009 #---------------------------------------------------------------------------
-
2010 # Configuration options related to external references
-
2011 #---------------------------------------------------------------------------
-
2012 
-
2013 # The TAGFILES tag can be used to specify one or more tag files. For each tag
-
2014 # file the location of the external documentation should be added. The format of
-
2015 # a tag file without this location is as follows:
-
2016 # TAGFILES = file1 file2 ...
-
2017 # Adding location for the tag files is done as follows:
-
2018 # TAGFILES = file1=loc1 "file2 = loc2" ...
-
2019 # where loc1 and loc2 can be relative or absolute paths or URLs. See the
-
2020 # section "Linking to external documentation" for more information about the use
-
2021 # of tag files.
-
2022 # Note: Each tag file must have a unique name (where the name does NOT include
-
2023 # the path). If a tag file is not located in the directory in which doxygen is
-
2024 # run, you must also specify the path to the tagfile here.
-
2025 
-
2026 TAGFILES =
-
2027 
-
2028 # When a file name is specified after GENERATE_TAGFILE, doxygen will create a
-
2029 # tag file that is based on the input files it reads. See section "Linking to
-
2030 # external documentation" for more information about the usage of tag files.
-
2031 
-
2032 GENERATE_TAGFILE =
-
2033 
-
2034 # If the ALLEXTERNALS tag is set to YES all external class will be listed in the
-
2035 # class index. If set to NO only the inherited external classes will be listed.
-
2036 # The default value is: NO.
-
2037 
-
2038 ALLEXTERNALS = NO
-
2039 
-
2040 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
-
2041 # the modules index. If set to NO, only the current project's groups will be
-
2042 # listed.
-
2043 # The default value is: YES.
-
2044 
-
2045 EXTERNAL_GROUPS = YES
-
2046 
-
2047 # If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
-
2048 # the related pages index. If set to NO, only the current project's pages will
-
2049 # be listed.
-
2050 # The default value is: YES.
-
2051 
-
2052 EXTERNAL_PAGES = YES
-
2053 
-
2054 # The PERL_PATH should be the absolute path and name of the perl script
-
2055 # interpreter (i.e. the result of 'which perl').
-
2056 # The default file (with absolute path) is: /usr/bin/perl.
-
2057 
-
2058 PERL_PATH = /usr/bin/perl
-
2059 
-
2060 #---------------------------------------------------------------------------
-
2061 # Configuration options related to the dot tool
-
2062 #---------------------------------------------------------------------------
-
2063 
-
2064 # If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
-
2065 # (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
-
2066 # NO turns the diagrams off. Note that this option also works with HAVE_DOT
-
2067 # disabled, but it is recommended to install and use dot, since it yields more
-
2068 # powerful graphs.
-
2069 # The default value is: YES.
-
2070 
-
2071 CLASS_DIAGRAMS = YES
-
2072 
-
2073 # You can define message sequence charts within doxygen comments using the \msc
-
2074 # command. Doxygen will then run the mscgen tool (see:
-
2075 # http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-
2076 # documentation. The MSCGEN_PATH tag allows you to specify the directory where
-
2077 # the mscgen tool resides. If left empty the tool is assumed to be found in the
-
2078 # default search path.
-
2079 
-
2080 MSCGEN_PATH =
-
2081 
-
2082 # You can include diagrams made with dia in doxygen documentation. Doxygen will
-
2083 # then run dia to produce the diagram and insert it in the documentation. The
-
2084 # DIA_PATH tag allows you to specify the directory where the dia binary resides.
-
2085 # If left empty dia is assumed to be found in the default search path.
-
2086 
-
2087 DIA_PATH =
-
2088 
-
2089 # If set to YES, the inheritance and collaboration graphs will hide inheritance
-
2090 # and usage relations if the target is undocumented or is not a class.
-
2091 # The default value is: YES.
-
2092 
-
2093 HIDE_UNDOC_RELATIONS = YES
-
2094 
-
2095 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-
2096 # available from the path. This tool is part of Graphviz (see:
-
2097 # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
-
2098 # Bell Labs. The other options in this section have no effect if this option is
-
2099 # set to NO
-
2100 # The default value is: NO.
-
2101 
-
2102 HAVE_DOT = NO
-
2103 
-
2104 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
-
2105 # to run in parallel. When set to 0 doxygen will base this on the number of
-
2106 # processors available in the system. You can set it explicitly to a value
-
2107 # larger than 0 to get control over the balance between CPU load and processing
-
2108 # speed.
-
2109 # Minimum value: 0, maximum value: 32, default value: 0.
-
2110 # This tag requires that the tag HAVE_DOT is set to YES.
-
2111 
-
2112 DOT_NUM_THREADS = 0
-
2113 
-
2114 # When you want a differently looking font in the dot files that doxygen
-
2115 # generates you can specify the font name using DOT_FONTNAME. You need to make
-
2116 # sure dot is able to find the font, which can be done by putting it in a
-
2117 # standard location or by setting the DOTFONTPATH environment variable or by
-
2118 # setting DOT_FONTPATH to the directory containing the font.
-
2119 # The default value is: Helvetica.
-
2120 # This tag requires that the tag HAVE_DOT is set to YES.
-
2121 
-
2122 DOT_FONTNAME =
-
2123 
-
2124 # The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-
2125 # dot graphs.
-
2126 # Minimum value: 4, maximum value: 24, default value: 10.
-
2127 # This tag requires that the tag HAVE_DOT is set to YES.
-
2128 
-
2129 DOT_FONTSIZE = 10
-
2130 
-
2131 # By default doxygen will tell dot to use the default font as specified with
-
2132 # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-
2133 # the path where dot can find it using this tag.
-
2134 # This tag requires that the tag HAVE_DOT is set to YES.
-
2135 
-
2136 DOT_FONTPATH =
-
2137 
-
2138 # If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-
2139 # each documented class showing the direct and indirect inheritance relations.
-
2140 # Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
-
2141 # The default value is: YES.
-
2142 # This tag requires that the tag HAVE_DOT is set to YES.
-
2143 
-
2144 CLASS_GRAPH = YES
-
2145 
-
2146 # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
-
2147 # graph for each documented class showing the direct and indirect implementation
-
2148 # dependencies (inheritance, containment, and class references variables) of the
-
2149 # class with other documented classes.
-
2150 # The default value is: YES.
-
2151 # This tag requires that the tag HAVE_DOT is set to YES.
-
2152 
-
2153 COLLABORATION_GRAPH = YES
-
2154 
-
2155 # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-
2156 # groups, showing the direct groups dependencies.
-
2157 # The default value is: YES.
-
2158 # This tag requires that the tag HAVE_DOT is set to YES.
-
2159 
-
2160 GROUP_GRAPHS = YES
-
2161 
-
2162 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-
2163 # collaboration diagrams in a style similar to the OMG's Unified Modeling
-
2164 # Language.
-
2165 # The default value is: NO.
-
2166 # This tag requires that the tag HAVE_DOT is set to YES.
-
2167 
-
2168 UML_LOOK = NO
-
2169 
-
2170 # If the UML_LOOK tag is enabled, the fields and methods are shown inside the
-
2171 # class node. If there are many fields or methods and many nodes the graph may
-
2172 # become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
-
2173 # number of items for each type to make the size more manageable. Set this to 0
-
2174 # for no limit. Note that the threshold may be exceeded by 50% before the limit
-
2175 # is enforced. So when you set the threshold to 10, up to 15 fields may appear,
-
2176 # but if the number exceeds 15, the total amount of fields shown is limited to
-
2177 # 10.
-
2178 # Minimum value: 0, maximum value: 100, default value: 10.
-
2179 # This tag requires that the tag HAVE_DOT is set to YES.
-
2180 
-
2181 UML_LIMIT_NUM_FIELDS = 10
-
2182 
-
2183 # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
-
2184 # collaboration graphs will show the relations between templates and their
-
2185 # instances.
-
2186 # The default value is: NO.
-
2187 # This tag requires that the tag HAVE_DOT is set to YES.
-
2188 
-
2189 TEMPLATE_RELATIONS = NO
-
2190 
-
2191 # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
-
2192 # YES then doxygen will generate a graph for each documented file showing the
-
2193 # direct and indirect include dependencies of the file with other documented
-
2194 # files.
-
2195 # The default value is: YES.
-
2196 # This tag requires that the tag HAVE_DOT is set to YES.
-
2197 
-
2198 INCLUDE_GRAPH = YES
-
2199 
-
2200 # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
-
2201 # set to YES then doxygen will generate a graph for each documented file showing
-
2202 # the direct and indirect include dependencies of the file with other documented
-
2203 # files.
-
2204 # The default value is: YES.
-
2205 # This tag requires that the tag HAVE_DOT is set to YES.
-
2206 
-
2207 INCLUDED_BY_GRAPH = YES
-
2208 
-
2209 # If the CALL_GRAPH tag is set to YES then doxygen will generate a call
-
2210 # dependency graph for every global function or class method.
-
2211 #
-
2212 # Note that enabling this option will significantly increase the time of a run.
-
2213 # So in most cases it will be better to enable call graphs for selected
-
2214 # functions only using the \callgraph command.
-
2215 # The default value is: NO.
-
2216 # This tag requires that the tag HAVE_DOT is set to YES.
-
2217 
-
2218 CALL_GRAPH = YES
-
2219 
-
2220 # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
-
2221 # dependency graph for every global function or class method.
-
2222 #
-
2223 # Note that enabling this option will significantly increase the time of a run.
-
2224 # So in most cases it will be better to enable caller graphs for selected
-
2225 # functions only using the \callergraph command.
-
2226 # The default value is: NO.
-
2227 # This tag requires that the tag HAVE_DOT is set to YES.
-
2228 
-
2229 CALLER_GRAPH = YES
-
2230 
-
2231 # If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
-
2232 # hierarchy of all classes instead of a textual one.
-
2233 # The default value is: YES.
-
2234 # This tag requires that the tag HAVE_DOT is set to YES.
-
2235 
-
2236 GRAPHICAL_HIERARCHY = YES
-
2237 
-
2238 # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
-
2239 # dependencies a directory has on other directories in a graphical way. The
-
2240 # dependency relations are determined by the #include relations between the
-
2241 # files in the directories.
-
2242 # The default value is: YES.
-
2243 # This tag requires that the tag HAVE_DOT is set to YES.
-
2244 
-
2245 DIRECTORY_GRAPH = YES
-
2246 
-
2247 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-
2248 # generated by dot.
-
2249 # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
-
2250 # to make the SVG files visible in IE 9+ (other browsers do not have this
-
2251 # requirement).
-
2252 # Possible values are: png, jpg, gif and svg.
-
2253 # The default value is: png.
-
2254 # This tag requires that the tag HAVE_DOT is set to YES.
-
2255 
-
2256 DOT_IMAGE_FORMAT = png
-
2257 
-
2258 # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-
2259 # enable generation of interactive SVG images that allow zooming and panning.
-
2260 #
-
2261 # Note that this requires a modern browser other than Internet Explorer. Tested
-
2262 # and working are Firefox, Chrome, Safari, and Opera.
-
2263 # Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-
2264 # the SVG files visible. Older versions of IE do not have SVG support.
-
2265 # The default value is: NO.
-
2266 # This tag requires that the tag HAVE_DOT is set to YES.
-
2267 
-
2268 INTERACTIVE_SVG = NO
-
2269 
-
2270 # The DOT_PATH tag can be used to specify the path where the dot tool can be
-
2271 # found. If left blank, it is assumed the dot tool can be found in the path.
-
2272 # This tag requires that the tag HAVE_DOT is set to YES.
-
2273 
-
2274 DOT_PATH =
-
2275 
-
2276 # The DOTFILE_DIRS tag can be used to specify one or more directories that
-
2277 # contain dot files that are included in the documentation (see the \dotfile
-
2278 # command).
-
2279 # This tag requires that the tag HAVE_DOT is set to YES.
-
2280 
-
2281 DOTFILE_DIRS =
-
2282 
-
2283 # The MSCFILE_DIRS tag can be used to specify one or more directories that
-
2284 # contain msc files that are included in the documentation (see the \mscfile
-
2285 # command).
-
2286 
-
2287 MSCFILE_DIRS =
-
2288 
-
2289 # The DIAFILE_DIRS tag can be used to specify one or more directories that
-
2290 # contain dia files that are included in the documentation (see the \diafile
-
2291 # command).
-
2292 
-
2293 DIAFILE_DIRS =
-
2294 
-
2295 # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
-
2296 # path where java can find the plantuml.jar file. If left blank, it is assumed
-
2297 # PlantUML is not used or called during a preprocessing step. Doxygen will
-
2298 # generate a warning when it encounters a \startuml command in this case and
-
2299 # will not generate output for the diagram.
-
2300 # This tag requires that the tag HAVE_DOT is set to YES.
-
2301 
-
2302 PLANTUML_JAR_PATH =
-
2303 
-
2304 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-
2305 # that will be shown in the graph. If the number of nodes in a graph becomes
-
2306 # larger than this value, doxygen will truncate the graph, which is visualized
-
2307 # by representing a node as a red box. Note that doxygen if the number of direct
-
2308 # children of the root node in a graph is already larger than
-
2309 # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-
2310 # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
2311 # Minimum value: 0, maximum value: 10000, default value: 50.
-
2312 # This tag requires that the tag HAVE_DOT is set to YES.
-
2313 
-
2314 DOT_GRAPH_MAX_NODES = 50
-
2315 
-
2316 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
-
2317 # generated by dot. A depth value of 3 means that only nodes reachable from the
-
2318 # root by following a path via at most 3 edges will be shown. Nodes that lay
-
2319 # further from the root node will be omitted. Note that setting this option to 1
-
2320 # or 2 may greatly reduce the computation time needed for large code bases. Also
-
2321 # note that the size of a graph can be further restricted by
-
2322 # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
2323 # Minimum value: 0, maximum value: 1000, default value: 0.
-
2324 # This tag requires that the tag HAVE_DOT is set to YES.
-
2325 
-
2326 MAX_DOT_GRAPH_DEPTH = 1000
-
2327 
-
2328 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-
2329 # background. This is disabled by default, because dot on Windows does not seem
-
2330 # to support this out of the box.
-
2331 #
-
2332 # Warning: Depending on the platform used, enabling this option may lead to
-
2333 # badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-
2334 # read).
-
2335 # The default value is: NO.
-
2336 # This tag requires that the tag HAVE_DOT is set to YES.
-
2337 
-
2338 DOT_TRANSPARENT = NO
-
2339 
-
2340 # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-
2341 # files in one run (i.e. multiple -o and -T options on the command line). This
-
2342 # makes dot run faster, but since only newer versions of dot (>1.8.10) support
-
2343 # this, this feature is disabled by default.
-
2344 # The default value is: NO.
-
2345 # This tag requires that the tag HAVE_DOT is set to YES.
-
2346 
-
2347 DOT_MULTI_TARGETS = NO
-
2348 
-
2349 # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
-
2350 # explaining the meaning of the various boxes and arrows in the dot generated
-
2351 # graphs.
-
2352 # The default value is: YES.
-
2353 # This tag requires that the tag HAVE_DOT is set to YES.
-
2354 
-
2355 GENERATE_LEGEND = YES
-
2356 
-
2357 # If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
-
2358 # files that are used to generate the various graphs.
-
2359 # The default value is: YES.
-
2360 # This tag requires that the tag HAVE_DOT is set to YES.
-
2361 
-
2362 DOT_CLEANUP = YES
-
Definition: _noise.hpp:39
+
230 }//namespace glm
+
231 
+
232 #include "io.inl"
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00056.html b/doc/api/a00056.html index d2882fb3..e53bdf58 100644 --- a/doc/api/a00056.html +++ b/doc/api/a00056.html @@ -3,8 +3,8 @@ - -0.9.6: mat2x2.hpp File Reference + +0.9.7: log_base.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
mat2x2.hpp File Reference
+
log_base.hpp File Reference

Go to the source code of this file.

+ + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType log (genType x, genType base)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x, vecType< T, P > const &base)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_log_base

+
Date
2008-10-24 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-

Definition in file mat2x2.hpp.

+

Definition in file log_base.hpp.

diff --git a/doc/api/a00056_source.html b/doc/api/a00056_source.html index 876c425e..e40f9cd3 100644 --- a/doc/api/a00056_source.html +++ b/doc/api/a00056_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat2x2.hpp Source File + +0.9.7: log_base.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat2x2.hpp
+
log_base.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "detail/type_mat2x2.hpp"
-
36 
-
37 namespace glm
-
38 {
-
44  typedef tmat2x2<float, lowp> lowp_mat2;
-
45 
-
51  typedef tmat2x2<float, mediump> mediump_mat2;
-
52 
-
58  typedef tmat2x2<float, highp> highp_mat2;
-
59 
-
65  typedef tmat2x2<float, lowp> lowp_mat2x2;
-
66 
-
72  typedef tmat2x2<float, mediump> mediump_mat2x2;
-
73 
-
79  typedef tmat2x2<float, highp> highp_mat2x2;
-
80 
-
81 }//namespace glm
-
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:72
-
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
-
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
-
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
-
OpenGL Mathematics (glm.g-truc.net)
-
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:65
-
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:79
-
Definition: _noise.hpp:39
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_log_base extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename genType>
+
59  GLM_FUNC_DECL genType log(
+
60  genType x,
+
61  genType base);
+
62 
+
65  template <typename T, precision P, template <typename, precision> class vecType>
+
66  GLM_FUNC_DECL vecType<T, P> sign(
+
67  vecType<T, P> const & x,
+
68  vecType<T, P> const & base);
+
69 
+
71 }//namespace glm
+
72 
+
73 #include "log_base.inl"
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< T, P > sign(vecType< T, P > const &x, vecType< T, P > const &base)
Logarithm for any base.
+
GLM_FUNC_DECL genType log(genType x, genType base)
Logarithm for any base.
diff --git a/doc/api/a00057_source.html b/doc/api/a00057_source.html index d829ed6d..6785d38e 100644 --- a/doc/api/a00057_source.html +++ b/doc/api/a00057_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat2x3.hpp Source File + +0.9.7: man.doxy Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat2x3.hpp
+
man.doxy
-Go to the documentation of this file.
1 
-
33 #pragma once
+
1 # Doxyfile 1.8.10
+
2 
+
3 # This file describes the settings to be used by the documentation system
+
4 # doxygen (www.doxygen.org) for a project.
+
5 #
+
6 # All text after a double hash (##) is considered a comment and is placed in
+
7 # front of the TAG it is preceding.
+
8 #
+
9 # All text after a single hash (#) is considered a comment and will be ignored.
+
10 # The format is:
+
11 # TAG = value [value, ...]
+
12 # For lists, items can also be appended using:
+
13 # TAG += value [value, ...]
+
14 # Values that contain spaces should be placed between quotes (\" \").
+
15 
+
16 #---------------------------------------------------------------------------
+
17 # Project related configuration options
+
18 #---------------------------------------------------------------------------
+
19 
+
20 # This tag specifies the encoding used for all characters in the config file
+
21 # that follow. The default is UTF-8 which is also the encoding used for all text
+
22 # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+
23 # built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+
24 # for the list of possible encodings.
+
25 # The default value is: UTF-8.
+
26 
+
27 DOXYFILE_ENCODING = UTF-8
+
28 
+
29 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+
30 # double-quotes, unless you are using Doxywizard) that should identify the
+
31 # project for which the documentation is generated. This name is used in the
+
32 # title of most generated pages and in a few other places.
+
33 # The default value is: My Project.
34 
-
35 #include "detail/type_mat2x3.hpp"
+
35 PROJECT_NAME = 0.9.7
36 
-
37 namespace glm
-
38 {
-
44  typedef tmat2x3<float, lowp> lowp_mat2x3;
-
45 
-
51  typedef tmat2x3<float, mediump> mediump_mat2x3;
-
52 
-
58  typedef tmat2x3<float, highp> highp_mat2x3;
-
59 
-
60 }//namespace glm
-
61 
-
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
-
OpenGL Mathematics (glm.g-truc.net)
-
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
-
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
-
Definition: _noise.hpp:39
+
37 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+
38 # could be handy for archiving the generated documentation or if some version
+
39 # control system is used.
+
40 
+
41 PROJECT_NUMBER =
+
42 
+
43 # Using the PROJECT_BRIEF tag one can provide an optional one line description
+
44 # for a project that appears at the top of each page and should give viewer a
+
45 # quick idea about the purpose of the project. Keep the description short.
+
46 
+
47 PROJECT_BRIEF =
+
48 
+
49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+
50 # in the documentation. The maximum height of the logo should not exceed 55
+
51 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+
52 # the logo to the output directory.
+
53 
+
54 PROJECT_LOGO = E:/Source/G-Truc/glm/doc/logo.png
+
55 
+
56 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+
57 # into which the generated documentation will be written. If a relative path is
+
58 # entered, it will be relative to the location where doxygen was started. If
+
59 # left blank the current directory will be used.
+
60 
+
61 OUTPUT_DIRECTORY = .
+
62 
+
63 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
+
64 # directories (in 2 levels) under the output directory of each output format and
+
65 # will distribute the generated files over these directories. Enabling this
+
66 # option can be useful when feeding doxygen a huge amount of source files, where
+
67 # putting all generated files in the same directory would otherwise causes
+
68 # performance problems for the file system.
+
69 # The default value is: NO.
+
70 
+
71 CREATE_SUBDIRS = NO
+
72 
+
73 # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+
74 # characters to appear in the names of generated files. If set to NO, non-ASCII
+
75 # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+
76 # U+3044.
+
77 # The default value is: NO.
+
78 
+
79 ALLOW_UNICODE_NAMES = NO
+
80 
+
81 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
+
82 # documentation generated by doxygen is written. Doxygen will use this
+
83 # information to generate all constant output in the proper language.
+
84 # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+
85 # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+
86 # Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+
87 # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+
88 # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+
89 # Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+
90 # Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+
91 # Ukrainian and Vietnamese.
+
92 # The default value is: English.
+
93 
+
94 OUTPUT_LANGUAGE = English
+
95 
+
96 # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+
97 # descriptions after the members that are listed in the file and class
+
98 # documentation (similar to Javadoc). Set to NO to disable this.
+
99 # The default value is: YES.
+
100 
+
101 BRIEF_MEMBER_DESC = NO
+
102 
+
103 # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+
104 # description of a member or function before the detailed description
+
105 #
+
106 # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+
107 # brief descriptions will be completely suppressed.
+
108 # The default value is: YES.
+
109 
+
110 REPEAT_BRIEF = YES
+
111 
+
112 # This tag implements a quasi-intelligent brief description abbreviator that is
+
113 # used to form the text in various listings. Each string in this list, if found
+
114 # as the leading text of the brief description, will be stripped from the text
+
115 # and the result, after processing the whole list, is used as the annotated
+
116 # text. Otherwise, the brief description is used as-is. If left blank, the
+
117 # following values are used ($name is automatically replaced with the name of
+
118 # the entity):The $name class, The $name widget, The $name file, is, provides,
+
119 # specifies, contains, represents, a, an and the.
+
120 
+
121 ABBREVIATE_BRIEF = "The $name class " \
+
122  "The $name widget " \
+
123  "The $name file " \
+
124  is \
+
125  provides \
+
126  specifies \
+
127  contains \
+
128  represents \
+
129  a \
+
130  an \
+
131  the
+
132 
+
133 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+
134 # doxygen will generate a detailed section even if there is only a brief
+
135 # description.
+
136 # The default value is: NO.
+
137 
+
138 ALWAYS_DETAILED_SEC = NO
+
139 
+
140 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+
141 # inherited members of a class in the documentation of that class as if those
+
142 # members were ordinary class members. Constructors, destructors and assignment
+
143 # operators of the base classes will not be shown.
+
144 # The default value is: NO.
+
145 
+
146 INLINE_INHERITED_MEMB = NO
+
147 
+
148 # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+
149 # before files name in the file list and in the header files. If set to NO the
+
150 # shortest path that makes the file name unique will be used
+
151 # The default value is: YES.
+
152 
+
153 FULL_PATH_NAMES = NO
+
154 
+
155 # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+
156 # Stripping is only done if one of the specified strings matches the left-hand
+
157 # part of the path. The tag can be used to show relative paths in the file list.
+
158 # If left blank the directory from which doxygen is run is used as the path to
+
159 # strip.
+
160 #
+
161 # Note that you can specify absolute paths here, but also relative paths, which
+
162 # will be relative from the directory where doxygen is started.
+
163 # This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
164 
+
165 STRIP_FROM_PATH = "C:/Documents and Settings/Groove/ "
+
166 
+
167 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+
168 # path mentioned in the documentation of a class, which tells the reader which
+
169 # header file to include in order to use a class. If left blank only the name of
+
170 # the header file containing the class definition is used. Otherwise one should
+
171 # specify the list of include paths that are normally passed to the compiler
+
172 # using the -I flag.
+
173 
+
174 STRIP_FROM_INC_PATH =
+
175 
+
176 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+
177 # less readable) file names. This can be useful is your file systems doesn't
+
178 # support long names like on DOS, Mac, or CD-ROM.
+
179 # The default value is: NO.
+
180 
+
181 SHORT_NAMES = YES
+
182 
+
183 # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+
184 # first line (until the first dot) of a Javadoc-style comment as the brief
+
185 # description. If set to NO, the Javadoc-style will behave just like regular Qt-
+
186 # style comments (thus requiring an explicit @brief command for a brief
+
187 # description.)
+
188 # The default value is: NO.
+
189 
+
190 JAVADOC_AUTOBRIEF = YES
+
191 
+
192 # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+
193 # line (until the first dot) of a Qt-style comment as the brief description. If
+
194 # set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+
195 # requiring an explicit \brief command for a brief description.)
+
196 # The default value is: NO.
+
197 
+
198 QT_AUTOBRIEF = NO
+
199 
+
200 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+
201 # multi-line C++ special comment block (i.e. a block of
+
202 # a brief description. This used to be the default behavior. The new default is
+
203 # to treat a multi-line C++ comment block as a detailed description. Set this
+
204 # tag to YES if you prefer the old behavior instead.
+
205 #
+
206 # Note that setting this tag to YES also means that rational rose comments are
+
207 # not recognized any more.
+
208 # The default value is: NO.
+
209 
+
210 MULTILINE_CPP_IS_BRIEF = NO
+
211 
+
212 # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+
213 # documentation from any documented member that it re-implements.
+
214 # The default value is: YES.
+
215 
+
216 INHERIT_DOCS = YES
+
217 
+
218 # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+
219 # page for each member. If set to NO, the documentation of a member will be part
+
220 # of the file/class/namespace that contains it.
+
221 # The default value is: NO.
+
222 
+
223 SEPARATE_MEMBER_PAGES = NO
+
224 
+
225 # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+
226 # uses this value to replace tabs by spaces in code fragments.
+
227 # Minimum value: 1, maximum value: 16, default value: 4.
+
228 
+
229 TAB_SIZE = 8
+
230 
+
231 # This tag can be used to specify a number of aliases that act as commands in
+
232 # the documentation. An alias has the form:
+
233 # name=value
+
234 # For example adding
+
235 # "sideeffect=@par Side Effects:\n"
+
236 # will allow you to put the command \sideeffect (or @sideeffect) in the
+
237 # documentation, which will result in a user-defined paragraph with heading
+
238 # "Side Effects:". You can put \n's in the value part of an alias to insert
+
239 # newlines.
+
240 
+
241 ALIASES =
+
242 
+
243 # This tag can be used to specify a number of word-keyword mappings (TCL only).
+
244 # A mapping has the form "name=value". For example adding "class=itcl::class"
+
245 # will allow you to use the command class in the itcl::class meaning.
+
246 
+
247 TCL_SUBST =
+
248 
+
249 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+
250 # only. Doxygen will then generate output that is more tailored for C. For
+
251 # instance, some of the names that are used will be different. The list of all
+
252 # members will be omitted, etc.
+
253 # The default value is: NO.
+
254 
+
255 OPTIMIZE_OUTPUT_FOR_C = NO
+
256 
+
257 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+
258 # Python sources only. Doxygen will then generate output that is more tailored
+
259 # for that language. For instance, namespaces will be presented as packages,
+
260 # qualified scopes will look different, etc.
+
261 # The default value is: NO.
+
262 
+
263 OPTIMIZE_OUTPUT_JAVA = NO
+
264 
+
265 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+
266 # sources. Doxygen will then generate output that is tailored for Fortran.
+
267 # The default value is: NO.
+
268 
+
269 OPTIMIZE_FOR_FORTRAN = NO
+
270 
+
271 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+
272 # sources. Doxygen will then generate output that is tailored for VHDL.
+
273 # The default value is: NO.
+
274 
+
275 OPTIMIZE_OUTPUT_VHDL = NO
+
276 
+
277 # Doxygen selects the parser to use depending on the extension of the files it
+
278 # parses. With this tag you can assign which parser to use for a given
+
279 # extension. Doxygen has a built-in mapping, but you can override or extend it
+
280 # using this tag. The format is ext=language, where ext is a file extension, and
+
281 # language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+
282 # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+
283 # FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+
284 # Fortran. In the later case the parser tries to guess whether the code is fixed
+
285 # or free formatted code, this is the default for Fortran type files), VHDL. For
+
286 # instance to make doxygen treat .inc files as Fortran files (default is PHP),
+
287 # and .f files as C (default is Fortran), use: inc=Fortran f=C.
+
288 #
+
289 # Note: For files without extension you can use no_extension as a placeholder.
+
290 #
+
291 # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+
292 # the files are not read by doxygen.
+
293 
+
294 EXTENSION_MAPPING =
+
295 
+
296 # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+
297 # according to the Markdown format, which allows for more readable
+
298 # documentation. See http://daringfireball.net/projects/markdown/ for details.
+
299 # The output of markdown processing is further processed by doxygen, so you can
+
300 # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+
301 # case of backward compatibilities issues.
+
302 # The default value is: YES.
+
303 
+
304 MARKDOWN_SUPPORT = YES
+
305 
+
306 # When enabled doxygen tries to link words that correspond to documented
+
307 # classes, or namespaces to their corresponding documentation. Such a link can
+
308 # be prevented in individual cases by putting a % sign in front of the word or
+
309 # globally by setting AUTOLINK_SUPPORT to NO.
+
310 # The default value is: YES.
+
311 
+
312 AUTOLINK_SUPPORT = YES
+
313 
+
314 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+
315 # to include (a tag file for) the STL sources as input, then you should set this
+
316 # tag to YES in order to let doxygen match functions declarations and
+
317 # definitions whose arguments contain STL classes (e.g. func(std::string);
+
318 # versus func(std::string) {}). This also make the inheritance and collaboration
+
319 # diagrams that involve STL classes more complete and accurate.
+
320 # The default value is: NO.
+
321 
+
322 BUILTIN_STL_SUPPORT = NO
+
323 
+
324 # If you use Microsoft's C++/CLI language, you should set this option to YES to
+
325 # enable parsing support.
+
326 # The default value is: NO.
+
327 
+
328 CPP_CLI_SUPPORT = NO
+
329 
+
330 # Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+
331 # http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+
332 # will parse them like normal C++ but will assume all classes use public instead
+
333 # of private inheritance when no explicit protection keyword is present.
+
334 # The default value is: NO.
+
335 
+
336 SIP_SUPPORT = NO
+
337 
+
338 # For Microsoft's IDL there are propget and propput attributes to indicate
+
339 # getter and setter methods for a property. Setting this option to YES will make
+
340 # doxygen to replace the get and set methods by a property in the documentation.
+
341 # This will only work if the methods are indeed getting or setting a simple
+
342 # type. If this is not the case, or you want to show the methods anyway, you
+
343 # should set this option to NO.
+
344 # The default value is: YES.
+
345 
+
346 IDL_PROPERTY_SUPPORT = YES
+
347 
+
348 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+
349 # tag is set to YES then doxygen will reuse the documentation of the first
+
350 # member in the group (if any) for the other members of the group. By default
+
351 # all members of a group must be documented explicitly.
+
352 # The default value is: NO.
+
353 
+
354 DISTRIBUTE_GROUP_DOC = NO
+
355 
+
356 # If one adds a struct or class to a group and this option is enabled, then also
+
357 # any nested class or struct is added to the same group. By default this option
+
358 # is disabled and one has to add nested compounds explicitly via \ingroup.
+
359 # The default value is: NO.
+
360 
+
361 GROUP_NESTED_COMPOUNDS = NO
+
362 
+
363 # Set the SUBGROUPING tag to YES to allow class member groups of the same type
+
364 # (for instance a group of public functions) to be put as a subgroup of that
+
365 # type (e.g. under the Public Functions section). Set it to NO to prevent
+
366 # subgrouping. Alternatively, this can be done per class using the
+
367 # \nosubgrouping command.
+
368 # The default value is: YES.
+
369 
+
370 SUBGROUPING = NO
+
371 
+
372 # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+
373 # are shown inside the group in which they are included (e.g. using \ingroup)
+
374 # instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+
375 # and RTF).
+
376 #
+
377 # Note that this feature does not work in combination with
+
378 # SEPARATE_MEMBER_PAGES.
+
379 # The default value is: NO.
+
380 
+
381 INLINE_GROUPED_CLASSES = NO
+
382 
+
383 # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+
384 # with only public data fields or simple typedef fields will be shown inline in
+
385 # the documentation of the scope in which they are defined (i.e. file,
+
386 # namespace, or group documentation), provided this scope is documented. If set
+
387 # to NO, structs, classes, and unions are shown on a separate page (for HTML and
+
388 # Man pages) or section (for LaTeX and RTF).
+
389 # The default value is: NO.
+
390 
+
391 INLINE_SIMPLE_STRUCTS = NO
+
392 
+
393 # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+
394 # enum is documented as struct, union, or enum with the name of the typedef. So
+
395 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+
396 # with name TypeT. When disabled the typedef will appear as a member of a file,
+
397 # namespace, or class. And the struct will be named TypeS. This can typically be
+
398 # useful for C code in case the coding convention dictates that all compound
+
399 # types are typedef'ed and only the typedef is referenced, never the tag name.
+
400 # The default value is: NO.
+
401 
+
402 TYPEDEF_HIDES_STRUCT = NO
+
403 
+
404 # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+
405 # cache is used to resolve symbols given their name and scope. Since this can be
+
406 # an expensive process and often the same symbol appears multiple times in the
+
407 # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+
408 # doxygen will become slower. If the cache is too large, memory is wasted. The
+
409 # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+
410 # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+
411 # symbols. At the end of a run doxygen will report the cache usage and suggest
+
412 # the optimal cache size from a speed point of view.
+
413 # Minimum value: 0, maximum value: 9, default value: 0.
+
414 
+
415 LOOKUP_CACHE_SIZE = 0
+
416 
+
417 #---------------------------------------------------------------------------
+
418 # Build related configuration options
+
419 #---------------------------------------------------------------------------
+
420 
+
421 # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
+
422 # documentation are documented, even if no documentation was available. Private
+
423 # class members and static file members will be hidden unless the
+
424 # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+
425 # Note: This will also disable the warnings about undocumented members that are
+
426 # normally produced when WARNINGS is set to YES.
+
427 # The default value is: NO.
+
428 
+
429 EXTRACT_ALL = NO
+
430 
+
431 # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+
432 # be included in the documentation.
+
433 # The default value is: NO.
+
434 
+
435 EXTRACT_PRIVATE = NO
+
436 
+
437 # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
+
438 # scope will be included in the documentation.
+
439 # The default value is: NO.
+
440 
+
441 EXTRACT_PACKAGE = NO
+
442 
+
443 # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+
444 # included in the documentation.
+
445 # The default value is: NO.
+
446 
+
447 EXTRACT_STATIC = YES
+
448 
+
449 # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+
450 # locally in source files will be included in the documentation. If set to NO,
+
451 # only classes defined in header files are included. Does not have any effect
+
452 # for Java sources.
+
453 # The default value is: YES.
+
454 
+
455 EXTRACT_LOCAL_CLASSES = NO
+
456 
+
457 # This flag is only useful for Objective-C code. If set to YES, local methods,
+
458 # which are defined in the implementation section but not in the interface are
+
459 # included in the documentation. If set to NO, only methods in the interface are
+
460 # included.
+
461 # The default value is: NO.
+
462 
+
463 EXTRACT_LOCAL_METHODS = NO
+
464 
+
465 # If this flag is set to YES, the members of anonymous namespaces will be
+
466 # extracted and appear in the documentation as a namespace called
+
467 # 'anonymous_namespace{file}', where file will be replaced with the base name of
+
468 # the file that contains the anonymous namespace. By default anonymous namespace
+
469 # are hidden.
+
470 # The default value is: NO.
+
471 
+
472 EXTRACT_ANON_NSPACES = NO
+
473 
+
474 # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+
475 # undocumented members inside documented classes or files. If set to NO these
+
476 # members will be included in the various overviews, but no documentation
+
477 # section is generated. This option has no effect if EXTRACT_ALL is enabled.
+
478 # The default value is: NO.
+
479 
+
480 HIDE_UNDOC_MEMBERS = YES
+
481 
+
482 # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+
483 # undocumented classes that are normally visible in the class hierarchy. If set
+
484 # to NO, these classes will be included in the various overviews. This option
+
485 # has no effect if EXTRACT_ALL is enabled.
+
486 # The default value is: NO.
+
487 
+
488 HIDE_UNDOC_CLASSES = YES
+
489 
+
490 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+
491 # (class|struct|union) declarations. If set to NO, these declarations will be
+
492 # included in the documentation.
+
493 # The default value is: NO.
+
494 
+
495 HIDE_FRIEND_COMPOUNDS = YES
+
496 
+
497 # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+
498 # documentation blocks found inside the body of a function. If set to NO, these
+
499 # blocks will be appended to the function's detailed documentation block.
+
500 # The default value is: NO.
+
501 
+
502 HIDE_IN_BODY_DOCS = YES
+
503 
+
504 # The INTERNAL_DOCS tag determines if documentation that is typed after a
+
505 # \internal command is included. If the tag is set to NO then the documentation
+
506 # will be excluded. Set it to YES to include the internal documentation.
+
507 # The default value is: NO.
+
508 
+
509 INTERNAL_DOCS = NO
+
510 
+
511 # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+
512 # names in lower-case letters. If set to YES, upper-case letters are also
+
513 # allowed. This is useful if you have classes or files whose names only differ
+
514 # in case and if your file system supports case sensitive file names. Windows
+
515 # and Mac users are advised to set this option to NO.
+
516 # The default value is: system dependent.
+
517 
+
518 CASE_SENSE_NAMES = YES
+
519 
+
520 # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+
521 # their full class and namespace scopes in the documentation. If set to YES, the
+
522 # scope will be hidden.
+
523 # The default value is: NO.
+
524 
+
525 HIDE_SCOPE_NAMES = YES
+
526 
+
527 # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+
528 # append additional text to a page's title, such as Class Reference. If set to
+
529 # YES the compound reference will be hidden.
+
530 # The default value is: NO.
+
531 
+
532 HIDE_COMPOUND_REFERENCE= NO
+
533 
+
534 # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+
535 # the files that are included by a file in the documentation of that file.
+
536 # The default value is: YES.
+
537 
+
538 SHOW_INCLUDE_FILES = NO
+
539 
+
540 # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+
541 # grouped member an include statement to the documentation, telling the reader
+
542 # which file to include in order to use the member.
+
543 # The default value is: NO.
+
544 
+
545 SHOW_GROUPED_MEMB_INC = NO
+
546 
+
547 # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+
548 # files with double quotes in the documentation rather than with sharp brackets.
+
549 # The default value is: NO.
+
550 
+
551 FORCE_LOCAL_INCLUDES = NO
+
552 
+
553 # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+
554 # documentation for inline members.
+
555 # The default value is: YES.
+
556 
+
557 INLINE_INFO = NO
+
558 
+
559 # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+
560 # (detailed) documentation of file and class members alphabetically by member
+
561 # name. If set to NO, the members will appear in declaration order.
+
562 # The default value is: YES.
+
563 
+
564 SORT_MEMBER_DOCS = YES
+
565 
+
566 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+
567 # descriptions of file, namespace and class members alphabetically by member
+
568 # name. If set to NO, the members will appear in declaration order. Note that
+
569 # this will also influence the order of the classes in the class list.
+
570 # The default value is: NO.
+
571 
+
572 SORT_BRIEF_DOCS = YES
+
573 
+
574 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+
575 # (brief and detailed) documentation of class members so that constructors and
+
576 # destructors are listed first. If set to NO the constructors will appear in the
+
577 # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+
578 # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+
579 # member documentation.
+
580 # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+
581 # detailed member documentation.
+
582 # The default value is: NO.
+
583 
+
584 SORT_MEMBERS_CTORS_1ST = NO
+
585 
+
586 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+
587 # of group names into alphabetical order. If set to NO the group names will
+
588 # appear in their defined order.
+
589 # The default value is: NO.
+
590 
+
591 SORT_GROUP_NAMES = NO
+
592 
+
593 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+
594 # fully-qualified names, including namespaces. If set to NO, the class list will
+
595 # be sorted only by class name, not including the namespace part.
+
596 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+
597 # Note: This option applies only to the class list, not to the alphabetical
+
598 # list.
+
599 # The default value is: NO.
+
600 
+
601 SORT_BY_SCOPE_NAME = YES
+
602 
+
603 # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+
604 # type resolution of all parameters of a function it will reject a match between
+
605 # the prototype and the implementation of a member function even if there is
+
606 # only one candidate or it is obvious which candidate to choose by doing a
+
607 # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+
608 # accept a match between prototype and implementation in such cases.
+
609 # The default value is: NO.
+
610 
+
611 STRICT_PROTO_MATCHING = NO
+
612 
+
613 # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+
614 # list. This list is created by putting \todo commands in the documentation.
+
615 # The default value is: YES.
+
616 
+
617 GENERATE_TODOLIST = YES
+
618 
+
619 # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+
620 # list. This list is created by putting \test commands in the documentation.
+
621 # The default value is: YES.
+
622 
+
623 GENERATE_TESTLIST = YES
+
624 
+
625 # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+
626 # list. This list is created by putting \bug commands in the documentation.
+
627 # The default value is: YES.
+
628 
+
629 GENERATE_BUGLIST = YES
+
630 
+
631 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+
632 # the deprecated list. This list is created by putting \deprecated commands in
+
633 # the documentation.
+
634 # The default value is: YES.
+
635 
+
636 GENERATE_DEPRECATEDLIST= YES
+
637 
+
638 # The ENABLED_SECTIONS tag can be used to enable conditional documentation
+
639 # sections, marked by \if <section_label> ... \endif and \cond <section_label>
+
640 # ... \endcond blocks.
+
641 
+
642 ENABLED_SECTIONS =
+
643 
+
644 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+
645 # initial value of a variable or macro / define can have for it to appear in the
+
646 # documentation. If the initializer consists of more lines than specified here
+
647 # it will be hidden. Use a value of 0 to hide initializers completely. The
+
648 # appearance of the value of individual variables and macros / defines can be
+
649 # controlled using \showinitializer or \hideinitializer command in the
+
650 # documentation regardless of this setting.
+
651 # Minimum value: 0, maximum value: 10000, default value: 30.
+
652 
+
653 MAX_INITIALIZER_LINES = 30
+
654 
+
655 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+
656 # the bottom of the documentation of classes and structs. If set to YES, the
+
657 # list will mention the files that were used to generate the documentation.
+
658 # The default value is: YES.
+
659 
+
660 SHOW_USED_FILES = NO
+
661 
+
662 # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+
663 # will remove the Files entry from the Quick Index and from the Folder Tree View
+
664 # (if specified).
+
665 # The default value is: YES.
+
666 
+
667 SHOW_FILES = YES
+
668 
+
669 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+
670 # page. This will remove the Namespaces entry from the Quick Index and from the
+
671 # Folder Tree View (if specified).
+
672 # The default value is: YES.
+
673 
+
674 SHOW_NAMESPACES = YES
+
675 
+
676 # The FILE_VERSION_FILTER tag can be used to specify a program or script that
+
677 # doxygen should invoke to get the current version for each file (typically from
+
678 # the version control system). Doxygen will invoke the program by executing (via
+
679 # popen()) the command command input-file, where command is the value of the
+
680 # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+
681 # by doxygen. Whatever the program writes to standard output is used as the file
+
682 # version. For an example see the documentation.
+
683 
+
684 FILE_VERSION_FILTER =
+
685 
+
686 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+
687 # by doxygen. The layout file controls the global structure of the generated
+
688 # output files in an output format independent way. To create the layout file
+
689 # that represents doxygen's defaults, run doxygen with the -l option. You can
+
690 # optionally specify a file name after the option, if omitted DoxygenLayout.xml
+
691 # will be used as the name of the layout file.
+
692 #
+
693 # Note that if you run doxygen from a directory containing a file called
+
694 # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+
695 # tag is left empty.
+
696 
+
697 LAYOUT_FILE =
+
698 
+
699 # The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+
700 # the reference definitions. This must be a list of .bib files. The .bib
+
701 # extension is automatically appended if omitted. This requires the bibtex tool
+
702 # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+
703 # For LaTeX the style of the bibliography can be controlled using
+
704 # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+
705 # search path. See also \cite for info how to create references.
+
706 
+
707 CITE_BIB_FILES =
+
708 
+
709 #---------------------------------------------------------------------------
+
710 # Configuration options related to warning and progress messages
+
711 #---------------------------------------------------------------------------
+
712 
+
713 # The QUIET tag can be used to turn on/off the messages that are generated to
+
714 # standard output by doxygen. If QUIET is set to YES this implies that the
+
715 # messages are off.
+
716 # The default value is: NO.
+
717 
+
718 QUIET = NO
+
719 
+
720 # The WARNINGS tag can be used to turn on/off the warning messages that are
+
721 # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+
722 # this implies that the warnings are on.
+
723 #
+
724 # Tip: Turn warnings on while writing the documentation.
+
725 # The default value is: YES.
+
726 
+
727 WARNINGS = YES
+
728 
+
729 # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+
730 # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+
731 # will automatically be disabled.
+
732 # The default value is: YES.
+
733 
+
734 WARN_IF_UNDOCUMENTED = YES
+
735 
+
736 # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+
737 # potential errors in the documentation, such as not documenting some parameters
+
738 # in a documented function, or documenting parameters that don't exist or using
+
739 # markup commands wrongly.
+
740 # The default value is: YES.
+
741 
+
742 WARN_IF_DOC_ERROR = YES
+
743 
+
744 # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+
745 # are documented, but have no documentation for their parameters or return
+
746 # value. If set to NO, doxygen will only warn about wrong or incomplete
+
747 # parameter documentation, but not about the absence of documentation.
+
748 # The default value is: NO.
+
749 
+
750 WARN_NO_PARAMDOC = NO
+
751 
+
752 # The WARN_FORMAT tag determines the format of the warning messages that doxygen
+
753 # can produce. The string should contain the $file, $line, and $text tags, which
+
754 # will be replaced by the file and line number from which the warning originated
+
755 # and the warning text. Optionally the format may contain $version, which will
+
756 # be replaced by the version of the file (if it could be obtained via
+
757 # FILE_VERSION_FILTER)
+
758 # The default value is: $file:$line: $text.
+
759 
+
760 WARN_FORMAT = "$file:$line: $text"
+
761 
+
762 # The WARN_LOGFILE tag can be used to specify a file to which warning and error
+
763 # messages should be written. If left blank the output is written to standard
+
764 # error (stderr).
+
765 
+
766 WARN_LOGFILE =
+
767 
+
768 #---------------------------------------------------------------------------
+
769 # Configuration options related to the input files
+
770 #---------------------------------------------------------------------------
+
771 
+
772 # The INPUT tag is used to specify the files and/or directories that contain
+
773 # documented source files. You may enter file names like myfile.cpp or
+
774 # directories like /usr/src/myproject. Separate the files or directories with
+
775 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+
776 # Note: If this tag is empty the current directory is searched.
+
777 
+
778 INPUT = ../glm \
+
779  .
+
780 
+
781 # This tag can be used to specify the character encoding of the source files
+
782 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+
783 # libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+
784 # documentation (see: http://www.gnu.org/software/libiconv) for the list of
+
785 # possible encodings.
+
786 # The default value is: UTF-8.
+
787 
+
788 INPUT_ENCODING = UTF-8
+
789 
+
790 # If the value of the INPUT tag contains directories, you can use the
+
791 # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+
792 # *.h) to filter out the source-files in the directories.
+
793 #
+
794 # Note that for custom extensions or not directly supported extensions you also
+
795 # need to set EXTENSION_MAPPING for the extension otherwise the files are not
+
796 # read by doxygen.
+
797 #
+
798 # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
+
799 # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
+
800 # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
+
801 # *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd,
+
802 # *.vhdl, *.ucf, *.qsf, *.as and *.js.
+
803 
+
804 FILE_PATTERNS = *.hpp \
+
805  *.doxy
+
806 
+
807 # The RECURSIVE tag can be used to specify whether or not subdirectories should
+
808 # be searched for input files as well.
+
809 # The default value is: NO.
+
810 
+
811 RECURSIVE = YES
+
812 
+
813 # The EXCLUDE tag can be used to specify files and/or directories that should be
+
814 # excluded from the INPUT source files. This way you can easily exclude a
+
815 # subdirectory from a directory tree whose root is specified with the INPUT tag.
+
816 #
+
817 # Note that relative paths are relative to the directory from which doxygen is
+
818 # run.
+
819 
+
820 EXCLUDE =
+
821 
+
822 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+
823 # directories that are symbolic links (a Unix file system feature) are excluded
+
824 # from the input.
+
825 # The default value is: NO.
+
826 
+
827 EXCLUDE_SYMLINKS = NO
+
828 
+
829 # If the value of the INPUT tag contains directories, you can use the
+
830 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+
831 # certain files from those directories.
+
832 #
+
833 # Note that the wildcards are matched against the file with absolute path, so to
+
834 # exclude all test directories for example use the pattern */test/*
+
835 
+
836 EXCLUDE_PATTERNS =
+
837 
+
838 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+
839 # (namespaces, classes, functions, etc.) that should be excluded from the
+
840 # output. The symbol name can be a fully qualified name, a word, or if the
+
841 # wildcard * is used, a substring. Examples: ANamespace, AClass,
+
842 # AClass::ANamespace, ANamespace::*Test
+
843 #
+
844 # Note that the wildcards are matched against the file with absolute path, so to
+
845 # exclude all test directories use the pattern */test/*
+
846 
+
847 EXCLUDE_SYMBOLS =
+
848 
+
849 # The EXAMPLE_PATH tag can be used to specify one or more files or directories
+
850 # that contain example code fragments that are included (see the \include
+
851 # command).
+
852 
+
853 EXAMPLE_PATH =
+
854 
+
855 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
+
856 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+
857 # *.h) to filter out the source-files in the directories. If left blank all
+
858 # files are included.
+
859 
+
860 EXAMPLE_PATTERNS = *
+
861 
+
862 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+
863 # searched for input files to be used with the \include or \dontinclude commands
+
864 # irrespective of the value of the RECURSIVE tag.
+
865 # The default value is: NO.
+
866 
+
867 EXAMPLE_RECURSIVE = NO
+
868 
+
869 # The IMAGE_PATH tag can be used to specify one or more files or directories
+
870 # that contain images that are to be included in the documentation (see the
+
871 # \image command).
+
872 
+
873 IMAGE_PATH =
+
874 
+
875 # The INPUT_FILTER tag can be used to specify a program that doxygen should
+
876 # invoke to filter for each input file. Doxygen will invoke the filter program
+
877 # by executing (via popen()) the command:
+
878 #
+
879 # <filter> <input-file>
+
880 #
+
881 # where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+
882 # name of an input file. Doxygen will then use the output that the filter
+
883 # program writes to standard output. If FILTER_PATTERNS is specified, this tag
+
884 # will be ignored.
+
885 #
+
886 # Note that the filter must not add or remove lines; it is applied before the
+
887 # code is scanned, but not when the output code is generated. If lines are added
+
888 # or removed, the anchors will not be placed correctly.
+
889 
+
890 INPUT_FILTER =
+
891 
+
892 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+
893 # basis. Doxygen will compare the file name with each pattern and apply the
+
894 # filter if there is a match. The filters are a list of the form: pattern=filter
+
895 # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+
896 # filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+
897 # patterns match the file name, INPUT_FILTER is applied.
+
898 
+
899 FILTER_PATTERNS =
+
900 
+
901 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+
902 # INPUT_FILTER) will also be used to filter the input files that are used for
+
903 # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
904 # The default value is: NO.
+
905 
+
906 FILTER_SOURCE_FILES = NO
+
907 
+
908 # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+
909 # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+
910 # it is also possible to disable source filtering for a specific pattern using
+
911 # *.ext= (so without naming a filter).
+
912 # This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
913 
+
914 FILTER_SOURCE_PATTERNS =
+
915 
+
916 # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+
917 # is part of the input, its contents will be placed on the main page
+
918 # (index.html). This can be useful if you have a project on for instance GitHub
+
919 # and want to reuse the introduction page also for the doxygen output.
+
920 
+
921 USE_MDFILE_AS_MAINPAGE =
+
922 
+
923 #---------------------------------------------------------------------------
+
924 # Configuration options related to source browsing
+
925 #---------------------------------------------------------------------------
+
926 
+
927 # If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+
928 # generated. Documented entities will be cross-referenced with these sources.
+
929 #
+
930 # Note: To get rid of all source code in the generated output, make sure that
+
931 # also VERBATIM_HEADERS is set to NO.
+
932 # The default value is: NO.
+
933 
+
934 SOURCE_BROWSER = YES
+
935 
+
936 # Setting the INLINE_SOURCES tag to YES will include the body of functions,
+
937 # classes and enums directly into the documentation.
+
938 # The default value is: NO.
+
939 
+
940 INLINE_SOURCES = NO
+
941 
+
942 # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+
943 # special comment blocks from generated source code fragments. Normal C, C++ and
+
944 # Fortran comments will always remain visible.
+
945 # The default value is: YES.
+
946 
+
947 STRIP_CODE_COMMENTS = YES
+
948 
+
949 # If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+
950 # function all documented functions referencing it will be listed.
+
951 # The default value is: NO.
+
952 
+
953 REFERENCED_BY_RELATION = YES
+
954 
+
955 # If the REFERENCES_RELATION tag is set to YES then for each documented function
+
956 # all documented entities called/used by that function will be listed.
+
957 # The default value is: NO.
+
958 
+
959 REFERENCES_RELATION = YES
+
960 
+
961 # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+
962 # to YES then the hyperlinks from functions in REFERENCES_RELATION and
+
963 # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+
964 # link to the documentation.
+
965 # The default value is: YES.
+
966 
+
967 REFERENCES_LINK_SOURCE = YES
+
968 
+
969 # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+
970 # source code will show a tooltip with additional information such as prototype,
+
971 # brief description and links to the definition and documentation. Since this
+
972 # will make the HTML file larger and loading of large files a bit slower, you
+
973 # can opt to disable this feature.
+
974 # The default value is: YES.
+
975 # This tag requires that the tag SOURCE_BROWSER is set to YES.
+
976 
+
977 SOURCE_TOOLTIPS = YES
+
978 
+
979 # If the USE_HTAGS tag is set to YES then the references to source code will
+
980 # point to the HTML generated by the htags(1) tool instead of doxygen built-in
+
981 # source browser. The htags tool is part of GNU's global source tagging system
+
982 # (see http://www.gnu.org/software/global/global.html). You will need version
+
983 # 4.8.6 or higher.
+
984 #
+
985 # To use it do the following:
+
986 # - Install the latest version of global
+
987 # - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+
988 # - Make sure the INPUT points to the root of the source tree
+
989 # - Run doxygen as normal
+
990 #
+
991 # Doxygen will invoke htags (and that will in turn invoke gtags), so these
+
992 # tools must be available from the command line (i.e. in the search path).
+
993 #
+
994 # The result: instead of the source browser generated by doxygen, the links to
+
995 # source code will now point to the output of htags.
+
996 # The default value is: NO.
+
997 # This tag requires that the tag SOURCE_BROWSER is set to YES.
+
998 
+
999 USE_HTAGS = NO
+
1000 
+
1001 # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+
1002 # verbatim copy of the header file for each class for which an include is
+
1003 # specified. Set to NO to disable this.
+
1004 # See also: Section \class.
+
1005 # The default value is: YES.
+
1006 
+
1007 VERBATIM_HEADERS = YES
+
1008 
+
1009 #---------------------------------------------------------------------------
+
1010 # Configuration options related to the alphabetical class index
+
1011 #---------------------------------------------------------------------------
+
1012 
+
1013 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+
1014 # compounds will be generated. Enable this if the project contains a lot of
+
1015 # classes, structs, unions or interfaces.
+
1016 # The default value is: YES.
+
1017 
+
1018 ALPHABETICAL_INDEX = NO
+
1019 
+
1020 # The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+
1021 # which the alphabetical index list will be split.
+
1022 # Minimum value: 1, maximum value: 20, default value: 5.
+
1023 # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
1024 
+
1025 COLS_IN_ALPHA_INDEX = 5
+
1026 
+
1027 # In case all classes in a project start with a common prefix, all classes will
+
1028 # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+
1029 # can be used to specify a prefix (or a list of prefixes) that should be ignored
+
1030 # while generating the index headers.
+
1031 # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
1032 
+
1033 IGNORE_PREFIX =
+
1034 
+
1035 #---------------------------------------------------------------------------
+
1036 # Configuration options related to the HTML output
+
1037 #---------------------------------------------------------------------------
+
1038 
+
1039 # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+
1040 # The default value is: YES.
+
1041 
+
1042 GENERATE_HTML = YES
+
1043 
+
1044 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+
1045 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1046 # it.
+
1047 # The default directory is: html.
+
1048 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1049 
+
1050 HTML_OUTPUT = html
+
1051 
+
1052 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+
1053 # generated HTML page (for example: .htm, .php, .asp).
+
1054 # The default value is: .html.
+
1055 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1056 
+
1057 HTML_FILE_EXTENSION = .html
+
1058 
+
1059 # The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+
1060 # each generated HTML page. If the tag is left blank doxygen will generate a
+
1061 # standard header.
+
1062 #
+
1063 # To get valid HTML the header file that includes any scripts and style sheets
+
1064 # that doxygen needs, which is dependent on the configuration options used (e.g.
+
1065 # the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+
1066 # default header using
+
1067 # doxygen -w html new_header.html new_footer.html new_stylesheet.css
+
1068 # YourConfigFile
+
1069 # and then modify the file new_header.html. See also section "Doxygen usage"
+
1070 # for information on how to generate the default header that doxygen normally
+
1071 # uses.
+
1072 # Note: The header is subject to change so you typically have to regenerate the
+
1073 # default header when upgrading to a newer version of doxygen. For a description
+
1074 # of the possible markers and block names see the documentation.
+
1075 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1076 
+
1077 HTML_HEADER =
+
1078 
+
1079 # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+
1080 # generated HTML page. If the tag is left blank doxygen will generate a standard
+
1081 # footer. See HTML_HEADER for more information on how to generate a default
+
1082 # footer and what special commands can be used inside the footer. See also
+
1083 # section "Doxygen usage" for information on how to generate the default footer
+
1084 # that doxygen normally uses.
+
1085 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1086 
+
1087 HTML_FOOTER =
+
1088 
+
1089 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+
1090 # sheet that is used by each HTML page. It can be used to fine-tune the look of
+
1091 # the HTML output. If left blank doxygen will generate a default style sheet.
+
1092 # See also section "Doxygen usage" for information on how to generate the style
+
1093 # sheet that doxygen normally uses.
+
1094 # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+
1095 # it is more robust and this tag (HTML_STYLESHEET) will in the future become
+
1096 # obsolete.
+
1097 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1098 
+
1099 HTML_STYLESHEET =
+
1100 
+
1101 # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+
1102 # cascading style sheets that are included after the standard style sheets
+
1103 # created by doxygen. Using this option one can overrule certain style aspects.
+
1104 # This is preferred over using HTML_STYLESHEET since it does not replace the
+
1105 # standard style sheet and is therefore more robust against future updates.
+
1106 # Doxygen will copy the style sheet files to the output directory.
+
1107 # Note: The order of the extra style sheet files is of importance (e.g. the last
+
1108 # style sheet in the list overrules the setting of the previous ones in the
+
1109 # list). For an example see the documentation.
+
1110 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1111 
+
1112 HTML_EXTRA_STYLESHEET =
+
1113 
+
1114 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+
1115 # other source files which should be copied to the HTML output directory. Note
+
1116 # that these files will be copied to the base HTML output directory. Use the
+
1117 # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+
1118 # files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+
1119 # files will be copied as-is; there are no commands or markers available.
+
1120 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1121 
+
1122 HTML_EXTRA_FILES =
+
1123 
+
1124 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+
1125 # will adjust the colors in the style sheet and background images according to
+
1126 # this color. Hue is specified as an angle on a colorwheel, see
+
1127 # http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+
1128 # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+
1129 # purple, and 360 is red again.
+
1130 # Minimum value: 0, maximum value: 359, default value: 220.
+
1131 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1132 
+
1133 HTML_COLORSTYLE_HUE = 220
+
1134 
+
1135 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+
1136 # in the HTML output. For a value of 0 the output will use grayscales only. A
+
1137 # value of 255 will produce the most vivid colors.
+
1138 # Minimum value: 0, maximum value: 255, default value: 100.
+
1139 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1140 
+
1141 HTML_COLORSTYLE_SAT = 100
+
1142 
+
1143 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+
1144 # luminance component of the colors in the HTML output. Values below 100
+
1145 # gradually make the output lighter, whereas values above 100 make the output
+
1146 # darker. The value divided by 100 is the actual gamma applied, so 80 represents
+
1147 # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+
1148 # change the gamma.
+
1149 # Minimum value: 40, maximum value: 240, default value: 80.
+
1150 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1151 
+
1152 HTML_COLORSTYLE_GAMMA = 80
+
1153 
+
1154 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+
1155 # page will contain the date and time when the page was generated. Setting this
+
1156 # to YES can help to show when doxygen was last run and thus if the
+
1157 # documentation is up to date.
+
1158 # The default value is: NO.
+
1159 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1160 
+
1161 HTML_TIMESTAMP = NO
+
1162 
+
1163 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+
1164 # documentation will contain sections that can be hidden and shown after the
+
1165 # page has loaded.
+
1166 # The default value is: NO.
+
1167 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1168 
+
1169 HTML_DYNAMIC_SECTIONS = NO
+
1170 
+
1171 # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+
1172 # shown in the various tree structured indices initially; the user can expand
+
1173 # and collapse entries dynamically later on. Doxygen will expand the tree to
+
1174 # such a level that at most the specified number of entries are visible (unless
+
1175 # a fully collapsed tree already exceeds this amount). So setting the number of
+
1176 # entries 1 will produce a full collapsed tree by default. 0 is a special value
+
1177 # representing an infinite number of entries and will result in a full expanded
+
1178 # tree by default.
+
1179 # Minimum value: 0, maximum value: 9999, default value: 100.
+
1180 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1181 
+
1182 HTML_INDEX_NUM_ENTRIES = 100
+
1183 
+
1184 # If the GENERATE_DOCSET tag is set to YES, additional index files will be
+
1185 # generated that can be used as input for Apple's Xcode 3 integrated development
+
1186 # environment (see: http://developer.apple.com/tools/xcode/), introduced with
+
1187 # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+
1188 # Makefile in the HTML output directory. Running make will produce the docset in
+
1189 # that directory and running make install will install the docset in
+
1190 # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+
1191 # startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+
1192 # for more information.
+
1193 # The default value is: NO.
+
1194 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1195 
+
1196 GENERATE_DOCSET = NO
+
1197 
+
1198 # This tag determines the name of the docset feed. A documentation feed provides
+
1199 # an umbrella under which multiple documentation sets from a single provider
+
1200 # (such as a company or product suite) can be grouped.
+
1201 # The default value is: Doxygen generated docs.
+
1202 # This tag requires that the tag GENERATE_DOCSET is set to YES.
+
1203 
+
1204 DOCSET_FEEDNAME = "Doxygen generated docs"
+
1205 
+
1206 # This tag specifies a string that should uniquely identify the documentation
+
1207 # set bundle. This should be a reverse domain-name style string, e.g.
+
1208 # com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+
1209 # The default value is: org.doxygen.Project.
+
1210 # This tag requires that the tag GENERATE_DOCSET is set to YES.
+
1211 
+
1212 DOCSET_BUNDLE_ID = org.doxygen.Project
+
1213 
+
1214 # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+
1215 # the documentation publisher. This should be a reverse domain-name style
+
1216 # string, e.g. com.mycompany.MyDocSet.documentation.
+
1217 # The default value is: org.doxygen.Publisher.
+
1218 # This tag requires that the tag GENERATE_DOCSET is set to YES.
+
1219 
+
1220 DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
1221 
+
1222 # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+
1223 # The default value is: Publisher.
+
1224 # This tag requires that the tag GENERATE_DOCSET is set to YES.
+
1225 
+
1226 DOCSET_PUBLISHER_NAME = Publisher
+
1227 
+
1228 # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+
1229 # additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+
1230 # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+
1231 # (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+
1232 # Windows.
+
1233 #
+
1234 # The HTML Help Workshop contains a compiler that can convert all HTML output
+
1235 # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+
1236 # files are now used as the Windows 98 help format, and will replace the old
+
1237 # Windows help format (.hlp) on all Windows platforms in the future. Compressed
+
1238 # HTML files also contain an index, a table of contents, and you can search for
+
1239 # words in the documentation. The HTML workshop also contains a viewer for
+
1240 # compressed HTML files.
+
1241 # The default value is: NO.
+
1242 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1243 
+
1244 GENERATE_HTMLHELP = NO
+
1245 
+
1246 # The CHM_FILE tag can be used to specify the file name of the resulting .chm
+
1247 # file. You can add a path in front of the file if the result should not be
+
1248 # written to the html output directory.
+
1249 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1250 
+
1251 CHM_FILE =
+
1252 
+
1253 # The HHC_LOCATION tag can be used to specify the location (absolute path
+
1254 # including file name) of the HTML help compiler (hhc.exe). If non-empty,
+
1255 # doxygen will try to run the HTML help compiler on the generated index.hhp.
+
1256 # The file has to be specified with full path.
+
1257 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1258 
+
1259 HHC_LOCATION =
+
1260 
+
1261 # The GENERATE_CHI flag controls if a separate .chi index file is generated
+
1262 # (YES) or that it should be included in the master .chm file (NO).
+
1263 # The default value is: NO.
+
1264 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1265 
+
1266 GENERATE_CHI = NO
+
1267 
+
1268 # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+
1269 # and project file content.
+
1270 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1271 
+
1272 CHM_INDEX_ENCODING =
+
1273 
+
1274 # The BINARY_TOC flag controls whether a binary table of contents is generated
+
1275 # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+
1276 # enables the Previous and Next buttons.
+
1277 # The default value is: NO.
+
1278 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1279 
+
1280 BINARY_TOC = NO
+
1281 
+
1282 # The TOC_EXPAND flag can be set to YES to add extra items for group members to
+
1283 # the table of contents of the HTML help documentation and to the tree view.
+
1284 # The default value is: NO.
+
1285 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1286 
+
1287 TOC_EXPAND = NO
+
1288 
+
1289 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+
1290 # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+
1291 # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+
1292 # (.qch) of the generated HTML documentation.
+
1293 # The default value is: NO.
+
1294 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1295 
+
1296 GENERATE_QHP = NO
+
1297 
+
1298 # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+
1299 # the file name of the resulting .qch file. The path specified is relative to
+
1300 # the HTML output folder.
+
1301 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1302 
+
1303 QCH_FILE =
+
1304 
+
1305 # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+
1306 # Project output. For more information please see Qt Help Project / Namespace
+
1307 # (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+
1308 # The default value is: org.doxygen.Project.
+
1309 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1310 
+
1311 QHP_NAMESPACE = org.doxygen.Project
+
1312 
+
1313 # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+
1314 # Help Project output. For more information please see Qt Help Project / Virtual
+
1315 # Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+
1316 # folders).
+
1317 # The default value is: doc.
+
1318 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1319 
+
1320 QHP_VIRTUAL_FOLDER = doc
+
1321 
+
1322 # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+
1323 # filter to add. For more information please see Qt Help Project / Custom
+
1324 # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+
1325 # filters).
+
1326 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1327 
+
1328 QHP_CUST_FILTER_NAME =
+
1329 
+
1330 # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+
1331 # custom filter to add. For more information please see Qt Help Project / Custom
+
1332 # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+
1333 # filters).
+
1334 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1335 
+
1336 QHP_CUST_FILTER_ATTRS =
+
1337 
+
1338 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+
1339 # project's filter section matches. Qt Help Project / Filter Attributes (see:
+
1340 # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+
1341 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1342 
+
1343 QHP_SECT_FILTER_ATTRS =
+
1344 
+
1345 # The QHG_LOCATION tag can be used to specify the location of Qt's
+
1346 # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+
1347 # generated .qhp file.
+
1348 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1349 
+
1350 QHG_LOCATION =
+
1351 
+
1352 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+
1353 # generated, together with the HTML files, they form an Eclipse help plugin. To
+
1354 # install this plugin and make it available under the help contents menu in
+
1355 # Eclipse, the contents of the directory containing the HTML and XML files needs
+
1356 # to be copied into the plugins directory of eclipse. The name of the directory
+
1357 # within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+
1358 # After copying Eclipse needs to be restarted before the help appears.
+
1359 # The default value is: NO.
+
1360 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1361 
+
1362 GENERATE_ECLIPSEHELP = NO
+
1363 
+
1364 # A unique identifier for the Eclipse help plugin. When installing the plugin
+
1365 # the directory name containing the HTML and XML files should also have this
+
1366 # name. Each documentation set should have its own identifier.
+
1367 # The default value is: org.doxygen.Project.
+
1368 # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
1369 
+
1370 ECLIPSE_DOC_ID = org.doxygen.Project
+
1371 
+
1372 # If you want full control over the layout of the generated HTML pages it might
+
1373 # be necessary to disable the index and replace it with your own. The
+
1374 # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+
1375 # of each HTML page. A value of NO enables the index and the value YES disables
+
1376 # it. Since the tabs in the index contain the same information as the navigation
+
1377 # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+
1378 # The default value is: NO.
+
1379 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1380 
+
1381 DISABLE_INDEX = NO
+
1382 
+
1383 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+
1384 # structure should be generated to display hierarchical information. If the tag
+
1385 # value is set to YES, a side panel will be generated containing a tree-like
+
1386 # index structure (just like the one that is generated for HTML Help). For this
+
1387 # to work a browser that supports JavaScript, DHTML, CSS and frames is required
+
1388 # (i.e. any modern browser). Windows users are probably better off using the
+
1389 # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
+
1390 # further fine-tune the look of the index. As an example, the default style
+
1391 # sheet generated by doxygen has an example that shows how to put an image at
+
1392 # the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+
1393 # the same information as the tab index, you could consider setting
+
1394 # DISABLE_INDEX to YES when enabling this option.
+
1395 # The default value is: NO.
+
1396 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1397 
+
1398 GENERATE_TREEVIEW = NO
+
1399 
+
1400 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+
1401 # doxygen will group on one line in the generated HTML documentation.
+
1402 #
+
1403 # Note that a value of 0 will completely suppress the enum values from appearing
+
1404 # in the overview section.
+
1405 # Minimum value: 0, maximum value: 20, default value: 4.
+
1406 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1407 
+
1408 ENUM_VALUES_PER_LINE = 4
+
1409 
+
1410 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+
1411 # to set the initial width (in pixels) of the frame in which the tree is shown.
+
1412 # Minimum value: 0, maximum value: 1500, default value: 250.
+
1413 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1414 
+
1415 TREEVIEW_WIDTH = 250
+
1416 
+
1417 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+
1418 # external symbols imported via tag files in a separate window.
+
1419 # The default value is: NO.
+
1420 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1421 
+
1422 EXT_LINKS_IN_WINDOW = NO
+
1423 
+
1424 # Use this tag to change the font size of LaTeX formulas included as images in
+
1425 # the HTML documentation. When you change the font size after a successful
+
1426 # doxygen run you need to manually remove any form_*.png images from the HTML
+
1427 # output directory to force them to be regenerated.
+
1428 # Minimum value: 8, maximum value: 50, default value: 10.
+
1429 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1430 
+
1431 FORMULA_FONTSIZE = 10
+
1432 
+
1433 # Use the FORMULA_TRANPARENT tag to determine whether or not the images
+
1434 # generated for formulas are transparent PNGs. Transparent PNGs are not
+
1435 # supported properly for IE 6.0, but are supported on all modern browsers.
+
1436 #
+
1437 # Note that when changing this option you need to delete any form_*.png files in
+
1438 # the HTML output directory before the changes have effect.
+
1439 # The default value is: YES.
+
1440 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1441 
+
1442 FORMULA_TRANSPARENT = YES
+
1443 
+
1444 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+
1445 # http://www.mathjax.org) which uses client side Javascript for the rendering
+
1446 # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+
1447 # installed or if you want to formulas look prettier in the HTML output. When
+
1448 # enabled you may also need to install MathJax separately and configure the path
+
1449 # to it using the MATHJAX_RELPATH option.
+
1450 # The default value is: NO.
+
1451 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1452 
+
1453 USE_MATHJAX = NO
+
1454 
+
1455 # When MathJax is enabled you can set the default output format to be used for
+
1456 # the MathJax output. See the MathJax site (see:
+
1457 # http://docs.mathjax.org/en/latest/output.html) for more details.
+
1458 # Possible values are: HTML-CSS (which is slower, but has the best
+
1459 # compatibility), NativeMML (i.e. MathML) and SVG.
+
1460 # The default value is: HTML-CSS.
+
1461 # This tag requires that the tag USE_MATHJAX is set to YES.
+
1462 
+
1463 MATHJAX_FORMAT = HTML-CSS
+
1464 
+
1465 # When MathJax is enabled you need to specify the location relative to the HTML
+
1466 # output directory using the MATHJAX_RELPATH option. The destination directory
+
1467 # should contain the MathJax.js script. For instance, if the mathjax directory
+
1468 # is located at the same level as the HTML output directory, then
+
1469 # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+
1470 # Content Delivery Network so you can quickly see the result without installing
+
1471 # MathJax. However, it is strongly recommended to install a local copy of
+
1472 # MathJax from http://www.mathjax.org before deployment.
+
1473 # The default value is: http://cdn.mathjax.org/mathjax/latest.
+
1474 # This tag requires that the tag USE_MATHJAX is set to YES.
+
1475 
+
1476 MATHJAX_RELPATH = http://www.mathjax.org/mathjax
+
1477 
+
1478 # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+
1479 # extension names that should be enabled during MathJax rendering. For example
+
1480 # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+
1481 # This tag requires that the tag USE_MATHJAX is set to YES.
+
1482 
+
1483 MATHJAX_EXTENSIONS =
+
1484 
+
1485 # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+
1486 # of code that will be used on startup of the MathJax code. See the MathJax site
+
1487 # (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+
1488 # example see the documentation.
+
1489 # This tag requires that the tag USE_MATHJAX is set to YES.
+
1490 
+
1491 MATHJAX_CODEFILE =
+
1492 
+
1493 # When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+
1494 # the HTML output. The underlying search engine uses javascript and DHTML and
+
1495 # should work on any modern browser. Note that when using HTML help
+
1496 # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+
1497 # there is already a search function so this one should typically be disabled.
+
1498 # For large projects the javascript based search engine can be slow, then
+
1499 # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+
1500 # search using the keyboard; to jump to the search box use <access key> + S
+
1501 # (what the <access key> is depends on the OS and browser, but it is typically
+
1502 # <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+
1503 # key> to jump into the search results window, the results can be navigated
+
1504 # using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+
1505 # the search. The filter options can be selected when the cursor is inside the
+
1506 # search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+
1507 # to select a filter and <Enter> or <escape> to activate or cancel the filter
+
1508 # option.
+
1509 # The default value is: YES.
+
1510 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1511 
+
1512 SEARCHENGINE = NO
+
1513 
+
1514 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+
1515 # implemented using a web server instead of a web client using Javascript. There
+
1516 # are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+
1517 # setting. When disabled, doxygen will generate a PHP script for searching and
+
1518 # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+
1519 # and searching needs to be provided by external tools. See the section
+
1520 # "External Indexing and Searching" for details.
+
1521 # The default value is: NO.
+
1522 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1523 
+
1524 SERVER_BASED_SEARCH = NO
+
1525 
+
1526 # When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+
1527 # script for searching. Instead the search results are written to an XML file
+
1528 # which needs to be processed by an external indexer. Doxygen will invoke an
+
1529 # external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+
1530 # search results.
+
1531 #
+
1532 # Doxygen ships with an example indexer (doxyindexer) and search engine
+
1533 # (doxysearch.cgi) which are based on the open source search engine library
+
1534 # Xapian (see: http://xapian.org/).
+
1535 #
+
1536 # See the section "External Indexing and Searching" for details.
+
1537 # The default value is: NO.
+
1538 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1539 
+
1540 EXTERNAL_SEARCH = NO
+
1541 
+
1542 # The SEARCHENGINE_URL should point to a search engine hosted by a web server
+
1543 # which will return the search results when EXTERNAL_SEARCH is enabled.
+
1544 #
+
1545 # Doxygen ships with an example indexer (doxyindexer) and search engine
+
1546 # (doxysearch.cgi) which are based on the open source search engine library
+
1547 # Xapian (see: http://xapian.org/). See the section "External Indexing and
+
1548 # Searching" for details.
+
1549 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1550 
+
1551 SEARCHENGINE_URL =
+
1552 
+
1553 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+
1554 # search data is written to a file for indexing by an external tool. With the
+
1555 # SEARCHDATA_FILE tag the name of this file can be specified.
+
1556 # The default file is: searchdata.xml.
+
1557 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1558 
+
1559 SEARCHDATA_FILE = searchdata.xml
+
1560 
+
1561 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+
1562 # EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+
1563 # useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+
1564 # projects and redirect the results back to the right project.
+
1565 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1566 
+
1567 EXTERNAL_SEARCH_ID =
+
1568 
+
1569 # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+
1570 # projects other than the one defined by this configuration file, but that are
+
1571 # all added to the same external search index. Each project needs to have a
+
1572 # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+
1573 # to a relative location where the documentation can be found. The format is:
+
1574 # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+
1575 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1576 
+
1577 EXTRA_SEARCH_MAPPINGS =
+
1578 
+
1579 #---------------------------------------------------------------------------
+
1580 # Configuration options related to the LaTeX output
+
1581 #---------------------------------------------------------------------------
+
1582 
+
1583 # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
+
1584 # The default value is: YES.
+
1585 
+
1586 GENERATE_LATEX = NO
+
1587 
+
1588 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+
1589 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1590 # it.
+
1591 # The default directory is: latex.
+
1592 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1593 
+
1594 LATEX_OUTPUT = latex
+
1595 
+
1596 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+
1597 # invoked.
+
1598 #
+
1599 # Note that when enabling USE_PDFLATEX this option is only used for generating
+
1600 # bitmaps for formulas in the HTML output, but not in the Makefile that is
+
1601 # written to the output directory.
+
1602 # The default file is: latex.
+
1603 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1604 
+
1605 LATEX_CMD_NAME = latex
+
1606 
+
1607 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+
1608 # index for LaTeX.
+
1609 # The default file is: makeindex.
+
1610 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1611 
+
1612 MAKEINDEX_CMD_NAME = makeindex
+
1613 
+
1614 # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
+
1615 # documents. This may be useful for small projects and may help to save some
+
1616 # trees in general.
+
1617 # The default value is: NO.
+
1618 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1619 
+
1620 COMPACT_LATEX = NO
+
1621 
+
1622 # The PAPER_TYPE tag can be used to set the paper type that is used by the
+
1623 # printer.
+
1624 # Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+
1625 # 14 inches) and executive (7.25 x 10.5 inches).
+
1626 # The default value is: a4.
+
1627 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1628 
+
1629 PAPER_TYPE = a4wide
+
1630 
+
1631 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+
1632 # that should be included in the LaTeX output. The package can be specified just
+
1633 # by its name or with the correct syntax as to be used with the LaTeX
+
1634 # \usepackage command. To get the times font for instance you can specify :
+
1635 # EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
+
1636 # To use the option intlimits with the amsmath package you can specify:
+
1637 # EXTRA_PACKAGES=[intlimits]{amsmath}
+
1638 # If left blank no extra packages will be included.
+
1639 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1640 
+
1641 EXTRA_PACKAGES =
+
1642 
+
1643 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+
1644 # generated LaTeX document. The header should contain everything until the first
+
1645 # chapter. If it is left blank doxygen will generate a standard header. See
+
1646 # section "Doxygen usage" for information on how to let doxygen write the
+
1647 # default header to a separate file.
+
1648 #
+
1649 # Note: Only use a user-defined header if you know what you are doing! The
+
1650 # following commands have a special meaning inside the header: $title,
+
1651 # $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+
1652 # $projectbrief, $projectlogo. Doxygen will replace $title with the empty
+
1653 # string, for the replacement values of the other commands the user is referred
+
1654 # to HTML_HEADER.
+
1655 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1656 
+
1657 LATEX_HEADER =
+
1658 
+
1659 # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+
1660 # generated LaTeX document. The footer should contain everything after the last
+
1661 # chapter. If it is left blank doxygen will generate a standard footer. See
+
1662 # LATEX_HEADER for more information on how to generate a default footer and what
+
1663 # special commands can be used inside the footer.
+
1664 #
+
1665 # Note: Only use a user-defined footer if you know what you are doing!
+
1666 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1667 
+
1668 LATEX_FOOTER =
+
1669 
+
1670 # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+
1671 # LaTeX style sheets that are included after the standard style sheets created
+
1672 # by doxygen. Using this option one can overrule certain style aspects. Doxygen
+
1673 # will copy the style sheet files to the output directory.
+
1674 # Note: The order of the extra style sheet files is of importance (e.g. the last
+
1675 # style sheet in the list overrules the setting of the previous ones in the
+
1676 # list).
+
1677 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1678 
+
1679 LATEX_EXTRA_STYLESHEET =
+
1680 
+
1681 # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+
1682 # other source files which should be copied to the LATEX_OUTPUT output
+
1683 # directory. Note that the files will be copied as-is; there are no commands or
+
1684 # markers available.
+
1685 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1686 
+
1687 LATEX_EXTRA_FILES =
+
1688 
+
1689 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+
1690 # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+
1691 # contain links (just like the HTML output) instead of page references. This
+
1692 # makes the output suitable for online browsing using a PDF viewer.
+
1693 # The default value is: YES.
+
1694 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1695 
+
1696 PDF_HYPERLINKS = NO
+
1697 
+
1698 # If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+
1699 # the PDF file directly from the LaTeX files. Set this option to YES, to get a
+
1700 # higher quality PDF documentation.
+
1701 # The default value is: YES.
+
1702 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1703 
+
1704 USE_PDFLATEX = YES
+
1705 
+
1706 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+
1707 # command to the generated LaTeX files. This will instruct LaTeX to keep running
+
1708 # if errors occur, instead of asking the user for help. This option is also used
+
1709 # when generating formulas in HTML.
+
1710 # The default value is: NO.
+
1711 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1712 
+
1713 LATEX_BATCHMODE = NO
+
1714 
+
1715 # If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+
1716 # index chapters (such as File Index, Compound Index, etc.) in the output.
+
1717 # The default value is: NO.
+
1718 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1719 
+
1720 LATEX_HIDE_INDICES = NO
+
1721 
+
1722 # If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+
1723 # code with syntax highlighting in the LaTeX output.
+
1724 #
+
1725 # Note that which sources are shown also depends on other settings such as
+
1726 # SOURCE_BROWSER.
+
1727 # The default value is: NO.
+
1728 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1729 
+
1730 LATEX_SOURCE_CODE = NO
+
1731 
+
1732 # The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+
1733 # bibliography, e.g. plainnat, or ieeetr. See
+
1734 # http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+
1735 # The default value is: plain.
+
1736 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1737 
+
1738 LATEX_BIB_STYLE = plain
+
1739 
+
1740 #---------------------------------------------------------------------------
+
1741 # Configuration options related to the RTF output
+
1742 #---------------------------------------------------------------------------
+
1743 
+
1744 # If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
+
1745 # RTF output is optimized for Word 97 and may not look too pretty with other RTF
+
1746 # readers/editors.
+
1747 # The default value is: NO.
+
1748 
+
1749 GENERATE_RTF = NO
+
1750 
+
1751 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+
1752 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1753 # it.
+
1754 # The default directory is: rtf.
+
1755 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1756 
+
1757 RTF_OUTPUT = glm.rtf
+
1758 
+
1759 # If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
+
1760 # documents. This may be useful for small projects and may help to save some
+
1761 # trees in general.
+
1762 # The default value is: NO.
+
1763 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1764 
+
1765 COMPACT_RTF = NO
+
1766 
+
1767 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+
1768 # contain hyperlink fields. The RTF file will contain links (just like the HTML
+
1769 # output) instead of page references. This makes the output suitable for online
+
1770 # browsing using Word or some other Word compatible readers that support those
+
1771 # fields.
+
1772 #
+
1773 # Note: WordPad (write) and others do not support links.
+
1774 # The default value is: NO.
+
1775 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1776 
+
1777 RTF_HYPERLINKS = YES
+
1778 
+
1779 # Load stylesheet definitions from file. Syntax is similar to doxygen's config
+
1780 # file, i.e. a series of assignments. You only have to provide replacements,
+
1781 # missing definitions are set to their default value.
+
1782 #
+
1783 # See also section "Doxygen usage" for information on how to generate the
+
1784 # default style sheet that doxygen normally uses.
+
1785 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1786 
+
1787 RTF_STYLESHEET_FILE =
+
1788 
+
1789 # Set optional variables used in the generation of an RTF document. Syntax is
+
1790 # similar to doxygen's config file. A template extensions file can be generated
+
1791 # using doxygen -e rtf extensionFile.
+
1792 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1793 
+
1794 RTF_EXTENSIONS_FILE =
+
1795 
+
1796 # If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
+
1797 # with syntax highlighting in the RTF output.
+
1798 #
+
1799 # Note that which sources are shown also depends on other settings such as
+
1800 # SOURCE_BROWSER.
+
1801 # The default value is: NO.
+
1802 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1803 
+
1804 RTF_SOURCE_CODE = NO
+
1805 
+
1806 #---------------------------------------------------------------------------
+
1807 # Configuration options related to the man page output
+
1808 #---------------------------------------------------------------------------
+
1809 
+
1810 # If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
+
1811 # classes and files.
+
1812 # The default value is: NO.
+
1813 
+
1814 GENERATE_MAN = NO
+
1815 
+
1816 # The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+
1817 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1818 # it. A directory man3 will be created inside the directory specified by
+
1819 # MAN_OUTPUT.
+
1820 # The default directory is: man.
+
1821 # This tag requires that the tag GENERATE_MAN is set to YES.
+
1822 
+
1823 MAN_OUTPUT = man
+
1824 
+
1825 # The MAN_EXTENSION tag determines the extension that is added to the generated
+
1826 # man pages. In case the manual section does not start with a number, the number
+
1827 # 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+
1828 # optional.
+
1829 # The default value is: .3.
+
1830 # This tag requires that the tag GENERATE_MAN is set to YES.
+
1831 
+
1832 MAN_EXTENSION = .3
+
1833 
+
1834 # The MAN_SUBDIR tag determines the name of the directory created within
+
1835 # MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+
1836 # MAN_EXTENSION with the initial . removed.
+
1837 # This tag requires that the tag GENERATE_MAN is set to YES.
+
1838 
+
1839 MAN_SUBDIR =
+
1840 
+
1841 # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+
1842 # will generate one additional man file for each entity documented in the real
+
1843 # man page(s). These additional files only source the real man page, but without
+
1844 # them the man command would be unable to find the correct page.
+
1845 # The default value is: NO.
+
1846 # This tag requires that the tag GENERATE_MAN is set to YES.
+
1847 
+
1848 MAN_LINKS = NO
+
1849 
+
1850 #---------------------------------------------------------------------------
+
1851 # Configuration options related to the XML output
+
1852 #---------------------------------------------------------------------------
+
1853 
+
1854 # If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
+
1855 # captures the structure of the code including all documentation.
+
1856 # The default value is: NO.
+
1857 
+
1858 GENERATE_XML = NO
+
1859 
+
1860 # The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+
1861 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1862 # it.
+
1863 # The default directory is: xml.
+
1864 # This tag requires that the tag GENERATE_XML is set to YES.
+
1865 
+
1866 XML_OUTPUT = xml
+
1867 
+
1868 # If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
+
1869 # listings (including syntax highlighting and cross-referencing information) to
+
1870 # the XML output. Note that enabling this will significantly increase the size
+
1871 # of the XML output.
+
1872 # The default value is: YES.
+
1873 # This tag requires that the tag GENERATE_XML is set to YES.
+
1874 
+
1875 XML_PROGRAMLISTING = YES
+
1876 
+
1877 #---------------------------------------------------------------------------
+
1878 # Configuration options related to the DOCBOOK output
+
1879 #---------------------------------------------------------------------------
+
1880 
+
1881 # If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
+
1882 # that can be used to generate PDF.
+
1883 # The default value is: NO.
+
1884 
+
1885 GENERATE_DOCBOOK = NO
+
1886 
+
1887 # The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+
1888 # If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+
1889 # front of it.
+
1890 # The default directory is: docbook.
+
1891 # This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
1892 
+
1893 DOCBOOK_OUTPUT = docbook
+
1894 
+
1895 # If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
+
1896 # program listings (including syntax highlighting and cross-referencing
+
1897 # information) to the DOCBOOK output. Note that enabling this will significantly
+
1898 # increase the size of the DOCBOOK output.
+
1899 # The default value is: NO.
+
1900 # This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
1901 
+
1902 DOCBOOK_PROGRAMLISTING = NO
+
1903 
+
1904 #---------------------------------------------------------------------------
+
1905 # Configuration options for the AutoGen Definitions output
+
1906 #---------------------------------------------------------------------------
+
1907 
+
1908 # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+
1909 # AutoGen Definitions (see http://autogen.sf.net) file that captures the
+
1910 # structure of the code including all documentation. Note that this feature is
+
1911 # still experimental and incomplete at the moment.
+
1912 # The default value is: NO.
+
1913 
+
1914 GENERATE_AUTOGEN_DEF = NO
+
1915 
+
1916 #---------------------------------------------------------------------------
+
1917 # Configuration options related to the Perl module output
+
1918 #---------------------------------------------------------------------------
+
1919 
+
1920 # If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
+
1921 # file that captures the structure of the code including all documentation.
+
1922 #
+
1923 # Note that this feature is still experimental and incomplete at the moment.
+
1924 # The default value is: NO.
+
1925 
+
1926 GENERATE_PERLMOD = NO
+
1927 
+
1928 # If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
+
1929 # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+
1930 # output from the Perl module output.
+
1931 # The default value is: NO.
+
1932 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
1933 
+
1934 PERLMOD_LATEX = NO
+
1935 
+
1936 # If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
+
1937 # formatted so it can be parsed by a human reader. This is useful if you want to
+
1938 # understand what is going on. On the other hand, if this tag is set to NO, the
+
1939 # size of the Perl module output will be much smaller and Perl will parse it
+
1940 # just the same.
+
1941 # The default value is: YES.
+
1942 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
1943 
+
1944 PERLMOD_PRETTY = YES
+
1945 
+
1946 # The names of the make variables in the generated doxyrules.make file are
+
1947 # prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+
1948 # so different doxyrules.make files included by the same Makefile don't
+
1949 # overwrite each other's variables.
+
1950 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
1951 
+
1952 PERLMOD_MAKEVAR_PREFIX =
+
1953 
+
1954 #---------------------------------------------------------------------------
+
1955 # Configuration options related to the preprocessor
+
1956 #---------------------------------------------------------------------------
+
1957 
+
1958 # If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
+
1959 # C-preprocessor directives found in the sources and include files.
+
1960 # The default value is: YES.
+
1961 
+
1962 ENABLE_PREPROCESSING = YES
+
1963 
+
1964 # If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+
1965 # in the source code. If set to NO, only conditional compilation will be
+
1966 # performed. Macro expansion can be done in a controlled way by setting
+
1967 # EXPAND_ONLY_PREDEF to YES.
+
1968 # The default value is: NO.
+
1969 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1970 
+
1971 MACRO_EXPANSION = NO
+
1972 
+
1973 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+
1974 # the macro expansion is limited to the macros specified with the PREDEFINED and
+
1975 # EXPAND_AS_DEFINED tags.
+
1976 # The default value is: NO.
+
1977 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1978 
+
1979 EXPAND_ONLY_PREDEF = NO
+
1980 
+
1981 # If the SEARCH_INCLUDES tag is set to YES, the include files in the
+
1982 # INCLUDE_PATH will be searched if a #include is found.
+
1983 # The default value is: YES.
+
1984 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1985 
+
1986 SEARCH_INCLUDES = YES
+
1987 
+
1988 # The INCLUDE_PATH tag can be used to specify one or more directories that
+
1989 # contain include files that are not input files but should be processed by the
+
1990 # preprocessor.
+
1991 # This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
1992 
+
1993 INCLUDE_PATH =
+
1994 
+
1995 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+
1996 # patterns (like *.h and *.hpp) to filter out the header-files in the
+
1997 # directories. If left blank, the patterns specified with FILE_PATTERNS will be
+
1998 # used.
+
1999 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
2000 
+
2001 INCLUDE_FILE_PATTERNS =
+
2002 
+
2003 # The PREDEFINED tag can be used to specify one or more macro names that are
+
2004 # defined before the preprocessor is started (similar to the -D option of e.g.
+
2005 # gcc). The argument of the tag is a list of macros of the form: name or
+
2006 # name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+
2007 # is assumed. To prevent a macro definition from being undefined via #undef or
+
2008 # recursively expanded use the := operator instead of the = operator.
+
2009 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
2010 
+
2011 PREDEFINED =
+
2012 
+
2013 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+
2014 # tag can be used to specify a list of macro names that should be expanded. The
+
2015 # macro definition that is found in the sources will be used. Use the PREDEFINED
+
2016 # tag if you want to use a different macro definition that overrules the
+
2017 # definition found in the source code.
+
2018 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
2019 
+
2020 EXPAND_AS_DEFINED =
+
2021 
+
2022 # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+
2023 # remove all references to function-like macros that are alone on a line, have
+
2024 # an all uppercase name, and do not end with a semicolon. Such function macros
+
2025 # are typically used for boiler-plate code, and will confuse the parser if not
+
2026 # removed.
+
2027 # The default value is: YES.
+
2028 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
2029 
+
2030 SKIP_FUNCTION_MACROS = YES
+
2031 
+
2032 #---------------------------------------------------------------------------
+
2033 # Configuration options related to external references
+
2034 #---------------------------------------------------------------------------
+
2035 
+
2036 # The TAGFILES tag can be used to specify one or more tag files. For each tag
+
2037 # file the location of the external documentation should be added. The format of
+
2038 # a tag file without this location is as follows:
+
2039 # TAGFILES = file1 file2 ...
+
2040 # Adding location for the tag files is done as follows:
+
2041 # TAGFILES = file1=loc1 "file2 = loc2" ...
+
2042 # where loc1 and loc2 can be relative or absolute paths or URLs. See the
+
2043 # section "Linking to external documentation" for more information about the use
+
2044 # of tag files.
+
2045 # Note: Each tag file must have a unique name (where the name does NOT include
+
2046 # the path). If a tag file is not located in the directory in which doxygen is
+
2047 # run, you must also specify the path to the tagfile here.
+
2048 
+
2049 TAGFILES =
+
2050 
+
2051 # When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+
2052 # tag file that is based on the input files it reads. See section "Linking to
+
2053 # external documentation" for more information about the usage of tag files.
+
2054 
+
2055 GENERATE_TAGFILE =
+
2056 
+
2057 # If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+
2058 # the class index. If set to NO, only the inherited external classes will be
+
2059 # listed.
+
2060 # The default value is: NO.
+
2061 
+
2062 ALLEXTERNALS = NO
+
2063 
+
2064 # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+
2065 # in the modules index. If set to NO, only the current project's groups will be
+
2066 # listed.
+
2067 # The default value is: YES.
+
2068 
+
2069 EXTERNAL_GROUPS = YES
+
2070 
+
2071 # If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
+
2072 # the related pages index. If set to NO, only the current project's pages will
+
2073 # be listed.
+
2074 # The default value is: YES.
+
2075 
+
2076 EXTERNAL_PAGES = YES
+
2077 
+
2078 # The PERL_PATH should be the absolute path and name of the perl script
+
2079 # interpreter (i.e. the result of 'which perl').
+
2080 # The default file (with absolute path) is: /usr/bin/perl.
+
2081 
+
2082 PERL_PATH = /usr/bin/perl
+
2083 
+
2084 #---------------------------------------------------------------------------
+
2085 # Configuration options related to the dot tool
+
2086 #---------------------------------------------------------------------------
+
2087 
+
2088 # If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
+
2089 # (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+
2090 # NO turns the diagrams off. Note that this option also works with HAVE_DOT
+
2091 # disabled, but it is recommended to install and use dot, since it yields more
+
2092 # powerful graphs.
+
2093 # The default value is: YES.
+
2094 
+
2095 CLASS_DIAGRAMS = YES
+
2096 
+
2097 # You can define message sequence charts within doxygen comments using the \msc
+
2098 # command. Doxygen will then run the mscgen tool (see:
+
2099 # http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+
2100 # documentation. The MSCGEN_PATH tag allows you to specify the directory where
+
2101 # the mscgen tool resides. If left empty the tool is assumed to be found in the
+
2102 # default search path.
+
2103 
+
2104 MSCGEN_PATH =
+
2105 
+
2106 # You can include diagrams made with dia in doxygen documentation. Doxygen will
+
2107 # then run dia to produce the diagram and insert it in the documentation. The
+
2108 # DIA_PATH tag allows you to specify the directory where the dia binary resides.
+
2109 # If left empty dia is assumed to be found in the default search path.
+
2110 
+
2111 DIA_PATH =
+
2112 
+
2113 # If set to YES the inheritance and collaboration graphs will hide inheritance
+
2114 # and usage relations if the target is undocumented or is not a class.
+
2115 # The default value is: YES.
+
2116 
+
2117 HIDE_UNDOC_RELATIONS = YES
+
2118 
+
2119 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+
2120 # available from the path. This tool is part of Graphviz (see:
+
2121 # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+
2122 # Bell Labs. The other options in this section have no effect if this option is
+
2123 # set to NO
+
2124 # The default value is: NO.
+
2125 
+
2126 HAVE_DOT = NO
+
2127 
+
2128 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+
2129 # to run in parallel. When set to 0 doxygen will base this on the number of
+
2130 # processors available in the system. You can set it explicitly to a value
+
2131 # larger than 0 to get control over the balance between CPU load and processing
+
2132 # speed.
+
2133 # Minimum value: 0, maximum value: 32, default value: 0.
+
2134 # This tag requires that the tag HAVE_DOT is set to YES.
+
2135 
+
2136 DOT_NUM_THREADS = 0
+
2137 
+
2138 # When you want a differently looking font in the dot files that doxygen
+
2139 # generates you can specify the font name using DOT_FONTNAME. You need to make
+
2140 # sure dot is able to find the font, which can be done by putting it in a
+
2141 # standard location or by setting the DOTFONTPATH environment variable or by
+
2142 # setting DOT_FONTPATH to the directory containing the font.
+
2143 # The default value is: Helvetica.
+
2144 # This tag requires that the tag HAVE_DOT is set to YES.
+
2145 
+
2146 DOT_FONTNAME = Helvetica
+
2147 
+
2148 # The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+
2149 # dot graphs.
+
2150 # Minimum value: 4, maximum value: 24, default value: 10.
+
2151 # This tag requires that the tag HAVE_DOT is set to YES.
+
2152 
+
2153 DOT_FONTSIZE = 10
+
2154 
+
2155 # By default doxygen will tell dot to use the default font as specified with
+
2156 # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+
2157 # the path where dot can find it using this tag.
+
2158 # This tag requires that the tag HAVE_DOT is set to YES.
+
2159 
+
2160 DOT_FONTPATH =
+
2161 
+
2162 # If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+
2163 # each documented class showing the direct and indirect inheritance relations.
+
2164 # Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+
2165 # The default value is: YES.
+
2166 # This tag requires that the tag HAVE_DOT is set to YES.
+
2167 
+
2168 CLASS_GRAPH = YES
+
2169 
+
2170 # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+
2171 # graph for each documented class showing the direct and indirect implementation
+
2172 # dependencies (inheritance, containment, and class references variables) of the
+
2173 # class with other documented classes.
+
2174 # The default value is: YES.
+
2175 # This tag requires that the tag HAVE_DOT is set to YES.
+
2176 
+
2177 COLLABORATION_GRAPH = YES
+
2178 
+
2179 # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+
2180 # groups, showing the direct groups dependencies.
+
2181 # The default value is: YES.
+
2182 # This tag requires that the tag HAVE_DOT is set to YES.
+
2183 
+
2184 GROUP_GRAPHS = YES
+
2185 
+
2186 # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
+
2187 # collaboration diagrams in a style similar to the OMG's Unified Modeling
+
2188 # Language.
+
2189 # The default value is: NO.
+
2190 # This tag requires that the tag HAVE_DOT is set to YES.
+
2191 
+
2192 UML_LOOK = NO
+
2193 
+
2194 # If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+
2195 # class node. If there are many fields or methods and many nodes the graph may
+
2196 # become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+
2197 # number of items for each type to make the size more manageable. Set this to 0
+
2198 # for no limit. Note that the threshold may be exceeded by 50% before the limit
+
2199 # is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+
2200 # but if the number exceeds 15, the total amount of fields shown is limited to
+
2201 # 10.
+
2202 # Minimum value: 0, maximum value: 100, default value: 10.
+
2203 # This tag requires that the tag HAVE_DOT is set to YES.
+
2204 
+
2205 UML_LIMIT_NUM_FIELDS = 10
+
2206 
+
2207 # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+
2208 # collaboration graphs will show the relations between templates and their
+
2209 # instances.
+
2210 # The default value is: NO.
+
2211 # This tag requires that the tag HAVE_DOT is set to YES.
+
2212 
+
2213 TEMPLATE_RELATIONS = NO
+
2214 
+
2215 # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+
2216 # YES then doxygen will generate a graph for each documented file showing the
+
2217 # direct and indirect include dependencies of the file with other documented
+
2218 # files.
+
2219 # The default value is: YES.
+
2220 # This tag requires that the tag HAVE_DOT is set to YES.
+
2221 
+
2222 INCLUDE_GRAPH = YES
+
2223 
+
2224 # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+
2225 # set to YES then doxygen will generate a graph for each documented file showing
+
2226 # the direct and indirect include dependencies of the file with other documented
+
2227 # files.
+
2228 # The default value is: YES.
+
2229 # This tag requires that the tag HAVE_DOT is set to YES.
+
2230 
+
2231 INCLUDED_BY_GRAPH = YES
+
2232 
+
2233 # If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+
2234 # dependency graph for every global function or class method.
+
2235 #
+
2236 # Note that enabling this option will significantly increase the time of a run.
+
2237 # So in most cases it will be better to enable call graphs for selected
+
2238 # functions only using the \callgraph command. Disabling a call graph can be
+
2239 # accomplished by means of the command \hidecallgraph.
+
2240 # The default value is: NO.
+
2241 # This tag requires that the tag HAVE_DOT is set to YES.
+
2242 
+
2243 CALL_GRAPH = YES
+
2244 
+
2245 # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+
2246 # dependency graph for every global function or class method.
+
2247 #
+
2248 # Note that enabling this option will significantly increase the time of a run.
+
2249 # So in most cases it will be better to enable caller graphs for selected
+
2250 # functions only using the \callergraph command. Disabling a caller graph can be
+
2251 # accomplished by means of the command \hidecallergraph.
+
2252 # The default value is: NO.
+
2253 # This tag requires that the tag HAVE_DOT is set to YES.
+
2254 
+
2255 CALLER_GRAPH = YES
+
2256 
+
2257 # If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+
2258 # hierarchy of all classes instead of a textual one.
+
2259 # The default value is: YES.
+
2260 # This tag requires that the tag HAVE_DOT is set to YES.
+
2261 
+
2262 GRAPHICAL_HIERARCHY = YES
+
2263 
+
2264 # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+
2265 # dependencies a directory has on other directories in a graphical way. The
+
2266 # dependency relations are determined by the #include relations between the
+
2267 # files in the directories.
+
2268 # The default value is: YES.
+
2269 # This tag requires that the tag HAVE_DOT is set to YES.
+
2270 
+
2271 DIRECTORY_GRAPH = YES
+
2272 
+
2273 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+
2274 # generated by dot. For an explanation of the image formats see the section
+
2275 # output formats in the documentation of the dot tool (Graphviz (see:
+
2276 # http://www.graphviz.org/)).
+
2277 # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+
2278 # to make the SVG files visible in IE 9+ (other browsers do not have this
+
2279 # requirement).
+
2280 # Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
+
2281 # png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
+
2282 # png:gdiplus:gdiplus.
+
2283 # The default value is: png.
+
2284 # This tag requires that the tag HAVE_DOT is set to YES.
+
2285 
+
2286 DOT_IMAGE_FORMAT = png
+
2287 
+
2288 # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+
2289 # enable generation of interactive SVG images that allow zooming and panning.
+
2290 #
+
2291 # Note that this requires a modern browser other than Internet Explorer. Tested
+
2292 # and working are Firefox, Chrome, Safari, and Opera.
+
2293 # Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+
2294 # the SVG files visible. Older versions of IE do not have SVG support.
+
2295 # The default value is: NO.
+
2296 # This tag requires that the tag HAVE_DOT is set to YES.
+
2297 
+
2298 INTERACTIVE_SVG = NO
+
2299 
+
2300 # The DOT_PATH tag can be used to specify the path where the dot tool can be
+
2301 # found. If left blank, it is assumed the dot tool can be found in the path.
+
2302 # This tag requires that the tag HAVE_DOT is set to YES.
+
2303 
+
2304 DOT_PATH =
+
2305 
+
2306 # The DOTFILE_DIRS tag can be used to specify one or more directories that
+
2307 # contain dot files that are included in the documentation (see the \dotfile
+
2308 # command).
+
2309 # This tag requires that the tag HAVE_DOT is set to YES.
+
2310 
+
2311 DOTFILE_DIRS =
+
2312 
+
2313 # The MSCFILE_DIRS tag can be used to specify one or more directories that
+
2314 # contain msc files that are included in the documentation (see the \mscfile
+
2315 # command).
+
2316 
+
2317 MSCFILE_DIRS =
+
2318 
+
2319 # The DIAFILE_DIRS tag can be used to specify one or more directories that
+
2320 # contain dia files that are included in the documentation (see the \diafile
+
2321 # command).
+
2322 
+
2323 DIAFILE_DIRS =
+
2324 
+
2325 # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+
2326 # path where java can find the plantuml.jar file. If left blank, it is assumed
+
2327 # PlantUML is not used or called during a preprocessing step. Doxygen will
+
2328 # generate a warning when it encounters a \startuml command in this case and
+
2329 # will not generate output for the diagram.
+
2330 
+
2331 PLANTUML_JAR_PATH =
+
2332 
+
2333 # When using plantuml, the specified paths are searched for files specified by
+
2334 # the !include statement in a plantuml block.
+
2335 
+
2336 PLANTUML_INCLUDE_PATH =
+
2337 
+
2338 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+
2339 # that will be shown in the graph. If the number of nodes in a graph becomes
+
2340 # larger than this value, doxygen will truncate the graph, which is visualized
+
2341 # by representing a node as a red box. Note that doxygen if the number of direct
+
2342 # children of the root node in a graph is already larger than
+
2343 # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+
2344 # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
2345 # Minimum value: 0, maximum value: 10000, default value: 50.
+
2346 # This tag requires that the tag HAVE_DOT is set to YES.
+
2347 
+
2348 DOT_GRAPH_MAX_NODES = 50
+
2349 
+
2350 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+
2351 # generated by dot. A depth value of 3 means that only nodes reachable from the
+
2352 # root by following a path via at most 3 edges will be shown. Nodes that lay
+
2353 # further from the root node will be omitted. Note that setting this option to 1
+
2354 # or 2 may greatly reduce the computation time needed for large code bases. Also
+
2355 # note that the size of a graph can be further restricted by
+
2356 # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
2357 # Minimum value: 0, maximum value: 1000, default value: 0.
+
2358 # This tag requires that the tag HAVE_DOT is set to YES.
+
2359 
+
2360 MAX_DOT_GRAPH_DEPTH = 1000
+
2361 
+
2362 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+
2363 # background. This is disabled by default, because dot on Windows does not seem
+
2364 # to support this out of the box.
+
2365 #
+
2366 # Warning: Depending on the platform used, enabling this option may lead to
+
2367 # badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+
2368 # read).
+
2369 # The default value is: NO.
+
2370 # This tag requires that the tag HAVE_DOT is set to YES.
+
2371 
+
2372 DOT_TRANSPARENT = NO
+
2373 
+
2374 # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
+
2375 # files in one run (i.e. multiple -o and -T options on the command line). This
+
2376 # makes dot run faster, but since only newer versions of dot (>1.8.10) support
+
2377 # this, this feature is disabled by default.
+
2378 # The default value is: NO.
+
2379 # This tag requires that the tag HAVE_DOT is set to YES.
+
2380 
+
2381 DOT_MULTI_TARGETS = NO
+
2382 
+
2383 # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+
2384 # explaining the meaning of the various boxes and arrows in the dot generated
+
2385 # graphs.
+
2386 # The default value is: YES.
+
2387 # This tag requires that the tag HAVE_DOT is set to YES.
+
2388 
+
2389 GENERATE_LEGEND = YES
+
2390 
+
2391 # If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
+
2392 # files that are used to generate the various graphs.
+
2393 # The default value is: YES.
+
2394 # This tag requires that the tag HAVE_DOT is set to YES.
+
2395 
+
2396 DOT_CLEANUP = YES
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00058.html b/doc/api/a00058.html index 6346b59e..e9dd025a 100644 --- a/doc/api/a00058.html +++ b/doc/api/a00058.html @@ -3,8 +3,8 @@ - -0.9.6: mat2x4.hpp File Reference + +0.9.7: mat2x2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat2x4.hpp File Reference
+
mat2x2.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat2x4.hpp.

+

Definition in file mat2x2.hpp.

diff --git a/doc/api/a00058_source.html b/doc/api/a00058_source.html index 5defca57..f182e64d 100644 --- a/doc/api/a00058_source.html +++ b/doc/api/a00058_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat2x4.hpp Source File + +0.9.7: mat2x2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat2x4.hpp
+
mat2x2.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_mat2x4.hpp"
+
35 #include "detail/type_mat2x2.hpp"
36 
-
37 namespace glm
+
37 namespace glm
38 {
-
44  typedef tmat2x4<float, lowp> lowp_mat2x4;
+
44  typedef tmat2x2<float, lowp> lowp_mat2;
45 
-
51  typedef tmat2x4<float, mediump> mediump_mat2x4;
+
51  typedef tmat2x2<float, mediump> mediump_mat2;
52 
-
58  typedef tmat2x4<float, highp> highp_mat2x4;
-
59 
-
60 }//namespace glm
-
OpenGL Mathematics (glm.g-truc.net)
-
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
-
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
-
Definition: _noise.hpp:39
-
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
+
58  typedef tmat2x2<float, highp> highp_mat2;
+
59 
+
65  typedef tmat2x2<float, lowp> lowp_mat2x2;
+
66 
+
72  typedef tmat2x2<float, mediump> mediump_mat2x2;
+
73 
+
79  typedef tmat2x2<float, highp> highp_mat2x2;
+
80 
+
81 }//namespace glm
+
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:72
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
+
Definition: _noise.hpp:40
+
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
+
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:79
+
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
+
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:65
diff --git a/doc/api/a00059.html b/doc/api/a00059.html index 2eefc61f..044915bd 100644 --- a/doc/api/a00059.html +++ b/doc/api/a00059.html @@ -3,8 +3,8 @@ - -0.9.6: mat3x2.hpp File Reference + +0.9.7: mat2x3.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat3x2.hpp File Reference
+
mat2x3.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat3x2.hpp.

+

Definition in file mat2x3.hpp.

diff --git a/doc/api/a00059_source.html b/doc/api/a00059_source.html index 9d80e1ee..784348a9 100644 --- a/doc/api/a00059_source.html +++ b/doc/api/a00059_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat3x2.hpp Source File + +0.9.7: mat2x3.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat3x2.hpp
+
mat2x3.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_mat3x2.hpp"
+
35 #include "detail/type_mat2x3.hpp"
36 
-
37 namespace glm
+
37 namespace glm
38 {
-
44  typedef tmat3x2<float, lowp> lowp_mat3x2;
-
45 
-
51  typedef tmat3x2<float, mediump> mediump_mat3x2;
-
52 
-
58  typedef tmat3x2<float, highp> highp_mat3x2;
+
44  typedef tmat2x3<float, lowp> lowp_mat2x3;
+
45 
+
51  typedef tmat2x3<float, mediump> mediump_mat2x3;
+
52 
+
58  typedef tmat2x3<float, highp> highp_mat2x3;
59 
-
60 }//namespace
-
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
-
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
-
OpenGL Mathematics (glm.g-truc.net)
-
Definition: _noise.hpp:39
-
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
+
60 }//namespace glm
+
61 
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
+
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
+
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00060.html b/doc/api/a00060.html index 37cef437..b07f429c 100644 --- a/doc/api/a00060.html +++ b/doc/api/a00060.html @@ -3,8 +3,8 @@ - -0.9.6: mat3x3.hpp File Reference + +0.9.7: mat2x4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat3x3.hpp File Reference
+
mat2x4.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat3x3.hpp.

+

Definition in file mat2x4.hpp.

diff --git a/doc/api/a00060_source.html b/doc/api/a00060_source.html index 52e93a65..a572c751 100644 --- a/doc/api/a00060_source.html +++ b/doc/api/a00060_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat3x3.hpp Source File + +0.9.7: mat2x4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat3x3.hpp
+
mat2x4.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_mat3x3.hpp"
+
35 #include "detail/type_mat2x4.hpp"
36 
-
37 namespace glm
+
37 namespace glm
38 {
-
44  typedef tmat3x3<float, lowp> lowp_mat3;
+
44  typedef tmat2x4<float, lowp> lowp_mat2x4;
45 
-
51  typedef tmat3x3<float, mediump> mediump_mat3;
+
51  typedef tmat2x4<float, mediump> mediump_mat2x4;
52 
-
58  typedef tmat3x3<float, highp> highp_mat3;
-
59 
-
65  typedef tmat3x3<float, lowp> lowp_mat3x3;
-
66 
-
72  typedef tmat3x3<float, mediump> mediump_mat3x3;
-
73 
-
79  typedef tmat3x3<float, highp> highp_mat3x3;
-
80 
-
81 }//namespace glm
-
OpenGL Mathematics (glm.g-truc.net)
-
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
-
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
-
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:197
-
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:204
-
Definition: _noise.hpp:39
-
tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
-
tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:190
+
58  typedef tmat2x4<float, highp> highp_mat2x4;
+
59 
+
60 }//namespace glm
+
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
+
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00061.html b/doc/api/a00061.html index beb01710..1c2251f6 100644 --- a/doc/api/a00061.html +++ b/doc/api/a00061.html @@ -3,8 +3,8 @@ - -0.9.6: mat3x4.hpp File Reference + +0.9.7: mat3x2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat3x4.hpp File Reference
+
mat3x2.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat3x4.hpp.

+

Definition in file mat3x2.hpp.

diff --git a/doc/api/a00061_source.html b/doc/api/a00061_source.html index 4df4e193..9f9b1313 100644 --- a/doc/api/a00061_source.html +++ b/doc/api/a00061_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat3x4.hpp Source File + +0.9.7: mat3x2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat3x4.hpp
+
mat3x2.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_mat3x4.hpp"
+
35 #include "detail/type_mat3x2.hpp"
36 
-
37 namespace glm
+
37 namespace glm
38 {
-
44  typedef tmat3x4<float, lowp> lowp_mat3x4;
+
44  typedef tmat3x2<float, lowp> lowp_mat3x2;
45 
-
51  typedef tmat3x4<float, mediump> mediump_mat3x4;
+
51  typedef tmat3x2<float, mediump> mediump_mat3x2;
52 
-
58  typedef tmat3x4<float, highp> highp_mat3x4;
+
58  typedef tmat3x2<float, highp> highp_mat3x2;
59 
-
60 }//namespace glm
-
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
-
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
-
OpenGL Mathematics (glm.g-truc.net)
-
Definition: _noise.hpp:39
-
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
+
60 }//namespace
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
+
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
+
Definition: _noise.hpp:40
+
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
diff --git a/doc/api/a00062.html b/doc/api/a00062.html index 37435b5b..a29ea7d3 100644 --- a/doc/api/a00062.html +++ b/doc/api/a00062.html @@ -3,8 +3,8 @@ - -0.9.6: mat4x2.hpp File Reference + +0.9.7: mat3x3.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat4x2.hpp File Reference
+
mat3x3.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat4x2.hpp.

+

Definition in file mat3x3.hpp.

diff --git a/doc/api/a00062_source.html b/doc/api/a00062_source.html index 153f2da4..53861a68 100644 --- a/doc/api/a00062_source.html +++ b/doc/api/a00062_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat4x2.hpp Source File + +0.9.7: mat3x3.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat4x2.hpp
+
mat3x3.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_mat4x2.hpp"
+
35 #include "detail/type_mat3x3.hpp"
36 
-
37 namespace glm
+
37 namespace glm
38 {
-
44  typedef tmat4x2<float, lowp> lowp_mat4x2;
+
44  typedef tmat3x3<float, lowp> lowp_mat3;
45 
-
51  typedef tmat4x2<float, mediump> mediump_mat4x2;
+
51  typedef tmat3x3<float, mediump> mediump_mat3;
52 
-
58  typedef tmat4x2<float, highp> highp_mat4x2;
-
59 
-
60 }//namespace glm
-
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
-
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
-
OpenGL Mathematics (glm.g-truc.net)
-
Definition: _noise.hpp:39
-
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
+
58  typedef tmat3x3<float, highp> highp_mat3;
+
59 
+
65  typedef tmat3x3<float, lowp> lowp_mat3x3;
+
66 
+
72  typedef tmat3x3<float, mediump> mediump_mat3x3;
+
73 
+
79  typedef tmat3x3<float, highp> highp_mat3x3;
+
80 
+
81 }//namespace glm
+
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:197
+
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
+
tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:190
+
tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
+
Definition: _noise.hpp:40
+
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:204
diff --git a/doc/api/a00057.html b/doc/api/a00063.html similarity index 75% rename from doc/api/a00057.html rename to doc/api/a00063.html index b0e3c06a..c2976b7b 100644 --- a/doc/api/a00057.html +++ b/doc/api/a00063.html @@ -3,8 +3,8 @@ - -0.9.6: mat2x3.hpp File Reference + +0.9.7: mat3x4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat2x3.hpp File Reference
+
mat3x4.hpp File Reference
-

Go to the source code of this file.

+

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat2x3.hpp.

+

Definition in file mat3x4.hpp.

diff --git a/doc/api/a00063_source.html b/doc/api/a00063_source.html index e6280dc2..03d24b73 100644 --- a/doc/api/a00063_source.html +++ b/doc/api/a00063_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat4x3.hpp Source File + +0.9.7: mat3x4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat4x3.hpp
+
mat3x4.hpp
-
1 
+Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_mat4x3.hpp"
+
35 #include "detail/type_mat3x4.hpp"
36 
-
37 namespace glm
+
37 namespace glm
38 {
-
44  typedef tmat4x3<float, lowp> lowp_mat4x3;
+
44  typedef tmat3x4<float, lowp> lowp_mat3x4;
45 
-
51  typedef tmat4x3<float, mediump> mediump_mat4x3;
+
51  typedef tmat3x4<float, mediump> mediump_mat3x4;
52 
-
58  typedef tmat4x3<float, highp> highp_mat4x3;
+
58  typedef tmat3x4<float, highp> highp_mat3x4;
59 
60 }//namespace glm
-
OpenGL Mathematics (glm.g-truc.net)
-
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:296
-
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:303
-
Definition: _noise.hpp:39
-
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:289
+
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:40
+
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
+
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
diff --git a/doc/api/a00064.html b/doc/api/a00064.html index d9f9af61..e75f7e34 100644 --- a/doc/api/a00064.html +++ b/doc/api/a00064.html @@ -3,8 +3,8 @@ - -0.9.6: mat4x4.hpp File Reference + +0.9.7: mat4x2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat4x4.hpp File Reference
+
mat4x2.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat4x4.hpp.

+

Definition in file mat4x2.hpp.

diff --git a/doc/api/a00064_source.html b/doc/api/a00064_source.html index a1885b36..f6fb4194 100644 --- a/doc/api/a00064_source.html +++ b/doc/api/a00064_source.html @@ -3,8 +3,8 @@ - -0.9.6: mat4x4.hpp Source File + +0.9.7: mat4x2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mat4x4.hpp
+
mat4x2.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_mat4x4.hpp"
+
35 #include "detail/type_mat4x2.hpp"
36 
-
37 namespace glm
+
37 namespace glm
38 {
-
44  typedef tmat4x4<float, lowp> lowp_mat4;
+
44  typedef tmat4x2<float, lowp> lowp_mat4x2;
45 
-
51  typedef tmat4x4<float, mediump> mediump_mat4;
+
51  typedef tmat4x2<float, mediump> mediump_mat4x2;
52 
-
58  typedef tmat4x4<float, highp> highp_mat4;
-
59 
-
65  typedef tmat4x4<float, lowp> lowp_mat4x4;
-
66 
-
72  typedef tmat4x4<float, mediump> mediump_mat4x4;
-
73 
-
79  typedef tmat4x4<float, highp> highp_mat4x4;
-
80 
-
81 }//namespace glm
-
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:337
-
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:316
-
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:344
-
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:323
-
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:351
-
Definition: _noise.hpp:39
-
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:330
-
OpenGL Mathematics (glm.g-truc.net)
+
58  typedef tmat4x2<float, highp> highp_mat4x2;
+
59 
+
60 }//namespace glm
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
+
Definition: _noise.hpp:40
+
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
+
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
diff --git a/doc/api/a00065_source.html b/doc/api/a00065_source.html index 1f0bbbf4..d18acc99 100644 --- a/doc/api/a00065_source.html +++ b/doc/api/a00065_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix.hpp Source File + +0.9.7: mat4x3.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix.hpp
+
mat4x3.hpp
-Go to the documentation of this file.
1 
+
1 
33 #pragma once
34 
-
35 #include "detail/func_matrix.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
+
35 #include "detail/type_mat4x3.hpp"
+
36 
+
37 namespace glm
+
38 {
+
44  typedef tmat4x3<float, lowp> lowp_mat4x3;
+
45 
+
51  typedef tmat4x3<float, mediump> mediump_mat4x3;
+
52 
+
58  typedef tmat4x3<float, highp> highp_mat4x3;
+
59 
+
60 }//namespace glm
+
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:303
+
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:289
+
Definition: _noise.hpp:40
+
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:296
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00066.html b/doc/api/a00066.html index 06a34982..e9d3ffde 100644 --- a/doc/api/a00066.html +++ b/doc/api/a00066.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_access.hpp File Reference + +0.9.7: mat4x4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
matrix_access.hpp File Reference
+
mat4x4.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType::col_type column (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType column (genType const &m, length_t index, typename genType::col_type const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::row_type row (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType row (genType const &m, length_t index, typename genType::row_type const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_matrix_access

-
Date
2005-12-27 / 2011-05-16
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
-

Definition in file matrix_access.hpp.

+

Definition in file mat4x4.hpp.

diff --git a/doc/api/a00066_source.html b/doc/api/a00066_source.html index f765fd94..1924241b 100644 --- a/doc/api/a00066_source.html +++ b/doc/api/a00066_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_access.hpp Source File + +0.9.7: mat4x4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_access.hpp
+
mat4x4.hpp
Go to the documentation of this file.
1 
-
41 #pragma once
-
42 
-
43 // Dependency:
-
44 #include "../detail/setup.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTC_matrix_access extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename genType>
-
58  GLM_FUNC_DECL typename genType::row_type row(
-
59  genType const & m,
-
60  length_t index);
-
61 
-
64  template <typename genType>
-
65  GLM_FUNC_DECL genType row(
-
66  genType const & m,
-
67  length_t index,
-
68  typename genType::row_type const & x);
-
69 
-
72  template <typename genType>
-
73  GLM_FUNC_DECL typename genType::col_type column(
-
74  genType const & m,
-
75  length_t index);
-
76 
-
79  template <typename genType>
-
80  GLM_FUNC_DECL genType column(
-
81  genType const & m,
-
82  length_t index,
-
83  typename genType::col_type const & x);
-
84 
-
86 }//namespace glm
-
87 
-
88 #include "matrix_access.inl"
-
GLM_FUNC_DECL genType row(genType const &m, length_t index, typename genType::row_type const &x)
Set a specific row to a matrix.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType column(genType const &m, length_t index, typename genType::col_type const &x)
Set a specific column to a matrix.
+
33 #pragma once
+
34 
+
35 #include "detail/type_mat4x4.hpp"
+
36 
+
37 namespace glm
+
38 {
+
44  typedef tmat4x4<float, lowp> lowp_mat4;
+
45 
+
51  typedef tmat4x4<float, mediump> mediump_mat4;
+
52 
+
58  typedef tmat4x4<float, highp> highp_mat4;
+
59 
+
65  typedef tmat4x4<float, lowp> lowp_mat4x4;
+
66 
+
72  typedef tmat4x4<float, mediump> mediump_mat4x4;
+
73 
+
79  typedef tmat4x4<float, highp> highp_mat4x4;
+
80 
+
81 }//namespace glm
+
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:337
+
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:330
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:40
+
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:316
+
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:351
+
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:323
+
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:344
diff --git a/doc/api/a00067.html b/doc/api/a00067.html index 30806250..c317f8a6 100644 --- a/doc/api/a00067.html +++ b/doc/api/a00067.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_cross_product.hpp File Reference + +0.9.7: matrix.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
matrix_cross_product.hpp File Reference
+
matrix.hpp File Reference

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > matrixCross3 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > matrixCross4 (tvec3< T, P > const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_matrix_cross_product

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
-

Definition in file matrix_cross_product.hpp.

+

Definition in file matrix.hpp.

diff --git a/doc/api/a00067_source.html b/doc/api/a00067_source.html index b1c47d72..fb3c7491 100644 --- a/doc/api/a00067_source.html +++ b/doc/api/a00067_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_cross_product.hpp Source File + +0.9.7: matrix.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_cross_product.hpp
+
matrix.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename T, precision P>
-
60  GLM_FUNC_DECL tmat3x3<T, P> matrixCross3(
-
61  tvec3<T, P> const & x);
-
62 
-
65  template <typename T, precision P>
-
66  GLM_FUNC_DECL tmat4x4<T, P> matrixCross4(
-
67  tvec3<T, P> const & x);
-
68 
-
70 }//namespace glm
-
71 
-
72 #include "matrix_cross_product.inl"
-
GLM_FUNC_DECL tmat4x4< T, P > matrixCross4(tvec3< T, P > const &x)
Build a cross product matrix.
-
GLM_FUNC_DECL tmat3x3< T, P > matrixCross3(tvec3< T, P > const &x)
Build a cross product matrix.
-
Definition: _noise.hpp:39
+
33 #pragma once
+
34 
+
35 #include "detail/func_matrix.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00068.html b/doc/api/a00068.html index 163d9030..2728d67b 100644 --- a/doc/api/a00068.html +++ b/doc/api/a00068.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_decompose.hpp File Reference + +0.9.7: matrix_access.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_decompose.hpp File Reference
+
matrix_access.hpp File Reference
@@ -56,28 +56,37 @@ - - - + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL bool decompose (tmat4x4< T, P > const &modelMatrix, tvec3< T, P > &scale, tquat< T, P > &orientation, tvec3< T, P > &translation, tvec3< T, P > &skew, tvec4< T, P > &perspective)
 
template<typename genType >
GLM_FUNC_DECL genType::col_type column (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType column (genType const &m, length_t index, typename genType::col_type const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::row_type row (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType row (genType const &m, length_t index, typename genType::row_type const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_matrix_decompose

-
Date
2014-08-29 / 2014-08-29
+

GLM_GTC_matrix_access

+
Date
2005-12-27 / 2011-05-16
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file matrix_decompose.hpp.

+

Definition in file matrix_access.hpp.

diff --git a/doc/api/a00068_source.html b/doc/api/a00068_source.html index 42f28c71..08a5368a 100644 --- a/doc/api/a00068_source.html +++ b/doc/api/a00068_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_decompose.hpp Source File + +0.9.7: matrix_access.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_decompose.hpp
+
matrix_access.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependencies
-
45 #include "../mat4x4.hpp"
-
46 #include "../vec3.hpp"
-
47 #include "../vec4.hpp"
-
48 #include "../gtc/quaternion.hpp"
-
49 #include "../gtc/matrix_transform.hpp"
-
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
52 # pragma message("GLM: GLM_GTX_matrix_decompose extension included")
-
53 #endif
+
41 #pragma once
+
42 
+
43 // Dependency:
+
44 #include "../detail/setup.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTC_matrix_access extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
54 
-
55 namespace glm
-
56 {
-
59 
-
62  template <typename T, precision P>
-
63  GLM_FUNC_DECL bool decompose(
-
64  tmat4x4<T, P> const & modelMatrix,
-
65  tvec3<T, P> & scale, tquat<T, P> & orientation, tvec3<T, P> & translation, tvec3<T, P> & skew, tvec4<T, P> & perspective);
-
66 
-
68 }//namespace glm
+
57  template <typename genType>
+
58  GLM_FUNC_DECL typename genType::row_type row(
+
59  genType const & m,
+
60  length_t index);
+
61 
+
64  template <typename genType>
+
65  GLM_FUNC_DECL genType row(
+
66  genType const & m,
+
67  length_t index,
+
68  typename genType::row_type const & x);
69 
-
70 #include "matrix_decompose.inl"
-
GLM_FUNC_DECL tmat4x4< T, P > scale(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, defaultp > perspective(T fovy, T aspect, T near, T far)
Creates a matrix for a symetric perspective-view frustum.
-
GLM_FUNC_DECL tmat4x4< T, P > orientation(tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
-
GLM_FUNC_DECL bool decompose(tmat4x4< T, P > const &modelMatrix, tvec3< T, P > &scale, tquat< T, P > &orientation, tvec3< T, P > &translation, tvec3< T, P > &skew, tvec4< T, P > &perspective)
Decomposes a model matrix to translations, rotation and scale components.
+
72  template <typename genType>
+
73  GLM_FUNC_DECL typename genType::col_type column(
+
74  genType const & m,
+
75  length_t index);
+
76 
+
79  template <typename genType>
+
80  GLM_FUNC_DECL genType column(
+
81  genType const & m,
+
82  length_t index,
+
83  typename genType::col_type const & x);
+
84 
+
86 }//namespace glm
+
87 
+
88 #include "matrix_access.inl"
+
GLM_FUNC_DECL genType column(genType const &m, length_t index, typename genType::col_type const &x)
Set a specific column to a matrix.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType row(genType const &m, length_t index, typename genType::row_type const &x)
Set a specific row to a matrix.
diff --git a/doc/api/a00069.html b/doc/api/a00069.html index 527a6fbc..543624f0 100644 --- a/doc/api/a00069.html +++ b/doc/api/a00069.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_integer.hpp File Reference + +0.9.7: matrix_cross_product.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
matrix_integer.hpp File Reference
+
matrix_cross_product.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +

-Typedefs

typedef tmat2x2< int, highp > highp_imat2
 
typedef tmat2x2< int, highp > highp_imat2x2
 
typedef tmat2x3< int, highp > highp_imat2x3
 
typedef tmat2x4< int, highp > highp_imat2x4
 
typedef tmat3x3< int, highp > highp_imat3
 
typedef tmat3x2< int, highp > highp_imat3x2
 
typedef tmat3x3< int, highp > highp_imat3x3
 
typedef tmat3x4< int, highp > highp_imat3x4
 
typedef tmat4x4< int, highp > highp_imat4
 
typedef tmat4x2< int, highp > highp_imat4x2
 
typedef tmat4x3< int, highp > highp_imat4x3
 
typedef tmat4x4< int, highp > highp_imat4x4
 
typedef tmat2x2< uint, highp > highp_umat2
 
typedef tmat2x2< uint, highp > highp_umat2x2
 
typedef tmat2x3< uint, highp > highp_umat2x3
 
typedef tmat2x4< uint, highp > highp_umat2x4
 
typedef tmat3x3< uint, highp > highp_umat3
 
typedef tmat3x2< uint, highp > highp_umat3x2
 
typedef tmat3x3< uint, highp > highp_umat3x3
 
typedef tmat3x4< uint, highp > highp_umat3x4
 
typedef tmat4x4< uint, highp > highp_umat4
 
typedef tmat4x2< uint, highp > highp_umat4x2
 
typedef tmat4x3< uint, highp > highp_umat4x3
 
typedef tmat4x4< uint, highp > highp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef tmat2x2< int, lowp > lowp_imat2
 
typedef tmat2x2< int, lowp > lowp_imat2x2
 
typedef tmat2x3< int, lowp > lowp_imat2x3
 
typedef tmat2x4< int, lowp > lowp_imat2x4
 
typedef tmat3x3< int, lowp > lowp_imat3
 
typedef tmat3x2< int, lowp > lowp_imat3x2
 
typedef tmat3x3< int, lowp > lowp_imat3x3
 
typedef tmat3x4< int, lowp > lowp_imat3x4
 
typedef tmat4x4< int, lowp > lowp_imat4
 
typedef tmat4x2< int, lowp > lowp_imat4x2
 
typedef tmat4x3< int, lowp > lowp_imat4x3
 
typedef tmat4x4< int, lowp > lowp_imat4x4
 
typedef tmat2x2< uint, lowp > lowp_umat2
 
typedef tmat2x2< uint, lowp > lowp_umat2x2
 
typedef tmat2x3< uint, lowp > lowp_umat2x3
 
typedef tmat2x4< uint, lowp > lowp_umat2x4
 
typedef tmat3x3< uint, lowp > lowp_umat3
 
typedef tmat3x2< uint, lowp > lowp_umat3x2
 
typedef tmat3x3< uint, lowp > lowp_umat3x3
 
typedef tmat3x4< uint, lowp > lowp_umat3x4
 
typedef tmat4x4< uint, lowp > lowp_umat4
 
typedef tmat4x2< uint, lowp > lowp_umat4x2
 
typedef tmat4x3< uint, lowp > lowp_umat4x3
 
typedef tmat4x4< uint, lowp > lowp_umat4x4
 
typedef tmat2x2< int, mediump > mediump_imat2
 
typedef tmat2x2< int, mediump > mediump_imat2x2
 
typedef tmat2x3< int, mediump > mediump_imat2x3
 
typedef tmat2x4< int, mediump > mediump_imat2x4
 
typedef tmat3x3< int, mediump > mediump_imat3
 
typedef tmat3x2< int, mediump > mediump_imat3x2
 
typedef tmat3x3< int, mediump > mediump_imat3x3
 
typedef tmat3x4< int, mediump > mediump_imat3x4
 
typedef tmat4x4< int, mediump > mediump_imat4
 
typedef tmat4x2< int, mediump > mediump_imat4x2
 
typedef tmat4x3< int, mediump > mediump_imat4x3
 
typedef tmat4x4< int, mediump > mediump_imat4x4
 
typedef tmat2x2< uint, mediump > mediump_umat2
 
typedef tmat2x2< uint, mediump > mediump_umat2x2
 
typedef tmat2x3< uint, mediump > mediump_umat2x3
 
typedef tmat2x4< uint, mediump > mediump_umat2x4
 
typedef tmat3x3< uint, mediump > mediump_umat3
 
typedef tmat3x2< uint, mediump > mediump_umat3x2
 
typedef tmat3x3< uint, mediump > mediump_umat3x3
 
typedef tmat3x4< uint, mediump > mediump_umat3x4
 
typedef tmat4x4< uint, mediump > mediump_umat4
 
typedef tmat4x2< uint, mediump > mediump_umat4x2
 
typedef tmat4x3< uint, mediump > mediump_umat4x3
 
typedef tmat4x4< uint, mediump > mediump_umat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 

+Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > matrixCross3 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > matrixCross4 (tvec3< T, P > const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_matrix_integer

-
Date
2011-01-20 / 2011-06-05
+

GLM_GTX_matrix_cross_product

+
Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
-

Definition in file matrix_integer.hpp.

+

Definition in file matrix_cross_product.hpp.

diff --git a/doc/api/a00069_source.html b/doc/api/a00069_source.html index 88fcde6d..faebf034 100644 --- a/doc/api/a00069_source.html +++ b/doc/api/a00069_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_integer.hpp Source File + +0.9.7: matrix_cross_product.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_integer.hpp
+
matrix_cross_product.hpp
Go to the documentation of this file.
1 
-
41 #pragma once
-
42 
-
43 // Dependency:
-
44 #include "../mat2x2.hpp"
-
45 #include "../mat2x3.hpp"
-
46 #include "../mat2x4.hpp"
-
47 #include "../mat3x2.hpp"
-
48 #include "../mat3x3.hpp"
-
49 #include "../mat3x4.hpp"
-
50 #include "../mat4x2.hpp"
-
51 #include "../mat4x3.hpp"
-
52 #include "../mat4x4.hpp"
-
53 
-
54 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
55 # pragma message("GLM: GLM_GTC_matrix_integer extension included")
-
56 #endif
-
57 
-
58 namespace glm
-
59 {
-
62 
-
65  typedef tmat2x2<int, highp> highp_imat2;
-
66 
-
69  typedef tmat3x3<int, highp> highp_imat3;
-
70 
-
73  typedef tmat4x4<int, highp> highp_imat4;
-
74 
-
77  typedef tmat2x2<int, highp> highp_imat2x2;
-
78 
-
81  typedef tmat2x3<int, highp> highp_imat2x3;
-
82 
-
85  typedef tmat2x4<int, highp> highp_imat2x4;
-
86 
-
89  typedef tmat3x2<int, highp> highp_imat3x2;
-
90 
-
93  typedef tmat3x3<int, highp> highp_imat3x3;
-
94 
-
97  typedef tmat3x4<int, highp> highp_imat3x4;
-
98 
-
101  typedef tmat4x2<int, highp> highp_imat4x2;
-
102 
-
105  typedef tmat4x3<int, highp> highp_imat4x3;
-
106 
-
109  typedef tmat4x4<int, highp> highp_imat4x4;
-
110 
-
111 
-
114  typedef tmat2x2<int, mediump> mediump_imat2;
-
115 
-
118  typedef tmat3x3<int, mediump> mediump_imat3;
-
119 
-
122  typedef tmat4x4<int, mediump> mediump_imat4;
-
123 
-
124 
-
127  typedef tmat2x2<int, mediump> mediump_imat2x2;
-
128 
-
131  typedef tmat2x3<int, mediump> mediump_imat2x3;
-
132 
-
135  typedef tmat2x4<int, mediump> mediump_imat2x4;
-
136 
-
139  typedef tmat3x2<int, mediump> mediump_imat3x2;
-
140 
-
143  typedef tmat3x3<int, mediump> mediump_imat3x3;
-
144 
-
147  typedef tmat3x4<int, mediump> mediump_imat3x4;
-
148 
-
151  typedef tmat4x2<int, mediump> mediump_imat4x2;
-
152 
-
155  typedef tmat4x3<int, mediump> mediump_imat4x3;
-
156 
-
159  typedef tmat4x4<int, mediump> mediump_imat4x4;
-
160 
-
161 
-
164  typedef tmat2x2<int, lowp> lowp_imat2;
-
165 
-
168  typedef tmat3x3<int, lowp> lowp_imat3;
-
169 
-
172  typedef tmat4x4<int, lowp> lowp_imat4;
-
173 
-
174 
-
177  typedef tmat2x2<int, lowp> lowp_imat2x2;
-
178 
-
181  typedef tmat2x3<int, lowp> lowp_imat2x3;
-
182 
-
185  typedef tmat2x4<int, lowp> lowp_imat2x4;
-
186 
-
189  typedef tmat3x2<int, lowp> lowp_imat3x2;
-
190 
-
193  typedef tmat3x3<int, lowp> lowp_imat3x3;
-
194 
-
197  typedef tmat3x4<int, lowp> lowp_imat3x4;
-
198 
-
201  typedef tmat4x2<int, lowp> lowp_imat4x2;
-
202 
-
205  typedef tmat4x3<int, lowp> lowp_imat4x3;
-
206 
-
209  typedef tmat4x4<int, lowp> lowp_imat4x4;
-
210 
-
211 
-
214  typedef tmat2x2<uint, highp> highp_umat2;
-
215 
-
218  typedef tmat3x3<uint, highp> highp_umat3;
-
219 
-
222  typedef tmat4x4<uint, highp> highp_umat4;
-
223 
-
226  typedef tmat2x2<uint, highp> highp_umat2x2;
-
227 
-
230  typedef tmat2x3<uint, highp> highp_umat2x3;
-
231 
-
234  typedef tmat2x4<uint, highp> highp_umat2x4;
-
235 
-
238  typedef tmat3x2<uint, highp> highp_umat3x2;
-
239 
-
242  typedef tmat3x3<uint, highp> highp_umat3x3;
-
243 
-
246  typedef tmat3x4<uint, highp> highp_umat3x4;
-
247 
-
250  typedef tmat4x2<uint, highp> highp_umat4x2;
-
251 
-
254  typedef tmat4x3<uint, highp> highp_umat4x3;
-
255 
-
258  typedef tmat4x4<uint, highp> highp_umat4x4;
-
259 
-
260 
-
263  typedef tmat2x2<uint, mediump> mediump_umat2;
-
264 
-
267  typedef tmat3x3<uint, mediump> mediump_umat3;
-
268 
-
271  typedef tmat4x4<uint, mediump> mediump_umat4;
-
272 
-
273 
-
276  typedef tmat2x2<uint, mediump> mediump_umat2x2;
-
277 
-
280  typedef tmat2x3<uint, mediump> mediump_umat2x3;
-
281 
-
284  typedef tmat2x4<uint, mediump> mediump_umat2x4;
-
285 
-
288  typedef tmat3x2<uint, mediump> mediump_umat3x2;
-
289 
-
292  typedef tmat3x3<uint, mediump> mediump_umat3x3;
-
293 
-
296  typedef tmat3x4<uint, mediump> mediump_umat3x4;
-
297 
-
300  typedef tmat4x2<uint, mediump> mediump_umat4x2;
-
301 
-
304  typedef tmat4x3<uint, mediump> mediump_umat4x3;
-
305 
-
308  typedef tmat4x4<uint, mediump> mediump_umat4x4;
-
309 
-
310 
-
313  typedef tmat2x2<uint, lowp> lowp_umat2;
-
314 
-
317  typedef tmat3x3<uint, lowp> lowp_umat3;
-
318 
-
321  typedef tmat4x4<uint, lowp> lowp_umat4;
-
322 
-
323 
-
326  typedef tmat2x2<uint, lowp> lowp_umat2x2;
-
327 
-
330  typedef tmat2x3<uint, lowp> lowp_umat2x3;
-
331 
-
334  typedef tmat2x4<uint, lowp> lowp_umat2x4;
-
335 
-
338  typedef tmat3x2<uint, lowp> lowp_umat3x2;
-
339 
-
342  typedef tmat3x3<uint, lowp> lowp_umat3x3;
-
343 
-
346  typedef tmat3x4<uint, lowp> lowp_umat3x4;
-
347 
-
350  typedef tmat4x2<uint, lowp> lowp_umat4x2;
-
351 
-
354  typedef tmat4x3<uint, lowp> lowp_umat4x3;
-
355 
-
358  typedef tmat4x4<uint, lowp> lowp_umat4x4;
-
359 
-
360 #if(defined(GLM_PRECISION_HIGHP_INT))
-
361  typedef highp_imat2 imat2;
-
362  typedef highp_imat3 imat3;
-
363  typedef highp_imat4 imat4;
-
364  typedef highp_imat2x2 imat2x2;
-
365  typedef highp_imat2x3 imat2x3;
-
366  typedef highp_imat2x4 imat2x4;
-
367  typedef highp_imat3x2 imat3x2;
-
368  typedef highp_imat3x3 imat3x3;
-
369  typedef highp_imat3x4 imat3x4;
-
370  typedef highp_imat4x2 imat4x2;
-
371  typedef highp_imat4x3 imat4x3;
-
372  typedef highp_imat4x4 imat4x4;
-
373 #elif(defined(GLM_PRECISION_LOWP_INT))
-
374  typedef lowp_imat2 imat2;
-
375  typedef lowp_imat3 imat3;
-
376  typedef lowp_imat4 imat4;
-
377  typedef lowp_imat2x2 imat2x2;
-
378  typedef lowp_imat2x3 imat2x3;
-
379  typedef lowp_imat2x4 imat2x4;
-
380  typedef lowp_imat3x2 imat3x2;
-
381  typedef lowp_imat3x3 imat3x3;
-
382  typedef lowp_imat3x4 imat3x4;
-
383  typedef lowp_imat4x2 imat4x2;
-
384  typedef lowp_imat4x3 imat4x3;
-
385  typedef lowp_imat4x4 imat4x4;
-
386 #else //if(defined(GLM_PRECISION_MEDIUMP_INT))
-
387 
-
390  typedef mediump_imat2 imat2;
-
391 
-
394  typedef mediump_imat3 imat3;
-
395 
-
398  typedef mediump_imat4 imat4;
-
399 
-
402  typedef mediump_imat2x2 imat2x2;
-
403 
-
406  typedef mediump_imat2x3 imat2x3;
-
407 
-
410  typedef mediump_imat2x4 imat2x4;
-
411 
-
414  typedef mediump_imat3x2 imat3x2;
-
415 
-
418  typedef mediump_imat3x3 imat3x3;
-
419 
-
422  typedef mediump_imat3x4 imat3x4;
-
423 
-
426  typedef mediump_imat4x2 imat4x2;
-
427 
-
430  typedef mediump_imat4x3 imat4x3;
-
431 
-
434  typedef mediump_imat4x4 imat4x4;
-
435 #endif//GLM_PRECISION
-
436 
-
437 #if(defined(GLM_PRECISION_HIGHP_UINT))
-
438  typedef highp_umat2 umat2;
-
439  typedef highp_umat3 umat3;
-
440  typedef highp_umat4 umat4;
-
441  typedef highp_umat2x2 umat2x2;
-
442  typedef highp_umat2x3 umat2x3;
-
443  typedef highp_umat2x4 umat2x4;
-
444  typedef highp_umat3x2 umat3x2;
-
445  typedef highp_umat3x3 umat3x3;
-
446  typedef highp_umat3x4 umat3x4;
-
447  typedef highp_umat4x2 umat4x2;
-
448  typedef highp_umat4x3 umat4x3;
-
449  typedef highp_umat4x4 umat4x4;
-
450 #elif(defined(GLM_PRECISION_LOWP_UINT))
-
451  typedef lowp_umat2 umat2;
-
452  typedef lowp_umat3 umat3;
-
453  typedef lowp_umat4 umat4;
-
454  typedef lowp_umat2x2 umat2x2;
-
455  typedef lowp_umat2x3 umat2x3;
-
456  typedef lowp_umat2x4 umat2x4;
-
457  typedef lowp_umat3x2 umat3x2;
-
458  typedef lowp_umat3x3 umat3x3;
-
459  typedef lowp_umat3x4 umat3x4;
-
460  typedef lowp_umat4x2 umat4x2;
-
461  typedef lowp_umat4x3 umat4x3;
-
462  typedef lowp_umat4x4 umat4x4;
-
463 #else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
-
464 
-
467  typedef mediump_umat2 umat2;
-
468 
-
471  typedef mediump_umat3 umat3;
-
472 
-
475  typedef mediump_umat4 umat4;
-
476 
-
479  typedef mediump_umat2x2 umat2x2;
-
480 
-
483  typedef mediump_umat2x3 umat2x3;
-
484 
-
487  typedef mediump_umat2x4 umat2x4;
-
488 
-
491  typedef mediump_umat3x2 umat3x2;
-
492 
-
495  typedef mediump_umat3x3 umat3x3;
-
496 
-
499  typedef mediump_umat3x4 umat3x4;
-
500 
-
503  typedef mediump_umat4x2 umat4x2;
-
504 
-
507  typedef mediump_umat4x3 umat4x3;
-
508 
-
511  typedef mediump_umat4x4 umat4x4;
-
512 #endif//GLM_PRECISION
-
513 
-
515 }//namespace glm
-
tmat4x2< int, highp > highp_imat4x2
High-precision signed integer 4x2 matrix.
-
tmat4x4< int, highp > highp_imat4x4
High-precision signed integer 4x4 matrix.
-
tmat3x2< int, mediump > mediump_imat3x2
Medium-precision signed integer 3x2 matrix.
-
tmat2x3< int, highp > highp_imat2x3
High-precision signed integer 2x3 matrix.
-
tmat4x4< int, highp > highp_imat4
High-precision signed integer 4x4 matrix.
-
tmat3x4< int, highp > highp_imat3x4
High-precision signed integer 3x4 matrix.
-
tmat3x2< uint, highp > highp_umat3x2
High-precision unsigned integer 3x2 matrix.
-
tmat3x3< int, lowp > lowp_imat3
Low-precision signed integer 3x3 matrix.
-
tmat3x4< int, lowp > lowp_imat3x4
Low-precision signed integer 3x4 matrix.
-
tmat2x2< int, mediump > mediump_imat2x2
Medium-precision signed integer 2x2 matrix.
-
tmat3x2< int, highp > highp_imat3x2
High-precision signed integer 3x2 matrix.
-
mediump_umat4x4 umat4x4
Unsigned integer 4x4 matrix.
-
tmat4x2< uint, lowp > lowp_umat4x2
Low-precision unsigned integer 4x2 matrix.
-
tmat3x2< uint, mediump > mediump_umat3x2
Medium-precision unsigned integer 3x2 matrix.
-
mediump_imat4 imat4
Signed integer 4x4 matrix.
-
mediump_imat2x3 imat2x3
Signed integer 2x3 matrix.
-
mediump_umat3 umat3
Unsigned integer 3x3 matrix.
-
tmat2x3< uint, lowp > lowp_umat2x3
Low-precision unsigned integer 2x3 matrix.
-
mediump_umat4x2 umat4x2
Unsigned integer 4x2 matrix.
-
mediump_imat3 imat3
Signed integer 3x3 matrix.
-
mediump_umat2x3 umat2x3
Unsigned integer 2x3 matrix.
-
tmat4x4< uint, highp > highp_umat4
High-precision unsigned integer 4x4 matrix.
-
tmat3x2< int, lowp > lowp_imat3x2
Low-precision signed integer 3x2 matrix.
-
tmat3x3< uint, lowp > lowp_umat3
Low-precision unsigned integer 3x3 matrix.
-
mediump_umat2 umat2
Unsigned integer 2x2 matrix.
-
tmat2x2< int, highp > highp_imat2x2
High-precision signed integer 2x2 matrix.
-
tmat2x4< uint, highp > highp_umat2x4
High-precision unsigned integer 2x4 matrix.
-
tmat2x4< int, mediump > mediump_imat2x4
Medium-precision signed integer 2x4 matrix.
-
tmat3x3< int, mediump > mediump_imat3
Medium-precision signed integer 3x3 matrix.
-
mediump_imat3x4 imat3x4
Signed integer 3x4 matrix.
-
mediump_imat2x2 imat2x2
Signed integer 2x2 matrix.
-
tmat2x2< uint, mediump > mediump_umat2x2
Medium-precision unsigned integer 2x2 matrix.
-
tmat4x4< uint, mediump > mediump_umat4
Medium-precision unsigned integer 4x4 matrix.
-
tmat3x3< uint, highp > highp_umat3x3
High-precision unsigned integer 3x3 matrix.
-
tmat3x3< int, highp > highp_imat3x3
High-precision signed integer 3x3 matrix.
-
tmat3x4< uint, lowp > lowp_umat3x4
Low-precision unsigned integer 3x4 matrix.
-
tmat2x2< uint, highp > highp_umat2
High-precision unsigned integer 2x2 matrix.
-
tmat2x3< int, mediump > mediump_imat2x3
Medium-precision signed integer 2x3 matrix.
-
mediump_umat2x2 umat2x2
Unsigned integer 2x2 matrix.
-
tmat3x4< uint, highp > highp_umat3x4
High-precision unsigned integer 3x4 matrix.
-
tmat2x3< int, lowp > lowp_imat2x3
Low-precision signed integer 2x3 matrix.
-
tmat2x2< int, lowp > lowp_imat2
Low-precision signed integer 2x2 matrix.
-
tmat4x3< uint, lowp > lowp_umat4x3
Low-precision unsigned integer 4x3 matrix.
-
tmat4x2< uint, mediump > mediump_umat4x2
Medium-precision unsigned integer 4x2 matrix.
-
tmat2x2< uint, lowp > lowp_umat2
Low-precision unsigned integer 2x2 matrix.
-
tmat4x3< uint, mediump > mediump_umat4x3
Medium-precision unsigned integer 4x3 matrix.
-
tmat4x4< int, mediump > mediump_imat4x4
Medium-precision signed integer 4x4 matrix.
-
tmat2x3< uint, mediump > mediump_umat2x3
Medium-precision unsigned integer 2x3 matrix.
-
tmat2x2< uint, highp > highp_umat2x2
High-precision unsigned integer 2x2 matrix.
-
tmat3x3< uint, highp > highp_umat3
High-precision unsigned integer 3x3 matrix.
-
tmat2x4< int, lowp > lowp_imat2x4
Low-precision signed integer 2x4 matrix.
-
tmat3x4< uint, mediump > mediump_umat3x4
Medium-precision unsigned integer 3x4 matrix.
-
tmat4x3< int, mediump > mediump_imat4x3
Medium-precision signed integer 4x3 matrix.
-
tmat3x3< uint, lowp > lowp_umat3x3
Low-precision unsigned integer 3x3 matrix.
-
tmat4x4< uint, mediump > mediump_umat4x4
Medium-precision unsigned integer 4x4 matrix.
-
mediump_umat2x4 umat2x4
Unsigned integer 2x4 matrix.
-
tmat2x4< int, highp > highp_imat2x4
High-precision signed integer 2x4 matrix.
-
tmat2x2< int, lowp > lowp_imat2x2
Low-precision signed integer 2x2 matrix.
-
tmat2x2< int, highp > highp_imat2
High-precision signed integer 2x2 matrix.
-
tmat2x3< uint, highp > highp_umat2x3
High-precision unsigned integer 2x3 matrix.
-
tmat2x4< uint, mediump > mediump_umat2x4
Medium-precision unsigned integer 2x4 matrix.
-
mediump_umat4x3 umat4x3
Unsigned integer 4x3 matrix.
-
mediump_imat2 imat2
Signed integer 2x2 matrix.
-
mediump_imat4x2 imat4x2
Signed integer 4x2 matrix.
-
tmat2x2< uint, lowp > lowp_umat2x2
Low-precision unsigned integer 2x2 matrix.
-
tmat4x2< int, lowp > lowp_imat4x2
Low-precision signed integer 4x2 matrix.
-
mediump_umat3x2 umat3x2
Unsigned integer 3x2 matrix.
-
mediump_umat3x4 umat3x4
Unsigned integer 3x4 matrix.
-
tmat2x2< uint, mediump > mediump_umat2
Medium-precision unsigned integer 2x2 matrix.
-
tmat3x3< uint, mediump > mediump_umat3x3
Medium-precision unsigned integer 3x3 matrix.
-
mediump_imat4x4 imat4x4
Signed integer 4x4 matrix.
-
tmat3x2< uint, lowp > lowp_umat3x2
Low-precision unsigned integer 3x2 matrix.
-
tmat4x2< int, mediump > mediump_imat4x2
Medium-precision signed integer 4x2 matrix.
-
tmat4x4< int, lowp > lowp_imat4x4
Low-precision signed integer 4x4 matrix.
-
Definition: _noise.hpp:39
-
tmat2x2< int, mediump > mediump_imat2
Medium-precision signed integer 2x2 matrix.
-
tmat4x4< int, mediump > mediump_imat4
Medium-precision signed integer 4x4 matrix.
-
tmat3x3< uint, mediump > mediump_umat3
Medium-precision unsigned integer 3x3 matrix.
-
mediump_imat2x4 imat2x4
Signed integer 2x4 matrix.
-
tmat4x4< uint, lowp > lowp_umat4x4
Low-precision unsigned integer 4x4 matrix.
-
tmat4x4< uint, highp > highp_umat4x4
High-precision unsigned integer 4x4 matrix.
-
tmat2x4< uint, lowp > lowp_umat2x4
Low-precision unsigned integer 2x4 matrix.
-
mediump_umat4 umat4
Unsigned integer 4x4 matrix.
-
tmat4x4< uint, lowp > lowp_umat4
Low-precision unsigned integer 4x4 matrix.
-
mediump_imat3x2 imat3x2
Signed integer 3x2 matrix.
-
tmat4x3< int, lowp > lowp_imat4x3
Low-precision signed integer 4x3 matrix.
-
tmat4x3< int, highp > highp_imat4x3
High-precision signed integer 4x3 matrix.
-
tmat4x3< uint, highp > highp_umat4x3
High-precision unsigned integer 4x3 matrix.
-
tmat4x2< uint, highp > highp_umat4x2
High-precision unsigned integer 4x2 matrix.
-
mediump_imat3x3 imat3x3
Signed integer 3x3 matrix.
-
mediump_imat4x3 imat4x3
Signed integer 4x3 matrix.
-
tmat3x4< int, mediump > mediump_imat3x4
Medium-precision signed integer 3x4 matrix.
-
tmat4x4< int, lowp > lowp_imat4
Low-precision signed integer 4x4 matrix.
-
tmat3x3< int, lowp > lowp_imat3x3
Low-precision signed integer 3x3 matrix.
-
tmat3x3< int, mediump > mediump_imat3x3
Medium-precision signed integer 3x3 matrix.
-
mediump_umat3x3 umat3x3
Unsigned integer 3x3 matrix.
-
tmat3x3< int, highp > highp_imat3
High-precision signed integer 3x3 matrix.
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  template <typename T, precision P>
+
60  GLM_FUNC_DECL tmat3x3<T, P> matrixCross3(
+
61  tvec3<T, P> const & x);
+
62 
+
65  template <typename T, precision P>
+
66  GLM_FUNC_DECL tmat4x4<T, P> matrixCross4(
+
67  tvec3<T, P> const & x);
+
68 
+
70 }//namespace glm
+
71 
+
72 #include "matrix_cross_product.inl"
+
GLM_FUNC_DECL tmat4x4< T, P > matrixCross4(tvec3< T, P > const &x)
Build a cross product matrix.
+
GLM_FUNC_DECL tmat3x3< T, P > matrixCross3(tvec3< T, P > const &x)
Build a cross product matrix.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00070.html b/doc/api/a00070.html index 8e079a97..d9d1cda3 100644 --- a/doc/api/a00070.html +++ b/doc/api/a00070.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_interpolation.hpp File Reference + +0.9.7: matrix_decompose.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_interpolation.hpp File Reference
+
matrix_decompose.hpp File Reference
@@ -56,37 +56,28 @@ - - - - - - - - - - - - + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL void axisAngle (tmat4x4< T, P > const &mat, tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > axisAngleMatrix (tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > extractMatrixRotation (tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > interpolate (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2, T const delta)
 
template<typename T , precision P>
GLM_FUNC_DECL bool decompose (tmat4x4< T, P > const &modelMatrix, tvec3< T, P > &scale, tquat< T, P > &orientation, tvec3< T, P > &translation, tvec3< T, P > &skew, tvec4< T, P > &perspective)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_matrix_interpolation

-
Date
2011-03-05 / 2011-06-07
-
Author
Ghenadii Ursachi (the.a.nosp@m.ster.nosp@m.oth@g.nosp@m.mail.nosp@m..com)
-
See also
GLM Core (dependence)
+

GLM_GTX_matrix_decompose

+
Date
2014-08-29 / 2014-08-29
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-

Definition in file matrix_interpolation.hpp.

+

Definition in file matrix_decompose.hpp.

diff --git a/doc/api/a00070_source.html b/doc/api/a00070_source.html index 66562396..82477bfc 100644 --- a/doc/api/a00070_source.html +++ b/doc/api/a00070_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_interpolation.hpp Source File + +0.9.7: matrix_decompose.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_interpolation.hpp
+
matrix_decompose.hpp
Go to the documentation of this file.
1 
42 #pragma once
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
-
49 #endif
+
44 // Dependencies
+
45 #include "../mat4x4.hpp"
+
46 #include "../vec3.hpp"
+
47 #include "../vec4.hpp"
+
48 #include "../gtc/quaternion.hpp"
+
49 #include "../gtc/matrix_transform.hpp"
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename T, precision P>
-
59  GLM_FUNC_DECL void axisAngle(
-
60  tmat4x4<T, P> const & mat,
-
61  tvec3<T, P> & axis,
-
62  T & angle);
-
63 
-
66  template <typename T, precision P>
-
67  GLM_FUNC_DECL tmat4x4<T, P> axisAngleMatrix(
-
68  tvec3<T, P> const & axis,
-
69  T const angle);
-
70 
-
73  template <typename T, precision P>
-
74  GLM_FUNC_DECL tmat4x4<T, P> extractMatrixRotation(
-
75  tmat4x4<T, P> const & mat);
-
76 
-
80  template <typename T, precision P>
-
81  GLM_FUNC_DECL tmat4x4<T, P> interpolate(
-
82  tmat4x4<T, P> const & m1,
-
83  tmat4x4<T, P> const & m2,
-
84  T const delta);
-
85 
-
87 }//namespace glm
-
88 
-
89 #include "matrix_interpolation.inl"
-
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL tmat4x4< T, P > axisAngleMatrix(tvec3< T, P > const &axis, T const angle)
Build a matrix from axis and angle.
-
GLM_FUNC_DECL void axisAngle(tmat4x4< T, P > const &mat, tvec3< T, P > &axis, T &angle)
Get the axis and angle of the rotation from a matrix.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, P > extractMatrixRotation(tmat4x4< T, P > const &mat)
Extracts the rotation part of a matrix.
-
GLM_FUNC_DECL tmat4x4< T, P > interpolate(tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2, T const delta)
Build a interpolation of 4 * 4 matrixes.
+
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
52 # pragma message("GLM: GLM_GTX_matrix_decompose extension included")
+
53 #endif
+
54 
+
55 namespace glm
+
56 {
+
59 
+
62  template <typename T, precision P>
+
63  GLM_FUNC_DECL bool decompose(
+
64  tmat4x4<T, P> const & modelMatrix,
+
65  tvec3<T, P> & scale, tquat<T, P> & orientation, tvec3<T, P> & translation, tvec3<T, P> & skew, tvec4<T, P> & perspective);
+
66 
+
68 }//namespace glm
+
69 
+
70 #include "matrix_decompose.inl"
+
GLM_FUNC_DECL tmat4x4< T, defaultp > perspective(T fovy, T aspect, T near, T far)
Creates a matrix for a symetric perspective-view frustum based on the default handedness.
+
GLM_FUNC_DECL tmat4x4< T, P > orientation(tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL bool decompose(tmat4x4< T, P > const &modelMatrix, tvec3< T, P > &scale, tquat< T, P > &orientation, tvec3< T, P > &translation, tvec3< T, P > &skew, tvec4< T, P > &perspective)
Decomposes a model matrix to translations, rotation and scale components.
+
GLM_FUNC_DECL tmat4x4< T, P > scale(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
diff --git a/doc/api/a00071.html b/doc/api/a00071.html index ee0a3629..c2ede186 100644 --- a/doc/api/a00071.html +++ b/doc/api/a00071.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_inverse.hpp File Reference + +0.9.7: matrix_integer.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Typedefs
-
matrix_inverse.hpp File Reference
+
matrix_integer.hpp File Reference

Go to the source code of this file.

- - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Functions

template<typename genType >
GLM_FUNC_DECL genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 

+Typedefs

typedef tmat2x2< int, highp > highp_imat2
 
typedef tmat2x2< int, highp > highp_imat2x2
 
typedef tmat2x3< int, highp > highp_imat2x3
 
typedef tmat2x4< int, highp > highp_imat2x4
 
typedef tmat3x3< int, highp > highp_imat3
 
typedef tmat3x2< int, highp > highp_imat3x2
 
typedef tmat3x3< int, highp > highp_imat3x3
 
typedef tmat3x4< int, highp > highp_imat3x4
 
typedef tmat4x4< int, highp > highp_imat4
 
typedef tmat4x2< int, highp > highp_imat4x2
 
typedef tmat4x3< int, highp > highp_imat4x3
 
typedef tmat4x4< int, highp > highp_imat4x4
 
typedef tmat2x2< uint, highp > highp_umat2
 
typedef tmat2x2< uint, highp > highp_umat2x2
 
typedef tmat2x3< uint, highp > highp_umat2x3
 
typedef tmat2x4< uint, highp > highp_umat2x4
 
typedef tmat3x3< uint, highp > highp_umat3
 
typedef tmat3x2< uint, highp > highp_umat3x2
 
typedef tmat3x3< uint, highp > highp_umat3x3
 
typedef tmat3x4< uint, highp > highp_umat3x4
 
typedef tmat4x4< uint, highp > highp_umat4
 
typedef tmat4x2< uint, highp > highp_umat4x2
 
typedef tmat4x3< uint, highp > highp_umat4x3
 
typedef tmat4x4< uint, highp > highp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef tmat2x2< int, lowp > lowp_imat2
 
typedef tmat2x2< int, lowp > lowp_imat2x2
 
typedef tmat2x3< int, lowp > lowp_imat2x3
 
typedef tmat2x4< int, lowp > lowp_imat2x4
 
typedef tmat3x3< int, lowp > lowp_imat3
 
typedef tmat3x2< int, lowp > lowp_imat3x2
 
typedef tmat3x3< int, lowp > lowp_imat3x3
 
typedef tmat3x4< int, lowp > lowp_imat3x4
 
typedef tmat4x4< int, lowp > lowp_imat4
 
typedef tmat4x2< int, lowp > lowp_imat4x2
 
typedef tmat4x3< int, lowp > lowp_imat4x3
 
typedef tmat4x4< int, lowp > lowp_imat4x4
 
typedef tmat2x2< uint, lowp > lowp_umat2
 
typedef tmat2x2< uint, lowp > lowp_umat2x2
 
typedef tmat2x3< uint, lowp > lowp_umat2x3
 
typedef tmat2x4< uint, lowp > lowp_umat2x4
 
typedef tmat3x3< uint, lowp > lowp_umat3
 
typedef tmat3x2< uint, lowp > lowp_umat3x2
 
typedef tmat3x3< uint, lowp > lowp_umat3x3
 
typedef tmat3x4< uint, lowp > lowp_umat3x4
 
typedef tmat4x4< uint, lowp > lowp_umat4
 
typedef tmat4x2< uint, lowp > lowp_umat4x2
 
typedef tmat4x3< uint, lowp > lowp_umat4x3
 
typedef tmat4x4< uint, lowp > lowp_umat4x4
 
typedef tmat2x2< int, mediump > mediump_imat2
 
typedef tmat2x2< int, mediump > mediump_imat2x2
 
typedef tmat2x3< int, mediump > mediump_imat2x3
 
typedef tmat2x4< int, mediump > mediump_imat2x4
 
typedef tmat3x3< int, mediump > mediump_imat3
 
typedef tmat3x2< int, mediump > mediump_imat3x2
 
typedef tmat3x3< int, mediump > mediump_imat3x3
 
typedef tmat3x4< int, mediump > mediump_imat3x4
 
typedef tmat4x4< int, mediump > mediump_imat4
 
typedef tmat4x2< int, mediump > mediump_imat4x2
 
typedef tmat4x3< int, mediump > mediump_imat4x3
 
typedef tmat4x4< int, mediump > mediump_imat4x4
 
typedef tmat2x2< uint, mediump > mediump_umat2
 
typedef tmat2x2< uint, mediump > mediump_umat2x2
 
typedef tmat2x3< uint, mediump > mediump_umat2x3
 
typedef tmat2x4< uint, mediump > mediump_umat2x4
 
typedef tmat3x3< uint, mediump > mediump_umat3
 
typedef tmat3x2< uint, mediump > mediump_umat3x2
 
typedef tmat3x3< uint, mediump > mediump_umat3x3
 
typedef tmat3x4< uint, mediump > mediump_umat3x4
 
typedef tmat4x4< uint, mediump > mediump_umat4
 
typedef tmat4x2< uint, mediump > mediump_umat4x2
 
typedef tmat4x3< uint, mediump > mediump_umat4x3
 
typedef tmat4x4< uint, mediump > mediump_umat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_matrix_inverse

-
Date
2005-12-21 / 2011-06-05
+

GLM_GTC_matrix_integer

+
Date
2011-01-20 / 2011-06-05
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file matrix_inverse.hpp.

+

Definition in file matrix_integer.hpp.

diff --git a/doc/api/a00071_source.html b/doc/api/a00071_source.html index 11548944..b4781922 100644 --- a/doc/api/a00071_source.html +++ b/doc/api/a00071_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_inverse.hpp Source File + +0.9.7: matrix_integer.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_inverse.hpp
+
matrix_integer.hpp
Go to the documentation of this file.
1 
41 #pragma once
42 
-
43 // Dependencies
-
44 #include "../detail/setup.hpp"
-
45 #include "../matrix.hpp"
-
46 #include "../mat2x2.hpp"
-
47 #include "../mat3x3.hpp"
-
48 #include "../mat4x4.hpp"
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTC_matrix_inverse extension included")
-
52 #endif
+
43 // Dependency:
+
44 #include "../mat2x2.hpp"
+
45 #include "../mat2x3.hpp"
+
46 #include "../mat2x4.hpp"
+
47 #include "../mat3x2.hpp"
+
48 #include "../mat3x3.hpp"
+
49 #include "../mat3x4.hpp"
+
50 #include "../mat4x2.hpp"
+
51 #include "../mat4x3.hpp"
+
52 #include "../mat4x4.hpp"
53 
-
54 namespace glm
-
55 {
-
58 
-
64  template <typename genType>
-
65  GLM_FUNC_DECL genType affineInverse(genType const & m);
+
54 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
55 # pragma message("GLM: GLM_GTC_matrix_integer extension included")
+
56 #endif
+
57 
+
58 namespace glm
+
59 {
+
62 
+
65  typedef tmat2x2<int, highp> highp_imat2;
66 
-
72  template <typename genType>
-
73  GLM_FUNC_DECL genType inverseTranspose(genType const & m);
+
69  typedef tmat3x3<int, highp> highp_imat3;
+
70 
+
73  typedef tmat4x4<int, highp> highp_imat4;
74 
-
76 }//namespace glm
-
77 
-
78 #include "matrix_inverse.inl"
-
GLM_FUNC_DECL genType inverseTranspose(genType const &m)
Compute the inverse transpose of a matrix.
-
GLM_FUNC_DECL genType affineInverse(genType const &m)
Fast matrix inverse for affine matrix.
-
Definition: _noise.hpp:39
+
77  typedef tmat2x2<int, highp> highp_imat2x2;
+
78 
+
81  typedef tmat2x3<int, highp> highp_imat2x3;
+
82 
+
85  typedef tmat2x4<int, highp> highp_imat2x4;
+
86 
+
89  typedef tmat3x2<int, highp> highp_imat3x2;
+
90 
+
93  typedef tmat3x3<int, highp> highp_imat3x3;
+
94 
+
97  typedef tmat3x4<int, highp> highp_imat3x4;
+
98 
+
101  typedef tmat4x2<int, highp> highp_imat4x2;
+
102 
+
105  typedef tmat4x3<int, highp> highp_imat4x3;
+
106 
+
109  typedef tmat4x4<int, highp> highp_imat4x4;
+
110 
+
111 
+
114  typedef tmat2x2<int, mediump> mediump_imat2;
+
115 
+
118  typedef tmat3x3<int, mediump> mediump_imat3;
+
119 
+
122  typedef tmat4x4<int, mediump> mediump_imat4;
+
123 
+
124 
+
127  typedef tmat2x2<int, mediump> mediump_imat2x2;
+
128 
+
131  typedef tmat2x3<int, mediump> mediump_imat2x3;
+
132 
+
135  typedef tmat2x4<int, mediump> mediump_imat2x4;
+
136 
+
139  typedef tmat3x2<int, mediump> mediump_imat3x2;
+
140 
+
143  typedef tmat3x3<int, mediump> mediump_imat3x3;
+
144 
+
147  typedef tmat3x4<int, mediump> mediump_imat3x4;
+
148 
+
151  typedef tmat4x2<int, mediump> mediump_imat4x2;
+
152 
+
155  typedef tmat4x3<int, mediump> mediump_imat4x3;
+
156 
+
159  typedef tmat4x4<int, mediump> mediump_imat4x4;
+
160 
+
161 
+
164  typedef tmat2x2<int, lowp> lowp_imat2;
+
165 
+
168  typedef tmat3x3<int, lowp> lowp_imat3;
+
169 
+
172  typedef tmat4x4<int, lowp> lowp_imat4;
+
173 
+
174 
+
177  typedef tmat2x2<int, lowp> lowp_imat2x2;
+
178 
+
181  typedef tmat2x3<int, lowp> lowp_imat2x3;
+
182 
+
185  typedef tmat2x4<int, lowp> lowp_imat2x4;
+
186 
+
189  typedef tmat3x2<int, lowp> lowp_imat3x2;
+
190 
+
193  typedef tmat3x3<int, lowp> lowp_imat3x3;
+
194 
+
197  typedef tmat3x4<int, lowp> lowp_imat3x4;
+
198 
+
201  typedef tmat4x2<int, lowp> lowp_imat4x2;
+
202 
+
205  typedef tmat4x3<int, lowp> lowp_imat4x3;
+
206 
+
209  typedef tmat4x4<int, lowp> lowp_imat4x4;
+
210 
+
211 
+
214  typedef tmat2x2<uint, highp> highp_umat2;
+
215 
+
218  typedef tmat3x3<uint, highp> highp_umat3;
+
219 
+
222  typedef tmat4x4<uint, highp> highp_umat4;
+
223 
+
226  typedef tmat2x2<uint, highp> highp_umat2x2;
+
227 
+
230  typedef tmat2x3<uint, highp> highp_umat2x3;
+
231 
+
234  typedef tmat2x4<uint, highp> highp_umat2x4;
+
235 
+
238  typedef tmat3x2<uint, highp> highp_umat3x2;
+
239 
+
242  typedef tmat3x3<uint, highp> highp_umat3x3;
+
243 
+
246  typedef tmat3x4<uint, highp> highp_umat3x4;
+
247 
+
250  typedef tmat4x2<uint, highp> highp_umat4x2;
+
251 
+
254  typedef tmat4x3<uint, highp> highp_umat4x3;
+
255 
+
258  typedef tmat4x4<uint, highp> highp_umat4x4;
+
259 
+
260 
+
263  typedef tmat2x2<uint, mediump> mediump_umat2;
+
264 
+
267  typedef tmat3x3<uint, mediump> mediump_umat3;
+
268 
+
271  typedef tmat4x4<uint, mediump> mediump_umat4;
+
272 
+
273 
+
276  typedef tmat2x2<uint, mediump> mediump_umat2x2;
+
277 
+
280  typedef tmat2x3<uint, mediump> mediump_umat2x3;
+
281 
+
284  typedef tmat2x4<uint, mediump> mediump_umat2x4;
+
285 
+
288  typedef tmat3x2<uint, mediump> mediump_umat3x2;
+
289 
+
292  typedef tmat3x3<uint, mediump> mediump_umat3x3;
+
293 
+
296  typedef tmat3x4<uint, mediump> mediump_umat3x4;
+
297 
+
300  typedef tmat4x2<uint, mediump> mediump_umat4x2;
+
301 
+
304  typedef tmat4x3<uint, mediump> mediump_umat4x3;
+
305 
+
308  typedef tmat4x4<uint, mediump> mediump_umat4x4;
+
309 
+
310 
+
313  typedef tmat2x2<uint, lowp> lowp_umat2;
+
314 
+
317  typedef tmat3x3<uint, lowp> lowp_umat3;
+
318 
+
321  typedef tmat4x4<uint, lowp> lowp_umat4;
+
322 
+
323 
+
326  typedef tmat2x2<uint, lowp> lowp_umat2x2;
+
327 
+
330  typedef tmat2x3<uint, lowp> lowp_umat2x3;
+
331 
+
334  typedef tmat2x4<uint, lowp> lowp_umat2x4;
+
335 
+
338  typedef tmat3x2<uint, lowp> lowp_umat3x2;
+
339 
+
342  typedef tmat3x3<uint, lowp> lowp_umat3x3;
+
343 
+
346  typedef tmat3x4<uint, lowp> lowp_umat3x4;
+
347 
+
350  typedef tmat4x2<uint, lowp> lowp_umat4x2;
+
351 
+
354  typedef tmat4x3<uint, lowp> lowp_umat4x3;
+
355 
+
358  typedef tmat4x4<uint, lowp> lowp_umat4x4;
+
359 
+
360 #if(defined(GLM_PRECISION_HIGHP_INT))
+
361  typedef highp_imat2 imat2;
+
362  typedef highp_imat3 imat3;
+
363  typedef highp_imat4 imat4;
+
364  typedef highp_imat2x2 imat2x2;
+
365  typedef highp_imat2x3 imat2x3;
+
366  typedef highp_imat2x4 imat2x4;
+
367  typedef highp_imat3x2 imat3x2;
+
368  typedef highp_imat3x3 imat3x3;
+
369  typedef highp_imat3x4 imat3x4;
+
370  typedef highp_imat4x2 imat4x2;
+
371  typedef highp_imat4x3 imat4x3;
+
372  typedef highp_imat4x4 imat4x4;
+
373 #elif(defined(GLM_PRECISION_LOWP_INT))
+
374  typedef lowp_imat2 imat2;
+
375  typedef lowp_imat3 imat3;
+
376  typedef lowp_imat4 imat4;
+
377  typedef lowp_imat2x2 imat2x2;
+
378  typedef lowp_imat2x3 imat2x3;
+
379  typedef lowp_imat2x4 imat2x4;
+
380  typedef lowp_imat3x2 imat3x2;
+
381  typedef lowp_imat3x3 imat3x3;
+
382  typedef lowp_imat3x4 imat3x4;
+
383  typedef lowp_imat4x2 imat4x2;
+
384  typedef lowp_imat4x3 imat4x3;
+
385  typedef lowp_imat4x4 imat4x4;
+
386 #else //if(defined(GLM_PRECISION_MEDIUMP_INT))
+
387 
+
390  typedef mediump_imat2 imat2;
+
391 
+
394  typedef mediump_imat3 imat3;
+
395 
+
398  typedef mediump_imat4 imat4;
+
399 
+
402  typedef mediump_imat2x2 imat2x2;
+
403 
+
406  typedef mediump_imat2x3 imat2x3;
+
407 
+
410  typedef mediump_imat2x4 imat2x4;
+
411 
+
414  typedef mediump_imat3x2 imat3x2;
+
415 
+
418  typedef mediump_imat3x3 imat3x3;
+
419 
+
422  typedef mediump_imat3x4 imat3x4;
+
423 
+
426  typedef mediump_imat4x2 imat4x2;
+
427 
+
430  typedef mediump_imat4x3 imat4x3;
+
431 
+
434  typedef mediump_imat4x4 imat4x4;
+
435 #endif//GLM_PRECISION
+
436 
+
437 #if(defined(GLM_PRECISION_HIGHP_UINT))
+
438  typedef highp_umat2 umat2;
+
439  typedef highp_umat3 umat3;
+
440  typedef highp_umat4 umat4;
+
441  typedef highp_umat2x2 umat2x2;
+
442  typedef highp_umat2x3 umat2x3;
+
443  typedef highp_umat2x4 umat2x4;
+
444  typedef highp_umat3x2 umat3x2;
+
445  typedef highp_umat3x3 umat3x3;
+
446  typedef highp_umat3x4 umat3x4;
+
447  typedef highp_umat4x2 umat4x2;
+
448  typedef highp_umat4x3 umat4x3;
+
449  typedef highp_umat4x4 umat4x4;
+
450 #elif(defined(GLM_PRECISION_LOWP_UINT))
+
451  typedef lowp_umat2 umat2;
+
452  typedef lowp_umat3 umat3;
+
453  typedef lowp_umat4 umat4;
+
454  typedef lowp_umat2x2 umat2x2;
+
455  typedef lowp_umat2x3 umat2x3;
+
456  typedef lowp_umat2x4 umat2x4;
+
457  typedef lowp_umat3x2 umat3x2;
+
458  typedef lowp_umat3x3 umat3x3;
+
459  typedef lowp_umat3x4 umat3x4;
+
460  typedef lowp_umat4x2 umat4x2;
+
461  typedef lowp_umat4x3 umat4x3;
+
462  typedef lowp_umat4x4 umat4x4;
+
463 #else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
+
464 
+
467  typedef mediump_umat2 umat2;
+
468 
+
471  typedef mediump_umat3 umat3;
+
472 
+
475  typedef mediump_umat4 umat4;
+
476 
+
479  typedef mediump_umat2x2 umat2x2;
+
480 
+
483  typedef mediump_umat2x3 umat2x3;
+
484 
+
487  typedef mediump_umat2x4 umat2x4;
+
488 
+
491  typedef mediump_umat3x2 umat3x2;
+
492 
+
495  typedef mediump_umat3x3 umat3x3;
+
496 
+
499  typedef mediump_umat3x4 umat3x4;
+
500 
+
503  typedef mediump_umat4x2 umat4x2;
+
504 
+
507  typedef mediump_umat4x3 umat4x3;
+
508 
+
511  typedef mediump_umat4x4 umat4x4;
+
512 #endif//GLM_PRECISION
+
513 
+
515 }//namespace glm
+
mediump_imat4 imat4
Signed integer 4x4 matrix.
+
tmat2x2< uint, lowp > lowp_umat2
Low-precision unsigned integer 2x2 matrix.
+
tmat4x2< int, mediump > mediump_imat4x2
Medium-precision signed integer 4x2 matrix.
+
tmat2x3< uint, mediump > mediump_umat2x3
Medium-precision unsigned integer 2x3 matrix.
+
tmat3x4< uint, mediump > mediump_umat3x4
Medium-precision unsigned integer 3x4 matrix.
+
tmat2x2< uint, highp > highp_umat2x2
High-precision unsigned integer 2x2 matrix.
+
mediump_umat2x3 umat2x3
Unsigned integer 2x3 matrix.
+
tmat2x2< uint, mediump > mediump_umat2x2
Medium-precision unsigned integer 2x2 matrix.
+
mediump_umat2 umat2
Unsigned integer 2x2 matrix.
+
tmat4x3< uint, lowp > lowp_umat4x3
Low-precision unsigned integer 4x3 matrix.
+
tmat2x3< uint, lowp > lowp_umat2x3
Low-precision unsigned integer 2x3 matrix.
+
tmat4x3< uint, highp > highp_umat4x3
High-precision unsigned integer 4x3 matrix.
+
tmat2x4< uint, lowp > lowp_umat2x4
Low-precision unsigned integer 2x4 matrix.
+
tmat4x4< uint, highp > highp_umat4x4
High-precision unsigned integer 4x4 matrix.
+
tmat3x2< uint, lowp > lowp_umat3x2
Low-precision unsigned integer 3x2 matrix.
+
tmat3x3< int, lowp > lowp_imat3x3
Low-precision signed integer 3x3 matrix.
+
tmat4x4< uint, mediump > mediump_umat4
Medium-precision unsigned integer 4x4 matrix.
+
tmat3x4< int, mediump > mediump_imat3x4
Medium-precision signed integer 3x4 matrix.
+
tmat2x3< uint, highp > highp_umat2x3
High-precision unsigned integer 2x3 matrix.
+
mediump_umat2x4 umat2x4
Unsigned integer 2x4 matrix.
+
mediump_imat2x3 imat2x3
Signed integer 2x3 matrix.
+
tmat3x3< uint, lowp > lowp_umat3x3
Low-precision unsigned integer 3x3 matrix.
+
tmat4x4< uint, mediump > mediump_umat4x4
Medium-precision unsigned integer 4x4 matrix.
+
tmat4x3< int, highp > highp_imat4x3
High-precision signed integer 4x3 matrix.
+
tmat3x3< uint, highp > highp_umat3x3
High-precision unsigned integer 3x3 matrix.
+
tmat3x2< int, highp > highp_imat3x2
High-precision signed integer 3x2 matrix.
+
tmat4x4< uint, lowp > lowp_umat4
Low-precision unsigned integer 4x4 matrix.
+
tmat3x3< int, lowp > lowp_imat3
Low-precision signed integer 3x3 matrix.
+
mediump_imat4x2 imat4x2
Signed integer 4x2 matrix.
+
tmat4x4< uint, highp > highp_umat4
High-precision unsigned integer 4x4 matrix.
+
mediump_umat4x3 umat4x3
Unsigned integer 4x3 matrix.
+
tmat2x3< int, lowp > lowp_imat2x3
Low-precision signed integer 2x3 matrix.
+
tmat4x2< uint, lowp > lowp_umat4x2
Low-precision unsigned integer 4x2 matrix.
+
tmat2x3< int, mediump > mediump_imat2x3
Medium-precision signed integer 2x3 matrix.
+
tmat4x4< int, highp > highp_imat4
High-precision signed integer 4x4 matrix.
+
mediump_umat4x2 umat4x2
Unsigned integer 4x2 matrix.
+
mediump_imat3 imat3
Signed integer 3x3 matrix.
+
mediump_umat3x3 umat3x3
Unsigned integer 3x3 matrix.
+
tmat4x4< uint, lowp > lowp_umat4x4
Low-precision unsigned integer 4x4 matrix.
+
tmat4x3< int, mediump > mediump_imat4x3
Medium-precision signed integer 4x3 matrix.
+
mediump_umat2x2 umat2x2
Unsigned integer 2x2 matrix.
+
tmat4x4< int, lowp > lowp_imat4
Low-precision signed integer 4x4 matrix.
+
tmat2x2< int, lowp > lowp_imat2x2
Low-precision signed integer 2x2 matrix.
+
tmat4x2< uint, mediump > mediump_umat4x2
Medium-precision unsigned integer 4x2 matrix.
+
tmat4x3< int, lowp > lowp_imat4x3
Low-precision signed integer 4x3 matrix.
+
tmat2x2< int, highp > highp_imat2x2
High-precision signed integer 2x2 matrix.
+
tmat2x2< uint, highp > highp_umat2
High-precision unsigned integer 2x2 matrix.
+
mediump_imat4x3 imat4x3
Signed integer 4x3 matrix.
+
tmat3x2< int, mediump > mediump_imat3x2
Medium-precision signed integer 3x2 matrix.
+
tmat4x3< uint, mediump > mediump_umat4x3
Medium-precision unsigned integer 4x3 matrix.
+
mediump_umat3x2 umat3x2
Unsigned integer 3x2 matrix.
+
Definition: _noise.hpp:40
+
mediump_umat3 umat3
Unsigned integer 3x3 matrix.
+
tmat2x4< int, highp > highp_imat2x4
High-precision signed integer 2x4 matrix.
+
tmat2x4< int, lowp > lowp_imat2x4
Low-precision signed integer 2x4 matrix.
+
tmat4x2< int, highp > highp_imat4x2
High-precision signed integer 4x2 matrix.
+
mediump_imat3x4 imat3x4
Signed integer 3x4 matrix.
+
tmat2x2< uint, mediump > mediump_umat2
Medium-precision unsigned integer 2x2 matrix.
+
tmat2x4< uint, mediump > mediump_umat2x4
Medium-precision unsigned integer 2x4 matrix.
+
tmat3x2< int, lowp > lowp_imat3x2
Low-precision signed integer 3x2 matrix.
+
mediump_imat2x4 imat2x4
Signed integer 2x4 matrix.
+
tmat4x2< int, lowp > lowp_imat4x2
Low-precision signed integer 4x2 matrix.
+
tmat2x3< int, highp > highp_imat2x3
High-precision signed integer 2x3 matrix.
+
mediump_umat4 umat4
Unsigned integer 4x4 matrix.
+
tmat3x3< int, mediump > mediump_imat3
Medium-precision signed integer 3x3 matrix.
+
tmat2x4< int, mediump > mediump_imat2x4
Medium-precision signed integer 2x4 matrix.
+
mediump_umat3x4 umat3x4
Unsigned integer 3x4 matrix.
+
tmat2x2< int, lowp > lowp_imat2
Low-precision signed integer 2x2 matrix.
+
tmat3x3< int, highp > highp_imat3x3
High-precision signed integer 3x3 matrix.
+
tmat3x4< uint, highp > highp_umat3x4
High-precision unsigned integer 3x4 matrix.
+
mediump_imat4x4 imat4x4
Signed integer 4x4 matrix.
+
mediump_imat2x2 imat2x2
Signed integer 2x2 matrix.
+
tmat2x2< int, mediump > mediump_imat2x2
Medium-precision signed integer 2x2 matrix.
+
tmat2x2< int, mediump > mediump_imat2
Medium-precision signed integer 2x2 matrix.
+
tmat3x3< uint, mediump > mediump_umat3
Medium-precision unsigned integer 3x3 matrix.
+
tmat4x4< int, lowp > lowp_imat4x4
Low-precision signed integer 4x4 matrix.
+
tmat4x4< int, highp > highp_imat4x4
High-precision signed integer 4x4 matrix.
+
tmat3x3< int, mediump > mediump_imat3x3
Medium-precision signed integer 3x3 matrix.
+
tmat3x4< int, highp > highp_imat3x4
High-precision signed integer 3x4 matrix.
+
tmat3x3< uint, lowp > lowp_umat3
Low-precision unsigned integer 3x3 matrix.
+
tmat3x2< uint, highp > highp_umat3x2
High-precision unsigned integer 3x2 matrix.
+
tmat4x4< int, mediump > mediump_imat4x4
Medium-precision signed integer 4x4 matrix.
+
tmat3x2< uint, mediump > mediump_umat3x2
Medium-precision unsigned integer 3x2 matrix.
+
tmat4x2< uint, highp > highp_umat4x2
High-precision unsigned integer 4x2 matrix.
+
tmat3x3< int, highp > highp_imat3
High-precision signed integer 3x3 matrix.
+
tmat3x4< uint, lowp > lowp_umat3x4
Low-precision unsigned integer 3x4 matrix.
+
tmat3x3< uint, mediump > mediump_umat3x3
Medium-precision unsigned integer 3x3 matrix.
+
tmat2x4< uint, highp > highp_umat2x4
High-precision unsigned integer 2x4 matrix.
+
mediump_imat3x3 imat3x3
Signed integer 3x3 matrix.
+
mediump_umat4x4 umat4x4
Unsigned integer 4x4 matrix.
+
tmat4x4< int, mediump > mediump_imat4
Medium-precision signed integer 4x4 matrix.
+
mediump_imat2 imat2
Signed integer 2x2 matrix.
+
mediump_imat3x2 imat3x2
Signed integer 3x2 matrix.
+
tmat3x4< int, lowp > lowp_imat3x4
Low-precision signed integer 3x4 matrix.
+
tmat2x2< int, highp > highp_imat2
High-precision signed integer 2x2 matrix.
+
tmat2x2< uint, lowp > lowp_umat2x2
Low-precision unsigned integer 2x2 matrix.
+
tmat3x3< uint, highp > highp_umat3
High-precision unsigned integer 3x3 matrix.
diff --git a/doc/api/a00072.html b/doc/api/a00072.html index 7731bf24..81fd34b6 100644 --- a/doc/api/a00072.html +++ b/doc/api/a00072.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_major_storage.hpp File Reference + +0.9.7: matrix_interpolation.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_major_storage.hpp File Reference
+
matrix_interpolation.hpp File Reference
@@ -56,63 +56,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL void axisAngle (tmat4x4< T, P > const &mat, tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > axisAngleMatrix (tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > extractMatrixRotation (tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > interpolate (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2, T const delta)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_matrix_major_storage

-
Date
2006-04-19 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
+

GLM_GTX_matrix_interpolation

+
Date
2011-03-05 / 2011-06-07
+
Author
Ghenadii Ursachi (the.a.nosp@m.ster.nosp@m.oth@g.nosp@m.mail.nosp@m..com)
+
See also
GLM Core (dependence)
-

Definition in file matrix_major_storage.hpp.

+

Definition in file matrix_interpolation.hpp.

diff --git a/doc/api/a00072_source.html b/doc/api/a00072_source.html index 3c7c9ab1..a023120a 100644 --- a/doc/api/a00072_source.html +++ b/doc/api/a00072_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_major_storage.hpp Source File + +0.9.7: matrix_interpolation.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_major_storage.hpp
+
matrix_interpolation.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename T, precision P>
-
60  GLM_FUNC_DECL tmat2x2<T, P> rowMajor2(
-
61  tvec2<T, P> const & v1,
-
62  tvec2<T, P> const & v2);
-
63 
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename T, precision P>
+
59  GLM_FUNC_DECL void axisAngle(
+
60  tmat4x4<T, P> const & mat,
+
61  tvec3<T, P> & axis,
+
62  T & angle);
+
63 
66  template <typename T, precision P>
-
67  GLM_FUNC_DECL tmat2x2<T, P> rowMajor2(
-
68  tmat2x2<T, P> const & m);
-
69 
-
72  template <typename T, precision P>
-
73  GLM_FUNC_DECL tmat3x3<T, P> rowMajor3(
-
74  tvec3<T, P> const & v1,
-
75  tvec3<T, P> const & v2,
-
76  tvec3<T, P> const & v3);
-
77 
+
67  GLM_FUNC_DECL tmat4x4<T, P> axisAngleMatrix(
+
68  tvec3<T, P> const & axis,
+
69  T const angle);
+
70 
+
73  template <typename T, precision P>
+
74  GLM_FUNC_DECL tmat4x4<T, P> extractMatrixRotation(
+
75  tmat4x4<T, P> const & mat);
+
76 
80  template <typename T, precision P>
-
81  GLM_FUNC_DECL tmat3x3<T, P> rowMajor3(
-
82  tmat3x3<T, P> const & m);
-
83 
-
86  template <typename T, precision P>
-
87  GLM_FUNC_DECL tmat4x4<T, P> rowMajor4(
-
88  tvec4<T, P> const & v1,
-
89  tvec4<T, P> const & v2,
-
90  tvec4<T, P> const & v3,
-
91  tvec4<T, P> const & v4);
-
92 
-
95  template <typename T, precision P>
-
96  GLM_FUNC_DECL tmat4x4<T, P> rowMajor4(
-
97  tmat4x4<T, P> const & m);
-
98 
-
101  template <typename T, precision P>
-
102  GLM_FUNC_DECL tmat2x2<T, P> colMajor2(
-
103  tvec2<T, P> const & v1,
-
104  tvec2<T, P> const & v2);
-
105 
-
108  template <typename T, precision P>
-
109  GLM_FUNC_DECL tmat2x2<T, P> colMajor2(
-
110  tmat2x2<T, P> const & m);
-
111 
-
114  template <typename T, precision P>
-
115  GLM_FUNC_DECL tmat3x3<T, P> colMajor3(
-
116  tvec3<T, P> const & v1,
-
117  tvec3<T, P> const & v2,
-
118  tvec3<T, P> const & v3);
-
119 
-
122  template <typename T, precision P>
-
123  GLM_FUNC_DECL tmat3x3<T, P> colMajor3(
-
124  tmat3x3<T, P> const & m);
-
125 
-
128  template <typename T, precision P>
-
129  GLM_FUNC_DECL tmat4x4<T, P> colMajor4(
-
130  tvec4<T, P> const & v1,
-
131  tvec4<T, P> const & v2,
-
132  tvec4<T, P> const & v3,
-
133  tvec4<T, P> const & v4);
-
134 
-
137  template <typename T, precision P>
-
138  GLM_FUNC_DECL tmat4x4<T, P> colMajor4(
-
139  tmat4x4<T, P> const & m);
-
140 
-
142 }//namespace glm
-
143 
-
144 #include "matrix_major_storage.inl"
-
GLM_FUNC_DECL tmat4x4< T, P > colMajor4(tmat4x4< T, P > const &m)
Build a column major matrix from other matrix.
-
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2(tmat2x2< T, P > const &m)
Build a row major matrix from other matrix.
-
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3(tmat3x3< T, P > const &m)
Build a row major matrix from other matrix.
-
GLM_FUNC_DECL tmat2x2< T, P > colMajor2(tmat2x2< T, P > const &m)
Build a column major matrix from other matrix.
-
GLM_FUNC_DECL tmat3x3< T, P > colMajor3(tmat3x3< T, P > const &m)
Build a column major matrix from other matrix.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4(tmat4x4< T, P > const &m)
Build a row major matrix from other matrix.
+
81  GLM_FUNC_DECL tmat4x4<T, P> interpolate(
+
82  tmat4x4<T, P> const & m1,
+
83  tmat4x4<T, P> const & m2,
+
84  T const delta);
+
85 
+
87 }//namespace glm
+
88 
+
89 #include "matrix_interpolation.inl"
+
GLM_FUNC_DECL tmat4x4< T, P > extractMatrixRotation(tmat4x4< T, P > const &mat)
Extracts the rotation part of a matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > interpolate(tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2, T const delta)
Build a interpolation of 4 * 4 matrixes.
+
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL void axisAngle(tmat4x4< T, P > const &mat, tvec3< T, P > &axis, T &angle)
Get the axis and angle of the rotation from a matrix.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL tmat4x4< T, P > axisAngleMatrix(tvec3< T, P > const &axis, T const angle)
Build a matrix from axis and angle.
diff --git a/doc/api/a00073.html b/doc/api/a00073.html index 313f07b1..70b20290 100644 --- a/doc/api/a00073.html +++ b/doc/api/a00073.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_operation.hpp File Reference + +0.9.7: matrix_inverse.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_operation.hpp File Reference
+
matrix_inverse.hpp File Reference
@@ -56,52 +56,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > diagonal2x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > diagonal2x3 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > diagonal2x4 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > diagonal3x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > diagonal3x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > diagonal3x4 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > diagonal4x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > diagonal4x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > diagonal4x4 (tvec4< T, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_matrix_operation

-
Date
2009-08-29 / 2011-06-07
+

GLM_GTC_matrix_inverse

+
Date
2005-12-21 / 2011-06-05
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file matrix_operation.hpp.

+

Definition in file matrix_inverse.hpp.

diff --git a/doc/api/a00073_source.html b/doc/api/a00073_source.html index 8bd129b6..35d125ed 100644 --- a/doc/api/a00073_source.html +++ b/doc/api/a00073_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_operation.hpp Source File + +0.9.7: matrix_inverse.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_operation.hpp
+
matrix_inverse.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename T, precision P>
-
59  GLM_FUNC_DECL tmat2x2<T, P> diagonal2x2(
-
60  tvec2<T, P> const & v);
-
61 
-
64  template <typename T, precision P>
-
65  GLM_FUNC_DECL tmat2x3<T, P> diagonal2x3(
-
66  tvec2<T, P> const & v);
-
67 
-
70  template <typename T, precision P>
-
71  GLM_FUNC_DECL tmat2x4<T, P> diagonal2x4(
-
72  tvec2<T, P> const & v);
-
73 
-
76  template <typename T, precision P>
-
77  GLM_FUNC_DECL tmat3x2<T, P> diagonal3x2(
-
78  tvec2<T, P> const & v);
-
79 
-
82  template <typename T, precision P>
-
83  GLM_FUNC_DECL tmat3x3<T, P> diagonal3x3(
-
84  tvec3<T, P> const & v);
-
85 
-
88  template <typename T, precision P>
-
89  GLM_FUNC_DECL tmat3x4<T, P> diagonal3x4(
-
90  tvec3<T, P> const & v);
-
91 
-
94  template <typename T, precision P>
-
95  GLM_FUNC_DECL tmat4x2<T, P> diagonal4x2(
-
96  tvec2<T, P> const & v);
-
97 
-
100  template <typename T, precision P>
-
101  GLM_FUNC_DECL tmat4x3<T, P> diagonal4x3(
-
102  tvec3<T, P> const & v);
-
103 
-
106  template <typename T, precision P>
-
107  GLM_FUNC_DECL tmat4x4<T, P> diagonal4x4(
-
108  tvec4<T, P> const & v);
-
109 
-
111 }//namespace glm
-
112 
-
113 #include "matrix_operation.inl"
-
GLM_FUNC_DECL tmat4x4< T, P > diagonal4x4(tvec4< T, P > const &v)
Build a diagonal matrix.
-
GLM_FUNC_DECL tmat2x4< T, P > diagonal2x4(tvec2< T, P > const &v)
Build a diagonal matrix.
-
GLM_FUNC_DECL tmat3x3< T, P > diagonal3x3(tvec3< T, P > const &v)
Build a diagonal matrix.
-
GLM_FUNC_DECL tmat4x2< T, P > diagonal4x2(tvec2< T, P > const &v)
Build a diagonal matrix.
-
GLM_FUNC_DECL tmat2x3< T, P > diagonal2x3(tvec2< T, P > const &v)
Build a diagonal matrix.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat2x2< T, P > diagonal2x2(tvec2< T, P > const &v)
Build a diagonal matrix.
-
GLM_FUNC_DECL tmat3x2< T, P > diagonal3x2(tvec2< T, P > const &v)
Build a diagonal matrix.
-
GLM_FUNC_DECL tmat3x4< T, P > diagonal3x4(tvec3< T, P > const &v)
Build a diagonal matrix.
-
GLM_FUNC_DECL tmat4x3< T, P > diagonal4x3(tvec3< T, P > const &v)
Build a diagonal matrix.
+
41 #pragma once
+
42 
+
43 // Dependencies
+
44 #include "../detail/setup.hpp"
+
45 #include "../matrix.hpp"
+
46 #include "../mat2x2.hpp"
+
47 #include "../mat3x3.hpp"
+
48 #include "../mat4x4.hpp"
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTC_matrix_inverse extension included")
+
52 #endif
+
53 
+
54 namespace glm
+
55 {
+
58 
+
64  template <typename genType>
+
65  GLM_FUNC_DECL genType affineInverse(genType const & m);
+
66 
+
72  template <typename genType>
+
73  GLM_FUNC_DECL genType inverseTranspose(genType const & m);
+
74 
+
76 }//namespace glm
+
77 
+
78 #include "matrix_inverse.inl"
+
GLM_FUNC_DECL genType inverseTranspose(genType const &m)
Compute the inverse transpose of a matrix.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType affineInverse(genType const &m)
Fast matrix inverse for affine matrix.
diff --git a/doc/api/a00074.html b/doc/api/a00074.html index 80c62360..6db99833 100644 --- a/doc/api/a00074.html +++ b/doc/api/a00074.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_query.hpp File Reference + +0.9.7: matrix_major_storage.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_query.hpp File Reference
+
matrix_major_storage.hpp File Reference
@@ -56,51 +56,63 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tmat4x4< T, P > const &m)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_matrix_query

-
Date
2007-03-05 / 2011-08-28
+

GLM_GTX_matrix_major_storage

+
Date
2006-04-19 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTX_vector_query (dependence)
+GLM_GTX_extented_min_max (dependence)
-

Definition in file matrix_query.hpp.

+

Definition in file matrix_major_storage.hpp.

diff --git a/doc/api/a00074_source.html b/doc/api/a00074_source.html index fc7c31a9..c3bd54b2 100644 --- a/doc/api/a00074_source.html +++ b/doc/api/a00074_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_query.hpp Source File + +0.9.7: matrix_major_storage.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_query.hpp
+
matrix_major_storage.hpp
Go to the documentation of this file.
1 
@@ -54,55 +54,90 @@
44 
45 // Dependency:
46 #include "../glm.hpp"
-
47 #include "../gtx/vector_query.hpp"
-
48 #include <limits>
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTX_matrix_query extension included")
-
52 #endif
-
53 
-
54 namespace glm
-
55 {
-
58 
-
61  template<typename T, precision P>
-
62  GLM_FUNC_DECL bool isNull(tmat2x2<T, P> const & m, T const & epsilon);
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  template <typename T, precision P>
+
60  GLM_FUNC_DECL tmat2x2<T, P> rowMajor2(
+
61  tvec2<T, P> const & v1,
+
62  tvec2<T, P> const & v2);
63 
-
66  template<typename T, precision P>
-
67  GLM_FUNC_DECL bool isNull(tmat3x3<T, P> const & m, T const & epsilon);
-
68 
-
71  template<typename T, precision P>
-
72  GLM_FUNC_DECL bool isNull(tmat4x4<T, P> const & m, T const & epsilon);
-
73 
-
76  template<typename T, precision P, template <typename, precision> class matType>
-
77  GLM_FUNC_DECL bool isIdentity(matType<T, P> const & m, T const & epsilon);
-
78 
-
81  template<typename T, precision P>
-
82  GLM_FUNC_DECL bool isNormalized(tmat2x2<T, P> const & m, T const & epsilon);
+
66  template <typename T, precision P>
+
67  GLM_FUNC_DECL tmat2x2<T, P> rowMajor2(
+
68  tmat2x2<T, P> const & m);
+
69 
+
72  template <typename T, precision P>
+
73  GLM_FUNC_DECL tmat3x3<T, P> rowMajor3(
+
74  tvec3<T, P> const & v1,
+
75  tvec3<T, P> const & v2,
+
76  tvec3<T, P> const & v3);
+
77 
+
80  template <typename T, precision P>
+
81  GLM_FUNC_DECL tmat3x3<T, P> rowMajor3(
+
82  tmat3x3<T, P> const & m);
83 
-
86  template<typename T, precision P>
-
87  GLM_FUNC_DECL bool isNormalized(tmat3x3<T, P> const & m, T const & epsilon);
-
88 
-
91  template<typename T, precision P>
-
92  GLM_FUNC_DECL bool isNormalized(tmat4x4<T, P> const & m, T const & epsilon);
-
93 
-
96  template<typename T, precision P, template <typename, precision> class matType>
-
97  GLM_FUNC_DECL bool isOrthogonal(matType<T, P> const & m, T const & epsilon);
+
86  template <typename T, precision P>
+
87  GLM_FUNC_DECL tmat4x4<T, P> rowMajor4(
+
88  tvec4<T, P> const & v1,
+
89  tvec4<T, P> const & v2,
+
90  tvec4<T, P> const & v3,
+
91  tvec4<T, P> const & v4);
+
92 
+
95  template <typename T, precision P>
+
96  GLM_FUNC_DECL tmat4x4<T, P> rowMajor4(
+
97  tmat4x4<T, P> const & m);
98 
-
100 }//namespace glm
-
101 
-
102 #include "matrix_query.inl"
-
GLM_FUNC_DECL bool isNull(tmat4x4< T, P > const &m, T const &epsilon)
Return whether a matrix is a null matrix.
-
GLM_FUNC_DECL bool isIdentity(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an identity matrix.
-
GLM_FUNC_DECL bool isNormalized(tmat4x4< T, P > const &m, T const &epsilon)
Return whether a matrix is a normalized matrix.
-
GLM_FUNC_DECL bool isOrthogonal(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an orthonormalized matrix.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
101  template <typename T, precision P>
+
102  GLM_FUNC_DECL tmat2x2<T, P> colMajor2(
+
103  tvec2<T, P> const & v1,
+
104  tvec2<T, P> const & v2);
+
105 
+
108  template <typename T, precision P>
+
109  GLM_FUNC_DECL tmat2x2<T, P> colMajor2(
+
110  tmat2x2<T, P> const & m);
+
111 
+
114  template <typename T, precision P>
+
115  GLM_FUNC_DECL tmat3x3<T, P> colMajor3(
+
116  tvec3<T, P> const & v1,
+
117  tvec3<T, P> const & v2,
+
118  tvec3<T, P> const & v3);
+
119 
+
122  template <typename T, precision P>
+
123  GLM_FUNC_DECL tmat3x3<T, P> colMajor3(
+
124  tmat3x3<T, P> const & m);
+
125 
+
128  template <typename T, precision P>
+
129  GLM_FUNC_DECL tmat4x4<T, P> colMajor4(
+
130  tvec4<T, P> const & v1,
+
131  tvec4<T, P> const & v2,
+
132  tvec4<T, P> const & v3,
+
133  tvec4<T, P> const & v4);
+
134 
+
137  template <typename T, precision P>
+
138  GLM_FUNC_DECL tmat4x4<T, P> colMajor4(
+
139  tmat4x4<T, P> const & m);
+
140 
+
142 }//namespace glm
+
143 
+
144 #include "matrix_major_storage.inl"
+
GLM_FUNC_DECL tmat2x2< T, P > colMajor2(tmat2x2< T, P > const &m)
Build a column major matrix from other matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > colMajor4(tmat4x4< T, P > const &m)
Build a column major matrix from other matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4(tmat4x4< T, P > const &m)
Build a row major matrix from other matrix.
+
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2(tmat2x2< T, P > const &m)
Build a row major matrix from other matrix.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3(tmat3x3< T, P > const &m)
Build a row major matrix from other matrix.
+
GLM_FUNC_DECL tmat3x3< T, P > colMajor3(tmat3x3< T, P > const &m)
Build a column major matrix from other matrix.
diff --git a/doc/api/a00075.html b/doc/api/a00075.html index 129d7806..9aa4b800 100644 --- a/doc/api/a00075.html +++ b/doc/api/a00075.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_transform.hpp File Reference + +0.9.7: matrix_operation.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_transform.hpp File Reference
+
matrix_operation.hpp File Reference
@@ -56,82 +56,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
frustum (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
infinitePerspective (T fovy, T aspect, T near)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAt (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
ortho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
perspective (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
perspectiveFov (T fov, T width, T height, T near, T far)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL tmat4x4< T, P > pickMatrix (tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > project (tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > unProject (tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > diagonal2x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > diagonal2x3 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > diagonal2x4 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > diagonal3x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > diagonal3x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > diagonal3x4 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > diagonal4x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > diagonal4x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > diagonal4x4 (tvec4< T, P > const &v)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_matrix_transform

-
Date
2009-04-29 / 2011-05-16
+

GLM_GTX_matrix_operation

+
Date
2009-08-29 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_transform
-
-GLM_GTX_transform2
+
See also
GLM Core (dependence)
-

Definition in file matrix_transform.hpp.

+

Definition in file matrix_operation.hpp.

diff --git a/doc/api/a00075_source.html b/doc/api/a00075_source.html index fbbca2d2..9130d00e 100644 --- a/doc/api/a00075_source.html +++ b/doc/api/a00075_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_transform.hpp Source File + +0.9.7: matrix_operation.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_transform.hpp
+
matrix_operation.hpp
Go to the documentation of this file.
1 
-
50 #pragma once
-
51 
-
52 // Dependencies
-
53 #include "../mat4x4.hpp"
-
54 #include "../vec2.hpp"
-
55 #include "../vec3.hpp"
-
56 #include "../vec4.hpp"
-
57 #include "../gtc/constants.hpp"
-
58 
-
59 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
60 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
-
61 #endif
-
62 
-
63 namespace glm
-
64 {
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename T, precision P>
+
59  GLM_FUNC_DECL tmat2x2<T, P> diagonal2x2(
+
60  tvec2<T, P> const & v);
+
61 
+
64  template <typename T, precision P>
+
65  GLM_FUNC_DECL tmat2x3<T, P> diagonal2x3(
+
66  tvec2<T, P> const & v);
67 
-
86  template <typename T, precision P>
-
87  GLM_FUNC_DECL tmat4x4<T, P> translate(
-
88  tmat4x4<T, P> const & m,
-
89  tvec3<T, P> const & v);
-
90 
+
70  template <typename T, precision P>
+
71  GLM_FUNC_DECL tmat2x4<T, P> diagonal2x4(
+
72  tvec2<T, P> const & v);
+
73 
+
76  template <typename T, precision P>
+
77  GLM_FUNC_DECL tmat3x2<T, P> diagonal3x2(
+
78  tvec2<T, P> const & v);
+
79 
+
82  template <typename T, precision P>
+
83  GLM_FUNC_DECL tmat3x3<T, P> diagonal3x3(
+
84  tvec3<T, P> const & v);
+
85 
+
88  template <typename T, precision P>
+
89  GLM_FUNC_DECL tmat3x4<T, P> diagonal3x4(
+
90  tvec3<T, P> const & v);
+
91 
+
94  template <typename T, precision P>
+
95  GLM_FUNC_DECL tmat4x2<T, P> diagonal4x2(
+
96  tvec2<T, P> const & v);
+
97 
100  template <typename T, precision P>
-
101  GLM_FUNC_DECL tmat4x4<T, P> rotate(
-
102  tmat4x4<T, P> const & m,
-
103  T angle,
-
104  tvec3<T, P> const & axis);
-
105 
-
114  template <typename T, precision P>
-
115  GLM_FUNC_DECL tmat4x4<T, P> scale(
-
116  tmat4x4<T, P> const & m,
-
117  tvec3<T, P> const & v);
-
118 
-
130  template <typename T>
-
131  GLM_FUNC_DECL tmat4x4<T, defaultp> ortho(
-
132  T left,
-
133  T right,
-
134  T bottom,
-
135  T top,
-
136  T zNear,
-
137  T zFar);
-
138 
-
148  template <typename T>
-
149  GLM_FUNC_DECL tmat4x4<T, defaultp> ortho(
-
150  T left,
-
151  T right,
-
152  T bottom,
-
153  T top);
-
154 
-
165  template <typename T>
-
166  GLM_FUNC_DECL tmat4x4<T, defaultp> frustum(
-
167  T left,
-
168  T right,
-
169  T bottom,
-
170  T top,
-
171  T near,
-
172  T far);
-
173 
-
182  template <typename T>
-
183  GLM_FUNC_DECL tmat4x4<T, defaultp> perspective(
-
184  T fovy,
-
185  T aspect,
-
186  T near,
-
187  T far);
-
188 
-
198  template <typename T>
-
199  GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveFov(
-
200  T fov,
-
201  T width,
-
202  T height,
-
203  T near,
-
204  T far);
-
205 
-
213  template <typename T>
-
214  GLM_FUNC_DECL tmat4x4<T, defaultp> infinitePerspective(
-
215  T fovy, T aspect, T near);
-
216 
-
224  template <typename T>
-
225  GLM_FUNC_DECL tmat4x4<T, defaultp> tweakedInfinitePerspective(
-
226  T fovy, T aspect, T near);
-
227 
-
236  template <typename T>
-
237  GLM_FUNC_DECL tmat4x4<T, defaultp> tweakedInfinitePerspective(
-
238  T fovy, T aspect, T near, T ep);
-
239 
-
250  template <typename T, typename U, precision P>
-
251  GLM_FUNC_DECL tvec3<T, P> project(
-
252  tvec3<T, P> const & obj,
-
253  tmat4x4<T, P> const & model,
-
254  tmat4x4<T, P> const & proj,
-
255  tvec4<U, P> const & viewport);
-
256 
-
267  template <typename T, typename U, precision P>
-
268  GLM_FUNC_DECL tvec3<T, P> unProject(
-
269  tvec3<T, P> const & win,
-
270  tmat4x4<T, P> const & model,
-
271  tmat4x4<T, P> const & proj,
-
272  tvec4<U, P> const & viewport);
-
273 
-
282  template <typename T, precision P, typename U>
-
283  GLM_FUNC_DECL tmat4x4<T, P> pickMatrix(
-
284  tvec2<T, P> const & center,
-
285  tvec2<T, P> const & delta,
-
286  tvec4<U, P> const & viewport);
-
287 
-
295  template <typename T, precision P>
-
296  GLM_FUNC_DECL tmat4x4<T, P> lookAt(
-
297  tvec3<T, P> const & eye,
-
298  tvec3<T, P> const & center,
-
299  tvec3<T, P> const & up);
-
300 
-
302 }//namespace glm
-
303 
-
304 #include "matrix_transform.inl"
-
GLM_FUNC_DECL tmat4x4< T, defaultp > ortho(T left, T right, T bottom, T top)
Creates a matrix for projecting two-dimensional coordinates onto the screen.
-
GLM_FUNC_DECL tmat4x4< T, P > scale(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
-
GLM_FUNC_DECL vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
-
GLM_FUNC_DECL tvec3< T, P > project(tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
-
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFov(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL tmat4x4< T, P > translate(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a translation 4 * 4 matrix created from a vector of 3 components.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > frustum(T left, T right, T bottom, T top, T near, T far)
Creates a frustum matrix.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > tweakedInfinitePerspective(T fovy, T aspect, T near, T ep)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics har...
-
GLM_FUNC_DECL tmat4x4< T, P > rotate(tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, defaultp > perspective(T fovy, T aspect, T near, T far)
Creates a matrix for a symetric perspective-view frustum.
-
GLM_FUNC_DECL tvec3< T, P > unProject(tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
-
GLM_FUNC_DECL tmat4x4< T, P > pickMatrix(tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)
Define a picking region.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > infinitePerspective(T fovy, T aspect, T near)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.
-
GLM_FUNC_DECL tmat4x4< T, P > lookAt(tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
Build a look at view matrix.
+
101  GLM_FUNC_DECL tmat4x3<T, P> diagonal4x3(
+
102  tvec3<T, P> const & v);
+
103 
+
106  template <typename T, precision P>
+
107  GLM_FUNC_DECL tmat4x4<T, P> diagonal4x4(
+
108  tvec4<T, P> const & v);
+
109 
+
111 }//namespace glm
+
112 
+
113 #include "matrix_operation.inl"
+
GLM_FUNC_DECL tmat3x4< T, P > diagonal3x4(tvec3< T, P > const &v)
Build a diagonal matrix.
+
GLM_FUNC_DECL tmat3x2< T, P > diagonal3x2(tvec2< T, P > const &v)
Build a diagonal matrix.
+
GLM_FUNC_DECL tmat4x2< T, P > diagonal4x2(tvec2< T, P > const &v)
Build a diagonal matrix.
+
GLM_FUNC_DECL tmat2x4< T, P > diagonal2x4(tvec2< T, P > const &v)
Build a diagonal matrix.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tmat4x3< T, P > diagonal4x3(tvec3< T, P > const &v)
Build a diagonal matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > diagonal4x4(tvec4< T, P > const &v)
Build a diagonal matrix.
+
GLM_FUNC_DECL tmat2x2< T, P > diagonal2x2(tvec2< T, P > const &v)
Build a diagonal matrix.
+
GLM_FUNC_DECL tmat3x3< T, P > diagonal3x3(tvec3< T, P > const &v)
Build a diagonal matrix.
+
GLM_FUNC_DECL tmat2x3< T, P > diagonal2x3(tvec2< T, P > const &v)
Build a diagonal matrix.
diff --git a/doc/api/a00076.html b/doc/api/a00076.html index d9ce0750..3f902aca 100644 --- a/doc/api/a00076.html +++ b/doc/api/a00076.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_transform_2d.hpp File Reference + +0.9.7: matrix_query.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_transform_2d.hpp File Reference
+
matrix_query.hpp File Reference
@@ -56,40 +56,51 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > rotate (tmat3x3< T, P > const &m, T angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > scale (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearX (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearY (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > translate (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_matrix_transform_2d

-
Date
2014-02-20
-
Author
Miguel Ángel Pérez Martínez
-
See also
GLM Core (dependence)
+

GLM_GTX_matrix_query

+
Date
2007-03-05 / 2011-08-28
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+GLM_GTX_vector_query (dependence)
-

Definition in file matrix_transform_2d.hpp.

+

Definition in file matrix_query.hpp.

diff --git a/doc/api/a00076_source.html b/doc/api/a00076_source.html index f911de8e..11cb5945 100644 --- a/doc/api/a00076_source.html +++ b/doc/api/a00076_source.html @@ -3,8 +3,8 @@ - -0.9.6: matrix_transform_2d.hpp Source File + +0.9.7: matrix_query.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix_transform_2d.hpp
+
matrix_query.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../mat3x3.hpp"
-
46 #include "../vec2.hpp"
-
47 
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_matrix_transform_2d extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
-
57 
-
62  template <typename T, precision P>
-
63  GLM_FUNC_QUALIFIER tmat3x3<T, P> translate(
-
64  tmat3x3<T, P> const & m,
-
65  tvec2<T, P> const & v);
-
66 
-
71  template <typename T, precision P>
-
72  GLM_FUNC_QUALIFIER tmat3x3<T, P> rotate(
-
73  tmat3x3<T, P> const & m,
-
74  T angle);
-
75 
-
80  template <typename T, precision P>
-
81  GLM_FUNC_QUALIFIER tmat3x3<T, P> scale(
-
82  tmat3x3<T, P> const & m,
-
83  tvec2<T, P> const & v);
-
84 
-
89  template <typename T, precision P>
-
90  GLM_FUNC_QUALIFIER tmat3x3<T, P> shearX(
-
91  tmat3x3<T, P> const & m,
-
92  T y);
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 #include "../gtx/vector_query.hpp"
+
48 #include <limits>
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTX_matrix_query extension included")
+
52 #endif
+
53 
+
54 namespace glm
+
55 {
+
58 
+
61  template<typename T, precision P>
+
62  GLM_FUNC_DECL bool isNull(tmat2x2<T, P> const & m, T const & epsilon);
+
63 
+
66  template<typename T, precision P>
+
67  GLM_FUNC_DECL bool isNull(tmat3x3<T, P> const & m, T const & epsilon);
+
68 
+
71  template<typename T, precision P>
+
72  GLM_FUNC_DECL bool isNull(tmat4x4<T, P> const & m, T const & epsilon);
+
73 
+
76  template<typename T, precision P, template <typename, precision> class matType>
+
77  GLM_FUNC_DECL bool isIdentity(matType<T, P> const & m, T const & epsilon);
+
78 
+
81  template<typename T, precision P>
+
82  GLM_FUNC_DECL bool isNormalized(tmat2x2<T, P> const & m, T const & epsilon);
+
83 
+
86  template<typename T, precision P>
+
87  GLM_FUNC_DECL bool isNormalized(tmat3x3<T, P> const & m, T const & epsilon);
+
88 
+
91  template<typename T, precision P>
+
92  GLM_FUNC_DECL bool isNormalized(tmat4x4<T, P> const & m, T const & epsilon);
93 
-
98  template <typename T, precision P>
-
99  GLM_FUNC_QUALIFIER tmat3x3<T, P> shearY(
-
100  tmat3x3<T, P> const & m,
-
101  T x);
-
102 
-
104 }//namespace glm
-
105 
-
106 #include "matrix_transform_2d.inl"
-
GLM_FUNC_QUALIFIER tmat3x3< T, P > rotate(tmat3x3< T, P > const &m, T angle)
Builds a rotation 3 * 3 matrix created from an angle.
-
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearY(tmat3x3< T, P > const &m, T x)
Builds a vertical (parallel to the y axis) shear 3 * 3 matrix.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_QUALIFIER tmat3x3< T, P > scale(tmat3x3< T, P > const &m, tvec2< T, P > const &v)
Builds a scale 3 * 3 matrix created from a vector of 2 components.
-
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearX(tmat3x3< T, P > const &m, T y)
Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix.
-
Definition: _noise.hpp:39
-
GLM_FUNC_QUALIFIER tmat3x3< T, P > translate(tmat3x3< T, P > const &m, tvec2< T, P > const &v)
Builds a translation 3 * 3 matrix created from a vector of 2 components.
+
96  template<typename T, precision P, template <typename, precision> class matType>
+
97  GLM_FUNC_DECL bool isOrthogonal(matType<T, P> const & m, T const & epsilon);
+
98 
+
100 }//namespace glm
+
101 
+
102 #include "matrix_query.inl"
+
GLM_FUNC_DECL bool isNull(tmat4x4< T, P > const &m, T const &epsilon)
Return whether a matrix is a null matrix.
+
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL bool isIdentity(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an identity matrix.
+
GLM_FUNC_DECL bool isNormalized(tmat4x4< T, P > const &m, T const &epsilon)
Return whether a matrix is a normalized matrix.
+
GLM_FUNC_DECL bool isOrthogonal(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an orthonormalized matrix.
diff --git a/doc/api/a00077.html b/doc/api/a00077.html index a4f8ee32..7f0fe334 100644 --- a/doc/api/a00077.html +++ b/doc/api/a00077.html @@ -3,8 +3,8 @@ - -0.9.6: mixed_product.hpp File Reference + +0.9.7: matrix_transform.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mixed_product.hpp File Reference
+
matrix_transform.hpp File Reference
@@ -56,29 +56,92 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

-template<typename T , precision P>
GLM_FUNC_DECL T mixedProduct (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > frustum (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > infinitePerspective (T fovy, T aspect, T near)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAt (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAtLH (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAtRH (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > ortho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspective (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFov (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFovLH (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFovRH (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveLH (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveRH (T fovy, T aspect, T near, T far)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL tmat4x4< T, P > pickMatrix (tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > project (tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > unProject (tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_mixed_producte

-
Date
2007-04-03 / 2011-06-07
+

GLM_GTC_matrix_transform

+
Date
2009-04-29 / 2011-05-16
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTX_transform
+
+GLM_GTX_transform2
-

Definition in file mixed_product.hpp.

+

Definition in file matrix_transform.hpp.

diff --git a/doc/api/a00077_source.html b/doc/api/a00077_source.html index e6452477..28b22c11 100644 --- a/doc/api/a00077_source.html +++ b/doc/api/a00077_source.html @@ -3,8 +3,8 @@ - -0.9.6: mixed_product.hpp Source File + +0.9.7: matrix_transform.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
mixed_product.hpp
+
matrix_transform.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_mixed_product extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
57  template <typename T, precision P>
-
58  GLM_FUNC_DECL T mixedProduct(
-
59  tvec3<T, P> const & v1,
-
60  tvec3<T, P> const & v2,
-
61  tvec3<T, P> const & v3);
+
50 #pragma once
+
51 
+
52 // Dependencies
+
53 #include "../mat4x4.hpp"
+
54 #include "../vec2.hpp"
+
55 #include "../vec3.hpp"
+
56 #include "../vec4.hpp"
+
57 #include "../gtc/constants.hpp"
+
58 
+
59 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
60 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
+
61 #endif
62 
-
64 }// namespace glm
-
65 
-
66 #include "mixed_product.inl"
-
GLM_FUNC_DECL T mixedProduct(tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
-
Definition: _noise.hpp:39
+
63 namespace glm
+
64 {
+
67 
+
86  template <typename T, precision P>
+
87  GLM_FUNC_DECL tmat4x4<T, P> translate(
+
88  tmat4x4<T, P> const & m,
+
89  tvec3<T, P> const & v);
+
90 
+
100  template <typename T, precision P>
+
101  GLM_FUNC_DECL tmat4x4<T, P> rotate(
+
102  tmat4x4<T, P> const & m,
+
103  T angle,
+
104  tvec3<T, P> const & axis);
+
105 
+
114  template <typename T, precision P>
+
115  GLM_FUNC_DECL tmat4x4<T, P> scale(
+
116  tmat4x4<T, P> const & m,
+
117  tvec3<T, P> const & v);
+
118 
+
130  template <typename T>
+
131  GLM_FUNC_DECL tmat4x4<T, defaultp> ortho(
+
132  T left,
+
133  T right,
+
134  T bottom,
+
135  T top,
+
136  T zNear,
+
137  T zFar);
+
138 
+
148  template <typename T>
+
149  GLM_FUNC_DECL tmat4x4<T, defaultp> ortho(
+
150  T left,
+
151  T right,
+
152  T bottom,
+
153  T top);
+
154 
+
165  template <typename T>
+
166  GLM_FUNC_DECL tmat4x4<T, defaultp> frustum(
+
167  T left,
+
168  T right,
+
169  T bottom,
+
170  T top,
+
171  T near,
+
172  T far);
+
173 
+
182  template <typename T>
+
183  GLM_FUNC_DECL tmat4x4<T, defaultp> perspective(
+
184  T fovy,
+
185  T aspect,
+
186  T near,
+
187  T far);
+
188 
+
189 
+
198  template <typename T>
+
199  GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveRH(
+
200  T fovy,
+
201  T aspect,
+
202  T near,
+
203  T far);
+
204 
+
213  template <typename T>
+
214  GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveLH(
+
215  T fovy,
+
216  T aspect,
+
217  T near,
+
218  T far);
+
219 
+
229  template <typename T>
+
230  GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveFov(
+
231  T fov,
+
232  T width,
+
233  T height,
+
234  T near,
+
235  T far);
+
236 
+
246  template <typename T>
+
247  GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveFovRH(
+
248  T fov,
+
249  T width,
+
250  T height,
+
251  T near,
+
252  T far);
+
253 
+
263  template <typename T>
+
264  GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveFovLH(
+
265  T fov,
+
266  T width,
+
267  T height,
+
268  T near,
+
269  T far);
+
270 
+
278  template <typename T>
+
279  GLM_FUNC_DECL tmat4x4<T, defaultp> infinitePerspective(
+
280  T fovy, T aspect, T near);
+
281 
+
289  template <typename T>
+
290  GLM_FUNC_DECL tmat4x4<T, defaultp> tweakedInfinitePerspective(
+
291  T fovy, T aspect, T near);
+
292 
+
301  template <typename T>
+
302  GLM_FUNC_DECL tmat4x4<T, defaultp> tweakedInfinitePerspective(
+
303  T fovy, T aspect, T near, T ep);
+
304 
+
315  template <typename T, typename U, precision P>
+
316  GLM_FUNC_DECL tvec3<T, P> project(
+
317  tvec3<T, P> const & obj,
+
318  tmat4x4<T, P> const & model,
+
319  tmat4x4<T, P> const & proj,
+
320  tvec4<U, P> const & viewport);
+
321 
+
332  template <typename T, typename U, precision P>
+
333  GLM_FUNC_DECL tvec3<T, P> unProject(
+
334  tvec3<T, P> const & win,
+
335  tmat4x4<T, P> const & model,
+
336  tmat4x4<T, P> const & proj,
+
337  tvec4<U, P> const & viewport);
+
338 
+
347  template <typename T, precision P, typename U>
+
348  GLM_FUNC_DECL tmat4x4<T, P> pickMatrix(
+
349  tvec2<T, P> const & center,
+
350  tvec2<T, P> const & delta,
+
351  tvec4<U, P> const & viewport);
+
352 
+
360  template <typename T, precision P>
+
361  GLM_FUNC_DECL tmat4x4<T, P> lookAt(
+
362  tvec3<T, P> const & eye,
+
363  tvec3<T, P> const & center,
+
364  tvec3<T, P> const & up);
+
365 
+
373  template <typename T, precision P>
+
374  GLM_FUNC_DECL tmat4x4<T, P> lookAtRH(
+
375  tvec3<T, P> const & eye,
+
376  tvec3<T, P> const & center,
+
377  tvec3<T, P> const & up);
+
378 
+
386  template <typename T, precision P>
+
387  GLM_FUNC_DECL tmat4x4<T, P> lookAtLH(
+
388  tvec3<T, P> const & eye,
+
389  tvec3<T, P> const & center,
+
390  tvec3<T, P> const & up);
+
391 
+
393 }//namespace glm
+
394 
+
395 #include "matrix_transform.inl"
+
GLM_FUNC_DECL vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
+
GLM_FUNC_DECL tmat4x4< T, P > translate(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a translation 4 * 4 matrix created from a vector of 3 components.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFov(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view and the default handedness.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > tweakedInfinitePerspective(T fovy, T aspect, T near, T ep)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics har...
+
GLM_FUNC_DECL tmat4x4< T, defaultp > perspective(T fovy, T aspect, T near, T far)
Creates a matrix for a symetric perspective-view frustum based on the default handedness.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveRH(T fovy, T aspect, T near, T far)
Creates a matrix for a right handed, symetric perspective-view frustum.
+
GLM_FUNC_DECL tvec3< T, P > unProject(tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > ortho(T left, T right, T bottom, T top)
Creates a matrix for projecting two-dimensional coordinates onto the screen.
+
GLM_FUNC_DECL tmat4x4< T, P > lookAt(tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
Build a look at view matrix based on the default handedness.
+
GLM_FUNC_DECL tmat4x4< T, P > pickMatrix(tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)
Define a picking region.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveLH(T fovy, T aspect, T near, T far)
Creates a matrix for a left handed, symetric perspective-view frustum.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > infinitePerspective(T fovy, T aspect, T near)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.
+
GLM_FUNC_DECL tvec3< T, P > project(tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
+
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFovRH(T fov, T width, T height, T near, T far)
Builds a right handed perspective projection matrix based on a field of view.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > frustum(T left, T right, T bottom, T top, T near, T far)
Creates a frustum matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > lookAtLH(tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
Build a left handed look at view matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > rotate(tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFovLH(T fov, T width, T height, T near, T far)
Builds a left handed perspective projection matrix based on a field of view.
+
GLM_FUNC_DECL tmat4x4< T, P > lookAtRH(tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
Build a right handed look at view matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > scale(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
diff --git a/doc/api/a00078.html b/doc/api/a00078.html index 51676d4d..2da3820d 100644 --- a/doc/api/a00078.html +++ b/doc/api/a00078.html @@ -3,8 +3,8 @@ - -0.9.6: multiple.hpp File Reference + +0.9.7: matrix_transform_2d.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
multiple.hpp File Reference
+
matrix_transform_2d.hpp File Reference
@@ -56,43 +56,40 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL
-genType 
higherMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > 
higherMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL
-genType 
lowerMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > 
lowerMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > rotate (tmat3x3< T, P > const &m, T angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > scale (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearX (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearY (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > translate (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_multiple

-
Date
2009-10-26 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
+

GLM_GTX_matrix_transform_2d

+
Date
2014-02-20
+
Author
Miguel Ángel Pérez Martínez
+
See also
GLM Core (dependence)
-

Definition in file multiple.hpp.

+

Definition in file matrix_transform_2d.hpp.

diff --git a/doc/api/a00078_source.html b/doc/api/a00078_source.html index 931ed2d2..0c2076c0 100644 --- a/doc/api/a00078_source.html +++ b/doc/api/a00078_source.html @@ -3,8 +3,8 @@ - -0.9.6: multiple.hpp Source File + +0.9.7: matrix_transform_2d.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
multiple.hpp
+
matrix_transform_2d.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../gtc/round.hpp"
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../mat3x3.hpp"
+
46 #include "../vec2.hpp"
47 
-
48 #pragma message("GLM: GLM_GTX_multiple extension is deprecated, use GLM_GTC_round instead.")
-
49 
-
50 namespace glm
-
51 {
-
54 
-
62  template <typename genType>
-
63  GLM_DEPRECATED GLM_FUNC_DECL genType higherMultiple(
-
64  genType Source,
-
65  genType Multiple);
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_matrix_transform_2d extension included")
+
51 #endif
+
52 
+
53 namespace glm
+
54 {
+
57 
+
62  template <typename T, precision P>
+
63  GLM_FUNC_QUALIFIER tmat3x3<T, P> translate(
+
64  tmat3x3<T, P> const & m,
+
65  tvec2<T, P> const & v);
66 
-
74  template <typename T, precision P, template <typename, precision> class vecType>
-
75  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> higherMultiple(
-
76  vecType<T, P> const & Source,
-
77  vecType<T, P> const & Multiple);
-
78 
-
86  template <typename genType>
-
87  GLM_DEPRECATED GLM_FUNC_DECL genType lowerMultiple(
-
88  genType Source,
-
89  genType Multiple);
-
90 
-
98  template <typename T, precision P, template <typename, precision> class vecType>
-
99  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> lowerMultiple(
-
100  vecType<T, P> const & Source,
-
101  vecType<T, P> const & Multiple);
+
71  template <typename T, precision P>
+
72  GLM_FUNC_QUALIFIER tmat3x3<T, P> rotate(
+
73  tmat3x3<T, P> const & m,
+
74  T angle);
+
75 
+
80  template <typename T, precision P>
+
81  GLM_FUNC_QUALIFIER tmat3x3<T, P> scale(
+
82  tmat3x3<T, P> const & m,
+
83  tvec2<T, P> const & v);
+
84 
+
89  template <typename T, precision P>
+
90  GLM_FUNC_QUALIFIER tmat3x3<T, P> shearX(
+
91  tmat3x3<T, P> const & m,
+
92  T y);
+
93 
+
98  template <typename T, precision P>
+
99  GLM_FUNC_QUALIFIER tmat3x3<T, P> shearY(
+
100  tmat3x3<T, P> const & m,
+
101  T x);
102 
104 }//namespace glm
105 
-
106 #include "multiple.inl"
-
Definition: _noise.hpp:39
-
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > higherMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Higher multiple number of Source.
-
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > lowerMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Lower multiple number of Source.
+
106 #include "matrix_transform_2d.inl"
+
GLM_FUNC_QUALIFIER tmat3x3< T, P > scale(tmat3x3< T, P > const &m, tvec2< T, P > const &v)
Builds a scale 3 * 3 matrix created from a vector of 2 components.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_QUALIFIER tmat3x3< T, P > translate(tmat3x3< T, P > const &m, tvec2< T, P > const &v)
Builds a translation 3 * 3 matrix created from a vector of 2 components.
+
GLM_FUNC_QUALIFIER tmat3x3< T, P > rotate(tmat3x3< T, P > const &m, T angle)
Builds a rotation 3 * 3 matrix created from an angle.
+
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearY(tmat3x3< T, P > const &m, T x)
Builds a vertical (parallel to the y axis) shear 3 * 3 matrix.
+
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearX(tmat3x3< T, P > const &m, T y)
Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix.
diff --git a/doc/api/a00079.html b/doc/api/a00079.html index 6afbd8fe..6826a28e 100644 --- a/doc/api/a00079.html +++ b/doc/api/a00079.html @@ -3,8 +3,8 @@ - -0.9.6: noise.hpp File Reference + +0.9.7: mixed_product.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
noise.hpp File Reference
+
mixed_product.hpp File Reference
@@ -56,34 +56,29 @@ - - - - - - - - - + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T simplex (vecType< T, P > const &p)
 
+template<typename T , precision P>
GLM_FUNC_DECL T mixedProduct (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_noise

-
Date
2011-04-21 / 2011-09-27
+

GLM_GTX_mixed_producte

+
Date
2007-04-03 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file noise.hpp.

+

Definition in file mixed_product.hpp.

diff --git a/doc/api/a00079_source.html b/doc/api/a00079_source.html index e4a942d2..ba941017 100644 --- a/doc/api/a00079_source.html +++ b/doc/api/a00079_source.html @@ -3,8 +3,8 @@ - -0.9.6: noise.hpp Source File + +0.9.7: mixed_product.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
noise.hpp
+
mixed_product.hpp
Go to the documentation of this file.
1 
-
45 #pragma once
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
46 
-
47 // Dependencies
-
48 #include "../detail/setup.hpp"
-
49 #include "../detail/precision.hpp"
-
50 #include "../detail/_noise.hpp"
-
51 #include "../geometric.hpp"
-
52 #include "../common.hpp"
-
53 #include "../vector_relational.hpp"
-
54 #include "../vec2.hpp"
-
55 #include "../vec3.hpp"
-
56 #include "../vec4.hpp"
-
57 
-
58 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
59 # pragma message("GLM: GLM_GTC_noise extension included")
-
60 #endif
-
61 
-
62 namespace glm
-
63 {
-
66 
-
69  template <typename T, precision P, template<typename, precision> class vecType>
-
70  GLM_FUNC_DECL T perlin(
-
71  vecType<T, P> const & p);
-
72 
-
75  template <typename T, precision P, template<typename, precision> class vecType>
-
76  GLM_FUNC_DECL T perlin(
-
77  vecType<T, P> const & p,
-
78  vecType<T, P> const & rep);
-
79 
-
82  template <typename T, precision P, template<typename, precision> class vecType>
-
83  GLM_FUNC_DECL T simplex(
-
84  vecType<T, P> const & p);
-
85 
-
87 }//namespace glm
-
88 
-
89 #include "noise.inl"
-
GLM_FUNC_DECL T perlin(vecType< T, P > const &p, vecType< T, P > const &rep)
Periodic perlin noise.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL T simplex(vecType< T, P > const &p)
Simplex noise.
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_mixed_product extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
57  template <typename T, precision P>
+
58  GLM_FUNC_DECL T mixedProduct(
+
59  tvec3<T, P> const & v1,
+
60  tvec3<T, P> const & v2,
+
61  tvec3<T, P> const & v3);
+
62 
+
64 }// namespace glm
+
65 
+
66 #include "mixed_product.inl"
+
GLM_FUNC_DECL T mixedProduct(tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00080.html b/doc/api/a00080.html index 6cd68e0a..9aecd22f 100644 --- a/doc/api/a00080.html +++ b/doc/api/a00080.html @@ -3,8 +3,8 @@ - -0.9.6: norm.hpp File Reference + +0.9.7: noise.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
norm.hpp File Reference
+
noise.hpp File Reference
@@ -56,57 +56,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL T distance2 (T const &p0, T const &p1)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
GLM_FUNC_DECL T l1Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T l1Norm (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL T l2Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T l2Norm (tvec3< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T length2 (T const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T lxNorm (tvec3< T, P > const &x, tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
GLM_FUNC_DECL T lxNorm (tvec3< T, P > const &x, unsigned int Depth)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T simplex (vecType< T, P > const &p)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_norm

-
Date
2005-12-21 / 2011-06-07
+

GLM_GTC_noise

+
Date
2011-04-21 / 2011-09-27
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_quaternion (dependence)
+
See also
GLM Core (dependence)
-

Definition in file norm.hpp.

+

Definition in file noise.hpp.

diff --git a/doc/api/a00080_source.html b/doc/api/a00080_source.html index cbd99d34..c84f65b5 100644 --- a/doc/api/a00080_source.html +++ b/doc/api/a00080_source.html @@ -3,8 +3,8 @@ - -0.9.6: norm.hpp Source File + +0.9.7: noise.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
norm.hpp
+
noise.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 #include "../gtx/quaternion.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_norm extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
+
45 #pragma once
+
46 
+
47 // Dependencies
+
48 #include "../detail/setup.hpp"
+
49 #include "../detail/precision.hpp"
+
50 #include "../detail/_noise.hpp"
+
51 #include "../geometric.hpp"
+
52 #include "../common.hpp"
+
53 #include "../vector_relational.hpp"
+
54 #include "../vec2.hpp"
+
55 #include "../vec3.hpp"
+
56 #include "../vec4.hpp"
57 
-
60  template <typename T>
-
61  GLM_FUNC_DECL T length2(
-
62  T const & x);
-
63 
-
66  template <typename genType>
-
67  GLM_FUNC_DECL typename genType::value_type length2(
-
68  genType const & x);
-
69 
-
72  template <typename T>
-
73  GLM_FUNC_DECL T distance2(
-
74  T const & p0,
-
75  T const & p1);
-
76 
-
79  template <typename genType>
-
80  GLM_FUNC_DECL typename genType::value_type distance2(
-
81  genType const & p0,
-
82  genType const & p1);
-
83 
-
86  template <typename T, precision P>
-
87  GLM_FUNC_DECL T l1Norm(
-
88  tvec3<T, P> const & x,
-
89  tvec3<T, P> const & y);
-
90 
-
93  template <typename T, precision P>
-
94  GLM_FUNC_DECL T l1Norm(
-
95  tvec3<T, P> const & v);
-
96 
-
99  template <typename T, precision P>
-
100  GLM_FUNC_DECL T l2Norm(
-
101  tvec3<T, P> const & x,
-
102  tvec3<T, P> const & y);
-
103 
-
106  template <typename T, precision P>
-
107  GLM_FUNC_DECL T l2Norm(
-
108  tvec3<T, P> const & x);
-
109 
-
112  template <typename T, precision P>
-
113  GLM_FUNC_DECL T lxNorm(
-
114  tvec3<T, P> const & x,
-
115  tvec3<T, P> const & y,
-
116  unsigned int Depth);
-
117 
-
120  template <typename T, precision P>
-
121  GLM_FUNC_DECL T lxNorm(
-
122  tvec3<T, P> const & x,
-
123  unsigned int Depth);
-
124 
-
126 }//namespace glm
-
127 
-
128 #include "norm.inl"
-
GLM_FUNC_DECL genType::value_type distance2(genType const &p0, genType const &p1)
Returns the squared distance between p0 and p1, i.e., length(p0 - p1).
-
GLM_FUNC_DECL genType::value_type length2(genType const &x)
Returns the squared length of x.
-
GLM_FUNC_DECL T l2Norm(tvec3< T, P > const &x)
Returns the L2 norm of v.
-
GLM_FUNC_DECL T l1Norm(tvec3< T, P > const &v)
Returns the L1 norm of v.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL T lxNorm(tvec3< T, P > const &x, unsigned int Depth)
Returns the L norm of v.
+
58 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
59 # pragma message("GLM: GLM_GTC_noise extension included")
+
60 #endif
+
61 
+
62 namespace glm
+
63 {
+
66 
+
69  template <typename T, precision P, template<typename, precision> class vecType>
+
70  GLM_FUNC_DECL T perlin(
+
71  vecType<T, P> const & p);
+
72 
+
75  template <typename T, precision P, template<typename, precision> class vecType>
+
76  GLM_FUNC_DECL T perlin(
+
77  vecType<T, P> const & p,
+
78  vecType<T, P> const & rep);
+
79 
+
82  template <typename T, precision P, template<typename, precision> class vecType>
+
83  GLM_FUNC_DECL T simplex(
+
84  vecType<T, P> const & p);
+
85 
+
87 }//namespace glm
+
88 
+
89 #include "noise.inl"
+
GLM_FUNC_DECL T simplex(vecType< T, P > const &p)
Simplex noise.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T perlin(vecType< T, P > const &p, vecType< T, P > const &rep)
Periodic perlin noise.
diff --git a/doc/api/a00081.html b/doc/api/a00081.html index 720fab2a..7bf8f847 100644 --- a/doc/api/a00081.html +++ b/doc/api/a00081.html @@ -3,8 +3,8 @@ - -0.9.6: normal.hpp File Reference + +0.9.7: norm.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
normal.hpp File Reference
+
norm.hpp File Reference
@@ -56,30 +56,57 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > triangleNormal (tvec3< T, P > const &p1, tvec3< T, P > const &p2, tvec3< T, P > const &p3)
 
template<typename T >
GLM_FUNC_DECL T distance2 (T const &p0, T const &p1)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
GLM_FUNC_DECL T l1Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T l1Norm (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL T l2Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T l2Norm (tvec3< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T length2 (T const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T lxNorm (tvec3< T, P > const &x, tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
GLM_FUNC_DECL T lxNorm (tvec3< T, P > const &x, unsigned int Depth)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_normal

+

GLM_GTX_norm

Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTX_extented_min_max (dependence)
+GLM_GTX_quaternion (dependence)
-

Definition in file normal.hpp.

+

Definition in file norm.hpp.

diff --git a/doc/api/a00081_source.html b/doc/api/a00081_source.html index 49d272f2..76487642 100644 --- a/doc/api/a00081_source.html +++ b/doc/api/a00081_source.html @@ -3,8 +3,8 @@ - -0.9.6: normal.hpp Source File + +0.9.7: norm.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
normal.hpp
+
norm.hpp
Go to the documentation of this file.
1 
@@ -54,31 +54,77 @@
44 
45 // Dependency:
46 #include "../glm.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_normal extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename T, precision P>
-
60  GLM_FUNC_DECL tvec3<T, P> triangleNormal(
-
61  tvec3<T, P> const & p1,
-
62  tvec3<T, P> const & p2,
-
63  tvec3<T, P> const & p3);
-
64 
-
66 }//namespace glm
-
67 
-
68 #include "normal.inl"
-
GLM_FUNC_DECL tvec3< T, P > triangleNormal(tvec3< T, P > const &p1, tvec3< T, P > const &p2, tvec3< T, P > const &p3)
Computes triangle normal from triangle points.
-
Definition: _noise.hpp:39
+
47 #include "../gtx/quaternion.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_norm extension included")
+
51 #endif
+
52 
+
53 namespace glm
+
54 {
+
57 
+
60  template <typename T>
+
61  GLM_FUNC_DECL T length2(
+
62  T const & x);
+
63 
+
66  template <typename genType>
+
67  GLM_FUNC_DECL typename genType::value_type length2(
+
68  genType const & x);
+
69 
+
72  template <typename T>
+
73  GLM_FUNC_DECL T distance2(
+
74  T const & p0,
+
75  T const & p1);
+
76 
+
79  template <typename genType>
+
80  GLM_FUNC_DECL typename genType::value_type distance2(
+
81  genType const & p0,
+
82  genType const & p1);
+
83 
+
86  template <typename T, precision P>
+
87  GLM_FUNC_DECL T l1Norm(
+
88  tvec3<T, P> const & x,
+
89  tvec3<T, P> const & y);
+
90 
+
93  template <typename T, precision P>
+
94  GLM_FUNC_DECL T l1Norm(
+
95  tvec3<T, P> const & v);
+
96 
+
99  template <typename T, precision P>
+
100  GLM_FUNC_DECL T l2Norm(
+
101  tvec3<T, P> const & x,
+
102  tvec3<T, P> const & y);
+
103 
+
106  template <typename T, precision P>
+
107  GLM_FUNC_DECL T l2Norm(
+
108  tvec3<T, P> const & x);
+
109 
+
112  template <typename T, precision P>
+
113  GLM_FUNC_DECL T lxNorm(
+
114  tvec3<T, P> const & x,
+
115  tvec3<T, P> const & y,
+
116  unsigned int Depth);
+
117 
+
120  template <typename T, precision P>
+
121  GLM_FUNC_DECL T lxNorm(
+
122  tvec3<T, P> const & x,
+
123  unsigned int Depth);
+
124 
+
126 }//namespace glm
+
127 
+
128 #include "norm.inl"
+
GLM_FUNC_DECL T lxNorm(tvec3< T, P > const &x, unsigned int Depth)
Returns the L norm of v.
+
GLM_FUNC_DECL genType::value_type distance2(genType const &p0, genType const &p1)
Returns the squared distance between p0 and p1, i.e., length2(p0 - p1).
+
GLM_FUNC_DECL T l2Norm(tvec3< T, P > const &x)
Returns the L2 norm of v.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T l1Norm(tvec3< T, P > const &v)
Returns the L1 norm of v.
+
GLM_FUNC_DECL genType::value_type length2(genType const &x)
Returns the squared length of x.
diff --git a/doc/api/a00082.html b/doc/api/a00082.html index ec13081e..d9bbc61f 100644 --- a/doc/api/a00082.html +++ b/doc/api/a00082.html @@ -3,8 +3,8 @@ - -0.9.6: normalize_dot.hpp File Reference + +0.9.7: normal.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
normalize_dot.hpp File Reference
+
normal.hpp File Reference
@@ -56,33 +56,30 @@ - - - - - - + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastNormalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T normalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > triangleNormal (tvec3< T, P > const &p1, tvec3< T, P > const &p2, tvec3< T, P > const &p3)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_normalize_dot

-
Date
2007-09-28 / 2011-06-07
+

GLM_GTX_normal

+
Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTX_fast_square_root (dependence)
+GLM_GTX_extented_min_max (dependence)
-

Definition in file normalize_dot.hpp.

+

Definition in file normal.hpp.

diff --git a/doc/api/a00082_source.html b/doc/api/a00082_source.html index 29ae6bb9..09c74b4a 100644 --- a/doc/api/a00082_source.html +++ b/doc/api/a00082_source.html @@ -3,8 +3,8 @@ - -0.9.6: normalize_dot.hpp Source File + +0.9.7: normal.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
normalize_dot.hpp
+
normal.hpp
Go to the documentation of this file.
1 
43 #pragma once
44 
45 // Dependency:
-
46 #include "../gtx/fast_square_root.hpp"
+
46 #include "../glm.hpp"
47 
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_normalize_dot extension included")
+
49 # pragma message("GLM: GLM_GTX_normal extension included")
50 #endif
51 
-
52 namespace glm
+
52 namespace glm
53 {
56 
-
61  template <typename T, precision P, template <typename, precision> class vecType>
-
62  GLM_FUNC_DECL T normalizeDot(vecType<T, P> const & x, vecType<T, P> const & y);
-
63 
-
68  template <typename T, precision P, template <typename, precision> class vecType>
-
69  GLM_FUNC_DECL T fastNormalizeDot(vecType<T, P> const & x, vecType<T, P> const & y);
-
70 
-
72 }//namespace glm
-
73 
-
74 #include "normalize_dot.inl"
-
GLM_FUNC_DECL T normalizeDot(vecType< T, P > const &x, vecType< T, P > const &y)
Normalize parameters and returns the dot product of x and y.
-
GLM_FUNC_DECL T fastNormalizeDot(vecType< T, P > const &x, vecType< T, P > const &y)
Normalize parameters and returns the dot product of x and y.
-
Definition: _noise.hpp:39
+
59  template <typename T, precision P>
+
60  GLM_FUNC_DECL tvec3<T, P> triangleNormal(
+
61  tvec3<T, P> const & p1,
+
62  tvec3<T, P> const & p2,
+
63  tvec3<T, P> const & p3);
+
64 
+
66 }//namespace glm
+
67 
+
68 #include "normal.inl"
+
GLM_FUNC_DECL tvec3< T, P > triangleNormal(tvec3< T, P > const &p1, tvec3< T, P > const &p2, tvec3< T, P > const &p3)
Computes triangle normal from triangle points.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00083.html b/doc/api/a00083.html index 3bfd7215..a9204dbe 100644 --- a/doc/api/a00083.html +++ b/doc/api/a00083.html @@ -3,8 +3,8 @@ - -0.9.6: number_precision.hpp File Reference + +0.9.7: normalize_dot.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
number_precision.hpp File Reference
+
normalize_dot.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - + + + + + + +

-Typedefs

-typedef f32 f32mat1
 
-typedef f32 f32mat1x1
 
-typedef f32 f32vec1
 
-typedef f64 f64mat1
 
-typedef f64 f64mat1x1
 
-typedef f64 f64vec1
 
-typedef u16 u16vec1
 
-typedef u32 u32vec1
 
-typedef u64 u64vec1
 
-typedef u8 u8vec1
 

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastNormalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T normalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_number_precision

-
Date
2007-05-10 / 2011-06-07
+

GLM_GTX_normalize_dot

+
Date
2007-09-28 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTC_type_precision (dependence)
-
-GLM_GTC_quaternion (dependence)
+GLM_GTX_fast_square_root (dependence)
-

Definition in file number_precision.hpp.

+

Definition in file normalize_dot.hpp.

diff --git a/doc/api/a00083_source.html b/doc/api/a00083_source.html index d19823c5..b86653e6 100644 --- a/doc/api/a00083_source.html +++ b/doc/api/a00083_source.html @@ -3,8 +3,8 @@ - -0.9.6: number_precision.hpp Source File + +0.9.7: normalize_dot.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
number_precision.hpp
+
normalize_dot.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
-
45 
-
46 // Dependency:
-
47 #include "../glm.hpp"
-
48 #include "../gtc/type_precision.hpp"
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTX_number_precision extension included")
-
52 #endif
-
53 
-
54 namespace glm{
-
55 namespace gtx
-
56 {
-
58  // Unsigned int vector types
-
59 
-
62 
-
63  typedef u8 u8vec1;
-
64  typedef u16 u16vec1;
-
65  typedef u32 u32vec1;
-
66  typedef u64 u64vec1;
-
67 
-
69  // Float vector types
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../gtx/fast_square_root.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_normalize_dot extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
61  template <typename T, precision P, template <typename, precision> class vecType>
+
62  GLM_FUNC_DECL T normalizeDot(vecType<T, P> const & x, vecType<T, P> const & y);
+
63 
+
68  template <typename T, precision P, template <typename, precision> class vecType>
+
69  GLM_FUNC_DECL T fastNormalizeDot(vecType<T, P> const & x, vecType<T, P> const & y);
70 
-
71  typedef f32 f32vec1;
-
72  typedef f64 f64vec1;
+
72 }//namespace glm
73 
-
75  // Float matrix types
-
76 
-
77  typedef f32 f32mat1;
-
78  typedef f32 f32mat1x1;
-
79  typedef f64 f64mat1;
-
80  typedef f64 f64mat1x1;
-
81 
-
83 }//namespace gtx
-
84 }//namespace glm
-
85 
-
86 #include "number_precision.inl"
-
f64 f64mat1
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:926
-
u64 u64vec1
64bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
-
u32 u32vec1
32bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
-
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:938
-
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:930
-
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:934
-
f32 f32mat1x1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1541
-
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1537
-
f32 f32mat1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
f32 f32vec1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
Definition: _noise.hpp:39
-
u8 u8vec1
8bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
-
f64 f64vec1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
f64 f64mat1x1
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
u16 u16vec1
16bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
+
74 #include "normalize_dot.inl"
+
GLM_FUNC_DECL T fastNormalizeDot(vecType< T, P > const &x, vecType< T, P > const &y)
Normalize parameters and returns the dot product of x and y.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T normalizeDot(vecType< T, P > const &x, vecType< T, P > const &y)
Normalize parameters and returns the dot product of x and y.
diff --git a/doc/api/a00084.html b/doc/api/a00084.html index 4b1086e1..1a2a1e2f 100644 --- a/doc/api/a00084.html +++ b/doc/api/a00084.html @@ -3,8 +3,8 @@ - -0.9.6: optimum_pow.hpp File Reference + +0.9.7: number_precision.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Typedefs
-
optimum_pow.hpp File Reference
+
number_precision.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

-Functions

template<typename genType >
GLM_FUNC_DECL genType pow2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow4 (genType const &x)
 

+Typedefs

+typedef f32 f32mat1
 
+typedef f32 f32mat1x1
 
+typedef f32 f32vec1
 
+typedef f64 f64mat1
 
+typedef f64 f64mat1x1
 
+typedef f64 f64vec1
 
+typedef u16 u16vec1
 
+typedef u32 u32vec1
 
+typedef u64 u64vec1
 
+typedef u8 u8vec1
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_optimum_pow

-
Date
2005-12-21 / 2011-06-07
+

GLM_GTX_number_precision

+
Date
2007-05-10 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTC_type_precision (dependence)
+
+GLM_GTC_quaternion (dependence)
-

Definition in file optimum_pow.hpp.

+

Definition in file number_precision.hpp.

diff --git a/doc/api/a00084_source.html b/doc/api/a00084_source.html index 33883627..b145b8dc 100644 --- a/doc/api/a00084_source.html +++ b/doc/api/a00084_source.html @@ -3,8 +3,8 @@ - -0.9.6: optimum_pow.hpp Source File + +0.9.7: number_precision.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
optimum_pow.hpp
+
number_precision.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_optimum_pow extension included")
-
49 #endif
-
50 
-
51 namespace glm{
-
52 namespace gtx
-
53 {
-
56 
-
60  template <typename genType>
-
61  GLM_FUNC_DECL genType pow2(genType const & x);
+
44 #pragma once
+
45 
+
46 // Dependency:
+
47 #include "../glm.hpp"
+
48 #include "../gtc/type_precision.hpp"
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTX_number_precision extension included")
+
52 #endif
+
53 
+
54 namespace glm{
+
55 namespace gtx
+
56 {
+
58  // Unsigned int vector types
+
59 
62 
-
66  template <typename genType>
-
67  GLM_FUNC_DECL genType pow3(genType const & x);
-
68 
-
72  template <typename genType>
-
73  GLM_FUNC_DECL genType pow4(genType const & x);
-
74 
-
76 }//namespace gtx
-
77 }//namespace glm
-
78 
-
79 #include "optimum_pow.inl"
-
GLM_FUNC_DECL genType pow3(genType const &x)
Returns x raised to the power of 3.
-
GLM_FUNC_DECL genType pow4(genType const &x)
Returns x raised to the power of 4.
-
GLM_FUNC_DECL genType pow2(genType const &x)
Returns x raised to the power of 2.
-
Definition: _noise.hpp:39
+
63  typedef u8 u8vec1;
+
64  typedef u16 u16vec1;
+
65  typedef u32 u32vec1;
+
66  typedef u64 u64vec1;
+
67 
+
69  // Float vector types
+
70 
+
71  typedef f32 f32vec1;
+
72  typedef f64 f64vec1;
+
73 
+
75  // Float matrix types
+
76 
+
77  typedef f32 f32mat1;
+
78  typedef f32 f32mat1x1;
+
79  typedef f64 f64mat1;
+
80  typedef f64 f64mat1x1;
+
81 
+
83 }//namespace gtx
+
84 }//namespace glm
+
85 
+
86 #include "number_precision.inl"
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:931
+
f32 f32mat1x1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:935
+
u8 u8vec1
8bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
+
f32 f32mat1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
f32 f32vec1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:927
+
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1538
+
f64 f64vec1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
f64 f64mat1x1
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1534
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:923
+
u16 u16vec1
16bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
+
Definition: _noise.hpp:40
+
f64 f64mat1
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
u64 u64vec1
64bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
+
u32 u32vec1
32bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
diff --git a/doc/api/a00085.html b/doc/api/a00085.html index b81f8aef..6fd8d18c 100644 --- a/doc/api/a00085.html +++ b/doc/api/a00085.html @@ -3,8 +3,8 @@ - -0.9.6: orthonormalize.hpp File Reference + +0.9.7: optimum_pow.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
orthonormalize.hpp File Reference
+
optimum_pow.hpp File Reference
@@ -56,33 +56,34 @@ - - - - - - + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orthonormalize (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > orthonormalize (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType pow2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow4 (genType const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_orthonormalize

+

GLM_GTX_optimum_pow

Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
+
See also
GLM Core (dependence)
-

Definition in file orthonormalize.hpp.

+

Definition in file optimum_pow.hpp.

diff --git a/doc/api/a00085_source.html b/doc/api/a00085_source.html index 3623d086..bb0e89cf 100644 --- a/doc/api/a00085_source.html +++ b/doc/api/a00085_source.html @@ -3,8 +3,8 @@ - -0.9.6: orthonormalize.hpp Source File + +0.9.7: optimum_pow.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
orthonormalize.hpp
+
optimum_pow.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../vec3.hpp"
-
47 #include "../mat3x3.hpp"
-
48 #include "../geometric.hpp"
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTX_orthonormalize extension included")
-
52 #endif
-
53 
-
54 namespace glm
-
55 {
-
58 
-
62  template <typename T, precision P>
-
63  GLM_FUNC_DECL tmat3x3<T, P> orthonormalize(tmat3x3<T, P> const & m);
-
64 
-
68  template <typename T, precision P>
-
69  GLM_FUNC_DECL tvec3<T, P> orthonormalize(tvec3<T, P> const & x, tvec3<T, P> const & y);
-
70 
-
72 }//namespace glm
-
73 
-
74 #include "orthonormalize.inl"
-
GLM_FUNC_DECL tvec3< T, P > orthonormalize(tvec3< T, P > const &x, tvec3< T, P > const &y)
Orthonormalizes x according y.
-
Definition: _noise.hpp:39
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_optimum_pow extension included")
+
49 #endif
+
50 
+
51 namespace glm{
+
52 namespace gtx
+
53 {
+
56 
+
60  template <typename genType>
+
61  GLM_FUNC_DECL genType pow2(genType const & x);
+
62 
+
66  template <typename genType>
+
67  GLM_FUNC_DECL genType pow3(genType const & x);
+
68 
+
72  template <typename genType>
+
73  GLM_FUNC_DECL genType pow4(genType const & x);
+
74 
+
76 }//namespace gtx
+
77 }//namespace glm
+
78 
+
79 #include "optimum_pow.inl"
+
GLM_FUNC_DECL genType pow3(genType const &x)
Returns x raised to the power of 3.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType pow4(genType const &x)
Returns x raised to the power of 4.
+
GLM_FUNC_DECL genType pow2(genType const &x)
Returns x raised to the power of 2.
diff --git a/doc/api/a00086.html b/doc/api/a00086.html index c9070958..9ad48941 100644 --- a/doc/api/a00086.html +++ b/doc/api/a00086.html @@ -3,8 +3,8 @@ - -0.9.6: packing.hpp File Reference + +0.9.7: orthonormalize.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtc/packing.hpp File Reference
+
orthonormalize.hpp File Reference
@@ -56,85 +56,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float s)
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float v)
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 p)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orthonormalize (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > orthonormalize (tvec3< T, P > const &x, tvec3< T, P > const &y)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_packing

-
Date
2013-08-08 / 2013-08-08
+

GLM_GTX_orthonormalize

+
Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
-

Definition in file gtc/packing.hpp.

+

Definition in file orthonormalize.hpp.

diff --git a/doc/api/a00086_source.html b/doc/api/a00086_source.html index 4f4b3e6f..3d3bbf63 100644 --- a/doc/api/a00086_source.html +++ b/doc/api/a00086_source.html @@ -3,8 +3,8 @@ - -0.9.6: packing.hpp Source File + +0.9.7: orthonormalize.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtc/packing.hpp
+
orthonormalize.hpp
Go to the documentation of this file.
1 
43 #pragma once
44 
45 // Dependency:
-
46 #include "type_precision.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTC_packing extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
68  GLM_FUNC_DECL uint8 packUnorm1x8(float v);
-
69 
-
80  GLM_FUNC_DECL float unpackUnorm1x8(uint8 p);
-
81 
-
96  GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const & v);
-
97 
-
112  GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p);
-
113 
-
125  GLM_FUNC_DECL uint8 packSnorm1x8(float s);
-
126 
-
138  GLM_FUNC_DECL float unpackSnorm1x8(uint8 p);
-
139 
-
154  GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const & v);
-
155 
-
170  GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p);
-
171 
-
183  GLM_FUNC_DECL uint16 packUnorm1x16(float v);
-
184 
-
196  GLM_FUNC_DECL float unpackUnorm1x16(uint16 p);
-
197 
-
212  GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const & v);
-
213 
-
228  GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p);
-
229 
-
241  GLM_FUNC_DECL uint16 packSnorm1x16(float v);
-
242 
-
254  GLM_FUNC_DECL float unpackSnorm1x16(uint16 p);
-
255 
-
270  GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const & v);
-
271 
-
286  GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 const & p);
-
287 
-
297  GLM_FUNC_DECL uint16 packHalf1x16(float v);
-
298 
-
308  GLM_FUNC_DECL float unpackHalf1x16(uint16 v);
-
309 
-
321  GLM_FUNC_DECL uint64 packHalf4x16(vec4 const & v);
-
322 
-
334  GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p);
-
335 
-
347  GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const & v);
-
348 
-
358  GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p);
-
359 
-
371  GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const & v);
-
372 
-
382  GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p);
-
383 
-
400  GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const & v);
-
401 
-
417  GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p);
-
418 
-
435  GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const & v);
-
436 
-
452  GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p);
-
453 
-
463  GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const & v);
-
464 
-
473  GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p);
-
474 
-
476 }// namespace glm
-
477 
-
478 #include "packing.inl"
-
GLM_FUNC_DECL uint8 packSnorm1x8(float s)
First, converts the normalized floating-point value v into 8-bit integer value.
-
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
-
GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 const &p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers.
-
GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component unsigned intege...
-
GLM_FUNC_DECL uint64 packHalf4x16(vec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component floating-point ...
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:402
-
GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers...
-
GLM_FUNC_DECL uint8 packUnorm1x8(float v)
First, converts the normalized floating-point value v into a 8-bit integer value. ...
-
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:458
-
GLM_FUNC_DECL float unpackSnorm1x16(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.
-
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
-
GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers.
-
GLM_FUNC_DECL uint16 packHalf1x16(float v)
Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 1...
-
GLM_FUNC_DECL float unpackSnorm1x8(uint8 p)
First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.
-
GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const &v)
First, converts the first two components of the normalized floating-point value v into 11-bit signles...
-
GLM_FUNC_DECL uint16 packUnorm1x16(float v)
First, converts the normalized floating-point value v into a 16-bit integer value.
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL float unpackUnorm1x16(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.
-
GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
-
GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers...
-
GLM_FUNC_DECL uint16 packSnorm1x16(float v)
First, converts the normalized floating-point value v into 16-bit integer value.
-
GLM_FUNC_DECL float unpackHalf1x16(uint16 v)
Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into ...
-
GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const &v)
First, converts the first three components of the normalized floating-point value v into 10-bit unsig...
-
GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p)
First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and ...
-
GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
-
GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p)
Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigne...
-
GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:397
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:392
-
GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component signed integer ...
-
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:486
-
GLM_FUNC_DECL float unpackUnorm1x8(uint8 p)
Convert a single 8-bit integer to a normalized floating-point value.
-
GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const &v)
First, converts the first three components of the normalized floating-point value v into 10-bit signe...
-
GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.
-
GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
+
46 #include "../vec3.hpp"
+
47 #include "../mat3x3.hpp"
+
48 #include "../geometric.hpp"
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTX_orthonormalize extension included")
+
52 #endif
+
53 
+
54 namespace glm
+
55 {
+
58 
+
62  template <typename T, precision P>
+
63  GLM_FUNC_DECL tmat3x3<T, P> orthonormalize(tmat3x3<T, P> const & m);
+
64 
+
68  template <typename T, precision P>
+
69  GLM_FUNC_DECL tvec3<T, P> orthonormalize(tvec3<T, P> const & x, tvec3<T, P> const & y);
+
70 
+
72 }//namespace glm
+
73 
+
74 #include "orthonormalize.inl"
+
GLM_FUNC_DECL tvec3< T, P > orthonormalize(tvec3< T, P > const &x, tvec3< T, P > const &y)
Orthonormalizes x according y.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00087.html b/doc/api/a00087.html index 6027b8b4..c3eec70c 100644 --- a/doc/api/a00087.html +++ b/doc/api/a00087.html @@ -3,8 +3,8 @@ - -0.9.6: packing.hpp File Reference + +0.9.7: packing.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
packing.hpp File Reference
+
gtc/packing.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float s)
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float v)
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 p)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTC_packing

+
Date
2013-08-08 / 2013-08-08
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-

Definition in file packing.hpp.

+

Definition in file gtc/packing.hpp.

diff --git a/doc/api/a00087_source.html b/doc/api/a00087_source.html index 48776ab9..ff97023b 100644 --- a/doc/api/a00087_source.html +++ b/doc/api/a00087_source.html @@ -3,8 +3,8 @@ - -0.9.6: packing.hpp Source File + +0.9.7: packing.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
packing.hpp
+
gtc/packing.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "detail/func_packing.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "type_precision.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTC_packing extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
68  GLM_FUNC_DECL uint8 packUnorm1x8(float v);
+
69 
+
80  GLM_FUNC_DECL float unpackUnorm1x8(uint8 p);
+
81 
+
96  GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const & v);
+
97 
+
112  GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p);
+
113 
+
125  GLM_FUNC_DECL uint8 packSnorm1x8(float s);
+
126 
+
138  GLM_FUNC_DECL float unpackSnorm1x8(uint8 p);
+
139 
+
154  GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const & v);
+
155 
+
170  GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p);
+
171 
+
183  GLM_FUNC_DECL uint16 packUnorm1x16(float v);
+
184 
+
196  GLM_FUNC_DECL float unpackUnorm1x16(uint16 p);
+
197 
+
212  GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const & v);
+
213 
+
228  GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p);
+
229 
+
241  GLM_FUNC_DECL uint16 packSnorm1x16(float v);
+
242 
+
254  GLM_FUNC_DECL float unpackSnorm1x16(uint16 p);
+
255 
+
270  GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const & v);
+
271 
+
286  GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 p);
+
287 
+
297  GLM_FUNC_DECL uint16 packHalf1x16(float v);
+
298 
+
308  GLM_FUNC_DECL float unpackHalf1x16(uint16 v);
+
309 
+
321  GLM_FUNC_DECL uint64 packHalf4x16(vec4 const & v);
+
322 
+
334  GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p);
+
335 
+
347  GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const & v);
+
348 
+
358  GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p);
+
359 
+
371  GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const & v);
+
372 
+
382  GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p);
+
383 
+
400  GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const & v);
+
401 
+
417  GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p);
+
418 
+
435  GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const & v);
+
436 
+
452  GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p);
+
453 
+
463  GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const & v);
+
464 
+
473  GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p);
+
474 
+
476 }// namespace glm
+
477 
+
478 #include "packing.inl"
+
GLM_FUNC_DECL uint16 packUnorm1x16(float v)
First, converts the normalized floating-point value v into a 16-bit integer value.
+
GLM_FUNC_DECL float unpackUnorm1x16(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.
+
GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
+
GLM_FUNC_DECL uint16 packSnorm1x16(float v)
First, converts the normalized floating-point value v into 16-bit integer value.
+
GLM_FUNC_DECL float unpackHalf1x16(uint16 v)
Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into ...
+
GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const &v)
First, converts the first three components of the normalized floating-point value v into 10-bit unsig...
+
GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p)
First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and ...
+
GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers...
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
+
GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers.
+
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:481
+
GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
+
GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p)
Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigne...
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:390
+
GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const &v)
First, converts the first three components of the normalized floating-point value v into 10-bit signe...
+
GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.
+
GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component signed integer ...
+
GLM_FUNC_DECL float unpackUnorm1x8(uint8 p)
Convert a single 8-bit integer to a normalized floating-point value.
+
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
+
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
+
GLM_FUNC_DECL uint8 packSnorm1x8(float s)
First, converts the normalized floating-point value v into 8-bit integer value.
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:400
+
GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component unsigned intege...
+
GLM_FUNC_DECL uint64 packHalf4x16(vec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component floating-point ...
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:395
+
GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers...
+
GLM_FUNC_DECL uint8 packUnorm1x8(float v)
First, converts the normalized floating-point value v into a 8-bit integer value. ...
+
GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers.
+
GLM_FUNC_DECL float unpackSnorm1x16(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.
+
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
+
GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers.
+
GLM_FUNC_DECL float unpackSnorm1x8(uint8 p)
First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.
+
GLM_FUNC_DECL uint16 packHalf1x16(float v)
Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 1...
+
GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const &v)
First, converts the first two components of the normalized floating-point value v into 11-bit signles...
diff --git a/doc/api/a00065.html b/doc/api/a00088.html similarity index 75% rename from doc/api/a00065.html rename to doc/api/a00088.html index 227ec936..048f97a4 100644 --- a/doc/api/a00065.html +++ b/doc/api/a00088.html @@ -3,8 +3,8 @@ - -0.9.6: matrix.hpp File Reference + +0.9.7: packing.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
matrix.hpp File Reference
+
packing.hpp File Reference
-

Go to the source code of this file.

+

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file matrix.hpp.

+

Definition in file packing.hpp.

diff --git a/doc/api/a00088_source.html b/doc/api/a00088_source.html index 1a7ece45..af98a975 100644 --- a/doc/api/a00088_source.html +++ b/doc/api/a00088_source.html @@ -3,8 +3,8 @@ - -0.9.6: pages.doxy Source File + +0.9.7: packing.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
pages.doxy
+
packing.hpp
-
1 
+Go to the documentation of this file.
1 
+
33 #pragma once
+
34 
+
35 #include "detail/func_packing.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00089_source.html b/doc/api/a00089_source.html index 728336ca..36f060b9 100644 --- a/doc/api/a00089_source.html +++ b/doc/api/a00089_source.html @@ -3,8 +3,8 @@ - -0.9.6: perpendicular.hpp Source File + +0.9.7: pages.doxy Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
perpendicular.hpp
+
pages.doxy
-Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 #include "../gtx/projection.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_perpendicular extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
-
57 
-
60  template <typename vecType>
-
61  GLM_FUNC_DECL vecType perp(
-
62  vecType const & x,
-
63  vecType const & Normal);
-
64 
-
66 }//namespace glm
-
67 
-
68 #include "perpendicular.inl"
-
GLM_FUNC_DECL vecType perp(vecType const &x, vecType const &Normal)
Projects x a perpendicular axis of Normal.
-
Definition: _noise.hpp:39
+
1 
diff --git a/doc/api/a00090.html b/doc/api/a00090.html index 05d3483d..ced6e852 100644 --- a/doc/api/a00090.html +++ b/doc/api/a00090.html @@ -3,8 +3,8 @@ - -0.9.6: polar_coordinates.hpp File Reference + +0.9.7: perpendicular.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
polar_coordinates.hpp File Reference
+
perpendicular.hpp File Reference
@@ -56,31 +56,30 @@ - - - - - - + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > euclidean (tvec2< T, P > const &polar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > polar (tvec3< T, P > const &euclidean)
 
template<typename vecType >
GLM_FUNC_DECL vecType perp (vecType const &x, vecType const &Normal)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_polar_coordinates

-
Date
2007-03-06 / 2011-06-07
+

GLM_GTX_perpendicular

+
Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTX_projection (dependence)
-

Definition in file polar_coordinates.hpp.

+

Definition in file perpendicular.hpp.

diff --git a/doc/api/a00090_source.html b/doc/api/a00090_source.html index 441b5e20..65255072 100644 --- a/doc/api/a00090_source.html +++ b/doc/api/a00090_source.html @@ -3,8 +3,8 @@ - -0.9.6: polar_coordinates.hpp Source File + +0.9.7: perpendicular.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
polar_coordinates.hpp
+
perpendicular.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
59  template <typename T, precision P>
-
60  GLM_FUNC_DECL tvec3<T, P> polar(
-
61  tvec3<T, P> const & euclidean);
-
62 
-
66  template <typename T, precision P>
-
67  GLM_FUNC_DECL tvec3<T, P> euclidean(
-
68  tvec2<T, P> const & polar);
-
69 
-
71 }//namespace glm
-
72 
-
73 #include "polar_coordinates.inl"
-
GLM_FUNC_DECL tvec3< T, P > euclidean(tvec2< T, P > const &polar)
Convert Polar to Euclidean coordinates.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tvec3< T, P > polar(tvec3< T, P > const &euclidean)
Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude...
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 #include "../gtx/projection.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_perpendicular extension included")
+
51 #endif
+
52 
+
53 namespace glm
+
54 {
+
57 
+
60  template <typename vecType>
+
61  GLM_FUNC_DECL vecType perp(
+
62  vecType const & x,
+
63  vecType const & Normal);
+
64 
+
66 }//namespace glm
+
67 
+
68 #include "perpendicular.inl"
+
GLM_FUNC_DECL vecType perp(vecType const &x, vecType const &Normal)
Projects x a perpendicular axis of Normal.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00091.html b/doc/api/a00091.html index 6facb999..8430ec60 100644 --- a/doc/api/a00091.html +++ b/doc/api/a00091.html @@ -3,8 +3,8 @@ - -0.9.6: precision.hpp File Reference + +0.9.7: polar_coordinates.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
precision.hpp File Reference
+
polar_coordinates.hpp File Reference

Go to the source code of this file.

+ + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > euclidean (tvec2< T, P > const &polar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > polar (tvec3< T, P > const &euclidean)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-04-01 / 2013-04-01
-
Author
Christophe Riccio
+

GLM_GTX_polar_coordinates

+
Date
2007-03-06 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-

Definition in file precision.hpp.

+

Definition in file polar_coordinates.hpp.

diff --git a/doc/api/a00091_source.html b/doc/api/a00091_source.html index 86e52d70..85f39574 100644 --- a/doc/api/a00091_source.html +++ b/doc/api/a00091_source.html @@ -3,8 +3,8 @@ - -0.9.6: precision.hpp Source File + +0.9.7: polar_coordinates.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
precision.hpp
+
polar_coordinates.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 namespace glm
-
36 {
-
37  enum precision
-
38  {
-
39  highp,
-
40  mediump,
-
41  lowp,
-
42  defaultp = highp
-
43  };
-
44 }//namespace glm
-
Definition: _noise.hpp:39
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
59  template <typename T, precision P>
+
60  GLM_FUNC_DECL tvec3<T, P> polar(
+
61  tvec3<T, P> const & euclidean);
+
62 
+
66  template <typename T, precision P>
+
67  GLM_FUNC_DECL tvec3<T, P> euclidean(
+
68  tvec2<T, P> const & polar);
+
69 
+
71 }//namespace glm
+
72 
+
73 #include "polar_coordinates.inl"
+
GLM_FUNC_DECL tvec3< T, P > euclidean(tvec2< T, P > const &polar)
Convert Polar to Euclidean coordinates.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tvec3< T, P > polar(tvec3< T, P > const &euclidean)
Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude...
diff --git a/doc/api/a00092.html b/doc/api/a00092.html index 45dd5ddf..b9cc9950 100644 --- a/doc/api/a00092.html +++ b/doc/api/a00092.html @@ -3,8 +3,8 @@ - -0.9.6: projection.hpp File Reference + +0.9.7: precision.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
projection.hpp File Reference
+
precision.hpp File Reference

Go to the source code of this file.

- - - - - -

-Functions

template<typename vecType >
GLM_FUNC_DECL vecType proj (vecType const &x, vecType const &Normal)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_projection

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM Core

+
Date
2013-04-01 / 2013-04-01
+
Author
Christophe Riccio
-

Definition in file projection.hpp.

+

Definition in file precision.hpp.

diff --git a/doc/api/a00092_source.html b/doc/api/a00092_source.html index c106f497..7d199769 100644 --- a/doc/api/a00092_source.html +++ b/doc/api/a00092_source.html @@ -3,8 +3,8 @@ - -0.9.6: projection.hpp Source File + +0.9.7: precision.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
projection.hpp
+
precision.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../geometric.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_projection extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
59  template <typename vecType>
-
60  GLM_FUNC_DECL vecType proj(vecType const & x, vecType const & Normal);
-
61 
-
63 }//namespace glm
-
64 
-
65 #include "projection.inl"
-
GLM_FUNC_DECL vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
-
Definition: _noise.hpp:39
+
33 #pragma once
+
34 
+
35 namespace glm
+
36 {
+
37  enum precision
+
38  {
+
39  highp,
+
40  mediump,
+
41  lowp,
+
42  defaultp = highp
+
43  };
+
44 }//namespace glm
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00093.html b/doc/api/a00093.html index 621ce97c..e1b77796 100644 --- a/doc/api/a00093.html +++ b/doc/api/a00093.html @@ -3,8 +3,8 @@ - -0.9.6: quaternion.hpp File Reference + +0.9.7: projection.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtc/quaternion.hpp File Reference
+
projection.hpp File Reference
@@ -56,107 +56,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL T angle (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > angleAxis (T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > axis (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > conjugate (tquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T dot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > equal (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > eulerAngles (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > inverse (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > lerp (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > mix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > normalize (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > notEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotate (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > slerp (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (tquat< T, P > const &x)
 
template<typename vecType >
GLM_FUNC_DECL vecType proj (vecType const &x, vecType const &Normal)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_quaternion

-
Date
2009-05-21 / 2012-12-20
+

GLM_GTX_projection

+
Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-gtc_half_float (dependence)
-
-GLM_GTC_constants (dependence)
+
See also
GLM Core (dependence)
-

Definition in file gtc/quaternion.hpp.

+

Definition in file projection.hpp.

diff --git a/doc/api/a00093_source.html b/doc/api/a00093_source.html index 0448c1e4..880b8584 100644 --- a/doc/api/a00093_source.html +++ b/doc/api/a00093_source.html @@ -3,8 +3,8 @@ - -0.9.6: quaternion.hpp Source File + +0.9.7: projection.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtc/quaternion.hpp
+
projection.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
-
45 
-
46 // Dependency:
-
47 #include "../mat3x3.hpp"
-
48 #include "../mat4x4.hpp"
-
49 #include "../vec3.hpp"
-
50 #include "../vec4.hpp"
-
51 #include "../gtc/constants.hpp"
-
52 
-
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
54 # pragma message("GLM: GLM_GTC_quaternion extension included")
-
55 #endif
-
56 
-
57 namespace glm
-
58 {
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../geometric.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_projection extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
59  template <typename vecType>
+
60  GLM_FUNC_DECL vecType proj(vecType const & x, vecType const & Normal);
61 
-
62  template <typename T, precision P>
-
63  struct tquat
-
64  {
-
65  typedef tquat<T, P> type;
-
66  typedef T value_type;
-
67 
-
68  public:
-
69  T x, y, z, w;
-
70 
-
72  // Component accesses
-
73 
-
74 # ifdef GLM_FORCE_SIZE_FUNC
-
75  typedef size_t size_type;
-
77  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
-
78 
-
79  GLM_FUNC_DECL T & operator[](size_type i);
-
80  GLM_FUNC_DECL T const & operator[](size_type i) const;
-
81 # else
-
82  typedef length_t length_type;
-
84  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
85 
-
86  GLM_FUNC_DECL T & operator[](length_type i);
-
87  GLM_FUNC_DECL T const & operator[](length_type i) const;
-
88 # endif//GLM_FORCE_SIZE_FUNC
-
89 
-
91  // Implicit basic constructors
-
92 
-
93  GLM_FUNC_DECL tquat();
-
94  template <precision Q>
-
95  GLM_FUNC_DECL tquat(tquat<T, Q> const & q);
-
96 
-
98  // Explicit basic constructors
-
99 
-
100  GLM_FUNC_DECL explicit tquat(ctor);
-
101  GLM_FUNC_DECL explicit tquat(T const & s, tvec3<T, P> const & v);
-
102  GLM_FUNC_DECL tquat(T const & w, T const & x, T const & y, T const & z);
-
103 
-
105  // Convertions
-
106 
-
107 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
108  template <typename U, precision Q>
-
109  GLM_FUNC_DECL explicit tquat(tquat<U, Q> const & q);
-
110 # else
-
111  template <typename U, precision Q>
-
112  GLM_FUNC_DECL tquat(tquat<U, Q> const & q);
-
113 # endif
-
114 
-
115  // explicit conversion operators
-
116  GLM_FUNC_DECL explicit operator tmat3x3<T, P>();
-
117  GLM_FUNC_DECL explicit operator tmat4x4<T, P>();
-
118 
-
125  GLM_FUNC_DECL explicit tquat(tvec3<T, P> const & u, tvec3<T, P> const & v);
-
126 
-
128  GLM_FUNC_DECL explicit tquat(tvec3<T, P> const & eulerAngles);
-
129  GLM_FUNC_DECL explicit tquat(tmat3x3<T, P> const & m);
-
130  GLM_FUNC_DECL explicit tquat(tmat4x4<T, P> const & m);
-
131 
-
133  // Operators
-
134  GLM_FUNC_DECL tquat<T, P> & operator+=(tquat<T, P> const & q);
-
135  GLM_FUNC_DECL tquat<T, P> & operator*=(tquat<T, P> const & q);
-
136  GLM_FUNC_DECL tquat<T, P> & operator*=(T const & s);
-
137  GLM_FUNC_DECL tquat<T, P> & operator/=(T const & s);
-
138  };
-
139 
-
140  template <typename T, precision P>
-
141  GLM_FUNC_DECL tquat<T, P> operator-(tquat<T, P> const & q);
-
142 
-
143  template <typename T, precision P>
-
144  GLM_FUNC_DECL tquat<T, P> operator+(tquat<T, P> const & q, tquat<T, P> const & p);
-
145 
-
146  template <typename T, precision P>
-
147  GLM_FUNC_DECL tquat<T, P> operator*(tquat<T, P> const & q, tquat<T, P> const & p);
-
148 
-
149  template <typename T, precision P>
-
150  GLM_FUNC_DECL tvec3<T, P> operator*(tquat<T, P> const & q, tvec3<T, P> const & v);
-
151 
-
152  template <typename T, precision P>
-
153  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, tquat<T, P> const & q);
-
154 
-
155  template <typename T, precision P>
-
156  GLM_FUNC_DECL tvec4<T, P> operator*(tquat<T, P> const & q, tvec4<T, P> const & v);
-
157 
-
158  template <typename T, precision P>
-
159  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, tquat<T, P> const & q);
-
160 
-
161  template <typename T, precision P>
-
162  GLM_FUNC_DECL tquat<T, P> operator*(tquat<T, P> const & q, T const & s);
-
163 
-
164  template <typename T, precision P>
-
165  GLM_FUNC_DECL tquat<T, P> operator*(T const & s, tquat<T, P> const & q);
-
166 
-
167  template <typename T, precision P>
-
168  GLM_FUNC_DECL tquat<T, P> operator/(tquat<T, P> const & q, T const & s);
-
169 
-
173  template <typename T, precision P>
-
174  GLM_FUNC_DECL T length(tquat<T, P> const & q);
-
175 
-
179  template <typename T, precision P>
-
180  GLM_FUNC_DECL tquat<T, P> normalize(tquat<T, P> const & q);
-
181 
-
185  template <typename T, precision P, template <typename, precision> class quatType>
-
186  GLM_FUNC_DECL T dot(quatType<T, P> const & x, quatType<T, P> const & y);
-
187 
-
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL tquat<T, P> mix(tquat<T, P> const & x, tquat<T, P> const & y, T const & a);
-
200 
-
209  template <typename T, precision P>
-
210  GLM_FUNC_DECL tquat<T, P> lerp(tquat<T, P> const & x, tquat<T, P> const & y, T const & a);
-
211 
-
220  template <typename T, precision P>
-
221  GLM_FUNC_DECL tquat<T, P> slerp(tquat<T, P> const & x, tquat<T, P> const & y, T const & a);
-
222 
-
226  template <typename T, precision P>
-
227  GLM_FUNC_DECL tquat<T, P> conjugate(tquat<T, P> const & q);
-
228 
-
232  template <typename T, precision P>
-
233  GLM_FUNC_DECL tquat<T, P> inverse(tquat<T, P> const & q);
-
234 
-
242  template <typename T, precision P>
-
243  GLM_FUNC_DECL tquat<T, P> rotate(tquat<T, P> const & q, T const & angle, tvec3<T, P> const & axis);
-
244 
-
249  template <typename T, precision P>
-
250  GLM_FUNC_DECL tvec3<T, P> eulerAngles(tquat<T, P> const & x);
-
251 
-
255  template <typename T, precision P>
-
256  GLM_FUNC_DECL T roll(tquat<T, P> const & x);
-
257 
-
261  template <typename T, precision P>
-
262  GLM_FUNC_DECL T pitch(tquat<T, P> const & x);
-
263 
-
267  template <typename T, precision P>
-
268  GLM_FUNC_DECL T yaw(tquat<T, P> const & x);
-
269 
-
273  template <typename T, precision P>
-
274  GLM_FUNC_DECL tmat3x3<T, P> mat3_cast(tquat<T, P> const & x);
-
275 
-
279  template <typename T, precision P>
-
280  GLM_FUNC_DECL tmat4x4<T, P> mat4_cast(tquat<T, P> const & x);
-
281 
-
285  template <typename T, precision P>
-
286  GLM_FUNC_DECL tquat<T, P> quat_cast(tmat3x3<T, P> const & x);
-
287 
-
291  template <typename T, precision P>
-
292  GLM_FUNC_DECL tquat<T, P> quat_cast(tmat4x4<T, P> const & x);
-
293 
-
297  template <typename T, precision P>
-
298  GLM_FUNC_DECL T angle(tquat<T, P> const & x);
-
299 
-
303  template <typename T, precision P>
-
304  GLM_FUNC_DECL tvec3<T, P> axis(tquat<T, P> const & x);
-
305 
-
312  template <typename T, precision P>
-
313  GLM_FUNC_DECL tquat<T, P> angleAxis(T const & angle, tvec3<T, P> const & axis);
-
314 
-
320  template <typename T, precision P>
-
321  GLM_FUNC_DECL tvec4<bool, P> lessThan(tquat<T, P> const & x, tquat<T, P> const & y);
-
322 
-
328  template <typename T, precision P>
-
329  GLM_FUNC_DECL tvec4<bool, P> lessThanEqual(tquat<T, P> const & x, tquat<T, P> const & y);
-
330 
-
336  template <typename T, precision P>
-
337  GLM_FUNC_DECL tvec4<bool, P> greaterThan(tquat<T, P> const & x, tquat<T, P> const & y);
-
338 
-
344  template <typename T, precision P>
-
345  GLM_FUNC_DECL tvec4<bool, P> greaterThanEqual(tquat<T, P> const & x, tquat<T, P> const & y);
-
346 
-
352  template <typename T, precision P>
-
353  GLM_FUNC_DECL tvec4<bool, P> equal(tquat<T, P> const & x, tquat<T, P> const & y);
-
354 
-
360  template <typename T, precision P>
-
361  GLM_FUNC_DECL tvec4<bool, P> notEqual(tquat<T, P> const & x, tquat<T, P> const & y);
-
363 } //namespace glm
-
364 
-
365 #include "quaternion.inl"
-
GLM_FUNC_DECL tquat< T, P > quat_cast(tmat4x4< T, P > const &x)
Converts a 4 * 4 matrix to a quaternion.
-
GLM_FUNC_DECL tquat< T, P > rotate(tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
Rotates a quaternion from a vector of 3 components axis and an angle.
-
GLM_FUNC_DECL tvec4< bool, P > lessThanEqual(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x <= y.
-
GLM_FUNC_DECL tvec4< bool, P > lessThan(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison result of x < y.
-
GLM_FUNC_DECL tvec4< bool, P > notEqual(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x != y.
-
GLM_FUNC_DECL tquat< T, P > inverse(tquat< T, P > const &q)
Returns the q inverse.
-
GLM_FUNC_DECL T length(tquat< T, P > const &q)
Returns the length of the quaternion.
-
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
-
GLM_FUNC_DECL tquat< T, P > slerp(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
-
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast(tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
-
GLM_FUNC_DECL T dot(quatType< T, P > const &x, quatType< T, P > const &y)
Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL tvec3< T, P > eulerAngles(tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
-
GLM_FUNC_DECL tvec4< bool, P > greaterThan(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x > y.
-
GLM_FUNC_DECL tquat< T, P > mix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
-
GLM_FUNC_DECL tquat< T, P > normalize(tquat< T, P > const &q)
Returns the normalized quaternion.
-
GLM_FUNC_DECL tvec4< bool, P > equal(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x == y.
-
GLM_FUNC_DECL T pitch(tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians.
-
GLM_FUNC_DECL tvec4< bool, P > greaterThanEqual(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x >= y.
-
GLM_FUNC_DECL T roll(tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tquat< T, P > conjugate(tquat< T, P > const &q)
Returns the q conjugate.
-
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL tquat< T, P > angleAxis(T const &angle, tvec3< T, P > const &axis)
Build a quaternion from an angle and a normalized axis.
-
GLM_FUNC_DECL T yaw(tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians.
-
GLM_FUNC_DECL tquat< T, P > lerp(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
+
63 }//namespace glm
+
64 
+
65 #include "projection.inl"
+
GLM_FUNC_DECL vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00094.html b/doc/api/a00094.html index e16f6d6b..1fb0bc3c 100644 --- a/doc/api/a00094.html +++ b/doc/api/a00094.html @@ -3,8 +3,8 @@ - -0.9.6: quaternion.hpp File Reference + +0.9.7: quaternion.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtx/quaternion.hpp File Reference
+
gtc/quaternion.hpp File Reference
@@ -56,81 +56,107 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > exp (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T extractRealComponent (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > fastMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > intermediate (tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
 
template<typename T , precision P>
GLM_FUNC_DECL T length2 (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > log (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > pow (tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotation (tvec3< T, P > const &orig, tvec3< T, P > const &dest)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > shortMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > squad (tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > toMat3 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > toMat4 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T angle (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > angleAxis (T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > axis (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > conjugate (tquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T dot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > equal (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > eulerAngles (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > inverse (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > lerp (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > mix (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > normalize (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > notEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotate (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > slerp (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (tquat< T, P > const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_quaternion

-
Date
2005-12-21 / 2011-06-07
+

GLM_GTC_quaternion

+
Date
2009-05-21 / 2012-12-20
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTX_extented_min_max (dependence)
+gtc_half_float (dependence) +
+GLM_GTC_constants (dependence)
-

Definition in file gtx/quaternion.hpp.

+

Definition in file gtc/quaternion.hpp.

diff --git a/doc/api/a00094_source.html b/doc/api/a00094_source.html index 66bca731..26b913ca 100644 --- a/doc/api/a00094_source.html +++ b/doc/api/a00094_source.html @@ -3,8 +3,8 @@ - -0.9.6: quaternion.hpp Source File + +0.9.7: quaternion.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
gtx/quaternion.hpp
+
gtc/quaternion.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 #include "../gtc/constants.hpp"
-
48 #include "../gtc/quaternion.hpp"
-
49 #include "../gtx/norm.hpp"
-
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
52 # pragma message("GLM: GLM_GTX_quaternion extension included")
-
53 #endif
-
54 
-
55 namespace glm
-
56 {
-
59 
-
63  template<typename T, precision P>
-
64  GLM_FUNC_DECL tvec3<T, P> cross(
-
65  tquat<T, P> const & q,
-
66  tvec3<T, P> const & v);
-
67 
-
71  template<typename T, precision P>
-
72  GLM_FUNC_DECL tvec3<T, P> cross(
-
73  tvec3<T, P> const & v,
-
74  tquat<T, P> const & q);
-
75 
-
80  template<typename T, precision P>
-
81  GLM_FUNC_DECL tquat<T, P> squad(
-
82  tquat<T, P> const & q1,
-
83  tquat<T, P> const & q2,
-
84  tquat<T, P> const & s1,
-
85  tquat<T, P> const & s2,
-
86  T const & h);
-
87 
-
91  template<typename T, precision P>
-
92  GLM_FUNC_DECL tquat<T, P> intermediate(
-
93  tquat<T, P> const & prev,
-
94  tquat<T, P> const & curr,
-
95  tquat<T, P> const & next);
+
44 #pragma once
+
45 
+
46 // Dependency:
+
47 #include "../mat3x3.hpp"
+
48 #include "../mat4x4.hpp"
+
49 #include "../vec3.hpp"
+
50 #include "../vec4.hpp"
+
51 #include "../gtc/constants.hpp"
+
52 
+
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
54 # pragma message("GLM: GLM_GTC_quaternion extension included")
+
55 #endif
+
56 
+
57 namespace glm
+
58 {
+
61 
+
62  template <typename T, precision P = defaultp>
+
63  struct tquat
+
64  {
+
65  // -- Implementation detail --
+
66 
+
67  typedef tquat<T, P> type;
+
68  typedef T value_type;
+
69 
+
70 # ifdef GLM_META_PROG_HELPERS
+
71  static GLM_RELAXED_CONSTEXPR length_t components = 4;
+
72  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
73 # endif//GLM_META_PROG_HELPERS
+
74 
+
75  // -- Data --
+
76 
+
77  T x, y, z, w;
+
78 
+
79  // -- Component accesses --
+
80 
+
81 # ifdef GLM_FORCE_SIZE_FUNC
+
82  typedef size_t size_type;
+
84  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
+
85 
+
86  GLM_FUNC_DECL T & operator[](size_type i);
+
87  GLM_FUNC_DECL T const & operator[](size_type i) const;
+
88 # else
+
89  typedef length_t length_type;
+
91  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
92 
+
93  GLM_FUNC_DECL T & operator[](length_type i);
+
94  GLM_FUNC_DECL T const & operator[](length_type i) const;
+
95 # endif//GLM_FORCE_SIZE_FUNC
96 
-
100  template<typename T, precision P>
-
101  GLM_FUNC_DECL tquat<T, P> exp(
-
102  tquat<T, P> const & q);
+
97  // -- Implicit basic constructors --
+
98 
+
99  GLM_FUNC_DECL tquat() GLM_DEFAULT_CTOR;
+
100  GLM_FUNC_DECL tquat(tquat<T, P> const & q) GLM_DEFAULT;
+
101  template <precision Q>
+
102  GLM_FUNC_DECL tquat(tquat<T, Q> const & q);
103 
-
107  template<typename T, precision P>
-
108  GLM_FUNC_DECL tquat<T, P> log(
-
109  tquat<T, P> const & q);
-
110 
-
114  template<typename T, precision P>
-
115  GLM_FUNC_DECL tquat<T, P> pow(
-
116  tquat<T, P> const & x,
-
117  T const & y);
-
118 
-
122  //template<typename T, precision P>
-
123  //tquat<T, P> sqrt(
-
124  // tquat<T, P> const & q);
-
125 
-
129  template<typename T, precision P>
-
130  GLM_FUNC_DECL tvec3<T, P> rotate(
-
131  tquat<T, P> const & q,
-
132  tvec3<T, P> const & v);
+
104  // -- Explicit basic constructors --
+
105 
+
106  GLM_FUNC_DECL explicit tquat(ctor);
+
107  GLM_FUNC_DECL explicit tquat(T const & s, tvec3<T, P> const & v);
+
108  GLM_FUNC_DECL tquat(T const & w, T const & x, T const & y, T const & z);
+
109 
+
110  // -- Conversion constructors --
+
111 
+
112  template <typename U, precision Q>
+
113  GLM_FUNC_DECL GLM_EXPLICIT tquat(tquat<U, Q> const & q);
+
114 
+
116 # if GLM_HAS_EXPLICIT_CONVERSION_OPERATORS
+
117  GLM_FUNC_DECL explicit operator tmat3x3<T, P>();
+
118  GLM_FUNC_DECL explicit operator tmat4x4<T, P>();
+
119 # endif
+
120 
+
127  GLM_FUNC_DECL explicit tquat(tvec3<T, P> const & u, tvec3<T, P> const & v);
+
128 
+
130  GLM_FUNC_DECL explicit tquat(tvec3<T, P> const & eulerAngles);
+
131  GLM_FUNC_DECL explicit tquat(tmat3x3<T, P> const & m);
+
132  GLM_FUNC_DECL explicit tquat(tmat4x4<T, P> const & m);
133 
-
137  template<typename T, precision P>
-
138  GLM_FUNC_DECL tvec4<T, P> rotate(
-
139  tquat<T, P> const & q,
-
140  tvec4<T, P> const & v);
-
141 
-
145  template<typename T, precision P>
-
146  GLM_FUNC_DECL T extractRealComponent(
-
147  tquat<T, P> const & q);
-
148 
-
152  template<typename T, precision P>
-
153  GLM_FUNC_DECL tmat3x3<T, P> toMat3(
-
154  tquat<T, P> const & x){return mat3_cast(x);}
-
155 
-
159  template<typename T, precision P>
-
160  GLM_FUNC_DECL tmat4x4<T, P> toMat4(
-
161  tquat<T, P> const & x){return mat4_cast(x);}
+
134  // -- Unary arithmetic operators --
+
135 
+
136  GLM_FUNC_DECL tquat<T, P> & operator=(tquat<T, P> const & m) GLM_DEFAULT;
+
137 
+
138  template <typename U>
+
139  GLM_FUNC_DECL tquat<T, P> & operator=(tquat<U, P> const & m);
+
140  template <typename U>
+
141  GLM_FUNC_DECL tquat<T, P> & operator+=(tquat<U, P> const & q);
+
142  template <typename U>
+
143  GLM_FUNC_DECL tquat<T, P> & operator*=(tquat<U, P> const & q);
+
144  template <typename U>
+
145  GLM_FUNC_DECL tquat<T, P> & operator*=(U s);
+
146  template <typename U>
+
147  GLM_FUNC_DECL tquat<T, P> & operator/=(U s);
+
148  };
+
149 
+
150  // -- Unary bit operators --
+
151 
+
152  template <typename T, precision P>
+
153  GLM_FUNC_DECL tquat<T, P> operator-(tquat<T, P> const & q);
+
154 
+
155  // -- Binary operators --
+
156 
+
157  template <typename T, precision P>
+
158  GLM_FUNC_DECL tquat<T, P> operator+(tquat<T, P> const & q, tquat<T, P> const & p);
+
159 
+
160  template <typename T, precision P>
+
161  GLM_FUNC_DECL tquat<T, P> operator*(tquat<T, P> const & q, tquat<T, P> const & p);
162 
-
166  template<typename T, precision P>
-
167  GLM_FUNC_DECL tquat<T, P> toQuat(
-
168  tmat3x3<T, P> const & x){return quat_cast(x);}
-
169 
-
173  template<typename T, precision P>
-
174  GLM_FUNC_DECL tquat<T, P> toQuat(
-
175  tmat4x4<T, P> const & x){return quat_cast(x);}
-
176 
-
180  template<typename T, precision P>
-
181  GLM_FUNC_DECL tquat<T, P> shortMix(
-
182  tquat<T, P> const & x,
-
183  tquat<T, P> const & y,
-
184  T const & a);
-
185 
-
189  template<typename T, precision P>
-
190  GLM_FUNC_DECL tquat<T, P> fastMix(
-
191  tquat<T, P> const & x,
-
192  tquat<T, P> const & y,
-
193  T const & a);
-
194 
-
200  template<typename T, precision P>
-
201  GLM_FUNC_DECL tquat<T, P> rotation(
-
202  tvec3<T, P> const & orig,
-
203  tvec3<T, P> const & dest);
-
204 
-
208  template<typename T, precision P>
-
209  GLM_FUNC_DECL T length2(tquat<T, P> const & q);
-
210 
-
212 }//namespace glm
-
213 
-
214 #include "quaternion.inl"
-
GLM_FUNC_DECL tquat< T, P > exp(tquat< T, P > const &q)
Returns a exp of a quaternion.
-
GLM_FUNC_DECL tquat< T, P > toQuat(tmat4x4< T, P > const &x)
Converts a 4 * 4 matrix to a quaternion.
-
GLM_FUNC_DECL tquat< T, P > quat_cast(tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
-
GLM_FUNC_DECL tmat3x3< T, P > toMat3(tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
-
GLM_FUNC_DECL tmat4x4< T, P > toMat4(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL tquat< T, P > shortMix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Quaternion interpolation using the rotation short path.
-
GLM_FUNC_DECL tquat< T, P > rotation(tvec3< T, P > const &orig, tvec3< T, P > const &dest)
Compute the rotation between two vectors.
-
GLM_FUNC_DECL tquat< T, P > squad(tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
Compute a point on a path according squad equation.
-
GLM_FUNC_DECL T extractRealComponent(tquat< T, P > const &q)
Extract the real component of a quaternion.
-
GLM_FUNC_DECL tquat< T, P > intermediate(tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
Returns an intermediate control point for squad interpolation.
-
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast(tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
-
GLM_FUNC_DECL tquat< T, P > log(tquat< T, P > const &q)
Returns a log of a quaternion.
-
GLM_FUNC_DECL T length2(tquat< T, P > const &q)
Returns the squared length of x.
-
GLM_FUNC_DECL tvec3< T, P > cross(tvec3< T, P > const &v, tquat< T, P > const &q)
Compute a cross product between a vector and a quaternion.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL tquat< T, P > pow(tquat< T, P > const &x, T const &y)
Returns x raised to the y power.
-
GLM_FUNC_DECL tvec4< T, P > rotate(tquat< T, P > const &q, tvec4< T, P > const &v)
Rotates a 4 components vector by a quaternion.
-
GLM_FUNC_DECL tquat< T, P > fastMix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Quaternion normalized linear interpolation.
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tvec3<T, P> operator*(tquat<T, P> const & q, tvec3<T, P> const & v);
+
165 
+
166  template <typename T, precision P>
+
167  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, tquat<T, P> const & q);
+
168 
+
169  template <typename T, precision P>
+
170  GLM_FUNC_DECL tvec4<T, P> operator*(tquat<T, P> const & q, tvec4<T, P> const & v);
+
171 
+
172  template <typename T, precision P>
+
173  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, tquat<T, P> const & q);
+
174 
+
175  template <typename T, precision P>
+
176  GLM_FUNC_DECL tquat<T, P> operator*(tquat<T, P> const & q, T const & s);
+
177 
+
178  template <typename T, precision P>
+
179  GLM_FUNC_DECL tquat<T, P> operator*(T const & s, tquat<T, P> const & q);
+
180 
+
181  template <typename T, precision P>
+
182  GLM_FUNC_DECL tquat<T, P> operator/(tquat<T, P> const & q, T const & s);
+
183 
+
187  template <typename T, precision P>
+
188  GLM_FUNC_DECL T length(tquat<T, P> const & q);
+
189 
+
193  template <typename T, precision P>
+
194  GLM_FUNC_DECL tquat<T, P> normalize(tquat<T, P> const & q);
+
195 
+
199  template <typename T, precision P, template <typename, precision> class quatType>
+
200  GLM_FUNC_DECL T dot(quatType<T, P> const & x, quatType<T, P> const & y);
+
201 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL tquat<T, P> mix(tquat<T, P> const & x, tquat<T, P> const & y, T a);
+
214 
+
223  template <typename T, precision P>
+
224  GLM_FUNC_DECL tquat<T, P> lerp(tquat<T, P> const & x, tquat<T, P> const & y, T a);
+
225 
+
234  template <typename T, precision P>
+
235  GLM_FUNC_DECL tquat<T, P> slerp(tquat<T, P> const & x, tquat<T, P> const & y, T a);
+
236 
+
240  template <typename T, precision P>
+
241  GLM_FUNC_DECL tquat<T, P> conjugate(tquat<T, P> const & q);
+
242 
+
246  template <typename T, precision P>
+
247  GLM_FUNC_DECL tquat<T, P> inverse(tquat<T, P> const & q);
+
248 
+
256  template <typename T, precision P>
+
257  GLM_FUNC_DECL tquat<T, P> rotate(tquat<T, P> const & q, T const & angle, tvec3<T, P> const & axis);
+
258 
+
263  template <typename T, precision P>
+
264  GLM_FUNC_DECL tvec3<T, P> eulerAngles(tquat<T, P> const & x);
+
265 
+
269  template <typename T, precision P>
+
270  GLM_FUNC_DECL T roll(tquat<T, P> const & x);
+
271 
+
275  template <typename T, precision P>
+
276  GLM_FUNC_DECL T pitch(tquat<T, P> const & x);
+
277 
+
281  template <typename T, precision P>
+
282  GLM_FUNC_DECL T yaw(tquat<T, P> const & x);
+
283 
+
287  template <typename T, precision P>
+
288  GLM_FUNC_DECL tmat3x3<T, P> mat3_cast(tquat<T, P> const & x);
+
289 
+
293  template <typename T, precision P>
+
294  GLM_FUNC_DECL tmat4x4<T, P> mat4_cast(tquat<T, P> const & x);
+
295 
+
299  template <typename T, precision P>
+
300  GLM_FUNC_DECL tquat<T, P> quat_cast(tmat3x3<T, P> const & x);
+
301 
+
305  template <typename T, precision P>
+
306  GLM_FUNC_DECL tquat<T, P> quat_cast(tmat4x4<T, P> const & x);
+
307 
+
311  template <typename T, precision P>
+
312  GLM_FUNC_DECL T angle(tquat<T, P> const & x);
+
313 
+
317  template <typename T, precision P>
+
318  GLM_FUNC_DECL tvec3<T, P> axis(tquat<T, P> const & x);
+
319 
+
326  template <typename T, precision P>
+
327  GLM_FUNC_DECL tquat<T, P> angleAxis(T const & angle, tvec3<T, P> const & axis);
+
328 
+
334  template <typename T, precision P>
+
335  GLM_FUNC_DECL tvec4<bool, P> lessThan(tquat<T, P> const & x, tquat<T, P> const & y);
+
336 
+
342  template <typename T, precision P>
+
343  GLM_FUNC_DECL tvec4<bool, P> lessThanEqual(tquat<T, P> const & x, tquat<T, P> const & y);
+
344 
+
350  template <typename T, precision P>
+
351  GLM_FUNC_DECL tvec4<bool, P> greaterThan(tquat<T, P> const & x, tquat<T, P> const & y);
+
352 
+
358  template <typename T, precision P>
+
359  GLM_FUNC_DECL tvec4<bool, P> greaterThanEqual(tquat<T, P> const & x, tquat<T, P> const & y);
+
360 
+
366  template <typename T, precision P>
+
367  GLM_FUNC_DECL tvec4<bool, P> equal(tquat<T, P> const & x, tquat<T, P> const & y);
+
368 
+
374  template <typename T, precision P>
+
375  GLM_FUNC_DECL tvec4<bool, P> notEqual(tquat<T, P> const & x, tquat<T, P> const & y);
+
377 } //namespace glm
+
378 
+
379 #include "quaternion.inl"
+
GLM_FUNC_DECL tquat< T, P > rotate(tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
Rotates a quaternion from a vector of 3 components axis and an angle.
+
GLM_FUNC_DECL T pitch(tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians.
+
GLM_FUNC_DECL tvec4< bool, P > greaterThanEqual(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x >= y.
+
GLM_FUNC_DECL tquat< T, P > conjugate(tquat< T, P > const &q)
Returns the q conjugate.
+
GLM_FUNC_DECL tvec4< bool, P > equal(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x == y.
+
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL tquat< T, P > quat_cast(tmat4x4< T, P > const &x)
Converts a 4 * 4 matrix to a quaternion.
+
GLM_FUNC_DECL tquat< T, P > lerp(tquat< T, P > const &x, tquat< T, P > const &y, T a)
Linear interpolation of two quaternions.
+
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tvec4< bool, P > lessThanEqual(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x <= y.
+
GLM_FUNC_DECL T length(tquat< T, P > const &q)
Returns the length of the quaternion.
+
GLM_FUNC_DECL tvec4< bool, P > notEqual(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x != y.
+
GLM_FUNC_DECL tvec4< bool, P > greaterThan(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison of result x > y.
+
GLM_FUNC_DECL tvec3< T, P > eulerAngles(tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL tquat< T, P > normalize(tquat< T, P > const &q)
Returns the normalized quaternion.
+
GLM_FUNC_DECL T dot(quatType< T, P > const &x, quatType< T, P > const &y)
Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...
+
GLM_FUNC_DECL T yaw(tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians.
+
GLM_FUNC_DECL tquat< T, P > slerp(tquat< T, P > const &x, tquat< T, P > const &y, T a)
Spherical linear interpolation of two quaternions.
+
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast(tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
+
GLM_FUNC_DECL tquat< T, P > mix(tquat< T, P > const &x, tquat< T, P > const &y, T a)
Spherical linear interpolation of two quaternions.
+
GLM_FUNC_DECL tquat< T, P > inverse(tquat< T, P > const &q)
Returns the q inverse.
+
GLM_FUNC_DECL T roll(tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians.
+
GLM_FUNC_DECL tquat< T, P > angleAxis(T const &angle, tvec3< T, P > const &axis)
Build a quaternion from an angle and a normalized axis.
+
GLM_FUNC_DECL tvec4< bool, P > lessThan(tquat< T, P > const &x, tquat< T, P > const &y)
Returns the component-wise comparison result of x < y.
diff --git a/doc/api/a00095.html b/doc/api/a00095.html index f7f875f7..3eb71acd 100644 --- a/doc/api/a00095.html +++ b/doc/api/a00095.html @@ -3,8 +3,8 @@ - -0.9.6: random.hpp File Reference + +0.9.7: quaternion.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
random.hpp File Reference
+
gtx/quaternion.hpp File Reference
@@ -56,47 +56,81 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > ballRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > circularRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > diskRand (T Radius)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 
template<typename genTYpe >
GLM_FUNC_DECL genTYpe linearRand (genTYpe Min, genTYpe Max)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > sphericalRand (T Radius)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > exp (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T extractRealComponent (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > fastMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > intermediate (tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
 
template<typename T , precision P>
GLM_FUNC_DECL T length2 (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > log (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > pow (tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotation (tvec3< T, P > const &orig, tvec3< T, P > const &dest)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > shortMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > squad (tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > toMat3 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > toMat4 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat4x4< T, P > const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_random

-
Date
2011-09-18 / 2011-09-18
+

GLM_GTX_quaternion

+
Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-gtc_half_float (dependence)
-
-gtx_random (extended)
+GLM_GTX_extented_min_max (dependence)
-

Definition in file random.hpp.

+

Definition in file gtx/quaternion.hpp.

diff --git a/doc/api/a00095_source.html b/doc/api/a00095_source.html index d3b10db6..64260ce7 100644 --- a/doc/api/a00095_source.html +++ b/doc/api/a00095_source.html @@ -3,8 +3,8 @@ - -0.9.6: random.hpp Source File + +0.9.7: quaternion.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
random.hpp
+
gtx/quaternion.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
-
45 
-
46 // Dependency:
-
47 #include "../vec2.hpp"
-
48 #include "../vec3.hpp"
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTC_random extension included")
-
52 #endif
-
53 
-
54 namespace glm
-
55 {
-
58 
-
65  template <typename genTYpe>
-
66  GLM_FUNC_DECL genTYpe linearRand(
-
67  genTYpe Min,
-
68  genTYpe Max);
-
69 
-
70  template <typename T, precision P, template <typename, precision> class vecType>
-
71  GLM_FUNC_DECL vecType<T, P> linearRand(
-
72  vecType<T, P> const & Min,
-
73  vecType<T, P> const & Max);
-
74 
-
80  template <typename genType>
-
81  GLM_FUNC_DECL genType gaussRand(
-
82  genType Mean,
-
83  genType Deviation);
-
84 
-
89  template <typename T>
-
90  GLM_FUNC_DECL tvec2<T, defaultp> circularRand(
-
91  T Radius);
-
92 
-
97  template <typename T>
-
98  GLM_FUNC_DECL tvec3<T, defaultp> sphericalRand(
-
99  T Radius);
-
100 
-
105  template <typename T>
-
106  GLM_FUNC_DECL tvec2<T, defaultp> diskRand(
-
107  T Radius);
-
108 
-
113  template <typename T>
-
114  GLM_FUNC_DECL tvec3<T, defaultp> ballRand(
-
115  T Radius);
-
116 
-
118 }//namespace glm
-
119 
-
120 #include "random.inl"
-
GLM_FUNC_DECL genType gaussRand(genType Mean, genType Deviation)
Generate random numbers in the interval [Min, Max], according a gaussian distribution.
-
GLM_FUNC_DECL genTYpe linearRand(genTYpe Min, genTYpe Max)
Generate random numbers in the interval [Min, Max], according a linear distribution.
-
GLM_FUNC_DECL tvec3< T, defaultp > sphericalRand(T Radius)
Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius...
-
GLM_FUNC_DECL tvec2< T, defaultp > diskRand(T Radius)
Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a...
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tvec3< T, defaultp > ballRand(T Radius)
Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of...
-
GLM_FUNC_DECL tvec2< T, defaultp > circularRand(T Radius)
Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius...
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 #include "../gtc/constants.hpp"
+
48 #include "../gtc/quaternion.hpp"
+
49 #include "../gtx/norm.hpp"
+
50 
+
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
52 # pragma message("GLM: GLM_GTX_quaternion extension included")
+
53 #endif
+
54 
+
55 namespace glm
+
56 {
+
59 
+
63  template<typename T, precision P>
+
64  GLM_FUNC_DECL tvec3<T, P> cross(
+
65  tquat<T, P> const & q,
+
66  tvec3<T, P> const & v);
+
67 
+
71  template<typename T, precision P>
+
72  GLM_FUNC_DECL tvec3<T, P> cross(
+
73  tvec3<T, P> const & v,
+
74  tquat<T, P> const & q);
+
75 
+
80  template<typename T, precision P>
+
81  GLM_FUNC_DECL tquat<T, P> squad(
+
82  tquat<T, P> const & q1,
+
83  tquat<T, P> const & q2,
+
84  tquat<T, P> const & s1,
+
85  tquat<T, P> const & s2,
+
86  T const & h);
+
87 
+
91  template<typename T, precision P>
+
92  GLM_FUNC_DECL tquat<T, P> intermediate(
+
93  tquat<T, P> const & prev,
+
94  tquat<T, P> const & curr,
+
95  tquat<T, P> const & next);
+
96 
+
100  template<typename T, precision P>
+
101  GLM_FUNC_DECL tquat<T, P> exp(
+
102  tquat<T, P> const & q);
+
103 
+
107  template<typename T, precision P>
+
108  GLM_FUNC_DECL tquat<T, P> log(
+
109  tquat<T, P> const & q);
+
110 
+
114  template<typename T, precision P>
+
115  GLM_FUNC_DECL tquat<T, P> pow(
+
116  tquat<T, P> const & x,
+
117  T const & y);
+
118 
+
122  //template<typename T, precision P>
+
123  //tquat<T, P> sqrt(
+
124  // tquat<T, P> const & q);
+
125 
+
129  template<typename T, precision P>
+
130  GLM_FUNC_DECL tvec3<T, P> rotate(
+
131  tquat<T, P> const & q,
+
132  tvec3<T, P> const & v);
+
133 
+
137  template<typename T, precision P>
+
138  GLM_FUNC_DECL tvec4<T, P> rotate(
+
139  tquat<T, P> const & q,
+
140  tvec4<T, P> const & v);
+
141 
+
145  template<typename T, precision P>
+
146  GLM_FUNC_DECL T extractRealComponent(
+
147  tquat<T, P> const & q);
+
148 
+
152  template<typename T, precision P>
+
153  GLM_FUNC_DECL tmat3x3<T, P> toMat3(
+
154  tquat<T, P> const & x){return mat3_cast(x);}
+
155 
+
159  template<typename T, precision P>
+
160  GLM_FUNC_DECL tmat4x4<T, P> toMat4(
+
161  tquat<T, P> const & x){return mat4_cast(x);}
+
162 
+
166  template<typename T, precision P>
+
167  GLM_FUNC_DECL tquat<T, P> toQuat(
+
168  tmat3x3<T, P> const & x){return quat_cast(x);}
+
169 
+
173  template<typename T, precision P>
+
174  GLM_FUNC_DECL tquat<T, P> toQuat(
+
175  tmat4x4<T, P> const & x){return quat_cast(x);}
+
176 
+
180  template<typename T, precision P>
+
181  GLM_FUNC_DECL tquat<T, P> shortMix(
+
182  tquat<T, P> const & x,
+
183  tquat<T, P> const & y,
+
184  T const & a);
+
185 
+
189  template<typename T, precision P>
+
190  GLM_FUNC_DECL tquat<T, P> fastMix(
+
191  tquat<T, P> const & x,
+
192  tquat<T, P> const & y,
+
193  T const & a);
+
194 
+
200  template<typename T, precision P>
+
201  GLM_FUNC_DECL tquat<T, P> rotation(
+
202  tvec3<T, P> const & orig,
+
203  tvec3<T, P> const & dest);
+
204 
+
208  template<typename T, precision P>
+
209  GLM_FUNC_DECL T length2(tquat<T, P> const & q);
+
210 
+
212 }//namespace glm
+
213 
+
214 #include "quaternion.inl"
+
GLM_FUNC_DECL tquat< T, P > intermediate(tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
Returns an intermediate control point for squad interpolation.
+
GLM_FUNC_DECL T extractRealComponent(tquat< T, P > const &q)
Extract the real component of a quaternion.
+
GLM_FUNC_DECL tmat3x3< T, P > toMat3(tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
+
GLM_FUNC_DECL tquat< T, P > exp(tquat< T, P > const &q)
Returns a exp of a quaternion.
+
GLM_FUNC_DECL tquat< T, P > fastMix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Quaternion normalized linear interpolation.
+
GLM_FUNC_DECL tquat< T, P > squad(tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
Compute a point on a path according squad equation.
+
GLM_FUNC_DECL tmat4x4< T, P > toMat4(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL tquat< T, P > shortMix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Quaternion interpolation using the rotation short path.
+
GLM_FUNC_DECL tquat< T, P > toQuat(tmat4x4< T, P > const &x)
Converts a 4 * 4 matrix to a quaternion.
+
GLM_FUNC_DECL tvec3< T, P > cross(tvec3< T, P > const &v, tquat< T, P > const &q)
Compute a cross product between a vector and a quaternion.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tvec4< T, P > rotate(tquat< T, P > const &q, tvec4< T, P > const &v)
Rotates a 4 components vector by a quaternion.
+
GLM_FUNC_DECL tquat< T, P > quat_cast(tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
+
GLM_FUNC_DECL tquat< T, P > rotation(tvec3< T, P > const &orig, tvec3< T, P > const &dest)
Compute the rotation between two vectors.
+
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast(tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
+
GLM_FUNC_DECL tquat< T, P > log(tquat< T, P > const &q)
Returns a log of a quaternion.
+
GLM_FUNC_DECL T length2(tquat< T, P > const &q)
Returns the squared length of x.
+
GLM_FUNC_DECL tquat< T, P > pow(tquat< T, P > const &x, T const &y)
Returns x raised to the y power.
diff --git a/doc/api/a00096.html b/doc/api/a00096.html index 7b560d4c..f5d7fdd5 100644 --- a/doc/api/a00096.html +++ b/doc/api/a00096.html @@ -3,8 +3,8 @@ - -0.9.6: range.hpp File Reference + +0.9.7: random.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
range.hpp File Reference
+
random.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > ballRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > circularRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > diskRand (T Radius)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 
template<typename genTYpe >
GLM_FUNC_DECL genTYpe linearRand (genTYpe Min, genTYpe Max)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > sphericalRand (T Radius)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_range

-
Date
2014-09-19 / 2014-09-19
-
Author
Joshua Moerman
+

GLM_GTC_random

+
Date
2011-09-18 / 2011-09-18
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+gtx_random (extended)
-

Definition in file range.hpp.

+

Definition in file random.hpp.

diff --git a/doc/api/a00096_source.html b/doc/api/a00096_source.html index 7fa64975..4ccadda8 100644 --- a/doc/api/a00096_source.html +++ b/doc/api/a00096_source.html @@ -3,8 +3,8 @@ - -0.9.6: range.hpp Source File + +0.9.7: random.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
range.hpp
+
random.hpp
Go to the documentation of this file.
1 
-
41 #pragma once
-
42 
-
43 // Dependencies
-
44 #include "../detail/setup.hpp"
+
44 #pragma once
45 
-
46 #if !GLM_HAS_RANGE_FOR
-
47 # error "GLM_GTX_range requires C++11 suppport or 'range for'"
-
48 #endif
+
46 // Dependency:
+
47 #include "../vec2.hpp"
+
48 #include "../vec3.hpp"
49 
-
50 #include "../gtc/type_ptr.hpp"
-
51 
-
52 namespace glm{
-
53 namespace detail
-
54 {
-
55  /* The glm types provide a .length() member, but for matrices
-
56  this only defines the number of columns, so we need to work around this */
-
57  template <typename T, precision P>
-
58  detail::component_count_t number_of_elements_(tvec2<T, P> const & v){
-
59  return detail::component_count(v);
-
60  }
-
61 
-
62  template <typename T, precision P>
-
63  detail::component_count_t number_of_elements_(tvec3<T, P> const & v){
-
64  return detail::component_count(v);
-
65  }
-
66 
-
67  template <typename T, precision P>
-
68  detail::component_count_t number_of_elements_(tvec4<T, P> const & v){
-
69  return detail::component_count(v);
-
70  }
-
71 
-
72  template <typename genType>
-
73  detail::component_count_t number_of_elements_(genType const & m){
-
74  return detail::component_count(m) * detail::component_count(m[0]);
-
75  }
-
76 }//namespace
-
77 
-
80 
-
81  template <typename genType>
-
82  const typename genType::value_type * begin(genType const & v){
-
83  return value_ptr(v);
-
84  }
-
85 
-
86  template <typename genType>
-
87  const typename genType::value_type * end(genType const & v){
-
88  return begin(v) + detail::number_of_elements_(v);
-
89  }
-
90 
-
91  template <typename genType>
-
92  typename genType::value_type * begin(genType& v){
-
93  return value_ptr(v);
-
94  }
-
95 
-
96  template <typename genType>
-
97  typename genType::value_type * end(genType& v){
-
98  return begin(v) + detail::number_of_elements_(v);
-
99  }
-
100 
-
102 }//namespace glm
-
GLM_FUNC_DECL genType::value_type const * value_ptr(genType const &vec)
Return the constant address to the data of the input parameter.
-
Definition: _noise.hpp:39
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTC_random extension included")
+
52 #endif
+
53 
+
54 namespace glm
+
55 {
+
58 
+
65  template <typename genTYpe>
+
66  GLM_FUNC_DECL genTYpe linearRand(
+
67  genTYpe Min,
+
68  genTYpe Max);
+
69 
+
70  template <typename T, precision P, template <typename, precision> class vecType>
+
71  GLM_FUNC_DECL vecType<T, P> linearRand(
+
72  vecType<T, P> const & Min,
+
73  vecType<T, P> const & Max);
+
74 
+
80  template <typename genType>
+
81  GLM_FUNC_DECL genType gaussRand(
+
82  genType Mean,
+
83  genType Deviation);
+
84 
+
89  template <typename T>
+
90  GLM_FUNC_DECL tvec2<T, defaultp> circularRand(
+
91  T Radius);
+
92 
+
97  template <typename T>
+
98  GLM_FUNC_DECL tvec3<T, defaultp> sphericalRand(
+
99  T Radius);
+
100 
+
105  template <typename T>
+
106  GLM_FUNC_DECL tvec2<T, defaultp> diskRand(
+
107  T Radius);
+
108 
+
113  template <typename T>
+
114  GLM_FUNC_DECL tvec3<T, defaultp> ballRand(
+
115  T Radius);
+
116 
+
118 }//namespace glm
+
119 
+
120 #include "random.inl"
+
GLM_FUNC_DECL tvec3< T, defaultp > ballRand(T Radius)
Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of...
+
GLM_FUNC_DECL tvec2< T, defaultp > circularRand(T Radius)
Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius...
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType gaussRand(genType Mean, genType Deviation)
Generate random numbers in the interval [Min, Max], according a gaussian distribution.
+
GLM_FUNC_DECL genTYpe linearRand(genTYpe Min, genTYpe Max)
Generate random numbers in the interval [Min, Max], according a linear distribution.
+
GLM_FUNC_DECL tvec3< T, defaultp > sphericalRand(T Radius)
Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius...
+
GLM_FUNC_DECL tvec2< T, defaultp > diskRand(T Radius)
Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a...
diff --git a/doc/api/a00097.html b/doc/api/a00097.html index ebb61e5f..f643bd36 100644 --- a/doc/api/a00097.html +++ b/doc/api/a00097.html @@ -3,8 +3,8 @@ - -0.9.6: raw_data.hpp File Reference + +0.9.7: range.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
raw_data.hpp File Reference
+
range.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - -

-Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_raw_data

-
Date
2008-11-19 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM_GTX_range

+
Date
2014-09-19 / 2014-09-19
+
Author
Joshua Moerman
-

Definition in file raw_data.hpp.

+

Definition in file range.hpp.

diff --git a/doc/api/a00097_source.html b/doc/api/a00097_source.html index 4e8efdd1..5f7820c6 100644 --- a/doc/api/a00097_source.html +++ b/doc/api/a00097_source.html @@ -3,8 +3,8 @@ - -0.9.6: raw_data.hpp Source File + +0.9.7: range.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
raw_data.hpp
+
range.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependencies
-
45 #include "../detail/setup.hpp"
-
46 #include "../detail/type_int.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_raw_data extension included")
-
50 #endif
+
41 #pragma once
+
42 
+
43 // Dependencies
+
44 #include "../detail/setup.hpp"
+
45 
+
46 #if !GLM_HAS_RANGE_FOR
+
47 # error "GLM_GTX_range requires C++11 suppport or 'range for'"
+
48 #endif
+
49 
+
50 #include "../gtc/type_ptr.hpp"
51 
-
52 namespace glm
-
53 {
-
56 
-
59  typedef detail::uint8 byte;
-
60 
-
63  typedef detail::uint16 word;
-
64 
-
67  typedef detail::uint32 dword;
-
68 
-
71  typedef detail::uint64 qword;
-
72 
-
74 }// namespace glm
-
75 
-
76 #include "raw_data.inl"
-
detail::uint32 dword
Type for dword numbers.
Definition: raw_data.hpp:67
-
detail::uint64 qword
Type for qword numbers.
Definition: raw_data.hpp:71
-
detail::uint16 word
Type for word numbers.
Definition: raw_data.hpp:63
-
detail::uint8 byte
Type for byte numbers.
Definition: raw_data.hpp:59
-
Definition: _noise.hpp:39
+
52 namespace glm{
+
53 namespace detail
+
54 {
+
55  /* The glm types provide a .length() member, but for matrices
+
56  this only defines the number of columns, so we need to work around this */
+
57  template <typename T, precision P>
+
58  detail::component_count_t number_of_elements_(tvec2<T, P> const & v){
+
59  return detail::component_count(v);
+
60  }
+
61 
+
62  template <typename T, precision P>
+
63  detail::component_count_t number_of_elements_(tvec3<T, P> const & v){
+
64  return detail::component_count(v);
+
65  }
+
66 
+
67  template <typename T, precision P>
+
68  detail::component_count_t number_of_elements_(tvec4<T, P> const & v){
+
69  return detail::component_count(v);
+
70  }
+
71 
+
72  template <typename genType>
+
73  detail::component_count_t number_of_elements_(genType const & m){
+
74  return detail::component_count(m) * detail::component_count(m[0]);
+
75  }
+
76 }//namespace
+
77 
+
80 
+
81  template <typename genType>
+
82  const typename genType::value_type * begin(genType const & v){
+
83  return value_ptr(v);
+
84  }
+
85 
+
86  template <typename genType>
+
87  const typename genType::value_type * end(genType const & v){
+
88  return begin(v) + detail::number_of_elements_(v);
+
89  }
+
90 
+
91  template <typename genType>
+
92  typename genType::value_type * begin(genType& v){
+
93  return value_ptr(v);
+
94  }
+
95 
+
96  template <typename genType>
+
97  typename genType::value_type * end(genType& v){
+
98  return begin(v) + detail::number_of_elements_(v);
+
99  }
+
100 
+
102 }//namespace glm
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType::value_type const * value_ptr(genType const &vec)
Return the constant address to the data of the input parameter.
diff --git a/doc/api/a00098.html b/doc/api/a00098.html index 1dfc0c0e..f12a5770 100644 --- a/doc/api/a00098.html +++ b/doc/api/a00098.html @@ -3,8 +3,8 @@ - -0.9.6: reciprocal.hpp File Reference + +0.9.7: raw_data.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Typedefs
-
reciprocal.hpp File Reference
+
raw_data.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

-Functions

template<typename genType >
GLM_FUNC_DECL genType acot (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 

+Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_reciprocal

-
Date
2008-10-09 / 2012-01-25
+

GLM_GTX_raw_data

+
Date
2008-11-19 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file reciprocal.hpp.

+

Definition in file raw_data.hpp.

diff --git a/doc/api/a00098_source.html b/doc/api/a00098_source.html index 2518153c..3872d210 100644 --- a/doc/api/a00098_source.html +++ b/doc/api/a00098_source.html @@ -3,8 +3,8 @@ - -0.9.6: reciprocal.hpp Source File + +0.9.7: raw_data.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
reciprocal.hpp
+
raw_data.hpp
Go to the documentation of this file.
1 
@@ -54,73 +54,37 @@
43 
44 // Dependencies
45 #include "../detail/setup.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTC_reciprocal extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
60  template <typename genType>
-
61  GLM_FUNC_DECL genType sec(genType const & angle);
-
62 
-
67  template <typename genType>
-
68  GLM_FUNC_DECL genType csc(genType const & angle);
-
69 
-
74  template <typename genType>
-
75  GLM_FUNC_DECL genType cot(genType const & angle);
-
76 
-
80  template <typename genType>
-
81  GLM_FUNC_DECL genType asec(genType const & x);
-
82 
-
86  template <typename genType>
-
87  GLM_FUNC_DECL genType acsc(genType const & x);
-
88 
-
92  template <typename genType>
-
93  GLM_FUNC_DECL genType acot(genType const & x);
-
94 
-
98  template <typename genType>
-
99  GLM_FUNC_DECL genType sech(genType const & angle);
-
100 
-
104  template <typename genType>
-
105  GLM_FUNC_DECL genType csch(genType const & angle);
-
106 
-
110  template <typename genType>
-
111  GLM_FUNC_DECL genType coth(genType const & angle);
-
112 
-
116  template <typename genType>
-
117  GLM_FUNC_DECL genType asech(genType const & x);
-
118 
-
122  template <typename genType>
-
123  GLM_FUNC_DECL genType acsch(genType const & x);
-
124 
-
128  template <typename genType>
-
129  GLM_FUNC_DECL genType acoth(genType const & x);
-
130 
-
132 }//namespace glm
-
133 
-
134 #include "reciprocal.inl"
-
GLM_FUNC_DECL genType acsc(genType const &x)
Inverse cosecant function.
-
GLM_FUNC_DECL genType coth(genType const &angle)
Cotangent hyperbolic function.
-
GLM_FUNC_DECL genType acsch(genType const &x)
Inverse cosecant hyperbolic function.
-
GLM_FUNC_DECL genType acoth(genType const &x)
Inverse cotangent hyperbolic function.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL genType csch(genType const &angle)
Cosecant hyperbolic function.
-
GLM_FUNC_DECL genType csc(genType const &angle)
Cosecant function.
-
GLM_FUNC_DECL genType sech(genType const &angle)
Secant hyperbolic function.
-
GLM_FUNC_DECL genType asec(genType const &x)
Inverse secant function.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType sec(genType const &angle)
Secant function.
-
GLM_FUNC_DECL genType acot(genType const &x)
Inverse cotangent function.
-
GLM_FUNC_DECL genType cot(genType const &angle)
Cotangent function.
-
GLM_FUNC_DECL genType asech(genType const &x)
Inverse secant hyperbolic function.
+
46 #include "../detail/type_int.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_raw_data extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  typedef detail::uint8 byte;
+
60 
+
63  typedef detail::uint16 word;
+
64 
+
67  typedef detail::uint32 dword;
+
68 
+
71  typedef detail::uint64 qword;
+
72 
+
74 }// namespace glm
+
75 
+
76 #include "raw_data.inl"
+
detail::uint16 word
Type for word numbers.
Definition: raw_data.hpp:63
+
detail::uint8 byte
Type for byte numbers.
Definition: raw_data.hpp:59
+
Definition: _noise.hpp:40
+
detail::uint32 dword
Type for dword numbers.
Definition: raw_data.hpp:67
+
detail::uint64 qword
Type for qword numbers.
Definition: raw_data.hpp:71
diff --git a/doc/api/a00099.html b/doc/api/a00099.html index 7fcd23ec..c8ad7066 100644 --- a/doc/api/a00099.html +++ b/doc/api/a00099.html @@ -3,8 +3,8 @@ - -0.9.6: rotate_normalized_axis.hpp File Reference + +0.9.7: reciprocal.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
rotate_normalized_axis.hpp File Reference
+
reciprocal.hpp File Reference
@@ -56,35 +56,61 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotateNormalizedAxis (tmat4x4< T, P > const &m, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotateNormalizedAxis (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
template<typename genType >
GLM_FUNC_DECL genType acot (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_rotate_normalized_axis

-
Date
2012-12-13 / 2012-12-13
+

GLM_GTC_reciprocal

+
Date
2008-10-09 / 2012-01-25
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTC_matrix_transform
-
-GLM_GTC_quaternion
+
See also
GLM Core (dependence)
-

Definition in file rotate_normalized_axis.hpp.

+

Definition in file reciprocal.hpp.

diff --git a/doc/api/a00099_source.html b/doc/api/a00099_source.html index 522906bb..9f3d6f42 100644 --- a/doc/api/a00099_source.html +++ b/doc/api/a00099_source.html @@ -3,8 +3,8 @@ - -0.9.6: rotate_normalized_axis.hpp Source File + +0.9.7: reciprocal.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
rotate_normalized_axis.hpp
+
reciprocal.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
-
45 
-
46 // Dependency:
-
47 #include "../glm.hpp"
-
48 #include "../gtc/epsilon.hpp"
-
49 #include "../gtc/quaternion.hpp"
+
42 #pragma once
+
43 
+
44 // Dependencies
+
45 #include "../detail/setup.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTC_reciprocal extension included")
+
49 #endif
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
52 # pragma message("GLM: GLM_GTX_rotate_normalized_axis extension included")
-
53 #endif
-
54 
-
55 namespace glm
-
56 {
-
59 
-
71  template <typename T, precision P>
-
72  GLM_FUNC_DECL tmat4x4<T, P> rotateNormalizedAxis(
-
73  tmat4x4<T, P> const & m,
-
74  T const & angle,
-
75  tvec3<T, P> const & axis);
+
51 namespace glm
+
52 {
+
55 
+
60  template <typename genType>
+
61  GLM_FUNC_DECL genType sec(genType const & angle);
+
62 
+
67  template <typename genType>
+
68  GLM_FUNC_DECL genType csc(genType const & angle);
+
69 
+
74  template <typename genType>
+
75  GLM_FUNC_DECL genType cot(genType const & angle);
76 
-
84  template <typename T, precision P>
-
85  GLM_FUNC_DECL tquat<T, P> rotateNormalizedAxis(
-
86  tquat<T, P> const & q,
-
87  T const & angle,
-
88  tvec3<T, P> const & axis);
-
89 
-
91 }//namespace glm
-
92 
-
93 #include "rotate_normalized_axis.inl"
-
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tquat< T, P > rotateNormalizedAxis(tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
Rotates a quaternion from a vector of 3 components normalized axis and an angle.
+
80  template <typename genType>
+
81  GLM_FUNC_DECL genType asec(genType const & x);
+
82 
+
86  template <typename genType>
+
87  GLM_FUNC_DECL genType acsc(genType const & x);
+
88 
+
92  template <typename genType>
+
93  GLM_FUNC_DECL genType acot(genType const & x);
+
94 
+
98  template <typename genType>
+
99  GLM_FUNC_DECL genType sech(genType const & angle);
+
100 
+
104  template <typename genType>
+
105  GLM_FUNC_DECL genType csch(genType const & angle);
+
106 
+
110  template <typename genType>
+
111  GLM_FUNC_DECL genType coth(genType const & angle);
+
112 
+
116  template <typename genType>
+
117  GLM_FUNC_DECL genType asech(genType const & x);
+
118 
+
122  template <typename genType>
+
123  GLM_FUNC_DECL genType acsch(genType const & x);
+
124 
+
128  template <typename genType>
+
129  GLM_FUNC_DECL genType acoth(genType const & x);
+
130 
+
132 }//namespace glm
+
133 
+
134 #include "reciprocal.inl"
+
GLM_FUNC_DECL genType asech(genType const &x)
Inverse secant hyperbolic function.
+
GLM_FUNC_DECL genType cot(genType const &angle)
Cotangent function.
+
GLM_FUNC_DECL genType csch(genType const &angle)
Cosecant hyperbolic function.
+
GLM_FUNC_DECL genType asec(genType const &x)
Inverse secant function.
+
GLM_FUNC_DECL genType acot(genType const &x)
Inverse cotangent function.
+
GLM_FUNC_DECL genType csc(genType const &angle)
Cosecant function.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType sec(genType const &angle)
Secant function.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL genType acoth(genType const &x)
Inverse cotangent hyperbolic function.
+
GLM_FUNC_DECL genType acsch(genType const &x)
Inverse cosecant hyperbolic function.
+
GLM_FUNC_DECL genType coth(genType const &angle)
Cotangent hyperbolic function.
+
GLM_FUNC_DECL genType acsc(genType const &x)
Inverse cosecant function.
+
GLM_FUNC_DECL genType sech(genType const &angle)
Secant hyperbolic function.
diff --git a/doc/api/a00100.html b/doc/api/a00100.html index 9498fea9..e9592018 100644 --- a/doc/api/a00100.html +++ b/doc/api/a00100.html @@ -3,8 +3,8 @@ - -0.9.6: rotate_vector.hpp File Reference + +0.9.7: rotate_normalized_axis.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
rotate_vector.hpp File Reference
+
rotate_normalized_axis.hpp File Reference
@@ -56,60 +56,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientation (tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > rotate (tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tvec3< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tvec4< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateX (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateX (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateY (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateY (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateZ (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateZ (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > slerp (tvec3< T, P > const &x, tvec3< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotateNormalizedAxis (tmat4x4< T, P > const &m, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotateNormalizedAxis (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_rotate_vector

-
Date
2006-11-02 / 2011-06-07
+

GLM_GTX_rotate_normalized_axis

+
Date
2012-12-13 / 2012-12-13
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTX_transform (dependence)
+GLM_GTC_matrix_transform +
+GLM_GTC_quaternion
-

Definition in file rotate_vector.hpp.

+

Definition in file rotate_normalized_axis.hpp.

diff --git a/doc/api/a00100_source.html b/doc/api/a00100_source.html index ac4f24a4..d85c47ac 100644 --- a/doc/api/a00100_source.html +++ b/doc/api/a00100_source.html @@ -3,8 +3,8 @@ - -0.9.6: rotate_vector.hpp Source File + +0.9.7: rotate_normalized_axis.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
rotate_vector.hpp
+
rotate_normalized_axis.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 #include "../gtx/transform.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
-
57 
-
65  template <typename T, precision P>
-
66  GLM_FUNC_DECL tvec3<T, P> slerp(
-
67  tvec3<T, P> const & x,
-
68  tvec3<T, P> const & y,
-
69  T const & a);
-
70 
-
73  template <typename T, precision P>
-
74  GLM_FUNC_DECL tvec2<T, P> rotate(
-
75  tvec2<T, P> const & v,
-
76  T const & angle);
-
77 
-
80  template <typename T, precision P>
-
81  GLM_FUNC_DECL tvec3<T, P> rotate(
-
82  tvec3<T, P> const & v,
-
83  T const & angle,
-
84  tvec3<T, P> const & normal);
-
85 
-
88  template <typename T, precision P>
-
89  GLM_FUNC_DECL tvec4<T, P> rotate(
-
90  tvec4<T, P> const & v,
-
91  T const & angle,
-
92  tvec3<T, P> const & normal);
-
93 
-
96  template <typename T, precision P>
-
97  GLM_FUNC_DECL tvec3<T, P> rotateX(
-
98  tvec3<T, P> const & v,
-
99  T const & angle);
-
100 
-
103  template <typename T, precision P>
-
104  GLM_FUNC_DECL tvec3<T, P> rotateY(
-
105  tvec3<T, P> const & v,
-
106  T const & angle);
-
107 
-
110  template <typename T, precision P>
-
111  GLM_FUNC_DECL tvec3<T, P> rotateZ(
-
112  tvec3<T, P> const & v,
-
113  T const & angle);
-
114 
-
117  template <typename T, precision P>
-
118  GLM_FUNC_DECL tvec4<T, P> rotateX(
-
119  tvec4<T, P> const & v,
-
120  T const & angle);
-
121 
-
124  template <typename T, precision P>
-
125  GLM_FUNC_DECL tvec4<T, P> rotateY(
-
126  tvec4<T, P> const & v,
-
127  T const & angle);
-
128 
-
131  template <typename T, precision P>
-
132  GLM_FUNC_DECL tvec4<T, P> rotateZ(
-
133  tvec4<T, P> const & v,
-
134  T const & angle);
-
135 
-
138  template <typename T, precision P>
-
139  GLM_FUNC_DECL tmat4x4<T, P> orientation(
-
140  tvec3<T, P> const & Normal,
-
141  tvec3<T, P> const & Up);
-
142 
-
144 }//namespace glm
-
145 
-
146 #include "rotate_vector.inl"
-
GLM_FUNC_DECL tvec4< T, P > rotateX(tvec4< T, P > const &v, T const &angle)
Rotate a four dimentionnals vector around the X axis.
-
GLM_FUNC_DECL tvec4< T, P > rotateY(tvec4< T, P > const &v, T const &angle)
Rotate a four dimensional vector around the X axis.
-
GLM_FUNC_DECL tvec3< T, P > slerp(tvec3< T, P > const &x, tvec3< T, P > const &y, T const &a)
Returns Spherical interpolation between two vectors.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL tvec4< T, P > rotateZ(tvec4< T, P > const &v, T const &angle)
Rotate a four dimensional vector around the X axis.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, P > orientation(tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
-
GLM_FUNC_DECL tvec4< T, P > rotate(tvec4< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
Rotate a four dimensional vector around an axis.
+
44 #pragma once
+
45 
+
46 // Dependency:
+
47 #include "../glm.hpp"
+
48 #include "../gtc/epsilon.hpp"
+
49 #include "../gtc/quaternion.hpp"
+
50 
+
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
52 # pragma message("GLM: GLM_GTX_rotate_normalized_axis extension included")
+
53 #endif
+
54 
+
55 namespace glm
+
56 {
+
59 
+
71  template <typename T, precision P>
+
72  GLM_FUNC_DECL tmat4x4<T, P> rotateNormalizedAxis(
+
73  tmat4x4<T, P> const & m,
+
74  T const & angle,
+
75  tvec3<T, P> const & axis);
+
76 
+
84  template <typename T, precision P>
+
85  GLM_FUNC_DECL tquat<T, P> rotateNormalizedAxis(
+
86  tquat<T, P> const & q,
+
87  T const & angle,
+
88  tvec3<T, P> const & axis);
+
89 
+
91 }//namespace glm
+
92 
+
93 #include "rotate_normalized_axis.inl"
+
GLM_FUNC_DECL tquat< T, P > rotateNormalizedAxis(tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
Rotates a quaternion from a vector of 3 components normalized axis and an angle.
+
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
diff --git a/doc/api/a00101.html b/doc/api/a00101.html index ff9e2616..6d5b08a7 100644 --- a/doc/api/a00101.html +++ b/doc/api/a00101.html @@ -3,8 +3,8 @@ - -0.9.6: round.hpp File Reference + +0.9.7: rotate_vector.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
round.hpp File Reference
+
rotate_vector.hpp File Reference
@@ -56,78 +56,60 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilPowerOfTwo (vecType< T, P > const &value)
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorPowerOfTwo (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType Value, genIUType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, T Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isPowerOfTwo (vecType< T, P > const &value)
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundPowerOfTwo (vecType< T, P > const &value)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientation (tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > rotate (tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tvec3< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tvec4< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateX (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateX (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateY (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateY (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateZ (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateZ (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > slerp (tvec3< T, P > const &x, tvec3< T, P > const &y, T const &a)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_round

-
Date
2014-11-03 / 2014-11-03
+

GLM_GTX_rotate_vector

+
Date
2006-11-02 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTC_round (dependence)
+GLM_GTX_transform (dependence)
-

Definition in file round.hpp.

+

Definition in file rotate_vector.hpp.

diff --git a/doc/api/a00101_source.html b/doc/api/a00101_source.html index a3616363..a333c389 100644 --- a/doc/api/a00101_source.html +++ b/doc/api/a00101_source.html @@ -3,8 +3,8 @@ - -0.9.6: round.hpp Source File + +0.9.7: rotate_vector.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
round.hpp
+
rotate_vector.hpp
Go to the documentation of this file.
1 
43 #pragma once
44 
-
45 // Dependencies
-
46 #include "../detail/setup.hpp"
-
47 #include "../detail/precision.hpp"
-
48 #include "../detail/_vectorize.hpp"
-
49 #include "../vector_relational.hpp"
-
50 #include "../common.hpp"
-
51 #include <limits>
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 #include "../gtx/transform.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
+
51 #endif
52 
-
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
54 # pragma message("GLM: GLM_GTC_integer extension included")
-
55 #endif
-
56 
-
57 namespace glm
-
58 {
-
61 
-
65  template <typename genIUType>
-
66  GLM_FUNC_DECL bool isPowerOfTwo(genIUType Value);
-
67 
-
71  template <typename T, precision P, template <typename, precision> class vecType>
-
72  GLM_FUNC_DECL vecType<bool, P> isPowerOfTwo(vecType<T, P> const & value);
-
73 
-
78  template <typename genIUType>
-
79  GLM_FUNC_DECL genIUType ceilPowerOfTwo(genIUType Value);
-
80 
-
85  template <typename T, precision P, template <typename, precision> class vecType>
-
86  GLM_FUNC_DECL vecType<T, P> ceilPowerOfTwo(vecType<T, P> const & value);
-
87 
-
92  template <typename genIUType>
-
93  GLM_FUNC_DECL genIUType floorPowerOfTwo(genIUType Value);
-
94 
-
99  template <typename T, precision P, template <typename, precision> class vecType>
-
100  GLM_FUNC_DECL vecType<T, P> floorPowerOfTwo(vecType<T, P> const & value);
-
101 
-
105  template <typename genIUType>
-
106  GLM_FUNC_DECL genIUType roundPowerOfTwo(genIUType Value);
-
107 
-
111  template <typename T, precision P, template <typename, precision> class vecType>
-
112  GLM_FUNC_DECL vecType<T, P> roundPowerOfTwo(vecType<T, P> const & value);
-
113 
-
117  template <typename genIUType>
-
118  GLM_FUNC_DECL bool isMultiple(genIUType Value, genIUType Multiple);
-
119 
-
123  template <typename T, precision P, template <typename, precision> class vecType>
-
124  GLM_FUNC_DECL vecType<bool, P> isMultiple(vecType<T, P> const & Value, T Multiple);
-
125 
-
129  template <typename T, precision P, template <typename, precision> class vecType>
-
130  GLM_FUNC_DECL vecType<bool, P> isMultiple(vecType<T, P> const & Value, vecType<T, P> const & Multiple);
-
131 
-
139  template <typename genType>
-
140  GLM_FUNC_DECL genType ceilMultiple(genType Source, genType Multiple);
-
141 
-
149  template <typename T, precision P, template <typename, precision> class vecType>
-
150  GLM_FUNC_DECL vecType<T, P> ceilMultiple(vecType<T, P> const & Source, vecType<T, P> const & Multiple);
-
151 
-
159  template <typename genType>
-
160  GLM_FUNC_DECL genType floorMultiple(
-
161  genType Source,
-
162  genType Multiple);
-
163 
-
171  template <typename T, precision P, template <typename, precision> class vecType>
-
172  GLM_FUNC_DECL vecType<T, P> floorMultiple(
-
173  vecType<T, P> const & Source,
-
174  vecType<T, P> const & Multiple);
-
175 
-
183  template <typename genType>
-
184  GLM_FUNC_DECL genType roundMultiple(
-
185  genType Source,
-
186  genType Multiple);
-
187 
-
195  template <typename T, precision P, template <typename, precision> class vecType>
-
196  GLM_FUNC_DECL vecType<T, P> roundMultiple(
-
197  vecType<T, P> const & Source,
-
198  vecType<T, P> const & Multiple);
-
199 
-
201 } //namespace glm
-
202 
-
203 #include "round.inl"
-
GLM_FUNC_DECL vecType< T, P > floorMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Lower multiple number of Source.
-
GLM_FUNC_DECL vecType< bool, P > isMultiple(vecType< T, P > const &Value, vecType< T, P > const &Multiple)
Return true if the 'Value' is a multiple of 'Multiple'.
-
GLM_FUNC_DECL vecType< T, P > roundPowerOfTwo(vecType< T, P > const &value)
Return the power of two number which value is the closet to the input value.
-
GLM_FUNC_DECL vecType< bool, P > isPowerOfTwo(vecType< T, P > const &value)
Return true if the value is a power of two number.
-
GLM_FUNC_DECL vecType< T, P > roundMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Lower multiple number of Source.
-
GLM_FUNC_DECL vecType< T, P > ceilMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Higher multiple number of Source.
-
GLM_FUNC_DECL vecType< T, P > ceilPowerOfTwo(vecType< T, P > const &value)
Return the power of two number which value is just higher the input value, round up to a power of two...
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< T, P > floorPowerOfTwo(vecType< T, P > const &value)
Return the power of two number which value is just lower the input value, round down to a power of tw...
+
53 namespace glm
+
54 {
+
57 
+
65  template <typename T, precision P>
+
66  GLM_FUNC_DECL tvec3<T, P> slerp(
+
67  tvec3<T, P> const & x,
+
68  tvec3<T, P> const & y,
+
69  T const & a);
+
70 
+
73  template <typename T, precision P>
+
74  GLM_FUNC_DECL tvec2<T, P> rotate(
+
75  tvec2<T, P> const & v,
+
76  T const & angle);
+
77 
+
80  template <typename T, precision P>
+
81  GLM_FUNC_DECL tvec3<T, P> rotate(
+
82  tvec3<T, P> const & v,
+
83  T const & angle,
+
84  tvec3<T, P> const & normal);
+
85 
+
88  template <typename T, precision P>
+
89  GLM_FUNC_DECL tvec4<T, P> rotate(
+
90  tvec4<T, P> const & v,
+
91  T const & angle,
+
92  tvec3<T, P> const & normal);
+
93 
+
96  template <typename T, precision P>
+
97  GLM_FUNC_DECL tvec3<T, P> rotateX(
+
98  tvec3<T, P> const & v,
+
99  T const & angle);
+
100 
+
103  template <typename T, precision P>
+
104  GLM_FUNC_DECL tvec3<T, P> rotateY(
+
105  tvec3<T, P> const & v,
+
106  T const & angle);
+
107 
+
110  template <typename T, precision P>
+
111  GLM_FUNC_DECL tvec3<T, P> rotateZ(
+
112  tvec3<T, P> const & v,
+
113  T const & angle);
+
114 
+
117  template <typename T, precision P>
+
118  GLM_FUNC_DECL tvec4<T, P> rotateX(
+
119  tvec4<T, P> const & v,
+
120  T const & angle);
+
121 
+
124  template <typename T, precision P>
+
125  GLM_FUNC_DECL tvec4<T, P> rotateY(
+
126  tvec4<T, P> const & v,
+
127  T const & angle);
+
128 
+
131  template <typename T, precision P>
+
132  GLM_FUNC_DECL tvec4<T, P> rotateZ(
+
133  tvec4<T, P> const & v,
+
134  T const & angle);
+
135 
+
138  template <typename T, precision P>
+
139  GLM_FUNC_DECL tmat4x4<T, P> orientation(
+
140  tvec3<T, P> const & Normal,
+
141  tvec3<T, P> const & Up);
+
142 
+
144 }//namespace glm
+
145 
+
146 #include "rotate_vector.inl"
+
GLM_FUNC_DECL tvec4< T, P > rotateZ(tvec4< T, P > const &v, T const &angle)
Rotate a four dimensional vector around the X axis.
+
GLM_FUNC_DECL tmat4x4< T, P > orientation(tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
+
GLM_FUNC_DECL tvec4< T, P > rotate(tvec4< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
Rotate a four dimensional vector around an axis.
+
GLM_FUNC_DECL tvec4< T, P > rotateX(tvec4< T, P > const &v, T const &angle)
Rotate a four dimentionnals vector around the X axis.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL tvec3< T, P > slerp(tvec3< T, P > const &x, tvec3< T, P > const &y, T const &a)
Returns Spherical interpolation between two vectors.
+
GLM_FUNC_DECL tvec4< T, P > rotateY(tvec4< T, P > const &v, T const &angle)
Rotate a four dimensional vector around the X axis.
diff --git a/doc/api/a00102.html b/doc/api/a00102.html index 5eb023c9..1314d7de 100644 --- a/doc/api/a00102.html +++ b/doc/api/a00102.html @@ -3,8 +3,8 @@ - -0.9.6: scalar_multiplication.hpp File Reference + +0.9.7: round.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
scalar_multiplication.hpp File Reference
+
round.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilPowerOfTwo (vecType< T, P > const &value)
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorPowerOfTwo (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType Value, genIUType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, T Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isPowerOfTwo (vecType< T, P > const &value)
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundPowerOfTwo (vecType< T, P > const &value)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GTX Extensions (Experimental)

-
Date
2014-09-22 / 2014-09-22
-
Author
Joshua Moerman
-

Enables scalar multiplication for all types

-

Since GLSL is very strict about types, the following (often used) combinations do not work: double * vec4 int * vec4 vec4 / int So we'll fix that! Of course "float * vec4" should remain the same (hence the enable_if magic)

+

GLM_GTC_round

+
Date
2014-11-03 / 2014-11-03
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+GLM_GTC_round (dependence)
-

Definition in file scalar_multiplication.hpp.

+

Definition in file round.hpp.

diff --git a/doc/api/a00102_source.html b/doc/api/a00102_source.html index 69df357a..fc7fa8ab 100644 --- a/doc/api/a00102_source.html +++ b/doc/api/a00102_source.html @@ -3,8 +3,8 @@ - -0.9.6: scalar_multiplication.hpp Source File + +0.9.7: round.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
scalar_multiplication.hpp
+
round.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 #include "../detail/setup.hpp"
-
45 
-
46 #if !GLM_HAS_TEMPLATE_ALIASES
-
47 # error "GLM_GTX_scalar_multiplication requires C++11 suppport or alias templates"
-
48 #endif
-
49 
-
50 #include "../vec2.hpp"
-
51 #include "../vec3.hpp"
-
52 #include "../vec4.hpp"
-
53 #include "../mat2x2.hpp"
-
54 #include <type_traits>
-
55 
-
56 namespace glm
-
57 {
-
58  template <typename T, typename Vec>
-
59  using return_type_scalar_multiplication = typename std::enable_if<
-
60  !std::is_same<T, float>::value // T may not be a float
-
61  && std::is_arithmetic<T>::value, Vec // But it may be an int or double (no vec3 or mat3, ...)
-
62  >::type;
-
63 
-
64 #define GLM_IMPLEMENT_SCAL_MULT(Vec) \
-
65  template <typename T> \
-
66  return_type_scalar_multiplication<T, Vec> \
-
67  operator*(T const & s, Vec rh){ \
-
68  return rh *= static_cast<float>(s); \
-
69  } \
-
70  \
-
71  template <typename T> \
-
72  return_type_scalar_multiplication<T, Vec> \
-
73  operator*(Vec lh, T const & s){ \
-
74  return lh *= static_cast<float>(s); \
-
75  } \
-
76  \
-
77  template <typename T> \
-
78  return_type_scalar_multiplication<T, Vec> \
-
79  operator/(Vec lh, T const & s){ \
-
80  return lh *= 1.0f / s; \
-
81  }
-
82 
-
83 GLM_IMPLEMENT_SCAL_MULT(vec2)
-
84 GLM_IMPLEMENT_SCAL_MULT(vec3)
-
85 GLM_IMPLEMENT_SCAL_MULT(vec4)
-
86 
-
87 GLM_IMPLEMENT_SCAL_MULT(mat2)
-
88 GLM_IMPLEMENT_SCAL_MULT(mat2x3)
-
89 GLM_IMPLEMENT_SCAL_MULT(mat2x4)
-
90 GLM_IMPLEMENT_SCAL_MULT(mat3x2)
-
91 GLM_IMPLEMENT_SCAL_MULT(mat3)
-
92 GLM_IMPLEMENT_SCAL_MULT(mat3x4)
-
93 GLM_IMPLEMENT_SCAL_MULT(mat4x2)
-
94 GLM_IMPLEMENT_SCAL_MULT(mat4x3)
-
95 GLM_IMPLEMENT_SCAL_MULT(mat4)
-
96 
-
97 #undef GLM_IMPLEMENT_SCAL_MULT
-
98 } // namespace glm
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:402
-
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:410
-
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:437
-
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:400
-
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
-
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:432
-
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:420
-
Definition: _noise.hpp:39
-
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:395
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:397
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:392
-
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:390
-
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:415
+
43 #pragma once
+
44 
+
45 // Dependencies
+
46 #include "../detail/setup.hpp"
+
47 #include "../detail/precision.hpp"
+
48 #include "../detail/_vectorize.hpp"
+
49 #include "../vector_relational.hpp"
+
50 #include "../common.hpp"
+
51 #include <limits>
+
52 
+
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
54 # pragma message("GLM: GLM_GTC_integer extension included")
+
55 #endif
+
56 
+
57 namespace glm
+
58 {
+
61 
+
65  template <typename genIUType>
+
66  GLM_FUNC_DECL bool isPowerOfTwo(genIUType Value);
+
67 
+
71  template <typename T, precision P, template <typename, precision> class vecType>
+
72  GLM_FUNC_DECL vecType<bool, P> isPowerOfTwo(vecType<T, P> const & value);
+
73 
+
78  template <typename genIUType>
+
79  GLM_FUNC_DECL genIUType ceilPowerOfTwo(genIUType Value);
+
80 
+
85  template <typename T, precision P, template <typename, precision> class vecType>
+
86  GLM_FUNC_DECL vecType<T, P> ceilPowerOfTwo(vecType<T, P> const & value);
+
87 
+
92  template <typename genIUType>
+
93  GLM_FUNC_DECL genIUType floorPowerOfTwo(genIUType Value);
+
94 
+
99  template <typename T, precision P, template <typename, precision> class vecType>
+
100  GLM_FUNC_DECL vecType<T, P> floorPowerOfTwo(vecType<T, P> const & value);
+
101 
+
105  template <typename genIUType>
+
106  GLM_FUNC_DECL genIUType roundPowerOfTwo(genIUType Value);
+
107 
+
111  template <typename T, precision P, template <typename, precision> class vecType>
+
112  GLM_FUNC_DECL vecType<T, P> roundPowerOfTwo(vecType<T, P> const & value);
+
113 
+
117  template <typename genIUType>
+
118  GLM_FUNC_DECL bool isMultiple(genIUType Value, genIUType Multiple);
+
119 
+
123  template <typename T, precision P, template <typename, precision> class vecType>
+
124  GLM_FUNC_DECL vecType<bool, P> isMultiple(vecType<T, P> const & Value, T Multiple);
+
125 
+
129  template <typename T, precision P, template <typename, precision> class vecType>
+
130  GLM_FUNC_DECL vecType<bool, P> isMultiple(vecType<T, P> const & Value, vecType<T, P> const & Multiple);
+
131 
+
139  template <typename genType>
+
140  GLM_FUNC_DECL genType ceilMultiple(genType Source, genType Multiple);
+
141 
+
149  template <typename T, precision P, template <typename, precision> class vecType>
+
150  GLM_FUNC_DECL vecType<T, P> ceilMultiple(vecType<T, P> const & Source, vecType<T, P> const & Multiple);
+
151 
+
159  template <typename genType>
+
160  GLM_FUNC_DECL genType floorMultiple(
+
161  genType Source,
+
162  genType Multiple);
+
163 
+
171  template <typename T, precision P, template <typename, precision> class vecType>
+
172  GLM_FUNC_DECL vecType<T, P> floorMultiple(
+
173  vecType<T, P> const & Source,
+
174  vecType<T, P> const & Multiple);
+
175 
+
183  template <typename genType>
+
184  GLM_FUNC_DECL genType roundMultiple(
+
185  genType Source,
+
186  genType Multiple);
+
187 
+
195  template <typename T, precision P, template <typename, precision> class vecType>
+
196  GLM_FUNC_DECL vecType<T, P> roundMultiple(
+
197  vecType<T, P> const & Source,
+
198  vecType<T, P> const & Multiple);
+
199 
+
201 } //namespace glm
+
202 
+
203 #include "round.inl"
+
GLM_FUNC_DECL vecType< bool, P > isPowerOfTwo(vecType< T, P > const &value)
Return true if the value is a power of two number.
+
GLM_FUNC_DECL vecType< T, P > roundPowerOfTwo(vecType< T, P > const &value)
Return the power of two number which value is the closet to the input value.
+
GLM_FUNC_DECL vecType< T, P > floorPowerOfTwo(vecType< T, P > const &value)
Return the power of two number which value is just lower the input value, round down to a power of tw...
+
GLM_FUNC_DECL vecType< T, P > ceilPowerOfTwo(vecType< T, P > const &value)
Return the power of two number which value is just higher the input value, round up to a power of two...
+
GLM_FUNC_DECL vecType< T, P > ceilMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Higher multiple number of Source.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< T, P > floorMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Lower multiple number of Source.
+
GLM_FUNC_DECL vecType< T, P > roundMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Lower multiple number of Source.
+
GLM_FUNC_DECL vecType< bool, P > isMultiple(vecType< T, P > const &Value, vecType< T, P > const &Multiple)
Return true if the 'Value' is a multiple of 'Multiple'.
diff --git a/doc/api/a00103.html b/doc/api/a00103.html index a35c280f..c50519f8 100644 --- a/doc/api/a00103.html +++ b/doc/api/a00103.html @@ -3,8 +3,8 @@ - -0.9.6: scalar_relational.hpp File Reference + +0.9.7: scalar_multiplication.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
scalar_relational.hpp File Reference
+
scalar_multiplication.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_scalar_relational

-
Date
2013-02-04 / 2013-02-04
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GTX Extensions (Experimental)

+
Date
2014-09-22 / 2014-09-22
+
Author
Joshua Moerman
+

Enables scalar multiplication for all types

+

Since GLSL is very strict about types, the following (often used) combinations do not work: double * vec4 int * vec4 vec4 / int So we'll fix that! Of course "float * vec4" should remain the same (hence the enable_if magic)

-

Definition in file scalar_relational.hpp.

+

Definition in file scalar_multiplication.hpp.

diff --git a/doc/api/a00103_source.html b/doc/api/a00103_source.html index 6ef0a38e..7fee84e8 100644 --- a/doc/api/a00103_source.html +++ b/doc/api/a00103_source.html @@ -3,8 +3,8 @@ - -0.9.6: scalar_relational.hpp Source File + +0.9.7: scalar_multiplication.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
scalar_relational.hpp
+
scalar_multiplication.hpp
Go to the documentation of this file.
1 
42 #pragma once
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_extend extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
+
44 #include "../detail/setup.hpp"
+
45 
+
46 #if !GLM_HAS_TEMPLATE_ALIASES && !(GLM_COMPILER & GLM_COMPILER_GCC)
+
47 # error "GLM_GTX_scalar_multiplication requires C++11 support or alias templates and if not support for GCC"
+
48 #endif
+
49 
+
50 #include "../vec2.hpp"
+
51 #include "../vec3.hpp"
+
52 #include "../vec4.hpp"
+
53 #include "../mat2x2.hpp"
+
54 #include <type_traits>
55 
-
56 
-
57 
-
59 }//namespace glm
-
60 
-
61 #include "scalar_relational.inl"
-
Definition: _noise.hpp:39
+
56 namespace glm
+
57 {
+
58  template <typename T, typename Vec>
+
59  using return_type_scalar_multiplication = typename std::enable_if<
+
60  !std::is_same<T, float>::value // T may not be a float
+
61  && std::is_arithmetic<T>::value, Vec // But it may be an int or double (no vec3 or mat3, ...)
+
62  >::type;
+
63 
+
64 #define GLM_IMPLEMENT_SCAL_MULT(Vec) \
+
65  template <typename T> \
+
66  return_type_scalar_multiplication<T, Vec> \
+
67  operator*(T const & s, Vec rh){ \
+
68  return rh *= static_cast<float>(s); \
+
69  } \
+
70  \
+
71  template <typename T> \
+
72  return_type_scalar_multiplication<T, Vec> \
+
73  operator*(Vec lh, T const & s){ \
+
74  return lh *= static_cast<float>(s); \
+
75  } \
+
76  \
+
77  template <typename T> \
+
78  return_type_scalar_multiplication<T, Vec> \
+
79  operator/(Vec lh, T const & s){ \
+
80  return lh *= 1.0f / s; \
+
81  }
+
82 
+
83 GLM_IMPLEMENT_SCAL_MULT(vec2)
+
84 GLM_IMPLEMENT_SCAL_MULT(vec3)
+
85 GLM_IMPLEMENT_SCAL_MULT(vec4)
+
86 
+
87 GLM_IMPLEMENT_SCAL_MULT(mat2)
+
88 GLM_IMPLEMENT_SCAL_MULT(mat2x3)
+
89 GLM_IMPLEMENT_SCAL_MULT(mat2x4)
+
90 GLM_IMPLEMENT_SCAL_MULT(mat3x2)
+
91 GLM_IMPLEMENT_SCAL_MULT(mat3)
+
92 GLM_IMPLEMENT_SCAL_MULT(mat3x4)
+
93 GLM_IMPLEMENT_SCAL_MULT(mat4x2)
+
94 GLM_IMPLEMENT_SCAL_MULT(mat4x3)
+
95 GLM_IMPLEMENT_SCAL_MULT(mat4)
+
96 
+
97 #undef GLM_IMPLEMENT_SCAL_MULT
+
98 } // namespace glm
+
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:410
+
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:432
+
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:395
+
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:390
+
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:400
+
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:437
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:390
+
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:420
+
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:415
+
Definition: _noise.hpp:40
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:400
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:395
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
diff --git a/doc/api/a00104.html b/doc/api/a00104.html index e4455b52..6898261e 100644 --- a/doc/api/a00104.html +++ b/doc/api/a00104.html @@ -3,8 +3,8 @@ - -0.9.6: setup.hpp File Reference + +0.9.7: scalar_relational.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
setup.hpp File Reference
+
scalar_relational.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2006-11-13 / 2014-10-05
-
Author
Christophe Riccio
+

GLM_GTX_scalar_relational

+
Date
2013-02-04 / 2013-02-04
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-

Definition in file setup.hpp.

+

Definition in file scalar_relational.hpp.

diff --git a/doc/api/a00104_source.html b/doc/api/a00104_source.html index 8a10886d..335096cc 100644 --- a/doc/api/a00104_source.html +++ b/doc/api/a00104_source.html @@ -3,8 +3,8 @@ - -0.9.6: setup.hpp Source File + +0.9.7: scalar_relational.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
setup.hpp
+
scalar_relational.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include <cassert>
-
36 #include <cstddef>
-
37 
-
39 // Version
-
40 
-
41 #define GLM_VERSION 96
-
42 #define GLM_VERSION_MAJOR 0
-
43 #define GLM_VERSION_MINOR 9
-
44 #define GLM_VERSION_PATCH 6
-
45 #define GLM_VERSION_REVISION 0
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
46 
-
48 // Platform
-
49 
-
50 #define GLM_PLATFORM_UNKNOWN 0x00000000
-
51 #define GLM_PLATFORM_WINDOWS 0x00010000
-
52 #define GLM_PLATFORM_LINUX 0x00020000
-
53 #define GLM_PLATFORM_APPLE 0x00040000
-
54 //#define GLM_PLATFORM_IOS 0x00080000
-
55 #define GLM_PLATFORM_ANDROID 0x00100000
-
56 #define GLM_PLATFORM_CHROME_NACL 0x00200000
-
57 #define GLM_PLATFORM_UNIX 0x00400000
-
58 #define GLM_PLATFORM_QNXNTO 0x00800000
-
59 #define GLM_PLATFORM_WINCE 0x01000000
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_extend extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
56 
+
57 
+
59 }//namespace glm
60 
-
61 #ifdef GLM_FORCE_PLATFORM_UNKNOWN
-
62 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
-
63 #elif defined(__QNXNTO__)
-
64 # define GLM_PLATFORM GLM_PLATFORM_QNXNTO
-
65 #elif defined(__APPLE__)
-
66 # define GLM_PLATFORM GLM_PLATFORM_APPLE
-
67 #elif defined(WINCE)
-
68 # define GLM_PLATFORM GLM_PLATFORM_WINCE
-
69 #elif defined(_WIN32)
-
70 # define GLM_PLATFORM GLM_PLATFORM_WINDOWS
-
71 #elif defined(__native_client__)
-
72 # define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL
-
73 #elif defined(__ANDROID__)
-
74 # define GLM_PLATFORM GLM_PLATFORM_ANDROID
-
75 #elif defined(__linux)
-
76 # define GLM_PLATFORM GLM_PLATFORM_LINUX
-
77 #elif defined(__unix)
-
78 # define GLM_PLATFORM GLM_PLATFORM_UNIX
-
79 #else
-
80 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
-
81 #endif//
-
82 
-
83 // Report platform detection
-
84 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_PLATFORM_DISPLAYED))
-
85 # define GLM_MESSAGE_PLATFORM_DISPLAYED
-
86 # if(GLM_PLATFORM & GLM_PLATFORM_QNXNTO)
-
87 # pragma message("GLM: QNX platform detected")
-
88 //# elif(GLM_PLATFORM & GLM_PLATFORM_IOS)
-
89 //# pragma message("GLM: iOS platform detected")
-
90 # elif(GLM_PLATFORM & GLM_PLATFORM_APPLE)
-
91 # pragma message("GLM: Apple platform detected")
-
92 # elif(GLM_PLATFORM & GLM_PLATFORM_WINCE)
-
93 # pragma message("GLM: WinCE platform detected")
-
94 # elif(GLM_PLATFORM & GLM_PLATFORM_WINDOWS)
-
95 # pragma message("GLM: Windows platform detected")
-
96 # elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL)
-
97 # pragma message("GLM: Native Client detected")
-
98 # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-
99 # pragma message("GLM: Android platform detected")
-
100 # elif(GLM_PLATFORM & GLM_PLATFORM_LINUX)
-
101 # pragma message("GLM: Linux platform detected")
-
102 # elif(GLM_PLATFORM & GLM_PLATFORM_UNIX)
-
103 # pragma message("GLM: UNIX platform detected")
-
104 # elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN)
-
105 # pragma message("GLM: platform unknown")
-
106 # else
-
107 # pragma message("GLM: platform not detected")
-
108 # endif
-
109 #endif//GLM_MESSAGE
-
110 
-
112 // Compiler
-
113 
-
114 // User defines: GLM_FORCE_COMPILER_UNKNOWN
-
115 // TODO ? __llvm__
-
116 
-
117 #define GLM_COMPILER_UNKNOWN 0x00000000
-
118 
-
119 // Intel
-
120 #define GLM_COMPILER_INTEL 0x00100000
-
121 #define GLM_COMPILER_INTEL12 0x00100010
-
122 #define GLM_COMPILER_INTEL12_1 0x00100020
-
123 #define GLM_COMPILER_INTEL13 0x00100030
-
124 #define GLM_COMPILER_INTEL14 0x00100040
-
125 #define GLM_COMPILER_INTEL15 0x00100050
-
126 
-
127 // Visual C++ defines
-
128 #define GLM_COMPILER_VC 0x01000000
-
129 #define GLM_COMPILER_VC2010 0x01000090
-
130 #define GLM_COMPILER_VC2012 0x010000A0
-
131 #define GLM_COMPILER_VC2013 0x010000B0
-
132 #define GLM_COMPILER_VC2015 0x010000C0
-
133 
-
134 // GCC defines
-
135 #define GLM_COMPILER_GCC 0x02000000
-
136 #define GLM_COMPILER_GCC44 0x020000B0
-
137 #define GLM_COMPILER_GCC45 0x020000C0
-
138 #define GLM_COMPILER_GCC46 0x020000D0
-
139 #define GLM_COMPILER_GCC47 0x020000E0
-
140 #define GLM_COMPILER_GCC48 0x020000F0
-
141 #define GLM_COMPILER_GCC49 0x02000100
-
142 #define GLM_COMPILER_GCC50 0x02000200
-
143 
-
144 // CUDA
-
145 #define GLM_COMPILER_CUDA 0x10000000
-
146 #define GLM_COMPILER_CUDA40 0x10000040
-
147 #define GLM_COMPILER_CUDA41 0x10000050
-
148 #define GLM_COMPILER_CUDA42 0x10000060
-
149 #define GLM_COMPILER_CUDA50 0x10000070
-
150 #define GLM_COMPILER_CUDA60 0x10000080
-
151 #define GLM_COMPILER_CUDA65 0x10000090
-
152 
-
153 // LLVM
-
154 #define GLM_COMPILER_LLVM 0x20000000
-
155 #define GLM_COMPILER_LLVM32 0x20000030
-
156 #define GLM_COMPILER_LLVM33 0x20000040
-
157 #define GLM_COMPILER_LLVM34 0x20000050
-
158 #define GLM_COMPILER_LLVM35 0x20000060
-
159 
-
160 // Apple Clang
-
161 #define GLM_COMPILER_APPLE_CLANG 0x40000000
-
162 #define GLM_COMPILER_APPLE_CLANG40 0x40000010
-
163 #define GLM_COMPILER_APPLE_CLANG41 0x40000020
-
164 #define GLM_COMPILER_APPLE_CLANG42 0x40000030
-
165 #define GLM_COMPILER_APPLE_CLANG50 0x40000040
-
166 #define GLM_COMPILER_APPLE_CLANG51 0x40000050
-
167 #define GLM_COMPILER_APPLE_CLANG60 0x40000060
-
168 
-
169 // Build model
-
170 #define GLM_MODEL_32 0x00000010
-
171 #define GLM_MODEL_64 0x00000020
-
172 
-
173 // Force generic C++ compiler
-
174 #ifdef GLM_FORCE_COMPILER_UNKNOWN
-
175 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
-
176 
-
177 #elif defined(__INTEL_COMPILER)
-
178 # if __INTEL_COMPILER == 1200
-
179 # define GLM_COMPILER GLM_COMPILER_INTEL12
-
180 # elif __INTEL_COMPILER == 1210
-
181 # define GLM_COMPILER GLM_COMPILER_INTEL12_1
-
182 # elif __INTEL_COMPILER == 1300
-
183 # define GLM_COMPILER GLM_COMPILER_INTEL13
-
184 # elif __INTEL_COMPILER == 1400
-
185 # define GLM_COMPILER GLM_COMPILER_INTEL14
-
186 # elif __INTEL_COMPILER >= 1500
-
187 # define GLM_COMPILER GLM_COMPILER_INTEL15
-
188 # else
-
189 # define GLM_COMPILER GLM_COMPILER_INTEL
-
190 # endif
-
191 
-
192 // CUDA
-
193 #elif defined(__CUDACC__)
-
194 # if !defined(CUDA_VERSION) && !defined(GLM_FORCE_CUDA)
-
195 # include <cuda.h> // make sure version is defined since nvcc does not define it itself!
-
196 # endif
-
197 # if CUDA_VERSION < 3000
-
198 # error "GLM requires CUDA 3.0 or higher"
-
199 # else
-
200 # define GLM_COMPILER GLM_COMPILER_CUDA
-
201 # endif
-
202 
-
203 // Visual C++
-
204 #elif defined(_MSC_VER)
-
205 # if _MSC_VER < 1600
-
206 # error "GLM requires Visual C++ 2010 or higher"
-
207 # elif _MSC_VER == 1600
-
208 # define GLM_COMPILER GLM_COMPILER_VC2010
-
209 # elif _MSC_VER == 1700
-
210 # define GLM_COMPILER GLM_COMPILER_VC2012
-
211 # elif _MSC_VER == 1800
-
212 # define GLM_COMPILER GLM_COMPILER_VC2013
-
213 # elif _MSC_VER >= 1900
-
214 # define GLM_COMPILER GLM_COMPILER_VC2015
-
215 # else//_MSC_VER
-
216 # define GLM_COMPILER GLM_COMPILER_VC
-
217 # endif//_MSC_VER
-
218 
-
219 // Clang
-
220 #elif defined(__clang__)
-
221 # if GLM_PLATFORM & GLM_PLATFORM_APPLE
-
222 # if __clang_major__ == 4 && __clang_minor__ == 0
-
223 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG40
-
224 # elif __clang_major__ == 4 && __clang_minor__ == 1
-
225 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG41
-
226 # elif __clang_major__ == 4 && __clang_minor__ == 2
-
227 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG42
-
228 # elif __clang_major__ == 5 && __clang_minor__ == 0
-
229 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG50
-
230 # elif __clang_major__ == 5 && __clang_minor__ == 1
-
231 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG51
-
232 # elif __clang_major__ >= 6
-
233 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG60
-
234 # endif
-
235 # else
-
236 # if __clang_major__ == 3 && __clang_minor__ == 0
-
237 # define GLM_COMPILER GLM_COMPILER_LLVM30
-
238 # elif __clang_major__ == 3 && __clang_minor__ == 1
-
239 # define GLM_COMPILER GLM_COMPILER_LLVM31
-
240 # elif __clang_major__ == 3 && __clang_minor__ == 2
-
241 # define GLM_COMPILER GLM_COMPILER_LLVM32
-
242 # elif __clang_major__ == 3 && __clang_minor__ == 3
-
243 # define GLM_COMPILER GLM_COMPILER_LLVM33
-
244 # elif __clang_major__ == 3 && __clang_minor__ == 4
-
245 # define GLM_COMPILER GLM_COMPILER_LLVM34
-
246 # elif __clang_major__ == 3 && __clang_minor__ == 5
-
247 # define GLM_COMPILER GLM_COMPILER_LLVM35
-
248 # else
-
249 # define GLM_COMPILER GLM_COMPILER_LLVM35
-
250 # endif
-
251 # endif
-
252 
-
253 // G++
-
254 #elif defined(__GNUC__) || defined(__MINGW32__)
-
255 # if (__GNUC__ == 4) && (__GNUC_MINOR__ == 2)
-
256 # define GLM_COMPILER (GLM_COMPILER_GCC42)
-
257 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
-
258 # define GLM_COMPILER (GLM_COMPILER_GCC43)
-
259 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 4)
-
260 # define GLM_COMPILER (GLM_COMPILER_GCC44)
-
261 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 5)
-
262 # define GLM_COMPILER (GLM_COMPILER_GCC45)
-
263 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 6)
-
264 # define GLM_COMPILER (GLM_COMPILER_GCC46)
-
265 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 7)
-
266 # define GLM_COMPILER (GLM_COMPILER_GCC47)
-
267 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
-
268 # define GLM_COMPILER (GLM_COMPILER_GCC48)
-
269 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)
-
270 # define GLM_COMPILER (GLM_COMPILER_GCC49)
-
271 # elif (__GNUC__ > 4 )
-
272 # define GLM_COMPILER (GLM_COMPILER_GCC50)
-
273 # else
-
274 # define GLM_COMPILER (GLM_COMPILER_GCC)
-
275 # endif
-
276 
-
277 #else
-
278 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
-
279 #endif
-
280 
-
281 #ifndef GLM_COMPILER
-
282 #error "GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message."
-
283 #endif//GLM_COMPILER
-
284 
-
285 // Report compiler detection
-
286 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED)
-
287 # define GLM_MESSAGE_COMPILER_DISPLAYED
-
288 # if GLM_COMPILER & GLM_COMPILER_CUDA
-
289 # pragma message("GLM: CUDA compiler detected")
-
290 # elif GLM_COMPILER & GLM_COMPILER_VC
-
291 # pragma message("GLM: Visual C++ compiler detected")
-
292 # elif GLM_COMPILER & GLM_COMPILER_APPLE_CLANG
-
293 # pragma message("GLM: Clang compiler detected")
-
294 # elif GLM_COMPILER & GLM_COMPILER_LLVM
-
295 # pragma message("GLM: LLVM compiler detected")
-
296 # elif GLM_COMPILER & GLM_COMPILER_INTEL
-
297 # pragma message("GLM: Intel Compiler detected")
-
298 # elif GLM_COMPILER & GLM_COMPILER_GCC
-
299 # pragma message("GLM: GCC compiler detected")
-
300 # else
-
301 # pragma message("GLM: Compiler not detected")
-
302 # endif
-
303 #endif//GLM_MESSAGE
-
304 
-
306 // Build model
-
307 
-
308 #if defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__)
-
309 # define GLM_MODEL GLM_MODEL_64
-
310 #elif defined(__i386__) || defined(__ppc__)
-
311 # define GLM_MODEL GLM_MODEL_32
-
312 #else
-
313 # define GLM_MODEL GLM_MODEL_32
-
314 #endif//
-
315 
-
316 #if !defined(GLM_MODEL) && GLM_COMPILER != 0
-
317 # error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message."
-
318 #endif//GLM_MODEL
-
319 
-
320 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_MODEL_DISPLAYED)
-
321 # define GLM_MESSAGE_MODEL_DISPLAYED
-
322 # if(GLM_MODEL == GLM_MODEL_64)
-
323 # pragma message("GLM: 64 bits model")
-
324 # elif(GLM_MODEL == GLM_MODEL_32)
-
325 # pragma message("GLM: 32 bits model")
-
326 # endif//GLM_MODEL
-
327 #endif//GLM_MESSAGE
-
328 
-
330 // C++ Version
-
331 
-
332 // User defines: GLM_FORCE_CXX98
-
333 
-
334 #define GLM_LANG_CXX98_FLAG (1 << 1)
-
335 #define GLM_LANG_CXX03_FLAG (1 << 2)
-
336 #define GLM_LANG_CXX0X_FLAG (1 << 3)
-
337 #define GLM_LANG_CXX11_FLAG (1 << 4)
-
338 #define GLM_LANG_CXX1Y_FLAG (1 << 5)
-
339 #define GLM_LANG_CXXMS_FLAG (1 << 6)
-
340 #define GLM_LANG_CXXGNU_FLAG (1 << 7)
-
341 
-
342 #define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG
-
343 #define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG)
-
344 #define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG)
-
345 #define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG)
-
346 #define GLM_LANG_CXX1Y (GLM_LANG_CXX11 | GLM_LANG_CXX1Y_FLAG)
-
347 #define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG
-
348 #define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG
-
349 
-
350 #if defined(GLM_FORCE_CXX1Y)
-
351 # define GLM_LANG GLM_LANG_CXX1Y
-
352 #elif defined(GLM_FORCE_CXX11)
-
353 # define GLM_LANG GLM_LANG_CXX11
-
354 #elif defined(GLM_FORCE_CXX03)
-
355 # define GLM_LANG GLM_LANG_CXX03
-
356 #elif defined(GLM_FORCE_CXX98)
-
357 # define GLM_LANG GLM_LANG_CXX98
-
358 #else
-
359 # if __cplusplus >= 201103L
-
360 # define GLM_LANG GLM_LANG_CXX11
-
361 # elif GLM_COMPILER & GLM_COMPILER_CLANG
-
362 # if(GLM_PLATFORM == GLM_PLATFORM_APPLE)
-
363 # define GLM_DETAIL_MAJOR 1
-
364 # else
-
365 # define GLM_DETAIL_MAJOR 0
-
366 # endif
-
367 # if __clang_major__ < (2 + GLM_DETAIL_MAJOR)
-
368 # define GLM_LANG GLM_LANG_CXX
-
369 # elif __has_feature(cxx_auto_type)
-
370 # define GLM_LANG GLM_LANG_CXX0X
-
371 # else
-
372 # define GLM_LANG GLM_LANG_CXX98
-
373 # endif
-
374 # elif GLM_COMPILER & GLM_COMPILER_GCC
-
375 # ifdef __GXX_EXPERIMENTAL_CXX0X__
-
376 # define GLM_LANG GLM_LANG_CXX0X
-
377 # else
-
378 # define GLM_LANG GLM_LANG_CXX98
-
379 # endif
-
380 # elif GLM_COMPILER & GLM_COMPILER_VC
-
381 # ifdef _MSC_EXTENSIONS
-
382 # if GLM_COMPILER >= GLM_COMPILER_VC2010
-
383 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
-
384 # else
-
385 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
-
386 # endif
-
387 # else
-
388 # if GLM_COMPILER >= GLM_COMPILER_VC2010
-
389 # define GLM_LANG GLM_LANG_CXX0X
-
390 # else
-
391 # define GLM_LANG GLM_LANG_CXX98
-
392 # endif
-
393 # endif
-
394 # elif GLM_COMPILER & GLM_COMPILER_INTEL
-
395 # ifdef _MSC_EXTENSIONS
-
396 # if GLM_COMPILER >= GLM_COMPILER_INTEL13
-
397 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
-
398 # else
-
399 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
-
400 # endif
-
401 # else
-
402 # if GLM_COMPILER >= GLM_COMPILER_INTEL13
-
403 # define GLM_LANG (GLM_LANG_CXX0X)
-
404 # else
-
405 # define GLM_LANG (GLM_LANG_CXX98)
-
406 # endif
-
407 # endif
-
408 # else
-
409 # if __cplusplus >= 199711L
-
410 # define GLM_LANG GLM_LANG_CXX98
-
411 # endif
-
412 # ifndef GLM_FORCE_CXX98
-
413 # define GLM_FORCE_CXX98
-
414 # endif
-
415 # ifndef GLM_FORCE_PURE
-
416 # define GLM_FORCE_PURE
-
417 # endif
-
418 # endif
-
419 #endif
-
420 
-
421 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED)
-
422 # define GLM_MESSAGE_LANG_DISPLAYED
-
423 # if(GLM_LANG & GLM_LANG_CXXGNU_FLAG)
-
424 # pragma message("GLM: C++ with language extensions")
-
425 # elif(GLM_LANG & GLM_LANG_CXXMS_FLAG)
-
426 # pragma message("GLM: C++ with language extensions")
-
427 # elif(GLM_LANG & GLM_LANG_CXX11_FLAG)
-
428 # pragma message("GLM: C++11")
-
429 # elif(GLM_LANG & GLM_LANG_CXX0X_FLAG)
-
430 # pragma message("GLM: C++0x")
-
431 # elif(GLM_LANG & GLM_LANG_CXX03_FLAG)
-
432 # pragma message("GLM: C++03")
-
433 # elif(GLM_LANG & GLM_LANG_CXX98_FLAG)
-
434 # pragma message("GLM: C++98")
-
435 # else
-
436 # pragma message("GLM: C++ language undetected")
-
437 # endif//GLM_MODEL
-
438 # pragma message("GLM: #define GLM_FORCE_CXX98, GLM_FORCE_CXX03, GLM_LANG_CXX11 or GLM_FORCE_CXX1Y to force using a specific version of the C++ language")
-
439 #endif//GLM_MESSAGE
-
440 
-
442 // Has of C++ features
-
443 
-
444 #ifndef __has_feature
-
445 # define __has_feature(x) 0 // Compatibility with non-clang compilers.
-
446 #endif
-
447 #ifndef __has_extension
-
448 # define __has_extension __has_feature // Compatibility with pre-3.0 compilers.
-
449 #endif
-
450 
-
451 // http://clang.llvm.org/cxx_status.html
-
452 // http://gcc.gnu.org/projects/cxx0x.html
-
453 // http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
-
454 
-
455 // N1720
-
456 #define GLM_HAS_CXX11_STL ( \
-
457  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
458  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2015)))
-
459 
-
460 // N1720
-
461 #define GLM_HAS_STATIC_ASSERT ( \
-
462  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
463  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2010)) || \
-
464  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
-
465  __has_feature(cxx_static_assert))
-
466 
-
467 // N1988
-
468 #define GLM_HAS_EXTENDED_INTEGER_TYPE ( \
-
469  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
470  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012)) || \
-
471  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
-
472  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_LLVM) && (GLM_COMPILER >= GLM_COMPILER_LLVM30)) || \
-
473  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_APPLE_CLANG) && (GLM_COMPILER >= GLM_COMPILER_APPLE_CLANG40)))
-
474 
-
475 // N2235
-
476 #define GLM_HAS_CONSTEXPR ( \
-
477  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
478  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
-
479  __has_feature(cxx_constexpr))
-
480 
-
481 // N2672
-
482 #define GLM_HAS_INITIALIZER_LISTS ( \
-
483  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
484  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) || \
-
485  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
-
486  __has_feature(cxx_generalized_initializers))
-
487 
-
488 // N2544 Unrestricted unions
-
489 #define GLM_HAS_UNRESTRICTED_UNIONS ( \
-
490  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
491  (GLM_LANG & GLM_LANG_CXXMS_FLAG) || \
-
492  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
-
493  __has_feature(cxx_unrestricted_unions))
-
494 
-
495 // N2346
-
496 #define GLM_HAS_DEFAULTED_FUNCTIONS ( \
-
497  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
498  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) || \
-
499  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
-
500  __has_feature(cxx_defaulted_functions))
-
501 
-
502 // N2118
-
503 #define GLM_HAS_RVALUE_REFERENCES ( \
-
504  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
505  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012))) || \
-
506  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
-
507  __has_feature(cxx_rvalue_references))
-
508 
-
509 #define GLM_HAS_STL_ARRAY ( \
-
510  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
511  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2010))) || \
-
512  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)))
-
513 
-
514 #define GLM_HAS_TEMPLATE_ALIASES ( \
-
515  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) || \
-
516  __has_feature(cxx_alias_templates))
-
517 
-
518 #define GLM_HAS_RANGE_FOR ( \
-
519  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
520  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012))) || \
-
521  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
-
522  __has_feature(cxx_range_for))
-
523 
-
524 #define GLM_HAS_ASSIGNABLE ( \
-
525  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
526  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC49)))
-
527 
-
528 #define GLM_HAS_TRIVIAL_QUERIES ( \
-
529  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)))
-
530 
-
531 #define GLM_HAS_MAKE_SIGNED ( \
-
532  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
533  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)))
-
534 
-
535 #define GLM_HAS_BITSCAN_WINDOWS ( \
-
536  (GLM_ARCH != GLM_ARCH_PURE) && \
-
537  (GLM_PLATFORM & GLM_PLATFORM_WINDOWS) && \
-
538  (GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_LLVM | GLM_COMPILER_INTEL)))
-
539 
-
540 // OpenMP
-
541 #ifdef _OPENMP
-
542 # if GLM_COMPILER & GLM_COMPILER_GCC
-
543 # if GLM_COMPILER >= GLM_COMPILER_GCC47
-
544 # define GLM_HAS_OPENMP 31
-
545 # elif GLM_COMPILER >= GLM_COMPILER_GCC44
-
546 # define GLM_HAS_OPENMP 30
-
547 # elif GLM_COMPILER >= GLM_COMPILER_GCC42
-
548 # define GLM_HAS_OPENMP 25
-
549 # endif
-
550 # endif// GLM_COMPILER & GLM_COMPILER_GCC
-
551 
-
552 # if GLM_COMPILER & GLM_COMPILER_VC
-
553 # if GLM_COMPILER >= GLM_COMPILER_VC2010
-
554 # define GLM_HAS_OPENMP 20
-
555 # endif
-
556 # endif// GLM_COMPILER & GLM_COMPILER_VC
-
557 #endif
-
558 
-
559 // Not standard
-
560 #define GLM_HAS_ANONYMOUS_UNION (GLM_LANG & GLM_LANG_CXXMS_FLAG)
-
561 
-
563 // Platform
-
564 
-
565 // User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_SSE3 GLM_FORCE_AVX GLM_FORCE_AVX2
-
566 
-
567 #define GLM_ARCH_PURE 0x0000
-
568 #define GLM_ARCH_X86 0x0001
-
569 #define GLM_ARCH_SSE2 0x0002
-
570 #define GLM_ARCH_SSE3 0x0004
-
571 #define GLM_ARCH_SSE4 0x0008
-
572 #define GLM_ARCH_AVX 0x0010
-
573 #define GLM_ARCH_AVX2 0x0020
-
574 
-
575 #if defined(GLM_FORCE_PURE)
-
576 # define GLM_ARCH GLM_ARCH_PURE
-
577 #elif defined(GLM_FORCE_AVX2)
-
578 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
579 #elif defined(GLM_FORCE_AVX)
-
580 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
581 #elif defined(GLM_FORCE_SSE4)
-
582 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
583 #elif defined(GLM_FORCE_SSE3)
-
584 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
585 #elif defined(GLM_FORCE_SSE2)
-
586 # define GLM_ARCH (GLM_ARCH_SSE2)
-
587 #elif (GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_GCC)) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_LINUX))
-
588 # if(__AVX2__)
-
589 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
590 # elif(__AVX__)
-
591 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
592 # elif(__SSE3__)
-
593 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
594 # elif(__SSE2__)
-
595 # define GLM_ARCH (GLM_ARCH_SSE2)
-
596 # else
-
597 # define GLM_ARCH GLM_ARCH_PURE
-
598 # endif
-
599 #elif (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))
-
600 # if defined(__AVX2__)
-
601 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
602 # elif defined(__AVX__)
-
603 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
604 # elif _M_IX86_FP == 2
-
605 # define GLM_ARCH (GLM_ARCH_SSE2)
-
606 # else
-
607 # define GLM_ARCH (GLM_ARCH_PURE)
-
608 # endif
-
609 #elif (GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))
-
610 # if defined(__AVX2__)
-
611 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
612 # elif defined(__AVX__)
-
613 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
614 # elif defined(__SSE4_1__ )
-
615 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
616 # elif defined(__SSE3__)
-
617 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
618 # elif defined(__SSE2__)
-
619 # define GLM_ARCH (GLM_ARCH_SSE2)
-
620 # else
-
621 # define GLM_ARCH (GLM_ARCH_PURE)
-
622 # endif
-
623 #else
-
624 # define GLM_ARCH GLM_ARCH_PURE
-
625 #endif
-
626 
-
627 // With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is
-
628 // that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems.
-
629 // To fix, we just explicitly include intrin.h here.
-
630 #if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE)
-
631 # include <intrin.h>
-
632 #endif
-
633 
-
634 #if GLM_ARCH & GLM_ARCH_AVX2
-
635 # include <immintrin.h>
-
636 #endif//GLM_ARCH
-
637 #if GLM_ARCH & GLM_ARCH_AVX
-
638 # include <immintrin.h>
-
639 #endif//GLM_ARCH
-
640 #if GLM_ARCH & GLM_ARCH_SSE4
-
641 # include <smmintrin.h>
-
642 #endif//GLM_ARCH
-
643 #if GLM_ARCH & GLM_ARCH_SSE3
-
644 # include <pmmintrin.h>
-
645 #endif//GLM_ARCH
-
646 #if GLM_ARCH & GLM_ARCH_SSE2
-
647 # include <emmintrin.h>
-
648 # if(GLM_COMPILER == GLM_COMPILER_VC2005) // VC2005 is missing some intrinsics, workaround
-
649  inline float _mm_cvtss_f32(__m128 A) { return A.m128_f32[0]; }
-
650  inline __m128 _mm_castpd_ps(__m128d PD) { union { __m128 ps; __m128d pd; } c; c.pd = PD; return c.ps; }
-
651  inline __m128d _mm_castps_pd(__m128 PS) { union { __m128 ps; __m128d pd; } c; c.ps = PS; return c.pd; }
-
652  inline __m128i _mm_castps_si128(__m128 PS) { union { __m128 ps; __m128i pi; } c; c.ps = PS; return c.pi; }
-
653  inline __m128 _mm_castsi128_ps(__m128i PI) { union { __m128 ps; __m128i pi; } c; c.pi = PI; return c.ps; }
-
654 # endif
-
655 #endif//GLM_ARCH
-
656 
-
657 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED)
-
658 # define GLM_MESSAGE_ARCH_DISPLAYED
-
659 # if(GLM_ARCH == GLM_ARCH_PURE)
-
660 # pragma message("GLM: Platform independent code")
-
661 # elif(GLM_ARCH & GLM_ARCH_AVX2)
-
662 # pragma message("GLM: AVX2 instruction set")
-
663 # elif(GLM_ARCH & GLM_ARCH_AVX)
-
664 # pragma message("GLM: AVX instruction set")
-
665 # elif(GLM_ARCH & GLM_ARCH_SSE3)
-
666 # pragma message("GLM: SSE3 instruction set")
-
667 # elif(GLM_ARCH & GLM_ARCH_SSE2)
-
668 # pragma message("GLM: SSE2 instruction set")
-
669 # endif//GLM_ARCH
-
670 # pragma message("GLM: #define GLM_FORCE_PURE to avoid using platform specific instruction sets")
-
671 #endif//GLM_MESSAGE
-
672 
-
674 // Static assert
-
675 
-
676 #if GLM_HAS_STATIC_ASSERT
-
677 # define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
-
678 #elif defined(BOOST_STATIC_ASSERT)
-
679 # define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)
-
680 #elif GLM_COMPILER & GLM_COMPILER_VC
-
681 # define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
-
682 #else
-
683 # define GLM_STATIC_ASSERT(x, message)
-
684 # define GLM_STATIC_ASSERT_NULL
-
685 #endif//GLM_LANG
-
686 
-
688 // Qualifiers
-
689 
-
690 #if GLM_COMPILER & GLM_COMPILER_CUDA
-
691 # define GLM_CUDA_FUNC_DEF __device__ __host__
-
692 # define GLM_CUDA_FUNC_DECL __device__ __host__
-
693 #else
-
694 # define GLM_CUDA_FUNC_DEF
-
695 # define GLM_CUDA_FUNC_DECL
-
696 #endif
-
697 
-
698 #if GLM_COMPILER & GLM_COMPILER_GCC
-
699 # define GLM_VAR_USED __attribute__ ((unused))
-
700 #else
-
701 # define GLM_VAR_USED
-
702 #endif
-
703 
-
704 #if defined(GLM_FORCE_INLINE)
-
705 # if GLM_COMPILER & GLM_COMPILER_VC
-
706 # define GLM_INLINE __forceinline
-
707 # define GLM_NEVER_INLINE __declspec((noinline))
-
708 # elif GLM_COMPILER & GLM_COMPILER_GCC
-
709 # define GLM_INLINE inline __attribute__((__always_inline__))
-
710 # define GLM_NEVER_INLINE __attribute__((__noinline__))
-
711 # elif GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM)
-
712 # define GLM_INLINE __attribute__((__always_inline__))
-
713 # define GLM_NEVER_INLINE __attribute__((__noinline__))
-
714 # else
-
715 # define GLM_INLINE inline
-
716 # define GLM_NEVER_INLINE
-
717 # endif//GLM_COMPILER
-
718 #else
-
719 # define GLM_INLINE inline
-
720 # define GLM_NEVER_INLINE
-
721 #endif//defined(GLM_FORCE_INLINE)
-
722 
-
723 #define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL
-
724 #define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE
-
725 
-
727 // Swizzle operators
-
728 
-
729 // User defines: GLM_SWIZZLE
-
730 
-
731 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED)
-
732 # define GLM_MESSAGE_SWIZZLE_DISPLAYED
-
733 # if defined(GLM_SWIZZLE)
-
734 # pragma message("GLM: Swizzling operators enabled")
-
735 # else
-
736 # pragma message("GLM: Swizzling operators disabled, #define GLM_SWIZZLE to enable swizzle operators")
-
737 # endif
-
738 #endif//GLM_MESSAGE
-
739 
-
741 // Qualifiers
-
742 
-
743 #if (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))
-
744 # define GLM_DEPRECATED __declspec(deprecated)
-
745 # define GLM_ALIGN(x) __declspec(align(x))
-
746 # define GLM_ALIGNED_STRUCT(x) struct __declspec(align(x))
-
747 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name
-
748 # define GLM_RESTRICT __declspec(restrict)
-
749 # define GLM_RESTRICT_VAR __restrict
-
750 #elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_CUDA | GLM_COMPILER_INTEL)
-
751 # define GLM_DEPRECATED __attribute__((__deprecated__))
-
752 # define GLM_ALIGN(x) __attribute__((aligned(x)))
-
753 # define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
-
754 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment)))
-
755 # define GLM_RESTRICT __restrict__
-
756 # define GLM_RESTRICT_VAR __restrict__
-
757 #else
-
758 # define GLM_DEPRECATED
-
759 # define GLM_ALIGN
-
760 # define GLM_ALIGNED_STRUCT(x) struct
-
761 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name
-
762 # define GLM_RESTRICT
-
763 # define GLM_RESTRICT_VAR
-
764 #endif//GLM_COMPILER
-
765 
-
766 #if GLM_HAS_CONSTEXPR
-
767 # define GLM_CONSTEXPR constexpr
-
768 #else
-
769 # define GLM_CONSTEXPR
-
770 #endif
-
771 
-
773 // Length type
-
774 
-
775 // User defines: GLM_FORCE_SIZE_T_LENGTH GLM_FORCE_SIZE_FUNC
-
776 
-
777 namespace glm
-
778 {
-
779  using std::size_t;
-
780 #if defined(GLM_FORCE_SIZE_T_LENGTH) || defined(GLM_FORCE_SIZE_FUNC)
-
781  typedef size_t length_t;
-
782 #else
-
783  typedef int length_t;
-
784 #endif
-
785 
-
786 namespace detail
-
787 {
-
788 # ifdef GLM_FORCE_SIZE_FUNC
-
789  typedef size_t component_count_t;
-
790 # else
-
791  typedef length_t component_count_t;
-
792 # endif
-
793 
-
794  template <typename genType>
-
795  GLM_FUNC_QUALIFIER GLM_CONSTEXPR component_count_t component_count(genType const & m)
-
796  {
-
797 # ifdef GLM_FORCE_SIZE_FUNC
-
798  return m.size();
-
799 # else
-
800  return m.length();
-
801 # endif
-
802  }
-
803 }//namespace detail
-
804 }//namespace glm
-
805 
-
806 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH)
-
807 # define GLM_MESSAGE_FORCE_SIZE_T_LENGTH
-
808 # if defined(GLM_FORCE_SIZE_T_LENGTH)
-
809 # pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t")
-
810 # else
-
811 # pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification")
-
812 # pragma message("GLM: #define GLM_FORCE_SIZE_T_LENGTH for .length() to return a size_t")
-
813 # endif
-
814 #endif//GLM_MESSAGE
-
815 
-
817 // Uninitialize constructors
-
818 
-
819 namespace glm
-
820 {
-
821  enum ctor{uninitialize};
-
822 }//namespace glm
-
GLM_FUNC_DECL genType pi()
Return the pi constant.
-
Definition: _noise.hpp:39
+
61 #include "scalar_relational.inl"
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00105.html b/doc/api/a00105.html index 6431530e..4de0bde6 100644 --- a/doc/api/a00105.html +++ b/doc/api/a00105.html @@ -3,8 +3,8 @@ - -0.9.6: simd_mat4.hpp File Reference + +0.9.7: setup.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
simd_mat4.hpp File Reference
+
setup.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_simd_mat4

-
Date
2009-05-07 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM Core

+
Date
2006-11-13 / 2014-10-05
+
Author
Christophe Riccio
-

Definition in file simd_mat4.hpp.

+

Definition in file setup.hpp.

diff --git a/doc/api/a00105_source.html b/doc/api/a00105_source.html index 8eb762f4..b76b1c91 100644 --- a/doc/api/a00105_source.html +++ b/doc/api/a00105_source.html @@ -3,8 +3,8 @@ - -0.9.6: simd_mat4.hpp Source File + +0.9.7: setup.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
simd_mat4.hpp
+
setup.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependencies
-
45 #include "../detail/setup.hpp"
+
33 #pragma once
+
34 
+
35 #include <cassert>
+
36 #include <cstddef>
+
37 
+
39 // Version
+
40 
+
41 #define GLM_VERSION 97
+
42 #define GLM_VERSION_MAJOR 0
+
43 #define GLM_VERSION_MINOR 9
+
44 #define GLM_VERSION_PATCH 7
+
45 #define GLM_VERSION_REVISION 0
46 
-
47 #if(GLM_ARCH != GLM_ARCH_PURE)
-
48 
-
49 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
50 # include "../detail/intrinsic_matrix.hpp"
-
51 # include "../gtx/simd_vec4.hpp"
-
52 #else
-
53 # error "GLM: GLM_GTX_simd_mat4 requires compiler support of SSE2 through intrinsics"
-
54 #endif
-
55 
-
56 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
57 # pragma message("GLM: GLM_GTX_simd_mat4 extension included")
-
58 #endif
-
59 
-
60 namespace glm{
-
61 namespace detail
-
62 {
-
65  GLM_ALIGNED_STRUCT(16) fmat4x4SIMD
-
66  {
-
67  typedef float value_type;
-
68  typedef fvec4SIMD col_type;
-
69  typedef fvec4SIMD row_type;
-
70  typedef std::size_t size_type;
-
71  typedef fmat4x4SIMD type;
-
72  typedef fmat4x4SIMD transpose_type;
-
73 
-
74  GLM_FUNC_DECL length_t length() const;
-
75 
-
76  fvec4SIMD Data[4];
-
77 
-
79  // Constructors
-
80 
-
81  fmat4x4SIMD();
-
82  explicit fmat4x4SIMD(float const & s);
-
83  explicit fmat4x4SIMD(
-
84  float const & x0, float const & y0, float const & z0, float const & w0,
-
85  float const & x1, float const & y1, float const & z1, float const & w1,
-
86  float const & x2, float const & y2, float const & z2, float const & w2,
-
87  float const & x3, float const & y3, float const & z3, float const & w3);
-
88  explicit fmat4x4SIMD(
-
89  fvec4SIMD const & v0,
-
90  fvec4SIMD const & v1,
-
91  fvec4SIMD const & v2,
-
92  fvec4SIMD const & v3);
-
93  explicit fmat4x4SIMD(
-
94  mat4x4 const & m);
-
95  explicit fmat4x4SIMD(
-
96  __m128 const in[4]);
-
97 
-
98  // Conversions
-
99  //template <typename U>
-
100  //explicit tmat4x4(tmat4x4<U> const & m);
-
101 
-
102  //explicit tmat4x4(tmat2x2<T> const & x);
-
103  //explicit tmat4x4(tmat3x3<T> const & x);
-
104  //explicit tmat4x4(tmat2x3<T> const & x);
-
105  //explicit tmat4x4(tmat3x2<T> const & x);
-
106  //explicit tmat4x4(tmat2x4<T> const & x);
-
107  //explicit tmat4x4(tmat4x2<T> const & x);
-
108  //explicit tmat4x4(tmat3x4<T> const & x);
-
109  //explicit tmat4x4(tmat4x3<T> const & x);
-
110 
-
111  // Accesses
-
112  fvec4SIMD & operator[](length_t i);
-
113  fvec4SIMD const & operator[](length_t i) const;
-
114 
-
115  // Unary updatable operators
-
116  fmat4x4SIMD & operator= (fmat4x4SIMD const & m);
-
117  fmat4x4SIMD & operator+= (float const & s);
-
118  fmat4x4SIMD & operator+= (fmat4x4SIMD const & m);
-
119  fmat4x4SIMD & operator-= (float const & s);
-
120  fmat4x4SIMD & operator-= (fmat4x4SIMD const & m);
-
121  fmat4x4SIMD & operator*= (float const & s);
-
122  fmat4x4SIMD & operator*= (fmat4x4SIMD const & m);
-
123  fmat4x4SIMD & operator/= (float const & s);
-
124  fmat4x4SIMD & operator/= (fmat4x4SIMD const & m);
-
125  fmat4x4SIMD & operator++ ();
-
126  fmat4x4SIMD & operator-- ();
-
127  };
-
128 
-
129  // Binary operators
-
130  fmat4x4SIMD operator+ (fmat4x4SIMD const & m, float const & s);
-
131  fmat4x4SIMD operator+ (float const & s, fmat4x4SIMD const & m);
-
132  fmat4x4SIMD operator+ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
133 
-
134  fmat4x4SIMD operator- (fmat4x4SIMD const & m, float const & s);
-
135  fmat4x4SIMD operator- (float const & s, fmat4x4SIMD const & m);
-
136  fmat4x4SIMD operator- (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
137 
-
138  fmat4x4SIMD operator* (fmat4x4SIMD const & m, float const & s);
-
139  fmat4x4SIMD operator* (float const & s, fmat4x4SIMD const & m);
-
140 
-
141  fvec4SIMD operator* (fmat4x4SIMD const & m, fvec4SIMD const & v);
-
142  fvec4SIMD operator* (fvec4SIMD const & v, fmat4x4SIMD const & m);
-
143 
-
144  fmat4x4SIMD operator* (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
145 
-
146  fmat4x4SIMD operator/ (fmat4x4SIMD const & m, float const & s);
-
147  fmat4x4SIMD operator/ (float const & s, fmat4x4SIMD const & m);
-
148 
-
149  fvec4SIMD operator/ (fmat4x4SIMD const & m, fvec4SIMD const & v);
-
150  fvec4SIMD operator/ (fvec4SIMD const & v, fmat4x4SIMD const & m);
-
151 
-
152  fmat4x4SIMD operator/ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
153 
-
154  // Unary constant operators
-
155  fmat4x4SIMD const operator- (fmat4x4SIMD const & m);
-
156  fmat4x4SIMD const operator-- (fmat4x4SIMD const & m, int);
-
157  fmat4x4SIMD const operator++ (fmat4x4SIMD const & m, int);
-
158 }//namespace detail
-
159 
-
160  typedef detail::fmat4x4SIMD simdMat4;
-
161 
-
164 
-
167  mat4 mat4_cast(
-
168  detail::fmat4x4SIMD const & x);
-
169 
-
173  detail::fmat4x4SIMD matrixCompMult(
-
174  detail::fmat4x4SIMD const & x,
-
175  detail::fmat4x4SIMD const & y);
-
176 
-
181  detail::fmat4x4SIMD outerProduct(
-
182  detail::fvec4SIMD const & c,
-
183  detail::fvec4SIMD const & r);
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_VERSION_DISPLAYED))
+
48 # define GLM_MESSAGE_VERSION_DISPLAYED
+
49 # pragma message ("GLM: version 0.9.7")
+
50 #endif//GLM_MESSAGE
+
51 
+
53 // Platform
+
54 
+
55 #define GLM_PLATFORM_UNKNOWN 0x00000000
+
56 #define GLM_PLATFORM_WINDOWS 0x00010000
+
57 #define GLM_PLATFORM_LINUX 0x00020000
+
58 #define GLM_PLATFORM_APPLE 0x00040000
+
59 //#define GLM_PLATFORM_IOS 0x00080000
+
60 #define GLM_PLATFORM_ANDROID 0x00100000
+
61 #define GLM_PLATFORM_CHROME_NACL 0x00200000
+
62 #define GLM_PLATFORM_UNIX 0x00400000
+
63 #define GLM_PLATFORM_QNXNTO 0x00800000
+
64 #define GLM_PLATFORM_WINCE 0x01000000
+
65 
+
66 #ifdef GLM_FORCE_PLATFORM_UNKNOWN
+
67 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
+
68 #elif defined(__QNXNTO__)
+
69 # define GLM_PLATFORM GLM_PLATFORM_QNXNTO
+
70 #elif defined(__APPLE__)
+
71 # define GLM_PLATFORM GLM_PLATFORM_APPLE
+
72 #elif defined(WINCE)
+
73 # define GLM_PLATFORM GLM_PLATFORM_WINCE
+
74 #elif defined(_WIN32)
+
75 # define GLM_PLATFORM GLM_PLATFORM_WINDOWS
+
76 #elif defined(__native_client__)
+
77 # define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL
+
78 #elif defined(__ANDROID__)
+
79 # define GLM_PLATFORM GLM_PLATFORM_ANDROID
+
80 #elif defined(__linux)
+
81 # define GLM_PLATFORM GLM_PLATFORM_LINUX
+
82 #elif defined(__unix)
+
83 # define GLM_PLATFORM GLM_PLATFORM_UNIX
+
84 #else
+
85 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
+
86 #endif//
+
87 
+
88 // Report platform detection
+
89 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_PLATFORM_DISPLAYED))
+
90 # define GLM_MESSAGE_PLATFORM_DISPLAYED
+
91 # if(GLM_PLATFORM & GLM_PLATFORM_QNXNTO)
+
92 # pragma message("GLM: QNX platform detected")
+
93 //# elif(GLM_PLATFORM & GLM_PLATFORM_IOS)
+
94 //# pragma message("GLM: iOS platform detected")
+
95 # elif(GLM_PLATFORM & GLM_PLATFORM_APPLE)
+
96 # pragma message("GLM: Apple platform detected")
+
97 # elif(GLM_PLATFORM & GLM_PLATFORM_WINCE)
+
98 # pragma message("GLM: WinCE platform detected")
+
99 # elif(GLM_PLATFORM & GLM_PLATFORM_WINDOWS)
+
100 # pragma message("GLM: Windows platform detected")
+
101 # elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL)
+
102 # pragma message("GLM: Native Client detected")
+
103 # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+
104 # pragma message("GLM: Android platform detected")
+
105 # elif(GLM_PLATFORM & GLM_PLATFORM_LINUX)
+
106 # pragma message("GLM: Linux platform detected")
+
107 # elif(GLM_PLATFORM & GLM_PLATFORM_UNIX)
+
108 # pragma message("GLM: UNIX platform detected")
+
109 # elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN)
+
110 # pragma message("GLM: platform unknown")
+
111 # else
+
112 # pragma message("GLM: platform not detected")
+
113 # endif
+
114 #endif//GLM_MESSAGE
+
115 
+
117 // Compiler
+
118 
+
119 // User defines: GLM_FORCE_COMPILER_UNKNOWN
+
120 // TODO ? __llvm__
+
121 
+
122 #define GLM_COMPILER_UNKNOWN 0x00000000
+
123 
+
124 // Intel
+
125 #define GLM_COMPILER_INTEL 0x00100000
+
126 #define GLM_COMPILER_INTEL12 0x00100010
+
127 #define GLM_COMPILER_INTEL12_1 0x00100020
+
128 #define GLM_COMPILER_INTEL13 0x00100030
+
129 #define GLM_COMPILER_INTEL14 0x00100040
+
130 #define GLM_COMPILER_INTEL15 0x00100050
+
131 #define GLM_COMPILER_INTEL16 0x00100060
+
132 
+
133 // Visual C++ defines
+
134 #define GLM_COMPILER_VC 0x01000000
+
135 #define GLM_COMPILER_VC2010 0x01000090
+
136 #define GLM_COMPILER_VC2012 0x010000A0
+
137 #define GLM_COMPILER_VC2013 0x010000B0
+
138 #define GLM_COMPILER_VC2015 0x010000C0
+
139 
+
140 // GCC defines
+
141 #define GLM_COMPILER_GCC 0x02000000
+
142 #define GLM_COMPILER_GCC44 0x020000B0
+
143 #define GLM_COMPILER_GCC45 0x020000C0
+
144 #define GLM_COMPILER_GCC46 0x020000D0
+
145 #define GLM_COMPILER_GCC47 0x020000E0
+
146 #define GLM_COMPILER_GCC48 0x020000F0
+
147 #define GLM_COMPILER_GCC49 0x02000100
+
148 #define GLM_COMPILER_GCC50 0x02000200
+
149 #define GLM_COMPILER_GCC51 0x02000300
+
150 #define GLM_COMPILER_GCC52 0x02000400
+
151 #define GLM_COMPILER_GCC53 0x02000500
+
152 
+
153 // CUDA
+
154 #define GLM_COMPILER_CUDA 0x10000000
+
155 #define GLM_COMPILER_CUDA40 0x10000040
+
156 #define GLM_COMPILER_CUDA41 0x10000050
+
157 #define GLM_COMPILER_CUDA42 0x10000060
+
158 #define GLM_COMPILER_CUDA50 0x10000070
+
159 #define GLM_COMPILER_CUDA60 0x10000080
+
160 #define GLM_COMPILER_CUDA65 0x10000090
+
161 #define GLM_COMPILER_CUDA70 0x100000A0
+
162 #define GLM_COMPILER_CUDA75 0x100000B0
+
163 
+
164 // LLVM
+
165 #define GLM_COMPILER_LLVM 0x20000000
+
166 #define GLM_COMPILER_LLVM32 0x20000030
+
167 #define GLM_COMPILER_LLVM33 0x20000040
+
168 #define GLM_COMPILER_LLVM34 0x20000050
+
169 #define GLM_COMPILER_LLVM35 0x20000060
+
170 #define GLM_COMPILER_LLVM36 0x20000070
+
171 #define GLM_COMPILER_LLVM37 0x20000080
+
172 #define GLM_COMPILER_LLVM38 0x20000090
+
173 #define GLM_COMPILER_LLVM39 0x200000A0
+
174 
+
175 // Apple Clang
+
176 #define GLM_COMPILER_APPLE_CLANG 0x40000000
+
177 #define GLM_COMPILER_APPLE_CLANG40 0x40000010
+
178 #define GLM_COMPILER_APPLE_CLANG41 0x40000020
+
179 #define GLM_COMPILER_APPLE_CLANG42 0x40000030
+
180 #define GLM_COMPILER_APPLE_CLANG50 0x40000040
+
181 #define GLM_COMPILER_APPLE_CLANG51 0x40000050
+
182 #define GLM_COMPILER_APPLE_CLANG60 0x40000060
+
183 #define GLM_COMPILER_APPLE_CLANG61 0x40000070
184 
-
187  detail::fmat4x4SIMD transpose(
-
188  detail::fmat4x4SIMD const & x);
-
189 
-
192  float determinant(
-
193  detail::fmat4x4SIMD const & m);
-
194 
-
197  detail::fmat4x4SIMD inverse(
-
198  detail::fmat4x4SIMD const & m);
-
199 
-
201 }// namespace glm
-
202 
-
203 #include "simd_mat4.inl"
-
204 
-
205 #endif//(GLM_ARCH != GLM_ARCH_PURE)
-
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
-
GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct(vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
-
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL matType< T, P > matrixCompMult(matType< T, P > const &x, matType< T, P > const &y)
Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...
-
GLM_FUNC_DECL T determinant(matType< T, P > const &m)
Returns the transposed matrix of x.
+
185 // Build model
+
186 #define GLM_MODEL_32 0x00000010
+
187 #define GLM_MODEL_64 0x00000020
+
188 
+
189 // Force generic C++ compiler
+
190 #ifdef GLM_FORCE_COMPILER_UNKNOWN
+
191 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
+
192 
+
193 #elif defined(__INTEL_COMPILER)
+
194 # if __INTEL_COMPILER == 1200
+
195 # define GLM_COMPILER GLM_COMPILER_INTEL12
+
196 # elif __INTEL_COMPILER == 1210
+
197 # define GLM_COMPILER GLM_COMPILER_INTEL12_1
+
198 # elif __INTEL_COMPILER == 1300
+
199 # define GLM_COMPILER GLM_COMPILER_INTEL13
+
200 # elif __INTEL_COMPILER == 1400
+
201 # define GLM_COMPILER GLM_COMPILER_INTEL14
+
202 # elif __INTEL_COMPILER >= 1500
+
203 # define GLM_COMPILER GLM_COMPILER_INTEL15
+
204 # elif __INTEL_COMPILER >= 1600
+
205 # define GLM_COMPILER GLM_COMPILER_INTEL16
+
206 # else
+
207 # define GLM_COMPILER GLM_COMPILER_INTEL
+
208 # endif
+
209 
+
210 // CUDA
+
211 #elif defined(__CUDACC__)
+
212 # if !defined(CUDA_VERSION) && !defined(GLM_FORCE_CUDA)
+
213 # include <cuda.h> // make sure version is defined since nvcc does not define it itself!
+
214 # endif
+
215 # if CUDA_VERSION < 3000
+
216 # error "GLM requires CUDA 3.0 or higher"
+
217 # else
+
218 # define GLM_COMPILER GLM_COMPILER_CUDA
+
219 # endif
+
220 
+
221 // Visual C++
+
222 #elif defined(_MSC_VER)
+
223 # if _MSC_VER < 1600
+
224 # error "GLM requires Visual C++ 2010 or higher"
+
225 # elif _MSC_VER == 1600
+
226 # define GLM_COMPILER GLM_COMPILER_VC2010
+
227 # elif _MSC_VER == 1700
+
228 # define GLM_COMPILER GLM_COMPILER_VC2012
+
229 # elif _MSC_VER == 1800
+
230 # define GLM_COMPILER GLM_COMPILER_VC2013
+
231 # elif _MSC_VER >= 1900
+
232 # define GLM_COMPILER GLM_COMPILER_VC2015
+
233 # else//_MSC_VER
+
234 # define GLM_COMPILER GLM_COMPILER_VC
+
235 # endif//_MSC_VER
+
236 
+
237 // Clang
+
238 #elif defined(__clang__)
+
239 # if GLM_PLATFORM & GLM_PLATFORM_APPLE
+
240 # if __clang_major__ == 4 && __clang_minor__ == 0
+
241 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG40
+
242 # elif __clang_major__ == 4 && __clang_minor__ == 1
+
243 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG41
+
244 # elif __clang_major__ == 4 && __clang_minor__ == 2
+
245 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG42
+
246 # elif __clang_major__ == 5 && __clang_minor__ == 0
+
247 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG50
+
248 # elif __clang_major__ == 5 && __clang_minor__ == 1
+
249 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG51
+
250 # elif __clang_major__ == 6 && __clang_minor__ == 0
+
251 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG60
+
252 # elif __clang_major__ == 6 && __clang_minor__ >= 1
+
253 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG61
+
254 # elif __clang_major__ >= 7
+
255 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG61
+
256 # else
+
257 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG
+
258 # endif
+
259 # else
+
260 # if __clang_major__ == 3 && __clang_minor__ == 0
+
261 # define GLM_COMPILER GLM_COMPILER_LLVM30
+
262 # elif __clang_major__ == 3 && __clang_minor__ == 1
+
263 # define GLM_COMPILER GLM_COMPILER_LLVM31
+
264 # elif __clang_major__ == 3 && __clang_minor__ == 2
+
265 # define GLM_COMPILER GLM_COMPILER_LLVM32
+
266 # elif __clang_major__ == 3 && __clang_minor__ == 3
+
267 # define GLM_COMPILER GLM_COMPILER_LLVM33
+
268 # elif __clang_major__ == 3 && __clang_minor__ == 4
+
269 # define GLM_COMPILER GLM_COMPILER_LLVM34
+
270 # elif __clang_major__ == 3 && __clang_minor__ == 5
+
271 # define GLM_COMPILER GLM_COMPILER_LLVM35
+
272 # elif __clang_major__ == 3 && __clang_minor__ == 6
+
273 # define GLM_COMPILER GLM_COMPILER_LLVM36
+
274 # elif __clang_major__ == 3 && __clang_minor__ == 7
+
275 # define GLM_COMPILER GLM_COMPILER_LLVM37
+
276 # elif __clang_major__ == 3 && __clang_minor__ == 8
+
277 # define GLM_COMPILER GLM_COMPILER_LLVM38
+
278 # elif __clang_major__ == 3 && __clang_minor__ >= 9
+
279 # define GLM_COMPILER GLM_COMPILER_LLVM39
+
280 # elif __clang_major__ >= 4
+
281 # define GLM_COMPILER GLM_COMPILER_LLVM39
+
282 # else
+
283 # define GLM_COMPILER GLM_COMPILER_LLVM
+
284 # endif
+
285 # endif
+
286 
+
287 // G++
+
288 #elif defined(__GNUC__) || defined(__MINGW32__)
+
289 # if (__GNUC__ == 4) && (__GNUC_MINOR__ == 2)
+
290 # define GLM_COMPILER (GLM_COMPILER_GCC42)
+
291 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
+
292 # define GLM_COMPILER (GLM_COMPILER_GCC43)
+
293 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 4)
+
294 # define GLM_COMPILER (GLM_COMPILER_GCC44)
+
295 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 5)
+
296 # define GLM_COMPILER (GLM_COMPILER_GCC45)
+
297 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 6)
+
298 # define GLM_COMPILER (GLM_COMPILER_GCC46)
+
299 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 7)
+
300 # define GLM_COMPILER (GLM_COMPILER_GCC47)
+
301 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
+
302 # define GLM_COMPILER (GLM_COMPILER_GCC48)
+
303 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)
+
304 # define GLM_COMPILER (GLM_COMPILER_GCC49)
+
305 # elif (__GNUC__ == 5) && (__GNUC_MINOR__ == 0)
+
306 # define GLM_COMPILER (GLM_COMPILER_GCC50)
+
307 # elif (__GNUC__ == 5) && (__GNUC_MINOR__ == 1)
+
308 # define GLM_COMPILER (GLM_COMPILER_GCC51)
+
309 # elif (__GNUC__ == 5) && (__GNUC_MINOR__ == 2)
+
310 # define GLM_COMPILER (GLM_COMPILER_GCC52)
+
311 # elif (__GNUC__ == 5) && (__GNUC_MINOR__ >= 3)
+
312 # define GLM_COMPILER (GLM_COMPILER_GCC53)
+
313 # else
+
314 # define GLM_COMPILER (GLM_COMPILER_GCC)
+
315 # endif
+
316 
+
317 #else
+
318 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
+
319 #endif
+
320 
+
321 #ifndef GLM_COMPILER
+
322 #error "GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message."
+
323 #endif//GLM_COMPILER
+
324 
+
325 // Report compiler detection
+
326 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED)
+
327 # define GLM_MESSAGE_COMPILER_DISPLAYED
+
328 # if GLM_COMPILER & GLM_COMPILER_CUDA
+
329 # pragma message("GLM: CUDA compiler detected")
+
330 # elif GLM_COMPILER & GLM_COMPILER_VC
+
331 # pragma message("GLM: Visual C++ compiler detected")
+
332 # elif GLM_COMPILER & GLM_COMPILER_APPLE_CLANG
+
333 # pragma message("GLM: Clang compiler detected")
+
334 # elif GLM_COMPILER & GLM_COMPILER_LLVM
+
335 # pragma message("GLM: LLVM compiler detected")
+
336 # elif GLM_COMPILER & GLM_COMPILER_INTEL
+
337 # pragma message("GLM: Intel Compiler detected")
+
338 # elif GLM_COMPILER & GLM_COMPILER_GCC
+
339 # pragma message("GLM: GCC compiler detected")
+
340 # else
+
341 # pragma message("GLM: Compiler not detected")
+
342 # endif
+
343 #endif//GLM_MESSAGE
+
344 
+
346 // Build model
+
347 
+
348 #if defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__)
+
349 # define GLM_MODEL GLM_MODEL_64
+
350 #elif defined(__i386__) || defined(__ppc__)
+
351 # define GLM_MODEL GLM_MODEL_32
+
352 #else
+
353 # define GLM_MODEL GLM_MODEL_32
+
354 #endif//
+
355 
+
356 #if !defined(GLM_MODEL) && GLM_COMPILER != 0
+
357 # error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message."
+
358 #endif//GLM_MODEL
+
359 
+
360 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_MODEL_DISPLAYED)
+
361 # define GLM_MESSAGE_MODEL_DISPLAYED
+
362 # if(GLM_MODEL == GLM_MODEL_64)
+
363 # pragma message("GLM: 64 bits model")
+
364 # elif(GLM_MODEL == GLM_MODEL_32)
+
365 # pragma message("GLM: 32 bits model")
+
366 # endif//GLM_MODEL
+
367 #endif//GLM_MESSAGE
+
368 
+
370 // C++ Version
+
371 
+
372 // User defines: GLM_FORCE_CXX98, GLM_FORCE_CXX03, GLM_FORCE_CXX11, GLM_FORCE_CXX14
+
373 
+
374 #define GLM_LANG_CXX98_FLAG (1 << 1)
+
375 #define GLM_LANG_CXX03_FLAG (1 << 2)
+
376 #define GLM_LANG_CXX0X_FLAG (1 << 3)
+
377 #define GLM_LANG_CXX11_FLAG (1 << 4)
+
378 #define GLM_LANG_CXX1Y_FLAG (1 << 5)
+
379 #define GLM_LANG_CXX14_FLAG (1 << 6)
+
380 #define GLM_LANG_CXX1Z_FLAG (1 << 7)
+
381 #define GLM_LANG_CXXMS_FLAG (1 << 8)
+
382 #define GLM_LANG_CXXGNU_FLAG (1 << 9)
+
383 
+
384 #define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG
+
385 #define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG)
+
386 #define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG)
+
387 #define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG)
+
388 #define GLM_LANG_CXX1Y (GLM_LANG_CXX11 | GLM_LANG_CXX1Y_FLAG)
+
389 #define GLM_LANG_CXX14 (GLM_LANG_CXX1Y | GLM_LANG_CXX14_FLAG)
+
390 #define GLM_LANG_CXX1Z (GLM_LANG_CXX14 | GLM_LANG_CXX1Z_FLAG)
+
391 #define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG
+
392 #define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG
+
393 
+
394 #if defined(GLM_FORCE_CXX14)
+
395 # undef GLM_FORCE_CXX11
+
396 # undef GLM_FORCE_CXX03
+
397 # undef GLM_FORCE_CXX98
+
398 # define GLM_LANG GLM_LANG_CXX14
+
399 #elif defined(GLM_FORCE_CXX11)
+
400 # undef GLM_FORCE_CXX03
+
401 # undef GLM_FORCE_CXX98
+
402 # define GLM_LANG GLM_LANG_CXX11
+
403 #elif defined(GLM_FORCE_CXX03)
+
404 # undef GLM_FORCE_CXX98
+
405 # define GLM_LANG GLM_LANG_CXX03
+
406 #elif defined(GLM_FORCE_CXX98)
+
407 # define GLM_LANG GLM_LANG_CXX98
+
408 #else
+
409 # if GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM)
+
410 # if __cplusplus >= 201402L // GLM_COMPILER_LLVM34 + -std=c++14
+
411 # define GLM_LANG GLM_LANG_CXX14
+
412 # elif __has_feature(cxx_decltype_auto) && __has_feature(cxx_aggregate_nsdmi) // GLM_COMPILER_LLVM33 + -std=c++1y
+
413 # define GLM_LANG GLM_LANG_CXX1Y
+
414 # elif __cplusplus >= 201103L // GLM_COMPILER_LLVM33 + -std=c++11
+
415 # define GLM_LANG GLM_LANG_CXX11
+
416 # elif __has_feature(cxx_static_assert) // GLM_COMPILER_LLVM29 + -std=c++11
+
417 # define GLM_LANG GLM_LANG_CXX0X
+
418 # elif __cplusplus >= 199711L
+
419 # define GLM_LANG GLM_LANG_CXX98
+
420 # else
+
421 # define GLM_LANG GLM_LANG_CXX
+
422 # endif
+
423 # elif GLM_COMPILER & GLM_COMPILER_GCC
+
424 # if __cplusplus >= 201402L
+
425 # define GLM_LANG GLM_LANG_CXX14
+
426 # elif __cplusplus >= 201103L
+
427 # define GLM_LANG GLM_LANG_CXX11
+
428 # elif defined(__GXX_EXPERIMENTAL_CXX0X__)
+
429 # define GLM_LANG GLM_LANG_CXX0X
+
430 # else
+
431 # define GLM_LANG GLM_LANG_CXX98
+
432 # endif
+
433 # elif GLM_COMPILER & GLM_COMPILER_VC
+
434 # ifdef _MSC_EXTENSIONS
+
435 # if __cplusplus >= 201402L
+
436 # define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_CXXMS_FLAG)
+
437 //# elif GLM_COMPILER >= GLM_COMPILER_VC2015
+
438 //# define GLM_LANG (GLM_LANG_CXX1Y | GLM_LANG_CXXMS_FLAG)
+
439 # elif __cplusplus >= 201103L
+
440 # define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_CXXMS_FLAG)
+
441 # elif GLM_COMPILER >= GLM_COMPILER_VC2010
+
442 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
+
443 # elif __cplusplus >= 199711L
+
444 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
+
445 # else
+
446 # define GLM_LANG (GLM_LANG_CXX | GLM_LANG_CXXMS_FLAG)
+
447 # endif
+
448 # else
+
449 # if __cplusplus >= 201402L
+
450 # define GLM_LANG GLM_LANG_CXX14
+
451 //# elif GLM_COMPILER >= GLM_COMPILER_VC2015
+
452 //# define GLM_LANG GLM_LANG_CXX1Y
+
453 # elif __cplusplus >= 201103L
+
454 # define GLM_LANG GLM_LANG_CXX11
+
455 # elif GLM_COMPILER >= GLM_COMPILER_VC2010
+
456 # define GLM_LANG GLM_LANG_CXX0X
+
457 # elif __cplusplus >= 199711L
+
458 # define GLM_LANG GLM_LANG_CXX98
+
459 # else
+
460 # define GLM_LANG GLM_LANG_CXX
+
461 # endif
+
462 # endif
+
463 # elif GLM_COMPILER & GLM_COMPILER_INTEL
+
464 # ifdef _MSC_EXTENSIONS
+
465 # if __cplusplus >= 201402L
+
466 # define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_CXXMS_FLAG)
+
467 # elif __cplusplus >= 201103L
+
468 # define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_CXXMS_FLAG)
+
469 # elif GLM_COMPILER >= GLM_COMPILER_INTEL13
+
470 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
+
471 # elif __cplusplus >= 199711L
+
472 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
+
473 # else
+
474 # define GLM_LANG (GLM_LANG_CXX | GLM_LANG_CXXMS_FLAG)
+
475 # endif
+
476 # else
+
477 # if __cplusplus >= 201402L
+
478 # define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_CXXMS_FLAG)
+
479 # elif __cplusplus >= 201103L
+
480 # define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_CXXMS_FLAG)
+
481 # elif GLM_COMPILER >= GLM_COMPILER_INTEL13
+
482 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
+
483 # elif __cplusplus >= 199711L
+
484 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
+
485 # else
+
486 # define GLM_LANG (GLM_LANG_CXX | GLM_LANG_CXXMS_FLAG)
+
487 # endif
+
488 # endif
+
489 # else // Unkown compiler
+
490 # if __cplusplus >= 201402L
+
491 # define GLM_LANG GLM_LANG_CXX14
+
492 # elif __cplusplus >= 201103L
+
493 # define GLM_LANG GLM_LANG_CXX11
+
494 # elif __cplusplus >= 199711L
+
495 # define GLM_LANG GLM_LANG_CXX98
+
496 # else
+
497 # define GLM_LANG GLM_LANG_CXX // Good luck with that!
+
498 # endif
+
499 # ifndef GLM_FORCE_PURE
+
500 # define GLM_FORCE_PURE
+
501 # endif
+
502 # endif
+
503 #endif
+
504 
+
505 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED)
+
506 # define GLM_MESSAGE_LANG_DISPLAYED
+
507 
+
508 # if GLM_LANG & GLM_LANG_CXX1Z_FLAG
+
509 # pragma message("GLM: C++1z")
+
510 # elif GLM_LANG & GLM_LANG_CXX14_FLAG
+
511 # pragma message("GLM: C++14")
+
512 # elif GLM_LANG & GLM_LANG_CXX1Y_FLAG
+
513 # pragma message("GLM: C++1y")
+
514 # elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
515 # pragma message("GLM: C++11")
+
516 # elif GLM_LANG & GLM_LANG_CXX0X_FLAG
+
517 # pragma message("GLM: C++0x")
+
518 # elif GLM_LANG & GLM_LANG_CXX03_FLAG
+
519 # pragma message("GLM: C++03")
+
520 # elif GLM_LANG & GLM_LANG_CXX98_FLAG
+
521 # pragma message("GLM: C++98")
+
522 # else
+
523 # pragma message("GLM: C++ language undetected")
+
524 # endif//GLM_LANG
+
525 
+
526 # if GLM_LANG & (GLM_LANG_CXXGNU_FLAG | GLM_LANG_CXXMS_FLAG)
+
527 # pragma message("GLM: Language extensions enabled")
+
528 # endif//GLM_LANG
+
529 #endif//GLM_MESSAGE
+
530 
+
532 // Has of C++ features
+
533 
+
534 // http://clang.llvm.org/cxx_status.html
+
535 // http://gcc.gnu.org/projects/cxx0x.html
+
536 // http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
+
537 
+
538 #if GLM_PLATFORM == GLM_PLATFORM_ANDROID
+
539 # define GLM_HAS_CXX11_STL 0
+
540 #elif GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
541 # if __has_include(<__config>) // libc++
+
542 # include <__config>
+
543 //# else // libstdc++
+
544 //# include <bits/c++config.h>
+
545 # endif
+
546 # if defined(_LIBCPP_VERSION)// || defined(__GLIBCXX__)
+
547 # define GLM_HAS_CXX11_STL 1
+
548 # else
+
549 # define GLM_HAS_CXX11_STL 0
+
550 # endif
+
551 #else
+
552 # define GLM_HAS_CXX11_STL ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && \
+
553  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \
+
554  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)) || \
+
555  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)))
+
556 #endif
+
557 
+
558 // N1720
+
559 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
560 # define GLM_HAS_STATIC_ASSERT __has_feature(cxx_static_assert)
+
561 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
562 # define GLM_HAS_STATIC_ASSERT 1
+
563 #else
+
564 # define GLM_HAS_STATIC_ASSERT (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
565  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
+
566  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2010)))
+
567 #endif
+
568 
+
569 // N1988
+
570 #if GLM_LANG & GLM_LANG_CXX11_FLAG
+
571 # define GLM_HAS_EXTENDED_INTEGER_TYPE 1
+
572 #else
+
573 # define GLM_HAS_EXTENDED_INTEGER_TYPE (\
+
574  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012)) || \
+
575  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
+
576  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_LLVM) && (GLM_COMPILER >= GLM_COMPILER_LLVM30)) || \
+
577  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_APPLE_CLANG) && (GLM_COMPILER >= GLM_COMPILER_APPLE_CLANG40)))
+
578 #endif
+
579 
+
580 // N2235
+
581 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
582 # define GLM_HAS_CONSTEXPR __has_feature(cxx_constexpr)
+
583 # define GLM_HAS_CONSTEXPR_PARTIAL GLM_HAS_CONSTEXPR
+
584 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
585 # define GLM_HAS_CONSTEXPR 1
+
586 # define GLM_HAS_CONSTEXPR_PARTIAL GLM_HAS_CONSTEXPR
+
587 #else
+
588 # define GLM_HAS_CONSTEXPR (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
589  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)))
+
590 # define GLM_HAS_CONSTEXPR_PARTIAL GLM_HAS_CONSTEXPR || ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2015))
+
591 #endif
+
592 
+
593 // N2672
+
594 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
595 # define GLM_HAS_INITIALIZER_LISTS __has_feature(cxx_generalized_initializers)
+
596 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
597 # define GLM_HAS_INITIALIZER_LISTS 1
+
598 #else
+
599 # define GLM_HAS_INITIALIZER_LISTS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
600  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
+
601  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)))
+
602 #endif
+
603 
+
604 // N2544 Unrestricted unions
+
605 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
606 # define GLM_HAS_UNRESTRICTED_UNIONS __has_feature(cxx_unrestricted_unions)
+
607 #elif GLM_LANG & (GLM_LANG_CXX11_FLAG | GLM_LANG_CXXMS_FLAG)
+
608 # define GLM_HAS_UNRESTRICTED_UNIONS 1
+
609 #else
+
610 # define GLM_HAS_UNRESTRICTED_UNIONS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
611  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)))
+
612 #endif
+
613 
+
614 // N2346
+
615 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
616 # define GLM_HAS_DEFAULTED_FUNCTIONS __has_feature(cxx_defaulted_functions)
+
617 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
618 # define GLM_HAS_DEFAULTED_FUNCTIONS 1
+
619 #else
+
620 # define GLM_HAS_DEFAULTED_FUNCTIONS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
621  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
+
622  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)) || \
+
623  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL12)))
+
624 #endif
+
625 
+
626 // N2118
+
627 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
628 # define GLM_HAS_RVALUE_REFERENCES __has_feature(cxx_rvalue_references)
+
629 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
630 # define GLM_HAS_RVALUE_REFERENCES 1
+
631 #else
+
632 # define GLM_HAS_RVALUE_REFERENCES (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
633  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
+
634  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012)))
+
635 #endif
+
636 
+
637 // N2437 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
+
638 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
639 # define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS __has_feature(cxx_explicit_conversions)
+
640 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
641 # define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS 1
+
642 #else
+
643 # define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
644  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC45)) || \
+
645  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
+
646  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)))
+
647 #endif
+
648 
+
649 // N2258 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
+
650 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
651 # define GLM_HAS_TEMPLATE_ALIASES __has_feature(cxx_alias_templates)
+
652 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
653 # define GLM_HAS_TEMPLATE_ALIASES 1
+
654 #else
+
655 # define GLM_HAS_TEMPLATE_ALIASES (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
656  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL12_1)) || \
+
657  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC47)) || \
+
658  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)))
+
659 #endif
+
660 
+
661 // N2930 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html
+
662 #if GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_APPLE_CLANG)
+
663 # define GLM_HAS_RANGE_FOR __has_feature(cxx_range_for)
+
664 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
+
665 # define GLM_HAS_RANGE_FOR 1
+
666 #else
+
667 # define GLM_HAS_RANGE_FOR (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
668  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
+
669  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL13)) || \
+
670  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012)))
+
671 #endif
+
672 
+
673 //
+
674 #if GLM_LANG & GLM_LANG_CXX11_FLAG
+
675 # define GLM_HAS_ASSIGNABLE 1
+
676 #else
+
677 # define GLM_HAS_ASSIGNABLE (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
678  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC49)))
+
679 #endif
+
680 
+
681 //
+
682 #define GLM_HAS_TRIVIAL_QUERIES 0
+
683 
+
684 //
+
685 #if GLM_LANG & GLM_LANG_CXX11_FLAG
+
686 # define GLM_HAS_MAKE_SIGNED 1
+
687 #else
+
688 # define GLM_HAS_MAKE_SIGNED (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
+
689  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)))
+
690 #endif
+
691 
+
692 //
+
693 #if GLM_ARCH == GLM_ARCH_PURE
+
694 # define GLM_HAS_BITSCAN_WINDOWS 0
+
695 #else
+
696 # define GLM_HAS_BITSCAN_WINDOWS (GLM_PLATFORM & GLM_PLATFORM_WINDOWS) && (\
+
697  (GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_LLVM | GLM_COMPILER_INTEL))
+
698 #endif
+
699 
+
700 // OpenMP
+
701 #ifdef _OPENMP
+
702 # if GLM_COMPILER & GLM_COMPILER_GCC
+
703 # if GLM_COMPILER >= GLM_COMPILER_GCC47
+
704 # define GLM_HAS_OPENMP 31
+
705 # elif GLM_COMPILER >= GLM_COMPILER_GCC44
+
706 # define GLM_HAS_OPENMP 30
+
707 # elif GLM_COMPILER >= GLM_COMPILER_GCC42
+
708 # define GLM_HAS_OPENMP 25
+
709 # endif
+
710 # endif// GLM_COMPILER & GLM_COMPILER_GCC
+
711 
+
712 # if GLM_COMPILER & GLM_COMPILER_VC
+
713 # if GLM_COMPILER >= GLM_COMPILER_VC2010
+
714 # define GLM_HAS_OPENMP 20
+
715 # endif
+
716 # endif// GLM_COMPILER & GLM_COMPILER_VC
+
717 #endif
+
718 
+
719 // Not standard
+
720 #define GLM_HAS_ANONYMOUS_UNION (GLM_LANG & GLM_LANG_CXXMS_FLAG)
+
721 
+
723 // Platform
+
724 
+
725 // User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_SSE3 GLM_FORCE_AVX GLM_FORCE_AVX2
+
726 
+
727 #define GLM_ARCH_PURE 0x0000
+
728 #define GLM_ARCH_ARM 0x0001
+
729 #define GLM_ARCH_X86 0x0002
+
730 #define GLM_ARCH_SSE2 0x0004
+
731 #define GLM_ARCH_SSE3 0x0008
+
732 #define GLM_ARCH_SSE4 0x0010
+
733 #define GLM_ARCH_AVX 0x0020
+
734 #define GLM_ARCH_AVX2 0x0040
+
735 
+
736 #if defined(GLM_FORCE_PURE)
+
737 # define GLM_ARCH GLM_ARCH_PURE
+
738 #elif defined(GLM_FORCE_AVX2)
+
739 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
740 #elif defined(GLM_FORCE_AVX)
+
741 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
742 #elif defined(GLM_FORCE_SSE4)
+
743 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
744 #elif defined(GLM_FORCE_SSE3)
+
745 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
746 #elif defined(GLM_FORCE_SSE2)
+
747 # define GLM_ARCH (GLM_ARCH_SSE2)
+
748 #elif (GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_GCC)) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_LINUX))
+
749 # if(__AVX2__)
+
750 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
751 # elif(__AVX__)
+
752 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
753 # elif(__SSE3__)
+
754 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
755 # elif(__SSE2__)
+
756 # define GLM_ARCH (GLM_ARCH_SSE2)
+
757 # else
+
758 # define GLM_ARCH GLM_ARCH_PURE
+
759 # endif
+
760 #elif (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))
+
761 # if defined(_M_ARM_FP)
+
762 # define GLM_ARCH (GLM_ARCH_ARM)
+
763 # elif defined(__AVX2__)
+
764 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
765 # elif defined(__AVX__)
+
766 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
767 # elif _M_IX86_FP == 2
+
768 # define GLM_ARCH (GLM_ARCH_SSE2)
+
769 # else
+
770 # define GLM_ARCH (GLM_ARCH_PURE)
+
771 # endif
+
772 #elif (GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))
+
773 # if defined(__AVX2__)
+
774 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
775 # elif defined(__AVX__)
+
776 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
777 # elif defined(__SSE4_1__ )
+
778 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
779 # elif defined(__SSE3__)
+
780 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
781 # elif defined(__SSE2__)
+
782 # define GLM_ARCH (GLM_ARCH_SSE2)
+
783 # else
+
784 # define GLM_ARCH (GLM_ARCH_PURE)
+
785 # endif
+
786 #else
+
787 # define GLM_ARCH GLM_ARCH_PURE
+
788 #endif
+
789 
+
790 // With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is
+
791 // that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems.
+
792 // To fix, we just explicitly include intrin.h here.
+
793 #if defined(__MINGW64__) && (GLM_ARCH != GLM_ARCH_PURE)
+
794 # include <intrin.h>
+
795 #endif
+
796 
+
797 #if GLM_ARCH & GLM_ARCH_AVX2
+
798 # include <immintrin.h>
+
799 #endif//GLM_ARCH
+
800 #if GLM_ARCH & GLM_ARCH_AVX
+
801 # include <immintrin.h>
+
802 #endif//GLM_ARCH
+
803 #if GLM_ARCH & GLM_ARCH_SSE4
+
804 # include <smmintrin.h>
+
805 #endif//GLM_ARCH
+
806 #if GLM_ARCH & GLM_ARCH_SSE3
+
807 # include <pmmintrin.h>
+
808 #endif//GLM_ARCH
+
809 #if GLM_ARCH & GLM_ARCH_SSE2
+
810 # include <emmintrin.h>
+
811 # if(GLM_COMPILER == GLM_COMPILER_VC2005) // VC2005 is missing some intrinsics, workaround
+
812  inline float _mm_cvtss_f32(__m128 A) { return A.m128_f32[0]; }
+
813  inline __m128 _mm_castpd_ps(__m128d PD) { union { __m128 ps; __m128d pd; } c; c.pd = PD; return c.ps; }
+
814  inline __m128d _mm_castps_pd(__m128 PS) { union { __m128 ps; __m128d pd; } c; c.ps = PS; return c.pd; }
+
815  inline __m128i _mm_castps_si128(__m128 PS) { union { __m128 ps; __m128i pi; } c; c.ps = PS; return c.pi; }
+
816  inline __m128 _mm_castsi128_ps(__m128i PI) { union { __m128 ps; __m128i pi; } c; c.pi = PI; return c.ps; }
+
817 # endif
+
818 #endif//GLM_ARCH
+
819 
+
820 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED)
+
821 # define GLM_MESSAGE_ARCH_DISPLAYED
+
822 # if(GLM_ARCH == GLM_ARCH_PURE)
+
823 # pragma message("GLM: Platform independent code")
+
824 # elif(GLM_ARCH & GLM_ARCH_ARM)
+
825 # pragma message("GLM: ARM instruction set")
+
826 # elif(GLM_ARCH & GLM_ARCH_AVX2)
+
827 # pragma message("GLM: AVX2 instruction set")
+
828 # elif(GLM_ARCH & GLM_ARCH_AVX)
+
829 # pragma message("GLM: AVX instruction set")
+
830 # elif(GLM_ARCH & GLM_ARCH_SSE3)
+
831 # pragma message("GLM: SSE3 instruction set")
+
832 # elif(GLM_ARCH & GLM_ARCH_SSE2)
+
833 # pragma message("GLM: SSE2 instruction set")
+
834 # endif//GLM_ARCH
+
835 #endif//GLM_MESSAGE
+
836 
+
838 // Static assert
+
839 
+
840 #if GLM_HAS_STATIC_ASSERT
+
841 # define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
+
842 #elif defined(BOOST_STATIC_ASSERT)
+
843 # define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)
+
844 #elif GLM_COMPILER & GLM_COMPILER_VC
+
845 # define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
+
846 #else
+
847 # define GLM_STATIC_ASSERT(x, message)
+
848 # define GLM_STATIC_ASSERT_NULL
+
849 #endif//GLM_LANG
+
850 
+
852 // Qualifiers
+
853 
+
854 #if GLM_COMPILER & GLM_COMPILER_CUDA
+
855 # define GLM_CUDA_FUNC_DEF __device__ __host__
+
856 # define GLM_CUDA_FUNC_DECL __device__ __host__
+
857 #else
+
858 # define GLM_CUDA_FUNC_DEF
+
859 # define GLM_CUDA_FUNC_DECL
+
860 #endif
+
861 
+
862 #if GLM_COMPILER & GLM_COMPILER_GCC
+
863 # define GLM_VAR_USED __attribute__ ((unused))
+
864 #else
+
865 # define GLM_VAR_USED
+
866 #endif
+
867 
+
868 #if defined(GLM_FORCE_INLINE)
+
869 # if GLM_COMPILER & GLM_COMPILER_VC
+
870 # define GLM_INLINE __forceinline
+
871 # define GLM_NEVER_INLINE __declspec((noinline))
+
872 # elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM)
+
873 # define GLM_INLINE inline __attribute__((__always_inline__))
+
874 # define GLM_NEVER_INLINE __attribute__((__noinline__))
+
875 # else
+
876 # define GLM_INLINE inline
+
877 # define GLM_NEVER_INLINE
+
878 # endif//GLM_COMPILER
+
879 #else
+
880 # define GLM_INLINE inline
+
881 # define GLM_NEVER_INLINE
+
882 #endif//defined(GLM_FORCE_INLINE)
+
883 
+
884 #define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL
+
885 #define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE
+
886 
+
888 // Swizzle operators
+
889 
+
890 // User defines: GLM_SWIZZLE
+
891 
+
892 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED)
+
893 # define GLM_MESSAGE_SWIZZLE_DISPLAYED
+
894 # if defined(GLM_SWIZZLE)
+
895 # pragma message("GLM: Swizzling operators enabled")
+
896 # else
+
897 # pragma message("GLM: Swizzling operators disabled, #define GLM_SWIZZLE to enable swizzle operators")
+
898 # endif
+
899 #endif//GLM_MESSAGE
+
900 
+
902 // Qualifiers
+
903 
+
904 #if (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))
+
905 # define GLM_DEPRECATED __declspec(deprecated)
+
906 # define GLM_ALIGN(x) __declspec(align(x))
+
907 # define GLM_ALIGNED_STRUCT(x) struct __declspec(align(x))
+
908 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name
+
909 # define GLM_RESTRICT __declspec(restrict)
+
910 # define GLM_RESTRICT_VAR __restrict
+
911 #elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_CUDA | GLM_COMPILER_INTEL)
+
912 # define GLM_DEPRECATED __attribute__((__deprecated__))
+
913 # define GLM_ALIGN(x) __attribute__((aligned(x)))
+
914 # define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
+
915 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment)))
+
916 # define GLM_RESTRICT __restrict__
+
917 # define GLM_RESTRICT_VAR __restrict__
+
918 #else
+
919 # define GLM_DEPRECATED
+
920 # define GLM_ALIGN
+
921 # define GLM_ALIGNED_STRUCT(x) struct
+
922 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name
+
923 # define GLM_RESTRICT
+
924 # define GLM_RESTRICT_VAR
+
925 #endif//GLM_COMPILER
+
926 
+
927 #if GLM_HAS_DEFAULTED_FUNCTIONS
+
928 # define GLM_DEFAULT = default
+
929 # ifdef GLM_FORCE_NO_CTOR_INIT
+
930 # define GLM_DEFAULT_CTOR = default
+
931 # else
+
932 # define GLM_DEFAULT_CTOR
+
933 # endif
+
934 #else
+
935 # define GLM_DEFAULT
+
936 # define GLM_DEFAULT_CTOR
+
937 #endif
+
938 
+
939 #if GLM_HAS_CONSTEXPR
+
940 # define GLM_CONSTEXPR constexpr
+
941 # define GLM_RELAXED_CONSTEXPR constexpr
+
942 #else
+
943 # define GLM_CONSTEXPR
+
944 # define GLM_RELAXED_CONSTEXPR const
+
945 #endif
+
946 
+
947 #ifdef GLM_FORCE_EXPLICIT_CTOR
+
948 # define GLM_EXPLICIT explicit
+
949 #else
+
950 # define GLM_EXPLICIT
+
951 #endif
+
952 
+
954 // Length type
+
955 
+
956 // User defines: GLM_FORCE_SIZE_T_LENGTH GLM_FORCE_SIZE_FUNC
+
957 
+
958 namespace glm
+
959 {
+
960  using std::size_t;
+
961 # if defined(GLM_FORCE_SIZE_T_LENGTH) || defined(GLM_FORCE_SIZE_FUNC)
+
962  typedef size_t length_t;
+
963 # else
+
964  typedef int length_t;
+
965 # endif
+
966 
+
967 namespace detail
+
968 {
+
969 # ifdef GLM_FORCE_SIZE_FUNC
+
970  typedef size_t component_count_t;
+
971 # else
+
972  typedef length_t component_count_t;
+
973 # endif
+
974 
+
975  template <typename genType>
+
976  GLM_FUNC_QUALIFIER GLM_CONSTEXPR component_count_t component_count(genType const & m)
+
977  {
+
978 # ifdef GLM_FORCE_SIZE_FUNC
+
979  return m.size();
+
980 # else
+
981  return m.length();
+
982 # endif
+
983  }
+
984 }//namespace detail
+
985 }//namespace glm
+
986 
+
987 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH)
+
988 # define GLM_MESSAGE_FORCE_SIZE_T_LENGTH
+
989 # if defined GLM_FORCE_SIZE_FUNC
+
990 # pragma message("GLM: .length() is replaced by .size() and returns a std::size_t")
+
991 # elif defined GLM_FORCE_SIZE_T_LENGTH
+
992 # pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t")
+
993 # else
+
994 # pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification")
+
995 # endif
+
996 #endif//GLM_MESSAGE
+
997 
+
999 // countof
+
1000 
+
1001 #ifndef __has_feature
+
1002 # define __has_feature(x) 0 // Compatibility with non-clang compilers.
+
1003 #endif
+
1004 
+
1005 #if GLM_HAS_CONSTEXPR_PARTIAL
+
1006  namespace glm
+
1007  {
+
1008  template <typename T, std::size_t N>
+
1009  constexpr std::size_t countof(T const (&)[N])
+
1010  {
+
1011  return N;
+
1012  }
+
1013  }//namespace glm
+
1014 # define GLM_COUNTOF(arr) glm::countof(arr)
+
1015 #elif _MSC_VER
+
1016 # define GLM_COUNTOF(arr) _countof(arr)
+
1017 #else
+
1018 # define GLM_COUNTOF(arr) sizeof(arr) / sizeof(arr[0])
+
1019 #endif
+
1020 
+
1022 // Uninitialize constructors
+
1023 
+
1024 namespace glm
+
1025 {
+
1026  enum ctor{uninitialize};
+
1027 }//namespace glm
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType pi()
Return the pi constant.
diff --git a/doc/api/a00106.html b/doc/api/a00106.html index bedc7bef..4ace205b 100644 --- a/doc/api/a00106.html +++ b/doc/api/a00106.html @@ -3,8 +3,8 @@ - -0.9.6: simd_quat.hpp File Reference + +0.9.7: simd_mat4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
simd_quat.hpp File Reference
+
simd_mat4.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_simd_quat

-
Date
2013-04-22 / 2014-11-25
+

GLM_GTX_simd_mat4

+
Date
2009-05-07 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file simd_quat.hpp.

+

Definition in file simd_mat4.hpp.

diff --git a/doc/api/a00106_source.html b/doc/api/a00106_source.html index 6441b94b..0b1b39f1 100644 --- a/doc/api/a00106_source.html +++ b/doc/api/a00106_source.html @@ -3,8 +3,8 @@ - -0.9.6: simd_quat.hpp Source File + +0.9.7: simd_mat4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
simd_quat.hpp
+
simd_mat4.hpp
Go to the documentation of this file.
1 
42 #pragma once
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include "../gtc/quaternion.hpp"
-
47 #include "../gtx/fast_trigonometry.hpp"
+
44 // Dependencies
+
45 #include "../detail/setup.hpp"
+
46 
+
47 #if(GLM_ARCH != GLM_ARCH_PURE)
48 
-
49 #if(GLM_ARCH != GLM_ARCH_PURE)
-
50 
-
51 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
52 # include "../gtx/simd_mat4.hpp"
-
53 #else
-
54 # error "GLM: GLM_GTX_simd_quat requires compiler support of SSE2 through intrinsics"
-
55 #endif
-
56 
-
57 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
58 # pragma message("GLM: GLM_GTX_simd_quat extension included")
-
59 #endif
-
60 
-
61 // Warning silencer for nameless struct/union.
-
62 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
63 # pragma warning(push)
-
64 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
-
65 #endif
-
66 
-
67 namespace glm{
-
68 namespace detail
-
69 {
-
70  GLM_ALIGNED_STRUCT(16) fquatSIMD
-
71  {
-
72  typedef __m128 value_type;
-
73  typedef std::size_t size_type;
-
74  static size_type value_size();
-
75 
-
76  typedef fquatSIMD type;
-
77  typedef tquat<bool, defaultp> bool_type;
+
49 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
50 # include "../detail/intrinsic_matrix.hpp"
+
51 # include "../gtx/simd_vec4.hpp"
+
52 #else
+
53 # error "GLM: GLM_GTX_simd_mat4 requires compiler support of SSE2 through intrinsics"
+
54 #endif
+
55 
+
56 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
57 # pragma message("GLM: GLM_GTX_simd_mat4 extension included")
+
58 #endif
+
59 
+
60 namespace glm{
+
61 namespace detail
+
62 {
+
65  GLM_ALIGNED_STRUCT(16) fmat4x4SIMD
+
66  {
+
67  typedef float value_type;
+
68  typedef fvec4SIMD col_type;
+
69  typedef fvec4SIMD row_type;
+
70  typedef std::size_t size_type;
+
71  typedef fmat4x4SIMD type;
+
72  typedef fmat4x4SIMD transpose_type;
+
73 
+
74  typedef tmat4x4<float, defaultp> pure_type;
+
75  typedef tvec4<float, defaultp> pure_row_type;
+
76  typedef tvec4<float, defaultp> pure_col_type;
+
77  typedef tmat4x4<float, defaultp> pure_transpose_type;
78 
-
79 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
-
80  union
-
81  {
-
82  __m128 Data;
-
83  struct {float x, y, z, w;};
-
84  };
-
85 #else
-
86  __m128 Data;
-
87 #endif
-
88 
-
90  // Implicit basic constructors
-
91 
-
92  fquatSIMD();
-
93  fquatSIMD(__m128 const & Data);
-
94  fquatSIMD(fquatSIMD const & q);
-
95 
-
97  // Explicit basic constructors
-
98 
-
99  explicit fquatSIMD(
-
100  ctor);
-
101  explicit fquatSIMD(
-
102  float const & w,
-
103  float const & x,
-
104  float const & y,
-
105  float const & z);
-
106  explicit fquatSIMD(
-
107  quat const & v);
-
108  explicit fquatSIMD(
-
109  vec3 const & eulerAngles);
-
110 
-
111 
-
113  // Unary arithmetic operators
-
114 
-
115  fquatSIMD& operator =(fquatSIMD const & q);
-
116  fquatSIMD& operator*=(float const & s);
-
117  fquatSIMD& operator/=(float const & s);
-
118  };
-
119 
-
120 
-
122  // Arithmetic operators
-
123 
-
124  detail::fquatSIMD operator- (
-
125  detail::fquatSIMD const & q);
+
79 # ifdef GLM_META_PROG_HELPERS
+
80  static GLM_RELAXED_CONSTEXPR length_t components = 4;
+
81  static GLM_RELAXED_CONSTEXPR length_t cols = 4;
+
82  static GLM_RELAXED_CONSTEXPR length_t rows = 4;
+
83  static GLM_RELAXED_CONSTEXPR precision prec = defaultp;
+
84 # endif//GLM_META_PROG_HELPERS
+
85 
+
86  GLM_FUNC_DECL length_t length() const;
+
87 
+
88  fvec4SIMD Data[4];
+
89 
+
91  // Constructors
+
92 
+
93  fmat4x4SIMD() GLM_DEFAULT_CTOR;
+
94  explicit fmat4x4SIMD(float const & s);
+
95  explicit fmat4x4SIMD(
+
96  float const & x0, float const & y0, float const & z0, float const & w0,
+
97  float const & x1, float const & y1, float const & z1, float const & w1,
+
98  float const & x2, float const & y2, float const & z2, float const & w2,
+
99  float const & x3, float const & y3, float const & z3, float const & w3);
+
100  explicit fmat4x4SIMD(
+
101  fvec4SIMD const & v0,
+
102  fvec4SIMD const & v1,
+
103  fvec4SIMD const & v2,
+
104  fvec4SIMD const & v3);
+
105  explicit fmat4x4SIMD(
+
106  mat4x4 const & m);
+
107  explicit fmat4x4SIMD(
+
108  __m128 const in[4]);
+
109 
+
110  // Conversions
+
111  //template <typename U>
+
112  //explicit tmat4x4(tmat4x4<U> const & m);
+
113 
+
114  //explicit tmat4x4(tmat2x2<T> const & x);
+
115  //explicit tmat4x4(tmat3x3<T> const & x);
+
116  //explicit tmat4x4(tmat2x3<T> const & x);
+
117  //explicit tmat4x4(tmat3x2<T> const & x);
+
118  //explicit tmat4x4(tmat2x4<T> const & x);
+
119  //explicit tmat4x4(tmat4x2<T> const & x);
+
120  //explicit tmat4x4(tmat3x4<T> const & x);
+
121  //explicit tmat4x4(tmat4x3<T> const & x);
+
122 
+
123  // Accesses
+
124  fvec4SIMD & operator[](length_t i);
+
125  fvec4SIMD const & operator[](length_t i) const;
126 
-
127  detail::fquatSIMD operator+ (
-
128  detail::fquatSIMD const & q,
-
129  detail::fquatSIMD const & p);
-
130 
-
131  detail::fquatSIMD operator* (
-
132  detail::fquatSIMD const & q,
-
133  detail::fquatSIMD const & p);
-
134 
-
135  detail::fvec4SIMD operator* (
-
136  detail::fquatSIMD const & q,
-
137  detail::fvec4SIMD const & v);
-
138 
-
139  detail::fvec4SIMD operator* (
-
140  detail::fvec4SIMD const & v,
-
141  detail::fquatSIMD const & q);
-
142 
-
143  detail::fquatSIMD operator* (
-
144  detail::fquatSIMD const & q,
-
145  float s);
-
146 
-
147  detail::fquatSIMD operator* (
-
148  float s,
-
149  detail::fquatSIMD const & q);
-
150 
-
151  detail::fquatSIMD operator/ (
-
152  detail::fquatSIMD const & q,
-
153  float s);
-
154 
-
155 }//namespace detail
-
156 
-
159 
-
160  typedef glm::detail::fquatSIMD simdQuat;
-
161 
-
164  quat quat_cast(
-
165  detail::fquatSIMD const & x);
-
166 
-
169  detail::fquatSIMD quatSIMD_cast(
-
170  detail::fmat4x4SIMD const & m);
+
127  // Unary updatable operators
+
128  fmat4x4SIMD & operator= (fmat4x4SIMD const & m) GLM_DEFAULT;
+
129  fmat4x4SIMD & operator+= (float const & s);
+
130  fmat4x4SIMD & operator+= (fmat4x4SIMD const & m);
+
131  fmat4x4SIMD & operator-= (float const & s);
+
132  fmat4x4SIMD & operator-= (fmat4x4SIMD const & m);
+
133  fmat4x4SIMD & operator*= (float const & s);
+
134  fmat4x4SIMD & operator*= (fmat4x4SIMD const & m);
+
135  fmat4x4SIMD & operator/= (float const & s);
+
136  fmat4x4SIMD & operator/= (fmat4x4SIMD const & m);
+
137  fmat4x4SIMD & operator++ ();
+
138  fmat4x4SIMD & operator-- ();
+
139  };
+
140 
+
141  // Binary operators
+
142  fmat4x4SIMD operator+ (fmat4x4SIMD const & m, float const & s);
+
143  fmat4x4SIMD operator+ (float const & s, fmat4x4SIMD const & m);
+
144  fmat4x4SIMD operator+ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
145 
+
146  fmat4x4SIMD operator- (fmat4x4SIMD const & m, float const & s);
+
147  fmat4x4SIMD operator- (float const & s, fmat4x4SIMD const & m);
+
148  fmat4x4SIMD operator- (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
149 
+
150  fmat4x4SIMD operator* (fmat4x4SIMD const & m, float const & s);
+
151  fmat4x4SIMD operator* (float const & s, fmat4x4SIMD const & m);
+
152 
+
153  fvec4SIMD operator* (fmat4x4SIMD const & m, fvec4SIMD const & v);
+
154  fvec4SIMD operator* (fvec4SIMD const & v, fmat4x4SIMD const & m);
+
155 
+
156  fmat4x4SIMD operator* (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
157 
+
158  fmat4x4SIMD operator/ (fmat4x4SIMD const & m, float const & s);
+
159  fmat4x4SIMD operator/ (float const & s, fmat4x4SIMD const & m);
+
160 
+
161  fvec4SIMD operator/ (fmat4x4SIMD const & m, fvec4SIMD const & v);
+
162  fvec4SIMD operator/ (fvec4SIMD const & v, fmat4x4SIMD const & m);
+
163 
+
164  fmat4x4SIMD operator/ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
165 
+
166  // Unary constant operators
+
167  fmat4x4SIMD const operator- (fmat4x4SIMD const & m);
+
168  fmat4x4SIMD const operator-- (fmat4x4SIMD const & m, int);
+
169  fmat4x4SIMD const operator++ (fmat4x4SIMD const & m, int);
+
170 }//namespace detail
171 
-
174  template <typename T, precision P>
-
175  detail::fquatSIMD quatSIMD_cast(
-
176  tmat4x4<T, P> const & m);
-
177 
-
180  template <typename T, precision P>
-
181  detail::fquatSIMD quatSIMD_cast(
-
182  tmat3x3<T, P> const & m);
-
183 
-
186  detail::fmat4x4SIMD mat4SIMD_cast(
-
187  detail::fquatSIMD const & q);
+
172  typedef detail::fmat4x4SIMD simdMat4;
+
173 
+
176 
+
179  mat4 mat4_cast(
+
180  detail::fmat4x4SIMD const & x);
+
181 
+
185  detail::fmat4x4SIMD matrixCompMult(
+
186  detail::fmat4x4SIMD const & x,
+
187  detail::fmat4x4SIMD const & y);
188 
-
191  mat4 mat4_cast(
-
192  detail::fquatSIMD const & q);
-
193 
-
194 
-
198  float length(
-
199  detail::fquatSIMD const & x);
-
200 
-
204  detail::fquatSIMD normalize(
-
205  detail::fquatSIMD const & x);
+
193  detail::fmat4x4SIMD outerProduct(
+
194  detail::fvec4SIMD const & c,
+
195  detail::fvec4SIMD const & r);
+
196 
+
199  detail::fmat4x4SIMD transpose(
+
200  detail::fmat4x4SIMD const & x);
+
201 
+
204  float determinant(
+
205  detail::fmat4x4SIMD const & m);
206 
-
210  float dot(
-
211  detail::fquatSIMD const & q1,
-
212  detail::fquatSIMD const & q2);
-
213 
-
224  detail::fquatSIMD mix(
-
225  detail::fquatSIMD const & x,
-
226  detail::fquatSIMD const & y,
-
227  float const & a);
-
228 
-
237  detail::fquatSIMD lerp(
-
238  detail::fquatSIMD const & x,
-
239  detail::fquatSIMD const & y,
-
240  float const & a);
-
241 
-
250  detail::fquatSIMD slerp(
-
251  detail::fquatSIMD const & x,
-
252  detail::fquatSIMD const & y,
-
253  float const & a);
-
254 
-
255 
-
266  detail::fquatSIMD fastMix(
-
267  detail::fquatSIMD const & x,
-
268  detail::fquatSIMD const & y,
-
269  float const & a);
-
270 
-
278  detail::fquatSIMD fastSlerp(
-
279  detail::fquatSIMD const & x,
-
280  detail::fquatSIMD const & y,
-
281  float const & a);
-
282 
-
283 
-
287  detail::fquatSIMD conjugate(
-
288  detail::fquatSIMD const & q);
-
289 
-
293  detail::fquatSIMD inverse(
-
294  detail::fquatSIMD const & q);
-
295 
-
302  detail::fquatSIMD angleAxisSIMD(
-
303  float const & angle,
-
304  vec3 const & axis);
-
305 
-
314  detail::fquatSIMD angleAxisSIMD(
-
315  float const & angle,
-
316  float const & x,
-
317  float const & y,
-
318  float const & z);
-
319 
-
320  // TODO: Move this to somewhere more appropriate. Used with fastMix() and fastSlerp().
-
322  __m128 fastSin(__m128 x);
-
323 
-
325 }//namespace glm
-
326 
-
327 #include "simd_quat.inl"
-
328 
-
329 
-
330 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
331 # pragma warning(pop)
-
332 #endif
-
333 
-
334 
-
335 #endif//(GLM_ARCH != GLM_ARCH_PURE)
-
GLM_FUNC_DECL T fastSin(T angle)
Faster than the common sin function but less accurate.
-
GLM_FUNC_DECL tquat< T, P > quat_cast(tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
-
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
-
GLM_FUNC_DECL tquat< T, P > slerp(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL tvec3< T, P > eulerAngles(tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
-
GLM_FUNC_DECL T dot(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the dot product of x and y, i.e., result = x * y.
-
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
GLM_FUNC_DECL vecType< T, P > normalize(vecType< T, P > const &x)
Returns a vector in the same direction as x but with length of 1.
-
GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tquat< T, P > conjugate(tquat< T, P > const &q)
Returns the q conjugate.
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:397
-
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
-
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL tquat< T, P > fastMix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Quaternion normalized linear interpolation.
-
GLM_FUNC_DECL tquat< T, P > lerp(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
+
209  detail::fmat4x4SIMD inverse(
+
210  detail::fmat4x4SIMD const & m);
+
211 
+
213 }// namespace glm
+
214 
+
215 #include "simd_mat4.inl"
+
216 
+
217 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
GLM_FUNC_DECL T determinant(matType< T, P > const &m)
Returns the transposed matrix of x.
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
+
GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct(vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...
+
GLM_FUNC_DECL matType< T, P > matrixCompMult(matType< T, P > const &x, matType< T, P > const &y)
Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...
diff --git a/doc/api/a00107.html b/doc/api/a00107.html index fdb870ed..9ba880d6 100644 --- a/doc/api/a00107.html +++ b/doc/api/a00107.html @@ -3,8 +3,8 @@ - -0.9.6: simd_vec4.hpp File Reference + +0.9.7: simd_quat.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
simd_vec4.hpp File Reference
+
simd_quat.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_simd_vec4

-
Date
2009-05-07 / 2011-06-07
+

GLM_GTX_simd_quat

+
Date
2013-04-22 / 2014-11-25
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file simd_vec4.hpp.

+

Definition in file simd_quat.hpp.

diff --git a/doc/api/a00107_source.html b/doc/api/a00107_source.html index b23ec07d..d3d7ff9f 100644 --- a/doc/api/a00107_source.html +++ b/doc/api/a00107_source.html @@ -3,8 +3,8 @@ - -0.9.6: simd_vec4.hpp Source File + +0.9.7: simd_quat.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
simd_vec4.hpp
+
simd_quat.hpp
Go to the documentation of this file.
1 
@@ -54,348 +54,233 @@
43 
44 // Dependency:
45 #include "../glm.hpp"
-
46 
-
47 #if(GLM_ARCH != GLM_ARCH_PURE)
+
46 #include "../gtc/quaternion.hpp"
+
47 #include "../gtx/fast_trigonometry.hpp"
48 
-
49 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
50 # include "../detail/intrinsic_common.hpp"
-
51 # include "../detail/intrinsic_geometric.hpp"
-
52 # include "../detail/intrinsic_integer.hpp"
+
49 #if(GLM_ARCH != GLM_ARCH_PURE)
+
50 
+
51 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
52 # include "../gtx/simd_mat4.hpp"
53 #else
-
54 # error "GLM: GLM_GTX_simd_vec4 requires compiler support of SSE2 through intrinsics"
+
54 # error "GLM: GLM_GTX_simd_quat requires compiler support of SSE2 through intrinsics"
55 #endif
56 
57 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
58 # pragma message("GLM: GLM_GTX_simd_vec4 extension included")
+
58 # pragma message("GLM: GLM_GTX_simd_quat extension included")
59 #endif
60 
-
61 
-
62 // Warning silencer for nameless struct/union.
-
63 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
64 # pragma warning(push)
-
65 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
-
66 #endif
-
67 
-
68 namespace glm
+
61 // Warning silencer for nameless struct/union.
+
62 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
63 # pragma warning(push)
+
64 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
+
65 #endif
+
66 
+
67 namespace glm{
+
68 namespace detail
69 {
-
70  enum comp
+
70  GLM_ALIGNED_STRUCT(16) fquatSIMD
71  {
-
72  X = 0,
-
73  R = 0,
-
74  S = 0,
-
75  Y = 1,
-
76  G = 1,
-
77  T = 1,
-
78  Z = 2,
-
79  B = 2,
-
80  P = 2,
-
81  W = 3,
-
82  A = 3,
-
83  Q = 3
-
84  };
-
85 
-
86 }//namespace glm
-
87 
-
88 namespace glm{
-
89 namespace detail
-
90 {
-
93  GLM_ALIGNED_STRUCT(16) fvec4SIMD
-
94  {
-
95  typedef __m128 value_type;
-
96  typedef std::size_t size_type;
-
97  static size_type value_size();
-
98 
-
99  typedef fvec4SIMD type;
-
100  typedef tvec4<bool, highp> bool_type;
-
101 
-
102 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
-
103  union
-
104  {
-
105  __m128 Data;
-
106  struct {float x, y, z, w;};
-
107  };
-
108 #else
-
109  __m128 Data;
-
110 #endif
-
111 
-
113  // Implicit basic constructors
-
114 
-
115  fvec4SIMD();
-
116  fvec4SIMD(__m128 const & Data);
-
117  fvec4SIMD(fvec4SIMD const & v);
-
118 
-
120  // Explicit basic constructors
-
121 
-
122  explicit fvec4SIMD(
-
123  ctor);
-
124  explicit fvec4SIMD(
-
125  float const & s);
-
126  explicit fvec4SIMD(
-
127  float const & x,
-
128  float const & y,
-
129  float const & z,
-
130  float const & w);
-
131  explicit fvec4SIMD(
-
132  vec4 const & v);
-
133 
-
136 
-
137  fvec4SIMD(vec2 const & v, float const & s1, float const & s2);
-
138  fvec4SIMD(float const & s1, vec2 const & v, float const & s2);
-
139  fvec4SIMD(float const & s1, float const & s2, vec2 const & v);
-
140  fvec4SIMD(vec3 const & v, float const & s);
-
141  fvec4SIMD(float const & s, vec3 const & v);
-
142  fvec4SIMD(vec2 const & v1, vec2 const & v2);
-
143  //fvec4SIMD(ivec4SIMD const & v);
-
144 
-
146  // Unary arithmetic operators
+
72  typedef float value_type;
+
73  typedef std::size_t size_type;
+
74 
+
75  typedef fquatSIMD type;
+
76  typedef tquat<bool, defaultp> bool_type;
+
77  typedef tquat<float, defaultp> pure_type;
+
78 
+
79 # ifdef GLM_META_PROG_HELPERS
+
80  static GLM_RELAXED_CONSTEXPR length_t components = 4;
+
81  static GLM_RELAXED_CONSTEXPR precision prec = defaultp;
+
82 # endif//GLM_META_PROG_HELPERS
+
83 
+
84 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
+
85  union
+
86  {
+
87  __m128 Data;
+
88  struct {float x, y, z, w;};
+
89  };
+
90 #else
+
91  __m128 Data;
+
92 #endif
+
93 
+
95  // Implicit basic constructors
+
96 
+
97  fquatSIMD() GLM_DEFAULT_CTOR;
+
98  fquatSIMD(fquatSIMD const & q) GLM_DEFAULT;
+
99  fquatSIMD(__m128 const & Data);
+
100 
+
102  // Explicit basic constructors
+
103 
+
104  explicit fquatSIMD(
+
105  ctor);
+
106  explicit fquatSIMD(
+
107  float const & w,
+
108  float const & x,
+
109  float const & y,
+
110  float const & z);
+
111  explicit fquatSIMD(
+
112  quat const & v);
+
113  explicit fquatSIMD(
+
114  vec3 const & eulerAngles);
+
115 
+
116 
+
118  // Unary arithmetic operators
+
119 
+
120  fquatSIMD& operator= (fquatSIMD const & q) GLM_DEFAULT;
+
121  fquatSIMD& operator*=(float const & s);
+
122  fquatSIMD& operator/=(float const & s);
+
123  };
+
124 
+
125 
+
127  // Arithmetic operators
+
128 
+
129  detail::fquatSIMD operator- (
+
130  detail::fquatSIMD const & q);
+
131 
+
132  detail::fquatSIMD operator+ (
+
133  detail::fquatSIMD const & q,
+
134  detail::fquatSIMD const & p);
+
135 
+
136  detail::fquatSIMD operator* (
+
137  detail::fquatSIMD const & q,
+
138  detail::fquatSIMD const & p);
+
139 
+
140  detail::fvec4SIMD operator* (
+
141  detail::fquatSIMD const & q,
+
142  detail::fvec4SIMD const & v);
+
143 
+
144  detail::fvec4SIMD operator* (
+
145  detail::fvec4SIMD const & v,
+
146  detail::fquatSIMD const & q);
147 
-
148  fvec4SIMD& operator= (fvec4SIMD const & v);
-
149  fvec4SIMD& operator+=(fvec4SIMD const & v);
-
150  fvec4SIMD& operator-=(fvec4SIMD const & v);
-
151  fvec4SIMD& operator*=(fvec4SIMD const & v);
-
152  fvec4SIMD& operator/=(fvec4SIMD const & v);
-
153 
-
154  fvec4SIMD& operator+=(float const & s);
-
155  fvec4SIMD& operator-=(float const & s);
-
156  fvec4SIMD& operator*=(float const & s);
-
157  fvec4SIMD& operator/=(float const & s);
-
158 
-
159  fvec4SIMD& operator++();
-
160  fvec4SIMD& operator--();
+
148  detail::fquatSIMD operator* (
+
149  detail::fquatSIMD const & q,
+
150  float s);
+
151 
+
152  detail::fquatSIMD operator* (
+
153  float s,
+
154  detail::fquatSIMD const & q);
+
155 
+
156  detail::fquatSIMD operator/ (
+
157  detail::fquatSIMD const & q,
+
158  float s);
+
159 
+
160 }//namespace detail
161 
-
163  // Swizzle operators
164 
-
165  template <comp X, comp Y, comp Z, comp W>
-
166  fvec4SIMD& swizzle();
-
167  template <comp X, comp Y, comp Z, comp W>
-
168  fvec4SIMD swizzle() const;
-
169  template <comp X, comp Y, comp Z>
-
170  fvec4SIMD swizzle() const;
-
171  template <comp X, comp Y>
-
172  fvec4SIMD swizzle() const;
-
173  template <comp X>
-
174  fvec4SIMD swizzle() const;
-
175  };
-
176 }//namespace detail
-
177 
-
178  typedef glm::detail::fvec4SIMD simdVec4;
-
179 
+
165  typedef glm::detail::fquatSIMD simdQuat;
+
166 
+
169  quat quat_cast(
+
170  detail::fquatSIMD const & x);
+
171 
+
174  detail::fquatSIMD quatSIMD_cast(
+
175  detail::fmat4x4SIMD const & m);
+
176 
+
179  template <typename T, precision P>
+
180  detail::fquatSIMD quatSIMD_cast(
+
181  tmat4x4<T, P> const & m);
182 
-
185  vec4 vec4_cast(
-
186  detail::fvec4SIMD const & x);
-
187 
-
190  detail::fvec4SIMD abs(detail::fvec4SIMD const & x);
-
191 
-
194  detail::fvec4SIMD sign(detail::fvec4SIMD const & x);
-
195 
-
198  detail::fvec4SIMD floor(detail::fvec4SIMD const & x);
+
185  template <typename T, precision P>
+
186  detail::fquatSIMD quatSIMD_cast(
+
187  tmat3x3<T, P> const & m);
+
188 
+
191  detail::fmat4x4SIMD mat4SIMD_cast(
+
192  detail::fquatSIMD const & q);
+
193 
+
196  mat4 mat4_cast(
+
197  detail::fquatSIMD const & q);
+
198 
199 
-
203  detail::fvec4SIMD trunc(detail::fvec4SIMD const & x);
-
204 
-
212  detail::fvec4SIMD round(detail::fvec4SIMD const & x);
-
213 
-
219  //detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);
-
220 
-
224  detail::fvec4SIMD ceil(detail::fvec4SIMD const & x);
-
225 
-
229  detail::fvec4SIMD fract(detail::fvec4SIMD const & x);
-
230 
-
235  detail::fvec4SIMD mod(
-
236  detail::fvec4SIMD const & x,
-
237  detail::fvec4SIMD const & y);
-
238 
-
243  detail::fvec4SIMD mod(
-
244  detail::fvec4SIMD const & x,
-
245  float const & y);
+
203  float length(
+
204  detail::fquatSIMD const & x);
+
205 
+
209  detail::fquatSIMD normalize(
+
210  detail::fquatSIMD const & x);
+
211 
+
215  float dot(
+
216  detail::fquatSIMD const & q1,
+
217  detail::fquatSIMD const & q2);
+
218 
+
229  detail::fquatSIMD mix(
+
230  detail::fquatSIMD const & x,
+
231  detail::fquatSIMD const & y,
+
232  float const & a);
+
233 
+
242  detail::fquatSIMD lerp(
+
243  detail::fquatSIMD const & x,
+
244  detail::fquatSIMD const & y,
+
245  float const & a);
246 
-
252  //detail::fvec4SIMD modf(
-
253  // detail::fvec4SIMD const & x,
-
254  // detail::fvec4SIMD & i);
-
255 
-
259  detail::fvec4SIMD min(
-
260  detail::fvec4SIMD const & x,
-
261  detail::fvec4SIMD const & y);
-
262 
-
263  detail::fvec4SIMD min(
-
264  detail::fvec4SIMD const & x,
-
265  float const & y);
-
266 
-
270  detail::fvec4SIMD max(
-
271  detail::fvec4SIMD const & x,
-
272  detail::fvec4SIMD const & y);
-
273 
-
274  detail::fvec4SIMD max(
-
275  detail::fvec4SIMD const & x,
-
276  float const & y);
-
277 
-
282  detail::fvec4SIMD clamp(
-
283  detail::fvec4SIMD const & x,
-
284  detail::fvec4SIMD const & minVal,
-
285  detail::fvec4SIMD const & maxVal);
-
286 
-
287  detail::fvec4SIMD clamp(
-
288  detail::fvec4SIMD const & x,
-
289  float const & minVal,
-
290  float const & maxVal);
-
291 
-
318  detail::fvec4SIMD mix(
-
319  detail::fvec4SIMD const & x,
-
320  detail::fvec4SIMD const & y,
-
321  detail::fvec4SIMD const & a);
-
322 
-
326  detail::fvec4SIMD step(
-
327  detail::fvec4SIMD const & edge,
-
328  detail::fvec4SIMD const & x);
-
329 
-
330  detail::fvec4SIMD step(
-
331  float const & edge,
-
332  detail::fvec4SIMD const & x);
+
255  detail::fquatSIMD slerp(
+
256  detail::fquatSIMD const & x,
+
257  detail::fquatSIMD const & y,
+
258  float const & a);
+
259 
+
260 
+
271  detail::fquatSIMD fastMix(
+
272  detail::fquatSIMD const & x,
+
273  detail::fquatSIMD const & y,
+
274  float const & a);
+
275 
+
283  detail::fquatSIMD fastSlerp(
+
284  detail::fquatSIMD const & x,
+
285  detail::fquatSIMD const & y,
+
286  float const & a);
+
287 
+
288 
+
292  detail::fquatSIMD conjugate(
+
293  detail::fquatSIMD const & q);
+
294 
+
298  detail::fquatSIMD inverse(
+
299  detail::fquatSIMD const & q);
+
300 
+
307  detail::fquatSIMD angleAxisSIMD(
+
308  float const & angle,
+
309  vec3 const & axis);
+
310 
+
319  detail::fquatSIMD angleAxisSIMD(
+
320  float const & angle,
+
321  float const & x,
+
322  float const & y,
+
323  float const & z);
+
324 
+
325  // TODO: Move this to somewhere more appropriate. Used with fastMix() and fastSlerp().
+
327  __m128 fastSin(__m128 x);
+
328 
+
330 }//namespace glm
+
331 
+
332 #include "simd_quat.inl"
333 
-
345  detail::fvec4SIMD smoothstep(
-
346  detail::fvec4SIMD const & edge0,
-
347  detail::fvec4SIMD const & edge1,
-
348  detail::fvec4SIMD const & x);
-
349 
-
350  detail::fvec4SIMD smoothstep(
-
351  float const & edge0,
-
352  float const & edge1,
-
353  detail::fvec4SIMD const & x);
-
354 
-
362  //bvec4 isnan(detail::fvec4SIMD const & x);
-
363 
-
371  //bvec4 isinf(detail::fvec4SIMD const & x);
-
372 
-
378  //detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);
-
379 
-
387  //detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);
-
388 
-
392  detail::fvec4SIMD fma(
-
393  detail::fvec4SIMD const & a,
-
394  detail::fvec4SIMD const & b,
-
395  detail::fvec4SIMD const & c);
-
396 
-
407  //detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);
-
408 
-
416  //detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);
-
417 
-
421  float length(
-
422  detail::fvec4SIMD const & x);
-
423 
-
428  float fastLength(
-
429  detail::fvec4SIMD const & x);
-
430 
-
435  float niceLength(
-
436  detail::fvec4SIMD const & x);
-
437 
-
441  detail::fvec4SIMD length4(
-
442  detail::fvec4SIMD const & x);
-
443 
-
448  detail::fvec4SIMD fastLength4(
-
449  detail::fvec4SIMD const & x);
-
450 
-
455  detail::fvec4SIMD niceLength4(
-
456  detail::fvec4SIMD const & x);
-
457 
-
461  float distance(
-
462  detail::fvec4SIMD const & p0,
-
463  detail::fvec4SIMD const & p1);
-
464 
-
468  detail::fvec4SIMD distance4(
-
469  detail::fvec4SIMD const & p0,
-
470  detail::fvec4SIMD const & p1);
-
471 
-
475  float simdDot(
-
476  detail::fvec4SIMD const & x,
-
477  detail::fvec4SIMD const & y);
-
478 
-
482  detail::fvec4SIMD dot4(
-
483  detail::fvec4SIMD const & x,
-
484  detail::fvec4SIMD const & y);
-
485 
-
489  detail::fvec4SIMD cross(
-
490  detail::fvec4SIMD const & x,
-
491  detail::fvec4SIMD const & y);
-
492 
-
496  detail::fvec4SIMD normalize(
-
497  detail::fvec4SIMD const & x);
-
498 
-
503  detail::fvec4SIMD fastNormalize(
-
504  detail::fvec4SIMD const & x);
-
505 
-
509  detail::fvec4SIMD simdFaceforward(
-
510  detail::fvec4SIMD const & N,
-
511  detail::fvec4SIMD const & I,
-
512  detail::fvec4SIMD const & Nref);
-
513 
-
518  detail::fvec4SIMD reflect(
-
519  detail::fvec4SIMD const & I,
-
520  detail::fvec4SIMD const & N);
-
521 
-
527  detail::fvec4SIMD refract(
-
528  detail::fvec4SIMD const & I,
-
529  detail::fvec4SIMD const & N,
-
530  float const & eta);
-
531 
-
535  detail::fvec4SIMD sqrt(
-
536  detail::fvec4SIMD const & x);
-
537 
-
542  detail::fvec4SIMD niceSqrt(
-
543  detail::fvec4SIMD const & x);
-
544 
-
549  detail::fvec4SIMD fastSqrt(
-
550  detail::fvec4SIMD const & x);
-
551 
-
555  detail::fvec4SIMD inversesqrt(
-
556  detail::fvec4SIMD const & x);
-
557 
-
562  detail::fvec4SIMD fastInversesqrt(
-
563  detail::fvec4SIMD const & x);
-
564 
-
566 }//namespace glm
-
567 
-
568 #include "simd_vec4.inl"
-
569 
-
570 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
571 # pragma warning(pop)
-
572 #endif
-
573 
-
574 #endif//(GLM_ARCH != GLM_ARCH_PURE)
-
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
-
GLM_FUNC_DECL vecType< T, P > inversesqrt(vecType< T, P > const &v)
Returns the reciprocal of the positive square root of v.
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:402
-
GLM_FUNC_DECL vecType< T, P > trunc(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...
-
GLM_FUNC_DECL genType fastSqrt(genType x)
Faster than the common sqrt function but less accurate.
-
GLM_FUNC_DECL vecType< T, P > floor(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
-
GLM_FUNC_DECL genType min(genType x, genType y)
Returns y if y < x; otherwise, it returns x.
-
GLM_FUNC_DECL genType mod(genType x, genType y)
Modulus.
-
GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
-
GLM_FUNC_DECL genType reflect(genType const &I, genType const &N)
For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...
-
GLM_FUNC_DECL T distance(vecType< T, P > const &p0, vecType< T, P > const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
-
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
-
GLM_FUNC_DECL genType step(genType edge, genType x)
Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType.
-
GLM_FUNC_DECL genType fract(genType x)
Return x - floor(x).
-
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
GLM_FUNC_DECL vecType< T, P > normalize(vecType< T, P > const &x)
Returns a vector in the same direction as x but with length of 1.
-
GLM_FUNC_DECL tvec3< T, P > cross(tvec3< T, P > const &x, tvec3< T, P > const &y)
Returns the cross product of x and y.
-
GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
-
GLM_FUNC_DECL genType max(genType x, genType y)
Returns y if x < y; otherwise, it returns x.
-
GLM_FUNC_DECL genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType abs(genType x)
Returns x if x >= 0; otherwise, it returns -x.
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:397
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:392
-
GLM_FUNC_DECL vecType< T, P > sqrt(vecType< T, P > const &v)
Returns the positive square root of v.
-
GLM_FUNC_DECL vecType< T, P > sign(vecType< T, P > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
-
GLM_FUNC_DECL genType fastLength(genType x)
Faster than the common length function but less accurate.
-
GLM_FUNC_DECL vecType< T, P > ceil(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
-
GLM_FUNC_DECL vecType< T, P > round(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x.
+
334 
+
335 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
336 # pragma warning(pop)
+
337 #endif
+
338 
+
339 
+
340 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
GLM_FUNC_DECL tquat< T, P > fastMix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Quaternion normalized linear interpolation.
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
GLM_FUNC_DECL tquat< T, P > conjugate(tquat< T, P > const &q)
Returns the q conjugate.
+
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL tquat< T, P > lerp(tquat< T, P > const &x, tquat< T, P > const &y, T a)
Linear interpolation of two quaternions.
+
GLM_FUNC_DECL vecType< T, P > normalize(vecType< T, P > const &x)
Returns a vector in the same direction as x but with length of 1.
+
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tvec3< T, P > eulerAngles(tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:395
+
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
+
GLM_FUNC_DECL T fastSin(T angle)
Faster than the common sin function but less accurate.
+
GLM_FUNC_DECL tquat< T, P > quat_cast(tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
+
GLM_FUNC_DECL tquat< T, P > slerp(tquat< T, P > const &x, tquat< T, P > const &y, T a)
Spherical linear interpolation of two quaternions.
+
GLM_FUNC_DECL T dot(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the dot product of x and y, i.e., result = x * y.
+
GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
diff --git a/doc/api/a00108.html b/doc/api/a00108.html index 8a877344..d2c80ba6 100644 --- a/doc/api/a00108.html +++ b/doc/api/a00108.html @@ -3,8 +3,8 @@ - -0.9.6: spline.hpp File Reference + +0.9.7: simd_vec4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
spline.hpp File Reference
+
simd_vec4.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_spline

-
Date
2007-01-25 / 2011-06-07
+

GLM_GTX_simd_vec4

+
Date
2009-05-07 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file spline.hpp.

+

Definition in file simd_vec4.hpp.

diff --git a/doc/api/a00108_source.html b/doc/api/a00108_source.html index af48ba4f..fc7a0af7 100644 --- a/doc/api/a00108_source.html +++ b/doc/api/a00108_source.html @@ -3,8 +3,8 @@ - -0.9.6: spline.hpp Source File + +0.9.7: simd_vec4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
spline.hpp
+
simd_vec4.hpp
Go to the documentation of this file.
1 
@@ -54,52 +54,353 @@
43 
44 // Dependency:
45 #include "../glm.hpp"
-
46 #include "../gtx/optimum_pow.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_spline extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
+
46 
+
47 #if(GLM_ARCH != GLM_ARCH_PURE)
+
48 
+
49 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
50 # include "../detail/intrinsic_common.hpp"
+
51 # include "../detail/intrinsic_geometric.hpp"
+
52 # include "../detail/intrinsic_integer.hpp"
+
53 #else
+
54 # error "GLM: GLM_GTX_simd_vec4 requires compiler support of SSE2 through intrinsics"
+
55 #endif
56 
-
59  template <typename genType>
-
60  GLM_FUNC_DECL genType catmullRom(
-
61  genType const & v1,
-
62  genType const & v2,
-
63  genType const & v3,
-
64  genType const & v4,
-
65  typename genType::value_type const & s);
-
66 
-
69  template <typename genType>
-
70  GLM_FUNC_DECL genType hermite(
-
71  genType const & v1,
-
72  genType const & t1,
-
73  genType const & v2,
-
74  genType const & t2,
-
75  typename genType::value_type const & s);
-
76 
-
79  template <typename genType>
-
80  GLM_FUNC_DECL genType cubic(
-
81  genType const & v1,
-
82  genType const & v2,
-
83  genType const & v3,
-
84  genType const & v4,
-
85  typename genType::value_type const & s);
-
86 
-
88 }//namespace glm
-
89 
-
90 #include "spline.inl"
-
GLM_FUNC_DECL genType catmullRom(genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
Return a point from a catmull rom curve.
-
GLM_FUNC_DECL genType cubic(genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
Return a point from a cubic curve.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL genType hermite(genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
Return a point from a hermite curve.
+
57 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
58 # pragma message("GLM: GLM_GTX_simd_vec4 extension included")
+
59 #endif
+
60 
+
61 
+
62 // Warning silencer for nameless struct/union.
+
63 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
64 # pragma warning(push)
+
65 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
+
66 #endif
+
67 
+
68 namespace glm
+
69 {
+
70  enum comp
+
71  {
+
72  X = 0,
+
73  R = 0,
+
74  S = 0,
+
75  Y = 1,
+
76  G = 1,
+
77  T = 1,
+
78  Z = 2,
+
79  B = 2,
+
80  P = 2,
+
81  W = 3,
+
82  A = 3,
+
83  Q = 3
+
84  };
+
85 
+
86 }//namespace glm
+
87 
+
88 namespace glm{
+
89 namespace detail
+
90 {
+
93  GLM_ALIGNED_STRUCT(16) fvec4SIMD
+
94  {
+
95  typedef float value_type;
+
96  typedef std::size_t size_type;
+
97 
+
98  typedef fvec4SIMD type;
+
99  typedef tvec4<float, defaultp> pure_type;
+
100  typedef tvec4<bool, highp> bool_type;
+
101 
+
102 # ifdef GLM_META_PROG_HELPERS
+
103  static GLM_RELAXED_CONSTEXPR length_t components = 4;
+
104  static GLM_RELAXED_CONSTEXPR precision prec = defaultp;
+
105 # endif//GLM_META_PROG_HELPERS
+
106 
+
107 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
+
108  union
+
109  {
+
110  __m128 Data;
+
111  struct {float x, y, z, w;};
+
112  };
+
113 #else
+
114  __m128 Data;
+
115 #endif
+
116 
+
118  // Implicit basic constructors
+
119 
+
120  fvec4SIMD() GLM_DEFAULT_CTOR;
+
121  fvec4SIMD(fvec4SIMD const & v) GLM_DEFAULT;
+
122  fvec4SIMD(__m128 const & Data);
+
123 
+
125  // Explicit basic constructors
+
126 
+
127  explicit fvec4SIMD(
+
128  ctor);
+
129  explicit fvec4SIMD(
+
130  float const & s);
+
131  explicit fvec4SIMD(
+
132  float const & x,
+
133  float const & y,
+
134  float const & z,
+
135  float const & w);
+
136  explicit fvec4SIMD(
+
137  vec4 const & v);
+
138 
+
141 
+
142  fvec4SIMD(vec2 const & v, float const & s1, float const & s2);
+
143  fvec4SIMD(float const & s1, vec2 const & v, float const & s2);
+
144  fvec4SIMD(float const & s1, float const & s2, vec2 const & v);
+
145  fvec4SIMD(vec3 const & v, float const & s);
+
146  fvec4SIMD(float const & s, vec3 const & v);
+
147  fvec4SIMD(vec2 const & v1, vec2 const & v2);
+
148  //fvec4SIMD(ivec4SIMD const & v);
+
149 
+
151  // Unary arithmetic operators
+
152 
+
153  fvec4SIMD& operator= (fvec4SIMD const & v) GLM_DEFAULT;
+
154  fvec4SIMD& operator+=(fvec4SIMD const & v);
+
155  fvec4SIMD& operator-=(fvec4SIMD const & v);
+
156  fvec4SIMD& operator*=(fvec4SIMD const & v);
+
157  fvec4SIMD& operator/=(fvec4SIMD const & v);
+
158 
+
159  fvec4SIMD& operator+=(float const & s);
+
160  fvec4SIMD& operator-=(float const & s);
+
161  fvec4SIMD& operator*=(float const & s);
+
162  fvec4SIMD& operator/=(float const & s);
+
163 
+
164  fvec4SIMD& operator++();
+
165  fvec4SIMD& operator--();
+
166 
+
168  // Swizzle operators
+
169 
+
170  template <comp X, comp Y, comp Z, comp W>
+
171  fvec4SIMD& swizzle();
+
172  template <comp X, comp Y, comp Z, comp W>
+
173  fvec4SIMD swizzle() const;
+
174  template <comp X, comp Y, comp Z>
+
175  fvec4SIMD swizzle() const;
+
176  template <comp X, comp Y>
+
177  fvec4SIMD swizzle() const;
+
178  template <comp X>
+
179  fvec4SIMD swizzle() const;
+
180  };
+
181 }//namespace detail
+
182 
+
183  typedef glm::detail::fvec4SIMD simdVec4;
+
184 
+
187 
+
190  vec4 vec4_cast(
+
191  detail::fvec4SIMD const & x);
+
192 
+
195  detail::fvec4SIMD abs(detail::fvec4SIMD const & x);
+
196 
+
199  detail::fvec4SIMD sign(detail::fvec4SIMD const & x);
+
200 
+
203  detail::fvec4SIMD floor(detail::fvec4SIMD const & x);
+
204 
+
208  detail::fvec4SIMD trunc(detail::fvec4SIMD const & x);
+
209 
+
217  detail::fvec4SIMD round(detail::fvec4SIMD const & x);
+
218 
+
224  //detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);
+
225 
+
229  detail::fvec4SIMD ceil(detail::fvec4SIMD const & x);
+
230 
+
234  detail::fvec4SIMD fract(detail::fvec4SIMD const & x);
+
235 
+
240  detail::fvec4SIMD mod(
+
241  detail::fvec4SIMD const & x,
+
242  detail::fvec4SIMD const & y);
+
243 
+
248  detail::fvec4SIMD mod(
+
249  detail::fvec4SIMD const & x,
+
250  float const & y);
+
251 
+
257  //detail::fvec4SIMD modf(
+
258  // detail::fvec4SIMD const & x,
+
259  // detail::fvec4SIMD & i);
+
260 
+
264  detail::fvec4SIMD min(
+
265  detail::fvec4SIMD const & x,
+
266  detail::fvec4SIMD const & y);
+
267 
+
268  detail::fvec4SIMD min(
+
269  detail::fvec4SIMD const & x,
+
270  float const & y);
+
271 
+
275  detail::fvec4SIMD max(
+
276  detail::fvec4SIMD const & x,
+
277  detail::fvec4SIMD const & y);
+
278 
+
279  detail::fvec4SIMD max(
+
280  detail::fvec4SIMD const & x,
+
281  float const & y);
+
282 
+
287  detail::fvec4SIMD clamp(
+
288  detail::fvec4SIMD const & x,
+
289  detail::fvec4SIMD const & minVal,
+
290  detail::fvec4SIMD const & maxVal);
+
291 
+
292  detail::fvec4SIMD clamp(
+
293  detail::fvec4SIMD const & x,
+
294  float const & minVal,
+
295  float const & maxVal);
+
296 
+
323  detail::fvec4SIMD mix(
+
324  detail::fvec4SIMD const & x,
+
325  detail::fvec4SIMD const & y,
+
326  detail::fvec4SIMD const & a);
+
327 
+
331  detail::fvec4SIMD step(
+
332  detail::fvec4SIMD const & edge,
+
333  detail::fvec4SIMD const & x);
+
334 
+
335  detail::fvec4SIMD step(
+
336  float const & edge,
+
337  detail::fvec4SIMD const & x);
+
338 
+
350  detail::fvec4SIMD smoothstep(
+
351  detail::fvec4SIMD const & edge0,
+
352  detail::fvec4SIMD const & edge1,
+
353  detail::fvec4SIMD const & x);
+
354 
+
355  detail::fvec4SIMD smoothstep(
+
356  float const & edge0,
+
357  float const & edge1,
+
358  detail::fvec4SIMD const & x);
+
359 
+
367  //bvec4 isnan(detail::fvec4SIMD const & x);
+
368 
+
376  //bvec4 isinf(detail::fvec4SIMD const & x);
+
377 
+
383  //detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);
+
384 
+
392  //detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);
+
393 
+
397  detail::fvec4SIMD fma(
+
398  detail::fvec4SIMD const & a,
+
399  detail::fvec4SIMD const & b,
+
400  detail::fvec4SIMD const & c);
+
401 
+
412  //detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);
+
413 
+
421  //detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);
+
422 
+
426  float length(
+
427  detail::fvec4SIMD const & x);
+
428 
+
433  float fastLength(
+
434  detail::fvec4SIMD const & x);
+
435 
+
440  float niceLength(
+
441  detail::fvec4SIMD const & x);
+
442 
+
446  detail::fvec4SIMD length4(
+
447  detail::fvec4SIMD const & x);
+
448 
+
453  detail::fvec4SIMD fastLength4(
+
454  detail::fvec4SIMD const & x);
+
455 
+
460  detail::fvec4SIMD niceLength4(
+
461  detail::fvec4SIMD const & x);
+
462 
+
466  float distance(
+
467  detail::fvec4SIMD const & p0,
+
468  detail::fvec4SIMD const & p1);
+
469 
+
473  detail::fvec4SIMD distance4(
+
474  detail::fvec4SIMD const & p0,
+
475  detail::fvec4SIMD const & p1);
+
476 
+
480  float simdDot(
+
481  detail::fvec4SIMD const & x,
+
482  detail::fvec4SIMD const & y);
+
483 
+
487  detail::fvec4SIMD dot4(
+
488  detail::fvec4SIMD const & x,
+
489  detail::fvec4SIMD const & y);
+
490 
+
494  detail::fvec4SIMD cross(
+
495  detail::fvec4SIMD const & x,
+
496  detail::fvec4SIMD const & y);
+
497 
+
501  detail::fvec4SIMD normalize(
+
502  detail::fvec4SIMD const & x);
+
503 
+
508  detail::fvec4SIMD fastNormalize(
+
509  detail::fvec4SIMD const & x);
+
510 
+
514  detail::fvec4SIMD simdFaceforward(
+
515  detail::fvec4SIMD const & N,
+
516  detail::fvec4SIMD const & I,
+
517  detail::fvec4SIMD const & Nref);
+
518 
+
523  detail::fvec4SIMD reflect(
+
524  detail::fvec4SIMD const & I,
+
525  detail::fvec4SIMD const & N);
+
526 
+
532  detail::fvec4SIMD refract(
+
533  detail::fvec4SIMD const & I,
+
534  detail::fvec4SIMD const & N,
+
535  float const & eta);
+
536 
+
540  detail::fvec4SIMD sqrt(
+
541  detail::fvec4SIMD const & x);
+
542 
+
547  detail::fvec4SIMD niceSqrt(
+
548  detail::fvec4SIMD const & x);
+
549 
+
554  detail::fvec4SIMD fastSqrt(
+
555  detail::fvec4SIMD const & x);
+
556 
+
560  detail::fvec4SIMD inversesqrt(
+
561  detail::fvec4SIMD const & x);
+
562 
+
567  detail::fvec4SIMD fastInversesqrt(
+
568  detail::fvec4SIMD const & x);
+
569 
+
571 }//namespace glm
+
572 
+
573 #include "simd_vec4.inl"
+
574 
+
575 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
576 # pragma warning(pop)
+
577 #endif
+
578 
+
579 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
GLM_FUNC_DECL T distance(vecType< T, P > const &p0, vecType< T, P > const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
+
GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
+
GLM_FUNC_DECL vecType< T, P > floor(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
+
GLM_FUNC_DECL genType fract(genType x)
Return x - floor(x).
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
GLM_FUNC_DECL genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:390
+
GLM_FUNC_DECL vecType< T, P > ceil(vecType< T, P > const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
+
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
+
GLM_FUNC_DECL vecType< T, P > trunc(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...
+
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
+
GLM_FUNC_DECL genType fastLength(genType x)
Faster than the common length function but less accurate.
+
GLM_FUNC_DECL vecType< T, P > round(vecType< T, P > const &x)
Returns a value equal to the nearest integer to x.
+
GLM_FUNC_DECL vecType< T, P > normalize(vecType< T, P > const &x)
Returns a vector in the same direction as x but with length of 1.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< T, P > sign(vecType< T, P > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
+
GLM_FUNC_DECL genType reflect(genType const &I, genType const &N)
For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...
+
GLM_FUNC_DECL genType fastSqrt(genType x)
Faster than the common sqrt function but less accurate.
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:400
+
GLM_FUNC_DECL genType max(genType x, genType y)
Returns y if x < y; otherwise, it returns x.
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:395
+
GLM_FUNC_DECL genType abs(genType x)
Returns x if x >= 0; otherwise, it returns -x.
+
GLM_FUNC_DECL genType min(genType x, genType y)
Returns y if y < x; otherwise, it returns x.
+
GLM_FUNC_DECL vecType< T, P > inversesqrt(vecType< T, P > const &v)
Returns the reciprocal of the positive square root of v.
+
GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
GLM_FUNC_DECL genType step(genType edge, genType x)
Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType.
+
GLM_FUNC_DECL genType mod(genType x, genType y)
Modulus.
+
GLM_FUNC_DECL vecType< T, P > sqrt(vecType< T, P > const &v)
Returns the positive square root of v.
+
GLM_FUNC_DECL tvec3< T, P > cross(tvec3< T, P > const &x, tvec3< T, P > const &y)
Returns the cross product of x and y.
diff --git a/doc/api/a00109.html b/doc/api/a00109.html index ddac88bb..c8c9a664 100644 --- a/doc/api/a00109.html +++ b/doc/api/a00109.html @@ -3,8 +3,8 @@ - -0.9.6: std_based_type.hpp File Reference + +0.9.7: spline.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
std_based_type.hpp File Reference
+
spline.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - + + + + + + + + + +

-Typedefs

typedef tvec1< std::size_t,
-defaultp > 
size1
 
typedef tvec1< std::size_t,
-defaultp > 
size1_t
 
typedef tvec2< std::size_t,
-defaultp > 
size2
 
typedef tvec2< std::size_t,
-defaultp > 
size2_t
 
typedef tvec3< std::size_t,
-defaultp > 
size3
 
typedef tvec3< std::size_t,
-defaultp > 
size3_t
 
typedef tvec4< std::size_t,
-defaultp > 
size4
 
typedef tvec4< std::size_t,
-defaultp > 
size4_t
 

+Functions

template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_std_based_type

-
Date
2008-06-08 / 2011-06-07
+

GLM_GTX_spline

+
Date
2007-01-25 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
+
See also
GLM Core (dependence)
-

Definition in file std_based_type.hpp.

+

Definition in file spline.hpp.

diff --git a/doc/api/a00109_source.html b/doc/api/a00109_source.html index 7fe5fde1..f5019e6b 100644 --- a/doc/api/a00109_source.html +++ b/doc/api/a00109_source.html @@ -3,8 +3,8 @@ - -0.9.6: std_based_type.hpp Source File + +0.9.7: spline.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
std_based_type.hpp
+
spline.hpp
Go to the documentation of this file.
1 
@@ -54,49 +54,52 @@
43 
44 // Dependency:
45 #include "../glm.hpp"
-
46 #include <cstdlib>
+
46 #include "../gtx/optimum_pow.hpp"
47 
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_std_based_type extension included")
+
49 # pragma message("GLM: GLM_GTX_spline extension included")
50 #endif
51 
-
52 namespace glm
+
52 namespace glm
53 {
56 
-
59  typedef tvec1<std::size_t, defaultp> size1;
-
60 
-
63  typedef tvec2<std::size_t, defaultp> size2;
-
64 
-
67  typedef tvec3<std::size_t, defaultp> size3;
-
68 
-
71  typedef tvec4<std::size_t, defaultp> size4;
-
72 
-
75  typedef tvec1<std::size_t, defaultp> size1_t;
-
76 
-
79  typedef tvec2<std::size_t, defaultp> size2_t;
-
80 
-
83  typedef tvec3<std::size_t, defaultp> size3_t;
-
84 
-
87  typedef tvec4<std::size_t, defaultp> size4_t;
-
88 
-
90 }//namespace glm
-
91 
-
92 #include "std_based_type.inl"
-
tvec1< std::size_t, defaultp > size1
Vector type based of one std::size_t component.
-
tvec2< std::size_t, defaultp > size2
Vector type based of two std::size_t components.
-
tvec4< std::size_t, defaultp > size4
Vector type based of four std::size_t components.
-
tvec2< std::size_t, defaultp > size2_t
Vector type based of two std::size_t components.
-
tvec4< std::size_t, defaultp > size4_t
Vector type based of four std::size_t components.
-
tvec1< std::size_t, defaultp > size1_t
Vector type based of one std::size_t component.
-
tvec3< std::size_t, defaultp > size3
Vector type based of three std::size_t components.
-
tvec3< std::size_t, defaultp > size3_t
Vector type based of three std::size_t components.
-
Definition: _noise.hpp:39
+
59  template <typename genType>
+
60  GLM_FUNC_DECL genType catmullRom(
+
61  genType const & v1,
+
62  genType const & v2,
+
63  genType const & v3,
+
64  genType const & v4,
+
65  typename genType::value_type const & s);
+
66 
+
69  template <typename genType>
+
70  GLM_FUNC_DECL genType hermite(
+
71  genType const & v1,
+
72  genType const & t1,
+
73  genType const & v2,
+
74  genType const & t2,
+
75  typename genType::value_type const & s);
+
76 
+
79  template <typename genType>
+
80  GLM_FUNC_DECL genType cubic(
+
81  genType const & v1,
+
82  genType const & v2,
+
83  genType const & v3,
+
84  genType const & v4,
+
85  typename genType::value_type const & s);
+
86 
+
88 }//namespace glm
+
89 
+
90 #include "spline.inl"
+
GLM_FUNC_DECL genType cubic(genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
Return a point from a cubic curve.
+
GLM_FUNC_DECL genType catmullRom(genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
Return a point from a catmull rom curve.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType hermite(genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
Return a point from a hermite curve.
diff --git a/doc/api/a00110.html b/doc/api/a00110.html index ff4cbeea..1feb6182 100644 --- a/doc/api/a00110.html +++ b/doc/api/a00110.html @@ -3,8 +3,8 @@ - -0.9.6: string_cast.hpp File Reference + +0.9.7: std_based_type.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Typedefs
-
string_cast.hpp File Reference
+
std_based_type.hpp File Reference

Go to the source code of this file.

- - - - + + + + + + + + + + + + + + + + +

-Functions

template<template< typename, precision > class matType, typename T , precision P>
GLM_FUNC_DECL std::string to_string (matType< T, P > const &x)
 

+Typedefs

typedef tvec1< std::size_t, defaultp > size1
 
typedef tvec1< std::size_t, defaultp > size1_t
 
typedef tvec2< std::size_t, defaultp > size2
 
typedef tvec2< std::size_t, defaultp > size2_t
 
typedef tvec3< std::size_t, defaultp > size3
 
typedef tvec3< std::size_t, defaultp > size3_t
 
typedef tvec4< std::size_t, defaultp > size4
 
typedef tvec4< std::size_t, defaultp > size4_t
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_string_cast

-
Date
2008-04-26 / 2014-05-10
+

GLM_GTX_std_based_type

+
Date
2008-06-08 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-gtc_half_float (dependence)
-
-GLM_GTX_integer (dependence)
-
-GLM_GTX_quaternion (dependence)
+GLM_GTX_extented_min_max (dependence)
-

Definition in file string_cast.hpp.

+

Definition in file std_based_type.hpp.

diff --git a/doc/api/a00110_source.html b/doc/api/a00110_source.html index bb9d9e79..cfa3a573 100644 --- a/doc/api/a00110_source.html +++ b/doc/api/a00110_source.html @@ -3,8 +3,8 @@ - -0.9.6: string_cast.hpp Source File + +0.9.7: std_based_type.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
string_cast.hpp
+
std_based_type.hpp
Go to the documentation of this file.
1 
-
46 #pragma once
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 #include <cstdlib>
47 
-
48 // Dependency:
-
49 #include "../glm.hpp"
-
50 #include "../gtc/type_precision.hpp"
-
51 #include <string>
-
52 
-
53 #if(GLM_COMPILER & GLM_COMPILER_CUDA)
-
54 # error "GLM_GTX_string_cast is not supported on CUDA compiler"
-
55 #endif
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_std_based_type extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
56 
-
57 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
58 # pragma message("GLM: GLM_GTX_string_cast extension included")
-
59 #endif
+
59  typedef tvec1<std::size_t, defaultp> size1;
60 
-
61 namespace glm
-
62 {
-
65 
-
68  template <template <typename, precision> class matType, typename T, precision P>
-
69  GLM_FUNC_DECL std::string to_string(matType<T, P> const & x);
-
70 
-
72 }//namespace glm
-
73 
-
74 #include "string_cast.inl"
-
GLM_FUNC_DECL std::string to_string(matType< T, P > const &x)
Create a string from a GLM vector or matrix typed variable.
-
Definition: _noise.hpp:39
+
63  typedef tvec2<std::size_t, defaultp> size2;
+
64 
+
67  typedef tvec3<std::size_t, defaultp> size3;
+
68 
+
71  typedef tvec4<std::size_t, defaultp> size4;
+
72 
+
75  typedef tvec1<std::size_t, defaultp> size1_t;
+
76 
+
79  typedef tvec2<std::size_t, defaultp> size2_t;
+
80 
+
83  typedef tvec3<std::size_t, defaultp> size3_t;
+
84 
+
87  typedef tvec4<std::size_t, defaultp> size4_t;
+
88 
+
90 }//namespace glm
+
91 
+
92 #include "std_based_type.inl"
+
tvec4< std::size_t, defaultp > size4
Vector type based of four std::size_t components.
+
tvec1< std::size_t, defaultp > size1
Vector type based of one std::size_t component.
+
tvec2< std::size_t, defaultp > size2_t
Vector type based of two std::size_t components.
+
tvec3< std::size_t, defaultp > size3
Vector type based of three std::size_t components.
+
tvec1< std::size_t, defaultp > size1_t
Vector type based of one std::size_t component.
+
tvec3< std::size_t, defaultp > size3_t
Vector type based of three std::size_t components.
+
Definition: _noise.hpp:40
+
tvec4< std::size_t, defaultp > size4_t
Vector type based of four std::size_t components.
+
tvec2< std::size_t, defaultp > size2
Vector type based of two std::size_t components.
diff --git a/doc/api/a00111.html b/doc/api/a00111.html index e7bfc19f..5ab613a9 100644 --- a/doc/api/a00111.html +++ b/doc/api/a00111.html @@ -3,8 +3,8 @@ - -0.9.6: transform.hpp File Reference + +0.9.7: string_cast.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
transform.hpp File Reference
+
string_cast.hpp File Reference
@@ -56,40 +56,34 @@ - - - - - - - - - + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (T angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tvec3< T, P > const &v)
 
template<template< typename, precision > class matType, typename T , precision P>
GLM_FUNC_DECL std::string to_string (matType< T, P > const &x)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_transform

-
Date
2005-12-21 / 2011-06-07
+

GLM_GTX_string_cast

+
Date
2008-04-26 / 2014-05-10
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTC_matrix_transform (dependence)
+gtc_half_float (dependence)
-GLM_GTX_transform
+GLM_GTX_integer (dependence)
-GLM_GTX_transform2
+GLM_GTX_quaternion (dependence)
-

Definition in file transform.hpp.

+

Definition in file string_cast.hpp.

diff --git a/doc/api/a00111_source.html b/doc/api/a00111_source.html index 0ec27fdf..fa8dab0a 100644 --- a/doc/api/a00111_source.html +++ b/doc/api/a00111_source.html @@ -3,8 +3,8 @@ - -0.9.6: transform.hpp Source File + +0.9.7: string_cast.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
transform.hpp
+
string_cast.hpp
Go to the documentation of this file.
1 
-
45 #pragma once
-
46 
-
47 // Dependency:
-
48 #include "../glm.hpp"
-
49 #include "../gtc/matrix_transform.hpp"
-
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
52 # pragma message("GLM: GLM_GTX_transform extension included")
-
53 #endif
-
54 
-
55 namespace glm
-
56 {
-
59 
-
63  template <typename T, precision P>
-
64  GLM_FUNC_DECL tmat4x4<T, P> translate(
-
65  tvec3<T, P> const & v);
-
66 
-
70  template <typename T, precision P>
-
71  GLM_FUNC_DECL tmat4x4<T, P> rotate(
-
72  T angle,
-
73  tvec3<T, P> const & v);
-
74 
-
78  template <typename T, precision P>
-
79  GLM_FUNC_DECL tmat4x4<T, P> scale(
-
80  tvec3<T, P> const & v);
-
81 
-
83 }// namespace glm
-
84 
-
85 #include "transform.inl"
-
GLM_FUNC_DECL tmat4x4< T, P > scale(tvec3< T, P > const &v)
Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.
-
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL tmat4x4< T, P > rotate(T angle, tvec3< T, P > const &v)
Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees...
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x4< T, P > translate(tvec3< T, P > const &v)
Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.
+
46 #pragma once
+
47 
+
48 // Dependency:
+
49 #include "../glm.hpp"
+
50 #include "../gtc/type_precision.hpp"
+
51 #include <string>
+
52 
+
53 #if(GLM_COMPILER & GLM_COMPILER_CUDA)
+
54 # error "GLM_GTX_string_cast is not supported on CUDA compiler"
+
55 #endif
+
56 
+
57 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
58 # pragma message("GLM: GLM_GTX_string_cast extension included")
+
59 #endif
+
60 
+
61 namespace glm
+
62 {
+
65 
+
68  template <template <typename, precision> class matType, typename T, precision P>
+
69  GLM_FUNC_DECL std::string to_string(matType<T, P> const & x);
+
70 
+
72 }//namespace glm
+
73 
+
74 #include "string_cast.inl"
+
GLM_FUNC_DECL std::string to_string(matType< T, P > const &x)
Create a string from a GLM vector or matrix typed variable.
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00112.html b/doc/api/a00112.html index 8dc58dc8..2be19c13 100644 --- a/doc/api/a00112.html +++ b/doc/api/a00112.html @@ -3,8 +3,8 @@ - -0.9.6: transform2.hpp File Reference + +0.9.7: transform.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
transform2.hpp File Reference
+
transform.hpp File Reference
@@ -56,54 +56,40 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > proj2D (const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > proj3D (const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearX2D (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearX3D (const tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearY2D (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearY3D (const tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearZ3D (const tmat4x4< T, P > &m, T x, T y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (T angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tvec3< T, P > const &v)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_transform2

+

GLM_GTX_transform

Date
2005-12-21 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTX_transform (dependence)
+GLM_GTC_matrix_transform (dependence) +
+GLM_GTX_transform
+
+GLM_GTX_transform2
-

Definition in file transform2.hpp.

+

Definition in file transform.hpp.

diff --git a/doc/api/a00112_source.html b/doc/api/a00112_source.html index fa794c54..3ce13fd4 100644 --- a/doc/api/a00112_source.html +++ b/doc/api/a00112_source.html @@ -3,8 +3,8 @@ - -0.9.6: transform2.hpp Source File + +0.9.7: transform.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
transform2.hpp
+
transform.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependency:
-
46 #include "../glm.hpp"
-
47 #include "../gtx/transform.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_transform2 extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
-
57 
-
60  template <typename T, precision P>
-
61  GLM_FUNC_DECL tmat3x3<T, P> shearX2D(
-
62  tmat3x3<T, P> const & m,
-
63  T y);
-
64 
-
67  template <typename T, precision P>
-
68  GLM_FUNC_DECL tmat3x3<T, P> shearY2D(
-
69  tmat3x3<T, P> const & m,
-
70  T x);
-
71 
-
74  template <typename T, precision P>
-
75  GLM_FUNC_DECL tmat4x4<T, P> shearX3D(
-
76  const tmat4x4<T, P> & m,
-
77  T y,
-
78  T z);
-
79 
-
82  template <typename T, precision P>
-
83  GLM_FUNC_DECL tmat4x4<T, P> shearY3D(
-
84  const tmat4x4<T, P> & m,
-
85  T x,
-
86  T z);
-
87 
-
90  template <typename T, precision P>
-
91  GLM_FUNC_DECL tmat4x4<T, P> shearZ3D(
-
92  const tmat4x4<T, P> & m,
-
93  T x,
-
94  T y);
-
95 
-
96  //template <typename T> GLM_FUNC_QUALIFIER tmat4x4<T, P> shear(const tmat4x4<T, P> & m, shearPlane, planePoint, angle)
-
97  // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0
-
98  // - dot(PointOnPlane, normal) * OnPlaneVector 1
-
99 
-
100  // Reflect functions seem to don't work
-
101  //template <typename T> tmat3x3<T, P> reflect2D(const tmat3x3<T, P> & m, const tvec3<T, P>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
-
102  //template <typename T> tmat4x4<T, P> reflect3D(const tmat4x4<T, P> & m, const tvec3<T, P>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
-
103 
-
106  template <typename T, precision P>
-
107  GLM_FUNC_DECL tmat3x3<T, P> proj2D(
-
108  const tmat3x3<T, P> & m,
-
109  const tvec3<T, P>& normal);
-
110 
-
113  template <typename T, precision P>
-
114  GLM_FUNC_DECL tmat4x4<T, P> proj3D(
-
115  const tmat4x4<T, P> & m,
-
116  const tvec3<T, P>& normal);
-
117 
-
120  template <typename valType, precision P>
-
121  GLM_FUNC_DECL tmat4x4<valType, P> scaleBias(
-
122  valType scale,
-
123  valType bias);
-
124 
-
127  template <typename valType, precision P>
-
128  GLM_FUNC_DECL tmat4x4<valType, P> scaleBias(
-
129  tmat4x4<valType, P> const & m,
-
130  valType scale,
-
131  valType bias);
-
132 
-
134 }// namespace glm
-
135 
-
136 #include "transform2.inl"
-
GLM_FUNC_DECL tmat4x4< T, P > shearZ3D(const tmat4x4< T, P > &m, T x, T y)
Transforms a matrix with a shearing on Z axis.
-
GLM_FUNC_DECL tmat4x4< T, P > shearY3D(const tmat4x4< T, P > &m, T x, T z)
Transforms a matrix with a shearing on Y axis.
-
GLM_FUNC_DECL tmat4x4< T, P > scale(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
-
GLM_FUNC_DECL tmat3x3< T, P > proj2D(const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
Build planar projection matrix along normal axis.
-
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias(tmat4x4< valType, P > const &m, valType scale, valType bias)
Build a scale bias matrix.
-
GLM_FUNC_DECL tmat3x3< T, P > shearY2D(tmat3x3< T, P > const &m, T x)
Transforms a matrix with a shearing on Y axis.
-
GLM_FUNC_DECL tmat4x4< T, P > proj3D(const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
Build planar projection matrix along normal axis.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat3x3< T, P > shearX2D(tmat3x3< T, P > const &m, T y)
Transforms a matrix with a shearing on X axis.
-
GLM_FUNC_DECL tmat4x4< T, P > shearX3D(const tmat4x4< T, P > &m, T y, T z)
Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.
+
45 #pragma once
+
46 
+
47 // Dependency:
+
48 #include "../glm.hpp"
+
49 #include "../gtc/matrix_transform.hpp"
+
50 
+
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
52 # pragma message("GLM: GLM_GTX_transform extension included")
+
53 #endif
+
54 
+
55 namespace glm
+
56 {
+
59 
+
63  template <typename T, precision P>
+
64  GLM_FUNC_DECL tmat4x4<T, P> translate(
+
65  tvec3<T, P> const & v);
+
66 
+
70  template <typename T, precision P>
+
71  GLM_FUNC_DECL tmat4x4<T, P> rotate(
+
72  T angle,
+
73  tvec3<T, P> const & v);
+
74 
+
78  template <typename T, precision P>
+
79  GLM_FUNC_DECL tmat4x4<T, P> scale(
+
80  tvec3<T, P> const & v);
+
81 
+
83 }// namespace glm
+
84 
+
85 #include "transform.inl"
+
GLM_FUNC_DECL tmat4x4< T, P > rotate(T angle, tvec3< T, P > const &v)
Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees...
+
GLM_FUNC_DECL tmat4x4< T, P > translate(tvec3< T, P > const &v)
Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL tmat4x4< T, P > scale(tvec3< T, P > const &v)
Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.
diff --git a/doc/api/a00113.html b/doc/api/a00113.html index c4e3e56b..59082bcd 100644 --- a/doc/api/a00113.html +++ b/doc/api/a00113.html @@ -3,8 +3,8 @@ - -0.9.6: trigonometric.hpp File Reference + +0.9.7: transform2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
trigonometric.hpp File Reference
+
transform2.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > proj2D (const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > proj3D (const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearX2D (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearX3D (const tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearY2D (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearY3D (const tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearZ3D (const tmat4x4< T, P > &m, T x, T y)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_transform2

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+GLM_GTX_transform (dependence)
-

Definition in file trigonometric.hpp.

+

Definition in file transform2.hpp.

diff --git a/doc/api/a00113_source.html b/doc/api/a00113_source.html index 85aad132..075cb049 100644 --- a/doc/api/a00113_source.html +++ b/doc/api/a00113_source.html @@ -3,8 +3,8 @@ - -0.9.6: trigonometric.hpp Source File + +0.9.7: transform2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
trigonometric.hpp
+
transform2.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
- -
OpenGL Mathematics (glm.g-truc.net)
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../glm.hpp"
+
47 #include "../gtx/transform.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_transform2 extension included")
+
51 #endif
+
52 
+
53 namespace glm
+
54 {
+
57 
+
60  template <typename T, precision P>
+
61  GLM_FUNC_DECL tmat3x3<T, P> shearX2D(
+
62  tmat3x3<T, P> const & m,
+
63  T y);
+
64 
+
67  template <typename T, precision P>
+
68  GLM_FUNC_DECL tmat3x3<T, P> shearY2D(
+
69  tmat3x3<T, P> const & m,
+
70  T x);
+
71 
+
74  template <typename T, precision P>
+
75  GLM_FUNC_DECL tmat4x4<T, P> shearX3D(
+
76  const tmat4x4<T, P> & m,
+
77  T y,
+
78  T z);
+
79 
+
82  template <typename T, precision P>
+
83  GLM_FUNC_DECL tmat4x4<T, P> shearY3D(
+
84  const tmat4x4<T, P> & m,
+
85  T x,
+
86  T z);
+
87 
+
90  template <typename T, precision P>
+
91  GLM_FUNC_DECL tmat4x4<T, P> shearZ3D(
+
92  const tmat4x4<T, P> & m,
+
93  T x,
+
94  T y);
+
95 
+
96  //template <typename T> GLM_FUNC_QUALIFIER tmat4x4<T, P> shear(const tmat4x4<T, P> & m, shearPlane, planePoint, angle)
+
97  // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0
+
98  // - dot(PointOnPlane, normal) * OnPlaneVector 1
+
99 
+
100  // Reflect functions seem to don't work
+
101  //template <typename T> tmat3x3<T, P> reflect2D(const tmat3x3<T, P> & m, const tvec3<T, P>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
+
102  //template <typename T> tmat4x4<T, P> reflect3D(const tmat4x4<T, P> & m, const tvec3<T, P>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
+
103 
+
106  template <typename T, precision P>
+
107  GLM_FUNC_DECL tmat3x3<T, P> proj2D(
+
108  const tmat3x3<T, P> & m,
+
109  const tvec3<T, P>& normal);
+
110 
+
113  template <typename T, precision P>
+
114  GLM_FUNC_DECL tmat4x4<T, P> proj3D(
+
115  const tmat4x4<T, P> & m,
+
116  const tvec3<T, P>& normal);
+
117 
+
120  template <typename valType, precision P>
+
121  GLM_FUNC_DECL tmat4x4<valType, P> scaleBias(
+
122  valType scale,
+
123  valType bias);
+
124 
+
127  template <typename valType, precision P>
+
128  GLM_FUNC_DECL tmat4x4<valType, P> scaleBias(
+
129  tmat4x4<valType, P> const & m,
+
130  valType scale,
+
131  valType bias);
+
132 
+
134 }// namespace glm
+
135 
+
136 #include "transform2.inl"
+
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias(tmat4x4< valType, P > const &m, valType scale, valType bias)
Build a scale bias matrix.
+
GLM_FUNC_DECL tmat4x4< T, P > shearZ3D(const tmat4x4< T, P > &m, T x, T y)
Transforms a matrix with a shearing on Z axis.
+
GLM_FUNC_DECL tmat3x3< T, P > shearY2D(tmat3x3< T, P > const &m, T x)
Transforms a matrix with a shearing on Y axis.
+
GLM_FUNC_DECL tmat4x4< T, P > shearY3D(const tmat4x4< T, P > &m, T x, T z)
Transforms a matrix with a shearing on Y axis.
+
GLM_FUNC_DECL tmat3x3< T, P > shearX2D(tmat3x3< T, P > const &m, T y)
Transforms a matrix with a shearing on X axis.
+
GLM_FUNC_DECL tmat3x3< T, P > proj2D(const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
Build planar projection matrix along normal axis.
+
GLM_FUNC_DECL tmat4x4< T, P > shearX3D(const tmat4x4< T, P > &m, T y, T z)
Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.
+
GLM_FUNC_DECL tmat4x4< T, P > proj3D(const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
Build planar projection matrix along normal axis.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tmat4x4< T, P > scale(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
diff --git a/doc/api/a00114.html b/doc/api/a00114.html index 3d9e74a7..e5ed30a3 100644 --- a/doc/api/a00114.html +++ b/doc/api/a00114.html @@ -3,8 +3,8 @@ - -0.9.6: type_aligned.hpp File Reference + +0.9.7: trigonometric.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
type_aligned.hpp File Reference
+
trigonometric.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

 GLM_ALIGNED_TYPEDEF (lowp_int8, aligned_lowp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16, aligned_lowp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32, aligned_lowp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64, aligned_lowp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_int8_t, aligned_lowp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16_t, aligned_lowp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32_t, aligned_lowp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64_t, aligned_lowp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_i8, aligned_lowp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_i16, aligned_lowp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_i32, aligned_lowp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_i64, aligned_lowp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8, aligned_mediump_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16, aligned_mediump_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32, aligned_mediump_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64, aligned_mediump_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8_t, aligned_mediump_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16_t, aligned_mediump_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32_t, aligned_mediump_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64_t, aligned_mediump_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_i8, aligned_mediump_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_i16, aligned_mediump_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_i32, aligned_mediump_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_i64, aligned_mediump_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8, aligned_highp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16, aligned_highp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32, aligned_highp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64, aligned_highp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8_t, aligned_highp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16_t, aligned_highp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32_t, aligned_highp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64_t, aligned_highp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_i8, aligned_highp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_i16, aligned_highp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_i32, aligned_highp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_i64, aligned_highp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8, aligned_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (int16, aligned_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (int32, aligned_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (int64, aligned_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8_t, aligned_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (int16_t, aligned_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (int32_t, aligned_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (int64_t, aligned_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (i8, aligned_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (i16, aligned_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (i32, aligned_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (i64, aligned_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec1, aligned_ivec1, 4)
 
 GLM_ALIGNED_TYPEDEF (ivec2, aligned_ivec2, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec3, aligned_ivec3, 16)
 
 GLM_ALIGNED_TYPEDEF (ivec4, aligned_ivec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i8vec1, aligned_i8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (i8vec2, aligned_i8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (i8vec3, aligned_i8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (i8vec4, aligned_i8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec1, aligned_i16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (i16vec2, aligned_i16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec3, aligned_i16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (i16vec4, aligned_i16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec1, aligned_i32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (i32vec2, aligned_i32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec3, aligned_i32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (i32vec4, aligned_i32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec1, aligned_i64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (i64vec2, aligned_i64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec3, aligned_i64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (i64vec4, aligned_i64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8, aligned_lowp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16, aligned_lowp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32, aligned_lowp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64, aligned_lowp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8_t, aligned_lowp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16_t, aligned_lowp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32_t, aligned_lowp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64_t, aligned_lowp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_u8, aligned_lowp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_u16, aligned_lowp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_u32, aligned_lowp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_u64, aligned_lowp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8, aligned_mediump_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16, aligned_mediump_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32, aligned_mediump_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64, aligned_mediump_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8_t, aligned_mediump_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16_t, aligned_mediump_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32_t, aligned_mediump_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64_t, aligned_mediump_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_u8, aligned_mediump_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_u16, aligned_mediump_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_u32, aligned_mediump_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_u64, aligned_mediump_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8, aligned_highp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16, aligned_highp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32, aligned_highp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64, aligned_highp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8_t, aligned_highp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16_t, aligned_highp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32_t, aligned_highp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64_t, aligned_highp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_u8, aligned_highp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_u16, aligned_highp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_u32, aligned_highp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_u64, aligned_highp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8, aligned_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16, aligned_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32, aligned_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64, aligned_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8_t, aligned_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16_t, aligned_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32_t, aligned_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64_t, aligned_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (u8, aligned_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (u16, aligned_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (u32, aligned_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (u64, aligned_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec1, aligned_uvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (uvec2, aligned_uvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec3, aligned_uvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (uvec4, aligned_uvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u8vec1, aligned_u8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (u8vec2, aligned_u8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (u8vec3, aligned_u8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (u8vec4, aligned_u8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec1, aligned_u16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (u16vec2, aligned_u16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec3, aligned_u16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (u16vec4, aligned_u16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec1, aligned_u32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (u32vec2, aligned_u32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec3, aligned_u32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (u32vec4, aligned_u32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec1, aligned_u64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (u64vec2, aligned_u64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec3, aligned_u64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (u64vec4, aligned_u64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_float32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_float64, 8)
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_f64, 8)
 
 GLM_ALIGNED_TYPEDEF (vec1, aligned_vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (vec2, aligned_vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (vec3, aligned_vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (vec4, aligned_vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec1, aligned_fvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (fvec2, aligned_fvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (fvec3, aligned_fvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec4, aligned_fvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec1, aligned_f32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (f32vec2, aligned_f32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (f32vec3, aligned_f32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec4, aligned_f32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec1, aligned_dvec1, 8)
 
 GLM_ALIGNED_TYPEDEF (dvec2, aligned_dvec2, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec3, aligned_dvec3, 32)
 
 GLM_ALIGNED_TYPEDEF (dvec4, aligned_dvec4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec1, aligned_f64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (f64vec2, aligned_f64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (f64vec3, aligned_f64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec4, aligned_f64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (mat2, aligned_mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3, aligned_mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4, aligned_mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (mat2x2, aligned_mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3x3, aligned_mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4x4, aligned_mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x3, aligned_fmat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x4, aligned_fmat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x2, aligned_fmat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x4, aligned_fmat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x2, aligned_fmat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x3, aligned_fmat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x3, aligned_f32mat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x4, aligned_f32mat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x2, aligned_f32mat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x4, aligned_f32mat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x2, aligned_f32mat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x3, aligned_f32mat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x3, aligned_f64mat2x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x4, aligned_f64mat2x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x2, aligned_f64mat3x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x4, aligned_f64mat3x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x2, aligned_f64mat4x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x3, aligned_f64mat4x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4x4, 32)
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_quat, 16)
 
 GLM_ALIGNED_TYPEDEF (fquat, aligned_fquat, 16)
 
 GLM_ALIGNED_TYPEDEF (dquat, aligned_dquat, 32)
 
 GLM_ALIGNED_TYPEDEF (f32quat, aligned_f32quat, 16)
 
 GLM_ALIGNED_TYPEDEF (f64quat, aligned_f64quat, 32)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_type_aligned

-
Date
2014-11-23 / 2014-12-23
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTC_quaternion (dependence)
+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
-

Definition in file type_aligned.hpp.

+

Definition in file trigonometric.hpp.

diff --git a/doc/api/a00114_source.html b/doc/api/a00114_source.html index 2fbcd11e..93d6ac38 100644 --- a/doc/api/a00114_source.html +++ b/doc/api/a00114_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_aligned.hpp Source File + +0.9.7: trigonometric.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_aligned.hpp
+
trigonometric.hpp
Go to the documentation of this file.
1 
-
45 #pragma once
-
46 
-
47 // Dependency:
-
48 #include "../gtc/type_precision.hpp"
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTX_type_aligned extension included")
-
52 #endif
-
53 
-
54 namespace glm
-
55 {
-
57  // Signed int vector types
-
58 
-
61 
-
64  GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1);
-
65 
-
68  GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2);
-
69 
-
72  GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4);
-
73 
-
76  GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8);
-
77 
-
78 
-
81  GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1);
-
82 
-
85  GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2);
-
86 
-
89  GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4);
-
90 
-
93  GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8);
-
94 
-
95 
-
98  GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1);
-
99 
-
102  GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2);
-
103 
-
106  GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4);
-
107 
-
110  GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8);
-
111 
-
112 
-
115  GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1);
-
116 
-
119  GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2);
-
120 
-
123  GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4);
-
124 
-
127  GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8);
-
128 
-
129 
-
132  GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1);
-
133 
-
136  GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2);
-
137 
-
140  GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4);
-
141 
-
144  GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8);
-
145 
-
146 
-
149  GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1);
-
150 
-
153  GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2);
-
154 
-
157  GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4);
-
158 
-
161  GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8);
-
162 
-
163 
-
166  GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1);
-
167 
-
170  GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2);
-
171 
-
174  GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4);
-
175 
-
178  GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8);
-
179 
-
180 
-
183  GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1);
-
184 
-
187  GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2);
-
188 
-
191  GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4);
-
192 
-
195  GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8);
-
196 
-
197 
-
200  GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1);
-
201 
-
204  GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2);
-
205 
-
208  GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4);
-
209 
-
212  GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8);
-
213 
-
214 
-
217  GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1);
-
218 
-
221  GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2);
-
222 
-
225  GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4);
-
226 
-
229  GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8);
-
230 
-
231 
-
234  GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1);
-
235 
-
238  GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2);
-
239 
-
242  GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4);
-
243 
-
246  GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8);
-
247 
-
248 
-
251  GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1);
-
252 
-
255  GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2);
-
256 
-
259  GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4);
-
260 
-
263  GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8);
-
264 
-
265 
-
268  GLM_ALIGNED_TYPEDEF(ivec1, aligned_ivec1, 4);
-
269 
-
272  GLM_ALIGNED_TYPEDEF(ivec2, aligned_ivec2, 8);
-
273 
-
276  GLM_ALIGNED_TYPEDEF(ivec3, aligned_ivec3, 16);
-
277 
-
280  GLM_ALIGNED_TYPEDEF(ivec4, aligned_ivec4, 16);
-
281 
-
282 
-
285  GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1);
-
286 
-
289  GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2);
-
290 
-
293  GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4);
-
294 
-
297  GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4);
-
298 
-
299 
-
302  GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2);
-
303 
-
306  GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4);
-
307 
-
310  GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8);
-
311 
-
314  GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8);
-
315 
-
316 
-
319  GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4);
-
320 
-
323  GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8);
-
324 
-
327  GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16);
-
328 
-
331  GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16);
-
332 
-
333 
-
336  GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8);
-
337 
-
340  GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16);
-
341 
-
344  GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32);
-
345 
-
348  GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32);
-
349 
-
350 
-
352  // Unsigned int vector types
-
353 
-
356  GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1);
-
357 
-
360  GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2);
-
361 
-
364  GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4);
-
365 
-
368  GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8);
-
369 
-
370 
-
373  GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1);
-
374 
-
377  GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2);
-
378 
-
381  GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4);
-
382 
-
385  GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8);
-
386 
-
387 
-
390  GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1);
-
391 
-
394  GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2);
-
395 
-
398  GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4);
-
399 
-
402  GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8);
-
403 
-
404 
-
407  GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1);
-
408 
-
411  GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2);
-
412 
-
415  GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4);
-
416 
-
419  GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8);
-
420 
-
421 
-
424  GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1);
-
425 
-
428  GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2);
-
429 
-
432  GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4);
-
433 
-
436  GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8);
-
437 
-
438 
-
441  GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1);
-
442 
-
445  GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2);
-
446 
-
449  GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4);
-
450 
-
453  GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8);
-
454 
-
455 
-
458  GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1);
-
459 
-
462  GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2);
-
463 
-
466  GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4);
-
467 
-
470  GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8);
-
471 
-
472 
-
475  GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1);
-
476 
-
479  GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2);
-
480 
-
483  GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4);
-
484 
-
487  GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8);
-
488 
-
489 
-
492  GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1);
-
493 
-
496  GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2);
-
497 
-
500  GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4);
-
501 
-
504  GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8);
-
505 
-
506 
-
509  GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1);
-
510 
-
513  GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2);
-
514 
-
517  GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4);
-
518 
-
521  GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8);
-
522 
-
523 
-
526  GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1);
-
527 
-
530  GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2);
-
531 
-
534  GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4);
-
535 
-
538  GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8);
-
539 
-
540 
-
543  GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1);
-
544 
-
547  GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2);
-
548 
-
551  GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4);
-
552 
-
555  GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8);
-
556 
-
557 
-
560  GLM_ALIGNED_TYPEDEF(uvec1, aligned_uvec1, 4);
-
561 
-
564  GLM_ALIGNED_TYPEDEF(uvec2, aligned_uvec2, 8);
-
565 
-
568  GLM_ALIGNED_TYPEDEF(uvec3, aligned_uvec3, 16);
-
569 
-
572  GLM_ALIGNED_TYPEDEF(uvec4, aligned_uvec4, 16);
-
573 
-
574 
-
577  GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1);
-
578 
-
581  GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2);
-
582 
-
585  GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4);
-
586 
-
589  GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4);
-
590 
-
591 
-
594  GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2);
-
595 
-
598  GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4);
-
599 
-
602  GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8);
-
603 
-
606  GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8);
-
607 
-
608 
-
611  GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4);
-
612 
-
615  GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8);
-
616 
-
619  GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16);
-
620 
-
623  GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16);
-
624 
-
625 
-
628  GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8);
-
629 
-
632  GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16);
-
633 
-
636  GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32);
-
637 
-
640  GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32);
-
641 
-
642 
-
644  // Float vector types
-
645 
-
648  GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4);
-
649 
-
652  GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8);
-
653 
-
654 
-
657  GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4);
-
658 
-
661  GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8);
-
662 
-
663 
-
666  GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4);
-
667 
-
670  GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8);
-
671 
-
672 
-
675  GLM_ALIGNED_TYPEDEF(vec1, aligned_vec1, 4);
-
676 
-
679  GLM_ALIGNED_TYPEDEF(vec2, aligned_vec2, 8);
-
680 
-
683  GLM_ALIGNED_TYPEDEF(vec3, aligned_vec3, 16);
-
684 
-
687  GLM_ALIGNED_TYPEDEF(vec4, aligned_vec4, 16);
-
688 
-
689 
-
692  GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4);
-
693 
-
696  GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8);
-
697 
-
700  GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16);
-
701 
-
704  GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16);
-
705 
-
706 
-
709  GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4);
-
710 
-
713  GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8);
-
714 
-
717  GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16);
-
718 
-
721  GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16);
-
722 
-
723 
-
726  GLM_ALIGNED_TYPEDEF(dvec1, aligned_dvec1, 8);
-
727 
-
730  GLM_ALIGNED_TYPEDEF(dvec2, aligned_dvec2, 16);
-
731 
-
734  GLM_ALIGNED_TYPEDEF(dvec3, aligned_dvec3, 32);
-
735 
-
738  GLM_ALIGNED_TYPEDEF(dvec4, aligned_dvec4, 32);
-
739 
-
740 
-
743  GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8);
-
744 
-
747  GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16);
-
748 
-
751  GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32);
-
752 
-
755  GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32);
-
756 
-
757 
-
759  // Float matrix types
-
760 
-
763  //typedef detail::tmat1<f32> mat1;
-
764 
-
767  GLM_ALIGNED_TYPEDEF(mat2, aligned_mat2, 16);
-
768 
-
771  GLM_ALIGNED_TYPEDEF(mat3, aligned_mat3, 16);
-
772 
-
775  GLM_ALIGNED_TYPEDEF(mat4, aligned_mat4, 16);
-
776 
-
777 
-
780  //typedef detail::tmat1x1<f32> mat1;
-
781 
-
784  GLM_ALIGNED_TYPEDEF(mat2x2, aligned_mat2x2, 16);
-
785 
-
788  GLM_ALIGNED_TYPEDEF(mat3x3, aligned_mat3x3, 16);
-
789 
-
792  GLM_ALIGNED_TYPEDEF(mat4x4, aligned_mat4x4, 16);
-
793 
-
794 
-
797  //typedef detail::tmat1x1<f32> fmat1;
-
798 
-
801  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16);
-
802 
-
805  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16);
-
806 
-
809  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16);
-
810 
-
811 
-
814  //typedef f32 fmat1x1;
-
815 
-
818  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16);
-
819 
-
822  GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16);
-
823 
-
826  GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16);
-
827 
-
830  GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16);
-
831 
-
834  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16);
-
835 
-
838  GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16);
-
839 
-
842  GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16);
-
843 
-
846  GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16);
-
847 
-
850  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16);
-
851 
-
852 
-
855  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
-
856 
-
859  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16);
-
860 
-
863  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16);
-
864 
-
867  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16);
-
868 
-
869 
-
872  //typedef f32 f32mat1x1;
-
873 
-
876  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16);
-
877 
-
880  GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16);
-
881 
-
884  GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16);
-
885 
-
888  GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16);
-
889 
-
892  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16);
-
893 
-
896  GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16);
-
897 
-
900  GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16);
-
901 
-
904  GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16);
-
905 
-
908  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16);
-
909 
-
910 
-
913  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
-
914 
-
917  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32);
-
918 
-
921  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32);
-
922 
-
925  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32);
-
926 
-
927 
-
930  //typedef f64 f64mat1x1;
-
931 
-
934  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32);
-
935 
-
938  GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32);
-
939 
-
942  GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32);
-
943 
-
946  GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32);
-
947 
-
950  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32);
-
951 
-
954  GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32);
-
955 
-
958  GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32);
-
959 
-
962  GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32);
-
963 
-
966  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32);
-
967 
-
968 
-
970  // Quaternion types
-
971 
-
974  GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16);
-
975 
-
978  GLM_ALIGNED_TYPEDEF(fquat, aligned_fquat, 16);
-
979 
-
982  GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32);
-
983 
-
986  GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16);
-
987 
-
990  GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32);
-
991 
-
993 }//namespace glm
-
994 
-
995 #include "type_aligned.inl"
-
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:228
-
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:747
-
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:488
-
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2433
-
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:752
-
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:264
-
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2465
-
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:921
-
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2469
-
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1085
-
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2359
-
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:873
-
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:555
-
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:184
-
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1533
-
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:777
-
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1327
-
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:480
-
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:917
-
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:308
-
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1089
-
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2477
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:402
-
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:567
-
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2387
-
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:799
-
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1323
-
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:176
-
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:252
-
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:144
-
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:152
-
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:140
-
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:769
-
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:807
-
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2457
-
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:926
-
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:913
-
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:853
-
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2575
-
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:563
-
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2407
-
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1005
-
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:164
-
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:260
-
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:458
-
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2461
-
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:168
-
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:272
-
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2367
-
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1176
-
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:304
-
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:484
-
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:232
-
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:132
-
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:136
-
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2539
-
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:329
-
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:208
-
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2559
-
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:795
-
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:819
-
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:938
-
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:437
-
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1331
-
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2599
-
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2449
-
highp_uvec3 uvec3
3 components vector of unsigned integer numbers.
Definition: type_vec.hpp:481
-
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:881
-
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:240
-
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:827
-
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:180
-
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:811
-
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:787
-
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2437
-
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2473
-
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2453
-
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2547
-
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:803
-
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:930
-
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:934
-
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2399
-
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:212
-
highp_dvec2 dvec2
2 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:420
-
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2567
-
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:200
-
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:791
-
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:268
-
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:718
-
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:400
-
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
-
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1529
-
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:735
-
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1013
-
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:877
-
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2391
-
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:408
-
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1335
-
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:845
-
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:432
-
GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)
Double-precision floating-point aligned quaternion.
-
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:815
-
quat fquat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:90
-
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2555
-
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1093
-
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:869
-
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:156
-
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:196
-
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:714
-
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:476
-
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:396
-
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:861
-
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2363
-
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:148
-
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2441
-
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:192
-
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:831
-
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2375
-
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:722
-
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:764
-
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1164
-
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:312
-
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:325
-
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:760
-
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2445
-
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2493
-
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:321
-
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1017
-
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:726
-
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:256
-
highp_ivec3 ivec3
3 components vector of signed integer numbers.
Definition: type_vec.hpp:453
-
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:841
-
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:160
-
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:248
-
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:220
-
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:837
-
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:244
-
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:300
-
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1172
-
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
-
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:476
-
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:781
-
Definition: _noise.hpp:39
-
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2429
-
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2403
-
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:224
-
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2583
-
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:756
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:397
-
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2563
-
highp_dvec3 dvec3
3 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:425
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:392
-
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2571
-
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:405
-
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:773
-
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:849
-
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:739
-
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:317
-
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2543
-
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1097
-
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2395
-
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2371
-
highp_ivec2 ivec2
2 components vector of signed integer numbers.
Definition: type_vec.hpp:448
-
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:486
-
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:236
-
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1009
-
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:188
-
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:204
-
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:172
-
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:909
-
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:404
-
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:865
-
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:743
-
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2551
-
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:823
-
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:857
-
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2379
-
highp_dvec4 dvec4
4 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:430
-
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2579
-
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:385
-
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2383
-
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2535
-
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:559
-
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:216
-
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1168
+
33 #pragma once
+
34 
+ +
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00115.html b/doc/api/a00115.html index 9a5695b6..bc126d28 100644 --- a/doc/api/a00115.html +++ b/doc/api/a00115.html @@ -3,8 +3,8 @@ - -0.9.6: type_float.hpp File Reference + +0.9.7: type_aligned.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
type_float.hpp File Reference
+
type_aligned.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef float float32
 
typedef double float64
 
typedef highp_float_t highp_float
 
typedef lowp_float_t lowp_float
 
typedef mediump_float_t mediump_float
 

+Functions

 GLM_ALIGNED_TYPEDEF (lowp_int8, aligned_lowp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16, aligned_lowp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32, aligned_lowp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64, aligned_lowp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_int8_t, aligned_lowp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16_t, aligned_lowp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32_t, aligned_lowp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64_t, aligned_lowp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_i8, aligned_lowp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_i16, aligned_lowp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_i32, aligned_lowp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_i64, aligned_lowp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8, aligned_mediump_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16, aligned_mediump_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32, aligned_mediump_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64, aligned_mediump_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8_t, aligned_mediump_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16_t, aligned_mediump_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32_t, aligned_mediump_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64_t, aligned_mediump_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_i8, aligned_mediump_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_i16, aligned_mediump_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_i32, aligned_mediump_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_i64, aligned_mediump_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8, aligned_highp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16, aligned_highp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32, aligned_highp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64, aligned_highp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8_t, aligned_highp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16_t, aligned_highp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32_t, aligned_highp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64_t, aligned_highp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_i8, aligned_highp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_i16, aligned_highp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_i32, aligned_highp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_i64, aligned_highp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8, aligned_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (int16, aligned_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (int32, aligned_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (int64, aligned_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8_t, aligned_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (int16_t, aligned_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (int32_t, aligned_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (int64_t, aligned_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (i8, aligned_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (i16, aligned_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (i32, aligned_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (i64, aligned_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec1, aligned_ivec1, 4)
 
 GLM_ALIGNED_TYPEDEF (ivec2, aligned_ivec2, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec3, aligned_ivec3, 16)
 
 GLM_ALIGNED_TYPEDEF (ivec4, aligned_ivec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i8vec1, aligned_i8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (i8vec2, aligned_i8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (i8vec3, aligned_i8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (i8vec4, aligned_i8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec1, aligned_i16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (i16vec2, aligned_i16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec3, aligned_i16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (i16vec4, aligned_i16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec1, aligned_i32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (i32vec2, aligned_i32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec3, aligned_i32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (i32vec4, aligned_i32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec1, aligned_i64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (i64vec2, aligned_i64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec3, aligned_i64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (i64vec4, aligned_i64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8, aligned_lowp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16, aligned_lowp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32, aligned_lowp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64, aligned_lowp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8_t, aligned_lowp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16_t, aligned_lowp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32_t, aligned_lowp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64_t, aligned_lowp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_u8, aligned_lowp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_u16, aligned_lowp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_u32, aligned_lowp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_u64, aligned_lowp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8, aligned_mediump_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16, aligned_mediump_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32, aligned_mediump_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64, aligned_mediump_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8_t, aligned_mediump_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16_t, aligned_mediump_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32_t, aligned_mediump_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64_t, aligned_mediump_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_u8, aligned_mediump_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_u16, aligned_mediump_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_u32, aligned_mediump_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_u64, aligned_mediump_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8, aligned_highp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16, aligned_highp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32, aligned_highp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64, aligned_highp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8_t, aligned_highp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16_t, aligned_highp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32_t, aligned_highp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64_t, aligned_highp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_u8, aligned_highp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_u16, aligned_highp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_u32, aligned_highp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_u64, aligned_highp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8, aligned_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16, aligned_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32, aligned_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64, aligned_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8_t, aligned_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16_t, aligned_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32_t, aligned_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64_t, aligned_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (u8, aligned_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (u16, aligned_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (u32, aligned_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (u64, aligned_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec1, aligned_uvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (uvec2, aligned_uvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec3, aligned_uvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (uvec4, aligned_uvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u8vec1, aligned_u8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (u8vec2, aligned_u8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (u8vec3, aligned_u8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (u8vec4, aligned_u8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec1, aligned_u16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (u16vec2, aligned_u16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec3, aligned_u16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (u16vec4, aligned_u16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec1, aligned_u32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (u32vec2, aligned_u32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec3, aligned_u32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (u32vec4, aligned_u32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec1, aligned_u64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (u64vec2, aligned_u64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec3, aligned_u64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (u64vec4, aligned_u64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_float32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_float64, 8)
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_f64, 8)
 
 GLM_ALIGNED_TYPEDEF (vec1, aligned_vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (vec2, aligned_vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (vec3, aligned_vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (vec4, aligned_vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec1, aligned_fvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (fvec2, aligned_fvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (fvec3, aligned_fvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec4, aligned_fvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec1, aligned_f32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (f32vec2, aligned_f32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (f32vec3, aligned_f32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec4, aligned_f32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec1, aligned_dvec1, 8)
 
 GLM_ALIGNED_TYPEDEF (dvec2, aligned_dvec2, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec3, aligned_dvec3, 32)
 
 GLM_ALIGNED_TYPEDEF (dvec4, aligned_dvec4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec1, aligned_f64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (f64vec2, aligned_f64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (f64vec3, aligned_f64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec4, aligned_f64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (mat2, aligned_mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3, aligned_mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4, aligned_mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (mat2x2, aligned_mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3x3, aligned_mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4x4, aligned_mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x3, aligned_fmat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x4, aligned_fmat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x2, aligned_fmat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x4, aligned_fmat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x2, aligned_fmat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x3, aligned_fmat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x3, aligned_f32mat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x4, aligned_f32mat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x2, aligned_f32mat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x4, aligned_f32mat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x2, aligned_f32mat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x3, aligned_f32mat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x3, aligned_f64mat2x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x4, aligned_f64mat2x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x2, aligned_f64mat3x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x4, aligned_f64mat3x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x2, aligned_f64mat4x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x3, aligned_f64mat4x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4x4, 32)
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_quat, 16)
 
 GLM_ALIGNED_TYPEDEF (fquat, aligned_fquat, 16)
 
 GLM_ALIGNED_TYPEDEF (dquat, aligned_dquat, 32)
 
 GLM_ALIGNED_TYPEDEF (f32quat, aligned_f32quat, 16)
 
 GLM_ALIGNED_TYPEDEF (f64quat, aligned_f64quat, 32)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-22 / 2011-06-15
-
Author
Christophe Riccio
+

GLM_GTX_type_aligned

+
Date
2014-11-23 / 2014-12-23
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+GLM_GTC_quaternion (dependence)
-

Definition in file type_float.hpp.

+

Definition in file type_aligned.hpp.

diff --git a/doc/api/a00115_source.html b/doc/api/a00115_source.html index 05eb7d79..358ff362 100644 --- a/doc/api/a00115_source.html +++ b/doc/api/a00115_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_float.hpp Source File + +0.9.7: type_aligned.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_float.hpp
+
type_aligned.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "setup.hpp"
-
36 
-
37 namespace glm{
-
38 namespace detail
-
39 {
-
40  typedef float float32;
-
41  typedef double float64;
-
42 }//namespace detail
-
43 
-
44  typedef float lowp_float_t;
-
45  typedef float mediump_float_t;
-
46  typedef double highp_float_t;
-
47 
-
50 
-
56  typedef lowp_float_t lowp_float;
-
57 
-
63  typedef mediump_float_t mediump_float;
-
64 
-
70  typedef highp_float_t highp_float;
-
71 
-
72 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
73  typedef mediump_float float_t;
-
74 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
75  typedef highp_float float_t;
-
76 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
77  typedef mediump_float float_t;
-
78 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
-
79  typedef lowp_float float_t;
-
80 #else
-
81 # error "GLM error: multiple default precision requested for floating-point types"
-
82 #endif
-
83 
-
84  typedef float float32;
-
85  typedef double float64;
+
45 #pragma once
+
46 
+
47 // Dependency:
+
48 #include "../gtc/type_precision.hpp"
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTX_type_aligned extension included")
+
52 #endif
+
53 
+
54 namespace glm
+
55 {
+
57  // Signed int vector types
+
58 
+
61 
+
64  GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1);
+
65 
+
68  GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2);
+
69 
+
72  GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4);
+
73 
+
76  GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8);
+
77 
+
78 
+
81  GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1);
+
82 
+
85  GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2);
86 
-
88 // check type sizes
-
89 #ifndef GLM_STATIC_ASSERT_NULL
-
90  GLM_STATIC_ASSERT(sizeof(glm::float32) == 4, "float32 size isn't 4 bytes on this platform");
-
91  GLM_STATIC_ASSERT(sizeof(glm::float64) == 8, "float64 size isn't 8 bytes on this platform");
-
92 #endif//GLM_STATIC_ASSERT_NULL
-
93 
+
89  GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4);
+
90 
+
93  GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8);
+
94 
95 
-
96 }//namespace glm
-
highp_float_t highp_float
High precision floating-point numbers.
Definition: type_float.hpp:70
-
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:84
-
Definition: _noise.hpp:39
-
lowp_float_t lowp_float
Low precision floating-point numbers.
Definition: type_float.hpp:56
-
mediump_float_t mediump_float
Medium precision floating-point numbers.
Definition: type_float.hpp:63
-
OpenGL Mathematics (glm.g-truc.net)
-
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:85
+
98  GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1);
+
99 
+
102  GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2);
+
103 
+
106  GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4);
+
107 
+
110  GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8);
+
111 
+
112 
+
115  GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1);
+
116 
+
119  GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2);
+
120 
+
123  GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4);
+
124 
+
127  GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8);
+
128 
+
129 
+
132  GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1);
+
133 
+
136  GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2);
+
137 
+
140  GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4);
+
141 
+
144  GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8);
+
145 
+
146 
+
149  GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1);
+
150 
+
153  GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2);
+
154 
+
157  GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4);
+
158 
+
161  GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8);
+
162 
+
163 
+
166  GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1);
+
167 
+
170  GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2);
+
171 
+
174  GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4);
+
175 
+
178  GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8);
+
179 
+
180 
+
183  GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1);
+
184 
+
187  GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2);
+
188 
+
191  GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4);
+
192 
+
195  GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8);
+
196 
+
197 
+
200  GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1);
+
201 
+
204  GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2);
+
205 
+
208  GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4);
+
209 
+
212  GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8);
+
213 
+
214 
+
217  GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1);
+
218 
+
221  GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2);
+
222 
+
225  GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4);
+
226 
+
229  GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8);
+
230 
+
231 
+
234  GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1);
+
235 
+
238  GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2);
+
239 
+
242  GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4);
+
243 
+
246  GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8);
+
247 
+
248 
+
251  GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1);
+
252 
+
255  GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2);
+
256 
+
259  GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4);
+
260 
+
263  GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8);
+
264 
+
265 
+
268  GLM_ALIGNED_TYPEDEF(ivec1, aligned_ivec1, 4);
+
269 
+
272  GLM_ALIGNED_TYPEDEF(ivec2, aligned_ivec2, 8);
+
273 
+
276  GLM_ALIGNED_TYPEDEF(ivec3, aligned_ivec3, 16);
+
277 
+
280  GLM_ALIGNED_TYPEDEF(ivec4, aligned_ivec4, 16);
+
281 
+
282 
+
285  GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1);
+
286 
+
289  GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2);
+
290 
+
293  GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4);
+
294 
+
297  GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4);
+
298 
+
299 
+
302  GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2);
+
303 
+
306  GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4);
+
307 
+
310  GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8);
+
311 
+
314  GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8);
+
315 
+
316 
+
319  GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4);
+
320 
+
323  GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8);
+
324 
+
327  GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16);
+
328 
+
331  GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16);
+
332 
+
333 
+
336  GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8);
+
337 
+
340  GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16);
+
341 
+
344  GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32);
+
345 
+
348  GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32);
+
349 
+
350 
+
352  // Unsigned int vector types
+
353 
+
356  GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1);
+
357 
+
360  GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2);
+
361 
+
364  GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4);
+
365 
+
368  GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8);
+
369 
+
370 
+
373  GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1);
+
374 
+
377  GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2);
+
378 
+
381  GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4);
+
382 
+
385  GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8);
+
386 
+
387 
+
390  GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1);
+
391 
+
394  GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2);
+
395 
+
398  GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4);
+
399 
+
402  GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8);
+
403 
+
404 
+
407  GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1);
+
408 
+
411  GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2);
+
412 
+
415  GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4);
+
416 
+
419  GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8);
+
420 
+
421 
+
424  GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1);
+
425 
+
428  GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2);
+
429 
+
432  GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4);
+
433 
+
436  GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8);
+
437 
+
438 
+
441  GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1);
+
442 
+
445  GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2);
+
446 
+
449  GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4);
+
450 
+
453  GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8);
+
454 
+
455 
+
458  GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1);
+
459 
+
462  GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2);
+
463 
+
466  GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4);
+
467 
+
470  GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8);
+
471 
+
472 
+
475  GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1);
+
476 
+
479  GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2);
+
480 
+
483  GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4);
+
484 
+
487  GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8);
+
488 
+
489 
+
492  GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1);
+
493 
+
496  GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2);
+
497 
+
500  GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4);
+
501 
+
504  GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8);
+
505 
+
506 
+
509  GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1);
+
510 
+
513  GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2);
+
514 
+
517  GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4);
+
518 
+
521  GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8);
+
522 
+
523 
+
526  GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1);
+
527 
+
530  GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2);
+
531 
+
534  GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4);
+
535 
+
538  GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8);
+
539 
+
540 
+
543  GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1);
+
544 
+
547  GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2);
+
548 
+
551  GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4);
+
552 
+
555  GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8);
+
556 
+
557 
+
560  GLM_ALIGNED_TYPEDEF(uvec1, aligned_uvec1, 4);
+
561 
+
564  GLM_ALIGNED_TYPEDEF(uvec2, aligned_uvec2, 8);
+
565 
+
568  GLM_ALIGNED_TYPEDEF(uvec3, aligned_uvec3, 16);
+
569 
+
572  GLM_ALIGNED_TYPEDEF(uvec4, aligned_uvec4, 16);
+
573 
+
574 
+
577  GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1);
+
578 
+
581  GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2);
+
582 
+
585  GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4);
+
586 
+
589  GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4);
+
590 
+
591 
+
594  GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2);
+
595 
+
598  GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4);
+
599 
+
602  GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8);
+
603 
+
606  GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8);
+
607 
+
608 
+
611  GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4);
+
612 
+
615  GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8);
+
616 
+
619  GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16);
+
620 
+
623  GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16);
+
624 
+
625 
+
628  GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8);
+
629 
+
632  GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16);
+
633 
+
636  GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32);
+
637 
+
640  GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32);
+
641 
+
642 
+
644  // Float vector types
+
645 
+
648  GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4);
+
649 
+
652  GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8);
+
653 
+
654 
+
657  GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4);
+
658 
+
661  GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8);
+
662 
+
663 
+
666  GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4);
+
667 
+
670  GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8);
+
671 
+
672 
+
675  GLM_ALIGNED_TYPEDEF(vec1, aligned_vec1, 4);
+
676 
+
679  GLM_ALIGNED_TYPEDEF(vec2, aligned_vec2, 8);
+
680 
+
683  GLM_ALIGNED_TYPEDEF(vec3, aligned_vec3, 16);
+
684 
+
687  GLM_ALIGNED_TYPEDEF(vec4, aligned_vec4, 16);
+
688 
+
689 
+
692  GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4);
+
693 
+
696  GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8);
+
697 
+
700  GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16);
+
701 
+
704  GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16);
+
705 
+
706 
+
709  GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4);
+
710 
+
713  GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8);
+
714 
+
717  GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16);
+
718 
+
721  GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16);
+
722 
+
723 
+
726  GLM_ALIGNED_TYPEDEF(dvec1, aligned_dvec1, 8);
+
727 
+
730  GLM_ALIGNED_TYPEDEF(dvec2, aligned_dvec2, 16);
+
731 
+
734  GLM_ALIGNED_TYPEDEF(dvec3, aligned_dvec3, 32);
+
735 
+
738  GLM_ALIGNED_TYPEDEF(dvec4, aligned_dvec4, 32);
+
739 
+
740 
+
743  GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8);
+
744 
+
747  GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16);
+
748 
+
751  GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32);
+
752 
+
755  GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32);
+
756 
+
757 
+
759  // Float matrix types
+
760 
+
763  //typedef detail::tmat1<f32> mat1;
+
764 
+
767  GLM_ALIGNED_TYPEDEF(mat2, aligned_mat2, 16);
+
768 
+
771  GLM_ALIGNED_TYPEDEF(mat3, aligned_mat3, 16);
+
772 
+
775  GLM_ALIGNED_TYPEDEF(mat4, aligned_mat4, 16);
+
776 
+
777 
+
780  //typedef detail::tmat1x1<f32> mat1;
+
781 
+
784  GLM_ALIGNED_TYPEDEF(mat2x2, aligned_mat2x2, 16);
+
785 
+
788  GLM_ALIGNED_TYPEDEF(mat3x3, aligned_mat3x3, 16);
+
789 
+
792  GLM_ALIGNED_TYPEDEF(mat4x4, aligned_mat4x4, 16);
+
793 
+
794 
+
797  //typedef detail::tmat1x1<f32> fmat1;
+
798 
+
801  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16);
+
802 
+
805  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16);
+
806 
+
809  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16);
+
810 
+
811 
+
814  //typedef f32 fmat1x1;
+
815 
+
818  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16);
+
819 
+
822  GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16);
+
823 
+
826  GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16);
+
827 
+
830  GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16);
+
831 
+
834  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16);
+
835 
+
838  GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16);
+
839 
+
842  GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16);
+
843 
+
846  GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16);
+
847 
+
850  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16);
+
851 
+
852 
+
855  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
+
856 
+
859  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16);
+
860 
+
863  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16);
+
864 
+
867  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16);
+
868 
+
869 
+
872  //typedef f32 f32mat1x1;
+
873 
+
876  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16);
+
877 
+
880  GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16);
+
881 
+
884  GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16);
+
885 
+
888  GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16);
+
889 
+
892  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16);
+
893 
+
896  GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16);
+
897 
+
900  GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16);
+
901 
+
904  GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16);
+
905 
+
908  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16);
+
909 
+
910 
+
913  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
+
914 
+
917  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32);
+
918 
+
921  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32);
+
922 
+
925  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32);
+
926 
+
927 
+
930  //typedef f64 f64mat1x1;
+
931 
+
934  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32);
+
935 
+
938  GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32);
+
939 
+
942  GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32);
+
943 
+
946  GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32);
+
947 
+
950  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32);
+
951 
+
954  GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32);
+
955 
+
958  GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32);
+
959 
+
962  GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32);
+
963 
+
966  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32);
+
967 
+
968 
+
970  // Quaternion types
+
971 
+
974  GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16);
+
975 
+
978  GLM_ALIGNED_TYPEDEF(fquat, aligned_fquat, 16);
+
979 
+
982  GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32);
+
983 
+
986  GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16);
+
987 
+
990  GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32);
+
991 
+
993 }//namespace glm
+
994 
+
995 #include "type_aligned.inl"
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:297
+
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:740
+
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:157
+
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:133
+
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1082
+
highp_ivec3 ivec3
3 components vector of signed integer numbers.
Definition: type_vec.hpp:449
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:931
+
highp_dvec2 dvec2
2 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:417
+
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:736
+
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2364
+
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2388
+
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:723
+
GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)
Double-precision floating-point aligned quaternion.
+
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:816
+
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:269
+
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1165
+
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1014
+
highp_uvec3 uvec3
3 components vector of unsigned integer numbers.
Definition: type_vec.hpp:476
+
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:253
+
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:715
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:305
+
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:485
+
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:217
+
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:432
+
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:129
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:935
+
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:766
+
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:314
+
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:784
+
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:757
+
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:221
+
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:719
+
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:265
+
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:774
+
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:261
+
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:257
+
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1169
+
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:824
+
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2360
+
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:177
+
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:874
+
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:481
+
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:812
+
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:552
+
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:866
+
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1090
+
highp_dvec4 dvec4
4 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:427
+
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:437
+
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:385
+
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:477
+
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:564
+
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:141
+
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2450
+
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2454
+
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2544
+
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:169
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:390
+
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:796
+
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2430
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:927
+
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:471
+
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2532
+
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2368
+
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:209
+
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2474
+
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2548
+
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1530
+
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1002
+
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2396
+
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1006
+
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1320
+
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:834
+
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:820
+
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2564
+
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:792
+
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2466
+
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:229
+
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:233
+
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:193
+
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2490
+
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
+
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:405
+
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:225
+
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2556
+
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1094
+
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1324
+
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:862
+
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:161
+
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2426
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:914
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:923
+
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:770
+
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2380
+
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2356
+
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:405
+
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:165
+
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:749
+
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:556
+
Definition: _noise.hpp:40
+
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:788
+
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
+
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2596
+
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:241
+
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:850
+
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:393
+
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:473
+
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:205
+
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2372
+
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:145
+
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:838
+
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:744
+
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2376
+
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1526
+
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:401
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:400
+
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2384
+
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:213
+
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:804
+
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1173
+
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2568
+
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:753
+
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:181
+
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2392
+
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2400
+
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1010
+
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2540
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:395
+
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1332
+
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:197
+
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:149
+
highp_dvec3 dvec3
3 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:422
+
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2576
+
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:808
+
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:201
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:906
+
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2560
+
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2442
+
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2458
+
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:854
+
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:397
+
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:245
+
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:137
+
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:878
+
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2572
+
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:185
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:309
+
highp_ivec2 ivec2
2 components vector of signed integer numbers.
Definition: type_vec.hpp:444
+
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:778
+
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:828
+
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:761
+
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:858
+
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:481
+
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2404
+
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:249
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:910
+
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2434
+
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2552
+
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2580
+
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:842
+
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:870
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
+
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2446
+
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:800
+
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:322
+
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2438
+
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:560
+
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1086
+
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:732
+
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:711
+
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:318
+
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2462
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:918
+
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:237
+
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1161
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:301
+
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2470
+
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:189
+
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:153
+
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2536
+
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:846
+
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:326
+
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1328
+
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:173
diff --git a/doc/api/a00116.html b/doc/api/a00116.html index 1547ad3b..a2b03458 100644 --- a/doc/api/a00116.html +++ b/doc/api/a00116.html @@ -3,8 +3,8 @@ - -0.9.6: type_gentype.hpp File Reference + +0.9.7: type_float.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
type_gentype.hpp File Reference
+
type_float.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + +

+Typedefs

typedef float float32
 
typedef double float64
 
typedef highp_float_t highp_float
 
typedef lowp_float_t lowp_float
 
typedef mediump_float_t mediump_float
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-10-05 / 2011-06-15
+

GLM Core

+
Date
2008-08-22 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_gentype.hpp.

+

Definition in file type_float.hpp.

diff --git a/doc/api/a00116_source.html b/doc/api/a00116_source.html index e0a36357..1391f9f4 100644 --- a/doc/api/a00116_source.html +++ b/doc/api/a00116_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_gentype.hpp Source File + +0.9.7: type_float.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_gentype.hpp
+
type_float.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 namespace glm
-
36 {
-
37  enum profile
-
38  {
-
39  nice,
-
40  fast,
-
41  simd
-
42  };
-
43 
-
44  typedef std::size_t sizeType;
-
45 
-
46 namespace detail
-
47 {
-
48  template
-
49  <
-
50  typename VALTYPE,
-
51  template <typename> class TYPE
-
52  >
-
53  struct genType
-
54  {
-
55  public:
-
56  enum ctor{null};
+
35 #include "setup.hpp"
+
36 
+
37 namespace glm{
+
38 namespace detail
+
39 {
+
40  typedef float float32;
+
41  typedef double float64;
+
42 }//namespace detail
+
43 
+
44  typedef float lowp_float_t;
+
45  typedef float mediump_float_t;
+
46  typedef double highp_float_t;
+
47 
+
50 
+
56  typedef lowp_float_t lowp_float;
57 
-
58  typedef VALTYPE value_type;
-
59  typedef VALTYPE & value_reference;
-
60  typedef VALTYPE * value_pointer;
-
61  typedef VALTYPE const * value_const_pointer;
-
62  typedef TYPE<bool> bool_type;
-
63 
-
64  typedef sizeType size_type;
-
65  static bool is_vector();
-
66  static bool is_matrix();
-
67 
-
68  typedef TYPE<VALTYPE> type;
-
69  typedef TYPE<VALTYPE> * pointer;
-
70  typedef TYPE<VALTYPE> const * const_pointer;
-
71  typedef TYPE<VALTYPE> const * const const_pointer_const;
-
72  typedef TYPE<VALTYPE> * const pointer_const;
-
73  typedef TYPE<VALTYPE> & reference;
-
74  typedef TYPE<VALTYPE> const & const_reference;
-
75  typedef TYPE<VALTYPE> const & param_type;
-
76 
-
78  // Address (Implementation details)
-
79 
-
80  value_const_pointer value_address() const{return value_pointer(this);}
-
81  value_pointer value_address(){return value_pointer(this);}
-
82 
-
83  //protected:
-
84  // enum kind
-
85  // {
-
86  // GEN_TYPE,
-
87  // VEC_TYPE,
-
88  // MAT_TYPE
-
89  // };
-
90 
-
91  // typedef typename TYPE::kind kind;
-
92  };
+
63  typedef mediump_float_t mediump_float;
+
64 
+
70  typedef highp_float_t highp_float;
+
71 
+
72 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
73  typedef mediump_float float_t;
+
74 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
75  typedef highp_float float_t;
+
76 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
77  typedef mediump_float float_t;
+
78 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
+
79  typedef lowp_float float_t;
+
80 #else
+
81 # error "GLM error: multiple default precision requested for floating-point types"
+
82 #endif
+
83 
+
84  typedef float float32;
+
85  typedef double float64;
+
86 
+
88 // check type sizes
+
89 #ifndef GLM_STATIC_ASSERT_NULL
+
90  GLM_STATIC_ASSERT(sizeof(glm::float32) == 4, "float32 size isn't 4 bytes on this platform");
+
91  GLM_STATIC_ASSERT(sizeof(glm::float64) == 8, "float64 size isn't 8 bytes on this platform");
+
92 #endif//GLM_STATIC_ASSERT_NULL
93 
-
94  template
-
95  <
-
96  typename VALTYPE,
-
97  template <typename> class TYPE
-
98  >
-
99  bool genType<VALTYPE, TYPE>::is_vector()
-
100  {
-
101  return true;
-
102  }
-
103 /*
-
104  template <typename valTypeT, unsigned int colT, unsigned int rowT, profile proT = nice>
-
105  class base
-
106  {
-
107  public:
-
109  // Traits
-
110 
-
111  typedef sizeType size_type;
-
112  typedef valTypeT value_type;
-
113 
-
114  typedef base<value_type, colT, rowT> class_type;
-
115 
-
116  typedef base<bool, colT, rowT> bool_type;
-
117  typedef base<value_type, rowT, 1> col_type;
-
118  typedef base<value_type, colT, 1> row_type;
-
119  typedef base<value_type, rowT, colT> transpose_type;
-
120 
-
121  static size_type col_size();
-
122  static size_type row_size();
-
123  static size_type value_size();
-
124  static bool is_scalar();
-
125  static bool is_vector();
-
126  static bool is_matrix();
-
127 
-
128  private:
-
129  // Data
-
130  col_type value[colT];
-
131 
-
132  public:
-
134  // Constructors
-
135  base();
-
136  base(class_type const & m);
-
137 
-
138  explicit base(T const & x);
-
139  explicit base(value_type const * const x);
-
140  explicit base(col_type const * const x);
-
141 
-
143  // Conversions
-
144  template <typename vU, uint cU, uint rU, profile pU>
-
145  explicit base(base<vU, cU, rU, pU> const & m);
-
146 
-
148  // Accesses
-
149  col_type& operator[](size_type i);
-
150  col_type const & operator[](size_type i) const;
-
151 
-
153  // Unary updatable operators
-
154  class_type& operator= (class_type const & x);
-
155  class_type& operator+= (T const & x);
-
156  class_type& operator+= (class_type const & x);
-
157  class_type& operator-= (T const & x);
-
158  class_type& operator-= (class_type const & x);
-
159  class_type& operator*= (T const & x);
-
160  class_type& operator*= (class_type const & x);
-
161  class_type& operator/= (T const & x);
-
162  class_type& operator/= (class_type const & x);
-
163  class_type& operator++ ();
-
164  class_type& operator-- ();
-
165  };
-
166 */
-
167 
-
168  //template <typename T>
-
169  //struct traits
-
170  //{
-
171  // static const bool is_signed = false;
-
172  // static const bool is_float = false;
-
173  // static const bool is_vector = false;
-
174  // static const bool is_matrix = false;
-
175  // static const bool is_genType = false;
-
176  // static const bool is_genIType = false;
-
177  // static const bool is_genUType = false;
-
178  //};
-
179 
-
180  //template <>
-
181  //struct traits<half>
-
182  //{
-
183  // static const bool is_float = true;
-
184  // static const bool is_genType = true;
-
185  //};
-
186 
-
187  //template <>
-
188  //struct traits<float>
-
189  //{
-
190  // static const bool is_float = true;
-
191  // static const bool is_genType = true;
-
192  //};
-
193 
-
194  //template <>
-
195  //struct traits<double>
-
196  //{
-
197  // static const bool is_float = true;
-
198  // static const bool is_genType = true;
-
199  //};
-
200 
-
201  //template <typename genType>
-
202  //struct desc
-
203  //{
-
204  // typedef genType type;
-
205  // typedef genType * pointer;
-
206  // typedef genType const* const_pointer;
-
207  // typedef genType const *const const_pointer_const;
-
208  // typedef genType *const pointer_const;
-
209  // typedef genType & reference;
-
210  // typedef genType const& const_reference;
-
211  // typedef genType const& param_type;
-
212 
-
213  // typedef typename genType::value_type value_type;
-
214  // typedef typename genType::size_type size_type;
-
215  // static const typename size_type value_size;
-
216  //};
-
217 
-
218  //template <typename genType>
-
219  //const typename desc<genType>::size_type desc<genType>::value_size = genType::value_size();
-
220 
-
221 }//namespace detail
-
222 }//namespace glm
-
223 
-
224 //#include "type_gentype.inl"
-
Definition: _noise.hpp:39
+
95 
+
96 }//namespace glm
+
lowp_float_t lowp_float
Low precision floating-point numbers.
Definition: type_float.hpp:56
+
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:84
+
Definition: _noise.hpp:40
+
mediump_float_t mediump_float
Medium precision floating-point numbers.
Definition: type_float.hpp:63
+
OpenGL Mathematics (glm.g-truc.net)
+
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:85
+
highp_float_t highp_float
High precision floating-point numbers.
Definition: type_float.hpp:70
diff --git a/doc/api/a00117.html b/doc/api/a00117.html index ff114c10..71e0850e 100644 --- a/doc/api/a00117.html +++ b/doc/api/a00117.html @@ -3,8 +3,8 @@ - -0.9.6: type_half.hpp File Reference + +0.9.7: type_gentype.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_half.hpp File Reference
+
type_gentype.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-17 / 2011-09-20
+

GLM Core

+
Date
2008-10-05 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_half.hpp.

+

Definition in file type_gentype.hpp.

diff --git a/doc/api/a00117_source.html b/doc/api/a00117_source.html index ee624fd5..ce00b87a 100644 --- a/doc/api/a00117_source.html +++ b/doc/api/a00117_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_half.hpp Source File + +0.9.7: type_gentype.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_half.hpp
+
type_gentype.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "setup.hpp"
-
36 
-
37 namespace glm{
-
38 namespace detail
-
39 {
-
40  typedef short hdata;
-
41 
-
42  GLM_FUNC_DECL float toFloat32(hdata value);
-
43  GLM_FUNC_DECL hdata toFloat16(float const & value);
-
44 
-
45 }//namespace detail
-
46 }//namespace glm
-
47 
-
48 #include "type_half.inl"
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
35 namespace glm
+
36 {
+
37  enum profile
+
38  {
+
39  nice,
+
40  fast,
+
41  simd
+
42  };
+
43 
+
44  typedef std::size_t sizeType;
+
45 
+
46 namespace detail
+
47 {
+
48  template
+
49  <
+
50  typename VALTYPE,
+
51  template <typename> class TYPE
+
52  >
+
53  struct genType
+
54  {
+
55  public:
+
56  enum ctor{null};
+
57 
+
58  typedef VALTYPE value_type;
+
59  typedef VALTYPE & value_reference;
+
60  typedef VALTYPE * value_pointer;
+
61  typedef VALTYPE const * value_const_pointer;
+
62  typedef TYPE<bool> bool_type;
+
63 
+
64  typedef sizeType size_type;
+
65  static bool is_vector();
+
66  static bool is_matrix();
+
67 
+
68  typedef TYPE<VALTYPE> type;
+
69  typedef TYPE<VALTYPE> * pointer;
+
70  typedef TYPE<VALTYPE> const * const_pointer;
+
71  typedef TYPE<VALTYPE> const * const const_pointer_const;
+
72  typedef TYPE<VALTYPE> * const pointer_const;
+
73  typedef TYPE<VALTYPE> & reference;
+
74  typedef TYPE<VALTYPE> const & const_reference;
+
75  typedef TYPE<VALTYPE> const & param_type;
+
76 
+
78  // Address (Implementation details)
+
79 
+
80  value_const_pointer value_address() const{return value_pointer(this);}
+
81  value_pointer value_address(){return value_pointer(this);}
+
82 
+
83  //protected:
+
84  // enum kind
+
85  // {
+
86  // GEN_TYPE,
+
87  // VEC_TYPE,
+
88  // MAT_TYPE
+
89  // };
+
90 
+
91  // typedef typename TYPE::kind kind;
+
92  };
+
93 
+
94  template
+
95  <
+
96  typename VALTYPE,
+
97  template <typename> class TYPE
+
98  >
+
99  bool genType<VALTYPE, TYPE>::is_vector()
+
100  {
+
101  return true;
+
102  }
+
103 /*
+
104  template <typename valTypeT, unsigned int colT, unsigned int rowT, profile proT = nice>
+
105  class base
+
106  {
+
107  public:
+
109  // Traits
+
110 
+
111  typedef sizeType size_type;
+
112  typedef valTypeT value_type;
+
113 
+
114  typedef base<value_type, colT, rowT> class_type;
+
115 
+
116  typedef base<bool, colT, rowT> bool_type;
+
117  typedef base<value_type, rowT, 1> col_type;
+
118  typedef base<value_type, colT, 1> row_type;
+
119  typedef base<value_type, rowT, colT> transpose_type;
+
120 
+
121  static size_type col_size();
+
122  static size_type row_size();
+
123  static size_type value_size();
+
124  static bool is_scalar();
+
125  static bool is_vector();
+
126  static bool is_matrix();
+
127 
+
128  private:
+
129  // Data
+
130  col_type value[colT];
+
131 
+
132  public:
+
134  // Constructors
+
135  base();
+
136  base(class_type const & m);
+
137 
+
138  explicit base(T const & x);
+
139  explicit base(value_type const * const x);
+
140  explicit base(col_type const * const x);
+
141 
+
143  // Conversions
+
144  template <typename vU, uint cU, uint rU, profile pU>
+
145  explicit base(base<vU, cU, rU, pU> const & m);
+
146 
+
148  // Accesses
+
149  col_type& operator[](size_type i);
+
150  col_type const & operator[](size_type i) const;
+
151 
+
153  // Unary updatable operators
+
154  class_type& operator= (class_type const & x);
+
155  class_type& operator+= (T const & x);
+
156  class_type& operator+= (class_type const & x);
+
157  class_type& operator-= (T const & x);
+
158  class_type& operator-= (class_type const & x);
+
159  class_type& operator*= (T const & x);
+
160  class_type& operator*= (class_type const & x);
+
161  class_type& operator/= (T const & x);
+
162  class_type& operator/= (class_type const & x);
+
163  class_type& operator++ ();
+
164  class_type& operator-- ();
+
165  };
+
166 */
+
167 
+
168  //template <typename T>
+
169  //struct traits
+
170  //{
+
171  // static const bool is_signed = false;
+
172  // static const bool is_float = false;
+
173  // static const bool is_vector = false;
+
174  // static const bool is_matrix = false;
+
175  // static const bool is_genType = false;
+
176  // static const bool is_genIType = false;
+
177  // static const bool is_genUType = false;
+
178  //};
+
179 
+
180  //template <>
+
181  //struct traits<half>
+
182  //{
+
183  // static const bool is_float = true;
+
184  // static const bool is_genType = true;
+
185  //};
+
186 
+
187  //template <>
+
188  //struct traits<float>
+
189  //{
+
190  // static const bool is_float = true;
+
191  // static const bool is_genType = true;
+
192  //};
+
193 
+
194  //template <>
+
195  //struct traits<double>
+
196  //{
+
197  // static const bool is_float = true;
+
198  // static const bool is_genType = true;
+
199  //};
+
200 
+
201  //template <typename genType>
+
202  //struct desc
+
203  //{
+
204  // typedef genType type;
+
205  // typedef genType * pointer;
+
206  // typedef genType const* const_pointer;
+
207  // typedef genType const *const const_pointer_const;
+
208  // typedef genType *const pointer_const;
+
209  // typedef genType & reference;
+
210  // typedef genType const& const_reference;
+
211  // typedef genType const& param_type;
+
212 
+
213  // typedef typename genType::value_type value_type;
+
214  // typedef typename genType::size_type size_type;
+
215  // static const typename size_type value_size;
+
216  //};
+
217 
+
218  //template <typename genType>
+
219  //const typename desc<genType>::size_type desc<genType>::value_size = genType::value_size();
+
220 
+
221 }//namespace detail
+
222 }//namespace glm
+
223 
+
224 //#include "type_gentype.inl"
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00118.html b/doc/api/a00118.html index 609022f5..b8d58859 100644 --- a/doc/api/a00118.html +++ b/doc/api/a00118.html @@ -3,8 +3,8 @@ - -0.9.6: type_int.hpp File Reference + +0.9.7: type_half.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
type_int.hpp File Reference
+
type_half.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::highp_int_t highp_int
 
typedef detail::highp_uint_t highp_uint
 
typedef detail::int16 int16
 
typedef detail::int32 int32
 
typedef detail::int64 int64
 
typedef detail::int8 int8
 
typedef detail::lowp_int_t lowp_int
 
typedef detail::lowp_uint_t lowp_uint
 
typedef detail::mediump_int_t mediump_int
 
typedef detail::mediump_uint_t mediump_uint
 
typedef unsigned int uint
 
typedef detail::uint16 uint16
 
typedef detail::uint32 uint32
 
typedef detail::uint64 uint64
 
typedef detail::uint8 uint8
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-22 / 2013-03-30
+

GLM Core

+
Date
2008-08-17 / 2011-09-20
Author
Christophe Riccio
-

Definition in file type_int.hpp.

+

Definition in file type_half.hpp.

diff --git a/doc/api/a00118_source.html b/doc/api/a00118_source.html index af66b532..6d9f673a 100644 --- a/doc/api/a00118_source.html +++ b/doc/api/a00118_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_int.hpp Source File + +0.9.7: type_half.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_int.hpp
+
type_half.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "setup.hpp"
-
36 #include <type_traits>
-
37 
-
38 #if GLM_HAS_EXTENDED_INTEGER_TYPE
-
39 # include <cstdint>
-
40 #endif
+
35 #include "setup.hpp"
+
36 
+
37 namespace glm{
+
38 namespace detail
+
39 {
+
40  typedef short hdata;
41 
-
42 namespace glm{
-
43 namespace detail
-
44 {
-
45 # if GLM_HAS_EXTENDED_INTEGER_TYPE
-
46  typedef std::int8_t int8;
-
47  typedef std::int16_t int16;
-
48  typedef std::int32_t int32;
-
49  typedef std::int64_t int64;
-
50 
-
51  typedef std::uint8_t uint8;
-
52  typedef std::uint16_t uint16;
-
53  typedef std::uint32_t uint32;
-
54  typedef std::uint64_t uint64;
-
55 # else
-
56 # if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
-
57  typedef int64_t sint64;
-
58  typedef uint64_t uint64;
-
59 # elif GLM_COMPILER & GLM_COMPILER_VC
-
60  typedef signed __int64 sint64;
-
61  typedef unsigned __int64 uint64;
-
62 # elif GLM_COMPILER & GLM_COMPILER_GCC
-
63  __extension__ typedef signed long long sint64;
-
64  __extension__ typedef unsigned long long uint64;
-
65 # else//unknown compiler
-
66  typedef signed long long sint64;
-
67  typedef unsigned long long uint64;
-
68 # endif//GLM_COMPILER
-
69 
-
70  typedef signed char int8;
-
71  typedef signed short int16;
-
72  typedef signed int int32;
-
73  typedef sint64 int64;
-
74 
-
75  typedef unsigned char uint8;
-
76  typedef unsigned short uint16;
-
77  typedef unsigned int uint32;
-
78  typedef uint64 uint64;
-
79 #endif//
-
80 
-
81  typedef signed int lowp_int_t;
-
82  typedef signed int mediump_int_t;
-
83  typedef signed int highp_int_t;
-
84 
-
85  typedef unsigned int lowp_uint_t;
-
86  typedef unsigned int mediump_uint_t;
-
87  typedef unsigned int highp_uint_t;
-
88 
-
89 # if GLM_HAS_MAKE_SIGNED
-
90  using std::make_signed;
-
91  using std::make_unsigned;
-
92 
-
93 # else//GLM_HAS_MAKE_SIGNED
-
94  template <typename genType>
-
95  struct make_signed
-
96  {};
-
97 
-
98  template <>
-
99  struct make_signed<char>
-
100  {
-
101  typedef char type;
-
102  };
-
103 
-
104  template <>
-
105  struct make_signed<short>
-
106  {
-
107  typedef short type;
-
108  };
-
109 
-
110  template <>
-
111  struct make_signed<int>
-
112  {
-
113  typedef int type;
-
114  };
-
115 
-
116  template <>
-
117  struct make_signed<long>
-
118  {
-
119  typedef long type;
-
120  };
-
121 
-
122  template <>
-
123  struct make_signed<long long>
-
124  {
-
125  typedef long long type;
-
126  };
-
127 
-
128  template <>
-
129  struct make_signed<unsigned char>
-
130  {
-
131  typedef char type;
-
132  };
-
133 
-
134  template <>
-
135  struct make_signed<unsigned short>
-
136  {
-
137  typedef short type;
-
138  };
-
139 
-
140  template <>
-
141  struct make_signed<unsigned int>
-
142  {
-
143  typedef int type;
-
144  };
-
145 
-
146  template <>
-
147  struct make_signed<unsigned long>
-
148  {
-
149  typedef long type;
-
150  };
-
151 
-
152  template <>
-
153  struct make_signed<unsigned long long>
-
154  {
-
155  typedef long long type;
-
156  };
-
157 
-
158  template <typename genType>
-
159  struct make_unsigned
-
160  {};
-
161 
-
162  template <>
-
163  struct make_unsigned<char>
-
164  {
-
165  typedef unsigned char type;
-
166  };
-
167 
-
168  template <>
-
169  struct make_unsigned<short>
-
170  {
-
171  typedef unsigned short type;
-
172  };
-
173 
-
174  template <>
-
175  struct make_unsigned<int>
-
176  {
-
177  typedef unsigned int type;
-
178  };
-
179 
-
180  template <>
-
181  struct make_unsigned<long>
-
182  {
-
183  typedef unsigned long type;
-
184  };
-
185 
-
186  template <>
-
187  struct make_unsigned<long long>
-
188  {
-
189  typedef unsigned long long type;
-
190  };
-
191 
-
192  template <>
-
193  struct make_unsigned<unsigned char>
-
194  {
-
195  typedef unsigned char type;
-
196  };
-
197 
-
198  template <>
-
199  struct make_unsigned<unsigned short>
-
200  {
-
201  typedef unsigned short type;
-
202  };
-
203 
-
204  template <>
-
205  struct make_unsigned<unsigned int>
-
206  {
-
207  typedef unsigned int type;
-
208  };
-
209 
-
210  template <>
-
211  struct make_unsigned<unsigned long>
-
212  {
-
213  typedef unsigned long type;
-
214  };
-
215 
-
216  template <>
-
217  struct make_unsigned<unsigned long long>
-
218  {
-
219  typedef unsigned long long type;
-
220  };
-
221 # endif//GLM_HAS_MAKE_SIGNED
-
222 }//namespace detail
-
223 
-
224  typedef detail::int8 int8;
-
225  typedef detail::int16 int16;
-
226  typedef detail::int32 int32;
-
227  typedef detail::int64 int64;
-
228 
-
229  typedef detail::uint8 uint8;
-
230  typedef detail::uint16 uint16;
-
231  typedef detail::uint32 uint32;
-
232  typedef detail::uint64 uint64;
-
233 
-
236 
-
242  typedef detail::lowp_int_t lowp_int;
-
243 
-
249  typedef detail::mediump_int_t mediump_int;
-
250 
-
256  typedef detail::highp_int_t highp_int;
-
257 
-
263  typedef detail::lowp_uint_t lowp_uint;
-
264 
-
270  typedef detail::mediump_uint_t mediump_uint;
-
271 
-
277  typedef detail::highp_uint_t highp_uint;
-
278 
-
279 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
280  typedef mediump_int int_t;
-
281 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
282  typedef highp_int int_t;
-
283 #elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
284  typedef mediump_int int_t;
-
285 #elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT))
-
286  typedef lowp_int int_t;
-
287 #else
-
288 # error "GLM error: multiple default precision requested for signed interger types"
-
289 #endif
-
290 
-
291 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
292  typedef mediump_uint uint_t;
-
293 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
294  typedef highp_uint uint_t;
-
295 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
296  typedef mediump_uint uint_t;
-
297 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT))
-
298  typedef lowp_uint uint_t;
-
299 #else
-
300 # error "GLM error: multiple default precision requested for unsigned interger types"
-
301 #endif
-
302 
-
306  typedef unsigned int uint;
-
307 
-
309 
-
311 // check type sizes
-
312 #ifndef GLM_STATIC_ASSERT_NULL
-
313  GLM_STATIC_ASSERT(sizeof(glm::int8) == 1, "int8 size isn't 1 byte on this platform");
-
314  GLM_STATIC_ASSERT(sizeof(glm::int16) == 2, "int16 size isn't 2 bytes on this platform");
-
315  GLM_STATIC_ASSERT(sizeof(glm::int32) == 4, "int32 size isn't 4 bytes on this platform");
-
316  GLM_STATIC_ASSERT(sizeof(glm::int64) == 8, "int64 size isn't 8 bytes on this platform");
-
317 
-
318  GLM_STATIC_ASSERT(sizeof(glm::uint8) == 1, "uint8 size isn't 1 byte on this platform");
-
319  GLM_STATIC_ASSERT(sizeof(glm::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
-
320  GLM_STATIC_ASSERT(sizeof(glm::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
-
321  GLM_STATIC_ASSERT(sizeof(glm::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
-
322 #endif//GLM_STATIC_ASSERT_NULL
-
323 
-
324 }//namespace glm
-
detail::mediump_int_t mediump_int
Medium precision signed integer.
Definition: type_int.hpp:249
-
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:921
-
detail::highp_int_t highp_int
High precision signed integer.
Definition: type_int.hpp:256
-
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:917
-
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:308
-
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:230
-
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:913
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:306
-
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:232
-
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:304
-
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:229
-
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:231
-
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:224
-
detail::lowp_uint_t lowp_uint
Low precision unsigned integer.
Definition: type_int.hpp:263
-
detail::lowp_int_t lowp_int
Low precision signed integer.
Definition: type_int.hpp:242
-
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:226
-
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:225
-
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:312
-
detail::mediump_uint_t mediump_uint
Medium precision unsigned integer.
Definition: type_int.hpp:270
-
detail::highp_uint_t highp_uint
High precision unsigned integer.
Definition: type_int.hpp:277
-
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:300
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:909
-
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:227
+
42  GLM_FUNC_DECL float toFloat32(hdata value);
+
43  GLM_FUNC_DECL hdata toFloat16(float const & value);
+
44 
+
45 }//namespace detail
+
46 }//namespace glm
+
47 
+
48 #include "type_half.inl"
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00119.html b/doc/api/a00119.html index b17ff7a0..16c37c7d 100644 --- a/doc/api/a00119.html +++ b/doc/api/a00119.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat.hpp File Reference + +0.9.7: type_int.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat.hpp File Reference
+
type_int.hpp File Reference
@@ -56,216 +56,54 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Typedefs

typedef highp_dmat2x2 dmat2
 
typedef highp_dmat2x2 dmat2x2
 
typedef highp_dmat2x3 dmat2x3
 
typedef highp_dmat2x4 dmat2x4
 
typedef highp_dmat3x3 dmat3
 
typedef highp_dmat3x2 dmat3x2
 
typedef highp_dmat3x3 dmat3x3
 
typedef highp_dmat3x4 dmat3x4
 
typedef highp_dmat4x4 dmat4
 
typedef highp_dmat4x2 dmat4x2
 
typedef highp_dmat4x3 dmat4x3
 
typedef highp_dmat4x4 dmat4x4
 
typedef tmat2x2< double, highp > highp_dmat2
 
typedef tmat2x2< double, highp > highp_dmat2x2
 
typedef tmat2x3< double, highp > highp_dmat2x3
 
typedef tmat2x4< double, highp > highp_dmat2x4
 
typedef tmat3x3< double, highp > highp_dmat3
 
typedef tmat3x2< double, highp > highp_dmat3x2
 
typedef tmat3x3< double, highp > highp_dmat3x3
 
typedef tmat3x4< double, highp > highp_dmat3x4
 
typedef tmat4x4< double, highp > highp_dmat4
 
typedef tmat4x2< double, highp > highp_dmat4x2
 
typedef tmat4x3< double, highp > highp_dmat4x3
 
typedef tmat4x4< double, highp > highp_dmat4x4
 
typedef tmat2x2< float, highp > highp_mat2
 
typedef tmat2x2< float, highp > highp_mat2x2
 
typedef tmat2x3< float, highp > highp_mat2x3
 
typedef tmat2x4< float, highp > highp_mat2x4
 
typedef tmat3x3< float, highp > highp_mat3
 
typedef tmat3x2< float, highp > highp_mat3x2
 
typedef tmat3x3< float, highp > highp_mat3x3
 
typedef tmat3x4< float, highp > highp_mat3x4
 
typedef tmat4x4< float, highp > highp_mat4
 
typedef tmat4x2< float, highp > highp_mat4x2
 
typedef tmat4x3< float, highp > highp_mat4x3
 
typedef tmat4x4< float, highp > highp_mat4x4
 
typedef tmat2x2< double, lowp > lowp_dmat2
 
typedef tmat2x2< double, lowp > lowp_dmat2x2
 
typedef tmat2x3< double, lowp > lowp_dmat2x3
 
typedef tmat2x4< double, lowp > lowp_dmat2x4
 
typedef tmat3x3< float, lowp > lowp_dmat3
 
typedef tmat3x2< double, lowp > lowp_dmat3x2
 
typedef tmat3x3< double, lowp > lowp_dmat3x3
 
typedef tmat3x4< double, lowp > lowp_dmat3x4
 
typedef tmat4x4< double, lowp > lowp_dmat4
 
typedef tmat4x2< double, lowp > lowp_dmat4x2
 
typedef tmat4x3< double, lowp > lowp_dmat4x3
 
typedef tmat4x4< double, lowp > lowp_dmat4x4
 
typedef tmat2x2< float, lowp > lowp_mat2
 
typedef tmat2x2< float, lowp > lowp_mat2x2
 
typedef tmat2x3< float, lowp > lowp_mat2x3
 
typedef tmat2x4< float, lowp > lowp_mat2x4
 
typedef tmat3x3< float, lowp > lowp_mat3
 
typedef tmat3x2< float, lowp > lowp_mat3x2
 
typedef tmat3x3< float, lowp > lowp_mat3x3
 
typedef tmat3x4< float, lowp > lowp_mat3x4
 
typedef tmat4x4< float, lowp > lowp_mat4
 
typedef tmat4x2< float, lowp > lowp_mat4x2
 
typedef tmat4x3< float, lowp > lowp_mat4x3
 
typedef tmat4x4< float, lowp > lowp_mat4x4
 
typedef mat2x2 mat2
 
typedef highp_mat2x2 mat2x2
 
typedef highp_mat2x3 mat2x3
 
typedef highp_mat2x4 mat2x4
 
typedef mat3x3 mat3
 
typedef highp_mat3x2 mat3x2
 
typedef highp_mat3x3 mat3x3
 
typedef highp_mat3x4 mat3x4
 
typedef mat4x4 mat4
 
typedef highp_mat4x2 mat4x2
 
typedef highp_mat4x3 mat4x3
 
typedef highp_mat4x4 mat4x4
 
typedef tmat2x2< double, mediump > mediump_dmat2
 
typedef tmat2x2< double, mediump > mediump_dmat2x2
 
typedef tmat2x3< double, mediump > mediump_dmat2x3
 
typedef tmat2x4< double, mediump > mediump_dmat2x4
 
typedef tmat3x3< double, mediump > mediump_dmat3
 
typedef tmat3x2< double, mediump > mediump_dmat3x2
 
typedef tmat3x3< double, mediump > mediump_dmat3x3
 
typedef tmat3x4< double, mediump > mediump_dmat3x4
 
typedef tmat4x4< double, mediump > mediump_dmat4
 
typedef tmat4x2< double, mediump > mediump_dmat4x2
 
typedef tmat4x3< double, mediump > mediump_dmat4x3
 
typedef tmat4x4< double, mediump > mediump_dmat4x4
 
typedef tmat2x2< float, mediump > mediump_mat2
 
typedef tmat2x2< float, mediump > mediump_mat2x2
 
typedef tmat2x3< float, mediump > mediump_mat2x3
 
typedef tmat2x4< float, mediump > mediump_mat2x4
 
typedef tmat3x3< float, mediump > mediump_mat3
 
typedef tmat3x2< float, mediump > mediump_mat3x2
 
typedef tmat3x3< float, mediump > mediump_mat3x3
 
typedef tmat3x4< float, mediump > mediump_mat3x4
 
typedef tmat4x4< float, mediump > mediump_mat4
 
typedef tmat4x2< float, mediump > mediump_mat4x2
 
typedef tmat4x3< float, mediump > mediump_mat4x3
 
typedef tmat4x4< float, mediump > mediump_mat4x4
 
typedef detail::highp_int_t highp_int
 
typedef detail::highp_uint_t highp_uint
 
typedef detail::int16 int16
 
typedef detail::int32 int32
 
typedef detail::int64 int64
 
typedef detail::int8 int8
 
typedef detail::lowp_int_t lowp_int
 
typedef detail::lowp_uint_t lowp_uint
 
typedef detail::mediump_int_t mediump_int
 
typedef detail::mediump_uint_t mediump_uint
 
typedef unsigned int uint
 
typedef detail::uint16 uint16
 
typedef detail::uint32 uint32
 
typedef detail::uint64 uint64
 
typedef detail::uint8 uint8
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2010-01-26 / 2011-06-15
+

GLM Core

+
Date
2008-08-22 / 2013-03-30
Author
Christophe Riccio
-

Definition in file type_mat.hpp.

+

Definition in file type_int.hpp.

diff --git a/doc/api/a00119_source.html b/doc/api/a00119_source.html index 49463e00..50d2b438 100644 --- a/doc/api/a00119_source.html +++ b/doc/api/a00119_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat.hpp Source File + +0.9.7: type_int.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat.hpp
+
type_int.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "precision.hpp"
-
36 
-
37 namespace glm{
-
38 namespace detail
-
39 {
-
40  template <typename T, precision P, template <class, precision> class colType, template <class, precision> class rowType>
-
41  struct outerProduct_trait{};
-
42 }//namespace detail
+
35 #include "setup.hpp"
+
36 #if GLM_HAS_MAKE_SIGNED
+
37 # include <type_traits>
+
38 #endif
+
39 
+
40 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
41 # include <cstdint>
+
42 #endif
43 
-
44  template <typename T, precision P> struct tvec2;
-
45  template <typename T, precision P> struct tvec3;
-
46  template <typename T, precision P> struct tvec4;
-
47  template <typename T, precision P> struct tmat2x2;
-
48  template <typename T, precision P> struct tmat2x3;
-
49  template <typename T, precision P> struct tmat2x4;
-
50  template <typename T, precision P> struct tmat3x2;
-
51  template <typename T, precision P> struct tmat3x3;
-
52  template <typename T, precision P> struct tmat3x4;
-
53  template <typename T, precision P> struct tmat4x2;
-
54  template <typename T, precision P> struct tmat4x3;
-
55  template <typename T, precision P> struct tmat4x4;
-
56 
-
59 
-
65  typedef tmat2x2<float, lowp> lowp_mat2;
-
66 
-
72  typedef tmat2x2<float, mediump> mediump_mat2;
-
73 
-
79  typedef tmat2x2<float, highp> highp_mat2;
-
80 
-
86  typedef tmat2x2<float, lowp> lowp_mat2x2;
-
87 
-
93  typedef tmat2x2<float, mediump> mediump_mat2x2;
-
94 
-
100  typedef tmat2x2<float, highp> highp_mat2x2;
-
101 
-
103 
-
106 
-
112  typedef tmat2x3<float, lowp> lowp_mat2x3;
-
113 
-
119  typedef tmat2x3<float, mediump> mediump_mat2x3;
-
120 
-
126  typedef tmat2x3<float, highp> highp_mat2x3;
-
127 
-
129 
-
132 
-
138  typedef tmat2x4<float, lowp> lowp_mat2x4;
-
139 
-
145  typedef tmat2x4<float, mediump> mediump_mat2x4;
-
146 
-
152  typedef tmat2x4<float, highp> highp_mat2x4;
-
153 
-
155 
-
158 
-
164  typedef tmat3x2<float, lowp> lowp_mat3x2;
-
165 
-
171  typedef tmat3x2<float, mediump> mediump_mat3x2;
-
172 
-
178  typedef tmat3x2<float, highp> highp_mat3x2;
-
179 
-
181 
-
184 
-
190  typedef tmat3x3<float, lowp> lowp_mat3;
-
191 
-
197  typedef tmat3x3<float, mediump> mediump_mat3;
-
198 
-
204  typedef tmat3x3<float, highp> highp_mat3;
-
205 
-
211  typedef tmat3x3<float, lowp> lowp_mat3x3;
-
212 
-
218  typedef tmat3x3<float, mediump> mediump_mat3x3;
-
219 
-
225  typedef tmat3x3<float, highp> highp_mat3x3;
-
226 
-
228 
-
231 
-
237  typedef tmat3x4<float, lowp> lowp_mat3x4;
-
238 
-
244  typedef tmat3x4<float, mediump> mediump_mat3x4;
-
245 
-
251  typedef tmat3x4<float, highp> highp_mat3x4;
-
252 
-
254 
-
257 
-
263  typedef tmat4x2<float, lowp> lowp_mat4x2;
-
264 
-
270  typedef tmat4x2<float, mediump> mediump_mat4x2;
-
271 
-
277  typedef tmat4x2<float, highp> highp_mat4x2;
-
278 
-
280 
-
283 
-
289  typedef tmat4x3<float, lowp> lowp_mat4x3;
-
290 
-
296  typedef tmat4x3<float, mediump> mediump_mat4x3;
-
297 
-
303  typedef tmat4x3<float, highp> highp_mat4x3;
-
304 
-
306 
-
307 
-
310 
-
316  typedef tmat4x4<float, lowp> lowp_mat4;
-
317 
-
323  typedef tmat4x4<float, mediump> mediump_mat4;
-
324 
-
330  typedef tmat4x4<float, highp> highp_mat4;
-
331 
-
337  typedef tmat4x4<float, lowp> lowp_mat4x4;
-
338 
-
344  typedef tmat4x4<float, mediump> mediump_mat4x4;
-
345 
-
351  typedef tmat4x4<float, highp> highp_mat4x4;
-
352 
-
354 
-
357 
-
359  // Float definition
-
360 
-
361 #if(defined(GLM_PRECISION_LOWP_FLOAT))
-
362  typedef lowp_mat2x2 mat2x2;
-
363  typedef lowp_mat2x3 mat2x3;
-
364  typedef lowp_mat2x4 mat2x4;
-
365  typedef lowp_mat3x2 mat3x2;
-
366  typedef lowp_mat3x3 mat3x3;
-
367  typedef lowp_mat3x4 mat3x4;
-
368  typedef lowp_mat4x2 mat4x2;
-
369  typedef lowp_mat4x3 mat4x3;
-
370  typedef lowp_mat4x4 mat4x4;
-
371 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
372  typedef mediump_mat2x2 mat2x2;
-
373  typedef mediump_mat2x3 mat2x3;
-
374  typedef mediump_mat2x4 mat2x4;
-
375  typedef mediump_mat3x2 mat3x2;
-
376  typedef mediump_mat3x3 mat3x3;
-
377  typedef mediump_mat3x4 mat3x4;
-
378  typedef mediump_mat4x2 mat4x2;
-
379  typedef mediump_mat4x3 mat4x3;
-
380  typedef mediump_mat4x4 mat4x4;
-
381 #else
-
382  typedef highp_mat2x2 mat2x2;
-
386 
-
390  typedef highp_mat2x3 mat2x3;
-
391 
-
395  typedef highp_mat2x4 mat2x4;
-
396 
-
400  typedef highp_mat3x2 mat3x2;
-
401 
-
405  typedef highp_mat3x3 mat3x3;
-
406 
-
410  typedef highp_mat3x4 mat3x4;
-
411 
-
415  typedef highp_mat4x2 mat4x2;
-
416 
-
420  typedef highp_mat4x3 mat4x3;
-
421 
-
425  typedef highp_mat4x4 mat4x4;
-
426 
-
427 #endif//GLM_PRECISION
-
428 
-
432  typedef mat2x2 mat2;
-
433 
-
437  typedef mat3x3 mat3;
-
438 
-
442  typedef mat4x4 mat4;
-
443 
-
445  // Double definition
-
446 
-
449 
-
454  typedef tmat2x2<double, lowp> lowp_dmat2;
-
455 
-
460  typedef tmat2x2<double, mediump> mediump_dmat2;
-
461 
-
466  typedef tmat2x2<double, highp> highp_dmat2;
-
467 
-
472  typedef tmat2x2<double, lowp> lowp_dmat2x2;
-
473 
-
478  typedef tmat2x2<double, mediump> mediump_dmat2x2;
-
479 
-
484  typedef tmat2x2<double, highp> highp_dmat2x2;
-
485 
-
487 
-
490 
-
495  typedef tmat2x3<double, lowp> lowp_dmat2x3;
-
496 
-
501  typedef tmat2x3<double, mediump> mediump_dmat2x3;
-
502 
-
507  typedef tmat2x3<double, highp> highp_dmat2x3;
-
508 
-
510 
-
513 
-
518  typedef tmat2x4<double, lowp> lowp_dmat2x4;
-
519 
-
524  typedef tmat2x4<double, mediump> mediump_dmat2x4;
-
525 
-
530  typedef tmat2x4<double, highp> highp_dmat2x4;
-
531 
-
533 
-
536 
-
541  typedef tmat3x2<double, lowp> lowp_dmat3x2;
-
542 
-
547  typedef tmat3x2<double, mediump> mediump_dmat3x2;
-
548 
-
553  typedef tmat3x2<double, highp> highp_dmat3x2;
-
554 
-
556 
-
559 
-
564  typedef tmat3x3<float, lowp> lowp_dmat3;
-
565 
-
570  typedef tmat3x3<double, mediump> mediump_dmat3;
-
571 
-
576  typedef tmat3x3<double, highp> highp_dmat3;
-
577 
-
582  typedef tmat3x3<double, lowp> lowp_dmat3x3;
-
583 
-
588  typedef tmat3x3<double, mediump> mediump_dmat3x3;
-
589 
-
594  typedef tmat3x3<double, highp> highp_dmat3x3;
-
595 
-
597 
-
600 
-
605  typedef tmat3x4<double, lowp> lowp_dmat3x4;
-
606 
-
611  typedef tmat3x4<double, mediump> mediump_dmat3x4;
-
612 
-
617  typedef tmat3x4<double, highp> highp_dmat3x4;
-
618 
-
620 
-
623 
-
628  typedef tmat4x2<double, lowp> lowp_dmat4x2;
-
629 
-
634  typedef tmat4x2<double, mediump> mediump_dmat4x2;
-
635 
-
640  typedef tmat4x2<double, highp> highp_dmat4x2;
-
641 
-
643 
-
646 
-
651  typedef tmat4x3<double, lowp> lowp_dmat4x3;
-
652 
-
657  typedef tmat4x3<double, mediump> mediump_dmat4x3;
-
658 
-
663  typedef tmat4x3<double, highp> highp_dmat4x3;
-
664 
-
666 
-
669 
-
674  typedef tmat4x4<double, lowp> lowp_dmat4;
-
675 
-
680  typedef tmat4x4<double, mediump> mediump_dmat4;
-
681 
-
686  typedef tmat4x4<double, highp> highp_dmat4;
-
687 
-
692  typedef tmat4x4<double, lowp> lowp_dmat4x4;
-
693 
-
698  typedef tmat4x4<double, mediump> mediump_dmat4x4;
-
699 
-
704  typedef tmat4x4<double, highp> highp_dmat4x4;
-
705 
-
707 
-
708 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
-
709  typedef lowp_dmat2x2 dmat2x2;
-
710  typedef lowp_dmat2x3 dmat2x3;
-
711  typedef lowp_dmat2x4 dmat2x4;
-
712  typedef lowp_dmat3x2 dmat3x2;
-
713  typedef lowp_dmat3x3 dmat3x3;
-
714  typedef lowp_dmat3x4 dmat3x4;
-
715  typedef lowp_dmat4x2 dmat4x2;
-
716  typedef lowp_dmat4x3 dmat4x3;
-
717  typedef lowp_dmat4x4 dmat4x4;
-
718 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
-
719  typedef mediump_dmat2x2 dmat2x2;
-
720  typedef mediump_dmat2x3 dmat2x3;
-
721  typedef mediump_dmat2x4 dmat2x4;
-
722  typedef mediump_dmat3x2 dmat3x2;
-
723  typedef mediump_dmat3x3 dmat3x3;
-
724  typedef mediump_dmat3x4 dmat3x4;
-
725  typedef mediump_dmat4x2 dmat4x2;
-
726  typedef mediump_dmat4x3 dmat4x3;
-
727  typedef mediump_dmat4x4 dmat4x4;
-
728 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
-
729 
-
733  typedef highp_dmat2x2 dmat2;
-
734 
-
738  typedef highp_dmat3x3 dmat3;
-
739 
-
743  typedef highp_dmat4x4 dmat4;
-
744 
-
748  typedef highp_dmat2x2 dmat2x2;
-
749 
-
753  typedef highp_dmat2x3 dmat2x3;
-
754 
-
758  typedef highp_dmat2x4 dmat2x4;
-
759 
-
763  typedef highp_dmat3x2 dmat3x2;
-
764 
-
768  typedef highp_dmat3x3 dmat3x3;
-
769 
-
773  typedef highp_dmat3x4 dmat3x4;
-
774 
-
778  typedef highp_dmat4x2 dmat4x2;
-
779 
-
783  typedef highp_dmat4x3 dmat4x3;
-
784 
-
788  typedef highp_dmat4x4 dmat4x4;
-
789 
-
790 #endif//GLM_PRECISION
-
791 
-
793 }//namespace glm
-
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
-
tmat3x3< double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:582
-
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:72
-
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:753
-
tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:576
-
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:788
-
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
-
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
-
OpenGL Mathematics (glm.g-truc.net)
-
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
-
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
-
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
-
tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:541
-
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:337
-
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:316
-
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:344
-
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:410
-
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:323
-
tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:518
-
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
-
highp_dmat3x2 dmat3x2
3 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:763
-
tmat4x4< double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:692
-
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
-
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
-
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
-
tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:617
-
tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:466
-
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
-
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:738
-
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
-
tmat3x3< double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:588
-
tmat2x2< double, lowp > lowp_dmat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:454
-
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:437
-
tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:547
-
tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:570
-
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:743
-
tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:657
-
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
-
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
-
tmat3x2< double, highp > highp_dmat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:553
-
tmat2x4< double, highp > highp_dmat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:530
-
tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:484
-
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:351
-
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:400
-
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:778
-
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:296
-
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
-
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:303
-
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
-
tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:640
-
tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:524
-
tmat4x4< double, highp > highp_dmat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:686
-
tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:704
-
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:432
-
tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:472
-
tmat2x3< double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:495
-
tmat3x3< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:564
-
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
-
tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:594
-
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:65
-
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:783
-
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:197
-
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:79
-
tmat2x3< double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:501
-
tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:507
-
tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:605
-
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:748
-
tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:698
-
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:420
-
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
-
tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:628
-
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:733
-
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:204
-
tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:634
-
Definition: _noise.hpp:39
-
tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
-
tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:190
-
tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:663
-
tmat4x4< double, mediump > mediump_dmat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:680
-
tmat2x2< double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:478
-
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:395
-
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
-
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:758
-
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
-
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:405
-
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
-
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
-
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:330
-
tmat3x4< double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:611
-
tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:651
-
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:390
-
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:768
-
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:773
-
tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:674
-
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:385
-
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:415
-
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:289
-
tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:460
+
44 namespace glm{
+
45 namespace detail
+
46 {
+
47 # if GLM_HAS_EXTENDED_INTEGER_TYPE
+
48  typedef std::int8_t int8;
+
49  typedef std::int16_t int16;
+
50  typedef std::int32_t int32;
+
51  typedef std::int64_t int64;
+
52 
+
53  typedef std::uint8_t uint8;
+
54  typedef std::uint16_t uint16;
+
55  typedef std::uint32_t uint32;
+
56  typedef std::uint64_t uint64;
+
57 # else
+
58 # if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
+
59  typedef int64_t sint64;
+
60  typedef uint64_t uint64;
+
61 # elif GLM_COMPILER & GLM_COMPILER_VC
+
62  typedef signed __int64 sint64;
+
63  typedef unsigned __int64 uint64;
+
64 # elif GLM_COMPILER & GLM_COMPILER_GCC
+
65  __extension__ typedef signed long long sint64;
+
66  __extension__ typedef unsigned long long uint64;
+
67 # else//unknown compiler
+
68  typedef signed long long sint64;
+
69  typedef unsigned long long uint64;
+
70 # endif//GLM_COMPILER
+
71 
+
72  typedef signed char int8;
+
73  typedef signed short int16;
+
74  typedef signed int int32;
+
75  typedef sint64 int64;
+
76 
+
77  typedef unsigned char uint8;
+
78  typedef unsigned short uint16;
+
79  typedef unsigned int uint32;
+
80  typedef uint64 uint64;
+
81 #endif//
+
82 
+
83  typedef signed int lowp_int_t;
+
84  typedef signed int mediump_int_t;
+
85  typedef signed int highp_int_t;
+
86 
+
87  typedef unsigned int lowp_uint_t;
+
88  typedef unsigned int mediump_uint_t;
+
89  typedef unsigned int highp_uint_t;
+
90 
+
91 # if GLM_HAS_MAKE_SIGNED
+
92  using std::make_signed;
+
93  using std::make_unsigned;
+
94 
+
95 # else//GLM_HAS_MAKE_SIGNED
+
96  template <typename genType>
+
97  struct make_signed
+
98  {};
+
99 
+
100  template <>
+
101  struct make_signed<char>
+
102  {
+
103  typedef char type;
+
104  };
+
105 
+
106  template <>
+
107  struct make_signed<short>
+
108  {
+
109  typedef short type;
+
110  };
+
111 
+
112  template <>
+
113  struct make_signed<int>
+
114  {
+
115  typedef int type;
+
116  };
+
117 
+
118  template <>
+
119  struct make_signed<long>
+
120  {
+
121  typedef long type;
+
122  };
+
123 
+
124  template <>
+
125  struct make_signed<long long>
+
126  {
+
127  typedef long long type;
+
128  };
+
129 
+
130  template <>
+
131  struct make_signed<unsigned char>
+
132  {
+
133  typedef char type;
+
134  };
+
135 
+
136  template <>
+
137  struct make_signed<unsigned short>
+
138  {
+
139  typedef short type;
+
140  };
+
141 
+
142  template <>
+
143  struct make_signed<unsigned int>
+
144  {
+
145  typedef int type;
+
146  };
+
147 
+
148  template <>
+
149  struct make_signed<unsigned long>
+
150  {
+
151  typedef long type;
+
152  };
+
153 
+
154  template <>
+
155  struct make_signed<unsigned long long>
+
156  {
+
157  typedef long long type;
+
158  };
+
159 
+
160  template <typename genType>
+
161  struct make_unsigned
+
162  {};
+
163 
+
164  template <>
+
165  struct make_unsigned<char>
+
166  {
+
167  typedef unsigned char type;
+
168  };
+
169 
+
170  template <>
+
171  struct make_unsigned<short>
+
172  {
+
173  typedef unsigned short type;
+
174  };
+
175 
+
176  template <>
+
177  struct make_unsigned<int>
+
178  {
+
179  typedef unsigned int type;
+
180  };
+
181 
+
182  template <>
+
183  struct make_unsigned<long>
+
184  {
+
185  typedef unsigned long type;
+
186  };
+
187 
+
188  template <>
+
189  struct make_unsigned<long long>
+
190  {
+
191  typedef unsigned long long type;
+
192  };
+
193 
+
194  template <>
+
195  struct make_unsigned<unsigned char>
+
196  {
+
197  typedef unsigned char type;
+
198  };
+
199 
+
200  template <>
+
201  struct make_unsigned<unsigned short>
+
202  {
+
203  typedef unsigned short type;
+
204  };
+
205 
+
206  template <>
+
207  struct make_unsigned<unsigned int>
+
208  {
+
209  typedef unsigned int type;
+
210  };
+
211 
+
212  template <>
+
213  struct make_unsigned<unsigned long>
+
214  {
+
215  typedef unsigned long type;
+
216  };
+
217 
+
218  template <>
+
219  struct make_unsigned<unsigned long long>
+
220  {
+
221  typedef unsigned long long type;
+
222  };
+
223 # endif//GLM_HAS_MAKE_SIGNED
+
224 }//namespace detail
+
225 
+
226  typedef detail::int8 int8;
+
227  typedef detail::int16 int16;
+
228  typedef detail::int32 int32;
+
229  typedef detail::int64 int64;
+
230 
+
231  typedef detail::uint8 uint8;
+
232  typedef detail::uint16 uint16;
+
233  typedef detail::uint32 uint32;
+
234  typedef detail::uint64 uint64;
+
235 
+
238 
+
244  typedef detail::lowp_int_t lowp_int;
+
245 
+
251  typedef detail::mediump_int_t mediump_int;
+
252 
+
258  typedef detail::highp_int_t highp_int;
+
259 
+
265  typedef detail::lowp_uint_t lowp_uint;
+
266 
+
272  typedef detail::mediump_uint_t mediump_uint;
+
273 
+
279  typedef detail::highp_uint_t highp_uint;
+
280 
+
281 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
+
282  typedef mediump_int int_t;
+
283 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
+
284  typedef highp_int int_t;
+
285 #elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
+
286  typedef mediump_int int_t;
+
287 #elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT))
+
288  typedef lowp_int int_t;
+
289 #else
+
290 # error "GLM error: multiple default precision requested for signed interger types"
+
291 #endif
+
292 
+
293 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
+
294  typedef mediump_uint uint_t;
+
295 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
+
296  typedef highp_uint uint_t;
+
297 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
+
298  typedef mediump_uint uint_t;
+
299 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT))
+
300  typedef lowp_uint uint_t;
+
301 #else
+
302 # error "GLM error: multiple default precision requested for unsigned interger types"
+
303 #endif
+
304 
+
308  typedef unsigned int uint;
+
309 
+
311 
+
313 // check type sizes
+
314 #ifndef GLM_STATIC_ASSERT_NULL
+
315  GLM_STATIC_ASSERT(sizeof(glm::int8) == 1, "int8 size isn't 1 byte on this platform");
+
316  GLM_STATIC_ASSERT(sizeof(glm::int16) == 2, "int16 size isn't 2 bytes on this platform");
+
317  GLM_STATIC_ASSERT(sizeof(glm::int32) == 4, "int32 size isn't 4 bytes on this platform");
+
318  GLM_STATIC_ASSERT(sizeof(glm::int64) == 8, "int64 size isn't 8 bytes on this platform");
+
319 
+
320  GLM_STATIC_ASSERT(sizeof(glm::uint8) == 1, "uint8 size isn't 1 byte on this platform");
+
321  GLM_STATIC_ASSERT(sizeof(glm::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
+
322  GLM_STATIC_ASSERT(sizeof(glm::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
+
323  GLM_STATIC_ASSERT(sizeof(glm::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
+
324 #endif//GLM_STATIC_ASSERT_NULL
+
325 
+
326 }//namespace glm
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:297
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:305
+
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:228
+
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:231
+
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:226
+
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:227
+
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:232
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:308
+
detail::highp_uint_t highp_uint
High precision unsigned integer.
Definition: type_int.hpp:279
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:914
+
detail::highp_int_t highp_int
High precision signed integer.
Definition: type_int.hpp:258
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
detail::mediump_int_t mediump_int
Medium precision signed integer.
Definition: type_int.hpp:251
+
detail::lowp_uint_t lowp_uint
Low precision unsigned integer.
Definition: type_int.hpp:265
+
detail::lowp_int_t lowp_int
Low precision signed integer.
Definition: type_int.hpp:244
+
detail::mediump_uint_t mediump_uint
Medium precision unsigned integer.
Definition: type_int.hpp:272
+
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:233
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:906
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:309
+
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:234
+
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:229
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:910
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:918
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:301
diff --git a/doc/api/a00120.html b/doc/api/a00120.html index a9a2e446..667f81eb 100644 --- a/doc/api/a00120.html +++ b/doc/api/a00120.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat2x2.hpp File Reference + +0.9.7: type_mat.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
type_mat2x2.hpp File Reference
+
type_mat.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_dmat2x2 dmat2
 
typedef highp_dmat2x2 dmat2x2
 
typedef highp_dmat2x3 dmat2x3
 
typedef highp_dmat2x4 dmat2x4
 
typedef highp_dmat3x3 dmat3
 
typedef highp_dmat3x2 dmat3x2
 
typedef highp_dmat3x3 dmat3x3
 
typedef highp_dmat3x4 dmat3x4
 
typedef highp_dmat4x4 dmat4
 
typedef highp_dmat4x2 dmat4x2
 
typedef highp_dmat4x3 dmat4x3
 
typedef highp_dmat4x4 dmat4x4
 
typedef tmat2x2< double, highp > highp_dmat2
 
typedef tmat2x2< double, highp > highp_dmat2x2
 
typedef tmat2x3< double, highp > highp_dmat2x3
 
typedef tmat2x4< double, highp > highp_dmat2x4
 
typedef tmat3x3< double, highp > highp_dmat3
 
typedef tmat3x2< double, highp > highp_dmat3x2
 
typedef tmat3x3< double, highp > highp_dmat3x3
 
typedef tmat3x4< double, highp > highp_dmat3x4
 
typedef tmat4x4< double, highp > highp_dmat4
 
typedef tmat4x2< double, highp > highp_dmat4x2
 
typedef tmat4x3< double, highp > highp_dmat4x3
 
typedef tmat4x4< double, highp > highp_dmat4x4
 
typedef tmat2x2< float, highp > highp_mat2
 
typedef tmat2x2< float, highp > highp_mat2x2
 
typedef tmat2x3< float, highp > highp_mat2x3
 
typedef tmat2x4< float, highp > highp_mat2x4
 
typedef tmat3x3< float, highp > highp_mat3
 
typedef tmat3x2< float, highp > highp_mat3x2
 
typedef tmat3x3< float, highp > highp_mat3x3
 
typedef tmat3x4< float, highp > highp_mat3x4
 
typedef tmat4x4< float, highp > highp_mat4
 
typedef tmat4x2< float, highp > highp_mat4x2
 
typedef tmat4x3< float, highp > highp_mat4x3
 
typedef tmat4x4< float, highp > highp_mat4x4
 
typedef tmat2x2< double, lowp > lowp_dmat2
 
typedef tmat2x2< double, lowp > lowp_dmat2x2
 
typedef tmat2x3< double, lowp > lowp_dmat2x3
 
typedef tmat2x4< double, lowp > lowp_dmat2x4
 
typedef tmat3x3< float, lowp > lowp_dmat3
 
typedef tmat3x2< double, lowp > lowp_dmat3x2
 
typedef tmat3x3< double, lowp > lowp_dmat3x3
 
typedef tmat3x4< double, lowp > lowp_dmat3x4
 
typedef tmat4x4< double, lowp > lowp_dmat4
 
typedef tmat4x2< double, lowp > lowp_dmat4x2
 
typedef tmat4x3< double, lowp > lowp_dmat4x3
 
typedef tmat4x4< double, lowp > lowp_dmat4x4
 
typedef tmat2x2< float, lowp > lowp_mat2
 
typedef tmat2x2< float, lowp > lowp_mat2x2
 
typedef tmat2x3< float, lowp > lowp_mat2x3
 
typedef tmat2x4< float, lowp > lowp_mat2x4
 
typedef tmat3x3< float, lowp > lowp_mat3
 
typedef tmat3x2< float, lowp > lowp_mat3x2
 
typedef tmat3x3< float, lowp > lowp_mat3x3
 
typedef tmat3x4< float, lowp > lowp_mat3x4
 
typedef tmat4x4< float, lowp > lowp_mat4
 
typedef tmat4x2< float, lowp > lowp_mat4x2
 
typedef tmat4x3< float, lowp > lowp_mat4x3
 
typedef tmat4x4< float, lowp > lowp_mat4x4
 
typedef mat2x2 mat2
 
typedef highp_mat2x2 mat2x2
 
typedef highp_mat2x3 mat2x3
 
typedef highp_mat2x4 mat2x4
 
typedef mat3x3 mat3
 
typedef highp_mat3x2 mat3x2
 
typedef highp_mat3x3 mat3x3
 
typedef highp_mat3x4 mat3x4
 
typedef mat4x4 mat4
 
typedef highp_mat4x2 mat4x2
 
typedef highp_mat4x3 mat4x3
 
typedef highp_mat4x4 mat4x4
 
typedef tmat2x2< double, mediump > mediump_dmat2
 
typedef tmat2x2< double, mediump > mediump_dmat2x2
 
typedef tmat2x3< double, mediump > mediump_dmat2x3
 
typedef tmat2x4< double, mediump > mediump_dmat2x4
 
typedef tmat3x3< double, mediump > mediump_dmat3
 
typedef tmat3x2< double, mediump > mediump_dmat3x2
 
typedef tmat3x3< double, mediump > mediump_dmat3x3
 
typedef tmat3x4< double, mediump > mediump_dmat3x4
 
typedef tmat4x4< double, mediump > mediump_dmat4
 
typedef tmat4x2< double, mediump > mediump_dmat4x2
 
typedef tmat4x3< double, mediump > mediump_dmat4x3
 
typedef tmat4x4< double, mediump > mediump_dmat4x4
 
typedef tmat2x2< float, mediump > mediump_mat2
 
typedef tmat2x2< float, mediump > mediump_mat2x2
 
typedef tmat2x3< float, mediump > mediump_mat2x3
 
typedef tmat2x4< float, mediump > mediump_mat2x4
 
typedef tmat3x3< float, mediump > mediump_mat3
 
typedef tmat3x2< float, mediump > mediump_mat3x2
 
typedef tmat3x3< float, mediump > mediump_mat3x3
 
typedef tmat3x4< float, mediump > mediump_mat3x4
 
typedef tmat4x4< float, mediump > mediump_mat4
 
typedef tmat4x2< float, mediump > mediump_mat4x2
 
typedef tmat4x3< float, mediump > mediump_mat4x3
 
typedef tmat4x4< float, mediump > mediump_mat4x4
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2005-01-27 / 2011-06-15
+

GLM Core

+
Date
2010-01-26 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat2x2.hpp.

+

Definition in file type_mat.hpp.

diff --git a/doc/api/a00120_source.html b/doc/api/a00120_source.html index 6cd5e364..995f2679 100644 --- a/doc/api/a00120_source.html +++ b/doc/api/a00120_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat2x2.hpp Source File + +0.9.7: type_mat.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat2x2.hpp
+
type_mat.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "../fwd.hpp"
-
36 #include "type_vec2.hpp"
-
37 #include "type_mat.hpp"
-
38 #include <limits>
-
39 #include <cstddef>
-
40 
-
41 namespace glm
-
42 {
-
43  template <typename T, precision P = defaultp>
-
44  struct tmat2x2
-
45  {
-
46  typedef tvec2<T, P> col_type;
-
47  typedef tvec2<T, P> row_type;
-
48  typedef tmat2x2<T, P> type;
-
49  typedef tmat2x2<T, P> transpose_type;
-
50  typedef T value_type;
-
51 
-
52  template <typename U, precision Q>
-
53  friend tvec2<U, Q> operator/(tmat2x2<U, Q> const & m, tvec2<U, Q> const & v);
-
54  template <typename U, precision Q>
-
55  friend tvec2<U, Q> operator/(tvec2<U, Q> const & v, tmat2x2<U, Q> const & m);
+
35 #include "precision.hpp"
+
36 
+
37 namespace glm{
+
38 namespace detail
+
39 {
+
40  template <typename T, precision P, template <class, precision> class colType, template <class, precision> class rowType>
+
41  struct outerProduct_trait{};
+
42 }//namespace detail
+
43 
+
44  template <typename T, precision P> struct tvec2;
+
45  template <typename T, precision P> struct tvec3;
+
46  template <typename T, precision P> struct tvec4;
+
47  template <typename T, precision P> struct tmat2x2;
+
48  template <typename T, precision P> struct tmat2x3;
+
49  template <typename T, precision P> struct tmat2x4;
+
50  template <typename T, precision P> struct tmat3x2;
+
51  template <typename T, precision P> struct tmat3x3;
+
52  template <typename T, precision P> struct tmat3x4;
+
53  template <typename T, precision P> struct tmat4x2;
+
54  template <typename T, precision P> struct tmat4x3;
+
55  template <typename T, precision P> struct tmat4x4;
56 
-
57  private:
-
59  col_type value[2];
-
61 
-
62  public:
-
64  // Constructors
-
65  GLM_FUNC_DECL tmat2x2();
-
66  template <precision Q>
-
67  GLM_FUNC_DECL tmat2x2(tmat2x2<T, Q> const & m);
-
68 
-
69  GLM_FUNC_DECL explicit tmat2x2(ctor);
-
70  GLM_FUNC_DECL explicit tmat2x2(T const & x);
-
71  GLM_FUNC_DECL tmat2x2(
-
72  T const & x1, T const & y1,
-
73  T const & x2, T const & y2);
-
74  GLM_FUNC_DECL tmat2x2(
-
75  col_type const & v1,
-
76  col_type const & v2);
-
77 
-
79  // Conversions
-
80  template <typename U, typename V, typename M, typename N>
-
81  GLM_FUNC_DECL tmat2x2(
-
82  U const & x1, V const & y1,
-
83  M const & x2, N const & y2);
-
84 
-
85  template <typename U, typename V>
-
86  GLM_FUNC_DECL tmat2x2(
-
87  tvec2<U, P> const & v1,
-
88  tvec2<V, P> const & v2);
-
89 
-
91  // Matrix conversions
-
92 
-
93 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
94  template <typename U, precision Q>
-
95  GLM_FUNC_DECL explicit tmat2x2(tmat2x2<U, Q> const & m);
-
96 # else
-
97  template <typename U, precision Q>
-
98  GLM_FUNC_DECL tmat2x2(tmat2x2<U, Q> const & m);
-
99 # endif
-
100 
-
101  GLM_FUNC_DECL explicit tmat2x2(tmat3x3<T, P> const & x);
-
102  GLM_FUNC_DECL explicit tmat2x2(tmat4x4<T, P> const & x);
-
103  GLM_FUNC_DECL explicit tmat2x2(tmat2x3<T, P> const & x);
-
104  GLM_FUNC_DECL explicit tmat2x2(tmat3x2<T, P> const & x);
-
105  GLM_FUNC_DECL explicit tmat2x2(tmat2x4<T, P> const & x);
-
106  GLM_FUNC_DECL explicit tmat2x2(tmat4x2<T, P> const & x);
-
107  GLM_FUNC_DECL explicit tmat2x2(tmat3x4<T, P> const & x);
-
108  GLM_FUNC_DECL explicit tmat2x2(tmat4x3<T, P> const & x);
-
109 
-
111  // Accesses
-
112 
-
113 # ifdef GLM_FORCE_SIZE_FUNC
-
114  typedef size_t size_type;
-
115  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
-
116 
-
117  GLM_FUNC_DECL col_type & operator[](size_type i);
-
118  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
119 # else
-
120  typedef length_t length_type;
-
121  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
122 
-
123  GLM_FUNC_DECL col_type & operator[](length_type i);
-
124  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
-
125 # endif//GLM_FORCE_SIZE_FUNC
-
126 
-
128  // Unary arithmetic operators
-
129 
-
130  template <typename U>
-
131  GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<U, P> const & m);
-
132  template <typename U>
-
133  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(U s);
-
134  template <typename U>
-
135  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(tmat2x2<U, P> const & m);
-
136  template <typename U>
-
137  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(U s);
-
138  template <typename U>
-
139  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(tmat2x2<U, P> const & m);
-
140  template <typename U>
-
141  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(U s);
-
142  template <typename U>
-
143  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(tmat2x2<U, P> const & m);
-
144  template <typename U>
-
145  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(U s);
-
146  template <typename U>
-
147  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(tmat2x2<U, P> const & m);
-
148 
-
150  // Increment and decrement operators
-
151 
-
152  GLM_FUNC_DECL tmat2x2<T, P> & operator++ ();
-
153  GLM_FUNC_DECL tmat2x2<T, P> & operator-- ();
-
154  GLM_FUNC_DECL tmat2x2<T, P> operator++(int);
-
155  GLM_FUNC_DECL tmat2x2<T, P> operator--(int);
-
156  };
-
157 
-
158  // Binary operators
-
159  template <typename T, precision P>
-
160  GLM_FUNC_DECL tmat2x2<T, P> operator+(tmat2x2<T, P> const & m, T const & s);
-
161 
-
162  template <typename T, precision P>
-
163  GLM_FUNC_DECL tmat2x2<T, P> operator+(T const & s, tmat2x2<T, P> const & m);
-
164 
-
165  template <typename T, precision P>
-
166  GLM_FUNC_DECL tmat2x2<T, P> operator+(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
-
167 
-
168  template <typename T, precision P>
-
169  GLM_FUNC_DECL tmat2x2<T, P> operator-(tmat2x2<T, P> const & m, T const & s);
-
170 
-
171  template <typename T, precision P>
-
172  GLM_FUNC_DECL tmat2x2<T, P> operator-(T const & s, tmat2x2<T, P> const & m);
-
173 
-
174  template <typename T, precision P>
-
175  GLM_FUNC_DECL tmat2x2<T, P> operator-(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
-
176 
-
177  template <typename T, precision P>
-
178  GLM_FUNC_DECL tmat2x2<T, P> operator*(tmat2x2<T, P> const & m, T const & s);
-
179 
-
180  template <typename T, precision P>
-
181  GLM_FUNC_DECL tmat2x2<T, P> operator*(T const & s, tmat2x2<T, P> const & m);
-
182 
-
183  template <typename T, precision P>
-
184  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator*(tmat2x2<T, P> const & m, typename tmat2x2<T, P>::row_type const & v);
-
185 
-
186  template <typename T, precision P>
-
187  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator*(typename tmat2x2<T, P>::col_type const & v, tmat2x2<T, P> const & m);
-
188 
-
189  template <typename T, precision P>
-
190  GLM_FUNC_DECL tmat2x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
-
191 
-
192  template <typename T, precision P>
-
193  GLM_FUNC_DECL tmat3x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat3x2<T, P> const & m2);
-
194 
-
195  template <typename T, precision P>
-
196  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat4x2<T, P> const & m2);
-
197 
-
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL tmat2x2<T, P> operator/(tmat2x2<T, P> const & m, T const & s);
-
200 
-
201  template <typename T, precision P>
-
202  GLM_FUNC_DECL tmat2x2<T, P> operator/(T const & s, tmat2x2<T, P> const & m);
-
203 
-
204  template <typename T, precision P>
-
205  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator/(tmat2x2<T, P> const & m, typename tmat2x2<T, P>::row_type const & v);
-
206 
-
207  template <typename T, precision P>
-
208  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator/(typename tmat2x2<T, P>::col_type const & v, tmat2x2<T, P> const & m);
-
209 
-
210  template <typename T, precision P>
-
211  GLM_FUNC_DECL tmat2x2<T, P> operator/(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
-
212 
-
213  // Unary constant operators
-
214  template <typename T, precision P>
-
215  GLM_FUNC_DECL tmat2x2<T, P> const operator-(tmat2x2<T, P> const & m);
-
216 } //namespace glm
-
217 
-
218 #ifndef GLM_EXTERNAL_TEMPLATE
-
219 #include "type_mat2x2.inl"
-
220 #endif
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+
59 
+
65  typedef tmat2x2<float, lowp> lowp_mat2;
+
66 
+
72  typedef tmat2x2<float, mediump> mediump_mat2;
+
73 
+
79  typedef tmat2x2<float, highp> highp_mat2;
+
80 
+
86  typedef tmat2x2<float, lowp> lowp_mat2x2;
+
87 
+
93  typedef tmat2x2<float, mediump> mediump_mat2x2;
+
94 
+
100  typedef tmat2x2<float, highp> highp_mat2x2;
+
101 
+
103 
+
106 
+
112  typedef tmat2x3<float, lowp> lowp_mat2x3;
+
113 
+
119  typedef tmat2x3<float, mediump> mediump_mat2x3;
+
120 
+
126  typedef tmat2x3<float, highp> highp_mat2x3;
+
127 
+
129 
+
132 
+
138  typedef tmat2x4<float, lowp> lowp_mat2x4;
+
139 
+
145  typedef tmat2x4<float, mediump> mediump_mat2x4;
+
146 
+
152  typedef tmat2x4<float, highp> highp_mat2x4;
+
153 
+
155 
+
158 
+
164  typedef tmat3x2<float, lowp> lowp_mat3x2;
+
165 
+
171  typedef tmat3x2<float, mediump> mediump_mat3x2;
+
172 
+
178  typedef tmat3x2<float, highp> highp_mat3x2;
+
179 
+
181 
+
184 
+
190  typedef tmat3x3<float, lowp> lowp_mat3;
+
191 
+
197  typedef tmat3x3<float, mediump> mediump_mat3;
+
198 
+
204  typedef tmat3x3<float, highp> highp_mat3;
+
205 
+
211  typedef tmat3x3<float, lowp> lowp_mat3x3;
+
212 
+
218  typedef tmat3x3<float, mediump> mediump_mat3x3;
+
219 
+
225  typedef tmat3x3<float, highp> highp_mat3x3;
+
226 
+
228 
+
231 
+
237  typedef tmat3x4<float, lowp> lowp_mat3x4;
+
238 
+
244  typedef tmat3x4<float, mediump> mediump_mat3x4;
+
245 
+
251  typedef tmat3x4<float, highp> highp_mat3x4;
+
252 
+
254 
+
257 
+
263  typedef tmat4x2<float, lowp> lowp_mat4x2;
+
264 
+
270  typedef tmat4x2<float, mediump> mediump_mat4x2;
+
271 
+
277  typedef tmat4x2<float, highp> highp_mat4x2;
+
278 
+
280 
+
283 
+
289  typedef tmat4x3<float, lowp> lowp_mat4x3;
+
290 
+
296  typedef tmat4x3<float, mediump> mediump_mat4x3;
+
297 
+
303  typedef tmat4x3<float, highp> highp_mat4x3;
+
304 
+
306 
+
307 
+
310 
+
316  typedef tmat4x4<float, lowp> lowp_mat4;
+
317 
+
323  typedef tmat4x4<float, mediump> mediump_mat4;
+
324 
+
330  typedef tmat4x4<float, highp> highp_mat4;
+
331 
+
337  typedef tmat4x4<float, lowp> lowp_mat4x4;
+
338 
+
344  typedef tmat4x4<float, mediump> mediump_mat4x4;
+
345 
+
351  typedef tmat4x4<float, highp> highp_mat4x4;
+
352 
+
354 
+
357 
+
359  // Float definition
+
360 
+
361 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
362  typedef lowp_mat2x2 mat2x2;
+
363  typedef lowp_mat2x3 mat2x3;
+
364  typedef lowp_mat2x4 mat2x4;
+
365  typedef lowp_mat3x2 mat3x2;
+
366  typedef lowp_mat3x3 mat3x3;
+
367  typedef lowp_mat3x4 mat3x4;
+
368  typedef lowp_mat4x2 mat4x2;
+
369  typedef lowp_mat4x3 mat4x3;
+
370  typedef lowp_mat4x4 mat4x4;
+
371 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
372  typedef mediump_mat2x2 mat2x2;
+
373  typedef mediump_mat2x3 mat2x3;
+
374  typedef mediump_mat2x4 mat2x4;
+
375  typedef mediump_mat3x2 mat3x2;
+
376  typedef mediump_mat3x3 mat3x3;
+
377  typedef mediump_mat3x4 mat3x4;
+
378  typedef mediump_mat4x2 mat4x2;
+
379  typedef mediump_mat4x3 mat4x3;
+
380  typedef mediump_mat4x4 mat4x4;
+
381 #else
+
382  typedef highp_mat2x2 mat2x2;
+
386 
+
390  typedef highp_mat2x3 mat2x3;
+
391 
+
395  typedef highp_mat2x4 mat2x4;
+
396 
+
400  typedef highp_mat3x2 mat3x2;
+
401 
+
405  typedef highp_mat3x3 mat3x3;
+
406 
+
410  typedef highp_mat3x4 mat3x4;
+
411 
+
415  typedef highp_mat4x2 mat4x2;
+
416 
+
420  typedef highp_mat4x3 mat4x3;
+
421 
+
425  typedef highp_mat4x4 mat4x4;
+
426 
+
427 #endif//GLM_PRECISION
+
428 
+
432  typedef mat2x2 mat2;
+
433 
+
437  typedef mat3x3 mat3;
+
438 
+
442  typedef mat4x4 mat4;
+
443 
+
445  // Double definition
+
446 
+
449 
+
454  typedef tmat2x2<double, lowp> lowp_dmat2;
+
455 
+
460  typedef tmat2x2<double, mediump> mediump_dmat2;
+
461 
+
466  typedef tmat2x2<double, highp> highp_dmat2;
+
467 
+
472  typedef tmat2x2<double, lowp> lowp_dmat2x2;
+
473 
+
478  typedef tmat2x2<double, mediump> mediump_dmat2x2;
+
479 
+
484  typedef tmat2x2<double, highp> highp_dmat2x2;
+
485 
+
487 
+
490 
+
495  typedef tmat2x3<double, lowp> lowp_dmat2x3;
+
496 
+
501  typedef tmat2x3<double, mediump> mediump_dmat2x3;
+
502 
+
507  typedef tmat2x3<double, highp> highp_dmat2x3;
+
508 
+
510 
+
513 
+
518  typedef tmat2x4<double, lowp> lowp_dmat2x4;
+
519 
+
524  typedef tmat2x4<double, mediump> mediump_dmat2x4;
+
525 
+
530  typedef tmat2x4<double, highp> highp_dmat2x4;
+
531 
+
533 
+
536 
+
541  typedef tmat3x2<double, lowp> lowp_dmat3x2;
+
542 
+
547  typedef tmat3x2<double, mediump> mediump_dmat3x2;
+
548 
+
553  typedef tmat3x2<double, highp> highp_dmat3x2;
+
554 
+
556 
+
559 
+
564  typedef tmat3x3<float, lowp> lowp_dmat3;
+
565 
+
570  typedef tmat3x3<double, mediump> mediump_dmat3;
+
571 
+
576  typedef tmat3x3<double, highp> highp_dmat3;
+
577 
+
582  typedef tmat3x3<double, lowp> lowp_dmat3x3;
+
583 
+
588  typedef tmat3x3<double, mediump> mediump_dmat3x3;
+
589 
+
594  typedef tmat3x3<double, highp> highp_dmat3x3;
+
595 
+
597 
+
600 
+
605  typedef tmat3x4<double, lowp> lowp_dmat3x4;
+
606 
+
611  typedef tmat3x4<double, mediump> mediump_dmat3x4;
+
612 
+
617  typedef tmat3x4<double, highp> highp_dmat3x4;
+
618 
+
620 
+
623 
+
628  typedef tmat4x2<double, lowp> lowp_dmat4x2;
+
629 
+
634  typedef tmat4x2<double, mediump> mediump_dmat4x2;
+
635 
+
640  typedef tmat4x2<double, highp> highp_dmat4x2;
+
641 
+
643 
+
646 
+
651  typedef tmat4x3<double, lowp> lowp_dmat4x3;
+
652 
+
657  typedef tmat4x3<double, mediump> mediump_dmat4x3;
+
658 
+
663  typedef tmat4x3<double, highp> highp_dmat4x3;
+
664 
+
666 
+
669 
+
674  typedef tmat4x4<double, lowp> lowp_dmat4;
+
675 
+
680  typedef tmat4x4<double, mediump> mediump_dmat4;
+
681 
+
686  typedef tmat4x4<double, highp> highp_dmat4;
+
687 
+
692  typedef tmat4x4<double, lowp> lowp_dmat4x4;
+
693 
+
698  typedef tmat4x4<double, mediump> mediump_dmat4x4;
+
699 
+
704  typedef tmat4x4<double, highp> highp_dmat4x4;
+
705 
+
707 
+
708 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
+
709  typedef lowp_dmat2x2 dmat2x2;
+
710  typedef lowp_dmat2x3 dmat2x3;
+
711  typedef lowp_dmat2x4 dmat2x4;
+
712  typedef lowp_dmat3x2 dmat3x2;
+
713  typedef lowp_dmat3x3 dmat3x3;
+
714  typedef lowp_dmat3x4 dmat3x4;
+
715  typedef lowp_dmat4x2 dmat4x2;
+
716  typedef lowp_dmat4x3 dmat4x3;
+
717  typedef lowp_dmat4x4 dmat4x4;
+
718 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
719  typedef mediump_dmat2x2 dmat2x2;
+
720  typedef mediump_dmat2x3 dmat2x3;
+
721  typedef mediump_dmat2x4 dmat2x4;
+
722  typedef mediump_dmat3x2 dmat3x2;
+
723  typedef mediump_dmat3x3 dmat3x3;
+
724  typedef mediump_dmat3x4 dmat3x4;
+
725  typedef mediump_dmat4x2 dmat4x2;
+
726  typedef mediump_dmat4x3 dmat4x3;
+
727  typedef mediump_dmat4x4 dmat4x4;
+
728 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+
729 
+
733  typedef highp_dmat2x2 dmat2;
+
734 
+
738  typedef highp_dmat3x3 dmat3;
+
739 
+
743  typedef highp_dmat4x4 dmat4;
+
744 
+
748  typedef highp_dmat2x2 dmat2x2;
+
749 
+
753  typedef highp_dmat2x3 dmat2x3;
+
754 
+
758  typedef highp_dmat2x4 dmat2x4;
+
759 
+
763  typedef highp_dmat3x2 dmat3x2;
+
764 
+
768  typedef highp_dmat3x3 dmat3x3;
+
769 
+
773  typedef highp_dmat3x4 dmat3x4;
+
774 
+
778  typedef highp_dmat4x2 dmat4x2;
+
779 
+
783  typedef highp_dmat4x3 dmat4x3;
+
784 
+
788  typedef highp_dmat4x4 dmat4x4;
+
789 
+
790 #endif//GLM_PRECISION
+
791 
+
793 }//namespace glm
+
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:303
+
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
+
tmat4x4< double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:692
+
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:773
+
tmat2x2< double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:478
+
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:72
+
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
+
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:410
+
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
+
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:432
+
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
+
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:395
+
tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:570
+
tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:640
+
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
+
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:337
+
tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:657
+
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:390
+
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:400
+
tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:466
+
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:289
+
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:197
+
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
+
tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:617
+
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:733
+
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:437
+
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:385
+
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
+
tmat3x3< double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:582
+
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
+
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
+
tmat3x4< double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:611
+
tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:190
+
tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:651
+
tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:541
+
tmat4x4< double, mediump > mediump_dmat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:680
+
tmat3x3< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:564
+
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
+
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
+
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:330
+
tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:518
+
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:420
+
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
+
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:415
+
tmat3x2< double, highp > highp_dmat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:553
+
tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:605
+
tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:698
+
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
+
tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
+
highp_dmat3x2 dmat3x2
3 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:763
+
tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:484
+
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:743
+
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:788
+
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:405
+
Definition: _noise.hpp:40
+
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:753
+
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
+
tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:524
+
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
+
tmat2x3< double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:495
+
tmat3x3< double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:588
+
tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:704
+
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:316
+
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:778
+
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
+
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
+
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:351
+
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:79
+
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
+
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:758
+
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:323
+
tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:628
+
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:204
+
tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:634
+
tmat2x3< double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:501
+
tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:507
+
tmat2x4< double, highp > highp_dmat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:530
+
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:783
+
tmat4x4< double, highp > highp_dmat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:686
+
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:296
+
tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:663
+
tmat2x2< double, lowp > lowp_dmat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:454
+
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:768
+
tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:547
+
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
+
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:65
+
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
+
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:748
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:472
+
tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:576
+
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
+
tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:594
+
tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:674
+
tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:460
+
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:738
+
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:344
diff --git a/doc/api/a00121.html b/doc/api/a00121.html index 4f5c97f5..88faf020 100644 --- a/doc/api/a00121.html +++ b/doc/api/a00121.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat2x3.hpp File Reference + +0.9.7: type_mat2x2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat2x3.hpp File Reference
+
type_mat2x2.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2006-10-01 / 2011-06-15
+

GLM Core

+
Date
2005-01-27 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat2x3.hpp.

+

Definition in file type_mat2x2.hpp.

diff --git a/doc/api/a00121_source.html b/doc/api/a00121_source.html index 505a7aa6..54de1c99 100644 --- a/doc/api/a00121_source.html +++ b/doc/api/a00121_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat2x3.hpp Source File + +0.9.7: type_mat2x2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat2x3.hpp
+
type_mat2x2.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "../fwd.hpp"
-
36 #include "type_vec2.hpp"
-
37 #include "type_vec3.hpp"
-
38 #include "type_mat.hpp"
-
39 #include <limits>
-
40 #include <cstddef>
-
41 
-
42 namespace glm
-
43 {
-
44  template <typename T, precision P = defaultp>
-
45  struct tmat2x3
-
46  {
-
47  typedef tvec3<T, P> col_type;
-
48  typedef tvec2<T, P> row_type;
-
49  typedef tmat2x3<T, P> type;
-
50  typedef tmat3x2<T, P> transpose_type;
-
51  typedef T value_type;
-
52 
-
53  private:
-
55  col_type value[2];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat2x3();
-
61  template <precision Q>
-
62  GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);
+
36 #include "type_vec2.hpp"
+
37 #include "type_mat.hpp"
+
38 #include <limits>
+
39 #include <cstddef>
+
40 
+
41 namespace glm
+
42 {
+
43  template <typename T, precision P = defaultp>
+
44  struct tmat2x2
+
45  {
+
46  typedef tvec2<T, P> col_type;
+
47  typedef tvec2<T, P> row_type;
+
48  typedef tmat2x2<T, P> type;
+
49  typedef tmat2x2<T, P> transpose_type;
+
50  typedef T value_type;
+
51 
+
52  template <typename U, precision Q>
+
53  friend tvec2<U, Q> operator/(tmat2x2<U, Q> const & m, tvec2<U, Q> const & v);
+
54  template <typename U, precision Q>
+
55  friend tvec2<U, Q> operator/(tvec2<U, Q> const & v, tmat2x2<U, Q> const & m);
+
56 
+
57 # ifdef GLM_META_PROG_HELPERS
+
58  static GLM_RELAXED_CONSTEXPR length_t components = 2;
+
59  static GLM_RELAXED_CONSTEXPR length_t cols = 2;
+
60  static GLM_RELAXED_CONSTEXPR length_t rows = 2;
+
61  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
62 # endif//GLM_META_PROG_HELPERS
63 
-
64  GLM_FUNC_DECL explicit tmat2x3(ctor);
-
65  GLM_FUNC_DECL explicit tmat2x3(T const & s);
-
66  GLM_FUNC_DECL tmat2x3(
-
67  T const & x0, T const & y0, T const & z0,
-
68  T const & x1, T const & y1, T const & z1);
-
69  GLM_FUNC_DECL tmat2x3(
-
70  col_type const & v0,
-
71  col_type const & v1);
-
72 
-
74  // Conversions
-
75 
-
76  template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
-
77  GLM_FUNC_DECL tmat2x3(
-
78  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
79  X2 const & x2, Y2 const & y2, Z2 const & z2);
-
80 
-
81  template <typename U, typename V>
-
82  GLM_FUNC_DECL tmat2x3(
-
83  tvec3<U, P> const & v1,
-
84  tvec3<V, P> const & v2);
+
64  private:
+
65  col_type value[2];
+
66 
+
67  public:
+
68  // -- Constructors --
+
69 
+
70  GLM_FUNC_DECL tmat2x2() GLM_DEFAULT_CTOR;
+
71  GLM_FUNC_DECL tmat2x2(tmat2x2<T, P> const & m) GLM_DEFAULT;
+
72  template <precision Q>
+
73  GLM_FUNC_DECL tmat2x2(tmat2x2<T, Q> const & m);
+
74 
+
75  GLM_FUNC_DECL explicit tmat2x2(ctor);
+
76  GLM_FUNC_DECL explicit tmat2x2(T const & x);
+
77  GLM_FUNC_DECL tmat2x2(
+
78  T const & x1, T const & y1,
+
79  T const & x2, T const & y2);
+
80  GLM_FUNC_DECL tmat2x2(
+
81  col_type const & v1,
+
82  col_type const & v2);
+
83 
+
84  // -- Conversions --
85 
-
87  // Matrix conversion
-
88 
-
89 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
90  template <typename U, precision Q>
-
91  GLM_FUNC_DECL explicit tmat2x3(tmat2x3<U, Q> const & m);
-
92 # else
-
93  template <typename U, precision Q>
-
94  GLM_FUNC_DECL tmat2x3(tmat2x3<U, Q> const & m);
-
95 # endif
-
96 
-
97  GLM_FUNC_DECL explicit tmat2x3(tmat2x2<T, P> const & x);
-
98  GLM_FUNC_DECL explicit tmat2x3(tmat3x3<T, P> const & x);
-
99  GLM_FUNC_DECL explicit tmat2x3(tmat4x4<T, P> const & x);
-
100  GLM_FUNC_DECL explicit tmat2x3(tmat2x4<T, P> const & x);
-
101  GLM_FUNC_DECL explicit tmat2x3(tmat3x2<T, P> const & x);
-
102  GLM_FUNC_DECL explicit tmat2x3(tmat3x4<T, P> const & x);
-
103  GLM_FUNC_DECL explicit tmat2x3(tmat4x2<T, P> const & x);
-
104  GLM_FUNC_DECL explicit tmat2x3(tmat4x3<T, P> const & x);
-
105 
-
107  // Accesses
-
108 
-
109 # ifdef GLM_FORCE_SIZE_FUNC
-
110  typedef size_t size_type;
-
111  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
-
112 
-
113  GLM_FUNC_DECL col_type & operator[](size_type i);
-
114  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
115 # else
-
116  typedef length_t length_type;
-
117  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
118 
-
119  GLM_FUNC_DECL col_type & operator[](length_type i);
-
120  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
-
121 # endif//GLM_FORCE_SIZE_FUNC
-
122 
-
124  // Unary arithmetic operators
+
86  template <typename U, typename V, typename M, typename N>
+
87  GLM_FUNC_DECL tmat2x2(
+
88  U const & x1, V const & y1,
+
89  M const & x2, N const & y2);
+
90 
+
91  template <typename U, typename V>
+
92  GLM_FUNC_DECL tmat2x2(
+
93  tvec2<U, P> const & v1,
+
94  tvec2<V, P> const & v2);
+
95 
+
96  // -- Matrix conversions --
+
97 
+
98  template <typename U, precision Q>
+
99  GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat2x2<U, Q> const & m);
+
100 
+
101  GLM_FUNC_DECL explicit tmat2x2(tmat3x3<T, P> const & x);
+
102  GLM_FUNC_DECL explicit tmat2x2(tmat4x4<T, P> const & x);
+
103  GLM_FUNC_DECL explicit tmat2x2(tmat2x3<T, P> const & x);
+
104  GLM_FUNC_DECL explicit tmat2x2(tmat3x2<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat2x2(tmat2x4<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat2x2(tmat4x2<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat2x2(tmat3x4<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat2x2(tmat4x3<T, P> const & x);
+
109 
+
110  // -- Accesses --
+
111 
+
112 # ifdef GLM_FORCE_SIZE_FUNC
+
113  typedef size_t size_type;
+
114  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
115 
+
116  GLM_FUNC_DECL col_type & operator[](size_type i);
+
117  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
118 # else
+
119  typedef length_t length_type;
+
120  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
121 
+
122  GLM_FUNC_DECL col_type & operator[](length_type i);
+
123  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
+
124 # endif//GLM_FORCE_SIZE_FUNC
125 
-
126  template <typename U>
-
127  GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<U, P> const & m);
-
128  template <typename U>
-
129  GLM_FUNC_DECL tmat2x3<T, P> & operator+= (U s);
-
130  template <typename U>
-
131  GLM_FUNC_DECL tmat2x3<T, P> & operator+= (tmat2x3<U, P> const & m);
-
132  template <typename U>
-
133  GLM_FUNC_DECL tmat2x3<T, P> & operator-= (U s);
-
134  template <typename U>
-
135  GLM_FUNC_DECL tmat2x3<T, P> & operator-= (tmat2x3<U, P> const & m);
-
136  template <typename U>
-
137  GLM_FUNC_DECL tmat2x3<T, P> & operator*= (U s);
-
138  template <typename U>
-
139  GLM_FUNC_DECL tmat2x3<T, P> & operator/= (U s);
-
140 
-
142  // Increment and decrement operators
-
143 
-
144  GLM_FUNC_DECL tmat2x3<T, P> & operator++ ();
-
145  GLM_FUNC_DECL tmat2x3<T, P> & operator-- ();
-
146  GLM_FUNC_DECL tmat2x3<T, P> operator++(int);
-
147  GLM_FUNC_DECL tmat2x3<T, P> operator--(int);
-
148  };
-
149 
-
150  // Binary operators
-
151 
-
152  template <typename T, precision P>
-
153  GLM_FUNC_DECL tmat2x3<T, P> operator+ (
-
154  tmat2x3<T, P> const & m,
-
155  T const & s);
+
126  // -- Unary arithmetic operators --
+
127 
+
128  GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<T, P> const & v) GLM_DEFAULT;;
+
129 
+
130  template <typename U>
+
131  GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<U, P> const & m);
+
132  template <typename U>
+
133  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(U s);
+
134  template <typename U>
+
135  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(tmat2x2<U, P> const & m);
+
136  template <typename U>
+
137  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(U s);
+
138  template <typename U>
+
139  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(tmat2x2<U, P> const & m);
+
140  template <typename U>
+
141  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(U s);
+
142  template <typename U>
+
143  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(tmat2x2<U, P> const & m);
+
144  template <typename U>
+
145  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(U s);
+
146  template <typename U>
+
147  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(tmat2x2<U, P> const & m);
+
148 
+
149  // -- Increment and decrement operators --
+
150 
+
151  GLM_FUNC_DECL tmat2x2<T, P> & operator++ ();
+
152  GLM_FUNC_DECL tmat2x2<T, P> & operator-- ();
+
153  GLM_FUNC_DECL tmat2x2<T, P> operator++(int);
+
154  GLM_FUNC_DECL tmat2x2<T, P> operator--(int);
+
155  };
156 
-
157  template <typename T, precision P>
-
158  GLM_FUNC_DECL tmat2x3<T, P> operator+ (
-
159  tmat2x3<T, P> const & m1,
-
160  tmat2x3<T, P> const & m2);
+
157  // -- Unary operators --
+
158 
+
159  template <typename T, precision P>
+
160  GLM_FUNC_DECL tmat2x2<T, P> const operator-(tmat2x2<T, P> const & m);
161 
-
162  template <typename T, precision P>
-
163  GLM_FUNC_DECL tmat2x3<T, P> operator- (
-
164  tmat2x3<T, P> const & m,
-
165  T const & s);
+
162  // -- Binary operators --
+
163 
+
164  template <typename T, precision P>
+
165  GLM_FUNC_DECL tmat2x2<T, P> operator+(tmat2x2<T, P> const & m, T const & s);
166 
167  template <typename T, precision P>
-
168  GLM_FUNC_DECL tmat2x3<T, P> operator- (
-
169  tmat2x3<T, P> const & m1,
-
170  tmat2x3<T, P> const & m2);
-
171 
-
172  template <typename T, precision P>
-
173  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
174  tmat2x3<T, P> const & m,
-
175  T const & s);
-
176 
-
177  template <typename T, precision P>
-
178  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
179  T const & s,
-
180  tmat2x3<T, P> const & m);
+
168  GLM_FUNC_DECL tmat2x2<T, P> operator+(T const & s, tmat2x2<T, P> const & m);
+
169 
+
170  template <typename T, precision P>
+
171  GLM_FUNC_DECL tmat2x2<T, P> operator+(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
+
172 
+
173  template <typename T, precision P>
+
174  GLM_FUNC_DECL tmat2x2<T, P> operator-(tmat2x2<T, P> const & m, T const & s);
+
175 
+
176  template <typename T, precision P>
+
177  GLM_FUNC_DECL tmat2x2<T, P> operator-(T const & s, tmat2x2<T, P> const & m);
+
178 
+
179  template <typename T, precision P>
+
180  GLM_FUNC_DECL tmat2x2<T, P> operator-(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
181 
182  template <typename T, precision P>
-
183  GLM_FUNC_DECL typename tmat2x3<T, P>::col_type operator* (
-
184  tmat2x3<T, P> const & m,
-
185  typename tmat2x3<T, P>::row_type const & v);
-
186 
-
187  template <typename T, precision P>
-
188  GLM_FUNC_DECL typename tmat2x3<T, P>::row_type operator* (
-
189  typename tmat2x3<T, P>::col_type const & v,
-
190  tmat2x3<T, P> const & m);
-
191 
-
192  template <typename T, precision P>
-
193  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
194  tmat2x3<T, P> const & m1,
-
195  tmat2x2<T, P> const & m2);
+
183  GLM_FUNC_DECL tmat2x2<T, P> operator*(tmat2x2<T, P> const & m, T const & s);
+
184 
+
185  template <typename T, precision P>
+
186  GLM_FUNC_DECL tmat2x2<T, P> operator*(T const & s, tmat2x2<T, P> const & m);
+
187 
+
188  template <typename T, precision P>
+
189  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator*(tmat2x2<T, P> const & m, typename tmat2x2<T, P>::row_type const & v);
+
190 
+
191  template <typename T, precision P>
+
192  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator*(typename tmat2x2<T, P>::col_type const & v, tmat2x2<T, P> const & m);
+
193 
+
194  template <typename T, precision P>
+
195  GLM_FUNC_DECL tmat2x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
196 
197  template <typename T, precision P>
-
198  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
199  tmat2x3<T, P> const & m1,
-
200  tmat3x2<T, P> const & m2);
-
201 
-
202  template <typename T, precision P>
-
203  GLM_FUNC_DECL tmat4x3<T, P> operator* (
-
204  tmat2x3<T, P> const & m1,
-
205  tmat4x2<T, P> const & m2);
-
206 
-
207  template <typename T, precision P>
-
208  GLM_FUNC_DECL tmat2x3<T, P> operator/ (
-
209  tmat2x3<T, P> const & m,
-
210  T const & s);
+
198  GLM_FUNC_DECL tmat3x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat3x2<T, P> const & m2);
+
199 
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat4x2<T, P> const & m2);
+
202 
+
203  template <typename T, precision P>
+
204  GLM_FUNC_DECL tmat2x2<T, P> operator/(tmat2x2<T, P> const & m, T const & s);
+
205 
+
206  template <typename T, precision P>
+
207  GLM_FUNC_DECL tmat2x2<T, P> operator/(T const & s, tmat2x2<T, P> const & m);
+
208 
+
209  template <typename T, precision P>
+
210  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator/(tmat2x2<T, P> const & m, typename tmat2x2<T, P>::row_type const & v);
211 
212  template <typename T, precision P>
-
213  GLM_FUNC_DECL tmat2x3<T, P> operator/ (
-
214  T const & s,
-
215  tmat2x3<T, P> const & m);
-
216 
-
217  // Unary constant operators
-
218  template <typename T, precision P>
-
219  GLM_FUNC_DECL tmat2x3<T, P> const operator- (
-
220  tmat2x3<T, P> const & m);
-
221 }//namespace glm
+
213  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator/(typename tmat2x2<T, P>::col_type const & v, tmat2x2<T, P> const & m);
+
214 
+
215  template <typename T, precision P>
+
216  GLM_FUNC_DECL tmat2x2<T, P> operator/(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
+
217 
+
218  // -- Boolean operators --
+
219 
+
220  template <typename T, precision P>
+
221  GLM_FUNC_DECL bool operator==(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
222 
-
223 #ifndef GLM_EXTERNAL_TEMPLATE
-
224 #include "type_mat2x3.inl"
-
225 #endif
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+
223  template <typename T, precision P>
+
224  GLM_FUNC_DECL bool operator!=(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
+
225 } //namespace glm
+
226 
+
227 #ifndef GLM_EXTERNAL_TEMPLATE
+
228 #include "type_mat2x2.inl"
+
229 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00122.html b/doc/api/a00122.html index a53773d0..766a08df 100644 --- a/doc/api/a00122.html +++ b/doc/api/a00122.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat2x4.hpp File Reference + +0.9.7: type_mat2x3.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat2x4.hpp File Reference
+
type_mat2x3.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2006-08-05 / 2011-06-15
+

GLM Core

+
Date
2006-10-01 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat2x4.hpp.

+

Definition in file type_mat2x3.hpp.

diff --git a/doc/api/a00122_source.html b/doc/api/a00122_source.html index f0e56fb1..1d31b1fa 100644 --- a/doc/api/a00122_source.html +++ b/doc/api/a00122_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat2x4.hpp Source File + +0.9.7: type_mat2x3.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat2x4.hpp
+
type_mat2x3.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "../fwd.hpp"
-
36 #include "type_vec2.hpp"
-
37 #include "type_vec4.hpp"
-
38 #include "type_mat.hpp"
+
36 #include "type_vec2.hpp"
+
37 #include "type_vec3.hpp"
+
38 #include "type_mat.hpp"
39 #include <limits>
40 #include <cstddef>
41 
-
42 namespace glm
+
42 namespace glm
43 {
44  template <typename T, precision P = defaultp>
-
45  struct tmat2x4
+
45  struct tmat2x3
46  {
-
47  typedef tvec4<T, P> col_type;
+
47  typedef tvec3<T, P> col_type;
48  typedef tvec2<T, P> row_type;
-
49  typedef tmat2x4<T, P> type;
-
50  typedef tmat4x2<T, P> transpose_type;
+
49  typedef tmat2x3<T, P> type;
+
50  typedef tmat3x2<T, P> transpose_type;
51  typedef T value_type;
52 
-
53  private:
-
55  col_type value[2];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat2x4();
-
61  template <precision Q>
-
62  GLM_FUNC_DECL tmat2x4(tmat2x4<T, Q> const & m);
-
63 
-
64  GLM_FUNC_DECL explicit tmat2x4(ctor);
-
65  GLM_FUNC_DECL explicit tmat2x4(T const & s);
-
66  GLM_FUNC_DECL tmat2x4(
-
67  T const & x0, T const & y0, T const & z0, T const & w0,
-
68  T const & x1, T const & y1, T const & z1, T const & w1);
-
69  GLM_FUNC_DECL tmat2x4(
-
70  col_type const & v0,
-
71  col_type const & v1);
-
72 
-
74  // Conversions
-
75  template <
-
76  typename X1, typename Y1, typename Z1, typename W1,
-
77  typename X2, typename Y2, typename Z2, typename W2>
-
78  GLM_FUNC_DECL tmat2x4(
-
79  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
-
80  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2);
+
53 # ifdef GLM_META_PROG_HELPERS
+
54  static GLM_RELAXED_CONSTEXPR length_t components = 2;
+
55  static GLM_RELAXED_CONSTEXPR length_t cols = 2;
+
56  static GLM_RELAXED_CONSTEXPR length_t rows = 3;
+
57  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
58 # endif//GLM_META_PROG_HELPERS
+
59 
+
60  private:
+
61  col_type value[2];
+
62 
+
63  public:
+
64  // -- Constructors --
+
65 
+
66  GLM_FUNC_DECL tmat2x3() GLM_DEFAULT_CTOR;
+
67  GLM_FUNC_DECL tmat2x3(tmat2x3<T, P> const & m) GLM_DEFAULT;
+
68  template <precision Q>
+
69  GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);
+
70 
+
71  GLM_FUNC_DECL explicit tmat2x3(ctor);
+
72  GLM_FUNC_DECL explicit tmat2x3(T const & s);
+
73  GLM_FUNC_DECL tmat2x3(
+
74  T const & x0, T const & y0, T const & z0,
+
75  T const & x1, T const & y1, T const & z1);
+
76  GLM_FUNC_DECL tmat2x3(
+
77  col_type const & v0,
+
78  col_type const & v1);
+
79 
+
80  // -- Conversions --
81 
-
82  template <typename U, typename V>
-
83  GLM_FUNC_DECL tmat2x4(
-
84  tvec4<U, P> const & v1,
-
85  tvec4<V, P> const & v2);
+
82  template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
+
83  GLM_FUNC_DECL tmat2x3(
+
84  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
85  X2 const & x2, Y2 const & y2, Z2 const & z2);
86 
-
88  // Matrix conversions
-
89 
-
90 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
91  template <typename U, precision Q>
-
92  GLM_FUNC_DECL explicit tmat2x4(tmat2x4<U, Q> const & m);
-
93 # else
-
94  template <typename U, precision Q>
-
95  GLM_FUNC_DECL tmat2x4(tmat2x4<U, Q> const & m);
-
96 # endif
-
97 
-
98  GLM_FUNC_DECL explicit tmat2x4(tmat2x2<T, P> const & x);
-
99  GLM_FUNC_DECL explicit tmat2x4(tmat3x3<T, P> const & x);
-
100  GLM_FUNC_DECL explicit tmat2x4(tmat4x4<T, P> const & x);
-
101  GLM_FUNC_DECL explicit tmat2x4(tmat2x3<T, P> const & x);
-
102  GLM_FUNC_DECL explicit tmat2x4(tmat3x2<T, P> const & x);
-
103  GLM_FUNC_DECL explicit tmat2x4(tmat3x4<T, P> const & x);
-
104  GLM_FUNC_DECL explicit tmat2x4(tmat4x2<T, P> const & x);
-
105  GLM_FUNC_DECL explicit tmat2x4(tmat4x3<T, P> const & x);
-
106 
-
108  // Accesses
-
109 
-
110 # ifdef GLM_FORCE_SIZE_FUNC
-
111  typedef size_t size_type;
-
112  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
-
113 
-
114  GLM_FUNC_DECL col_type & operator[](size_type i);
-
115  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
116 # else
-
117  typedef length_t length_type;
-
118  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
119 
-
120  GLM_FUNC_DECL col_type & operator[](length_type i);
-
121  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
-
122 # endif//GLM_FORCE_SIZE_FUNC
+
87  template <typename U, typename V>
+
88  GLM_FUNC_DECL tmat2x3(
+
89  tvec3<U, P> const & v1,
+
90  tvec3<V, P> const & v2);
+
91 
+
92  // -- Matrix conversions --
+
93 
+
94  template <typename U, precision Q>
+
95  GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x3<U, Q> const & m);
+
96 
+
97  GLM_FUNC_DECL explicit tmat2x3(tmat2x2<T, P> const & x);
+
98  GLM_FUNC_DECL explicit tmat2x3(tmat3x3<T, P> const & x);
+
99  GLM_FUNC_DECL explicit tmat2x3(tmat4x4<T, P> const & x);
+
100  GLM_FUNC_DECL explicit tmat2x3(tmat2x4<T, P> const & x);
+
101  GLM_FUNC_DECL explicit tmat2x3(tmat3x2<T, P> const & x);
+
102  GLM_FUNC_DECL explicit tmat2x3(tmat3x4<T, P> const & x);
+
103  GLM_FUNC_DECL explicit tmat2x3(tmat4x2<T, P> const & x);
+
104  GLM_FUNC_DECL explicit tmat2x3(tmat4x3<T, P> const & x);
+
105 
+
106  // -- Accesses --
+
107 
+
108 # ifdef GLM_FORCE_SIZE_FUNC
+
109  typedef size_t size_type;
+
110  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
111 
+
112  GLM_FUNC_DECL col_type & operator[](size_type i);
+
113  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
114 # else
+
115  typedef length_t length_type;
+
116  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
117 
+
118  GLM_FUNC_DECL col_type & operator[](length_type i);
+
119  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
+
120 # endif//GLM_FORCE_SIZE_FUNC
+
121 
+
122  // -- Unary arithmetic operators --
123 
-
125  // Unary arithmetic operators
-
126 
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<U, P> const & m);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tmat2x4<T, P>& operator+= (U s);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat2x4<T, P>& operator+= (tmat2x4<U, P> const & m);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat2x4<T, P>& operator-= (U s);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat2x4<T, P>& operator-= (tmat2x4<U, P> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat2x4<T, P>& operator*= (U s);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat2x4<T, P>& operator/= (U s);
-
141 
-
143  // Increment and decrement operators
-
144 
-
145  GLM_FUNC_DECL tmat2x4<T, P> & operator++ ();
-
146  GLM_FUNC_DECL tmat2x4<T, P> & operator-- ();
-
147  GLM_FUNC_DECL tmat2x4<T, P> operator++(int);
-
148  GLM_FUNC_DECL tmat2x4<T, P> operator--(int);
-
149  };
+
124  GLM_FUNC_DECL tmat2x3<T, P> & operator=(tmat2x3<T, P> const & m) GLM_DEFAULT;
+
125 
+
126  template <typename U>
+
127  GLM_FUNC_DECL tmat2x3<T, P> & operator=(tmat2x3<U, P> const & m);
+
128  template <typename U>
+
129  GLM_FUNC_DECL tmat2x3<T, P> & operator+=(U s);
+
130  template <typename U>
+
131  GLM_FUNC_DECL tmat2x3<T, P> & operator+=(tmat2x3<U, P> const & m);
+
132  template <typename U>
+
133  GLM_FUNC_DECL tmat2x3<T, P> & operator-=(U s);
+
134  template <typename U>
+
135  GLM_FUNC_DECL tmat2x3<T, P> & operator-=(tmat2x3<U, P> const & m);
+
136  template <typename U>
+
137  GLM_FUNC_DECL tmat2x3<T, P> & operator*=(U s);
+
138  template <typename U>
+
139  GLM_FUNC_DECL tmat2x3<T, P> & operator/=(U s);
+
140 
+
141  // -- Increment and decrement operators --
+
142 
+
143  GLM_FUNC_DECL tmat2x3<T, P> & operator++ ();
+
144  GLM_FUNC_DECL tmat2x3<T, P> & operator-- ();
+
145  GLM_FUNC_DECL tmat2x3<T, P> operator++(int);
+
146  GLM_FUNC_DECL tmat2x3<T, P> operator--(int);
+
147  };
+
148 
+
149  // -- Unary operators --
150 
-
151  // Binary operators
-
152 
-
153  template <typename T, precision P>
-
154  GLM_FUNC_DECL tmat2x4<T, P> operator+ (
-
155  tmat2x4<T, P> const & m,
-
156  T const & s);
-
157 
-
158  template <typename T, precision P>
-
159  GLM_FUNC_DECL tmat2x4<T, P> operator+ (
-
160  tmat2x4<T, P> const & m1,
-
161  tmat2x4<T, P> const & m2);
-
162 
-
163  template <typename T, precision P>
-
164  GLM_FUNC_DECL tmat2x4<T, P> operator- (
-
165  tmat2x4<T, P> const & m,
-
166  T const & s);
+
151  template <typename T, precision P>
+
152  GLM_FUNC_DECL tmat2x3<T, P> const operator-(tmat2x3<T, P> const & m);
+
153 
+
154  // -- Binary operators --
+
155 
+
156  template <typename T, precision P>
+
157  GLM_FUNC_DECL tmat2x3<T, P> operator+(tmat2x3<T, P> const & m, T const & s);
+
158 
+
159  template <typename T, precision P>
+
160  GLM_FUNC_DECL tmat2x3<T, P> operator+(tmat2x3<T, P> const & m1, tmat2x3<T, P> const & m2);
+
161 
+
162  template <typename T, precision P>
+
163  GLM_FUNC_DECL tmat2x3<T, P> operator-(tmat2x3<T, P> const & m, T const & s);
+
164 
+
165  template <typename T, precision P>
+
166  GLM_FUNC_DECL tmat2x3<T, P> operator-(tmat2x3<T, P> const & m1, tmat2x3<T, P> const & m2);
167 
168  template <typename T, precision P>
-
169  GLM_FUNC_DECL tmat2x4<T, P> operator- (
-
170  tmat2x4<T, P> const & m1,
-
171  tmat2x4<T, P> const & m2);
-
172 
-
173  template <typename T, precision P>
-
174  GLM_FUNC_DECL tmat2x4<T, P> operator* (
-
175  tmat2x4<T, P> const & m,
-
176  T const & s);
-
177 
-
178  template <typename T, precision P>
-
179  GLM_FUNC_DECL tmat2x4<T, P> operator* (
-
180  T const & s,
-
181  tmat2x4<T, P> const & m);
+
169  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat2x3<T, P> const & m, T const & s);
+
170 
+
171  template <typename T, precision P>
+
172  GLM_FUNC_DECL tmat2x3<T, P> operator*(T const & s, tmat2x3<T, P> const & m);
+
173 
+
174  template <typename T, precision P>
+
175  GLM_FUNC_DECL typename tmat2x3<T, P>::col_type operator*(tmat2x3<T, P> const & m, typename tmat2x3<T, P>::row_type const & v);
+
176 
+
177  template <typename T, precision P>
+
178  GLM_FUNC_DECL typename tmat2x3<T, P>::row_type operator*(typename tmat2x3<T, P>::col_type const & v, tmat2x3<T, P> const & m);
+
179 
+
180  template <typename T, precision P>
+
181  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat2x3<T, P> const & m1, tmat2x2<T, P> const & m2);
182 
183  template <typename T, precision P>
-
184  GLM_FUNC_DECL typename tmat2x4<T, P>::col_type operator* (
-
185  tmat2x4<T, P> const & m,
-
186  typename tmat2x4<T, P>::row_type const & v);
-
187 
-
188  template <typename T, precision P>
-
189  GLM_FUNC_DECL typename tmat2x4<T, P>::row_type operator* (
-
190  typename tmat2x4<T, P>::col_type const & v,
-
191  tmat2x4<T, P> const & m);
-
192 
-
193  template <typename T, precision P>
-
194  GLM_FUNC_DECL tmat4x4<T, P> operator* (
-
195  tmat2x4<T, P> const & m1,
-
196  tmat4x2<T, P> const & m2);
-
197 
-
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL tmat2x4<T, P> operator* (
-
200  tmat2x4<T, P> const & m1,
-
201  tmat2x2<T, P> const & m2);
-
202 
-
203  template <typename T, precision P>
-
204  GLM_FUNC_DECL tmat3x4<T, P> operator* (
-
205  tmat2x4<T, P> const & m1,
-
206  tmat3x2<T, P> const & m2);
-
207 
-
208  template <typename T, precision P>
-
209  GLM_FUNC_DECL tmat2x4<T, P> operator/ (
-
210  tmat2x4<T, P> const & m,
-
211  T s);
-
212 
-
213  template <typename T, precision P>
-
214  GLM_FUNC_DECL tmat2x4<T, P> operator/ (
-
215  T s,
-
216  tmat2x4<T, P> const & m);
-
217 
-
218  // Unary constant operators
-
219  template <typename T, precision P>
-
220  GLM_FUNC_DECL tmat2x4<T, P> const operator- (
-
221  tmat2x4<T, P> const & m);
-
222 }//namespace glm
-
223 
-
224 #ifndef GLM_EXTERNAL_TEMPLATE
-
225 #include "type_mat2x4.inl"
-
226 #endif
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+
184  GLM_FUNC_DECL tmat3x3<T, P> operator*(tmat2x3<T, P> const & m1, tmat3x2<T, P> const & m2);
+
185 
+
186  template <typename T, precision P>
+
187  GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat2x3<T, P> const & m1, tmat4x2<T, P> const & m2);
+
188 
+
189  template <typename T, precision P>
+
190  GLM_FUNC_DECL tmat2x3<T, P> operator/(tmat2x3<T, P> const & m, T const & s);
+
191 
+
192  template <typename T, precision P>
+
193  GLM_FUNC_DECL tmat2x3<T, P> operator/(T const & s, tmat2x3<T, P> const & m);
+
194 
+
195  // -- Boolean operators --
+
196 
+
197  template <typename T, precision P>
+
198  GLM_FUNC_DECL bool operator==(tmat2x3<T, P> const & m1, tmat2x3<T, P> const & m2);
+
199 
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL bool operator!=(tmat2x3<T, P> const & m1, tmat2x3<T, P> const & m2);
+
202 }//namespace glm
+
203 
+
204 #ifndef GLM_EXTERNAL_TEMPLATE
+
205 #include "type_mat2x3.inl"
+
206 #endif
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00123.html b/doc/api/a00123.html index 4c5a3c8c..f7ca1da6 100644 --- a/doc/api/a00123.html +++ b/doc/api/a00123.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat3x2.hpp File Reference + +0.9.7: type_mat2x4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat3x2.hpp File Reference
+
type_mat2x4.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2006-08-05 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat3x2.hpp.

+

Definition in file type_mat2x4.hpp.

diff --git a/doc/api/a00123_source.html b/doc/api/a00123_source.html index 05bb7f66..bf38f368 100644 --- a/doc/api/a00123_source.html +++ b/doc/api/a00123_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat3x2.hpp Source File + +0.9.7: type_mat2x4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat3x2.hpp
+
type_mat2x4.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "../fwd.hpp"
-
36 #include "type_vec2.hpp"
-
37 #include "type_vec3.hpp"
-
38 #include "type_mat.hpp"
+
36 #include "type_vec2.hpp"
+
37 #include "type_vec4.hpp"
+
38 #include "type_mat.hpp"
39 #include <limits>
40 #include <cstddef>
41 
-
42 namespace glm
+
42 namespace glm
43 {
44  template <typename T, precision P = defaultp>
-
45  struct tmat3x2
+
45  struct tmat2x4
46  {
-
47  typedef tvec2<T, P> col_type;
-
48  typedef tvec3<T, P> row_type;
-
49  typedef tmat3x2<T, P> type;
-
50  typedef tmat2x3<T, P> transpose_type;
+
47  typedef tvec4<T, P> col_type;
+
48  typedef tvec2<T, P> row_type;
+
49  typedef tmat2x4<T, P> type;
+
50  typedef tmat4x2<T, P> transpose_type;
51  typedef T value_type;
52 
-
53  private:
-
55  col_type value[3];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat3x2();
-
61  template <precision Q>
-
62  GLM_FUNC_DECL tmat3x2(tmat3x2<T, Q> const & m);
-
63 
-
64  GLM_FUNC_DECL explicit tmat3x2(ctor);
-
65  GLM_FUNC_DECL explicit tmat3x2(T const & s);
-
66  GLM_FUNC_DECL tmat3x2(
-
67  T const & x0, T const & y0,
-
68  T const & x1, T const & y1,
-
69  T const & x2, T const & y2);
-
70  GLM_FUNC_DECL tmat3x2(
-
71  col_type const & v0,
-
72  col_type const & v1,
-
73  col_type const & v2);
-
74 
-
76  // Conversions
-
77 
-
78  template<
-
79  typename X1, typename Y1,
-
80  typename X2, typename Y2,
-
81  typename X3, typename Y3>
-
82  GLM_FUNC_DECL tmat3x2(
-
83  X1 const & x1, Y1 const & y1,
-
84  X2 const & x2, Y2 const & y2,
-
85  X3 const & x3, Y3 const & y3);
-
86 
-
87  template <typename V1, typename V2, typename V3>
-
88  GLM_FUNC_DECL tmat3x2(
-
89  tvec2<V1, P> const & v1,
-
90  tvec2<V2, P> const & v2,
-
91  tvec2<V3, P> const & v3);
-
92 
-
94  // Matrix conversions
+
53 # ifdef GLM_META_PROG_HELPERS
+
54  static GLM_RELAXED_CONSTEXPR length_t components = 2;
+
55  static GLM_RELAXED_CONSTEXPR length_t cols = 2;
+
56  static GLM_RELAXED_CONSTEXPR length_t rows = 4;
+
57  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
58 # endif//GLM_META_PROG_HELPERS
+
59 
+
60  private:
+
61  col_type value[2];
+
62 
+
63  public:
+
64  // -- Constructors --
+
65 
+
66  GLM_FUNC_DECL tmat2x4() GLM_DEFAULT_CTOR;
+
67  GLM_FUNC_DECL tmat2x4(tmat2x4<T, P> const & m) GLM_DEFAULT;
+
68  template <precision Q>
+
69  GLM_FUNC_DECL tmat2x4(tmat2x4<T, Q> const & m);
+
70 
+
71  GLM_FUNC_DECL explicit tmat2x4(ctor);
+
72  GLM_FUNC_DECL explicit tmat2x4(T const & s);
+
73  GLM_FUNC_DECL tmat2x4(
+
74  T const & x0, T const & y0, T const & z0, T const & w0,
+
75  T const & x1, T const & y1, T const & z1, T const & w1);
+
76  GLM_FUNC_DECL tmat2x4(
+
77  col_type const & v0,
+
78  col_type const & v1);
+
79 
+
80  // -- Conversions --
+
81 
+
82  template <
+
83  typename X1, typename Y1, typename Z1, typename W1,
+
84  typename X2, typename Y2, typename Z2, typename W2>
+
85  GLM_FUNC_DECL tmat2x4(
+
86  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
+
87  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2);
+
88 
+
89  template <typename U, typename V>
+
90  GLM_FUNC_DECL tmat2x4(
+
91  tvec4<U, P> const & v1,
+
92  tvec4<V, P> const & v2);
+
93 
+
94  // -- Matrix conversions --
95 
-
96 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
97  template <typename U, precision Q>
-
98  GLM_FUNC_DECL explicit tmat3x2(tmat3x2<U, Q> const & m);
-
99 # else
-
100  template <typename U, precision Q>
-
101  GLM_FUNC_DECL tmat3x2(tmat3x2<U, Q> const & m);
-
102 # endif
-
103 
-
104  GLM_FUNC_DECL explicit tmat3x2(tmat2x2<T, P> const & x);
-
105  GLM_FUNC_DECL explicit tmat3x2(tmat3x3<T, P> const & x);
-
106  GLM_FUNC_DECL explicit tmat3x2(tmat4x4<T, P> const & x);
-
107  GLM_FUNC_DECL explicit tmat3x2(tmat2x3<T, P> const & x);
-
108  GLM_FUNC_DECL explicit tmat3x2(tmat2x4<T, P> const & x);
-
109  GLM_FUNC_DECL explicit tmat3x2(tmat3x4<T, P> const & x);
-
110  GLM_FUNC_DECL explicit tmat3x2(tmat4x2<T, P> const & x);
-
111  GLM_FUNC_DECL explicit tmat3x2(tmat4x3<T, P> const & x);
-
112 
-
114  // Accesses
-
115 
-
116 # ifdef GLM_FORCE_SIZE_FUNC
-
117  typedef size_t size_type;
-
118  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
96  template <typename U, precision Q>
+
97  GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat2x4<U, Q> const & m);
+
98 
+
99  GLM_FUNC_DECL explicit tmat2x4(tmat2x2<T, P> const & x);
+
100  GLM_FUNC_DECL explicit tmat2x4(tmat3x3<T, P> const & x);
+
101  GLM_FUNC_DECL explicit tmat2x4(tmat4x4<T, P> const & x);
+
102  GLM_FUNC_DECL explicit tmat2x4(tmat2x3<T, P> const & x);
+
103  GLM_FUNC_DECL explicit tmat2x4(tmat3x2<T, P> const & x);
+
104  GLM_FUNC_DECL explicit tmat2x4(tmat3x4<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat2x4(tmat4x2<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat2x4(tmat4x3<T, P> const & x);
+
107 
+
108  // -- Accesses --
+
109 
+
110 # ifdef GLM_FORCE_SIZE_FUNC
+
111  typedef size_t size_type;
+
112  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
113 
+
114  GLM_FUNC_DECL col_type & operator[](size_type i);
+
115  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
116 # else
+
117  typedef length_t length_type;
+
118  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
119 
-
120  GLM_FUNC_DECL col_type & operator[](size_type i);
-
121  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
122 # else
-
123  typedef length_t length_type;
-
124  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
120  GLM_FUNC_DECL col_type & operator[](length_type i);
+
121  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
+
122 # endif//GLM_FORCE_SIZE_FUNC
+
123 
+
124  // -- Unary arithmetic operators --
125 
-
126  GLM_FUNC_DECL col_type & operator[](length_type i);
-
127  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
-
128 # endif//GLM_FORCE_SIZE_FUNC
-
129 
-
131  // Unary arithmetic operators
-
132 
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<U, P> const & m);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat3x2<T, P> & operator+= (U s);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat3x2<T, P> & operator+= (tmat3x2<U, P> const & m);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat3x2<T, P> & operator-= (U s);
-
141  template <typename U>
-
142  GLM_FUNC_DECL tmat3x2<T, P> & operator-= (tmat3x2<U, P> const & m);
-
143  template <typename U>
-
144  GLM_FUNC_DECL tmat3x2<T, P> & operator*= (U s);
-
145  template <typename U>
-
146  GLM_FUNC_DECL tmat3x2<T, P> & operator/= (U s);
-
147 
-
149  // Increment and decrement operators
+
126  GLM_FUNC_DECL tmat2x4<T, P> & operator=(tmat2x4<T, P> const & m) GLM_DEFAULT;
+
127 
+
128  template <typename U>
+
129  GLM_FUNC_DECL tmat2x4<T, P> & operator=(tmat2x4<U, P> const & m);
+
130  template <typename U>
+
131  GLM_FUNC_DECL tmat2x4<T, P> & operator+=(U s);
+
132  template <typename U>
+
133  GLM_FUNC_DECL tmat2x4<T, P> & operator+=(tmat2x4<U, P> const & m);
+
134  template <typename U>
+
135  GLM_FUNC_DECL tmat2x4<T, P> & operator-=(U s);
+
136  template <typename U>
+
137  GLM_FUNC_DECL tmat2x4<T, P> & operator-=(tmat2x4<U, P> const & m);
+
138  template <typename U>
+
139  GLM_FUNC_DECL tmat2x4<T, P> & operator*=(U s);
+
140  template <typename U>
+
141  GLM_FUNC_DECL tmat2x4<T, P> & operator/=(U s);
+
142 
+
143  // -- Increment and decrement operators --
+
144 
+
145  GLM_FUNC_DECL tmat2x4<T, P> & operator++ ();
+
146  GLM_FUNC_DECL tmat2x4<T, P> & operator-- ();
+
147  GLM_FUNC_DECL tmat2x4<T, P> operator++(int);
+
148  GLM_FUNC_DECL tmat2x4<T, P> operator--(int);
+
149  };
150 
-
151  GLM_FUNC_DECL tmat3x2<T, P> & operator++ ();
-
152  GLM_FUNC_DECL tmat3x2<T, P> & operator-- ();
-
153  GLM_FUNC_DECL tmat3x2<T, P> operator++(int);
-
154  GLM_FUNC_DECL tmat3x2<T, P> operator--(int);
-
155  };
-
156 
-
157  // Binary operators
+
151  // -- Unary operators --
+
152 
+
153  template <typename T, precision P>
+
154  GLM_FUNC_DECL tmat2x4<T, P> const operator-(tmat2x4<T, P> const & m);
+
155 
+
156  // -- Binary operators --
+
157 
158  template <typename T, precision P>
-
159  GLM_FUNC_DECL tmat3x2<T, P> operator+ (
-
160  tmat3x2<T, P> const & m,
-
161  T const & s);
-
162 
-
163  template <typename T, precision P>
-
164  GLM_FUNC_DECL tmat3x2<T, P> operator+ (
-
165  tmat3x2<T, P> const & m1,
-
166  tmat3x2<T, P> const & m2);
-
167 
-
168  template <typename T, precision P>
-
169  GLM_FUNC_DECL tmat3x2<T, P> operator- (
-
170  tmat3x2<T, P> const & m,
-
171  T const & s);
+
159  GLM_FUNC_DECL tmat2x4<T, P> operator+(tmat2x4<T, P> const & m, T const & s);
+
160 
+
161  template <typename T, precision P>
+
162  GLM_FUNC_DECL tmat2x4<T, P> operator+(tmat2x4<T, P> const & m1, tmat2x4<T, P> const & m2);
+
163 
+
164  template <typename T, precision P>
+
165  GLM_FUNC_DECL tmat2x4<T, P> operator-(tmat2x4<T, P> const & m, T const & s);
+
166 
+
167  template <typename T, precision P>
+
168  GLM_FUNC_DECL tmat2x4<T, P> operator-(tmat2x4<T, P> const & m1, tmat2x4<T, P> const & m2);
+
169 
+
170  template <typename T, precision P>
+
171  GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat2x4<T, P> const & m, T const & s);
172 
173  template <typename T, precision P>
-
174  GLM_FUNC_DECL tmat3x2<T, P> operator- (
-
175  tmat3x2<T, P> const & m1,
-
176  tmat3x2<T, P> const & m2);
-
177 
-
178  template <typename T, precision P>
-
179  GLM_FUNC_DECL tmat3x2<T, P> operator* (
-
180  tmat3x2<T, P> const & m,
-
181  T const & s);
-
182 
-
183  template <typename T, precision P>
-
184  GLM_FUNC_DECL tmat3x2<T, P> operator* (
-
185  T const & s,
-
186  tmat3x2<T, P> const & m);
+
174  GLM_FUNC_DECL tmat2x4<T, P> operator*(T const & s, tmat2x4<T, P> const & m);
+
175 
+
176  template <typename T, precision P>
+
177  GLM_FUNC_DECL typename tmat2x4<T, P>::col_type operator*(tmat2x4<T, P> const & m, typename tmat2x4<T, P>::row_type const & v);
+
178 
+
179  template <typename T, precision P>
+
180  GLM_FUNC_DECL typename tmat2x4<T, P>::row_type operator*(typename tmat2x4<T, P>::col_type const & v, tmat2x4<T, P> const & m);
+
181 
+
182  template <typename T, precision P>
+
183  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat2x4<T, P> const & m1, tmat4x2<T, P> const & m2);
+
184 
+
185  template <typename T, precision P>
+
186  GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat2x4<T, P> const & m1, tmat2x2<T, P> const & m2);
187 
188  template <typename T, precision P>
-
189  GLM_FUNC_DECL typename tmat3x2<T, P>::col_type operator* (
-
190  tmat3x2<T, P> const & m,
-
191  typename tmat3x2<T, P>::row_type const & v);
-
192 
-
193  template <typename T, precision P>
-
194  GLM_FUNC_DECL typename tmat3x2<T, P>::row_type operator* (
-
195  typename tmat3x2<T, P>::col_type const & v,
-
196  tmat3x2<T, P> const & m);
-
197 
-
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL tmat2x2<T, P> operator* (
-
200  tmat3x2<T, P> const & m1,
-
201  tmat2x3<T, P> const & m2);
-
202 
-
203  template <typename T, precision P>
-
204  GLM_FUNC_DECL tmat3x2<T, P> operator* (
-
205  tmat3x2<T, P> const & m1,
-
206  tmat3x3<T, P> const & m2);
-
207 
-
208  template <typename T, precision P>
-
209  GLM_FUNC_DECL tmat4x2<T, P> operator* (
-
210  tmat3x2<T, P> const & m1,
-
211  tmat4x3<T, P> const & m2);
-
212 
-
213  template <typename T, precision P>
-
214  GLM_FUNC_DECL tmat3x2<T, P> operator/ (
-
215  tmat3x2<T, P> const & m,
-
216  T const & s);
-
217 
-
218  template <typename T, precision P>
-
219  GLM_FUNC_DECL tmat3x2<T, P> operator/ (
-
220  T const & s,
-
221  tmat3x2<T, P> const & m);
-
222 
-
223  // Unary constant operators
-
224  template <typename T, precision P>
-
225  GLM_FUNC_DECL tmat3x2<T, P> const operator-(
-
226  tmat3x2<T, P> const & m);
-
227 }//namespace glm
-
228 
-
229 #ifndef GLM_EXTERNAL_TEMPLATE
-
230 #include "type_mat3x2.inl"
-
231 #endif
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+
189  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat2x4<T, P> const & m1, tmat3x2<T, P> const & m2);
+
190 
+
191  template <typename T, precision P>
+
192  GLM_FUNC_DECL tmat2x4<T, P> operator/(tmat2x4<T, P> const & m, T s);
+
193 
+
194  template <typename T, precision P>
+
195  GLM_FUNC_DECL tmat2x4<T, P> operator/(T s, tmat2x4<T, P> const & m);
+
196 
+
197  // -- Boolean operators --
+
198 
+
199  template <typename T, precision P>
+
200  GLM_FUNC_DECL bool operator==(tmat2x4<T, P> const & m1, tmat2x4<T, P> const & m2);
+
201 
+
202  template <typename T, precision P>
+
203  GLM_FUNC_DECL bool operator!=(tmat2x4<T, P> const & m1, tmat2x4<T, P> const & m2);
+
204 }//namespace glm
+
205 
+
206 #ifndef GLM_EXTERNAL_TEMPLATE
+
207 #include "type_mat2x4.inl"
+
208 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00124.html b/doc/api/a00124.html index 3445d2ef..e92ab286 100644 --- a/doc/api/a00124.html +++ b/doc/api/a00124.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat3x3.hpp File Reference + +0.9.7: type_mat3x2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat3x3.hpp File Reference
+
type_mat3x2.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2005-01-27 / 2011-06-15
+

GLM Core

+
Date
2006-08-05 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat3x3.hpp.

+

Definition in file type_mat3x2.hpp.

diff --git a/doc/api/a00124_source.html b/doc/api/a00124_source.html index 53551d4c..82d37c4b 100644 --- a/doc/api/a00124_source.html +++ b/doc/api/a00124_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat3x3.hpp Source File + +0.9.7: type_mat3x2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat3x3.hpp
+
type_mat3x2.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "../fwd.hpp"
-
36 #include "type_vec3.hpp"
-
37 #include "type_mat.hpp"
-
38 #include <limits>
-
39 #include <cstddef>
-
40 
-
41 namespace glm
-
42 {
-
43  template <typename T, precision P = defaultp>
-
44  struct tmat3x3
-
45  {
-
46  typedef tvec3<T, P> col_type;
-
47  typedef tvec3<T, P> row_type;
-
48  typedef tmat3x3<T, P> type;
-
49  typedef tmat3x3<T, P> transpose_type;
-
50  typedef T value_type;
-
51 
-
52  template <typename U, precision Q>
-
53  friend tvec3<U, Q> operator/(tmat3x3<U, Q> const & m, tvec3<U, Q> const & v);
-
54  template <typename U, precision Q>
-
55  friend tvec3<U, Q> operator/(tvec3<U, Q> const & v, tmat3x3<U, Q> const & m);
-
56 
-
57  private:
-
59  col_type value[3];
-
61 
-
62  public:
-
63  // Constructors
-
64  GLM_FUNC_DECL tmat3x3();
-
65  template <precision Q>
-
66  GLM_FUNC_DECL tmat3x3(tmat3x3<T, Q> const & m);
-
67 
-
68  GLM_FUNC_DECL explicit tmat3x3(ctor);
-
69  GLM_FUNC_DECL explicit tmat3x3(T const & s);
-
70  GLM_FUNC_DECL tmat3x3(
-
71  T const & x0, T const & y0, T const & z0,
-
72  T const & x1, T const & y1, T const & z1,
-
73  T const & x2, T const & y2, T const & z2);
-
74  GLM_FUNC_DECL tmat3x3(
-
75  col_type const & v0,
-
76  col_type const & v1,
-
77  col_type const & v2);
-
78 
-
80  // Conversions
+
36 #include "type_vec2.hpp"
+
37 #include "type_vec3.hpp"
+
38 #include "type_mat.hpp"
+
39 #include <limits>
+
40 #include <cstddef>
+
41 
+
42 namespace glm
+
43 {
+
44  template <typename T, precision P = defaultp>
+
45  struct tmat3x2
+
46  {
+
47  typedef tvec2<T, P> col_type;
+
48  typedef tvec3<T, P> row_type;
+
49  typedef tmat3x2<T, P> type;
+
50  typedef tmat2x3<T, P> transpose_type;
+
51  typedef T value_type;
+
52 
+
53 # ifdef GLM_META_PROG_HELPERS
+
54  static GLM_RELAXED_CONSTEXPR length_t components = 3;
+
55  static GLM_RELAXED_CONSTEXPR length_t cols = 3;
+
56  static GLM_RELAXED_CONSTEXPR length_t rows = 2;
+
57  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
58 # endif//GLM_META_PROG_HELPERS
+
59 
+
60  private:
+
61  col_type value[3];
+
62 
+
63  public:
+
64  // -- Constructors --
+
65 
+
66  GLM_FUNC_DECL tmat3x2() GLM_DEFAULT_CTOR;
+
67  GLM_FUNC_DECL tmat3x2(tmat3x2<T, P> const & m) GLM_DEFAULT;
+
68  template <precision Q>
+
69  GLM_FUNC_DECL tmat3x2(tmat3x2<T, Q> const & m);
+
70 
+
71  GLM_FUNC_DECL explicit tmat3x2(ctor);
+
72  GLM_FUNC_DECL explicit tmat3x2(T const & s);
+
73  GLM_FUNC_DECL tmat3x2(
+
74  T const & x0, T const & y0,
+
75  T const & x1, T const & y1,
+
76  T const & x2, T const & y2);
+
77  GLM_FUNC_DECL tmat3x2(
+
78  col_type const & v0,
+
79  col_type const & v1,
+
80  col_type const & v2);
81 
-
82  template<
-
83  typename X1, typename Y1, typename Z1,
-
84  typename X2, typename Y2, typename Z2,
-
85  typename X3, typename Y3, typename Z3>
-
86  GLM_FUNC_DECL tmat3x3(
-
87  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
88  X2 const & x2, Y2 const & y2, Z2 const & z2,
-
89  X3 const & x3, Y3 const & y3, Z3 const & z3);
-
90 
-
91  template <typename V1, typename V2, typename V3>
-
92  GLM_FUNC_DECL tmat3x3(
-
93  tvec3<V1, P> const & v1,
-
94  tvec3<V2, P> const & v2,
-
95  tvec3<V3, P> const & v3);
-
96 
-
98  // Matrix conversions
-
99 
-
100 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
101  template <typename U, precision Q>
-
102  GLM_FUNC_DECL explicit tmat3x3(tmat3x3<U, Q> const & m);
-
103 # else
-
104  template <typename U, precision Q>
-
105  GLM_FUNC_DECL tmat3x3(tmat3x3<U, Q> const & m);
-
106 # endif
-
107 
-
108  GLM_FUNC_DECL explicit tmat3x3(tmat2x2<T, P> const & x);
-
109  GLM_FUNC_DECL explicit tmat3x3(tmat4x4<T, P> const & x);
-
110  GLM_FUNC_DECL explicit tmat3x3(tmat2x3<T, P> const & x);
-
111  GLM_FUNC_DECL explicit tmat3x3(tmat3x2<T, P> const & x);
-
112  GLM_FUNC_DECL explicit tmat3x3(tmat2x4<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat3x3(tmat4x2<T, P> const & x);
-
114  GLM_FUNC_DECL explicit tmat3x3(tmat3x4<T, P> const & x);
-
115  GLM_FUNC_DECL explicit tmat3x3(tmat4x3<T, P> const & x);
-
116 
-
118  // Accesses
-
119 
-
120 # ifdef GLM_FORCE_SIZE_FUNC
-
121  typedef size_t size_type;
-
122  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
-
123 
-
124  GLM_FUNC_DECL col_type & operator[](size_type i);
-
125  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
126 # else
-
127  typedef length_t length_type;
-
128  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
129 
-
130  GLM_FUNC_DECL col_type & operator[](length_type i);
-
131  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
-
132 # endif//GLM_FORCE_SIZE_FUNC
-
133 
-
135  // Unary arithmetic operators
-
136 
+
82  // -- Conversions --
+
83 
+
84  template<
+
85  typename X1, typename Y1,
+
86  typename X2, typename Y2,
+
87  typename X3, typename Y3>
+
88  GLM_FUNC_DECL tmat3x2(
+
89  X1 const & x1, Y1 const & y1,
+
90  X2 const & x2, Y2 const & y2,
+
91  X3 const & x3, Y3 const & y3);
+
92 
+
93  template <typename V1, typename V2, typename V3>
+
94  GLM_FUNC_DECL tmat3x2(
+
95  tvec2<V1, P> const & v1,
+
96  tvec2<V2, P> const & v2,
+
97  tvec2<V3, P> const & v3);
+
98 
+
99  // -- Matrix conversions --
+
100 
+
101  template <typename U, precision Q>
+
102  GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat3x2<U, Q> const & m);
+
103 
+
104  GLM_FUNC_DECL explicit tmat3x2(tmat2x2<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat3x2(tmat3x3<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat3x2(tmat4x4<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat3x2(tmat2x3<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat3x2(tmat2x4<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat3x2(tmat3x4<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat3x2(tmat4x2<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat3x2(tmat4x3<T, P> const & x);
+
112 
+
113  // -- Accesses --
+
114 
+
115 # ifdef GLM_FORCE_SIZE_FUNC
+
116  typedef size_t size_type;
+
117  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
118 
+
119  GLM_FUNC_DECL col_type & operator[](size_type i);
+
120  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
121 # else
+
122  typedef length_t length_type;
+
123  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
124 
+
125  GLM_FUNC_DECL col_type & operator[](length_type i);
+
126  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
+
127 # endif//GLM_FORCE_SIZE_FUNC
+
128 
+
129  // -- Unary arithmetic operators --
+
130 
+
131  GLM_FUNC_DECL tmat3x2<T, P> & operator=(tmat3x2<T, P> const & m) GLM_DEFAULT;
+
132 
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat3x2<T, P> & operator=(tmat3x2<U, P> const & m);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat3x2<T, P> & operator+=(U s);
137  template <typename U>
-
138  GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<U, P> const & m);
+
138  GLM_FUNC_DECL tmat3x2<T, P> & operator+=(tmat3x2<U, P> const & m);
139  template <typename U>
-
140  GLM_FUNC_DECL tmat3x3<T, P>& operator+= (U s);
+
140  GLM_FUNC_DECL tmat3x2<T, P> & operator-=(U s);
141  template <typename U>
-
142  GLM_FUNC_DECL tmat3x3<T, P>& operator+= (tmat3x3<U, P> const & m);
+
142  GLM_FUNC_DECL tmat3x2<T, P> & operator-=(tmat3x2<U, P> const & m);
143  template <typename U>
-
144  GLM_FUNC_DECL tmat3x3<T, P>& operator-= (U s);
+
144  GLM_FUNC_DECL tmat3x2<T, P> & operator*=(U s);
145  template <typename U>
-
146  GLM_FUNC_DECL tmat3x3<T, P>& operator-= (tmat3x3<U, P> const & m);
-
147  template <typename U>
-
148  GLM_FUNC_DECL tmat3x3<T, P>& operator*= (U s);
-
149  template <typename U>
-
150  GLM_FUNC_DECL tmat3x3<T, P>& operator*= (tmat3x3<U, P> const & m);
-
151  template <typename U>
-
152  GLM_FUNC_DECL tmat3x3<T, P>& operator/= (U s);
-
153  template <typename U>
-
154  GLM_FUNC_DECL tmat3x3<T, P>& operator/= (tmat3x3<U, P> const & m);
+
146  GLM_FUNC_DECL tmat3x2<T, P> & operator/=(U s);
+
147 
+
148  // -- Increment and decrement operators --
+
149 
+
150  GLM_FUNC_DECL tmat3x2<T, P> & operator++ ();
+
151  GLM_FUNC_DECL tmat3x2<T, P> & operator-- ();
+
152  GLM_FUNC_DECL tmat3x2<T, P> operator++(int);
+
153  GLM_FUNC_DECL tmat3x2<T, P> operator--(int);
+
154  };
155 
-
157  // Increment and decrement operators
-
158 
-
159  GLM_FUNC_DECL tmat3x3<T, P> & operator++ ();
-
160  GLM_FUNC_DECL tmat3x3<T, P> & operator-- ();
-
161  GLM_FUNC_DECL tmat3x3<T, P> operator++(int);
-
162  GLM_FUNC_DECL tmat3x3<T, P> operator--(int);
-
163  };
-
164 
-
165  // Binary operators
+
156  // -- Unary operators --
+
157 
+
158  template <typename T, precision P>
+
159  GLM_FUNC_DECL tmat3x2<T, P> const operator-(tmat3x2<T, P> const & m);
+
160 
+
161  // -- Binary operators --
+
162 
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tmat3x2<T, P> operator+(tmat3x2<T, P> const & m, T const & s);
+
165 
166  template <typename T, precision P>
-
167  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
-
168  tmat3x3<T, P> const & m,
-
169  T const & s);
-
170 
-
171  template <typename T, precision P>
-
172  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
-
173  T const & s,
-
174  tmat3x3<T, P> const & m);
-
175 
-
176  template <typename T, precision P>
-
177  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
-
178  tmat3x3<T, P> const & m1,
-
179  tmat3x3<T, P> const & m2);
+
167  GLM_FUNC_DECL tmat3x2<T, P> operator+(tmat3x2<T, P> const & m1, tmat3x2<T, P> const & m2);
+
168 
+
169  template <typename T, precision P>
+
170  GLM_FUNC_DECL tmat3x2<T, P> operator-(tmat3x2<T, P> const & m, T const & s);
+
171 
+
172  template <typename T, precision P>
+
173  GLM_FUNC_DECL tmat3x2<T, P> operator-(tmat3x2<T, P> const & m1, tmat3x2<T, P> const & m2);
+
174 
+
175  template <typename T, precision P>
+
176  GLM_FUNC_DECL tmat3x2<T, P> operator*(tmat3x2<T, P> const & m, T const & s);
+
177 
+
178  template <typename T, precision P>
+
179  GLM_FUNC_DECL tmat3x2<T, P> operator*(T const & s, tmat3x2<T, P> const & m);
180 
181  template <typename T, precision P>
-
182  GLM_FUNC_DECL tmat3x3<T, P> operator- (
-
183  tmat3x3<T, P> const & m,
-
184  T const & s);
-
185 
-
186  template <typename T, precision P>
-
187  GLM_FUNC_DECL tmat3x3<T, P> operator- (
-
188  T const & s,
-
189  tmat3x3<T, P> const & m);
-
190 
-
191  template <typename T, precision P>
-
192  GLM_FUNC_DECL tmat3x3<T, P> operator- (
-
193  tmat3x3<T, P> const & m1,
-
194  tmat3x3<T, P> const & m2);
+
182  GLM_FUNC_DECL typename tmat3x2<T, P>::col_type operator*(tmat3x2<T, P> const & m, typename tmat3x2<T, P>::row_type const & v);
+
183 
+
184  template <typename T, precision P>
+
185  GLM_FUNC_DECL typename tmat3x2<T, P>::row_type operator*(typename tmat3x2<T, P>::col_type const & v, tmat3x2<T, P> const & m);
+
186 
+
187  template <typename T, precision P>
+
188  GLM_FUNC_DECL tmat2x2<T, P> operator*(tmat3x2<T, P> const & m1, tmat2x3<T, P> const & m2);
+
189 
+
190  template <typename T, precision P>
+
191  GLM_FUNC_DECL tmat3x2<T, P> operator*(tmat3x2<T, P> const & m1, tmat3x3<T, P> const & m2);
+
192 
+
193  template <typename T, precision P>
+
194  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat3x2<T, P> const & m1, tmat4x3<T, P> const & m2);
195 
196  template <typename T, precision P>
-
197  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
198  tmat3x3<T, P> const & m,
-
199  T const & s);
-
200 
-
201  template <typename T, precision P>
-
202  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
203  T const & s,
-
204  tmat3x3<T, P> const & m);
-
205 
-
206  template <typename T, precision P>
-
207  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator* (
-
208  tmat3x3<T, P> const & m,
-
209  typename tmat3x3<T, P>::row_type const & v);
+
197  GLM_FUNC_DECL tmat3x2<T, P> operator/(tmat3x2<T, P> const & m, T const & s);
+
198 
+
199  template <typename T, precision P>
+
200  GLM_FUNC_DECL tmat3x2<T, P> operator/(T const & s, tmat3x2<T, P> const & m);
+
201 
+
202  // -- Boolean operators --
+
203 
+
204  template <typename T, precision P>
+
205  GLM_FUNC_DECL bool operator==(tmat3x2<T, P> const & m1, tmat3x2<T, P> const & m2);
+
206 
+
207  template <typename T, precision P>
+
208  GLM_FUNC_DECL bool operator!=(tmat3x2<T, P> const & m1, tmat3x2<T, P> const & m2);
+
209 }//namespace glm
210 
-
211  template <typename T, precision P>
-
212  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator* (
-
213  typename tmat3x3<T, P>::col_type const & v,
-
214  tmat3x3<T, P> const & m);
-
215 
-
216  template <typename T, precision P>
-
217  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
218  tmat3x3<T, P> const & m1,
-
219  tmat3x3<T, P> const & m2);
-
220 
-
221  template <typename T, precision P>
-
222  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
223  tmat3x3<T, P> const & m1,
-
224  tmat2x3<T, P> const & m2);
-
225 
-
226  template <typename T, precision P>
-
227  GLM_FUNC_DECL tmat4x3<T, P> operator* (
-
228  tmat3x3<T, P> const & m1,
-
229  tmat4x3<T, P> const & m2);
-
230 
-
231  template <typename T, precision P>
-
232  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
-
233  tmat3x3<T, P> const & m,
-
234  T const & s);
-
235 
-
236  template <typename T, precision P>
-
237  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
-
238  T const & s,
-
239  tmat3x3<T, P> const & m);
-
240 
-
241  template <typename T, precision P>
-
242  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator/ (
-
243  tmat3x3<T, P> const & m,
-
244  typename tmat3x3<T, P>::row_type const & v);
-
245 
-
246  template <typename T, precision P>
-
247  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator/ (
-
248  typename tmat3x3<T, P>::col_type const & v,
-
249  tmat3x3<T, P> const & m);
-
250 
-
251  template <typename T, precision P>
-
252  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
-
253  tmat3x3<T, P> const & m1,
-
254  tmat3x3<T, P> const & m2);
-
255 
-
256  // Unary constant operators
-
257  template <typename T, precision P>
-
258  GLM_FUNC_DECL tmat3x3<T, P> const operator-(
-
259  tmat3x3<T, P> const & m);
-
260 }//namespace glm
-
261 
-
262 #ifndef GLM_EXTERNAL_TEMPLATE
-
263 #include "type_mat3x3.inl"
-
264 #endif
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
211 #ifndef GLM_EXTERNAL_TEMPLATE
+
212 #include "type_mat3x2.inl"
+
213 #endif
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00125.html b/doc/api/a00125.html index ef3a6741..5583ae7e 100644 --- a/doc/api/a00125.html +++ b/doc/api/a00125.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat3x4.hpp File Reference + +0.9.7: type_mat3x3.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat3x4.hpp File Reference
+
type_mat3x3.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2006-08-05 / 2011-06-15
+

GLM Core

+
Date
2005-01-27 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat3x4.hpp.

+

Definition in file type_mat3x3.hpp.

diff --git a/doc/api/a00125_source.html b/doc/api/a00125_source.html index d80da7c3..a07108ab 100644 --- a/doc/api/a00125_source.html +++ b/doc/api/a00125_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat3x4.hpp Source File + +0.9.7: type_mat3x3.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat3x4.hpp
+
type_mat3x3.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "../fwd.hpp"
-
36 #include "type_vec3.hpp"
-
37 #include "type_vec4.hpp"
-
38 #include "type_mat.hpp"
-
39 #include <limits>
-
40 #include <cstddef>
-
41 
-
42 namespace glm
-
43 {
-
44  template <typename T, precision P = defaultp>
-
45  struct tmat3x4
-
46  {
-
47  typedef tvec4<T, P> col_type;
-
48  typedef tvec3<T, P> row_type;
-
49  typedef tmat3x4<T, P> type;
-
50  typedef tmat4x3<T, P> transpose_type;
-
51  typedef T value_type;
-
52 
-
53  private:
-
55  col_type value[3];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat3x4();
-
61  template <precision Q>
-
62  GLM_FUNC_DECL tmat3x4(tmat3x4<T, Q> const & m);
+
36 #include "type_vec3.hpp"
+
37 #include "type_mat.hpp"
+
38 #include <limits>
+
39 #include <cstddef>
+
40 
+
41 namespace glm
+
42 {
+
43  template <typename T, precision P = defaultp>
+
44  struct tmat3x3
+
45  {
+
46  typedef tvec3<T, P> col_type;
+
47  typedef tvec3<T, P> row_type;
+
48  typedef tmat3x3<T, P> type;
+
49  typedef tmat3x3<T, P> transpose_type;
+
50  typedef T value_type;
+
51 
+
52 # ifdef GLM_META_PROG_HELPERS
+
53  static GLM_RELAXED_CONSTEXPR length_t components = 3;
+
54  static GLM_RELAXED_CONSTEXPR length_t cols = 3;
+
55  static GLM_RELAXED_CONSTEXPR length_t rows = 3;
+
56  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
57 # endif//GLM_META_PROG_HELPERS
+
58 
+
59  template <typename U, precision Q>
+
60  friend tvec3<U, Q> operator/(tmat3x3<U, Q> const & m, tvec3<U, Q> const & v);
+
61  template <typename U, precision Q>
+
62  friend tvec3<U, Q> operator/(tvec3<U, Q> const & v, tmat3x3<U, Q> const & m);
63 
-
64  GLM_FUNC_DECL explicit tmat3x4(ctor);
-
65  GLM_FUNC_DECL explicit tmat3x4(T const & s);
-
66  GLM_FUNC_DECL tmat3x4(
-
67  T const & x0, T const & y0, T const & z0, T const & w0,
-
68  T const & x1, T const & y1, T const & z1, T const & w1,
-
69  T const & x2, T const & y2, T const & z2, T const & w2);
-
70  GLM_FUNC_DECL tmat3x4(
-
71  col_type const & v0,
-
72  col_type const & v1,
-
73  col_type const & v2);
+
64  private:
+
65  col_type value[3];
+
66 
+
67  public:
+
68  // -- Constructors --
+
69 
+
70  GLM_FUNC_DECL tmat3x3() GLM_DEFAULT_CTOR;
+
71  GLM_FUNC_DECL tmat3x3(tmat3x3<T, P> const & m) GLM_DEFAULT;
+
72  template <precision Q>
+
73  GLM_FUNC_DECL tmat3x3(tmat3x3<T, Q> const & m);
74 
-
76  // Conversions
-
77  template<
-
78  typename X1, typename Y1, typename Z1, typename W1,
-
79  typename X2, typename Y2, typename Z2, typename W2,
-
80  typename X3, typename Y3, typename Z3, typename W3>
-
81  GLM_FUNC_DECL tmat3x4(
-
82  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
-
83  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
-
84  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3);
-
85 
-
86  template <typename V1, typename V2, typename V3>
-
87  GLM_FUNC_DECL tmat3x4(
-
88  tvec4<V1, P> const & v1,
-
89  tvec4<V2, P> const & v2,
-
90  tvec4<V3, P> const & v3);
-
91 
-
93  // Matrix conversion
-
94 
-
95 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
96  template <typename U, precision Q>
-
97  GLM_FUNC_DECL explicit tmat3x4(tmat3x4<U, Q> const & m);
-
98 # else
-
99  template <typename U, precision Q>
-
100  GLM_FUNC_DECL tmat3x4(tmat3x4<U, Q> const & m);
-
101 # endif
+
75  GLM_FUNC_DECL explicit tmat3x3(ctor);
+
76  GLM_FUNC_DECL explicit tmat3x3(T const & s);
+
77  GLM_FUNC_DECL tmat3x3(
+
78  T const & x0, T const & y0, T const & z0,
+
79  T const & x1, T const & y1, T const & z1,
+
80  T const & x2, T const & y2, T const & z2);
+
81  GLM_FUNC_DECL tmat3x3(
+
82  col_type const & v0,
+
83  col_type const & v1,
+
84  col_type const & v2);
+
85 
+
86  // -- Conversions --
+
87 
+
88  template<
+
89  typename X1, typename Y1, typename Z1,
+
90  typename X2, typename Y2, typename Z2,
+
91  typename X3, typename Y3, typename Z3>
+
92  GLM_FUNC_DECL tmat3x3(
+
93  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
94  X2 const & x2, Y2 const & y2, Z2 const & z2,
+
95  X3 const & x3, Y3 const & y3, Z3 const & z3);
+
96 
+
97  template <typename V1, typename V2, typename V3>
+
98  GLM_FUNC_DECL tmat3x3(
+
99  tvec3<V1, P> const & v1,
+
100  tvec3<V2, P> const & v2,
+
101  tvec3<V3, P> const & v3);
102 
-
103  GLM_FUNC_DECL explicit tmat3x4(tmat2x2<T, P> const & x);
-
104  GLM_FUNC_DECL explicit tmat3x4(tmat3x3<T, P> const & x);
-
105  GLM_FUNC_DECL explicit tmat3x4(tmat4x4<T, P> const & x);
-
106  GLM_FUNC_DECL explicit tmat3x4(tmat2x3<T, P> const & x);
-
107  GLM_FUNC_DECL explicit tmat3x4(tmat3x2<T, P> const & x);
-
108  GLM_FUNC_DECL explicit tmat3x4(tmat2x4<T, P> const & x);
-
109  GLM_FUNC_DECL explicit tmat3x4(tmat4x2<T, P> const & x);
-
110  GLM_FUNC_DECL explicit tmat3x4(tmat4x3<T, P> const & x);
-
111 
-
113  // Accesses
-
114 
-
115 # ifdef GLM_FORCE_SIZE_FUNC
-
116  typedef size_t size_type;
-
117  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
103  // -- Matrix conversions --
+
104 
+
105  template <typename U, precision Q>
+
106  GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat3x3<U, Q> const & m);
+
107 
+
108  GLM_FUNC_DECL explicit tmat3x3(tmat2x2<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat3x3(tmat4x4<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat3x3(tmat2x3<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat3x3(tmat3x2<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat3x3(tmat2x4<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat3x3(tmat4x2<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat3x3(tmat3x4<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat3x3(tmat4x3<T, P> const & x);
+
116 
+
117  // -- Accesses --
118 
-
119  GLM_FUNC_DECL col_type & operator[](size_type i);
-
120  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
121 # else
-
122  typedef length_t length_type;
-
123  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
124 
-
125  GLM_FUNC_DECL col_type & operator[](length_type i);
-
126  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
-
127 # endif//GLM_FORCE_SIZE_FUNC
+
119 # ifdef GLM_FORCE_SIZE_FUNC
+
120  typedef size_t size_type;
+
121  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
122 
+
123  GLM_FUNC_DECL col_type & operator[](size_type i);
+
124  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
125 # else
+
126  typedef length_t length_type;
+
127  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
128 
-
130  // Unary arithmetic operators
-
131 
-
132  template <typename U>
-
133  GLM_FUNC_DECL tmat3x4<T, P> & operator=(tmat3x4<U, P> const & m);
-
134  template <typename U>
-
135  GLM_FUNC_DECL tmat3x4<T, P> & operator+=(U s);
-
136  template <typename U>
-
137  GLM_FUNC_DECL tmat3x4<T, P> & operator+=(tmat3x4<U, P> const & m);
-
138  template <typename U>
-
139  GLM_FUNC_DECL tmat3x4<T, P> & operator-=(U s);
-
140  template <typename U>
-
141  GLM_FUNC_DECL tmat3x4<T, P> & operator-=(tmat3x4<U, P> const & m);
-
142  template <typename U>
-
143  GLM_FUNC_DECL tmat3x4<T, P> & operator*=(U s);
-
144  template <typename U>
-
145  GLM_FUNC_DECL tmat3x4<T, P> & operator/=(U s);
-
146 
-
148  // Increment and decrement operators
-
149 
-
150  GLM_FUNC_DECL tmat3x4<T, P> & operator++();
-
151  GLM_FUNC_DECL tmat3x4<T, P> & operator--();
-
152  GLM_FUNC_DECL tmat3x4<T, P> operator++(int);
-
153  GLM_FUNC_DECL tmat3x4<T, P> operator--(int);
-
154  };
+
129  GLM_FUNC_DECL col_type & operator[](length_type i);
+
130  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
+
131 # endif//GLM_FORCE_SIZE_FUNC
+
132 
+
133  // -- Unary arithmetic operators --
+
134 
+
135  GLM_FUNC_DECL tmat3x3<T, P> & operator=(tmat3x3<T, P> const & m) GLM_DEFAULT;
+
136 
+
137  template <typename U>
+
138  GLM_FUNC_DECL tmat3x3<T, P> & operator=(tmat3x3<U, P> const & m);
+
139  template <typename U>
+
140  GLM_FUNC_DECL tmat3x3<T, P> & operator+=(U s);
+
141  template <typename U>
+
142  GLM_FUNC_DECL tmat3x3<T, P> & operator+=(tmat3x3<U, P> const & m);
+
143  template <typename U>
+
144  GLM_FUNC_DECL tmat3x3<T, P> & operator-=(U s);
+
145  template <typename U>
+
146  GLM_FUNC_DECL tmat3x3<T, P> & operator-=(tmat3x3<U, P> const & m);
+
147  template <typename U>
+
148  GLM_FUNC_DECL tmat3x3<T, P> & operator*=(U s);
+
149  template <typename U>
+
150  GLM_FUNC_DECL tmat3x3<T, P> & operator*=(tmat3x3<U, P> const & m);
+
151  template <typename U>
+
152  GLM_FUNC_DECL tmat3x3<T, P> & operator/=(U s);
+
153  template <typename U>
+
154  GLM_FUNC_DECL tmat3x3<T, P> & operator/=(tmat3x3<U, P> const & m);
155 
-
156  // Binary operators
-
157  template <typename T, precision P>
-
158  GLM_FUNC_DECL tmat3x4<T, P> operator+(tmat3x4<T, P> const & m, T const & s);
-
159 
-
160  template <typename T, precision P>
-
161  GLM_FUNC_DECL tmat3x4<T, P> operator+(tmat3x4<T, P> const & m1, tmat3x4<T, P> const & m2);
-
162 
-
163  template <typename T, precision P>
-
164  GLM_FUNC_DECL tmat3x4<T, P> operator-(tmat3x4<T, P> const & m, T const & s);
+
156  // -- Increment and decrement operators --
+
157 
+
158  GLM_FUNC_DECL tmat3x3<T, P> & operator++();
+
159  GLM_FUNC_DECL tmat3x3<T, P> & operator--();
+
160  GLM_FUNC_DECL tmat3x3<T, P> operator++(int);
+
161  GLM_FUNC_DECL tmat3x3<T, P> operator--(int);
+
162  };
+
163 
+
164  // -- Unary operators --
165 
166  template <typename T, precision P>
-
167  GLM_FUNC_DECL tmat3x4<T, P> operator-(tmat3x4<T, P> const & m1, tmat3x4<T, P> const & m2);
+
167  GLM_FUNC_DECL tmat3x3<T, P> const operator-(tmat3x3<T, P> const & m);
168 
-
169  template <typename T, precision P>
-
170  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat3x4<T, P> const & m, T const & s);
-
171 
-
172  template <typename T, precision P>
-
173  GLM_FUNC_DECL tmat3x4<T, P> operator*(T const & s, tmat3x4<T, P> const & m);
-
174 
-
175  template <typename T, precision P>
-
176  GLM_FUNC_DECL typename tmat3x4<T, P>::col_type operator*(tmat3x4<T, P> const & m, typename tmat3x4<T, P>::row_type const & v);
-
177 
-
178  template <typename T, precision P>
-
179  GLM_FUNC_DECL typename tmat3x4<T, P>::row_type operator*(typename tmat3x4<T, P>::col_type const & v, tmat3x4<T, P> const & m);
-
180 
-
181  template <typename T, precision P>
-
182  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat4x3<T, P> const & m2);
-
183 
-
184  template <typename T, precision P>
-
185  GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat2x3<T, P> const & m2);
-
186 
-
187  template <typename T, precision P>
-
188  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat3x3<T, P> const & m2);
-
189 
-
190  template <typename T, precision P>
-
191  GLM_FUNC_DECL tmat3x4<T, P> operator/(tmat3x4<T, P> const & m, T const & s);
-
192 
-
193  template <typename T, precision P>
-
194  GLM_FUNC_DECL tmat3x4<T, P> operator/(T const & s, tmat3x4<T, P> const & m);
-
195 
-
196  // Unary constant operators
-
197  template <typename T, precision P>
-
198  GLM_FUNC_DECL tmat3x4<T, P> const operator-(tmat3x4<T, P> const & m);
-
199 }//namespace glm
+
169  // -- Binary operators --
+
170 
+
171  template <typename T, precision P>
+
172  GLM_FUNC_DECL tmat3x3<T, P> operator+(tmat3x3<T, P> const & m, T const & s);
+
173 
+
174  template <typename T, precision P>
+
175  GLM_FUNC_DECL tmat3x3<T, P> operator+(T const & s, tmat3x3<T, P> const & m);
+
176 
+
177  template <typename T, precision P>
+
178  GLM_FUNC_DECL tmat3x3<T, P> operator+(tmat3x3<T, P> const & m1, tmat3x3<T, P> const & m2);
+
179 
+
180  template <typename T, precision P>
+
181  GLM_FUNC_DECL tmat3x3<T, P> operator-(tmat3x3<T, P> const & m, T const & s);
+
182 
+
183  template <typename T, precision P>
+
184  GLM_FUNC_DECL tmat3x3<T, P> operator-(T const & s, tmat3x3<T, P> const & m);
+
185 
+
186  template <typename T, precision P>
+
187  GLM_FUNC_DECL tmat3x3<T, P> operator-(tmat3x3<T, P> const & m1, tmat3x3<T, P> const & m2);
+
188 
+
189  template <typename T, precision P>
+
190  GLM_FUNC_DECL tmat3x3<T, P> operator*(tmat3x3<T, P> const & m, T const & s);
+
191 
+
192  template <typename T, precision P>
+
193  GLM_FUNC_DECL tmat3x3<T, P> operator*(T const & s, tmat3x3<T, P> const & m);
+
194 
+
195  template <typename T, precision P>
+
196  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator*(tmat3x3<T, P> const & m, typename tmat3x3<T, P>::row_type const & v);
+
197 
+
198  template <typename T, precision P>
+
199  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator*(typename tmat3x3<T, P>::col_type const & v, tmat3x3<T, P> const & m);
200 
-
201 #ifndef GLM_EXTERNAL_TEMPLATE
-
202 #include "type_mat3x4.inl"
-
203 #endif
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
201  template <typename T, precision P>
+
202  GLM_FUNC_DECL tmat3x3<T, P> operator*(tmat3x3<T, P> const & m1, tmat3x3<T, P> const & m2);
+
203 
+
204  template <typename T, precision P>
+
205  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat3x3<T, P> const & m1, tmat2x3<T, P> const & m2);
+
206 
+
207  template <typename T, precision P>
+
208  GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat3x3<T, P> const & m1, tmat4x3<T, P> const & m2);
+
209 
+
210  template <typename T, precision P>
+
211  GLM_FUNC_DECL tmat3x3<T, P> operator/(tmat3x3<T, P> const & m, T const & s);
+
212 
+
213  template <typename T, precision P>
+
214  GLM_FUNC_DECL tmat3x3<T, P> operator/(T const & s, tmat3x3<T, P> const & m);
+
215 
+
216  template <typename T, precision P>
+
217  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator/(tmat3x3<T, P> const & m, typename tmat3x3<T, P>::row_type const & v);
+
218 
+
219  template <typename T, precision P>
+
220  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator/(typename tmat3x3<T, P>::col_type const & v, tmat3x3<T, P> const & m);
+
221 
+
222  template <typename T, precision P>
+
223  GLM_FUNC_DECL tmat3x3<T, P> operator/(tmat3x3<T, P> const & m1, tmat3x3<T, P> const & m2);
+
224 
+
225  // -- Boolean operators --
+
226 
+
227  template <typename T, precision P>
+
228  GLM_FUNC_DECL bool operator==(tmat3x3<T, P> const & m1, tmat3x3<T, P> const & m2);
+
229 
+
230  template <typename T, precision P>
+
231  GLM_FUNC_DECL bool operator!=(tmat3x3<T, P> const & m1, tmat3x3<T, P> const & m2);
+
232 }//namespace glm
+
233 
+
234 #ifndef GLM_EXTERNAL_TEMPLATE
+
235 #include "type_mat3x3.inl"
+
236 #endif
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00126.html b/doc/api/a00126.html index 1d9fca72..8fbce27c 100644 --- a/doc/api/a00126.html +++ b/doc/api/a00126.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat4x2.hpp File Reference + +0.9.7: type_mat3x4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat4x2.hpp File Reference
+
type_mat3x4.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2006-10-01 / 2011-06-15
+

GLM Core

+
Date
2006-08-05 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat4x2.hpp.

+

Definition in file type_mat3x4.hpp.

diff --git a/doc/api/a00126_source.html b/doc/api/a00126_source.html index a2f071e5..3687710f 100644 --- a/doc/api/a00126_source.html +++ b/doc/api/a00126_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat4x2.hpp Source File + +0.9.7: type_mat3x4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat4x2.hpp
+
type_mat3x4.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "../fwd.hpp"
-
36 #include "type_vec2.hpp"
-
37 #include "type_vec4.hpp"
-
38 #include "type_mat.hpp"
+
36 #include "type_vec3.hpp"
+
37 #include "type_vec4.hpp"
+
38 #include "type_mat.hpp"
39 #include <limits>
40 #include <cstddef>
41 
-
42 namespace glm
+
42 namespace glm
43 {
44  template <typename T, precision P = defaultp>
-
45  struct tmat4x2
+
45  struct tmat3x4
46  {
-
47  typedef tvec2<T, P> col_type;
-
48  typedef tvec4<T, P> row_type;
-
49  typedef tmat4x2<T, P> type;
-
50  typedef tmat2x4<T, P> transpose_type;
+
47  typedef tvec4<T, P> col_type;
+
48  typedef tvec3<T, P> row_type;
+
49  typedef tmat3x4<T, P> type;
+
50  typedef tmat4x3<T, P> transpose_type;
51  typedef T value_type;
52 
-
53  private:
-
55  col_type value[4];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat4x2();
-
61  template <precision Q>
-
62  GLM_FUNC_DECL tmat4x2(tmat4x2<T, Q> const & m);
-
63 
-
64  GLM_FUNC_DECL explicit tmat4x2(ctor);
-
65  GLM_FUNC_DECL explicit tmat4x2(T const & x);
-
66  GLM_FUNC_DECL tmat4x2(
-
67  T const & x0, T const & y0,
-
68  T const & x1, T const & y1,
-
69  T const & x2, T const & y2,
-
70  T const & x3, T const & y3);
-
71  GLM_FUNC_DECL tmat4x2(
-
72  col_type const & v0,
-
73  col_type const & v1,
-
74  col_type const & v2,
-
75  col_type const & v3);
-
76 
-
78  // Conversions
-
79 
-
80  template <
-
81  typename X1, typename Y1,
-
82  typename X2, typename Y2,
-
83  typename X3, typename Y3,
-
84  typename X4, typename Y4>
-
85  GLM_FUNC_DECL tmat4x2(
-
86  X1 const & x1, Y1 const & y1,
-
87  X2 const & x2, Y2 const & y2,
-
88  X3 const & x3, Y3 const & y3,
-
89  X4 const & x4, Y4 const & y4);
-
90 
-
91  template <typename V1, typename V2, typename V3, typename V4>
-
92  GLM_FUNC_DECL tmat4x2(
-
93  tvec2<V1, P> const & v1,
-
94  tvec2<V2, P> const & v2,
-
95  tvec2<V3, P> const & v3,
-
96  tvec2<V4, P> const & v4);
-
97 
-
99  // Matrix conversions
+
53 # ifdef GLM_META_PROG_HELPERS
+
54  static GLM_RELAXED_CONSTEXPR length_t components = 3;
+
55  static GLM_RELAXED_CONSTEXPR length_t cols = 3;
+
56  static GLM_RELAXED_CONSTEXPR length_t rows = 4;
+
57  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
58 # endif//GLM_META_PROG_HELPERS
+
59 
+
60  private:
+
61  col_type value[3];
+
62 
+
63  public:
+
64  // -- Constructors --
+
65 
+
66  GLM_FUNC_DECL tmat3x4() GLM_DEFAULT_CTOR;
+
67  GLM_FUNC_DECL tmat3x4(tmat3x4<T, P> const & m) GLM_DEFAULT;
+
68  template <precision Q>
+
69  GLM_FUNC_DECL tmat3x4(tmat3x4<T, Q> const & m);
+
70 
+
71  GLM_FUNC_DECL explicit tmat3x4(ctor);
+
72  GLM_FUNC_DECL explicit tmat3x4(T const & s);
+
73  GLM_FUNC_DECL tmat3x4(
+
74  T const & x0, T const & y0, T const & z0, T const & w0,
+
75  T const & x1, T const & y1, T const & z1, T const & w1,
+
76  T const & x2, T const & y2, T const & z2, T const & w2);
+
77  GLM_FUNC_DECL tmat3x4(
+
78  col_type const & v0,
+
79  col_type const & v1,
+
80  col_type const & v2);
+
81 
+
82  // -- Conversions --
+
83 
+
84  template<
+
85  typename X1, typename Y1, typename Z1, typename W1,
+
86  typename X2, typename Y2, typename Z2, typename W2,
+
87  typename X3, typename Y3, typename Z3, typename W3>
+
88  GLM_FUNC_DECL tmat3x4(
+
89  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
+
90  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
+
91  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3);
+
92 
+
93  template <typename V1, typename V2, typename V3>
+
94  GLM_FUNC_DECL tmat3x4(
+
95  tvec4<V1, P> const & v1,
+
96  tvec4<V2, P> const & v2,
+
97  tvec4<V3, P> const & v3);
+
98 
+
99  // -- Matrix conversions --
100 
-
101 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
102  template <typename U, precision Q>
-
103  GLM_FUNC_DECL explicit tmat4x2(tmat4x2<U, Q> const & m);
-
104 # else
-
105  template <typename U, precision Q>
-
106  GLM_FUNC_DECL tmat4x2(tmat4x2<U, Q> const & m);
-
107 # endif
-
108 
-
109  GLM_FUNC_DECL explicit tmat4x2(tmat2x2<T, P> const & x);
-
110  GLM_FUNC_DECL explicit tmat4x2(tmat3x3<T, P> const & x);
-
111  GLM_FUNC_DECL explicit tmat4x2(tmat4x4<T, P> const & x);
-
112  GLM_FUNC_DECL explicit tmat4x2(tmat2x3<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat4x2(tmat3x2<T, P> const & x);
-
114  GLM_FUNC_DECL explicit tmat4x2(tmat2x4<T, P> const & x);
-
115  GLM_FUNC_DECL explicit tmat4x2(tmat4x3<T, P> const & x);
-
116  GLM_FUNC_DECL explicit tmat4x2(tmat3x4<T, P> const & x);
-
117 
-
119  // Accesses
-
120 
-
121 # ifdef GLM_FORCE_SIZE_FUNC
-
122  typedef size_t size_type;
-
123  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
101  template <typename U, precision Q>
+
102  GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat3x4<U, Q> const & m);
+
103 
+
104  GLM_FUNC_DECL explicit tmat3x4(tmat2x2<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat3x4(tmat3x3<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat3x4(tmat4x4<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat3x4(tmat2x3<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat3x4(tmat3x2<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat3x4(tmat2x4<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat3x4(tmat4x2<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat3x4(tmat4x3<T, P> const & x);
+
112 
+
113  // -- Accesses --
+
114 
+
115 # ifdef GLM_FORCE_SIZE_FUNC
+
116  typedef size_t size_type;
+
117  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
118 
+
119  GLM_FUNC_DECL col_type & operator[](size_type i);
+
120  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
121 # else
+
122  typedef length_t length_type;
+
123  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
124 
-
125  GLM_FUNC_DECL col_type & operator[](size_type i);
-
126  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
127 # else
-
128  typedef length_t length_type;
-
129  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
125  GLM_FUNC_DECL col_type & operator[](length_type i);
+
126  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
+
127 # endif//GLM_FORCE_SIZE_FUNC
+
128 
+
129  // -- Unary arithmetic operators --
130 
-
131  GLM_FUNC_DECL col_type & operator[](length_type i);
-
132  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
-
133 # endif//GLM_FORCE_SIZE_FUNC
-
134 
-
136  // Unary arithmetic operators
-
137 
-
138  template <typename U>
-
139  GLM_FUNC_DECL tmat4x2<T, P>& operator=(tmat4x2<U, P> const & m);
-
140  template <typename U>
-
141  GLM_FUNC_DECL tmat4x2<T, P>& operator+=(U s);
-
142  template <typename U>
-
143  GLM_FUNC_DECL tmat4x2<T, P>& operator+=(tmat4x2<U, P> const & m);
-
144  template <typename U>
-
145  GLM_FUNC_DECL tmat4x2<T, P>& operator-=(U s);
-
146  template <typename U>
-
147  GLM_FUNC_DECL tmat4x2<T, P>& operator-=(tmat4x2<U, P> const & m);
-
148  template <typename U>
-
149  GLM_FUNC_DECL tmat4x2<T, P>& operator*=(U s);
-
150  template <typename U>
-
151  GLM_FUNC_DECL tmat4x2<T, P>& operator/=(U s);
-
152 
-
154  // Increment and decrement operators
+
131  GLM_FUNC_DECL tmat3x4<T, P> & operator=(tmat3x4<T, P> const & m) GLM_DEFAULT;
+
132 
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat3x4<T, P> & operator=(tmat3x4<U, P> const & m);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat3x4<T, P> & operator+=(U s);
+
137  template <typename U>
+
138  GLM_FUNC_DECL tmat3x4<T, P> & operator+=(tmat3x4<U, P> const & m);
+
139  template <typename U>
+
140  GLM_FUNC_DECL tmat3x4<T, P> & operator-=(U s);
+
141  template <typename U>
+
142  GLM_FUNC_DECL tmat3x4<T, P> & operator-=(tmat3x4<U, P> const & m);
+
143  template <typename U>
+
144  GLM_FUNC_DECL tmat3x4<T, P> & operator*=(U s);
+
145  template <typename U>
+
146  GLM_FUNC_DECL tmat3x4<T, P> & operator/=(U s);
+
147 
+
148  // -- Increment and decrement operators --
+
149 
+
150  GLM_FUNC_DECL tmat3x4<T, P> & operator++();
+
151  GLM_FUNC_DECL tmat3x4<T, P> & operator--();
+
152  GLM_FUNC_DECL tmat3x4<T, P> operator++(int);
+
153  GLM_FUNC_DECL tmat3x4<T, P> operator--(int);
+
154  };
155 
-
156  GLM_FUNC_DECL tmat4x2<T, P> & operator++ ();
-
157  GLM_FUNC_DECL tmat4x2<T, P> & operator-- ();
-
158  GLM_FUNC_DECL tmat4x2<T, P> operator++(int);
-
159  GLM_FUNC_DECL tmat4x2<T, P> operator--(int);
-
160  };
-
161 
-
162  // Binary operators
+
156  // -- Unary operators --
+
157 
+
158  template <typename T, precision P>
+
159  GLM_FUNC_DECL tmat3x4<T, P> const operator-(tmat3x4<T, P> const & m);
+
160 
+
161  // -- Binary operators --
+
162 
163  template <typename T, precision P>
-
164  GLM_FUNC_DECL tmat4x2<T, P> operator+(tmat4x2<T, P> const & m, T const & s);
+
164  GLM_FUNC_DECL tmat3x4<T, P> operator+(tmat3x4<T, P> const & m, T const & s);
165 
166  template <typename T, precision P>
-
167  GLM_FUNC_DECL tmat4x2<T, P> operator+(tmat4x2<T, P> const & m1, tmat4x2<T, P> const & m2);
+
167  GLM_FUNC_DECL tmat3x4<T, P> operator+(tmat3x4<T, P> const & m1, tmat3x4<T, P> const & m2);
168 
169  template <typename T, precision P>
-
170  GLM_FUNC_DECL tmat4x2<T, P> operator-(tmat4x2<T, P> const & m, T const & s);
+
170  GLM_FUNC_DECL tmat3x4<T, P> operator-(tmat3x4<T, P> const & m, T const & s);
171 
172  template <typename T, precision P>
-
173  GLM_FUNC_DECL tmat4x2<T, P> operator-(tmat4x2<T, P> const & m1, tmat4x2<T, P> const & m2);
+
173  GLM_FUNC_DECL tmat3x4<T, P> operator-(tmat3x4<T, P> const & m1, tmat3x4<T, P> const & m2);
174 
175  template <typename T, precision P>
-
176  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat4x2<T, P> const & m, T const & s);
+
176  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat3x4<T, P> const & m, T const & s);
177 
178  template <typename T, precision P>
-
179  GLM_FUNC_DECL tmat4x2<T, P> operator*(T const & s, tmat4x2<T, P> const & m);
+
179  GLM_FUNC_DECL tmat3x4<T, P> operator*(T const & s, tmat3x4<T, P> const & m);
180 
181  template <typename T, precision P>
-
182  GLM_FUNC_DECL typename tmat4x2<T, P>::col_type operator*(tmat4x2<T, P> const & m, typename tmat4x2<T, P>::row_type const & v);
+
182  GLM_FUNC_DECL typename tmat3x4<T, P>::col_type operator*(tmat3x4<T, P> const & m, typename tmat3x4<T, P>::row_type const & v);
183 
184  template <typename T, precision P>
-
185  GLM_FUNC_DECL typename tmat4x2<T, P>::row_type operator*(typename tmat4x2<T, P>::col_type const & v, tmat4x2<T, P> const & m);
+
185  GLM_FUNC_DECL typename tmat3x4<T, P>::row_type operator*(typename tmat3x4<T, P>::col_type const & v, tmat3x4<T, P> const & m);
186 
187  template <typename T, precision P>
-
188  GLM_FUNC_DECL tmat3x2<T, P> operator*(tmat4x2<T, P> const & m1, tmat3x4<T, P> const & m2);
-
189 
+
188  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat4x3<T, P> const & m2);
+
189 
190  template <typename T, precision P>
-
191  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat4x2<T, P> const & m1, tmat4x4<T, P> const & m2);
-
192 
+
191  GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat2x3<T, P> const & m2);
+
192 
193  template <typename T, precision P>
-
194  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat2x4<T, P> const & m2);
+
194  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat3x3<T, P> const & m2);
195 
196  template <typename T, precision P>
-
197  GLM_FUNC_DECL tmat4x2<T, P> operator/(tmat4x2<T, P> const & m, T const & s);
+
197  GLM_FUNC_DECL tmat3x4<T, P> operator/(tmat3x4<T, P> const & m, T const & s);
198 
199  template <typename T, precision P>
-
200  GLM_FUNC_DECL tmat4x2<T, P> operator/(T const & s, tmat4x2<T, P> const & m);
+
200  GLM_FUNC_DECL tmat3x4<T, P> operator/(T const & s, tmat3x4<T, P> const & m);
201 
-
202  // Unary constant operators
-
203  template <typename T, precision P>
-
204  GLM_FUNC_DECL tmat4x2<T, P> const operator-(tmat4x2<T, P> const & m);
-
205 }//namespace glm
+
202  // -- Boolean operators --
+
203 
+
204  template <typename T, precision P>
+
205  GLM_FUNC_DECL bool operator==(tmat3x4<T, P> const & m1, tmat3x4<T, P> const & m2);
206 
-
207 #ifndef GLM_EXTERNAL_TEMPLATE
-
208 #include "type_mat4x2.inl"
-
209 #endif
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+
207  template <typename T, precision P>
+
208  GLM_FUNC_DECL bool operator!=(tmat3x4<T, P> const & m1, tmat3x4<T, P> const & m2);
+
209 }//namespace glm
+
210 
+
211 #ifndef GLM_EXTERNAL_TEMPLATE
+
212 #include "type_mat3x4.inl"
+
213 #endif
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00127.html b/doc/api/a00127.html index 3841db68..40f4f05a 100644 --- a/doc/api/a00127.html +++ b/doc/api/a00127.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat4x3.hpp File Reference + +0.9.7: type_mat4x2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat4x3.hpp File Reference
+
type_mat4x2.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2006-08-04 / 2011-06-15
+

GLM Core

+
Date
2006-10-01 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat4x3.hpp.

+

Definition in file type_mat4x2.hpp.

diff --git a/doc/api/a00127_source.html b/doc/api/a00127_source.html index b038207d..d2d60074 100644 --- a/doc/api/a00127_source.html +++ b/doc/api/a00127_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat4x3.hpp Source File + +0.9.7: type_mat4x2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat4x3.hpp
+
type_mat4x2.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "../fwd.hpp"
-
36 #include "type_vec3.hpp"
-
37 #include "type_vec4.hpp"
-
38 #include "type_mat.hpp"
+
36 #include "type_vec2.hpp"
+
37 #include "type_vec4.hpp"
+
38 #include "type_mat.hpp"
39 #include <limits>
40 #include <cstddef>
41 
-
42 namespace glm
+
42 namespace glm
43 {
44  template <typename T, precision P = defaultp>
-
45  struct tmat4x3
+
45  struct tmat4x2
46  {
-
47  typedef tvec3<T, P> col_type;
+
47  typedef tvec2<T, P> col_type;
48  typedef tvec4<T, P> row_type;
-
49  typedef tmat4x3<T, P> type;
-
50  typedef tmat3x4<T, P> transpose_type;
+
49  typedef tmat4x2<T, P> type;
+
50  typedef tmat2x4<T, P> transpose_type;
51  typedef T value_type;
52 
-
53  private:
-
54  // Data
-
55  col_type value[4];
-
56 
-
57  public:
-
58  // Constructors
-
59  GLM_FUNC_DECL tmat4x3();
-
60  template <precision Q>
-
61  GLM_FUNC_DECL tmat4x3(tmat4x3<T, Q> const & m);
+
53 # ifdef GLM_META_PROG_HELPERS
+
54  static GLM_RELAXED_CONSTEXPR length_t components = 4;
+
55  static GLM_RELAXED_CONSTEXPR length_t cols = 4;
+
56  static GLM_RELAXED_CONSTEXPR length_t rows = 2;
+
57  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
58 # endif//GLM_META_PROG_HELPERS
+
59 
+
60  private:
+
61  col_type value[4];
62 
-
63  GLM_FUNC_DECL explicit tmat4x3(ctor);
-
64  GLM_FUNC_DECL explicit tmat4x3(T const & x);
-
65  GLM_FUNC_DECL tmat4x3(
-
66  T const & x0, T const & y0, T const & z0,
-
67  T const & x1, T const & y1, T const & z1,
-
68  T const & x2, T const & y2, T const & z2,
-
69  T const & x3, T const & y3, T const & z3);
-
70  GLM_FUNC_DECL tmat4x3(
-
71  col_type const & v0,
-
72  col_type const & v1,
-
73  col_type const & v2,
-
74  col_type const & v3);
-
75 
-
77  // Conversions
-
78 
-
79  template <
-
80  typename X1, typename Y1, typename Z1,
-
81  typename X2, typename Y2, typename Z2,
-
82  typename X3, typename Y3, typename Z3,
-
83  typename X4, typename Y4, typename Z4>
-
84  GLM_FUNC_DECL tmat4x3(
-
85  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
86  X2 const & x2, Y2 const & y2, Z2 const & z2,
-
87  X3 const & x3, Y3 const & y3, Z3 const & z3,
-
88  X4 const & x4, Y4 const & y4, Z4 const & z4);
-
89 
-
90  template <typename V1, typename V2, typename V3, typename V4>
-
91  GLM_FUNC_DECL tmat4x3(
-
92  tvec3<V1, P> const & v1,
-
93  tvec3<V2, P> const & v2,
-
94  tvec3<V3, P> const & v3,
-
95  tvec3<V4, P> const & v4);
+
63  public:
+
64  // -- Constructors --
+
65 
+
66  GLM_FUNC_DECL tmat4x2() GLM_DEFAULT_CTOR;
+
67  GLM_FUNC_DECL tmat4x2(tmat4x2<T, P> const & m) GLM_DEFAULT;
+
68  template <precision Q>
+
69  GLM_FUNC_DECL tmat4x2(tmat4x2<T, Q> const & m);
+
70 
+
71  GLM_FUNC_DECL explicit tmat4x2(ctor);
+
72  GLM_FUNC_DECL explicit tmat4x2(T const & x);
+
73  GLM_FUNC_DECL tmat4x2(
+
74  T const & x0, T const & y0,
+
75  T const & x1, T const & y1,
+
76  T const & x2, T const & y2,
+
77  T const & x3, T const & y3);
+
78  GLM_FUNC_DECL tmat4x2(
+
79  col_type const & v0,
+
80  col_type const & v1,
+
81  col_type const & v2,
+
82  col_type const & v3);
+
83 
+
84  // -- Conversions --
+
85 
+
86  template <
+
87  typename X1, typename Y1,
+
88  typename X2, typename Y2,
+
89  typename X3, typename Y3,
+
90  typename X4, typename Y4>
+
91  GLM_FUNC_DECL tmat4x2(
+
92  X1 const & x1, Y1 const & y1,
+
93  X2 const & x2, Y2 const & y2,
+
94  X3 const & x3, Y3 const & y3,
+
95  X4 const & x4, Y4 const & y4);
96 
-
98  // Matrix conversions
-
99 
-
100 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
101  template <typename U, precision Q>
-
102  GLM_FUNC_DECL explicit tmat4x3(tmat4x3<U, Q> const & m);
-
103 # else
-
104  template <typename U, precision Q>
-
105  GLM_FUNC_DECL tmat4x3(tmat4x3<U, Q> const & m);
-
106 # endif
-
107 
-
108  GLM_FUNC_DECL explicit tmat4x3(tmat2x2<T, P> const & x);
-
109  GLM_FUNC_DECL explicit tmat4x3(tmat3x3<T, P> const & x);
-
110  GLM_FUNC_DECL explicit tmat4x3(tmat4x4<T, P> const & x);
-
111  GLM_FUNC_DECL explicit tmat4x3(tmat2x3<T, P> const & x);
-
112  GLM_FUNC_DECL explicit tmat4x3(tmat3x2<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat4x3(tmat2x4<T, P> const & x);
-
114  GLM_FUNC_DECL explicit tmat4x3(tmat4x2<T, P> const & x);
-
115  GLM_FUNC_DECL explicit tmat4x3(tmat3x4<T, P> const & x);
-
116 
-
118  // Accesses
+
97  template <typename V1, typename V2, typename V3, typename V4>
+
98  GLM_FUNC_DECL tmat4x2(
+
99  tvec2<V1, P> const & v1,
+
100  tvec2<V2, P> const & v2,
+
101  tvec2<V3, P> const & v3,
+
102  tvec2<V4, P> const & v4);
+
103 
+
104  // -- Matrix conversions --
+
105 
+
106  template <typename U, precision Q>
+
107  GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat4x2<U, Q> const & m);
+
108 
+
109  GLM_FUNC_DECL explicit tmat4x2(tmat2x2<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat4x2(tmat3x3<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat4x2(tmat4x4<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat4x2(tmat2x3<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat4x2(tmat3x2<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat4x2(tmat2x4<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat4x2(tmat4x3<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat4x2(tmat3x4<T, P> const & x);
+
117 
+
118  // -- Accesses --
119 
120 # ifdef GLM_FORCE_SIZE_FUNC
121  typedef size_t size_type;
@@ -142,96 +145,108 @@
125  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
126 # else
127  typedef length_t length_type;
-
128  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
128  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
129 
130  GLM_FUNC_DECL col_type & operator[](length_type i);
131  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
132 # endif//GLM_FORCE_SIZE_FUNC
133 
-
135  // Unary arithmetic operators
-
136 
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat4x3<T, P> & operator=(tmat4x3<U, P> const & m);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat4x3<T, P> & operator+=(U s);
-
141  template <typename U>
-
142  GLM_FUNC_DECL tmat4x3<T, P> & operator+=(tmat4x3<U, P> const & m);
-
143  template <typename U>
-
144  GLM_FUNC_DECL tmat4x3<T, P> & operator-=(U s);
-
145  template <typename U>
-
146  GLM_FUNC_DECL tmat4x3<T, P> & operator-=(tmat4x3<U, P> const & m);
-
147  template <typename U>
-
148  GLM_FUNC_DECL tmat4x3<T, P> & operator*=(U s);
-
149  template <typename U>
-
150  GLM_FUNC_DECL tmat4x3<T, P> & operator/=(U s);
-
151 
-
153  // Increment and decrement operators
+
134  // -- Unary arithmetic operators --
+
135 
+
136  GLM_FUNC_DECL tmat4x2<T, P> & operator=(tmat4x2<T, P> const & m) GLM_DEFAULT;
+
137 
+
138  template <typename U>
+
139  GLM_FUNC_DECL tmat4x2<T, P> & operator=(tmat4x2<U, P> const & m);
+
140  template <typename U>
+
141  GLM_FUNC_DECL tmat4x2<T, P> & operator+=(U s);
+
142  template <typename U>
+
143  GLM_FUNC_DECL tmat4x2<T, P> & operator+=(tmat4x2<U, P> const & m);
+
144  template <typename U>
+
145  GLM_FUNC_DECL tmat4x2<T, P> & operator-=(U s);
+
146  template <typename U>
+
147  GLM_FUNC_DECL tmat4x2<T, P> & operator-=(tmat4x2<U, P> const & m);
+
148  template <typename U>
+
149  GLM_FUNC_DECL tmat4x2<T, P> & operator*=(U s);
+
150  template <typename U>
+
151  GLM_FUNC_DECL tmat4x2<T, P> & operator/=(U s);
+
152 
+
153  // -- Increment and decrement operators --
154 
-
155  GLM_FUNC_DECL tmat4x3<T, P> & operator++();
-
156  GLM_FUNC_DECL tmat4x3<T, P> & operator--();
-
157  GLM_FUNC_DECL tmat4x3<T, P> operator++(int);
-
158  GLM_FUNC_DECL tmat4x3<T, P> operator--(int);
+
155  GLM_FUNC_DECL tmat4x2<T, P> & operator++ ();
+
156  GLM_FUNC_DECL tmat4x2<T, P> & operator-- ();
+
157  GLM_FUNC_DECL tmat4x2<T, P> operator++(int);
+
158  GLM_FUNC_DECL tmat4x2<T, P> operator--(int);
159  };
160 
-
161  // Binary operators
-
162  template <typename T, precision P>
-
163  GLM_FUNC_DECL tmat4x3<T, P> operator+(tmat4x3<T, P> const & m, T const & s);
-
164 
-
165  template <typename T, precision P>
-
166  GLM_FUNC_DECL tmat4x3<T, P> operator+(tmat4x3<T, P> const & m1, tmat4x3<T, P> const & m2);
+
161  // -- Unary operators --
+
162 
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tmat4x2<T, P> const operator-(tmat4x2<T, P> const & m);
+
165 
+
166  // -- Binary operators --
167 
168  template <typename T, precision P>
-
169  GLM_FUNC_DECL tmat4x3<T, P> operator-(tmat4x3<T, P> const & m, T const & s);
+
169  GLM_FUNC_DECL tmat4x2<T, P> operator+(tmat4x2<T, P> const & m, T const & s);
170 
171  template <typename T, precision P>
-
172  GLM_FUNC_DECL tmat4x3<T, P> operator-(tmat4x3<T, P> const & m1, tmat4x3<T, P> const & m2);
+
172  GLM_FUNC_DECL tmat4x2<T, P> operator+(tmat4x2<T, P> const & m1, tmat4x2<T, P> const & m2);
173 
174  template <typename T, precision P>
-
175  GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat4x3<T, P> const & m, T const & s);
+
175  GLM_FUNC_DECL tmat4x2<T, P> operator-(tmat4x2<T, P> const & m, T const & s);
176 
177  template <typename T, precision P>
-
178  GLM_FUNC_DECL tmat4x3<T, P> operator*(T const & s, tmat4x3<T, P> const & m);
+
178  GLM_FUNC_DECL tmat4x2<T, P> operator-(tmat4x2<T, P> const & m1, tmat4x2<T, P> const & m2);
179 
180  template <typename T, precision P>
-
181  GLM_FUNC_DECL typename tmat4x3<T, P>::col_type operator*(tmat4x3<T, P> const & m, typename tmat4x3<T, P>::row_type const & v);
+
181  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat4x2<T, P> const & m, T const & s);
182 
183  template <typename T, precision P>
-
184  GLM_FUNC_DECL typename tmat4x3<T, P>::row_type operator*(typename tmat4x3<T, P>::col_type const & v, tmat4x3<T, P> const & m);
+
184  GLM_FUNC_DECL tmat4x2<T, P> operator*(T const & s, tmat4x2<T, P> const & m);
185 
186  template <typename T, precision P>
-
187  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat2x4<T, P> const & m2);
+
187  GLM_FUNC_DECL typename tmat4x2<T, P>::col_type operator*(tmat4x2<T, P> const & m, typename tmat4x2<T, P>::row_type const & v);
188 
189  template <typename T, precision P>
-
190  GLM_FUNC_DECL tmat3x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat3x4<T, P> const & m2);
-
191 
+
190  GLM_FUNC_DECL typename tmat4x2<T, P>::row_type operator*(typename tmat4x2<T, P>::col_type const & v, tmat4x2<T, P> const & m);
+
191 
192  template <typename T, precision P>
-
193  GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat4x4<T, P> const & m2);
+
193  GLM_FUNC_DECL tmat3x2<T, P> operator*(tmat4x2<T, P> const & m1, tmat3x4<T, P> const & m2);
194 
195  template <typename T, precision P>
-
196  GLM_FUNC_DECL tmat4x3<T, P> operator/(tmat4x3<T, P> const & m, T const & s);
+
196  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat4x2<T, P> const & m1, tmat4x4<T, P> const & m2);
197 
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL tmat4x3<T, P> operator/(T const & s, tmat4x3<T, P> const & m);
+
199  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat2x4<T, P> const & m2);
200 
-
201  // Unary constant operators
-
202  template <typename T, precision P>
-
203  GLM_FUNC_DECL tmat4x3<T, P> const operator-(tmat4x3<T, P> const & m);
-
204 }//namespace glm
-
205 
-
206 #ifndef GLM_EXTERNAL_TEMPLATE
-
207 #include "type_mat4x3.inl"
-
208 #endif //GLM_EXTERNAL_TEMPLATE
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
201  template <typename T, precision P>
+
202  GLM_FUNC_DECL tmat4x2<T, P> operator/(tmat4x2<T, P> const & m, T const & s);
+
203 
+
204  template <typename T, precision P>
+
205  GLM_FUNC_DECL tmat4x2<T, P> operator/(T const & s, tmat4x2<T, P> const & m);
+
206 
+
207  // -- Boolean operators --
+
208 
+
209  template <typename T, precision P>
+
210  GLM_FUNC_DECL bool operator==(tmat4x2<T, P> const & m1, tmat4x2<T, P> const & m2);
+
211 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL bool operator!=(tmat4x2<T, P> const & m1, tmat4x2<T, P> const & m2);
+
214 }//namespace glm
+
215 
+
216 #ifndef GLM_EXTERNAL_TEMPLATE
+
217 #include "type_mat4x2.inl"
+
218 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00128.html b/doc/api/a00128.html index 43ba0365..d21cc313 100644 --- a/doc/api/a00128.html +++ b/doc/api/a00128.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat4x4.hpp File Reference + +0.9.7: type_mat4x3.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat4x4.hpp File Reference
+
type_mat4x3.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2005-01-27 / 2011-06-15
+

GLM Core

+
Date
2006-08-04 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_mat4x4.hpp.

+

Definition in file type_mat4x3.hpp.

diff --git a/doc/api/a00128_source.html b/doc/api/a00128_source.html index ed7b02a1..52d8417a 100644 --- a/doc/api/a00128_source.html +++ b/doc/api/a00128_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_mat4x4.hpp Source File + +0.9.7: type_mat4x3.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_mat4x4.hpp
+
type_mat4x3.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include "../fwd.hpp"
-
36 #include "type_vec4.hpp"
-
37 #include "type_mat.hpp"
-
38 #include <limits>
-
39 #include <cstddef>
-
40 
-
41 namespace glm
-
42 {
-
43  template <typename T, precision P = defaultp>
-
44  struct tmat4x4
-
45  {
-
46  typedef tvec4<T, P> col_type;
-
47  typedef tvec4<T, P> row_type;
-
48  typedef tmat4x4<T, P> type;
-
49  typedef tmat4x4<T, P> transpose_type;
-
50  typedef T value_type;
-
51 
-
52  template <typename U, precision Q>
-
53  friend tvec4<U, Q> operator/(tmat4x4<U, Q> const & m, tvec4<U, Q> const & v);
-
54  template <typename U, precision Q>
-
55  friend tvec4<U, Q> operator/(tvec4<U, Q> const & v, tmat4x4<U, Q> const & m);
-
56 
-
57  private:
-
59  col_type value[4];
-
61 
-
62  public:
-
63  // Constructors
-
64  GLM_FUNC_DECL tmat4x4();
-
65  template <precision Q>
-
66  GLM_FUNC_DECL tmat4x4(tmat4x4<T, Q> const & m);
-
67 
-
68  GLM_FUNC_DECL explicit tmat4x4(ctor);
-
69  GLM_FUNC_DECL explicit tmat4x4(T const & x);
-
70  GLM_FUNC_DECL tmat4x4(
-
71  T const & x0, T const & y0, T const & z0, T const & w0,
-
72  T const & x1, T const & y1, T const & z1, T const & w1,
-
73  T const & x2, T const & y2, T const & z2, T const & w2,
-
74  T const & x3, T const & y3, T const & z3, T const & w3);
-
75  GLM_FUNC_DECL tmat4x4(
-
76  col_type const & v0,
-
77  col_type const & v1,
-
78  col_type const & v2,
-
79  col_type const & v3);
-
80 
-
82  // Conversions
+
36 #include "type_vec3.hpp"
+
37 #include "type_vec4.hpp"
+
38 #include "type_mat.hpp"
+
39 #include <limits>
+
40 #include <cstddef>
+
41 
+
42 namespace glm
+
43 {
+
44  template <typename T, precision P = defaultp>
+
45  struct tmat4x3
+
46  {
+
47  typedef tvec3<T, P> col_type;
+
48  typedef tvec4<T, P> row_type;
+
49  typedef tmat4x3<T, P> type;
+
50  typedef tmat3x4<T, P> transpose_type;
+
51  typedef T value_type;
+
52 
+
53 # ifdef GLM_META_PROG_HELPERS
+
54  static GLM_RELAXED_CONSTEXPR length_t components = 4;
+
55  static GLM_RELAXED_CONSTEXPR length_t cols = 4;
+
56  static GLM_RELAXED_CONSTEXPR length_t rows = 3;
+
57  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
58 # endif//GLM_META_PROG_HELPERS
+
59 
+
60  private:
+
61  col_type value[4];
+
62 
+
63  public:
+
64  // -- Constructors --
+
65 
+
66  GLM_FUNC_DECL tmat4x3() GLM_DEFAULT_CTOR;
+
67  GLM_FUNC_DECL tmat4x3(tmat4x3<T, P> const & m) GLM_DEFAULT;
+
68  template <precision Q>
+
69  GLM_FUNC_DECL tmat4x3(tmat4x3<T, Q> const & m);
+
70 
+
71  GLM_FUNC_DECL explicit tmat4x3(ctor);
+
72  GLM_FUNC_DECL explicit tmat4x3(T const & x);
+
73  GLM_FUNC_DECL tmat4x3(
+
74  T const & x0, T const & y0, T const & z0,
+
75  T const & x1, T const & y1, T const & z1,
+
76  T const & x2, T const & y2, T const & z2,
+
77  T const & x3, T const & y3, T const & z3);
+
78  GLM_FUNC_DECL tmat4x3(
+
79  col_type const & v0,
+
80  col_type const & v1,
+
81  col_type const & v2,
+
82  col_type const & v3);
83 
-
84  template <
-
85  typename X1, typename Y1, typename Z1, typename W1,
-
86  typename X2, typename Y2, typename Z2, typename W2,
-
87  typename X3, typename Y3, typename Z3, typename W3,
-
88  typename X4, typename Y4, typename Z4, typename W4>
-
89  GLM_FUNC_DECL tmat4x4(
-
90  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
-
91  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
-
92  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3,
-
93  X4 const & x4, Y4 const & y4, Z4 const & z4, W4 const & w4);
-
94 
-
95  template <typename V1, typename V2, typename V3, typename V4>
-
96  GLM_FUNC_DECL tmat4x4(
-
97  tvec4<V1, P> const & v1,
-
98  tvec4<V2, P> const & v2,
-
99  tvec4<V3, P> const & v3,
-
100  tvec4<V4, P> const & v4);
-
101 
-
103  // Matrix conversions
-
104 
-
105 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
106  template <typename U, precision Q>
-
107  GLM_FUNC_DECL explicit tmat4x4(tmat4x4<U, Q> const & m);
-
108 # else
-
109  template <typename U, precision Q>
-
110  GLM_FUNC_DECL tmat4x4(tmat4x4<U, Q> const & m);
-
111 # endif
-
112 
-
113  GLM_FUNC_DECL explicit tmat4x4(tmat2x2<T, P> const & x);
-
114  GLM_FUNC_DECL explicit tmat4x4(tmat3x3<T, P> const & x);
-
115  GLM_FUNC_DECL explicit tmat4x4(tmat2x3<T, P> const & x);
-
116  GLM_FUNC_DECL explicit tmat4x4(tmat3x2<T, P> const & x);
-
117  GLM_FUNC_DECL explicit tmat4x4(tmat2x4<T, P> const & x);
-
118  GLM_FUNC_DECL explicit tmat4x4(tmat4x2<T, P> const & x);
-
119  GLM_FUNC_DECL explicit tmat4x4(tmat3x4<T, P> const & x);
-
120  GLM_FUNC_DECL explicit tmat4x4(tmat4x3<T, P> const & x);
-
121 
-
123  // Accesses
-
124 
-
125 # ifdef GLM_FORCE_SIZE_FUNC
-
126  typedef size_t size_type;
-
127  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
-
128 
-
129  GLM_FUNC_DECL col_type & operator[](size_type i);
-
130  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
131 # else
-
132  typedef length_t length_type;
-
133  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
134 
-
135  GLM_FUNC_DECL col_type & operator[](length_type i);
-
136  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
-
137 # endif//GLM_FORCE_SIZE_FUNC
-
138 
-
140  // Unary arithmetic operators
-
141 
+
84  // -- Conversions --
+
85 
+
86  template <
+
87  typename X1, typename Y1, typename Z1,
+
88  typename X2, typename Y2, typename Z2,
+
89  typename X3, typename Y3, typename Z3,
+
90  typename X4, typename Y4, typename Z4>
+
91  GLM_FUNC_DECL tmat4x3(
+
92  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
93  X2 const & x2, Y2 const & y2, Z2 const & z2,
+
94  X3 const & x3, Y3 const & y3, Z3 const & z3,
+
95  X4 const & x4, Y4 const & y4, Z4 const & z4);
+
96 
+
97  template <typename V1, typename V2, typename V3, typename V4>
+
98  GLM_FUNC_DECL tmat4x3(
+
99  tvec3<V1, P> const & v1,
+
100  tvec3<V2, P> const & v2,
+
101  tvec3<V3, P> const & v3,
+
102  tvec3<V4, P> const & v4);
+
103 
+
104  // -- Matrix conversions --
+
105 
+
106  template <typename U, precision Q>
+
107  GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat4x3<U, Q> const & m);
+
108 
+
109  GLM_FUNC_DECL explicit tmat4x3(tmat2x2<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat4x3(tmat3x3<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat4x3(tmat4x4<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat4x3(tmat2x3<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat4x3(tmat3x2<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat4x3(tmat2x4<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat4x3(tmat4x2<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat4x3(tmat3x4<T, P> const & x);
+
117 
+
118  // -- Accesses --
+
119 
+
120 # ifdef GLM_FORCE_SIZE_FUNC
+
121  typedef size_t size_type;
+
122  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
123 
+
124  GLM_FUNC_DECL col_type & operator[](size_type i);
+
125  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
126 # else
+
127  typedef length_t length_type;
+
128  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
129 
+
130  GLM_FUNC_DECL col_type & operator[](length_type i);
+
131  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
+
132 # endif//GLM_FORCE_SIZE_FUNC
+
133 
+
134  // -- Unary arithmetic operators --
+
135 
+
136  GLM_FUNC_DECL tmat4x3<T, P> & operator=(tmat4x3<T, P> const & m) GLM_DEFAULT;
+
137 
+
138  template <typename U>
+
139  GLM_FUNC_DECL tmat4x3<T, P> & operator=(tmat4x3<U, P> const & m);
+
140  template <typename U>
+
141  GLM_FUNC_DECL tmat4x3<T, P> & operator+=(U s);
142  template <typename U>
-
143  GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<U, P> const & m);
+
143  GLM_FUNC_DECL tmat4x3<T, P> & operator+=(tmat4x3<U, P> const & m);
144  template <typename U>
-
145  GLM_FUNC_DECL tmat4x4<T, P> & operator+=(U s);
+
145  GLM_FUNC_DECL tmat4x3<T, P> & operator-=(U s);
146  template <typename U>
-
147  GLM_FUNC_DECL tmat4x4<T, P> & operator+=(tmat4x4<U, P> const & m);
+
147  GLM_FUNC_DECL tmat4x3<T, P> & operator-=(tmat4x3<U, P> const & m);
148  template <typename U>
-
149  GLM_FUNC_DECL tmat4x4<T, P> & operator-=(U s);
+
149  GLM_FUNC_DECL tmat4x3<T, P> & operator*=(U s);
150  template <typename U>
-
151  GLM_FUNC_DECL tmat4x4<T, P> & operator-=(tmat4x4<U, P> const & m);
-
152  template <typename U>
-
153  GLM_FUNC_DECL tmat4x4<T, P> & operator*=(U s);
-
154  template <typename U>
-
155  GLM_FUNC_DECL tmat4x4<T, P> & operator*=(tmat4x4<U, P> const & m);
-
156  template <typename U>
-
157  GLM_FUNC_DECL tmat4x4<T, P> & operator/=(U s);
-
158  template <typename U>
-
159  GLM_FUNC_DECL tmat4x4<T, P> & operator/=(tmat4x4<U, P> const & m);
+
151  GLM_FUNC_DECL tmat4x3<T, P> & operator/=(U s);
+
152 
+
153  // -- Increment and decrement operators --
+
154 
+
155  GLM_FUNC_DECL tmat4x3<T, P> & operator++();
+
156  GLM_FUNC_DECL tmat4x3<T, P> & operator--();
+
157  GLM_FUNC_DECL tmat4x3<T, P> operator++(int);
+
158  GLM_FUNC_DECL tmat4x3<T, P> operator--(int);
+
159  };
160 
-
162  // Increment and decrement operators
-
163 
-
164  GLM_FUNC_DECL tmat4x4<T, P> & operator++();
-
165  GLM_FUNC_DECL tmat4x4<T, P> & operator--();
-
166  GLM_FUNC_DECL tmat4x4<T, P> operator++(int);
-
167  GLM_FUNC_DECL tmat4x4<T, P> operator--(int);
-
168  };
-
169 
-
170  // Binary operators
+
161  // -- Unary operators --
+
162 
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tmat4x3<T, P> const operator-(tmat4x3<T, P> const & m);
+
165 
+
166  // -- Binary operators --
+
167 
+
168  template <typename T, precision P>
+
169  GLM_FUNC_DECL tmat4x3<T, P> operator+(tmat4x3<T, P> const & m, T const & s);
+
170 
171  template <typename T, precision P>
-
172  GLM_FUNC_DECL tmat4x4<T, P> operator+(tmat4x4<T, P> const & m, T const & s);
+
172  GLM_FUNC_DECL tmat4x3<T, P> operator+(tmat4x3<T, P> const & m1, tmat4x3<T, P> const & m2);
173 
174  template <typename T, precision P>
-
175  GLM_FUNC_DECL tmat4x4<T, P> operator+(T const & s, tmat4x4<T, P> const & m);
+
175  GLM_FUNC_DECL tmat4x3<T, P> operator-(tmat4x3<T, P> const & m, T const & s);
176 
-
177  template <typename T, precision P>
-
178  GLM_FUNC_DECL tmat4x4<T, P> operator+(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
177  template <typename T, precision P>
+
178  GLM_FUNC_DECL tmat4x3<T, P> operator-(tmat4x3<T, P> const & m1, tmat4x3<T, P> const & m2);
179 
-
180  template <typename T, precision P>
-
181  GLM_FUNC_DECL tmat4x4<T, P> operator-(tmat4x4<T, P> const & m, T const & s);
+
180  template <typename T, precision P>
+
181  GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat4x3<T, P> const & m, T const & s);
182 
-
183  template <typename T, precision P>
-
184  GLM_FUNC_DECL tmat4x4<T, P> operator-(T const & s, tmat4x4<T, P> const & m);
+
183  template <typename T, precision P>
+
184  GLM_FUNC_DECL tmat4x3<T, P> operator*(T const & s, tmat4x3<T, P> const & m);
185 
186  template <typename T, precision P>
-
187  GLM_FUNC_DECL tmat4x4<T, P> operator-(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
187  GLM_FUNC_DECL typename tmat4x3<T, P>::col_type operator*(tmat4x3<T, P> const & m, typename tmat4x3<T, P>::row_type const & v);
188 
189  template <typename T, precision P>
-
190  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat4x4<T, P> const & m, T const & s);
+
190  GLM_FUNC_DECL typename tmat4x3<T, P>::row_type operator*(typename tmat4x3<T, P>::col_type const & v, tmat4x3<T, P> const & m);
191 
192  template <typename T, precision P>
-
193  GLM_FUNC_DECL tmat4x4<T, P> operator*(T const & s, tmat4x4<T, P> const & m);
+
193  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat2x4<T, P> const & m2);
194 
195  template <typename T, precision P>
-
196  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator*(tmat4x4<T, P> const & m, typename tmat4x4<T, P>::row_type const & v);
+
196  GLM_FUNC_DECL tmat3x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat3x4<T, P> const & m2);
197 
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator*(typename tmat4x4<T, P>::col_type const & v, tmat4x4<T, P> const & m);
+
199  GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat4x4<T, P> const & m2);
200 
201  template <typename T, precision P>
-
202  GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat2x4<T, P> const & m2);
+
202  GLM_FUNC_DECL tmat4x3<T, P> operator/(tmat4x3<T, P> const & m, T const & s);
203 
204  template <typename T, precision P>
-
205  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat3x4<T, P> const & m2);
+
205  GLM_FUNC_DECL tmat4x3<T, P> operator/(T const & s, tmat4x3<T, P> const & m);
206 
-
207  template <typename T, precision P>
-
208  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
-
209 
-
210  template <typename T, precision P>
-
211  GLM_FUNC_DECL tmat4x4<T, P> operator/(tmat4x4<T, P> const & m, T const & s);
-
212 
-
213  template <typename T, precision P>
-
214  GLM_FUNC_DECL tmat4x4<T, P> operator/(T const & s, tmat4x4<T, P> const & m);
+
207  // -- Boolean operators --
+
208 
+
209  template <typename T, precision P>
+
210  GLM_FUNC_DECL bool operator==(tmat4x3<T, P> const & m1, tmat4x3<T, P> const & m2);
+
211 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL bool operator!=(tmat4x3<T, P> const & m1, tmat4x3<T, P> const & m2);
+
214 }//namespace glm
215 
-
216  template <typename T, precision P>
-
217  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator/(tmat4x4<T, P> const & m, typename tmat4x4<T, P>::row_type const & v);
-
218 
-
219  template <typename T, precision P>
-
220  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator/(typename tmat4x4<T, P>::col_type & v, tmat4x4<T, P> const & m);
-
221 
-
222  template <typename T, precision P>
-
223  GLM_FUNC_DECL tmat4x4<T, P> operator/(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
-
224 
-
225  // Unary constant operators
-
226  template <typename T, precision P>
-
227  GLM_FUNC_DECL tmat4x4<T, P> const operator-(tmat4x4<T, P> const & m);
-
228 }//namespace glm
-
229 
-
230 #ifndef GLM_EXTERNAL_TEMPLATE
-
231 #include "type_mat4x4.inl"
-
232 #endif//GLM_EXTERNAL_TEMPLATE
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
216 #ifndef GLM_EXTERNAL_TEMPLATE
+
217 #include "type_mat4x3.inl"
+
218 #endif //GLM_EXTERNAL_TEMPLATE
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00129.html b/doc/api/a00129.html index 6278de5d..102ec7c5 100644 --- a/doc/api/a00129.html +++ b/doc/api/a00129.html @@ -3,8 +3,8 @@ - -0.9.6: type_precision.hpp File Reference + +0.9.7: type_mat4x4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_precision.hpp File Reference
+
type_mat4x4.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_type_precision

-
Date
2009-06-04 / 2011-12-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-gtc_half_float (dependence)
-
-GLM_GTC_quaternion (dependence)
+

GLM Core

+
Date
2005-01-27 / 2011-06-15
+
Author
Christophe Riccio
-

Definition in file type_precision.hpp.

+

Definition in file type_mat4x4.hpp.

diff --git a/doc/api/a00129_source.html b/doc/api/a00129_source.html index b920c2d6..e30da426 100644 --- a/doc/api/a00129_source.html +++ b/doc/api/a00129_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_precision.hpp Source File + +0.9.7: type_mat4x4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_precision.hpp
+
type_mat4x4.hpp
Go to the documentation of this file.
1 
-
47 #pragma once
-
48 
-
49 // Dependency:
-
50 #include "../gtc/quaternion.hpp"
-
51 #include "../gtc/vec1.hpp"
-
52 #include "../vec2.hpp"
-
53 #include "../vec3.hpp"
-
54 #include "../vec4.hpp"
-
55 #include "../mat2x2.hpp"
-
56 #include "../mat2x3.hpp"
-
57 #include "../mat2x4.hpp"
-
58 #include "../mat3x2.hpp"
-
59 #include "../mat3x3.hpp"
-
60 #include "../mat3x4.hpp"
-
61 #include "../mat4x2.hpp"
-
62 #include "../mat4x3.hpp"
-
63 #include "../mat4x4.hpp"
-
64 
-
65 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
66 # pragma message("GLM: GLM_GTC_type_precision extension included")
-
67 #endif
-
68 
-
69 namespace glm
-
70 {
-
72  // Signed int vector types
-
73 
-
76 
-
79  typedef detail::int8 lowp_int8;
-
80 
-
83  typedef detail::int16 lowp_int16;
-
84 
-
87  typedef detail::int32 lowp_int32;
-
88 
-
91  typedef detail::int64 lowp_int64;
-
92 
-
95  typedef detail::int8 lowp_int8_t;
-
96 
-
99  typedef detail::int16 lowp_int16_t;
+
33 #pragma once
+
34 
+
35 #include "../fwd.hpp"
+
36 #include "type_vec4.hpp"
+
37 #include "type_mat.hpp"
+
38 #include <limits>
+
39 #include <cstddef>
+
40 
+
41 namespace glm
+
42 {
+
43  template <typename T, precision P = defaultp>
+
44  struct tmat4x4
+
45  {
+
46  typedef tvec4<T, P> col_type;
+
47  typedef tvec4<T, P> row_type;
+
48  typedef tmat4x4<T, P> type;
+
49  typedef tmat4x4<T, P> transpose_type;
+
50  typedef T value_type;
+
51 
+
52 # ifdef GLM_META_PROG_HELPERS
+
53  static GLM_RELAXED_CONSTEXPR length_t components = 4;
+
54  static GLM_RELAXED_CONSTEXPR length_t cols = 4;
+
55  static GLM_RELAXED_CONSTEXPR length_t rows = 4;
+
56  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
57 # endif//GLM_META_PROG_HELPERS
+
58 
+
59  template <typename U, precision Q>
+
60  friend tvec4<U, Q> operator/(tmat4x4<U, Q> const & m, tvec4<U, Q> const & v);
+
61  template <typename U, precision Q>
+
62  friend tvec4<U, Q> operator/(tvec4<U, Q> const & v, tmat4x4<U, Q> const & m);
+
63 
+
64  private:
+
65  col_type value[4];
+
66 
+
67  public:
+
68  // -- Constructors --
+
69 
+
70  GLM_FUNC_DECL tmat4x4() GLM_DEFAULT_CTOR;
+
71  GLM_FUNC_DECL tmat4x4(tmat4x4<T, P> const & m) GLM_DEFAULT;
+
72  template <precision Q>
+
73  GLM_FUNC_DECL tmat4x4(tmat4x4<T, Q> const & m);
+
74 
+
75  GLM_FUNC_DECL explicit tmat4x4(ctor);
+
76  GLM_FUNC_DECL explicit tmat4x4(T const & x);
+
77  GLM_FUNC_DECL tmat4x4(
+
78  T const & x0, T const & y0, T const & z0, T const & w0,
+
79  T const & x1, T const & y1, T const & z1, T const & w1,
+
80  T const & x2, T const & y2, T const & z2, T const & w2,
+
81  T const & x3, T const & y3, T const & z3, T const & w3);
+
82  GLM_FUNC_DECL tmat4x4(
+
83  col_type const & v0,
+
84  col_type const & v1,
+
85  col_type const & v2,
+
86  col_type const & v3);
+
87 
+
88  // -- Conversions --
+
89 
+
90  template <
+
91  typename X1, typename Y1, typename Z1, typename W1,
+
92  typename X2, typename Y2, typename Z2, typename W2,
+
93  typename X3, typename Y3, typename Z3, typename W3,
+
94  typename X4, typename Y4, typename Z4, typename W4>
+
95  GLM_FUNC_DECL tmat4x4(
+
96  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
+
97  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
+
98  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3,
+
99  X4 const & x4, Y4 const & y4, Z4 const & z4, W4 const & w4);
100 
-
103  typedef detail::int32 lowp_int32_t;
-
104 
-
107  typedef detail::int64 lowp_int64_t;
-
108 
-
111  typedef detail::int8 lowp_i8;
-
112 
-
115  typedef detail::int16 lowp_i16;
-
116 
-
119  typedef detail::int32 lowp_i32;
-
120 
-
123  typedef detail::int64 lowp_i64;
-
124 
-
127  typedef detail::int8 mediump_int8;
-
128 
-
131  typedef detail::int16 mediump_int16;
-
132 
-
135  typedef detail::int32 mediump_int32;
-
136 
-
139  typedef detail::int64 mediump_int64;
-
140 
-
143  typedef detail::int8 mediump_int8_t;
-
144 
-
147  typedef detail::int16 mediump_int16_t;
-
148 
-
151  typedef detail::int32 mediump_int32_t;
-
152 
-
155  typedef detail::int64 mediump_int64_t;
-
156 
-
159  typedef detail::int8 mediump_i8;
-
160 
-
163  typedef detail::int16 mediump_i16;
-
164 
-
167  typedef detail::int32 mediump_i32;
+
101  template <typename V1, typename V2, typename V3, typename V4>
+
102  GLM_FUNC_DECL tmat4x4(
+
103  tvec4<V1, P> const & v1,
+
104  tvec4<V2, P> const & v2,
+
105  tvec4<V3, P> const & v3,
+
106  tvec4<V4, P> const & v4);
+
107 
+
108  // -- Matrix conversions --
+
109 
+
110  template <typename U, precision Q>
+
111  GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat4x4<U, Q> const & m);
+
112 
+
113  GLM_FUNC_DECL explicit tmat4x4(tmat2x2<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat4x4(tmat3x3<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat4x4(tmat2x3<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat4x4(tmat3x2<T, P> const & x);
+
117  GLM_FUNC_DECL explicit tmat4x4(tmat2x4<T, P> const & x);
+
118  GLM_FUNC_DECL explicit tmat4x4(tmat4x2<T, P> const & x);
+
119  GLM_FUNC_DECL explicit tmat4x4(tmat3x4<T, P> const & x);
+
120  GLM_FUNC_DECL explicit tmat4x4(tmat4x3<T, P> const & x);
+
121 
+
122  // -- Accesses --
+
123 
+
124 # ifdef GLM_FORCE_SIZE_FUNC
+
125  typedef size_t size_type;
+
126  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
127 
+
128  GLM_FUNC_DECL col_type & operator[](size_type i);
+
129  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
130 # else
+
131  typedef length_t length_type;
+
132  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
133 
+
134  GLM_FUNC_DECL col_type & operator[](length_type i);
+
135  GLM_FUNC_DECL col_type const & operator[](length_type i) const;
+
136 # endif//GLM_FORCE_SIZE_FUNC
+
137 
+
138  // -- Unary arithmetic operators --
+
139 
+
140  GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<T, P> const & m) GLM_DEFAULT;
+
141 
+
142  template <typename U>
+
143  GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<U, P> const & m);
+
144  template <typename U>
+
145  GLM_FUNC_DECL tmat4x4<T, P> & operator+=(U s);
+
146  template <typename U>
+
147  GLM_FUNC_DECL tmat4x4<T, P> & operator+=(tmat4x4<U, P> const & m);
+
148  template <typename U>
+
149  GLM_FUNC_DECL tmat4x4<T, P> & operator-=(U s);
+
150  template <typename U>
+
151  GLM_FUNC_DECL tmat4x4<T, P> & operator-=(tmat4x4<U, P> const & m);
+
152  template <typename U>
+
153  GLM_FUNC_DECL tmat4x4<T, P> & operator*=(U s);
+
154  template <typename U>
+
155  GLM_FUNC_DECL tmat4x4<T, P> & operator*=(tmat4x4<U, P> const & m);
+
156  template <typename U>
+
157  GLM_FUNC_DECL tmat4x4<T, P> & operator/=(U s);
+
158  template <typename U>
+
159  GLM_FUNC_DECL tmat4x4<T, P> & operator/=(tmat4x4<U, P> const & m);
+
160 
+
161  // -- Increment and decrement operators --
+
162 
+
163  GLM_FUNC_DECL tmat4x4<T, P> & operator++();
+
164  GLM_FUNC_DECL tmat4x4<T, P> & operator--();
+
165  GLM_FUNC_DECL tmat4x4<T, P> operator++(int);
+
166  GLM_FUNC_DECL tmat4x4<T, P> operator--(int);
+
167  };
168 
-
171  typedef detail::int64 mediump_i64;
-
172 
-
175  typedef detail::int8 highp_int8;
-
176 
-
179  typedef detail::int16 highp_int16;
-
180 
-
183  typedef detail::int32 highp_int32;
+
169  // -- Unary operators --
+
170 
+
171  template <typename T, precision P>
+
172  GLM_FUNC_DECL tmat4x4<T, P> const operator-(tmat4x4<T, P> const & m);
+
173 
+
174  // -- Binary operators --
+
175 
+
176  template <typename T, precision P>
+
177  GLM_FUNC_DECL tmat4x4<T, P> operator+(tmat4x4<T, P> const & m, T const & s);
+
178 
+
179  template <typename T, precision P>
+
180  GLM_FUNC_DECL tmat4x4<T, P> operator+(T const & s, tmat4x4<T, P> const & m);
+
181 
+
182  template <typename T, precision P>
+
183  GLM_FUNC_DECL tmat4x4<T, P> operator+(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
184 
-
187  typedef detail::int64 highp_int64;
-
188 
-
191  typedef detail::int8 highp_int8_t;
-
192 
-
195  typedef detail::int16 highp_int16_t;
+
185  template <typename T, precision P>
+
186  GLM_FUNC_DECL tmat4x4<T, P> operator-(tmat4x4<T, P> const & m, T const & s);
+
187 
+
188  template <typename T, precision P>
+
189  GLM_FUNC_DECL tmat4x4<T, P> operator-(T const & s, tmat4x4<T, P> const & m);
+
190 
+
191  template <typename T, precision P>
+
192  GLM_FUNC_DECL tmat4x4<T, P> operator-(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
193 
+
194  template <typename T, precision P>
+
195  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat4x4<T, P> const & m, T const & s);
196 
-
199  typedef detail::int32 highp_int32_t;
-
200 
-
203  typedef detail::int64 highp_int64_t;
-
204 
-
207  typedef detail::int8 highp_i8;
-
208 
-
211  typedef detail::int16 highp_i16;
-
212 
-
215  typedef detail::int32 highp_i32;
-
216 
-
219  typedef detail::int64 highp_i64;
-
220 
-
221 
-
224  typedef detail::int8 int8;
-
225 
-
228  typedef detail::int16 int16;
+
197  template <typename T, precision P>
+
198  GLM_FUNC_DECL tmat4x4<T, P> operator*(T const & s, tmat4x4<T, P> const & m);
+
199 
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator*(tmat4x4<T, P> const & m, typename tmat4x4<T, P>::row_type const & v);
+
202 
+
203  template <typename T, precision P>
+
204  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator*(typename tmat4x4<T, P>::col_type const & v, tmat4x4<T, P> const & m);
+
205 
+
206  template <typename T, precision P>
+
207  GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat2x4<T, P> const & m2);
+
208 
+
209  template <typename T, precision P>
+
210  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat3x4<T, P> const & m2);
+
211 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
214 
+
215  template <typename T, precision P>
+
216  GLM_FUNC_DECL tmat4x4<T, P> operator/(tmat4x4<T, P> const & m, T const & s);
+
217 
+
218  template <typename T, precision P>
+
219  GLM_FUNC_DECL tmat4x4<T, P> operator/(T const & s, tmat4x4<T, P> const & m);
+
220 
+
221  template <typename T, precision P>
+
222  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator/(tmat4x4<T, P> const & m, typename tmat4x4<T, P>::row_type const & v);
+
223 
+
224  template <typename T, precision P>
+
225  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator/(typename tmat4x4<T, P>::col_type & v, tmat4x4<T, P> const & m);
+
226 
+
227  template <typename T, precision P>
+
228  GLM_FUNC_DECL tmat4x4<T, P> operator/(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
229 
-
232  typedef detail::int32 int32;
-
233 
-
236  typedef detail::int64 int64;
-
237 
-
238 #if GLM_HAS_EXTENDED_INTEGER_TYPE
-
239  using std::int8_t;
-
240  using std::int16_t;
-
241  using std::int32_t;
-
242  using std::int64_t;
-
243 #else
-
244  typedef detail::int8 int8_t;
-
247 
-
250  typedef detail::int16 int16_t;
-
251 
-
254  typedef detail::int32 int32_t;
-
255 
-
258  typedef detail::int64 int64_t;
-
259 #endif
-
260 
-
263  typedef detail::int8 i8;
-
264 
-
267  typedef detail::int16 i16;
-
268 
-
271  typedef detail::int32 i32;
-
272 
-
275  typedef detail::int64 i64;
-
276 
-
277 
-
280  typedef tvec1<i8, defaultp> i8vec1;
-
281 
-
284  typedef tvec2<i8, defaultp> i8vec2;
-
285 
-
288  typedef tvec3<i8, defaultp> i8vec3;
-
289 
-
292  typedef tvec4<i8, defaultp> i8vec4;
-
293 
-
294 
-
297  typedef tvec1<i16, defaultp> i16vec1;
-
298 
-
301  typedef tvec2<i16, defaultp> i16vec2;
-
302 
-
305  typedef tvec3<i16, defaultp> i16vec3;
-
306 
-
309  typedef tvec4<i16, defaultp> i16vec4;
-
310 
-
311 
-
314  typedef tvec1<i32, defaultp> i32vec1;
-
315 
-
318  typedef tvec2<i32, defaultp> i32vec2;
-
319 
-
322  typedef tvec3<i32, defaultp> i32vec3;
-
323 
-
326  typedef tvec4<i32, defaultp> i32vec4;
-
327 
-
328 
-
331  typedef tvec1<i64, defaultp> i64vec1;
-
332 
-
335  typedef tvec2<i64, defaultp> i64vec2;
-
336 
-
339  typedef tvec3<i64, defaultp> i64vec3;
-
340 
-
343  typedef tvec4<i64, defaultp> i64vec4;
-
344 
-
345 
-
347  // Unsigned int vector types
-
348 
-
351  typedef detail::uint8 lowp_uint8;
-
352 
-
355  typedef detail::uint16 lowp_uint16;
-
356 
-
359  typedef detail::uint32 lowp_uint32;
-
360 
-
363  typedef detail::uint64 lowp_uint64;
-
364 
-
367  typedef detail::uint8 lowp_uint8_t;
-
368 
-
371  typedef detail::uint16 lowp_uint16_t;
-
372 
-
375  typedef detail::uint32 lowp_uint32_t;
-
376 
-
379  typedef detail::uint64 lowp_uint64_t;
-
380 
-
383  typedef detail::uint8 lowp_u8;
-
384 
-
387  typedef detail::uint16 lowp_u16;
-
388 
-
391  typedef detail::uint32 lowp_u32;
-
392 
-
395  typedef detail::uint64 lowp_u64;
-
396 
-
399  typedef detail::uint8 mediump_uint8;
-
400 
-
403  typedef detail::uint16 mediump_uint16;
-
404 
-
407  typedef detail::uint32 mediump_uint32;
-
408 
-
411  typedef detail::uint64 mediump_uint64;
-
412 
-
415  typedef detail::uint8 mediump_uint8_t;
-
416 
-
419  typedef detail::uint16 mediump_uint16_t;
-
420 
-
423  typedef detail::uint32 mediump_uint32_t;
-
424 
-
427  typedef detail::uint64 mediump_uint64_t;
-
428 
-
431  typedef detail::uint8 mediump_u8;
-
432 
-
435  typedef detail::uint16 mediump_u16;
-
436 
-
439  typedef detail::uint32 mediump_u32;
-
440 
-
443  typedef detail::uint64 mediump_u64;
-
444 
-
447  typedef detail::uint8 highp_uint8;
-
448 
-
451  typedef detail::uint16 highp_uint16;
-
452 
-
455  typedef detail::uint32 highp_uint32;
-
456 
-
459  typedef detail::uint64 highp_uint64;
-
460 
-
463  typedef detail::uint8 highp_uint8_t;
-
464 
-
467  typedef detail::uint16 highp_uint16_t;
-
468 
-
471  typedef detail::uint32 highp_uint32_t;
-
472 
-
475  typedef detail::uint64 highp_uint64_t;
-
476 
-
479  typedef detail::uint8 highp_u8;
-
480 
-
483  typedef detail::uint16 highp_u16;
-
484 
-
487  typedef detail::uint32 highp_u32;
-
488 
-
491  typedef detail::uint64 highp_u64;
-
492 
-
495  typedef detail::uint8 uint8;
-
496 
-
499  typedef detail::uint16 uint16;
-
500 
-
503  typedef detail::uint32 uint32;
-
504 
-
507  typedef detail::uint64 uint64;
-
508 
-
509 #if GLM_HAS_EXTENDED_INTEGER_TYPE
-
510  using std::uint8_t;
-
511  using std::uint16_t;
-
512  using std::uint32_t;
-
513  using std::uint64_t;
-
514 #else
-
515  typedef detail::uint8 uint8_t;
-
518 
-
521  typedef detail::uint16 uint16_t;
-
522 
-
525  typedef detail::uint32 uint32_t;
-
526 
-
529  typedef detail::uint64 uint64_t;
-
530 #endif
-
531 
-
534  typedef detail::uint8 u8;
-
535 
-
538  typedef detail::uint16 u16;
-
539 
-
542  typedef detail::uint32 u32;
-
543 
-
546  typedef detail::uint64 u64;
-
547 
-
548 
-
549 
-
552  typedef tvec1<u8, defaultp> u8vec1;
-
553 
-
556  typedef tvec2<u8, defaultp> u8vec2;
-
557 
-
560  typedef tvec3<u8, defaultp> u8vec3;
-
561 
-
564  typedef tvec4<u8, defaultp> u8vec4;
-
565 
-
566 
-
569  typedef tvec1<u16, defaultp> u16vec1;
-
570 
-
573  typedef tvec2<u16, defaultp> u16vec2;
-
574 
-
577  typedef tvec3<u16, defaultp> u16vec3;
-
578 
-
581  typedef tvec4<u16, defaultp> u16vec4;
-
582 
-
583 
-
586  typedef tvec1<u32, defaultp> u32vec1;
-
587 
-
590  typedef tvec2<u32, defaultp> u32vec2;
-
591 
-
594  typedef tvec3<u32, defaultp> u32vec3;
-
595 
-
598  typedef tvec4<u32, defaultp> u32vec4;
-
599 
-
600 
-
603  typedef tvec1<u64, defaultp> u64vec1;
-
604 
-
607  typedef tvec2<u64, defaultp> u64vec2;
-
608 
-
611  typedef tvec3<u64, defaultp> u64vec3;
-
612 
-
615  typedef tvec4<u64, defaultp> u64vec4;
-
616 
-
617 
-
619  // Float vector types
-
620 
-
623  typedef detail::float32 float32;
-
624 
-
627  typedef detail::float64 float64;
-
628 
-
629 
-
632  typedef detail::float32 float32_t;
-
633 
-
636  typedef detail::float64 float64_t;
-
637 
-
638 
-
641  typedef float32 f32;
-
642 
-
645  typedef float64 f64;
-
646 
-
647 
-
650  typedef tvec1<float, defaultp> fvec1;
-
651 
-
654  typedef tvec2<float, defaultp> fvec2;
-
655 
-
658  typedef tvec3<float, defaultp> fvec3;
-
659 
-
662  typedef tvec4<float, defaultp> fvec4;
-
663 
-
664 
-
667  typedef tvec1<f32, defaultp> f32vec1;
-
668 
-
671  typedef tvec2<f32, defaultp> f32vec2;
-
672 
-
675  typedef tvec3<f32, defaultp> f32vec3;
-
676 
-
679  typedef tvec4<f32, defaultp> f32vec4;
-
680 
-
681 
-
684  typedef tvec1<f64, defaultp> f64vec1;
-
685 
-
688  typedef tvec2<f64, defaultp> f64vec2;
-
689 
-
692  typedef tvec3<f64, defaultp> f64vec3;
-
693 
-
696  typedef tvec4<f64, defaultp> f64vec4;
-
697 
-
698 
-
700  // Float matrix types
-
701 
-
704  //typedef detail::tmat1x1<f32> fmat1;
-
705 
-
708  typedef tmat2x2<f32, defaultp> fmat2;
-
709 
-
712  typedef tmat3x3<f32, defaultp> fmat3;
-
713 
-
716  typedef tmat4x4<f32, defaultp> fmat4;
-
717 
-
718 
-
721  //typedef f32 fmat1x1;
-
722 
-
725  typedef tmat2x2<f32, defaultp> fmat2x2;
-
726 
-
729  typedef tmat2x3<f32, defaultp> fmat2x3;
-
730 
-
733  typedef tmat2x4<f32, defaultp> fmat2x4;
-
734 
-
737  typedef tmat3x2<f32, defaultp> fmat3x2;
-
738 
-
741  typedef tmat3x3<f32, defaultp> fmat3x3;
-
742 
-
745  typedef tmat3x4<f32, defaultp> fmat3x4;
-
746 
-
749  typedef tmat4x2<f32, defaultp> fmat4x2;
-
750 
-
753  typedef tmat4x3<f32, defaultp> fmat4x3;
-
754 
-
757  typedef tmat4x4<f32, defaultp> fmat4x4;
-
758 
-
759 
-
762  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
-
763 
-
766  typedef tmat2x2<f32, defaultp> f32mat2;
-
767 
-
770  typedef tmat3x3<f32, defaultp> f32mat3;
-
771 
-
774  typedef tmat4x4<f32, defaultp> f32mat4;
-
775 
-
776 
-
779  //typedef f32 f32mat1x1;
-
780 
-
783  typedef tmat2x2<f32, defaultp> f32mat2x2;
-
784 
-
787  typedef tmat2x3<f32, defaultp> f32mat2x3;
-
788 
-
791  typedef tmat2x4<f32, defaultp> f32mat2x4;
-
792 
-
795  typedef tmat3x2<f32, defaultp> f32mat3x2;
-
796 
-
799  typedef tmat3x3<f32, defaultp> f32mat3x3;
-
800 
-
803  typedef tmat3x4<f32, defaultp> f32mat3x4;
-
804 
-
807  typedef tmat4x2<f32, defaultp> f32mat4x2;
-
808 
-
811  typedef tmat4x3<f32, defaultp> f32mat4x3;
-
812 
-
815  typedef tmat4x4<f32, defaultp> f32mat4x4;
-
816 
-
817 
-
820  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
-
821 
-
824  typedef tmat2x2<f64, defaultp> f64mat2;
-
825 
-
828  typedef tmat3x3<f64, defaultp> f64mat3;
-
829 
-
832  typedef tmat4x4<f64, defaultp> f64mat4;
-
833 
-
834 
-
837  //typedef f64 f64mat1x1;
-
838 
-
841  typedef tmat2x2<f64, defaultp> f64mat2x2;
-
842 
-
845  typedef tmat2x3<f64, defaultp> f64mat2x3;
-
846 
-
849  typedef tmat2x4<f64, defaultp> f64mat2x4;
-
850 
-
853  typedef tmat3x2<f64, defaultp> f64mat3x2;
-
854 
-
857  typedef tmat3x3<f64, defaultp> f64mat3x3;
-
858 
-
861  typedef tmat3x4<f64, defaultp> f64mat3x4;
-
862 
-
865  typedef tmat4x2<f64, defaultp> f64mat4x2;
-
866 
-
869  typedef tmat4x3<f64, defaultp> f64mat4x3;
-
870 
-
873  typedef tmat4x4<f64, defaultp> f64mat4x4;
-
874 
-
875 
-
877  // Quaternion types
-
878 
-
881  typedef tquat<f32, defaultp> f32quat;
-
882 
-
885  typedef tquat<f64, defaultp> f64quat;
-
886 
-
888 }//namespace glm
-
889 
-
890 #include "type_precision.inl"
-
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:228
-
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:747
-
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:488
-
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2433
-
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:752
-
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:264
-
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2465
-
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:921
-
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2469
-
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1085
-
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2359
-
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:873
-
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:555
-
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:184
-
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1533
-
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:777
-
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1327
-
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:480
-
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:917
-
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:308
-
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1089
-
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2477
-
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:567
-
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2387
-
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:799
-
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1323
-
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:176
-
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:252
-
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:144
-
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:152
-
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:140
-
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:769
-
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:807
-
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2457
-
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:926
-
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:913
-
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:853
-
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2575
-
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:563
-
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2407
-
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1005
-
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:164
-
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:260
-
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2461
-
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:168
-
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:272
-
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2367
-
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1176
-
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:304
-
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:484
-
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:232
-
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:132
-
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:136
-
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2539
-
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:329
-
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:208
-
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2559
-
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:795
-
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2485
-
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:819
-
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:938
-
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1331
-
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2599
-
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2449
-
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:881
-
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:240
-
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:827
-
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:180
-
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2415
-
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2481
-
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:811
-
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:787
-
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2437
-
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2473
-
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2453
-
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2547
-
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:803
-
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:930
-
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:934
-
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2399
-
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2411
-
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2591
-
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:212
-
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2567
-
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:200
-
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:791
-
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:268
-
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:718
-
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:400
-
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1529
-
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:735
-
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1013
-
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:877
-
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2391
-
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:408
-
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1541
-
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1335
-
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:845
-
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:815
-
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2555
-
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1093
-
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:869
-
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:156
-
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:196
-
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:714
-
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:396
-
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:861
-
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2363
-
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1537
-
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:148
-
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2441
-
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2489
-
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:192
-
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:831
-
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2375
-
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:722
-
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:764
-
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1164
-
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:312
-
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:325
-
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:760
-
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2445
-
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2493
-
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:321
-
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1017
-
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:726
-
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:256
-
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:841
-
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2587
-
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:160
-
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:248
-
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:220
-
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:837
-
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:244
-
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:300
-
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1172
-
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:476
-
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:781
-
Definition: _noise.hpp:39
-
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2429
-
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2403
-
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:224
-
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2583
-
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:756
-
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2595
-
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2563
-
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2571
-
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:773
-
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2419
-
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:849
-
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:739
-
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:317
-
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2543
-
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1097
-
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2395
-
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2371
-
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:236
-
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1009
-
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:188
-
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:204
-
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:172
-
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:909
-
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:404
-
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:865
-
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:743
-
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2551
-
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:823
-
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:857
-
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2379
-
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2579
-
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2383
-
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2535
-
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:559
-
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:216
-
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1168
+
230  // -- Boolean operators --
+
231 
+
232  template <typename T, precision P>
+
233  GLM_FUNC_DECL bool operator==(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
234 
+
235  template <typename T, precision P>
+
236  GLM_FUNC_DECL bool operator!=(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
237 }//namespace glm
+
238 
+
239 #ifndef GLM_EXTERNAL_TEMPLATE
+
240 #include "type_mat4x4.inl"
+
241 #endif//GLM_EXTERNAL_TEMPLATE
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00130.html b/doc/api/a00130.html index d0a9008e..0a611953 100644 --- a/doc/api/a00130.html +++ b/doc/api/a00130.html @@ -3,8 +3,8 @@ - -0.9.6: type_ptr.hpp File Reference + +0.9.7: type_precision.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
type_ptr.hpp File Reference
+
type_precision.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
GLM_FUNC_DECL tmat2x2< T,
-defaultp > 
make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T,
-defaultp > 
make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x3< T,
-defaultp > 
make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x4< T,
-defaultp > 
make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T,
-defaultp > 
make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x2< T,
-defaultp > 
make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T,
-defaultp > 
make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x4< T,
-defaultp > 
make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x2< T,
-defaultp > 
make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x3< T,
-defaultp > 
make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tquat< T, defaultp > make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec4< T, defaultp > make_vec4 (T const *const ptr)
 
template<typename genType >
GLM_FUNC_DECL
-genType::value_type const * 
value_ptr (genType const &vec)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_type_ptr

-
Date
2009-05-06 / 2011-06-05
+

GLM_GTC_type_precision

+
Date
2009-06-04 / 2011-12-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
gtc_half_float (dependence)
-GLM_GTC_quaternion (dependence)
+GLM_GTC_quaternion (dependence)
-

Definition in file type_ptr.hpp.

+

Definition in file type_precision.hpp.

diff --git a/doc/api/a00130_source.html b/doc/api/a00130_source.html index bb10fc60..7317c72c 100644 --- a/doc/api/a00130_source.html +++ b/doc/api/a00130_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_ptr.hpp Source File + +0.9.7: type_precision.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_ptr.hpp
+
type_precision.hpp
Go to the documentation of this file.
1 
-
63 #pragma once
+
47 #pragma once
+
48 
+
49 // Dependency:
+
50 #include "../gtc/quaternion.hpp"
+
51 #include "../gtc/vec1.hpp"
+
52 #include "../vec2.hpp"
+
53 #include "../vec3.hpp"
+
54 #include "../vec4.hpp"
+
55 #include "../mat2x2.hpp"
+
56 #include "../mat2x3.hpp"
+
57 #include "../mat2x4.hpp"
+
58 #include "../mat3x2.hpp"
+
59 #include "../mat3x3.hpp"
+
60 #include "../mat3x4.hpp"
+
61 #include "../mat4x2.hpp"
+
62 #include "../mat4x3.hpp"
+
63 #include "../mat4x4.hpp"
64 
-
65 // Dependency:
-
66 #include "../gtc/quaternion.hpp"
-
67 #include "../vec2.hpp"
-
68 #include "../vec3.hpp"
-
69 #include "../vec4.hpp"
-
70 #include "../mat2x2.hpp"
-
71 #include "../mat2x3.hpp"
-
72 #include "../mat2x4.hpp"
-
73 #include "../mat3x2.hpp"
-
74 #include "../mat3x3.hpp"
-
75 #include "../mat3x4.hpp"
-
76 #include "../mat4x2.hpp"
-
77 #include "../mat4x3.hpp"
-
78 #include "../mat4x4.hpp"
-
79 #include <cstring>
-
80 
-
81 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
82 # pragma message("GLM: GLM_GTC_type_ptr extension included")
-
83 #endif
+
65 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
66 # pragma message("GLM: GLM_GTC_type_precision extension included")
+
67 #endif
+
68 
+
69 namespace glm
+
70 {
+
72  // Signed int vector types
+
73 
+
76 
+
79  typedef detail::int8 lowp_int8;
+
80 
+
83  typedef detail::int16 lowp_int16;
84 
-
85 namespace glm
-
86 {
-
89 
-
92  template<typename genType>
-
93  GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const & vec);
-
94 
-
97  template<typename T>
-
98  GLM_FUNC_DECL tvec2<T, defaultp> make_vec2(T const * const ptr);
-
99 
-
102  template<typename T>
-
103  GLM_FUNC_DECL tvec3<T, defaultp> make_vec3(T const * const ptr);
+
87  typedef detail::int32 lowp_int32;
+
88 
+
91  typedef detail::int64 lowp_int64;
+
92 
+
95  typedef detail::int8 lowp_int8_t;
+
96 
+
99  typedef detail::int16 lowp_int16_t;
+
100 
+
103  typedef detail::int32 lowp_int32_t;
104 
-
107  template<typename T>
-
108  GLM_FUNC_DECL tvec4<T, defaultp> make_vec4(T const * const ptr);
-
109 
-
112  template<typename T>
-
113  GLM_FUNC_DECL tmat2x2<T, defaultp> make_mat2x2(T const * const ptr);
-
114 
-
117  template<typename T>
-
118  GLM_FUNC_DECL tmat2x3<T, defaultp> make_mat2x3(T const * const ptr);
-
119 
-
122  template<typename T>
-
123  GLM_FUNC_DECL tmat2x4<T, defaultp> make_mat2x4(T const * const ptr);
+
107  typedef detail::int64 lowp_int64_t;
+
108 
+
111  typedef detail::int8 lowp_i8;
+
112 
+
115  typedef detail::int16 lowp_i16;
+
116 
+
119  typedef detail::int32 lowp_i32;
+
120 
+
123  typedef detail::int64 lowp_i64;
124 
-
127  template<typename T>
-
128  GLM_FUNC_DECL tmat3x2<T, defaultp> make_mat3x2(T const * const ptr);
-
129 
-
132  template<typename T>
-
133  GLM_FUNC_DECL tmat3x3<T, defaultp> make_mat3x3(T const * const ptr);
-
134 
-
137  template<typename T>
-
138  GLM_FUNC_DECL tmat3x4<T, defaultp> make_mat3x4(T const * const ptr);
-
139 
-
142  template<typename T>
-
143  GLM_FUNC_DECL tmat4x2<T, defaultp> make_mat4x2(T const * const ptr);
-
144 
-
147  template<typename T>
-
148  GLM_FUNC_DECL tmat4x3<T, defaultp> make_mat4x3(T const * const ptr);
-
149 
-
152  template<typename T>
-
153  GLM_FUNC_DECL tmat4x4<T, defaultp> make_mat4x4(T const * const ptr);
-
154 
-
157  template<typename T>
-
158  GLM_FUNC_DECL tmat2x2<T, defaultp> make_mat2(T const * const ptr);
-
159 
-
162  template<typename T>
-
163  GLM_FUNC_DECL tmat3x3<T, defaultp> make_mat3(T const * const ptr);
-
164 
-
167  template<typename T>
-
168  GLM_FUNC_DECL tmat4x4<T, defaultp> make_mat4(T const * const ptr);
-
169 
-
172  template<typename T>
-
173  GLM_FUNC_DECL tquat<T, defaultp> make_quat(T const * const ptr);
-
174 
-
176 }//namespace glm
-
177 
-
178 #include "type_ptr.inl"
-
GLM_FUNC_DECL tmat2x3< T, defaultp > make_mat2x3(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tmat2x2< T, defaultp > make_mat2x2(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tmat3x3< T, defaultp > make_mat3x3(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tvec3< T, defaultp > make_vec3(T const *const ptr)
Build a vector from a pointer.
-
GLM_FUNC_DECL tmat4x3< T, defaultp > make_mat4x3(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4x4(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tmat3x2< T, defaultp > make_mat3x2(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tmat3x4< T, defaultp > make_mat3x4(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tquat< T, defaultp > make_quat(T const *const ptr)
Build a quaternion from a pointer.
-
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tvec4< T, defaultp > make_vec4(T const *const ptr)
Build a vector from a pointer.
-
GLM_FUNC_DECL tmat2x4< T, defaultp > make_mat2x4(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tmat2x2< T, defaultp > make_mat2(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL genType::value_type const * value_ptr(genType const &vec)
Return the constant address to the data of the input parameter.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL tmat4x2< T, defaultp > make_mat4x2(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL tvec2< T, defaultp > make_vec2(T const *const ptr)
Build a vector from a pointer.
-
GLM_FUNC_DECL tmat3x3< T, defaultp > make_mat3(T const *const ptr)
Build a matrix from a pointer.
+
127  typedef detail::int8 mediump_int8;
+
128 
+
131  typedef detail::int16 mediump_int16;
+
132 
+
135  typedef detail::int32 mediump_int32;
+
136 
+
139  typedef detail::int64 mediump_int64;
+
140 
+
143  typedef detail::int8 mediump_int8_t;
+
144 
+
147  typedef detail::int16 mediump_int16_t;
+
148 
+
151  typedef detail::int32 mediump_int32_t;
+
152 
+
155  typedef detail::int64 mediump_int64_t;
+
156 
+
159  typedef detail::int8 mediump_i8;
+
160 
+
163  typedef detail::int16 mediump_i16;
+
164 
+
167  typedef detail::int32 mediump_i32;
+
168 
+
171  typedef detail::int64 mediump_i64;
+
172 
+
175  typedef detail::int8 highp_int8;
+
176 
+
179  typedef detail::int16 highp_int16;
+
180 
+
183  typedef detail::int32 highp_int32;
+
184 
+
187  typedef detail::int64 highp_int64;
+
188 
+
191  typedef detail::int8 highp_int8_t;
+
192 
+
195  typedef detail::int16 highp_int16_t;
+
196 
+
199  typedef detail::int32 highp_int32_t;
+
200 
+
203  typedef detail::int64 highp_int64_t;
+
204 
+
207  typedef detail::int8 highp_i8;
+
208 
+
211  typedef detail::int16 highp_i16;
+
212 
+
215  typedef detail::int32 highp_i32;
+
216 
+
219  typedef detail::int64 highp_i64;
+
220 
+
221 
+
224  typedef detail::int8 int8;
+
225 
+
228  typedef detail::int16 int16;
+
229 
+
232  typedef detail::int32 int32;
+
233 
+
236  typedef detail::int64 int64;
+
237 
+
238 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
239  using std::int8_t;
+
240  using std::int16_t;
+
241  using std::int32_t;
+
242  using std::int64_t;
+
243 #else
+
244  typedef detail::int8 int8_t;
+
247 
+
250  typedef detail::int16 int16_t;
+
251 
+
254  typedef detail::int32 int32_t;
+
255 
+
258  typedef detail::int64 int64_t;
+
259 #endif
+
260 
+
263  typedef detail::int8 i8;
+
264 
+
267  typedef detail::int16 i16;
+
268 
+
271  typedef detail::int32 i32;
+
272 
+
275  typedef detail::int64 i64;
+
276 
+
277 
+
280  typedef tvec1<i8, defaultp> i8vec1;
+
281 
+
284  typedef tvec2<i8, defaultp> i8vec2;
+
285 
+
288  typedef tvec3<i8, defaultp> i8vec3;
+
289 
+
292  typedef tvec4<i8, defaultp> i8vec4;
+
293 
+
294 
+
297  typedef tvec1<i16, defaultp> i16vec1;
+
298 
+
301  typedef tvec2<i16, defaultp> i16vec2;
+
302 
+
305  typedef tvec3<i16, defaultp> i16vec3;
+
306 
+
309  typedef tvec4<i16, defaultp> i16vec4;
+
310 
+
311 
+
314  typedef tvec1<i32, defaultp> i32vec1;
+
315 
+
318  typedef tvec2<i32, defaultp> i32vec2;
+
319 
+
322  typedef tvec3<i32, defaultp> i32vec3;
+
323 
+
326  typedef tvec4<i32, defaultp> i32vec4;
+
327 
+
328 
+
331  typedef tvec1<i64, defaultp> i64vec1;
+
332 
+
335  typedef tvec2<i64, defaultp> i64vec2;
+
336 
+
339  typedef tvec3<i64, defaultp> i64vec3;
+
340 
+
343  typedef tvec4<i64, defaultp> i64vec4;
+
344 
+
345 
+
347  // Unsigned int vector types
+
348 
+
351  typedef detail::uint8 lowp_uint8;
+
352 
+
355  typedef detail::uint16 lowp_uint16;
+
356 
+
359  typedef detail::uint32 lowp_uint32;
+
360 
+
363  typedef detail::uint64 lowp_uint64;
+
364 
+
367  typedef detail::uint8 lowp_uint8_t;
+
368 
+
371  typedef detail::uint16 lowp_uint16_t;
+
372 
+
375  typedef detail::uint32 lowp_uint32_t;
+
376 
+
379  typedef detail::uint64 lowp_uint64_t;
+
380 
+
383  typedef detail::uint8 lowp_u8;
+
384 
+
387  typedef detail::uint16 lowp_u16;
+
388 
+
391  typedef detail::uint32 lowp_u32;
+
392 
+
395  typedef detail::uint64 lowp_u64;
+
396 
+
399  typedef detail::uint8 mediump_uint8;
+
400 
+
403  typedef detail::uint16 mediump_uint16;
+
404 
+
407  typedef detail::uint32 mediump_uint32;
+
408 
+
411  typedef detail::uint64 mediump_uint64;
+
412 
+
415  typedef detail::uint8 mediump_uint8_t;
+
416 
+
419  typedef detail::uint16 mediump_uint16_t;
+
420 
+
423  typedef detail::uint32 mediump_uint32_t;
+
424 
+
427  typedef detail::uint64 mediump_uint64_t;
+
428 
+
431  typedef detail::uint8 mediump_u8;
+
432 
+
435  typedef detail::uint16 mediump_u16;
+
436 
+
439  typedef detail::uint32 mediump_u32;
+
440 
+
443  typedef detail::uint64 mediump_u64;
+
444 
+
447  typedef detail::uint8 highp_uint8;
+
448 
+
451  typedef detail::uint16 highp_uint16;
+
452 
+
455  typedef detail::uint32 highp_uint32;
+
456 
+
459  typedef detail::uint64 highp_uint64;
+
460 
+
463  typedef detail::uint8 highp_uint8_t;
+
464 
+
467  typedef detail::uint16 highp_uint16_t;
+
468 
+
471  typedef detail::uint32 highp_uint32_t;
+
472 
+
475  typedef detail::uint64 highp_uint64_t;
+
476 
+
479  typedef detail::uint8 highp_u8;
+
480 
+
483  typedef detail::uint16 highp_u16;
+
484 
+
487  typedef detail::uint32 highp_u32;
+
488 
+
491  typedef detail::uint64 highp_u64;
+
492 
+
495  typedef detail::uint8 uint8;
+
496 
+
499  typedef detail::uint16 uint16;
+
500 
+
503  typedef detail::uint32 uint32;
+
504 
+
507  typedef detail::uint64 uint64;
+
508 
+
509 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
510  using std::uint8_t;
+
511  using std::uint16_t;
+
512  using std::uint32_t;
+
513  using std::uint64_t;
+
514 #else
+
515  typedef detail::uint8 uint8_t;
+
518 
+
521  typedef detail::uint16 uint16_t;
+
522 
+
525  typedef detail::uint32 uint32_t;
+
526 
+
529  typedef detail::uint64 uint64_t;
+
530 #endif
+
531 
+
534  typedef detail::uint8 u8;
+
535 
+
538  typedef detail::uint16 u16;
+
539 
+
542  typedef detail::uint32 u32;
+
543 
+
546  typedef detail::uint64 u64;
+
547 
+
548 
+
549 
+
552  typedef tvec1<u8, defaultp> u8vec1;
+
553 
+
556  typedef tvec2<u8, defaultp> u8vec2;
+
557 
+
560  typedef tvec3<u8, defaultp> u8vec3;
+
561 
+
564  typedef tvec4<u8, defaultp> u8vec4;
+
565 
+
566 
+
569  typedef tvec1<u16, defaultp> u16vec1;
+
570 
+
573  typedef tvec2<u16, defaultp> u16vec2;
+
574 
+
577  typedef tvec3<u16, defaultp> u16vec3;
+
578 
+
581  typedef tvec4<u16, defaultp> u16vec4;
+
582 
+
583 
+
586  typedef tvec1<u32, defaultp> u32vec1;
+
587 
+
590  typedef tvec2<u32, defaultp> u32vec2;
+
591 
+
594  typedef tvec3<u32, defaultp> u32vec3;
+
595 
+
598  typedef tvec4<u32, defaultp> u32vec4;
+
599 
+
600 
+
603  typedef tvec1<u64, defaultp> u64vec1;
+
604 
+
607  typedef tvec2<u64, defaultp> u64vec2;
+
608 
+
611  typedef tvec3<u64, defaultp> u64vec3;
+
612 
+
615  typedef tvec4<u64, defaultp> u64vec4;
+
616 
+
617 
+
619  // Float vector types
+
620 
+
623  typedef detail::float32 float32;
+
624 
+
627  typedef detail::float64 float64;
+
628 
+
629 
+
632  typedef detail::float32 float32_t;
+
633 
+
636  typedef detail::float64 float64_t;
+
637 
+
638 
+
641  typedef float32 f32;
+
642 
+
645  typedef float64 f64;
+
646 
+
647 
+
650  typedef tvec1<float, defaultp> fvec1;
+
651 
+
654  typedef tvec2<float, defaultp> fvec2;
+
655 
+
658  typedef tvec3<float, defaultp> fvec3;
+
659 
+
662  typedef tvec4<float, defaultp> fvec4;
+
663 
+
664 
+
667  typedef tvec1<f32, defaultp> f32vec1;
+
668 
+
671  typedef tvec2<f32, defaultp> f32vec2;
+
672 
+
675  typedef tvec3<f32, defaultp> f32vec3;
+
676 
+
679  typedef tvec4<f32, defaultp> f32vec4;
+
680 
+
681 
+
684  typedef tvec1<f64, defaultp> f64vec1;
+
685 
+
688  typedef tvec2<f64, defaultp> f64vec2;
+
689 
+
692  typedef tvec3<f64, defaultp> f64vec3;
+
693 
+
696  typedef tvec4<f64, defaultp> f64vec4;
+
697 
+
698 
+
700  // Float matrix types
+
701 
+
704  //typedef detail::tmat1x1<f32> fmat1;
+
705 
+
708  typedef tmat2x2<f32, defaultp> fmat2;
+
709 
+
712  typedef tmat3x3<f32, defaultp> fmat3;
+
713 
+
716  typedef tmat4x4<f32, defaultp> fmat4;
+
717 
+
718 
+
721  //typedef f32 fmat1x1;
+
722 
+
725  typedef tmat2x2<f32, defaultp> fmat2x2;
+
726 
+
729  typedef tmat2x3<f32, defaultp> fmat2x3;
+
730 
+
733  typedef tmat2x4<f32, defaultp> fmat2x4;
+
734 
+
737  typedef tmat3x2<f32, defaultp> fmat3x2;
+
738 
+
741  typedef tmat3x3<f32, defaultp> fmat3x3;
+
742 
+
745  typedef tmat3x4<f32, defaultp> fmat3x4;
+
746 
+
749  typedef tmat4x2<f32, defaultp> fmat4x2;
+
750 
+
753  typedef tmat4x3<f32, defaultp> fmat4x3;
+
754 
+
757  typedef tmat4x4<f32, defaultp> fmat4x4;
+
758 
+
759 
+
762  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
+
763 
+
766  typedef tmat2x2<f32, defaultp> f32mat2;
+
767 
+
770  typedef tmat3x3<f32, defaultp> f32mat3;
+
771 
+
774  typedef tmat4x4<f32, defaultp> f32mat4;
+
775 
+
776 
+
779  //typedef f32 f32mat1x1;
+
780 
+
783  typedef tmat2x2<f32, defaultp> f32mat2x2;
+
784 
+
787  typedef tmat2x3<f32, defaultp> f32mat2x3;
+
788 
+
791  typedef tmat2x4<f32, defaultp> f32mat2x4;
+
792 
+
795  typedef tmat3x2<f32, defaultp> f32mat3x2;
+
796 
+
799  typedef tmat3x3<f32, defaultp> f32mat3x3;
+
800 
+
803  typedef tmat3x4<f32, defaultp> f32mat3x4;
+
804 
+
807  typedef tmat4x2<f32, defaultp> f32mat4x2;
+
808 
+
811  typedef tmat4x3<f32, defaultp> f32mat4x3;
+
812 
+
815  typedef tmat4x4<f32, defaultp> f32mat4x4;
+
816 
+
817 
+
820  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
+
821 
+
824  typedef tmat2x2<f64, defaultp> f64mat2;
+
825 
+
828  typedef tmat3x3<f64, defaultp> f64mat3;
+
829 
+
832  typedef tmat4x4<f64, defaultp> f64mat4;
+
833 
+
834 
+
837  //typedef f64 f64mat1x1;
+
838 
+
841  typedef tmat2x2<f64, defaultp> f64mat2x2;
+
842 
+
845  typedef tmat2x3<f64, defaultp> f64mat2x3;
+
846 
+
849  typedef tmat2x4<f64, defaultp> f64mat2x4;
+
850 
+
853  typedef tmat3x2<f64, defaultp> f64mat3x2;
+
854 
+
857  typedef tmat3x3<f64, defaultp> f64mat3x3;
+
858 
+
861  typedef tmat3x4<f64, defaultp> f64mat3x4;
+
862 
+
865  typedef tmat4x2<f64, defaultp> f64mat4x2;
+
866 
+
869  typedef tmat4x3<f64, defaultp> f64mat4x3;
+
870 
+
873  typedef tmat4x4<f64, defaultp> f64mat4x4;
+
874 
+
875 
+
877  // Quaternion types
+
878 
+
881  typedef tquat<f32, defaultp> f32quat;
+
882 
+
885  typedef tquat<f64, defaultp> f64quat;
+
886 
+
888 }//namespace glm
+
889 
+
890 #include "type_precision.inl"
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:297
+
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:740
+
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:157
+
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:133
+
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1082
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:931
+
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:736
+
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2364
+
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2388
+
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:723
+
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2482
+
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:816
+
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:269
+
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1165
+
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1014
+
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:253
+
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:715
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:305
+
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:485
+
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:217
+
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:129
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:935
+
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:766
+
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:314
+
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:784
+
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2592
+
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:757
+
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:221
+
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:719
+
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:265
+
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:774
+
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:261
+
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:257
+
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1169
+
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2416
+
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:824
+
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2360
+
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:177
+
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:874
+
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:812
+
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:552
+
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:866
+
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1090
+
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:477
+
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2478
+
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:564
+
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:141
+
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2450
+
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2454
+
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2544
+
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2584
+
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:169
+
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:796
+
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2430
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:927
+
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1538
+
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2588
+
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2532
+
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2368
+
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:209
+
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2474
+
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2548
+
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1530
+
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1002
+
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2396
+
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1006
+
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1320
+
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:834
+
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:820
+
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2564
+
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:792
+
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2466
+
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:229
+
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:233
+
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:193
+
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2490
+
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:405
+
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:225
+
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2556
+
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1094
+
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1324
+
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:862
+
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1534
+
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:161
+
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2426
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:914
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:923
+
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:770
+
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2380
+
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2356
+
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:165
+
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:749
+
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:556
+
Definition: _noise.hpp:40
+
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:788
+
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2596
+
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:241
+
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:850
+
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:393
+
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:473
+
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:205
+
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2372
+
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:145
+
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:838
+
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:744
+
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2376
+
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1526
+
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:401
+
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2384
+
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:213
+
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:804
+
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1173
+
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2568
+
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:753
+
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:181
+
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2392
+
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2400
+
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1010
+
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2540
+
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1332
+
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:197
+
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:149
+
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2576
+
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:808
+
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:201
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:906
+
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2560
+
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2442
+
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2458
+
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:854
+
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:397
+
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:245
+
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:137
+
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:878
+
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2572
+
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:185
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:309
+
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2486
+
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:778
+
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:828
+
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:761
+
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:858
+
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:481
+
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2404
+
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:249
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:910
+
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2434
+
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2580
+
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2552
+
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:842
+
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:870
+
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2446
+
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2408
+
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:800
+
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:322
+
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2438
+
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:560
+
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1086
+
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:732
+
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:711
+
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:318
+
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2462
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:918
+
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:237
+
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1161
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:301
+
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2470
+
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2412
+
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:189
+
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:153
+
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2536
+
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:846
+
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:326
+
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1328
+
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:173
diff --git a/doc/api/a00131.html b/doc/api/a00131.html index 5d49c505..70c913e0 100644 --- a/doc/api/a00131.html +++ b/doc/api/a00131.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec.hpp File Reference + +0.9.7: type_ptr.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
type_vec.hpp File Reference
+
type_ptr.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef highp_bvec2 bvec2
 
typedef highp_bvec3 bvec3
 
typedef highp_bvec4 bvec4
 
typedef highp_dvec2 dvec2
 
typedef highp_dvec3 dvec3
 
typedef highp_dvec4 dvec4
 
typedef tvec2< bool, highp > highp_bvec2
 
typedef tvec3< bool, highp > highp_bvec3
 
typedef tvec4< bool, highp > highp_bvec4
 
typedef tvec2< double, highp > highp_dvec2
 
typedef tvec3< double, highp > highp_dvec3
 
typedef tvec4< double, highp > highp_dvec4
 
typedef tvec2< int, highp > highp_ivec2
 
typedef tvec3< int, highp > highp_ivec3
 
typedef tvec4< int, highp > highp_ivec4
 
typedef tvec2< uint, highp > highp_uvec2
 
typedef tvec3< uint, highp > highp_uvec3
 
typedef tvec4< uint, highp > highp_uvec4
 
typedef tvec2< float, highp > highp_vec2
 
typedef tvec3< float, highp > highp_vec3
 
typedef tvec4< float, highp > highp_vec4
 
typedef highp_ivec2 ivec2
 
typedef highp_ivec3 ivec3
 
typedef highp_ivec4 ivec4
 
typedef tvec2< bool, lowp > lowp_bvec2
 
typedef tvec3< bool, lowp > lowp_bvec3
 
typedef tvec4< bool, lowp > lowp_bvec4
 
typedef tvec2< double, lowp > lowp_dvec2
 
typedef tvec3< double, lowp > lowp_dvec3
 
typedef tvec4< double, lowp > lowp_dvec4
 
typedef tvec2< int, lowp > lowp_ivec2
 
typedef tvec3< int, lowp > lowp_ivec3
 
typedef tvec4< int, lowp > lowp_ivec4
 
typedef tvec2< uint, lowp > lowp_uvec2
 
typedef tvec3< uint, lowp > lowp_uvec3
 
typedef tvec4< uint, lowp > lowp_uvec4
 
typedef tvec2< float, lowp > lowp_vec2
 
typedef tvec3< float, lowp > lowp_vec3
 
typedef tvec4< float, lowp > lowp_vec4
 
typedef tvec2< bool, mediump > mediump_bvec2
 
typedef tvec3< bool, mediump > mediump_bvec3
 
typedef tvec4< bool, mediump > mediump_bvec4
 
typedef tvec2< double, mediump > mediump_dvec2
 
typedef tvec3< double, mediump > mediump_dvec3
 
typedef tvec4< double, mediump > mediump_dvec4
 
typedef tvec2< int, mediump > mediump_ivec2
 
typedef tvec3< int, mediump > mediump_ivec3
 
typedef tvec4< int, mediump > mediump_ivec4
 
typedef tvec2< uint, mediump > mediump_uvec2
 
typedef tvec3< uint, mediump > mediump_uvec3
 
typedef tvec4< uint, mediump > mediump_uvec4
 
typedef tvec2< float, mediump > mediump_vec2
 
typedef tvec3< float, mediump > mediump_vec3
 
typedef tvec4< float, mediump > mediump_vec4
 
typedef highp_uvec2 uvec2
 
typedef highp_uvec3 uvec3
 
typedef highp_uvec4 uvec4
 
typedef highp_vec2 vec2
 
typedef highp_vec3 vec3
 
typedef highp_vec4 vec4
 

+Functions

template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultp > make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultp > make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x3< T, defaultp > make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x4< T, defaultp > make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultp > make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x2< T, defaultp > make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultp > make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x4< T, defaultp > make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x2< T, defaultp > make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x3< T, defaultp > make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tquat< T, defaultp > make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec4< T, defaultp > make_vec4 (T const *const ptr)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type const * value_ptr (genType const &vec)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2010-01-26 / 2014-10-05
-
Author
Christophe Riccio
+

GLM_GTC_type_ptr

+
Date
2009-05-06 / 2011-06-05
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+GLM_GTC_quaternion (dependence)
-

Definition in file type_vec.hpp.

+

Definition in file type_ptr.hpp.

diff --git a/doc/api/a00131_source.html b/doc/api/a00131_source.html index 091598a9..87452468 100644 --- a/doc/api/a00131_source.html +++ b/doc/api/a00131_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec.hpp Source File + +0.9.7: type_ptr.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_vec.hpp
+
type_ptr.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "precision.hpp"
-
36 #include "type_int.hpp"
-
37 
-
38 namespace glm
-
39 {
-
40  template <typename T, precision P> struct tvec1;
-
41  template <typename T, precision P> struct tvec2;
-
42  template <typename T, precision P> struct tvec3;
-
43  template <typename T, precision P> struct tvec4;
-
44 
-
45  typedef tvec1<float, highp> highp_vec1_t;
-
46  typedef tvec1<float, mediump> mediump_vec1_t;
-
47  typedef tvec1<float, lowp> lowp_vec1_t;
-
48  typedef tvec1<double, highp> highp_dvec1_t;
-
49  typedef tvec1<double, mediump> mediump_dvec1_t;
-
50  typedef tvec1<double, lowp> lowp_dvec1_t;
-
51  typedef tvec1<int, highp> highp_ivec1_t;
-
52  typedef tvec1<int, mediump> mediump_ivec1_t;
-
53  typedef tvec1<int, lowp> lowp_ivec1_t;
-
54  typedef tvec1<uint, highp> highp_uvec1_t;
-
55  typedef tvec1<uint, mediump> mediump_uvec1_t;
-
56  typedef tvec1<uint, lowp> lowp_uvec1_t;
-
57  typedef tvec1<bool, highp> highp_bvec1_t;
-
58  typedef tvec1<bool, mediump> mediump_bvec1_t;
-
59  typedef tvec1<bool, lowp> lowp_bvec1_t;
-
60 
-
63 
-
69  typedef tvec2<float, highp> highp_vec2;
-
70 
-
76  typedef tvec2<float, mediump> mediump_vec2;
-
77 
-
83  typedef tvec2<float, lowp> lowp_vec2;
+
63 #pragma once
+
64 
+
65 // Dependency:
+
66 #include "../gtc/quaternion.hpp"
+
67 #include "../vec2.hpp"
+
68 #include "../vec3.hpp"
+
69 #include "../vec4.hpp"
+
70 #include "../mat2x2.hpp"
+
71 #include "../mat2x3.hpp"
+
72 #include "../mat2x4.hpp"
+
73 #include "../mat3x2.hpp"
+
74 #include "../mat3x3.hpp"
+
75 #include "../mat3x4.hpp"
+
76 #include "../mat4x2.hpp"
+
77 #include "../mat4x3.hpp"
+
78 #include "../mat4x4.hpp"
+
79 #include <cstring>
+
80 
+
81 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
82 # pragma message("GLM: GLM_GTC_type_ptr extension included")
+
83 #endif
84 
-
90  typedef tvec2<double, highp> highp_dvec2;
-
91 
-
97  typedef tvec2<double, mediump> mediump_dvec2;
-
98 
-
104  typedef tvec2<double, lowp> lowp_dvec2;
-
105 
-
111  typedef tvec2<int, highp> highp_ivec2;
-
112 
-
118  typedef tvec2<int, mediump> mediump_ivec2;
+
85 namespace glm
+
86 {
+
89 
+
92  template<typename genType>
+
93  GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const & vec);
+
94 
+
97  template<typename T>
+
98  GLM_FUNC_DECL tvec2<T, defaultp> make_vec2(T const * const ptr);
+
99 
+
102  template<typename T>
+
103  GLM_FUNC_DECL tvec3<T, defaultp> make_vec3(T const * const ptr);
+
104 
+
107  template<typename T>
+
108  GLM_FUNC_DECL tvec4<T, defaultp> make_vec4(T const * const ptr);
+
109 
+
112  template<typename T>
+
113  GLM_FUNC_DECL tmat2x2<T, defaultp> make_mat2x2(T const * const ptr);
+
114 
+
117  template<typename T>
+
118  GLM_FUNC_DECL tmat2x3<T, defaultp> make_mat2x3(T const * const ptr);
119 
-
125  typedef tvec2<int, lowp> lowp_ivec2;
-
126 
-
132  typedef tvec2<uint, highp> highp_uvec2;
-
133 
-
139  typedef tvec2<uint, mediump> mediump_uvec2;
-
140 
-
146  typedef tvec2<uint, lowp> lowp_uvec2;
-
147 
-
153  typedef tvec2<bool, highp> highp_bvec2;
-
154 
-
160  typedef tvec2<bool, mediump> mediump_bvec2;
-
161 
-
167  typedef tvec2<bool, lowp> lowp_bvec2;
-
168 
-
170 
-
171 
+
122  template<typename T>
+
123  GLM_FUNC_DECL tmat2x4<T, defaultp> make_mat2x4(T const * const ptr);
+
124 
+
127  template<typename T>
+
128  GLM_FUNC_DECL tmat3x2<T, defaultp> make_mat3x2(T const * const ptr);
+
129 
+
132  template<typename T>
+
133  GLM_FUNC_DECL tmat3x3<T, defaultp> make_mat3x3(T const * const ptr);
+
134 
+
137  template<typename T>
+
138  GLM_FUNC_DECL tmat3x4<T, defaultp> make_mat3x4(T const * const ptr);
+
139 
+
142  template<typename T>
+
143  GLM_FUNC_DECL tmat4x2<T, defaultp> make_mat4x2(T const * const ptr);
+
144 
+
147  template<typename T>
+
148  GLM_FUNC_DECL tmat4x3<T, defaultp> make_mat4x3(T const * const ptr);
+
149 
+
152  template<typename T>
+
153  GLM_FUNC_DECL tmat4x4<T, defaultp> make_mat4x4(T const * const ptr);
+
154 
+
157  template<typename T>
+
158  GLM_FUNC_DECL tmat2x2<T, defaultp> make_mat2(T const * const ptr);
+
159 
+
162  template<typename T>
+
163  GLM_FUNC_DECL tmat3x3<T, defaultp> make_mat3(T const * const ptr);
+
164 
+
167  template<typename T>
+
168  GLM_FUNC_DECL tmat4x4<T, defaultp> make_mat4(T const * const ptr);
+
169 
+
172  template<typename T>
+
173  GLM_FUNC_DECL tquat<T, defaultp> make_quat(T const * const ptr);
174 
-
180  typedef tvec3<float, highp> highp_vec3;
-
181 
-
187  typedef tvec3<float, mediump> mediump_vec3;
-
188 
-
194  typedef tvec3<float, lowp> lowp_vec3;
-
195 
-
201  typedef tvec3<double, highp> highp_dvec3;
-
202 
-
208  typedef tvec3<double, mediump> mediump_dvec3;
-
209 
-
215  typedef tvec3<double, lowp> lowp_dvec3;
-
216 
-
222  typedef tvec3<int, highp> highp_ivec3;
-
223 
-
229  typedef tvec3<int, mediump> mediump_ivec3;
-
230 
-
236  typedef tvec3<int, lowp> lowp_ivec3;
-
237 
-
243  typedef tvec3<uint, highp> highp_uvec3;
-
244 
-
250  typedef tvec3<uint, mediump> mediump_uvec3;
-
251 
-
257  typedef tvec3<uint, lowp> lowp_uvec3;
-
258 
-
263  typedef tvec3<bool, highp> highp_bvec3;
-
264 
-
269  typedef tvec3<bool, mediump> mediump_bvec3;
-
270 
-
275  typedef tvec3<bool, lowp> lowp_bvec3;
-
276 
-
278 
-
281 
-
286  typedef tvec4<float, highp> highp_vec4;
-
287 
-
292  typedef tvec4<float, mediump> mediump_vec4;
-
293 
-
298  typedef tvec4<float, lowp> lowp_vec4;
-
299 
-
304  typedef tvec4<double, highp> highp_dvec4;
-
305 
-
310  typedef tvec4<double, mediump> mediump_dvec4;
-
311 
-
316  typedef tvec4<double, lowp> lowp_dvec4;
-
317 
-
322  typedef tvec4<int, highp> highp_ivec4;
-
323 
-
328  typedef tvec4<int, mediump> mediump_ivec4;
-
329 
-
334  typedef tvec4<int, lowp> lowp_ivec4;
-
335 
-
340  typedef tvec4<uint, highp> highp_uvec4;
-
341 
-
346  typedef tvec4<uint, mediump> mediump_uvec4;
-
347 
-
352  typedef tvec4<uint, lowp> lowp_uvec4;
-
353 
-
358  typedef tvec4<bool, highp> highp_bvec4;
-
359 
-
364  typedef tvec4<bool, mediump> mediump_bvec4;
-
365 
-
370  typedef tvec4<bool, lowp> lowp_bvec4;
-
371 
-
373 
-
376 
-
378  // Default float definition
-
379 
-
380 #if(defined(GLM_PRECISION_LOWP_FLOAT))
-
381  typedef lowp_vec2 vec2;
-
382  typedef lowp_vec3 vec3;
-
383  typedef lowp_vec4 vec4;
-
384 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
385  typedef mediump_vec2 vec2;
-
386  typedef mediump_vec3 vec3;
-
387  typedef mediump_vec4 vec4;
-
388 #else //defined(GLM_PRECISION_HIGHP_FLOAT)
-
389  typedef highp_vec2 vec2;
-
393 
-
397  typedef highp_vec3 vec3;
-
398 
-
402  typedef highp_vec4 vec4;
-
403 #endif//GLM_PRECISION
-
404 
-
406  // Default double definition
-
407 
-
408 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
-
409  typedef lowp_dvec2 dvec2;
-
410  typedef lowp_dvec3 dvec3;
-
411  typedef lowp_dvec4 dvec4;
-
412 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
-
413  typedef mediump_dvec2 dvec2;
-
414  typedef mediump_dvec3 dvec3;
-
415  typedef mediump_dvec4 dvec4;
-
416 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
-
417  typedef highp_dvec2 dvec2;
-
421 
-
425  typedef highp_dvec3 dvec3;
-
426 
-
430  typedef highp_dvec4 dvec4;
-
431 #endif//GLM_PRECISION
-
432 
-
434  // Signed integer definition
-
435 
-
436 #if(defined(GLM_PRECISION_LOWP_INT))
-
437  typedef lowp_ivec2 ivec2;
-
438  typedef lowp_ivec3 ivec3;
-
439  typedef lowp_ivec4 ivec4;
-
440 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
441  typedef mediump_ivec2 ivec2;
-
442  typedef mediump_ivec3 ivec3;
-
443  typedef mediump_ivec4 ivec4;
-
444 #else //defined(GLM_PRECISION_HIGHP_INT)
-
445  typedef highp_ivec2 ivec2;
-
449 
-
453  typedef highp_ivec3 ivec3;
-
454 
-
458  typedef highp_ivec4 ivec4;
-
459 #endif//GLM_PRECISION
-
460 
-
462  // Unsigned integer definition
-
463 
-
464 #if(defined(GLM_PRECISION_LOWP_UINT))
-
465  typedef lowp_uvec2 uvec2;
-
466  typedef lowp_uvec3 uvec3;
-
467  typedef lowp_uvec4 uvec4;
-
468 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
-
469  typedef mediump_uvec2 uvec2;
-
470  typedef mediump_uvec3 uvec3;
-
471  typedef mediump_uvec4 uvec4;
-
472 #else //defined(GLM_PRECISION_HIGHP_UINT)
-
473  typedef highp_uvec2 uvec2;
-
477 
-
481  typedef highp_uvec3 uvec3;
-
482 
-
486  typedef highp_uvec4 uvec4;
-
487 #endif//GLM_PRECISION
-
488 
-
490  // Boolean definition
-
491 
-
492 #if(defined(GLM_PRECISION_LOWP_BOOL))
-
493  typedef lowp_bvec2 bvec2;
-
494  typedef lowp_bvec3 bvec3;
-
495  typedef lowp_bvec4 bvec4;
-
496 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
-
497  typedef mediump_bvec2 bvec2;
-
498  typedef mediump_bvec3 bvec3;
-
499  typedef mediump_bvec4 bvec4;
-
500 #else //defined(GLM_PRECISION_HIGHP_BOOL)
-
501  typedef highp_bvec2 bvec2;
-
505 
-
509  typedef highp_bvec3 bvec3;
-
510 
-
514  typedef highp_bvec4 bvec4;
-
515 #endif//GLM_PRECISION
-
516 
-
518 }//namespace glm
-
tvec3< bool, lowp > lowp_bvec3
3 components vector of low precision bool numbers.
Definition: type_vec.hpp:275
-
tvec4< uint, mediump > mediump_uvec4
4 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:346
-
OpenGL Mathematics (glm.g-truc.net)
-
tvec4< uint, lowp > lowp_uvec4
4 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:352
-
tvec2< bool, lowp > lowp_bvec2
2 components vector of low precision bool numbers.
Definition: type_vec.hpp:167
-
tvec4< double, lowp > lowp_dvec4
4 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:316
-
tvec2< uint, lowp > lowp_uvec2
2 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:146
-
tvec3< int, highp > highp_ivec3
3 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:222
-
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:298
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:402
-
tvec4< double, mediump > mediump_dvec4
4 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:310
-
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:83
-
tvec3< uint, mediump > mediump_uvec3
3 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:250
-
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:458
-
highp_bvec4 bvec4
4 components vector of boolean.
Definition: type_vec.hpp:514
-
tvec4< bool, highp > highp_bvec4
4 components vector of high precision bool numbers.
Definition: type_vec.hpp:358
-
tvec3< uint, highp > highp_uvec3
3 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:243
-
tvec2< bool, mediump > mediump_bvec2
2 components vector of medium precision bool numbers.
Definition: type_vec.hpp:160
-
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:292
-
highp_bvec2 bvec2
2 components vector of boolean.
Definition: type_vec.hpp:504
-
OpenGL Mathematics (glm.g-truc.net)
-
tvec4< int, highp > highp_ivec4
4 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:322
-
tvec3< int, lowp > lowp_ivec3
3 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:236
-
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:180
-
highp_uvec3 uvec3
3 components vector of unsigned integer numbers.
Definition: type_vec.hpp:481
-
tvec4< int, mediump > mediump_ivec4
4 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:328
-
tvec4< bool, mediump > mediump_bvec4
4 components vector of medium precision bool numbers.
Definition: type_vec.hpp:364
-
tvec3< uint, lowp > lowp_uvec3
3 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:257
-
tvec4< bool, lowp > lowp_bvec4
4 components vector of low precision bool numbers.
Definition: type_vec.hpp:370
-
highp_dvec2 dvec2
2 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:420
-
tvec3< bool, mediump > mediump_bvec3
3 components vector of medium precision bool numbers.
Definition: type_vec.hpp:269
-
tvec3< double, mediump > mediump_dvec3
3 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:208
-
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:194
-
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:69
-
tvec3< double, highp > highp_dvec3
3 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:201
-
tvec2< int, highp > highp_ivec2
2 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:111
-
tvec4< double, highp > highp_dvec4
4 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:304
-
tvec2< int, mediump > mediump_ivec2
2 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:118
-
tvec2< bool, highp > highp_bvec2
2 components vector of high precision bool numbers.
Definition: type_vec.hpp:153
-
tvec2< double, lowp > lowp_dvec2
2 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:104
-
tvec3< double, lowp > lowp_dvec3
3 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:215
-
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:476
-
tvec2< uint, highp > highp_uvec2
2 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:132
-
tvec2< uint, mediump > mediump_uvec2
2 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:139
-
highp_bvec3 bvec3
3 components vector of boolean.
Definition: type_vec.hpp:509
-
tvec2< double, mediump > mediump_dvec2
2 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:97
-
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:286
-
highp_ivec3 ivec3
3 components vector of signed integer numbers.
Definition: type_vec.hpp:453
-
tvec4< uint, highp > highp_uvec4
4 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:340
-
tvec4< int, lowp > lowp_ivec4
4 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:334
-
Definition: _noise.hpp:39
-
tvec3< bool, highp > highp_bvec3
3 components vector of high precision bool numbers.
Definition: type_vec.hpp:263
-
tvec3< int, mediump > mediump_ivec3
3 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:229
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:397
-
tvec2< double, highp > highp_dvec2
2 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:90
-
highp_dvec3 dvec3
3 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:425
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:392
-
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:187
-
tvec2< int, lowp > lowp_ivec2
2 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:125
-
highp_ivec2 ivec2
2 components vector of signed integer numbers.
Definition: type_vec.hpp:448
-
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:486
-
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:76
-
highp_dvec4 dvec4
4 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:430
+
176 }//namespace glm
+
177 
+
178 #include "type_ptr.inl"
+
GLM_FUNC_DECL tmat2x4< T, defaultp > make_mat2x4(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tmat2x2< T, defaultp > make_mat2x2(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tquat< T, defaultp > make_quat(T const *const ptr)
Build a quaternion from a pointer.
+
GLM_FUNC_DECL tmat4x3< T, defaultp > make_mat4x3(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tmat3x3< T, defaultp > make_mat3x3(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tvec2< T, defaultp > make_vec2(T const *const ptr)
Build a vector from a pointer.
+
GLM_FUNC_DECL tmat3x4< T, defaultp > make_mat3x4(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tmat2x3< T, defaultp > make_mat2x3(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tmat4x2< T, defaultp > make_mat4x2(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tvec3< T, defaultp > make_vec3(T const *const ptr)
Build a vector from a pointer.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL tmat2x2< T, defaultp > make_mat2(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tvec4< T, defaultp > make_vec4(T const *const ptr)
Build a vector from a pointer.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4x4(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tmat3x2< T, defaultp > make_mat3x2(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL tmat3x3< T, defaultp > make_mat3(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL genType::value_type const * value_ptr(genType const &vec)
Return the constant address to the data of the input parameter.
diff --git a/doc/api/a00132.html b/doc/api/a00132.html index a2b886e3..d230c793 100644 --- a/doc/api/a00132.html +++ b/doc/api/a00132.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec1.hpp File Reference + +0.9.7: type_vec.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
type_vec1.hpp File Reference
+
type_vec.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_bvec2 bvec2
 
typedef highp_bvec3 bvec3
 
typedef highp_bvec4 bvec4
 
typedef highp_dvec2 dvec2
 
typedef highp_dvec3 dvec3
 
typedef highp_dvec4 dvec4
 
typedef tvec2< bool, highp > highp_bvec2
 
typedef tvec3< bool, highp > highp_bvec3
 
typedef tvec4< bool, highp > highp_bvec4
 
typedef tvec2< double, highp > highp_dvec2
 
typedef tvec3< double, highp > highp_dvec3
 
typedef tvec4< double, highp > highp_dvec4
 
typedef tvec2< int, highp > highp_ivec2
 
typedef tvec3< int, highp > highp_ivec3
 
typedef tvec4< int, highp > highp_ivec4
 
typedef tvec2< uint, highp > highp_uvec2
 
typedef tvec3< uint, highp > highp_uvec3
 
typedef tvec4< uint, highp > highp_uvec4
 
typedef tvec2< float, highp > highp_vec2
 
typedef tvec3< float, highp > highp_vec3
 
typedef tvec4< float, highp > highp_vec4
 
typedef highp_ivec2 ivec2
 
typedef highp_ivec3 ivec3
 
typedef highp_ivec4 ivec4
 
typedef tvec2< bool, lowp > lowp_bvec2
 
typedef tvec3< bool, lowp > lowp_bvec3
 
typedef tvec4< bool, lowp > lowp_bvec4
 
typedef tvec2< double, lowp > lowp_dvec2
 
typedef tvec3< double, lowp > lowp_dvec3
 
typedef tvec4< double, lowp > lowp_dvec4
 
typedef tvec2< int, lowp > lowp_ivec2
 
typedef tvec3< int, lowp > lowp_ivec3
 
typedef tvec4< int, lowp > lowp_ivec4
 
typedef tvec2< uint, lowp > lowp_uvec2
 
typedef tvec3< uint, lowp > lowp_uvec3
 
typedef tvec4< uint, lowp > lowp_uvec4
 
typedef tvec2< float, lowp > lowp_vec2
 
typedef tvec3< float, lowp > lowp_vec3
 
typedef tvec4< float, lowp > lowp_vec4
 
typedef tvec2< bool, mediump > mediump_bvec2
 
typedef tvec3< bool, mediump > mediump_bvec3
 
typedef tvec4< bool, mediump > mediump_bvec4
 
typedef tvec2< double, mediump > mediump_dvec2
 
typedef tvec3< double, mediump > mediump_dvec3
 
typedef tvec4< double, mediump > mediump_dvec4
 
typedef tvec2< int, mediump > mediump_ivec2
 
typedef tvec3< int, mediump > mediump_ivec3
 
typedef tvec4< int, mediump > mediump_ivec4
 
typedef tvec2< uint, mediump > mediump_uvec2
 
typedef tvec3< uint, mediump > mediump_uvec3
 
typedef tvec4< uint, mediump > mediump_uvec4
 
typedef tvec2< float, mediump > mediump_vec2
 
typedef tvec3< float, mediump > mediump_vec3
 
typedef tvec4< float, mediump > mediump_vec4
 
typedef highp_uvec2 uvec2
 
typedef highp_uvec3 uvec3
 
typedef highp_uvec4 uvec4
 
typedef highp_vec2 vec2
 
typedef highp_vec3 vec3
 
typedef highp_vec4 vec4
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-25 / 2011-06-15
+

GLM Core

+
Date
2010-01-26 / 2014-10-05
Author
Christophe Riccio
-

Definition in file type_vec1.hpp.

+

Definition in file type_vec.hpp.

diff --git a/doc/api/a00132_source.html b/doc/api/a00132_source.html index 97c8d6a0..83ab617e 100644 --- a/doc/api/a00132_source.html +++ b/doc/api/a00132_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec1.hpp Source File + +0.9.7: type_vec.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_vec1.hpp
+
type_vec.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "../fwd.hpp"
-
36 #include "type_vec.hpp"
-
37 #ifdef GLM_SWIZZLE
-
38 # if GLM_HAS_ANONYMOUS_UNION
-
39 # include "_swizzle.hpp"
-
40 # else
-
41 # include "_swizzle_func.hpp"
-
42 # endif
-
43 #endif //GLM_SWIZZLE
-
44 #include <cstddef>
-
45 
-
46 namespace glm
-
47 {
-
48  template <typename T, precision P = defaultp>
-
49  struct tvec1
-
50  {
-
52  // Implementation detail
-
53 
-
54  typedef tvec1<T, P> type;
-
55  typedef tvec1<bool, P> bool_type;
-
56  typedef T value_type;
-
57 
-
59  // Data
+
35 #include "precision.hpp"
+
36 #include "type_int.hpp"
+
37 
+
38 namespace glm
+
39 {
+
40  template <typename T, precision P> struct tvec1;
+
41  template <typename T, precision P> struct tvec2;
+
42  template <typename T, precision P> struct tvec3;
+
43  template <typename T, precision P> struct tvec4;
+
44 
+
45  typedef tvec1<float, highp> highp_vec1_t;
+
46  typedef tvec1<float, mediump> mediump_vec1_t;
+
47  typedef tvec1<float, lowp> lowp_vec1_t;
+
48  typedef tvec1<double, highp> highp_dvec1_t;
+
49  typedef tvec1<double, mediump> mediump_dvec1_t;
+
50  typedef tvec1<double, lowp> lowp_dvec1_t;
+
51  typedef tvec1<int, highp> highp_ivec1_t;
+
52  typedef tvec1<int, mediump> mediump_ivec1_t;
+
53  typedef tvec1<int, lowp> lowp_ivec1_t;
+
54  typedef tvec1<uint, highp> highp_uvec1_t;
+
55  typedef tvec1<uint, mediump> mediump_uvec1_t;
+
56  typedef tvec1<uint, lowp> lowp_uvec1_t;
+
57  typedef tvec1<bool, highp> highp_bvec1_t;
+
58  typedef tvec1<bool, mediump> mediump_bvec1_t;
+
59  typedef tvec1<bool, lowp> lowp_bvec1_t;
60 
-
61 # if GLM_HAS_ANONYMOUS_UNION
-
62  union
-
63  {
-
64  T x;
-
65  T r;
-
66  T s;
-
67 /*
-
68 # ifdef GLM_SWIZZLE
-
69  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, x)
-
70  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, r)
-
71  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, s)
-
72  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, x)
-
73  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, r)
-
74  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, s)
-
75  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, x)
-
76  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, r)
-
77  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, s)
-
78 # endif//GLM_SWIZZLE*/
-
79  };
-
80 # else
-
81  union {T x, r, s;};
-
82 /*
-
83 # ifdef GLM_SWIZZLE
-
84  GLM_SWIZZLE_GEN_VEC_FROM_VEC1(T, P, tvec2, tvec2, tvec3, tvec4)
-
85 # endif//GLM_SWIZZLE*/
-
86 # endif
-
87 
-
89  // Accesses
-
90 
-
91 # ifdef GLM_FORCE_SIZE_FUNC
-
92  typedef size_t size_type;
-
94  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
-
95 
-
96  GLM_FUNC_DECL T & operator[](size_type i);
-
97  GLM_FUNC_DECL T const & operator[](size_type i) const;
-
98 # else
-
99  typedef length_t length_type;
-
101  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
102 
-
103  GLM_FUNC_DECL T & operator[](length_type i);
-
104  GLM_FUNC_DECL T const & operator[](length_type i) const;
-
105 # endif//GLM_FORCE_SIZE_FUNC
-
106 
-
108  // Implicit basic constructors
-
109 
-
110  GLM_FUNC_DECL tvec1();
-
111  template <precision Q>
-
112  GLM_FUNC_DECL tvec1(tvec1<T, Q> const & v);
-
113 
-
115  // Explicit basic constructors
-
116 
-
117  GLM_FUNC_DECL explicit tvec1(ctor);
-
118  GLM_FUNC_DECL explicit tvec1(T const & s);
+
63 
+
69  typedef tvec2<float, highp> highp_vec2;
+
70 
+
76  typedef tvec2<float, mediump> mediump_vec2;
+
77 
+
83  typedef tvec2<float, lowp> lowp_vec2;
+
84 
+
90  typedef tvec2<double, highp> highp_dvec2;
+
91 
+
97  typedef tvec2<double, mediump> mediump_dvec2;
+
98 
+
104  typedef tvec2<double, lowp> lowp_dvec2;
+
105 
+
111  typedef tvec2<int, highp> highp_ivec2;
+
112 
+
118  typedef tvec2<int, mediump> mediump_ivec2;
119 
-
121  // Conversion vector constructors
-
122 
-
124  template <typename U, precision Q>
-
125  GLM_FUNC_DECL explicit tvec1(tvec2<U, Q> const & v);
-
127  template <typename U, precision Q>
-
128  GLM_FUNC_DECL explicit tvec1(tvec3<U, Q> const & v);
-
130  template <typename U, precision Q>
-
131  GLM_FUNC_DECL explicit tvec1(tvec4<U, Q> const & v);
-
132 
-
133 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
134  template <typename U, precision Q>
-
136  GLM_FUNC_DECL explicit tvec1(tvec1<U, Q> const & v);
-
137 # else
-
138  template <typename U, precision Q>
-
140  GLM_FUNC_DECL tvec1(tvec1<U, Q> const & v);
-
141 # endif
-
142 
-
144  // Swizzle constructors
-
145 
-
146 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
147  template <int E0>
-
148  GLM_FUNC_DECL tvec1(detail::_swizzle<1, T, P, tvec1<T, P>, E0, -1,-2,-3> const & that)
-
149  {
-
150  *this = that();
-
151  }
-
152 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
153 
-
155  // Unary arithmetic operators
-
156 
-
157  template <typename U>
-
158  GLM_FUNC_DECL tvec1<T, P> & operator=(tvec1<U, P> const & v);
-
159  template <typename U>
-
160  GLM_FUNC_DECL tvec1<T, P> & operator+=(U const & s);
-
161  template <typename U>
-
162  GLM_FUNC_DECL tvec1<T, P> & operator+=(tvec1<U, P> const & v);
-
163  template <typename U>
-
164  GLM_FUNC_DECL tvec1<T, P> & operator-=(U const & s);
-
165  template <typename U>
-
166  GLM_FUNC_DECL tvec1<T, P> & operator-=(tvec1<U, P> const & v);
-
167  template <typename U>
-
168  GLM_FUNC_DECL tvec1<T, P> & operator*=(U const & s);
-
169  template <typename U>
-
170  GLM_FUNC_DECL tvec1<T, P> & operator*=(tvec1<U, P> const & v);
-
171  template <typename U>
-
172  GLM_FUNC_DECL tvec1<T, P> & operator/=(U const & s);
-
173  template <typename U>
-
174  GLM_FUNC_DECL tvec1<T, P> & operator/=(tvec1<U, P> const & v);
-
175 
-
177  // Increment and decrement operators
-
178 
-
179  GLM_FUNC_DECL tvec1<T, P> & operator++();
-
180  GLM_FUNC_DECL tvec1<T, P> & operator--();
-
181  GLM_FUNC_DECL tvec1<T, P> operator++(int);
-
182  GLM_FUNC_DECL tvec1<T, P> operator--(int);
-
183 
-
185  // Unary bit operators
-
186 
-
187  template <typename U>
-
188  GLM_FUNC_DECL tvec1<T, P> & operator%=(U const & s);
-
189  template <typename U>
-
190  GLM_FUNC_DECL tvec1<T, P> & operator%=(tvec1<U, P> const & v);
-
191  template <typename U>
-
192  GLM_FUNC_DECL tvec1<T, P> & operator&=(U const & s);
-
193  template <typename U>
-
194  GLM_FUNC_DECL tvec1<T, P> & operator&=(tvec1<U, P> const & v);
-
195  template <typename U>
-
196  GLM_FUNC_DECL tvec1<T, P> & operator|=(U const & s);
-
197  template <typename U>
-
198  GLM_FUNC_DECL tvec1<T, P> & operator|=(tvec1<U, P> const & v);
-
199  template <typename U>
-
200  GLM_FUNC_DECL tvec1<T, P> & operator^=(U const & s);
-
201  template <typename U>
-
202  GLM_FUNC_DECL tvec1<T, P> & operator^=(tvec1<U, P> const & v);
-
203  template <typename U>
-
204  GLM_FUNC_DECL tvec1<T, P> & operator<<=(U const & s);
-
205  template <typename U>
-
206  GLM_FUNC_DECL tvec1<T, P> & operator<<=(tvec1<U, P> const & v);
-
207  template <typename U>
-
208  GLM_FUNC_DECL tvec1<T, P> & operator>>=(U const & s);
-
209  template <typename U>
-
210  GLM_FUNC_DECL tvec1<T, P> & operator>>=(tvec1<U, P> const & v);
-
211  };
-
212 
-
213 
-
214  template <typename T, precision P>
-
215  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v, T const & s);
-
216 
-
217  template <typename T, precision P>
-
218  GLM_FUNC_DECL tvec1<T, P> operator+(T const & s, tvec1<T, P> const & v);
-
219 
-
220  template <typename T, precision P>
-
221  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
125  typedef tvec2<int, lowp> lowp_ivec2;
+
126 
+
132  typedef tvec2<uint, highp> highp_uvec2;
+
133 
+
139  typedef tvec2<uint, mediump> mediump_uvec2;
+
140 
+
146  typedef tvec2<uint, lowp> lowp_uvec2;
+
147 
+
153  typedef tvec2<bool, highp> highp_bvec2;
+
154 
+
160  typedef tvec2<bool, mediump> mediump_bvec2;
+
161 
+
167  typedef tvec2<bool, lowp> lowp_bvec2;
+
168 
+
170 
+
173 
+
179  typedef tvec3<float, highp> highp_vec3;
+
180 
+
186  typedef tvec3<float, mediump> mediump_vec3;
+
187 
+
193  typedef tvec3<float, lowp> lowp_vec3;
+
194 
+
200  typedef tvec3<double, highp> highp_dvec3;
+
201 
+
207  typedef tvec3<double, mediump> mediump_dvec3;
+
208 
+
214  typedef tvec3<double, lowp> lowp_dvec3;
+
215 
+
221  typedef tvec3<int, highp> highp_ivec3;
222 
-
223  template <typename T, precision P>
-
224  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v, T const & s);
-
225 
-
226  template <typename T, precision P>
-
227  GLM_FUNC_DECL tvec1<T, P> operator-(T const & s, tvec1<T, P> const & v);
-
228 
-
229  template <typename T, precision P>
-
230  GLM_FUNC_DECL tvec1<T, P> operator- (tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
231 
-
232  template <typename T, precision P>
-
233  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v, T const & s);
-
234 
-
235  template <typename T, precision P>
-
236  GLM_FUNC_DECL tvec1<T, P> operator*(T const & s, tvec1<T, P> const & v);
-
237 
-
238  template <typename T, precision P>
-
239  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
240 
-
241  template <typename T, precision P>
-
242  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v, T const & s);
+
228  typedef tvec3<int, mediump> mediump_ivec3;
+
229 
+
235  typedef tvec3<int, lowp> lowp_ivec3;
+
236 
+
242  typedef tvec3<uint, highp> highp_uvec3;
243 
-
244  template <typename T, precision P>
-
245  GLM_FUNC_DECL tvec1<T, P> operator/(T const & s, tvec1<T, P> const & v);
-
246 
-
247  template <typename T, precision P>
-
248  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
249 
-
250  template <typename T, precision P>
-
251  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v);
-
252 
-
253  template <typename T, precision P>
-
254  GLM_FUNC_DECL bool operator==(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
255 
-
256  template <typename T, precision P>
-
257  GLM_FUNC_DECL bool operator!=(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
258 
-
259  template <typename T, precision P>
-
260  GLM_FUNC_DECL tvec1<T, P> operator%(tvec1<T, P> const & v, T const & s);
-
261 
-
262  template <typename T, precision P>
-
263  GLM_FUNC_DECL tvec1<T, P> operator%(T const & s, tvec1<T, P> const & v);
-
264 
-
265  template <typename T, precision P>
-
266  GLM_FUNC_DECL tvec1<T, P> operator%(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
267 
-
268  template <typename T, precision P>
-
269  GLM_FUNC_DECL tvec1<T, P> operator&(tvec1<T, P> const & v, T const & s);
-
270 
-
271  template <typename T, precision P>
-
272  GLM_FUNC_DECL tvec1<T, P> operator&(T const & s, tvec1<T, P> const & v);
-
273 
-
274  template <typename T, precision P>
-
275  GLM_FUNC_DECL tvec1<T, P> operator&(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
276 
-
277  template <typename T, precision P>
-
278  GLM_FUNC_DECL tvec1<T, P> operator|(tvec1<T, P> const & v, T const & s);
-
279 
-
280  template <typename T, precision P>
-
281  GLM_FUNC_DECL tvec1<T, P> operator|(T const & s, tvec1<T, P> const & v);
-
282 
-
283  template <typename T, precision P>
-
284  GLM_FUNC_DECL tvec1<T, P> operator|(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
285 
-
286  template <typename T, precision P>
-
287  GLM_FUNC_DECL tvec1<T, P> operator^(tvec1<T, P> const & v, T const & s);
-
288 
-
289  template <typename T, precision P>
-
290  GLM_FUNC_DECL tvec1<T, P> operator^(T const & s, tvec1<T, P> const & v);
-
291 
-
292  template <typename T, precision P>
-
293  GLM_FUNC_DECL tvec1<T, P> operator^(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
294 
-
295  template <typename T, precision P>
-
296  GLM_FUNC_DECL tvec1<T, P> operator<<(tvec1<T, P> const & v, T const & s);
-
297 
-
298  template <typename T, precision P>
-
299  GLM_FUNC_DECL tvec1<T, P> operator<<(T const & s, tvec1<T, P> const & v);
-
300 
-
301  template <typename T, precision P>
-
302  GLM_FUNC_DECL tvec1<T, P> operator<<(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
303 
-
304  template <typename T, precision P>
-
305  GLM_FUNC_DECL tvec1<T, P> operator>>(tvec1<T, P> const & v, T const & s);
-
306 
-
307  template <typename T, precision P>
-
308  GLM_FUNC_DECL tvec1<T, P> operator>>(T const & s, tvec1<T, P> const & v);
-
309 
-
310  template <typename T, precision P>
-
311  GLM_FUNC_DECL tvec1<T, P> operator>>(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
312 
-
313  template <typename T, precision P>
-
314  GLM_FUNC_DECL tvec1<T, P> operator~(tvec1<T, P> const & v);
-
315 }//namespace glm
+
249  typedef tvec3<uint, mediump> mediump_uvec3;
+
250 
+
256  typedef tvec3<uint, lowp> lowp_uvec3;
+
257 
+
262  typedef tvec3<bool, highp> highp_bvec3;
+
263 
+
268  typedef tvec3<bool, mediump> mediump_bvec3;
+
269 
+
274  typedef tvec3<bool, lowp> lowp_bvec3;
+
275 
+
277 
+
280 
+
285  typedef tvec4<float, highp> highp_vec4;
+
286 
+
291  typedef tvec4<float, mediump> mediump_vec4;
+
292 
+
297  typedef tvec4<float, lowp> lowp_vec4;
+
298 
+
303  typedef tvec4<double, highp> highp_dvec4;
+
304 
+
309  typedef tvec4<double, mediump> mediump_dvec4;
+
310 
+
315  typedef tvec4<double, lowp> lowp_dvec4;
316 
-
317 #ifndef GLM_EXTERNAL_TEMPLATE
-
318 #include "type_vec1.inl"
-
319 #endif//GLM_EXTERNAL_TEMPLATE
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
+
321  typedef tvec4<int, highp> highp_ivec4;
+
322 
+
327  typedef tvec4<int, mediump> mediump_ivec4;
+
328 
+
333  typedef tvec4<int, lowp> lowp_ivec4;
+
334 
+
339  typedef tvec4<uint, highp> highp_uvec4;
+
340 
+
345  typedef tvec4<uint, mediump> mediump_uvec4;
+
346 
+
351  typedef tvec4<uint, lowp> lowp_uvec4;
+
352 
+
357  typedef tvec4<bool, highp> highp_bvec4;
+
358 
+
363  typedef tvec4<bool, mediump> mediump_bvec4;
+
364 
+
369  typedef tvec4<bool, lowp> lowp_bvec4;
+
370 
+
372 
+
375 
+
376  // -- Default float definition --
+
377 
+
378 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
379  typedef lowp_vec2 vec2;
+
380  typedef lowp_vec3 vec3;
+
381  typedef lowp_vec4 vec4;
+
382 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
383  typedef mediump_vec2 vec2;
+
384  typedef mediump_vec3 vec3;
+
385  typedef mediump_vec4 vec4;
+
386 #else //defined(GLM_PRECISION_HIGHP_FLOAT)
+
387  typedef highp_vec2 vec2;
+
391 
+
395  typedef highp_vec3 vec3;
+
396 
+
400  typedef highp_vec4 vec4;
+
401 #endif//GLM_PRECISION
+
402 
+
403  // -- Default double definition --
+
404 
+
405 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
+
406  typedef lowp_dvec2 dvec2;
+
407  typedef lowp_dvec3 dvec3;
+
408  typedef lowp_dvec4 dvec4;
+
409 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
410  typedef mediump_dvec2 dvec2;
+
411  typedef mediump_dvec3 dvec3;
+
412  typedef mediump_dvec4 dvec4;
+
413 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+
414  typedef highp_dvec2 dvec2;
+
418 
+
422  typedef highp_dvec3 dvec3;
+
423 
+
427  typedef highp_dvec4 dvec4;
+
428 #endif//GLM_PRECISION
+
429 
+
430  // -- Signed integer definition --
+
431 
+
432 #if(defined(GLM_PRECISION_LOWP_INT))
+
433  typedef lowp_ivec2 ivec2;
+
434  typedef lowp_ivec3 ivec3;
+
435  typedef lowp_ivec4 ivec4;
+
436 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
437  typedef mediump_ivec2 ivec2;
+
438  typedef mediump_ivec3 ivec3;
+
439  typedef mediump_ivec4 ivec4;
+
440 #else //defined(GLM_PRECISION_HIGHP_INT)
+
441  typedef highp_ivec2 ivec2;
+
445 
+
449  typedef highp_ivec3 ivec3;
+
450 
+
454  typedef highp_ivec4 ivec4;
+
455 #endif//GLM_PRECISION
+
456 
+
457  // -- Unsigned integer definition --
+
458 
+
459 #if(defined(GLM_PRECISION_LOWP_UINT))
+
460  typedef lowp_uvec2 uvec2;
+
461  typedef lowp_uvec3 uvec3;
+
462  typedef lowp_uvec4 uvec4;
+
463 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
+
464  typedef mediump_uvec2 uvec2;
+
465  typedef mediump_uvec3 uvec3;
+
466  typedef mediump_uvec4 uvec4;
+
467 #else //defined(GLM_PRECISION_HIGHP_UINT)
+
468  typedef highp_uvec2 uvec2;
+
472 
+
476  typedef highp_uvec3 uvec3;
+
477 
+
481  typedef highp_uvec4 uvec4;
+
482 #endif//GLM_PRECISION
+
483 
+
484  // -- Boolean definition --
+
485 
+
486 #if(defined(GLM_PRECISION_LOWP_BOOL))
+
487  typedef lowp_bvec2 bvec2;
+
488  typedef lowp_bvec3 bvec3;
+
489  typedef lowp_bvec4 bvec4;
+
490 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
+
491  typedef mediump_bvec2 bvec2;
+
492  typedef mediump_bvec3 bvec3;
+
493  typedef mediump_bvec4 bvec4;
+
494 #else //defined(GLM_PRECISION_HIGHP_BOOL)
+
495  typedef highp_bvec2 bvec2;
+
499 
+
503  typedef highp_bvec3 bvec3;
+
504 
+
508  typedef highp_bvec4 bvec4;
+
509 #endif//GLM_PRECISION
+
510 
+
512 }//namespace glm
+
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:69
+
highp_ivec3 ivec3
3 components vector of signed integer numbers.
Definition: type_vec.hpp:449
+
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:186
+
highp_dvec2 dvec2
2 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:417
+
tvec2< int, lowp > lowp_ivec2
2 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:125
+
highp_uvec3 uvec3
3 components vector of unsigned integer numbers.
Definition: type_vec.hpp:476
+
tvec3< double, highp > highp_dvec3
3 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:200
+
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:76
+
tvec4< double, mediump > mediump_dvec4
4 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:309
+
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:179
+
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:481
+
highp_dvec4 dvec4
4 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:427
+
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:285
+
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:291
+
tvec4< uint, highp > highp_uvec4
4 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:339
+
tvec4< bool, highp > highp_bvec4
4 components vector of high precision bool numbers.
Definition: type_vec.hpp:357
+
tvec3< int, highp > highp_ivec3
3 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:221
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:390
+
tvec4< bool, lowp > lowp_bvec4
4 components vector of low precision bool numbers.
Definition: type_vec.hpp:369
+
tvec4< uint, mediump > mediump_uvec4
4 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:345
+
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:471
+
tvec2< double, lowp > lowp_dvec2
2 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:104
+
tvec3< int, mediump > mediump_ivec3
3 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:228
+
tvec2< bool, lowp > lowp_bvec2
2 components vector of low precision bool numbers.
Definition: type_vec.hpp:167
+
tvec4< int, mediump > mediump_ivec4
4 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:327
+
tvec2< uint, mediump > mediump_uvec2
2 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:139
+
highp_bvec2 bvec2
2 components vector of boolean.
Definition: type_vec.hpp:498
+
tvec4< bool, mediump > mediump_bvec4
4 components vector of medium precision bool numbers.
Definition: type_vec.hpp:363
+
tvec4< int, lowp > lowp_ivec4
4 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:333
+
tvec3< bool, mediump > mediump_bvec3
3 components vector of medium precision bool numbers.
Definition: type_vec.hpp:268
+
tvec3< double, mediump > mediump_dvec3
3 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:207
+
tvec2< double, mediump > mediump_dvec2
2 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:97
+
Definition: _noise.hpp:40
+
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
+
highp_bvec4 bvec4
4 components vector of boolean.
Definition: type_vec.hpp:508
+
tvec2< bool, mediump > mediump_bvec2
2 components vector of medium precision bool numbers.
Definition: type_vec.hpp:160
+
tvec2< int, highp > highp_ivec2
2 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:111
+
tvec3< bool, lowp > lowp_bvec3
3 components vector of low precision bool numbers.
Definition: type_vec.hpp:274
+
tvec4< double, lowp > lowp_dvec4
4 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:315
+
tvec2< bool, highp > highp_bvec2
2 components vector of high precision bool numbers.
Definition: type_vec.hpp:153
+
highp_bvec3 bvec3
3 components vector of boolean.
Definition: type_vec.hpp:503
+
tvec3< double, lowp > lowp_dvec3
3 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:214
+
tvec4< double, highp > highp_dvec4
4 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:303
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:400
+
tvec4< uint, lowp > lowp_uvec4
4 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:351
+
tvec3< int, lowp > lowp_ivec3
3 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:235
+
tvec2< uint, lowp > lowp_uvec2
2 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:146
+
tvec3< uint, mediump > mediump_uvec3
3 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:249
+
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:83
+
tvec3< uint, lowp > lowp_uvec3
3 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:256
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:395
+
highp_dvec3 dvec3
3 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:422
+
tvec3< uint, highp > highp_uvec3
3 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:242
+
tvec3< bool, highp > highp_bvec3
3 components vector of high precision bool numbers.
Definition: type_vec.hpp:262
+
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:193
+
highp_ivec2 ivec2
2 components vector of signed integer numbers.
Definition: type_vec.hpp:444
+
tvec2< uint, highp > highp_uvec2
2 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:132
+
tvec2< int, mediump > mediump_ivec2
2 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:118
+
OpenGL Mathematics (glm.g-truc.net)
+
tvec4< int, highp > highp_ivec4
4 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:321
+
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:297
+
OpenGL Mathematics (glm.g-truc.net)
+
tvec2< double, highp > highp_dvec2
2 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:90
diff --git a/doc/api/a00133.html b/doc/api/a00133.html index 971e52e9..da3056b2 100644 --- a/doc/api/a00133.html +++ b/doc/api/a00133.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec2.hpp File Reference + +0.9.7: type_vec1.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_vec2.hpp File Reference
+
type_vec1.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-18 / 2013-08-27
+

GLM Core

+
Date
2008-08-25 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_vec2.hpp.

+

Definition in file type_vec1.hpp.

diff --git a/doc/api/a00133_source.html b/doc/api/a00133_source.html index 5d9bdf23..0ade632a 100644 --- a/doc/api/a00133_source.html +++ b/doc/api/a00133_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec2.hpp Source File + +0.9.7: type_vec1.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_vec2.hpp
+
type_vec1.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 //#include "../fwd.hpp"
-
36 #include "type_vec.hpp"
+
35 #include "../fwd.hpp"
+
36 #include "type_vec.hpp"
37 #ifdef GLM_SWIZZLE
38 # if GLM_HAS_ANONYMOUS_UNION
39 # include "_swizzle.hpp"
@@ -63,354 +63,282 @@
43 #endif //GLM_SWIZZLE
44 #include <cstddef>
45 
-
46 namespace glm
+
46 namespace glm
47 {
48  template <typename T, precision P = defaultp>
-
49  struct tvec2
+
49  struct tvec1
50  {
-
52  // Implementation detail
-
53 
-
54  typedef tvec2<T, P> type;
-
55  typedef tvec2<bool, P> bool_type;
-
56  typedef T value_type;
-
57 
-
59  // Data
-
60 
-
61 # if GLM_HAS_ANONYMOUS_UNION
-
62  union
-
63  {
-
64  struct{ T x, y; };
-
65  struct{ T r, g; };
-
66  struct{ T s, t; };
-
67 
-
68 # ifdef GLM_SWIZZLE
-
69  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, x, y)
-
70  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, r, g)
-
71  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, s, t)
-
72  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, x, y)
-
73  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, r, g)
-
74  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, s, t)
-
75  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, x, y)
-
76  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, r, g)
-
77  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, s, t)
-
78 # endif//GLM_SWIZZLE
-
79  };
-
80 # else
-
81  union {T x, r, s;};
-
82  union {T y, g, t;};
-
83 
-
84 # ifdef GLM_SWIZZLE
-
85  GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P, tvec2, tvec2, tvec3, tvec4)
-
86 # endif//GLM_SWIZZLE
-
87 # endif
-
88 
-
90  // Component accesses
-
91 
-
92 # ifdef GLM_FORCE_SIZE_FUNC
-
93  typedef size_t size_type;
-
95  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
-
96 
-
97  GLM_FUNC_DECL T & operator[](size_type i);
-
98  GLM_FUNC_DECL T const & operator[](size_type i) const;
-
99 # else
-
100  typedef length_t length_type;
-
102  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
103 
-
104  GLM_FUNC_DECL T & operator[](length_type i);
-
105  GLM_FUNC_DECL T const & operator[](length_type i) const;
-
106 # endif//GLM_FORCE_SIZE_FUNC
-
107 
-
109  // Implicit basic constructors
+
51  // -- Implementation detail --
+
52 
+
53  typedef tvec1<T, P> type;
+
54  typedef tvec1<bool, P> bool_type;
+
55  typedef T value_type;
+
56 
+
57 # ifdef GLM_META_PROG_HELPERS
+
58  static GLM_RELAXED_CONSTEXPR length_t components = 1;
+
59  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
60 # endif//GLM_META_PROG_HELPERS
+
61 
+
62  // -- Data --
+
63 
+
64 # if GLM_HAS_ANONYMOUS_UNION
+
65  union
+
66  {
+
67  T x;
+
68  T r;
+
69  T s;
+
70 /*
+
71 # ifdef GLM_SWIZZLE
+
72  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, x)
+
73  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, r)
+
74  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, s)
+
75  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, x)
+
76  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, r)
+
77  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, s)
+
78  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, x)
+
79  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, r)
+
80  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, s)
+
81 # endif//GLM_SWIZZLE*/
+
82  };
+
83 # else
+
84  union {T x, r, s;};
+
85 /*
+
86 # ifdef GLM_SWIZZLE
+
87  GLM_SWIZZLE_GEN_VEC_FROM_VEC1(T, P, tvec2, tvec2, tvec3, tvec4)
+
88 # endif//GLM_SWIZZLE*/
+
89 # endif
+
90 
+
91  // -- Component accesses --
+
92 
+
93 # ifdef GLM_FORCE_SIZE_FUNC
+
94  typedef size_t size_type;
+
96  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
+
97 
+
98  GLM_FUNC_DECL T & operator[](size_type i);
+
99  GLM_FUNC_DECL T const & operator[](size_type i) const;
+
100 # else
+
101  typedef length_t length_type;
+
103  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
104 
+
105  GLM_FUNC_DECL T & operator[](length_type i);
+
106  GLM_FUNC_DECL T const & operator[](length_type i) const;
+
107 # endif//GLM_FORCE_SIZE_FUNC
+
108 
+
109  // -- Implicit basic constructors --
110 
-
111  GLM_FUNC_DECL tvec2();
-
112  template <precision Q>
-
113  GLM_FUNC_DECL tvec2(tvec2<T, Q> const & v);
-
114 
-
116  // Explicit basic constructors
+
111  GLM_FUNC_DECL tvec1() GLM_DEFAULT_CTOR;
+
112  GLM_FUNC_DECL tvec1(tvec1<T, P> const & v) GLM_DEFAULT;
+
113  template <precision Q>
+
114  GLM_FUNC_DECL tvec1(tvec1<T, Q> const & v);
+
115 
+
116  // -- Explicit basic constructors --
117 
-
118  GLM_FUNC_DECL explicit tvec2(ctor);
-
119  GLM_FUNC_DECL explicit tvec2(T const & s);
-
120  GLM_FUNC_DECL tvec2(T const & s1, T const & s2);
-
121 
-
123  // Conversion constructors
-
124 
-
126  template <typename A, typename B>
-
127  GLM_FUNC_DECL tvec2(A const & x, B const & y);
-
128  template <typename A, typename B>
-
129  GLM_FUNC_DECL tvec2(tvec1<A, P> const & v1, tvec1<B, P> const & v2);
-
130 
-
132  // Conversion vector constructors
-
133 
-
135  template <typename U, precision Q>
-
136  GLM_FUNC_DECL explicit tvec2(tvec3<U, Q> const & v);
-
138  template <typename U, precision Q>
-
139  GLM_FUNC_DECL explicit tvec2(tvec4<U, Q> const & v);
-
140 
-
141 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
142  template <typename U, precision Q>
-
144  GLM_FUNC_DECL explicit tvec2(tvec2<U, Q> const & v);
-
145 # else
-
146  template <typename U, precision Q>
-
148  GLM_FUNC_DECL tvec2(tvec2<U, Q> const & v);
-
149 # endif
+
118  GLM_FUNC_DECL explicit tvec1(ctor);
+
119  GLM_FUNC_DECL explicit tvec1(T const & s);
+
120 
+
121  // -- Conversion vector constructors --
+
122 
+
124  template <typename U, precision Q>
+
125  GLM_FUNC_DECL explicit tvec1(tvec2<U, Q> const & v);
+
127  template <typename U, precision Q>
+
128  GLM_FUNC_DECL explicit tvec1(tvec3<U, Q> const & v);
+
130  template <typename U, precision Q>
+
131  GLM_FUNC_DECL explicit tvec1(tvec4<U, Q> const & v);
+
132 
+
134  template <typename U, precision Q>
+
135  GLM_FUNC_DECL GLM_EXPLICIT tvec1(tvec1<U, Q> const & v);
+
136 
+
137  // -- Swizzle constructors --
+
138 
+
139 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
140  template <int E0>
+
141  GLM_FUNC_DECL tvec1(detail::_swizzle<1, T, P, tvec1<T, P>, E0, -1,-2,-3> const & that)
+
142  {
+
143  *this = that();
+
144  }
+
145 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
146 
+
147  // -- Unary arithmetic operators --
+
148 
+
149  GLM_FUNC_DECL tvec1<T, P> & operator=(tvec1<T, P> const & v) GLM_DEFAULT;
150 
-
152  // Swizzle constructors
-
153 
-
154 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
-
155  template <int E0, int E1>
-
156  GLM_FUNC_DECL tvec2(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1,-1,-2> const & that)
-
157  {
-
158  *this = that();
-
159  }
-
160 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
-
161 
-
163  // Unary arithmetic operators
-
164 
+
151  template <typename U>
+
152  GLM_FUNC_DECL tvec1<T, P> & operator=(tvec1<U, P> const & v);
+
153  template <typename U>
+
154  GLM_FUNC_DECL tvec1<T, P> & operator+=(U const & s);
+
155  template <typename U>
+
156  GLM_FUNC_DECL tvec1<T, P> & operator+=(tvec1<U, P> const & v);
+
157  template <typename U>
+
158  GLM_FUNC_DECL tvec1<T, P> & operator-=(U const & s);
+
159  template <typename U>
+
160  GLM_FUNC_DECL tvec1<T, P> & operator-=(tvec1<U, P> const & v);
+
161  template <typename U>
+
162  GLM_FUNC_DECL tvec1<T, P> & operator*=(U const & s);
+
163  template <typename U>
+
164  GLM_FUNC_DECL tvec1<T, P> & operator*=(tvec1<U, P> const & v);
165  template <typename U>
-
166  GLM_FUNC_DECL tvec2<T, P> & operator=(tvec2<U, P> const & v);
+
166  GLM_FUNC_DECL tvec1<T, P> & operator/=(U const & s);
167  template <typename U>
-
168  GLM_FUNC_DECL tvec2<T, P> & operator+=(U s);
-
169  template <typename U>
-
170  GLM_FUNC_DECL tvec2<T, P> & operator+=(tvec1<U, P> const & v);
-
171  template <typename U>
-
172  GLM_FUNC_DECL tvec2<T, P> & operator+=(tvec2<U, P> const & v);
-
173  template <typename U>
-
174  GLM_FUNC_DECL tvec2<T, P> & operator-=(U s);
-
175  template <typename U>
-
176  GLM_FUNC_DECL tvec2<T, P> & operator-=(tvec1<U, P> const & v);
-
177  template <typename U>
-
178  GLM_FUNC_DECL tvec2<T, P> & operator-=(tvec2<U, P> const & v);
+
168  GLM_FUNC_DECL tvec1<T, P> & operator/=(tvec1<U, P> const & v);
+
169 
+
170  // -- Increment and decrement operators --
+
171 
+
172  GLM_FUNC_DECL tvec1<T, P> & operator++();
+
173  GLM_FUNC_DECL tvec1<T, P> & operator--();
+
174  GLM_FUNC_DECL tvec1<T, P> operator++(int);
+
175  GLM_FUNC_DECL tvec1<T, P> operator--(int);
+
176 
+
177  // -- Unary bit operators --
+
178 
179  template <typename U>
-
180  GLM_FUNC_DECL tvec2<T, P> & operator*=(U s);
+
180  GLM_FUNC_DECL tvec1<T, P> & operator%=(U const & s);
181  template <typename U>
-
182  GLM_FUNC_DECL tvec2<T, P> & operator*=(tvec1<U, P> const & v);
+
182  GLM_FUNC_DECL tvec1<T, P> & operator%=(tvec1<U, P> const & v);
183  template <typename U>
-
184  GLM_FUNC_DECL tvec2<T, P> & operator*=(tvec2<U, P> const & v);
+
184  GLM_FUNC_DECL tvec1<T, P> & operator&=(U const & s);
185  template <typename U>
-
186  GLM_FUNC_DECL tvec2<T, P> & operator/=(U s);
+
186  GLM_FUNC_DECL tvec1<T, P> & operator&=(tvec1<U, P> const & v);
187  template <typename U>
-
188  GLM_FUNC_DECL tvec2<T, P> & operator/=(tvec1<U, P> const & v);
+
188  GLM_FUNC_DECL tvec1<T, P> & operator|=(U const & s);
189  template <typename U>
-
190  GLM_FUNC_DECL tvec2<T, P> & operator/=(tvec2<U, P> const & v);
-
191 
-
193  // Increment and decrement operators
-
194 
-
195  GLM_FUNC_DECL tvec2<T, P> & operator++();
-
196  GLM_FUNC_DECL tvec2<T, P> & operator--();
-
197  GLM_FUNC_DECL tvec2<T, P> operator++(int);
-
198  GLM_FUNC_DECL tvec2<T, P> operator--(int);
-
199 
-
201  // Unary bit operators
-
202 
-
203  template <typename U>
-
204  GLM_FUNC_DECL tvec2<T, P> & operator%= (U s);
-
205  template <typename U>
-
206  GLM_FUNC_DECL tvec2<T, P> & operator%= (tvec1<U, P> const & v);
-
207  template <typename U>
-
208  GLM_FUNC_DECL tvec2<T, P> & operator%= (tvec2<U, P> const & v);
-
209  template <typename U>
-
210  GLM_FUNC_DECL tvec2<T, P> & operator&= (U s);
-
211  template <typename U>
-
212  GLM_FUNC_DECL tvec2<T, P> & operator&= (tvec1<U, P> const & v);
-
213  template <typename U>
-
214  GLM_FUNC_DECL tvec2<T, P> & operator&= (tvec2<U, P> const & v);
-
215  template <typename U>
-
216  GLM_FUNC_DECL tvec2<T, P> & operator|= (U s);
-
217  template <typename U>
-
218  GLM_FUNC_DECL tvec2<T, P> & operator|= (tvec1<U, P> const & v);
-
219  template <typename U>
-
220  GLM_FUNC_DECL tvec2<T, P> & operator|= (tvec2<U, P> const & v);
-
221  template <typename U>
-
222  GLM_FUNC_DECL tvec2<T, P> & operator^= (U s);
-
223  template <typename U>
-
224  GLM_FUNC_DECL tvec2<T, P> & operator^= (tvec1<U, P> const & v);
-
225  template <typename U>
-
226  GLM_FUNC_DECL tvec2<T, P> & operator^= (tvec2<U, P> const & v);
-
227  template <typename U>
-
228  GLM_FUNC_DECL tvec2<T, P> & operator<<=(U s);
-
229  template <typename U>
-
230  GLM_FUNC_DECL tvec2<T, P> & operator<<=(tvec1<U, P> const & v);
-
231  template <typename U>
-
232  GLM_FUNC_DECL tvec2<T, P> & operator<<=(tvec2<U, P> const & v);
-
233  template <typename U>
-
234  GLM_FUNC_DECL tvec2<T, P> & operator>>=(U s);
-
235  template <typename U>
-
236  GLM_FUNC_DECL tvec2<T, P> & operator>>=(tvec1<U, P> const & v);
-
237  template <typename U>
-
238  GLM_FUNC_DECL tvec2<T, P> & operator>>=(tvec2<U, P> const & v);
-
239  };
-
240 
-
241  template <typename T, precision P>
-
242  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v, T const & s);
-
243 
-
244  template <typename T, precision P>
-
245  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
246 
-
247  template <typename T, precision P>
-
248  GLM_FUNC_DECL tvec2<T, P> operator+(T const & s, tvec2<T, P> const & v);
-
249 
-
250  template <typename T, precision P>
-
251  GLM_FUNC_DECL tvec2<T, P> operator+(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
252 
-
253  template <typename T, precision P>
-
254  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
255 
-
256  template <typename T, precision P>
-
257  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v, T const & s);
-
258 
-
259  template <typename T, precision P>
-
260  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
261 
-
262  template <typename T, precision P>
-
263  GLM_FUNC_DECL tvec2<T, P> operator-(T const & s, tvec2<T, P> const & v);
-
264 
-
265  template <typename T, precision P>
-
266  GLM_FUNC_DECL tvec2<T, P> operator-(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
267 
-
268  template <typename T, precision P>
-
269  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
270 
-
271  template <typename T, precision P>
-
272  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v, T const & s);
-
273 
-
274  template <typename T, precision P>
-
275  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
276 
-
277  template <typename T, precision P>
-
278  GLM_FUNC_DECL tvec2<T, P> operator*(T const & s, tvec2<T, P> const & v);
-
279 
-
280  template <typename T, precision P>
-
281  GLM_FUNC_DECL tvec2<T, P> operator*(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
282 
-
283  template <typename T, precision P>
-
284  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
285 
-
286  template <typename T, precision P>
-
287  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v, T const & s);
-
288 
-
289  template <typename T, precision P>
-
290  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
291 
-
292  template <typename T, precision P>
-
293  GLM_FUNC_DECL tvec2<T, P> operator/(T const & s, tvec2<T, P> const & v);
-
294 
-
295  template <typename T, precision P>
-
296  GLM_FUNC_DECL tvec2<T, P> operator/(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
297 
-
298  template <typename T, precision P>
-
299  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
300 
-
301  template <typename T, precision P>
-
302  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v);
-
303 
-
304  template <typename T, precision P>
-
305  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v, T const & s);
+
190  GLM_FUNC_DECL tvec1<T, P> & operator|=(tvec1<U, P> const & v);
+
191  template <typename U>
+
192  GLM_FUNC_DECL tvec1<T, P> & operator^=(U const & s);
+
193  template <typename U>
+
194  GLM_FUNC_DECL tvec1<T, P> & operator^=(tvec1<U, P> const & v);
+
195  template <typename U>
+
196  GLM_FUNC_DECL tvec1<T, P> & operator<<=(U const & s);
+
197  template <typename U>
+
198  GLM_FUNC_DECL tvec1<T, P> & operator<<=(tvec1<U, P> const & v);
+
199  template <typename U>
+
200  GLM_FUNC_DECL tvec1<T, P> & operator>>=(U const & s);
+
201  template <typename U>
+
202  GLM_FUNC_DECL tvec1<T, P> & operator>>=(tvec1<U, P> const & v);
+
203  };
+
204 
+
205  // -- Unary operators --
+
206 
+
207  template <typename T, precision P>
+
208  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v);
+
209 
+
210  // -- Binary operators --
+
211 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v, T const & s);
+
214 
+
215  template <typename T, precision P>
+
216  GLM_FUNC_DECL tvec1<T, P> operator+(T const & s, tvec1<T, P> const & v);
+
217 
+
218  template <typename T, precision P>
+
219  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
220 
+
221  template <typename T, precision P>
+
222  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v, T const & s);
+
223 
+
224  template <typename T, precision P>
+
225  GLM_FUNC_DECL tvec1<T, P> operator-(T const & s, tvec1<T, P> const & v);
+
226 
+
227  template <typename T, precision P>
+
228  GLM_FUNC_DECL tvec1<T, P> operator- (tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
229 
+
230  template <typename T, precision P>
+
231  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v, T const & s);
+
232 
+
233  template <typename T, precision P>
+
234  GLM_FUNC_DECL tvec1<T, P> operator*(T const & s, tvec1<T, P> const & v);
+
235 
+
236  template <typename T, precision P>
+
237  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
238 
+
239  template <typename T, precision P>
+
240  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v, T const & s);
+
241 
+
242  template <typename T, precision P>
+
243  GLM_FUNC_DECL tvec1<T, P> operator/(T const & s, tvec1<T, P> const & v);
+
244 
+
245  template <typename T, precision P>
+
246  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
247 
+
248  template <typename T, precision P>
+
249  GLM_FUNC_DECL tvec1<T, P> operator%(tvec1<T, P> const & v, T const & s);
+
250 
+
251  template <typename T, precision P>
+
252  GLM_FUNC_DECL tvec1<T, P> operator%(T const & s, tvec1<T, P> const & v);
+
253 
+
254  template <typename T, precision P>
+
255  GLM_FUNC_DECL tvec1<T, P> operator%(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
256 
+
257  template <typename T, precision P>
+
258  GLM_FUNC_DECL tvec1<T, P> operator&(tvec1<T, P> const & v, T const & s);
+
259 
+
260  template <typename T, precision P>
+
261  GLM_FUNC_DECL tvec1<T, P> operator&(T const & s, tvec1<T, P> const & v);
+
262 
+
263  template <typename T, precision P>
+
264  GLM_FUNC_DECL tvec1<T, P> operator&(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
265 
+
266  template <typename T, precision P>
+
267  GLM_FUNC_DECL tvec1<T, P> operator|(tvec1<T, P> const & v, T const & s);
+
268 
+
269  template <typename T, precision P>
+
270  GLM_FUNC_DECL tvec1<T, P> operator|(T const & s, tvec1<T, P> const & v);
+
271 
+
272  template <typename T, precision P>
+
273  GLM_FUNC_DECL tvec1<T, P> operator|(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
274 
+
275  template <typename T, precision P>
+
276  GLM_FUNC_DECL tvec1<T, P> operator^(tvec1<T, P> const & v, T const & s);
+
277 
+
278  template <typename T, precision P>
+
279  GLM_FUNC_DECL tvec1<T, P> operator^(T const & s, tvec1<T, P> const & v);
+
280 
+
281  template <typename T, precision P>
+
282  GLM_FUNC_DECL tvec1<T, P> operator^(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
283 
+
284  template <typename T, precision P>
+
285  GLM_FUNC_DECL tvec1<T, P> operator<<(tvec1<T, P> const & v, T const & s);
+
286 
+
287  template <typename T, precision P>
+
288  GLM_FUNC_DECL tvec1<T, P> operator<<(T const & s, tvec1<T, P> const & v);
+
289 
+
290  template <typename T, precision P>
+
291  GLM_FUNC_DECL tvec1<T, P> operator<<(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
292 
+
293  template <typename T, precision P>
+
294  GLM_FUNC_DECL tvec1<T, P> operator>>(tvec1<T, P> const & v, T const & s);
+
295 
+
296  template <typename T, precision P>
+
297  GLM_FUNC_DECL tvec1<T, P> operator>>(T const & s, tvec1<T, P> const & v);
+
298 
+
299  template <typename T, precision P>
+
300  GLM_FUNC_DECL tvec1<T, P> operator>>(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
301 
+
302  template <typename T, precision P>
+
303  GLM_FUNC_DECL tvec1<T, P> operator~(tvec1<T, P> const & v);
+
304 
+
305  // -- Boolean operators --
306 
307  template <typename T, precision P>
-
308  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
308  GLM_FUNC_DECL bool operator==(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
309 
310  template <typename T, precision P>
-
311  GLM_FUNC_DECL tvec2<T, P> operator%(T const & s, tvec2<T, P> const & v);
-
312 
-
313  template <typename T, precision P>
-
314  GLM_FUNC_DECL tvec2<T, P> operator%(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
315 
-
316  template <typename T, precision P>
-
317  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
318 
-
319  template <typename T, precision P>
-
320  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v, T const & s);
-
321 
-
322  template <typename T, precision P>
-
323  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
324 
-
325  template <typename T, precision P>
-
326  GLM_FUNC_DECL tvec2<T, P> operator&(T const & s, tvec2<T, P> const & v);
-
327 
-
328  template <typename T, precision P>
-
329  GLM_FUNC_DECL tvec2<T, P> operator&(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
330 
-
331  template <typename T, precision P>
-
332  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
333 
-
334  template <typename T, precision P>
-
335  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v, T const & s);
-
336 
-
337  template <typename T, precision P>
-
338  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
339 
-
340  template <typename T, precision P>
-
341  GLM_FUNC_DECL tvec2<T, P> operator|(T const & s, tvec2<T, P> const & v);
-
342 
-
343  template <typename T, precision P>
-
344  GLM_FUNC_DECL tvec2<T, P> operator|(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
345 
-
346  template <typename T, precision P>
-
347  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
348 
-
349  template <typename T, precision P>
-
350  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v, T const & s);
-
351 
-
352  template <typename T, precision P>
-
353  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
354 
-
355  template <typename T, precision P>
-
356  GLM_FUNC_DECL tvec2<T, P> operator^(T const & s, tvec2<T, P> const & v);
-
357 
-
358  template <typename T, precision P>
-
359  GLM_FUNC_DECL tvec2<T, P> operator^(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
360 
-
361  template <typename T, precision P>
-
362  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
363 
-
364  template <typename T, precision P>
-
365  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v, T const & s);
-
366 
-
367  template <typename T, precision P>
-
368  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
369 
-
370  template <typename T, precision P>
-
371  GLM_FUNC_DECL tvec2<T, P> operator<<(T const & s, tvec2<T, P> const & v);
-
372 
-
373  template <typename T, precision P>
-
374  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
375 
-
376  template <typename T, precision P>
-
377  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
378 
-
379  template <typename T, precision P>
-
380  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v, T const & s);
-
381 
-
382  template <typename T, precision P>
-
383  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
-
384 
-
385  template <typename T, precision P>
-
386  GLM_FUNC_DECL tvec2<T, P> operator>>(T const & s, tvec2<T, P> const & v);
-
387 
-
388  template <typename T, precision P>
-
389  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
-
390 
-
391  template <typename T, precision P>
-
392  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
393 
-
394  template <typename T, precision P>
-
395  GLM_FUNC_DECL tvec2<T, P> operator~(tvec2<T, P> const & v);
-
396 }//namespace glm
-
397 
-
398 #ifndef GLM_EXTERNAL_TEMPLATE
-
399 #include "type_vec2.inl"
-
400 #endif//GLM_EXTERNAL_TEMPLATE
+
311  GLM_FUNC_DECL bool operator!=(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
312 }//namespace glm
+
313 
+
314 #ifndef GLM_EXTERNAL_TEMPLATE
+
315 #include "type_vec1.inl"
+
316 #endif//GLM_EXTERNAL_TEMPLATE
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00134.html b/doc/api/a00134.html index c996f43e..b7fd90f8 100644 --- a/doc/api/a00134.html +++ b/doc/api/a00134.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec3.hpp File Reference + +0.9.7: type_vec2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_vec3.hpp File Reference
+
type_vec2.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2008-08-22 / 2011-06-15
+

GLM Core

+
Date
2008-08-18 / 2013-08-27
Author
Christophe Riccio
-

Definition in file type_vec3.hpp.

+

Definition in file type_vec2.hpp.

diff --git a/doc/api/a00134_source.html b/doc/api/a00134_source.html index d1ebdf01..46b5e373 100644 --- a/doc/api/a00134_source.html +++ b/doc/api/a00134_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec3.hpp Source File + +0.9.7: type_vec2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_vec3.hpp
+
type_vec2.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 //#include "../fwd.hpp"
-
36 #include "type_vec.hpp"
-
37 #ifdef GLM_SWIZZLE
-
38 # if GLM_HAS_ANONYMOUS_UNION
-
39 # include "_swizzle.hpp"
-
40 # else
-
41 # include "_swizzle_func.hpp"
-
42 # endif
-
43 #endif //GLM_SWIZZLE
-
44 #include <cstddef>
-
45 
-
46 namespace glm
-
47 {
-
48  template <typename T, precision P = defaultp>
-
49  struct tvec3
-
50  {
-
52  // Implementation detail
-
53 
-
54  typedef tvec3<T, P> type;
-
55  typedef tvec3<bool, P> bool_type;
-
56  typedef T value_type;
-
57 
-
59  // Data
+
35 #include "type_vec.hpp"
+
36 #ifdef GLM_SWIZZLE
+
37 # if GLM_HAS_ANONYMOUS_UNION
+
38 # include "_swizzle.hpp"
+
39 # else
+
40 # include "_swizzle_func.hpp"
+
41 # endif
+
42 #endif //GLM_SWIZZLE
+
43 #include <cstddef>
+
44 
+
45 namespace glm
+
46 {
+
47  template <typename T, precision P = defaultp>
+
48  struct tvec2
+
49  {
+
50  // -- Implementation detail --
+
51 
+
52  typedef tvec2<T, P> type;
+
53  typedef tvec2<bool, P> bool_type;
+
54  typedef T value_type;
+
55 
+
56 # ifdef GLM_META_PROG_HELPERS
+
57  static GLM_RELAXED_CONSTEXPR length_t components = 2;
+
58  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
59 # endif//GLM_META_PROG_HELPERS
60 
-
61 # if GLM_HAS_ANONYMOUS_UNION
-
62  union
-
63  {
-
64  struct{ T x, y, z; };
-
65  struct{ T r, g, b; };
-
66  struct{ T s, t, p; };
-
67 
-
68 # ifdef GLM_SWIZZLE
-
69  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, x, y, z)
-
70  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, r, g, b)
-
71  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, s, t, p)
-
72  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, x, y, z)
-
73  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, r, g, b)
-
74  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, s, t, p)
-
75  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, x, y, z)
-
76  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, r, g, b)
-
77  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, s, t, p)
-
78 # endif//GLM_SWIZZLE
-
79  };
-
80 # else
-
81  union { T x, r, s; };
-
82  union { T y, g, t; };
-
83  union { T z, b, p; };
-
84 
-
85 # ifdef GLM_SWIZZLE
-
86  GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P, tvec3, tvec2, tvec3, tvec4)
-
87 # endif//GLM_SWIZZLE
-
88 # endif//GLM_LANG
-
89 
-
91  // Component accesses
+
61  // -- Data --
+
62 
+
63 # if GLM_HAS_ANONYMOUS_UNION
+
64  union
+
65  {
+
66  struct{ T x, y; };
+
67  struct{ T r, g; };
+
68  struct{ T s, t; };
+
69 
+
70 # ifdef GLM_SWIZZLE
+
71  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, x, y)
+
72  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, r, g)
+
73  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, s, t)
+
74  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, x, y)
+
75  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, r, g)
+
76  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, s, t)
+
77  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, x, y)
+
78  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, r, g)
+
79  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, s, t)
+
80 # endif//GLM_SWIZZLE
+
81  };
+
82 # else
+
83  union {T x, r, s;};
+
84  union {T y, g, t;};
+
85 
+
86 # ifdef GLM_SWIZZLE
+
87  GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P, tvec2, tvec2, tvec3, tvec4)
+
88 # endif//GLM_SWIZZLE
+
89 # endif
+
90 
+
91  // -- Component accesses --
92 
93 # ifdef GLM_FORCE_SIZE_FUNC
94  typedef size_t size_type;
@@ -115,321 +118,316 @@
99  GLM_FUNC_DECL T const & operator[](size_type i) const;
100 # else
101  typedef length_t length_type;
-
103  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
103  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
104 
105  GLM_FUNC_DECL T & operator[](length_type i);
106  GLM_FUNC_DECL T const & operator[](length_type i) const;
107 # endif//GLM_FORCE_SIZE_FUNC
108 
-
110  // Implicit basic constructors
-
111 
-
112  GLM_FUNC_DECL tvec3();
-
113  template <precision Q>
-
114  GLM_FUNC_DECL tvec3(tvec3<T, Q> const & v);
+
109  // -- Implicit basic constructors --
+
110 
+
111  GLM_FUNC_DECL tvec2() GLM_DEFAULT_CTOR;
+
112  GLM_FUNC_DECL tvec2(tvec2<T, P> const & v) GLM_DEFAULT;
+
113  template <precision Q>
+
114  GLM_FUNC_DECL tvec2(tvec2<T, Q> const & v);
115 
-
117  // Explicit basic constructors
-
118 
-
119  GLM_FUNC_DECL explicit tvec3(ctor);
-
120  GLM_FUNC_DECL explicit tvec3(T const & s);
-
121  GLM_FUNC_DECL tvec3(T const & a, T const & b, T const & c);
-
122 
-
124  // Conversion scalar constructors
-
125 
-
127  template <typename A, typename B, typename C>
-
128  GLM_FUNC_DECL tvec3(A const & a, B const & b, C const & c);
-
129  template <typename A, typename B, typename C>
-
130  GLM_FUNC_DECL tvec3(tvec1<A, P> const & a, tvec1<B, P> const & b, tvec1<C, P> const & c);
+
116  // -- Explicit basic constructors --
+
117 
+
118  GLM_FUNC_DECL explicit tvec2(ctor);
+
119  GLM_FUNC_DECL explicit tvec2(T const & s);
+
120  GLM_FUNC_DECL tvec2(T const & s1, T const & s2);
+
121 
+
122  // -- Conversion constructors --
+
123 
+
125  template <typename A, typename B>
+
126  GLM_FUNC_DECL tvec2(A const & x, B const & y);
+
127  template <typename A, typename B>
+
128  GLM_FUNC_DECL tvec2(tvec1<A, P> const & v1, tvec1<B, P> const & v2);
+
129 
+
130  // -- Conversion vector constructors --
131 
-
133  // Conversion vector constructors
-
134 
-
136  template <typename A, typename B, precision Q>
-
137  GLM_FUNC_DECL explicit tvec3(tvec2<A, Q> const & a, B const & b);
-
139  template <typename A, typename B, precision Q>
-
140  GLM_FUNC_DECL explicit tvec3(tvec2<A, Q> const & a, tvec1<B, Q> const & b);
-
142  template <typename A, typename B, precision Q>
-
143  GLM_FUNC_DECL explicit tvec3(A const & a, tvec2<B, Q> const & b);
-
145  template <typename A, typename B, precision Q>
-
146  GLM_FUNC_DECL explicit tvec3(tvec1<A, Q> const & a, tvec2<B, Q> const & b);
-
148  template <typename U, precision Q>
-
149  GLM_FUNC_DECL explicit tvec3(tvec4<U, Q> const & v);
-
150 
-
151 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
152  template <typename U, precision Q>
-
154  GLM_FUNC_DECL explicit tvec3(tvec3<U, Q> const & v);
-
155 # else
-
156  template <typename U, precision Q>
-
158  GLM_FUNC_DECL tvec3(tvec3<U, Q> const & v);
-
159 # endif
-
160 
-
162  // Swizzle constructors
-
163 
-
164 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
-
165  template <int E0, int E1, int E2>
-
166  GLM_FUNC_DECL tvec3(detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & that)
-
167  {
-
168  *this = that();
-
169  }
-
170 
-
171  template <int E0, int E1>
-
172  GLM_FUNC_DECL tvec3(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & s)
-
173  {
-
174  *this = tvec3<T, P>(v(), s);
-
175  }
-
176 
-
177  template <int E0, int E1>
-
178  GLM_FUNC_DECL tvec3(T const & s, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
-
179  {
-
180  *this = tvec3<T, P>(s, v());
-
181  }
-
182 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
133  template <typename U, precision Q>
+
134  GLM_FUNC_DECL explicit tvec2(tvec3<U, Q> const & v);
+
136  template <typename U, precision Q>
+
137  GLM_FUNC_DECL explicit tvec2(tvec4<U, Q> const & v);
+
138 
+
140  template <typename U, precision Q>
+
141  GLM_FUNC_DECL GLM_EXPLICIT tvec2(tvec2<U, Q> const & v);
+
142 
+
143  // -- Swizzle constructors --
+
144 
+
145 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
146  template <int E0, int E1>
+
147  GLM_FUNC_DECL tvec2(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1,-1,-2> const & that)
+
148  {
+
149  *this = that();
+
150  }
+
151 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
152 
+
153  // -- Unary arithmetic operators --
+
154 
+
155  GLM_FUNC_DECL tvec2<T, P>& operator=(tvec2<T, P> const & v) GLM_DEFAULT;
+
156 
+
157  template <typename U>
+
158  GLM_FUNC_DECL tvec2<T, P>& operator=(tvec2<U, P> const & v);
+
159  template <typename U>
+
160  GLM_FUNC_DECL tvec2<T, P>& operator+=(U s);
+
161  template <typename U>
+
162  GLM_FUNC_DECL tvec2<T, P>& operator+=(tvec1<U, P> const & v);
+
163  template <typename U>
+
164  GLM_FUNC_DECL tvec2<T, P>& operator+=(tvec2<U, P> const & v);
+
165  template <typename U>
+
166  GLM_FUNC_DECL tvec2<T, P>& operator-=(U s);
+
167  template <typename U>
+
168  GLM_FUNC_DECL tvec2<T, P>& operator-=(tvec1<U, P> const & v);
+
169  template <typename U>
+
170  GLM_FUNC_DECL tvec2<T, P>& operator-=(tvec2<U, P> const & v);
+
171  template <typename U>
+
172  GLM_FUNC_DECL tvec2<T, P>& operator*=(U s);
+
173  template <typename U>
+
174  GLM_FUNC_DECL tvec2<T, P>& operator*=(tvec1<U, P> const & v);
+
175  template <typename U>
+
176  GLM_FUNC_DECL tvec2<T, P>& operator*=(tvec2<U, P> const & v);
+
177  template <typename U>
+
178  GLM_FUNC_DECL tvec2<T, P>& operator/=(U s);
+
179  template <typename U>
+
180  GLM_FUNC_DECL tvec2<T, P>& operator/=(tvec1<U, P> const & v);
+
181  template <typename U>
+
182  GLM_FUNC_DECL tvec2<T, P>& operator/=(tvec2<U, P> const & v);
183 
-
185  // Unary arithmetic operators
-
186 
-
187  template <typename U>
-
188  GLM_FUNC_DECL tvec3<T, P> & operator=(tvec3<U, P> const & v);
-
189  template <typename U>
-
190  GLM_FUNC_DECL tvec3<T, P> & operator+=(U s);
-
191  template <typename U>
-
192  GLM_FUNC_DECL tvec3<T, P> & operator+=(tvec1<U, P> const & v);
-
193  template <typename U>
-
194  GLM_FUNC_DECL tvec3<T, P> & operator+=(tvec3<U, P> const & v);
-
195  template <typename U>
-
196  GLM_FUNC_DECL tvec3<T, P> & operator-=(U s);
-
197  template <typename U>
-
198  GLM_FUNC_DECL tvec3<T, P> & operator-=(tvec1<U, P> const & v);
-
199  template <typename U>
-
200  GLM_FUNC_DECL tvec3<T, P> & operator-=(tvec3<U, P> const & v);
-
201  template <typename U>
-
202  GLM_FUNC_DECL tvec3<T, P> & operator*=(U s);
-
203  template <typename U>
-
204  GLM_FUNC_DECL tvec3<T, P> & operator*=(tvec1<U, P> const & v);
-
205  template <typename U>
-
206  GLM_FUNC_DECL tvec3<T, P> & operator*=(tvec3<U, P> const & v);
-
207  template <typename U>
-
208  GLM_FUNC_DECL tvec3<T, P> & operator/=(U s);
-
209  template <typename U>
-
210  GLM_FUNC_DECL tvec3<T, P> & operator/=(tvec1<U, P> const & v);
-
211  template <typename U>
-
212  GLM_FUNC_DECL tvec3<T, P> & operator/=(tvec3<U, P> const & v);
-
213 
-
215  // Increment and decrement operators
-
216 
-
217  GLM_FUNC_DECL tvec3<T, P> & operator++();
-
218  GLM_FUNC_DECL tvec3<T, P> & operator--();
-
219  GLM_FUNC_DECL tvec3<T, P> operator++(int);
-
220  GLM_FUNC_DECL tvec3<T, P> operator--(int);
-
221 
-
223  // Unary bit operators
-
224 
-
225  template <typename U>
-
226  GLM_FUNC_DECL tvec3<T, P> & operator%=(U s);
-
227  template <typename U>
-
228  GLM_FUNC_DECL tvec3<T, P> & operator%=(tvec1<U, P> const & v);
-
229  template <typename U>
-
230  GLM_FUNC_DECL tvec3<T, P> & operator%=(tvec3<U, P> const & v);
-
231  template <typename U>
-
232  GLM_FUNC_DECL tvec3<T, P> & operator&=(U s);
-
233  template <typename U>
-
234  GLM_FUNC_DECL tvec3<T, P> & operator&=(tvec1<U, P> const & v);
-
235  template <typename U>
-
236  GLM_FUNC_DECL tvec3<T, P> & operator&=(tvec3<U, P> const & v);
-
237  template <typename U>
-
238  GLM_FUNC_DECL tvec3<T, P> & operator|=(U s);
-
239  template <typename U>
-
240  GLM_FUNC_DECL tvec3<T, P> & operator|=(tvec1<U, P> const & v);
-
241  template <typename U>
-
242  GLM_FUNC_DECL tvec3<T, P> & operator|=(tvec3<U, P> const & v);
-
243  template <typename U>
-
244  GLM_FUNC_DECL tvec3<T, P> & operator^=(U s);
-
245  template <typename U>
-
246  GLM_FUNC_DECL tvec3<T, P> & operator^=(tvec1<U, P> const & v);
-
247  template <typename U>
-
248  GLM_FUNC_DECL tvec3<T, P> & operator^=(tvec3<U, P> const & v);
-
249  template <typename U>
-
250  GLM_FUNC_DECL tvec3<T, P> & operator<<=(U s);
-
251  template <typename U>
-
252  GLM_FUNC_DECL tvec3<T, P> & operator<<=(tvec1<U, P> const & v);
-
253  template <typename U>
-
254  GLM_FUNC_DECL tvec3<T, P> & operator<<=(tvec3<U, P> const & v);
-
255  template <typename U>
-
256  GLM_FUNC_DECL tvec3<T, P> & operator>>=(U s);
-
257  template <typename U>
-
258  GLM_FUNC_DECL tvec3<T, P> & operator>>=(tvec1<U, P> const & v);
-
259  template <typename U>
-
260  GLM_FUNC_DECL tvec3<T, P> & operator>>=(tvec3<U, P> const & v);
-
261  };
-
262 
-
263  template <typename T, precision P>
-
264  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v, T const & s);
-
265 
-
266  template <typename T, precision P>
-
267  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
268 
-
269  template <typename T, precision P>
-
270  GLM_FUNC_DECL tvec3<T, P> operator+(T const & s, tvec3<T, P> const & v);
-
271 
-
272  template <typename T, precision P>
-
273  GLM_FUNC_DECL tvec3<T, P> operator+(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
274 
-
275  template <typename T, precision P>
-
276  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
277 
-
278  template <typename T, precision P>
-
279  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v, T const & s);
-
280 
-
281  template <typename T, precision P>
-
282  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
283 
-
284  template <typename T, precision P>
-
285  GLM_FUNC_DECL tvec3<T, P> operator-(T const & s, tvec3<T, P> const & v);
-
286 
-
287  template <typename T, precision P>
-
288  GLM_FUNC_DECL tvec3<T, P> operator-(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
289 
-
290  template <typename T, precision P>
-
291  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
292 
-
293  template <typename T, precision P>
-
294  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, T const & s);
-
295 
-
296  template <typename T, precision P>
-
297  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
298 
-
299  template <typename T, precision P>
-
300  GLM_FUNC_DECL tvec3<T, P> operator*(T const & s, tvec3<T, P> const & v);
-
301 
-
302  template <typename T, precision P>
-
303  GLM_FUNC_DECL tvec3<T, P> operator*(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
304 
-
305  template <typename T, precision P>
-
306  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
307 
-
308  template <typename T, precision P>
-
309  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v, T const & s);
-
310 
-
311  template <typename T, precision P>
-
312  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
313 
-
314  template <typename T, precision P>
-
315  GLM_FUNC_DECL tvec3<T, P> operator/(T const & s, tvec3<T, P> const & v);
-
316 
-
317  template <typename T, precision P>
-
318  GLM_FUNC_DECL tvec3<T, P> operator/(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
319 
-
320  template <typename T, precision P>
-
321  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
322 
-
323  template <typename T, precision P>
-
324  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v);
-
325 
-
326  template <typename T, precision P>
-
327  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v, T const & s);
-
328 
-
329  template <typename T, precision P>
-
330  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
331 
-
332  template <typename T, precision P>
-
333  GLM_FUNC_DECL tvec3<T, P> operator%(T const & s, tvec3<T, P> const & v);
-
334 
-
335  template <typename T, precision P>
-
336  GLM_FUNC_DECL tvec3<T, P> operator%(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
337 
-
338  template <typename T, precision P>
-
339  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
340 
-
341  template <typename T, precision P>
-
342  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v, T const & s);
-
343 
-
344  template <typename T, precision P>
-
345  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
346 
-
347  template <typename T, precision P>
-
348  GLM_FUNC_DECL tvec3<T, P> operator&(T const & s, tvec3<T, P> const & v);
-
349 
-
350  template <typename T, precision P>
-
351  GLM_FUNC_DECL tvec3<T, P> operator&(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
352 
-
353  template <typename T, precision P>
-
354  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
355 
-
356  template <typename T, precision P>
-
357  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v, T const & s);
-
358 
-
359  template <typename T, precision P>
-
360  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
361 
-
362  template <typename T, precision P>
-
363  GLM_FUNC_DECL tvec3<T, P> operator|(T const & s, tvec3<T, P> const & v);
-
364 
-
365  template <typename T, precision P>
-
366  GLM_FUNC_DECL tvec3<T, P> operator|(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
367 
-
368  template <typename T, precision P>
-
369  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
370 
-
371  template <typename T, precision P>
-
372  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v, T const & s);
-
373 
-
374  template <typename T, precision P>
-
375  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
376 
-
377  template <typename T, precision P>
-
378  GLM_FUNC_DECL tvec3<T, P> operator^(T const & s, tvec3<T, P> const & v);
-
379 
-
380  template <typename T, precision P>
-
381  GLM_FUNC_DECL tvec3<T, P> operator^(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
382 
-
383  template <typename T, precision P>
-
384  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
385 
-
386  template <typename T, precision P>
-
387  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v, T const & s);
-
388 
-
389  template <typename T, precision P>
-
390  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
391 
-
392  template <typename T, precision P>
-
393  GLM_FUNC_DECL tvec3<T, P> operator<<(T const & s, tvec3<T, P> const & v);
-
394 
-
395  template <typename T, precision P>
-
396  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
397 
-
398  template <typename T, precision P>
-
399  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
400 
-
401  template <typename T, precision P>
-
402  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v, T const & s);
-
403 
-
404  template <typename T, precision P>
-
405  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v, tvec1<T, P> const & s);
-
406 
-
407  template <typename T, precision P>
-
408  GLM_FUNC_DECL tvec3<T, P> operator>>(T const & s, tvec3<T, P> const & v);
-
409 
-
410  template <typename T, precision P>
-
411  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec1<T, P> const & s, tvec3<T, P> const & v);
-
412 
-
413  template <typename T, precision P>
-
414  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
415 
-
416  template <typename T, precision P>
-
417  GLM_FUNC_DECL tvec3<T, P> operator~(tvec3<T, P> const & v);
-
418 }//namespace glm
-
419 
-
420 #ifndef GLM_EXTERNAL_TEMPLATE
-
421 #include "type_vec3.inl"
-
422 #endif//GLM_EXTERNAL_TEMPLATE
+
184  // -- Increment and decrement operators --
+
185 
+
186  GLM_FUNC_DECL tvec2<T, P> & operator++();
+
187  GLM_FUNC_DECL tvec2<T, P> & operator--();
+
188  GLM_FUNC_DECL tvec2<T, P> operator++(int);
+
189  GLM_FUNC_DECL tvec2<T, P> operator--(int);
+
190 
+
191  // -- Unary bit operators --
+
192 
+
193  template <typename U>
+
194  GLM_FUNC_DECL tvec2<T, P> & operator%=(U s);
+
195  template <typename U>
+
196  GLM_FUNC_DECL tvec2<T, P> & operator%=(tvec1<U, P> const & v);
+
197  template <typename U>
+
198  GLM_FUNC_DECL tvec2<T, P> & operator%=(tvec2<U, P> const & v);
+
199  template <typename U>
+
200  GLM_FUNC_DECL tvec2<T, P> & operator&=(U s);
+
201  template <typename U>
+
202  GLM_FUNC_DECL tvec2<T, P> & operator&=(tvec1<U, P> const & v);
+
203  template <typename U>
+
204  GLM_FUNC_DECL tvec2<T, P> & operator&=(tvec2<U, P> const & v);
+
205  template <typename U>
+
206  GLM_FUNC_DECL tvec2<T, P> & operator|=(U s);
+
207  template <typename U>
+
208  GLM_FUNC_DECL tvec2<T, P> & operator|=(tvec1<U, P> const & v);
+
209  template <typename U>
+
210  GLM_FUNC_DECL tvec2<T, P> & operator|=(tvec2<U, P> const & v);
+
211  template <typename U>
+
212  GLM_FUNC_DECL tvec2<T, P> & operator^=(U s);
+
213  template <typename U>
+
214  GLM_FUNC_DECL tvec2<T, P> & operator^=(tvec1<U, P> const & v);
+
215  template <typename U>
+
216  GLM_FUNC_DECL tvec2<T, P> & operator^=(tvec2<U, P> const & v);
+
217  template <typename U>
+
218  GLM_FUNC_DECL tvec2<T, P> & operator<<=(U s);
+
219  template <typename U>
+
220  GLM_FUNC_DECL tvec2<T, P> & operator<<=(tvec1<U, P> const & v);
+
221  template <typename U>
+
222  GLM_FUNC_DECL tvec2<T, P> & operator<<=(tvec2<U, P> const & v);
+
223  template <typename U>
+
224  GLM_FUNC_DECL tvec2<T, P> & operator>>=(U s);
+
225  template <typename U>
+
226  GLM_FUNC_DECL tvec2<T, P> & operator>>=(tvec1<U, P> const & v);
+
227  template <typename U>
+
228  GLM_FUNC_DECL tvec2<T, P> & operator>>=(tvec2<U, P> const & v);
+
229  };
+
230 
+
231  // -- Unary operators --
+
232 
+
233  template <typename T, precision P>
+
234  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v);
+
235 
+
236  // -- Binary operators --
+
237 
+
238  template <typename T, precision P>
+
239  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v, T const & s);
+
240 
+
241  template <typename T, precision P>
+
242  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
243 
+
244  template <typename T, precision P>
+
245  GLM_FUNC_DECL tvec2<T, P> operator+(T const & s, tvec2<T, P> const & v);
+
246 
+
247  template <typename T, precision P>
+
248  GLM_FUNC_DECL tvec2<T, P> operator+(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
249 
+
250  template <typename T, precision P>
+
251  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
252 
+
253  template <typename T, precision P>
+
254  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v, T const & s);
+
255 
+
256  template <typename T, precision P>
+
257  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
258 
+
259  template <typename T, precision P>
+
260  GLM_FUNC_DECL tvec2<T, P> operator-(T const & s, tvec2<T, P> const & v);
+
261 
+
262  template <typename T, precision P>
+
263  GLM_FUNC_DECL tvec2<T, P> operator-(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
264 
+
265  template <typename T, precision P>
+
266  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
267 
+
268  template <typename T, precision P>
+
269  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v, T const & s);
+
270 
+
271  template <typename T, precision P>
+
272  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
273 
+
274  template <typename T, precision P>
+
275  GLM_FUNC_DECL tvec2<T, P> operator*(T const & s, tvec2<T, P> const & v);
+
276 
+
277  template <typename T, precision P>
+
278  GLM_FUNC_DECL tvec2<T, P> operator*(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
279 
+
280  template <typename T, precision P>
+
281  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
282 
+
283  template <typename T, precision P>
+
284  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v, T const & s);
+
285 
+
286  template <typename T, precision P>
+
287  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
288 
+
289  template <typename T, precision P>
+
290  GLM_FUNC_DECL tvec2<T, P> operator/(T const & s, tvec2<T, P> const & v);
+
291 
+
292  template <typename T, precision P>
+
293  GLM_FUNC_DECL tvec2<T, P> operator/(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
294 
+
295  template <typename T, precision P>
+
296  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
297 
+
298  template <typename T, precision P>
+
299  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v);
+
300 
+
301  template <typename T, precision P>
+
302  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v, T const & s);
+
303 
+
304  template <typename T, precision P>
+
305  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
306 
+
307  template <typename T, precision P>
+
308  GLM_FUNC_DECL tvec2<T, P> operator%(T const & s, tvec2<T, P> const & v);
+
309 
+
310  template <typename T, precision P>
+
311  GLM_FUNC_DECL tvec2<T, P> operator%(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
312 
+
313  template <typename T, precision P>
+
314  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
315 
+
316  template <typename T, precision P>
+
317  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v, T const & s);
+
318 
+
319  template <typename T, precision P>
+
320  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
321 
+
322  template <typename T, precision P>
+
323  GLM_FUNC_DECL tvec2<T, P> operator&(T const & s, tvec2<T, P> const & v);
+
324 
+
325  template <typename T, precision P>
+
326  GLM_FUNC_DECL tvec2<T, P> operator&(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
327 
+
328  template <typename T, precision P>
+
329  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
330 
+
331  template <typename T, precision P>
+
332  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v, T const & s);
+
333 
+
334  template <typename T, precision P>
+
335  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
336 
+
337  template <typename T, precision P>
+
338  GLM_FUNC_DECL tvec2<T, P> operator|(T const & s, tvec2<T, P> const & v);
+
339 
+
340  template <typename T, precision P>
+
341  GLM_FUNC_DECL tvec2<T, P> operator|(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
342 
+
343  template <typename T, precision P>
+
344  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
345 
+
346  template <typename T, precision P>
+
347  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v, T const & s);
+
348 
+
349  template <typename T, precision P>
+
350  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
351 
+
352  template <typename T, precision P>
+
353  GLM_FUNC_DECL tvec2<T, P> operator^(T const & s, tvec2<T, P> const & v);
+
354 
+
355  template <typename T, precision P>
+
356  GLM_FUNC_DECL tvec2<T, P> operator^(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
357 
+
358  template <typename T, precision P>
+
359  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
360 
+
361  template <typename T, precision P>
+
362  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v, T const & s);
+
363 
+
364  template <typename T, precision P>
+
365  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
366 
+
367  template <typename T, precision P>
+
368  GLM_FUNC_DECL tvec2<T, P> operator<<(T const & s, tvec2<T, P> const & v);
+
369 
+
370  template <typename T, precision P>
+
371  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
372 
+
373  template <typename T, precision P>
+
374  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
375 
+
376  template <typename T, precision P>
+
377  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v, T const & s);
+
378 
+
379  template <typename T, precision P>
+
380  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
381 
+
382  template <typename T, precision P>
+
383  GLM_FUNC_DECL tvec2<T, P> operator>>(T const & s, tvec2<T, P> const & v);
+
384 
+
385  template <typename T, precision P>
+
386  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
387 
+
388  template <typename T, precision P>
+
389  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
390 
+
391  template <typename T, precision P>
+
392  GLM_FUNC_DECL tvec2<T, P> operator~(tvec2<T, P> const & v);
+
393 
+
394  // -- Boolean operators --
+
395 
+
396  template <typename T, precision P>
+
397  GLM_FUNC_DECL bool operator==(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
398 
+
399  template <typename T, precision P>
+
400  GLM_FUNC_DECL bool operator!=(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
401 }//namespace glm
+
402 
+
403 #ifndef GLM_EXTERNAL_TEMPLATE
+
404 #include "type_vec2.inl"
+
405 #endif//GLM_EXTERNAL_TEMPLATE
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00135.html b/doc/api/a00135.html index 8bcf4a08..42a2af9f 100644 --- a/doc/api/a00135.html +++ b/doc/api/a00135.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec4.hpp File Reference + +0.9.7: type_vec3.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_vec4.hpp File Reference
+
type_vec3.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2008-08-22 / 2011-06-15
Author
Christophe Riccio
-

Definition in file type_vec4.hpp.

+

Definition in file type_vec3.hpp.

diff --git a/doc/api/a00135_source.html b/doc/api/a00135_source.html index f91486a9..a7e2ea50 100644 --- a/doc/api/a00135_source.html +++ b/doc/api/a00135_source.html @@ -3,8 +3,8 @@ - -0.9.6: type_vec4.hpp Source File + +0.9.7: type_vec3.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
type_vec4.hpp
+
type_vec3.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 //#include "../fwd.hpp"
-
36 #include "setup.hpp"
-
37 #include "type_vec.hpp"
-
38 #ifdef GLM_SWIZZLE
-
39 # if GLM_HAS_ANONYMOUS_UNION
-
40 # include "_swizzle.hpp"
-
41 # else
-
42 # include "_swizzle_func.hpp"
-
43 # endif
-
44 #endif //GLM_SWIZZLE
-
45 #include <cstddef>
-
46 
-
47 namespace glm{
-
48 namespace detail
-
49 {
-
50  template <typename T>
-
51  struct simd
-
52  {
-
53  typedef T type[4];
-
54  };
+
35 #include "type_vec.hpp"
+
36 #ifdef GLM_SWIZZLE
+
37 # if GLM_HAS_ANONYMOUS_UNION
+
38 # include "_swizzle.hpp"
+
39 # else
+
40 # include "_swizzle_func.hpp"
+
41 # endif
+
42 #endif //GLM_SWIZZLE
+
43 #include <cstddef>
+
44 
+
45 namespace glm
+
46 {
+
47  template <typename T, precision P = defaultp>
+
48  struct tvec3
+
49  {
+
50  // -- Implementation detail --
+
51 
+
52  typedef tvec3<T, P> type;
+
53  typedef tvec3<bool, P> bool_type;
+
54  typedef T value_type;
55 
-
56 # if GLM_ARCH & GLM_ARCH_SSE2
-
57  template <>
-
58  struct simd<float>
-
59  {
-
60  typedef __m128 type;
-
61  };
+
56 # ifdef GLM_META_PROG_HELPERS
+
57  static GLM_RELAXED_CONSTEXPR length_t components = 3;
+
58  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
59 # endif//GLM_META_PROG_HELPERS
+
60 
+
61  // -- Data --
62 
-
63  template <>
-
64  struct simd<int>
-
65  {
-
66  typedef __m128i type;
-
67  };
-
68 
-
69  template <>
-
70  struct simd<unsigned int>
-
71  {
-
72  typedef __m128i type;
-
73  };
-
74 # endif
-
75 
-
76 # if GLM_ARCH & GLM_ARCH_AVX
-
77  template <>
-
78  struct simd<double>
-
79  {
-
80  typedef __m256d type;
-
81  };
-
82 # endif
-
83 
-
84 # if GLM_ARCH & GLM_ARCH_AVX2
-
85  template <>
-
86  struct simd<int64>
-
87  {
-
88  typedef __m256i type;
-
89  };
-
90 
-
91  template <>
-
92  struct simd<uint64>
-
93  {
-
94  typedef __m256i type;
-
95  };
-
96 # endif
-
97 
-
98 }//namespace detail
-
99 
-
100  template <typename T, precision P = defaultp>
-
101  struct tvec4
-
102  {
-
104  // Implementation detail
+
63 # if GLM_HAS_ANONYMOUS_UNION
+
64  union
+
65  {
+
66  struct{ T x, y, z; };
+
67  struct{ T r, g, b; };
+
68  struct{ T s, t, p; };
+
69 
+
70 # ifdef GLM_SWIZZLE
+
71  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, x, y, z)
+
72  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, r, g, b)
+
73  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, s, t, p)
+
74  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, x, y, z)
+
75  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, r, g, b)
+
76  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, s, t, p)
+
77  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, x, y, z)
+
78  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, r, g, b)
+
79  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, s, t, p)
+
80 # endif//GLM_SWIZZLE
+
81  };
+
82 # else
+
83  union { T x, r, s; };
+
84  union { T y, g, t; };
+
85  union { T z, b, p; };
+
86 
+
87 # ifdef GLM_SWIZZLE
+
88  GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P, tvec3, tvec2, tvec3, tvec4)
+
89 # endif//GLM_SWIZZLE
+
90 # endif//GLM_LANG
+
91 
+
92  // -- Component accesses --
+
93 
+
94 # ifdef GLM_FORCE_SIZE_FUNC
+
95  typedef size_t size_type;
+
97  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
+
98 
+
99  GLM_FUNC_DECL T & operator[](size_type i);
+
100  GLM_FUNC_DECL T const & operator[](size_type i) const;
+
101 # else
+
102  typedef length_t length_type;
+
104  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
105 
-
106  typedef tvec4<T, P> type;
-
107  typedef tvec4<bool, P> bool_type;
-
108  typedef T value_type;
+
106  GLM_FUNC_DECL T & operator[](length_type i);
+
107  GLM_FUNC_DECL T const & operator[](length_type i) const;
+
108 # endif//GLM_FORCE_SIZE_FUNC
109 
-
111  // Data
-
112 
-
113 # if GLM_HAS_ANONYMOUS_UNION
-
114  union
-
115  {
-
116  typename detail::simd<T>::type data;
-
117  struct { T r, g, b, a; };
-
118  struct { T s, t, p, q; };
-
119  struct { T x, y, z, w;};
-
120 
-
121 # ifdef GLM_SWIZZLE
-
122  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, x, y, z, w)
-
123  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, r, g, b, a)
-
124  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, s, t, p, q)
-
125  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, x, y, z, w)
-
126  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, r, g, b, a)
-
127  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, s, t, p, q)
-
128  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, x, y, z, w)
-
129  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, r, g, b, a)
-
130  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, s, t, p, q)
-
131 # endif//GLM_SWIZZLE
-
132  };
-
133 # else
-
134  union { T x, r, s; };
-
135  union { T y, g, t; };
-
136  union { T z, b, p; };
-
137  union { T w, a, q; };
-
138 
-
139 # ifdef GLM_SWIZZLE
-
140  GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P, tvec4, tvec2, tvec3, tvec4)
-
141 # endif//GLM_SWIZZLE
-
142 # endif//GLM_LANG
-
143 
-
145  // Component accesses
-
146 
-
147 # ifdef GLM_FORCE_SIZE_FUNC
-
148  typedef size_t size_type;
-
150  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
-
151 
-
152  GLM_FUNC_DECL T & operator[](size_type i);
-
153  GLM_FUNC_DECL T const & operator[](size_type i) const;
-
154 # else
-
155  typedef length_t length_type;
-
157  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
-
158 
-
159  GLM_FUNC_DECL T & operator[](length_type i);
-
160  GLM_FUNC_DECL T const & operator[](length_type i) const;
-
161 # endif//GLM_FORCE_SIZE_FUNC
-
162 
-
164  // Implicit basic constructors
-
165 
-
166  GLM_FUNC_DECL tvec4();
-
167  template <precision Q>
-
168  GLM_FUNC_DECL tvec4(tvec4<T, Q> const & v);
-
169 
-
171  // Explicit basic constructors
-
172 
-
173  GLM_FUNC_DECL explicit tvec4(ctor);
-
174  GLM_FUNC_DECL explicit tvec4(T s);
-
175  GLM_FUNC_DECL tvec4(T a, T b, T c, T d);
-
176  GLM_FUNC_DECL ~tvec4(){}
-
177 
-
179  // Conversion scalar constructors
-
180 
-
182  template <typename A, typename B, typename C, typename D>
-
183  GLM_FUNC_DECL tvec4(A a, B b, C c, D d);
-
184  template <typename A, typename B, typename C, typename D>
-
185  GLM_FUNC_DECL tvec4(tvec1<A, P> const & a, tvec1<B, P> const & b, tvec1<C, P> const & c, tvec1<D, P> const & d);
-
186 
-
188  // Conversion vector constructors
-
189 
-
191  template <typename A, typename B, typename C, precision Q>
-
192  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, B b, C c);
-
194  template <typename A, typename B, typename C, precision Q>
-
195  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, tvec1<B, Q> const & b, tvec1<C, Q> const & c);
-
197  template <typename A, typename B, typename C, precision Q>
-
198  GLM_FUNC_DECL explicit tvec4(A a, tvec2<B, Q> const & b, C c);
-
200  template <typename A, typename B, typename C, precision Q>
-
201  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec2<B, Q> const & b, tvec1<C, Q> const & c);
-
203  template <typename A, typename B, typename C, precision Q>
-
204  GLM_FUNC_DECL explicit tvec4(A a, B b, tvec2<C, Q> const & c);
-
206  template <typename A, typename B, typename C, precision Q>
-
207  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec1<B, Q> const & b, tvec2<C, Q> const & c);
-
209  template <typename A, typename B, precision Q>
-
210  GLM_FUNC_DECL explicit tvec4(tvec3<A, Q> const & a, B b);
-
212  template <typename A, typename B, precision Q>
-
213  GLM_FUNC_DECL explicit tvec4(tvec3<A, Q> const & a, tvec1<B, Q> const & b);
-
215  template <typename A, typename B, precision Q>
-
216  GLM_FUNC_DECL explicit tvec4(A a, tvec3<B, Q> const & b);
-
218  template <typename A, typename B, precision Q>
-
219  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec3<B, Q> const & b);
-
221  template <typename A, typename B, precision Q>
-
222  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, tvec2<B, Q> const & b);
-
223 
-
224 # ifdef GLM_FORCE_EXPLICIT_CTOR
-
225  template <typename U, precision Q>
-
227  GLM_FUNC_DECL explicit tvec4(tvec4<U, Q> const & v);
-
228 # else
-
229  template <typename U, precision Q>
-
231  GLM_FUNC_DECL tvec4(tvec4<U, Q> const & v);
-
232 # endif
-
233 
-
235  // Swizzle constructors
-
236 
-
237 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
-
238  template <int E0, int E1, int E2, int E3>
-
239  GLM_FUNC_DECL tvec4(detail::_swizzle<4, T, P, tvec4<T, P>, E0, E1, E2, E3> const & that)
-
240  {
-
241  *this = that();
-
242  }
-
243 
-
244  template <int E0, int E1, int F0, int F1>
-
245  GLM_FUNC_DECL tvec4(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, detail::_swizzle<2, T, P, tvec2<T, P>, F0, F1, -1, -2> const & u)
-
246  {
-
247  *this = tvec4<T, P>(v(), u());
-
248  }
-
249 
-
250  template <int E0, int E1>
-
251  GLM_FUNC_DECL tvec4(T const & x, T const & y, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
-
252  {
-
253  *this = tvec4<T, P>(x, y, v());
-
254  }
-
255 
-
256  template <int E0, int E1>
-
257  GLM_FUNC_DECL tvec4(T const & x, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & w)
-
258  {
-
259  *this = tvec4<T, P>(x, v(), w);
-
260  }
-
261 
-
262  template <int E0, int E1>
-
263  GLM_FUNC_DECL tvec4(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & z, T const & w)
-
264  {
-
265  *this = tvec4<T, P>(v(), z, w);
-
266  }
-
267 
-
268  template <int E0, int E1, int E2>
-
269  GLM_FUNC_DECL tvec4(detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v, T const & w)
-
270  {
-
271  *this = tvec4<T, P>(v(), w);
-
272  }
-
273 
-
274  template <int E0, int E1, int E2>
-
275  GLM_FUNC_DECL tvec4(T const & x, detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v)
-
276  {
-
277  *this = tvec4<T, P>(x, v());
-
278  }
-
279 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
110  // -- Implicit basic constructors --
+
111 
+
112  GLM_FUNC_DECL tvec3() GLM_DEFAULT_CTOR;
+
113  GLM_FUNC_DECL tvec3(tvec3<T, P> const & v) GLM_DEFAULT;
+
114  template <precision Q>
+
115  GLM_FUNC_DECL tvec3(tvec3<T, Q> const & v);
+
116 
+
117  // -- Explicit basic constructors --
+
118 
+
119  GLM_FUNC_DECL explicit tvec3(ctor);
+
120  GLM_FUNC_DECL explicit tvec3(T const & s);
+
121  GLM_FUNC_DECL tvec3(T const & a, T const & b, T const & c);
+
122 
+
123  // -- Conversion scalar constructors --
+
124 
+
126  template <typename A, typename B, typename C>
+
127  GLM_FUNC_DECL tvec3(A const & a, B const & b, C const & c);
+
128  template <typename A, typename B, typename C>
+
129  GLM_FUNC_DECL tvec3(tvec1<A, P> const & a, tvec1<B, P> const & b, tvec1<C, P> const & c);
+
130 
+
131  // -- Conversion vector constructors --
+
132 
+
134  template <typename A, typename B, precision Q>
+
135  GLM_FUNC_DECL explicit tvec3(tvec2<A, Q> const & a, B const & b);
+
137  template <typename A, typename B, precision Q>
+
138  GLM_FUNC_DECL explicit tvec3(tvec2<A, Q> const & a, tvec1<B, Q> const & b);
+
140  template <typename A, typename B, precision Q>
+
141  GLM_FUNC_DECL explicit tvec3(A const & a, tvec2<B, Q> const & b);
+
143  template <typename A, typename B, precision Q>
+
144  GLM_FUNC_DECL explicit tvec3(tvec1<A, Q> const & a, tvec2<B, Q> const & b);
+
146  template <typename U, precision Q>
+
147  GLM_FUNC_DECL explicit tvec3(tvec4<U, Q> const & v);
+
148 
+
150  template <typename U, precision Q>
+
151  GLM_FUNC_DECL GLM_EXPLICIT tvec3(tvec3<U, Q> const & v);
+
152 
+
153  // -- Swizzle constructors --
+
154 
+
155 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
156  template <int E0, int E1, int E2>
+
157  GLM_FUNC_DECL tvec3(detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & that)
+
158  {
+
159  *this = that();
+
160  }
+
161 
+
162  template <int E0, int E1>
+
163  GLM_FUNC_DECL tvec3(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & s)
+
164  {
+
165  *this = tvec3<T, P>(v(), s);
+
166  }
+
167 
+
168  template <int E0, int E1>
+
169  GLM_FUNC_DECL tvec3(T const & s, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
+
170  {
+
171  *this = tvec3<T, P>(s, v());
+
172  }
+
173 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
174 
+
175  // -- Unary arithmetic operators --
+
176 
+
177  GLM_FUNC_DECL tvec3<T, P> & operator=(tvec3<T, P> const & v) GLM_DEFAULT;
+
178 
+
179  template <typename U>
+
180  GLM_FUNC_DECL tvec3<T, P> & operator=(tvec3<U, P> const & v);
+
181  template <typename U>
+
182  GLM_FUNC_DECL tvec3<T, P> & operator+=(U s);
+
183  template <typename U>
+
184  GLM_FUNC_DECL tvec3<T, P> & operator+=(tvec1<U, P> const & v);
+
185  template <typename U>
+
186  GLM_FUNC_DECL tvec3<T, P> & operator+=(tvec3<U, P> const & v);
+
187  template <typename U>
+
188  GLM_FUNC_DECL tvec3<T, P> & operator-=(U s);
+
189  template <typename U>
+
190  GLM_FUNC_DECL tvec3<T, P> & operator-=(tvec1<U, P> const & v);
+
191  template <typename U>
+
192  GLM_FUNC_DECL tvec3<T, P> & operator-=(tvec3<U, P> const & v);
+
193  template <typename U>
+
194  GLM_FUNC_DECL tvec3<T, P> & operator*=(U s);
+
195  template <typename U>
+
196  GLM_FUNC_DECL tvec3<T, P> & operator*=(tvec1<U, P> const & v);
+
197  template <typename U>
+
198  GLM_FUNC_DECL tvec3<T, P> & operator*=(tvec3<U, P> const & v);
+
199  template <typename U>
+
200  GLM_FUNC_DECL tvec3<T, P> & operator/=(U s);
+
201  template <typename U>
+
202  GLM_FUNC_DECL tvec3<T, P> & operator/=(tvec1<U, P> const & v);
+
203  template <typename U>
+
204  GLM_FUNC_DECL tvec3<T, P> & operator/=(tvec3<U, P> const & v);
+
205 
+
206  // -- Increment and decrement operators --
+
207 
+
208  GLM_FUNC_DECL tvec3<T, P> & operator++();
+
209  GLM_FUNC_DECL tvec3<T, P> & operator--();
+
210  GLM_FUNC_DECL tvec3<T, P> operator++(int);
+
211  GLM_FUNC_DECL tvec3<T, P> operator--(int);
+
212 
+
213  // -- Unary bit operators --
+
214 
+
215  template <typename U>
+
216  GLM_FUNC_DECL tvec3<T, P> & operator%=(U s);
+
217  template <typename U>
+
218  GLM_FUNC_DECL tvec3<T, P> & operator%=(tvec1<U, P> const & v);
+
219  template <typename U>
+
220  GLM_FUNC_DECL tvec3<T, P> & operator%=(tvec3<U, P> const & v);
+
221  template <typename U>
+
222  GLM_FUNC_DECL tvec3<T, P> & operator&=(U s);
+
223  template <typename U>
+
224  GLM_FUNC_DECL tvec3<T, P> & operator&=(tvec1<U, P> const & v);
+
225  template <typename U>
+
226  GLM_FUNC_DECL tvec3<T, P> & operator&=(tvec3<U, P> const & v);
+
227  template <typename U>
+
228  GLM_FUNC_DECL tvec3<T, P> & operator|=(U s);
+
229  template <typename U>
+
230  GLM_FUNC_DECL tvec3<T, P> & operator|=(tvec1<U, P> const & v);
+
231  template <typename U>
+
232  GLM_FUNC_DECL tvec3<T, P> & operator|=(tvec3<U, P> const & v);
+
233  template <typename U>
+
234  GLM_FUNC_DECL tvec3<T, P> & operator^=(U s);
+
235  template <typename U>
+
236  GLM_FUNC_DECL tvec3<T, P> & operator^=(tvec1<U, P> const & v);
+
237  template <typename U>
+
238  GLM_FUNC_DECL tvec3<T, P> & operator^=(tvec3<U, P> const & v);
+
239  template <typename U>
+
240  GLM_FUNC_DECL tvec3<T, P> & operator<<=(U s);
+
241  template <typename U>
+
242  GLM_FUNC_DECL tvec3<T, P> & operator<<=(tvec1<U, P> const & v);
+
243  template <typename U>
+
244  GLM_FUNC_DECL tvec3<T, P> & operator<<=(tvec3<U, P> const & v);
+
245  template <typename U>
+
246  GLM_FUNC_DECL tvec3<T, P> & operator>>=(U s);
+
247  template <typename U>
+
248  GLM_FUNC_DECL tvec3<T, P> & operator>>=(tvec1<U, P> const & v);
+
249  template <typename U>
+
250  GLM_FUNC_DECL tvec3<T, P> & operator>>=(tvec3<U, P> const & v);
+
251  };
+
252 
+
253  // -- Unary operators --
+
254 
+
255  template <typename T, precision P>
+
256  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v);
+
257 
+
258  // -- Binary operators --
+
259 
+
260  template <typename T, precision P>
+
261  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v, T const & s);
+
262 
+
263  template <typename T, precision P>
+
264  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
265 
+
266  template <typename T, precision P>
+
267  GLM_FUNC_DECL tvec3<T, P> operator+(T const & s, tvec3<T, P> const & v);
+
268 
+
269  template <typename T, precision P>
+
270  GLM_FUNC_DECL tvec3<T, P> operator+(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
271 
+
272  template <typename T, precision P>
+
273  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
274 
+
275  template <typename T, precision P>
+
276  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v, T const & s);
+
277 
+
278  template <typename T, precision P>
+
279  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v, tvec1<T, P> const & s);
280 
-
282  // Unary arithmetic operators
+
281  template <typename T, precision P>
+
282  GLM_FUNC_DECL tvec3<T, P> operator-(T const & s, tvec3<T, P> const & v);
283 
-
284  template <typename U>
-
285  GLM_FUNC_DECL tvec4<T, P> & operator=(tvec4<U, P> const & v);
-
286  template <typename U>
-
287  GLM_FUNC_DECL tvec4<T, P> & operator+=(U scalar);
-
288  template <typename U>
-
289  GLM_FUNC_DECL tvec4<T, P> & operator+=(tvec1<U, P> const & v);
-
290  template <typename U>
-
291  GLM_FUNC_DECL tvec4<T, P> & operator+=(tvec4<U, P> const & v);
-
292  template <typename U>
-
293  GLM_FUNC_DECL tvec4<T, P> & operator-=(U scalar);
-
294  template <typename U>
-
295  GLM_FUNC_DECL tvec4<T, P> & operator-=(tvec1<U, P> const & v);
-
296  template <typename U>
-
297  GLM_FUNC_DECL tvec4<T, P> & operator-=(tvec4<U, P> const & v);
-
298  template <typename U>
-
299  GLM_FUNC_DECL tvec4<T, P> & operator*=(U scalar);
-
300  template <typename U>
-
301  GLM_FUNC_DECL tvec4<T, P> & operator*=(tvec1<U, P> const & v);
-
302  template <typename U>
-
303  GLM_FUNC_DECL tvec4<T, P> & operator*=(tvec4<U, P> const & v);
-
304  template <typename U>
-
305  GLM_FUNC_DECL tvec4<T, P> & operator/=(U scalar);
-
306  template <typename U>
-
307  GLM_FUNC_DECL tvec4<T, P> & operator/=(tvec1<U, P> const & v);
-
308  template <typename U>
-
309  GLM_FUNC_DECL tvec4<T, P> & operator/=(tvec4<U, P> const & v);
+
284  template <typename T, precision P>
+
285  GLM_FUNC_DECL tvec3<T, P> operator-(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
286 
+
287  template <typename T, precision P>
+
288  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
289 
+
290  template <typename T, precision P>
+
291  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, T const & s);
+
292 
+
293  template <typename T, precision P>
+
294  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
295 
+
296  template <typename T, precision P>
+
297  GLM_FUNC_DECL tvec3<T, P> operator*(T const & s, tvec3<T, P> const & v);
+
298 
+
299  template <typename T, precision P>
+
300  GLM_FUNC_DECL tvec3<T, P> operator*(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
301 
+
302  template <typename T, precision P>
+
303  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
304 
+
305  template <typename T, precision P>
+
306  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v, T const & s);
+
307 
+
308  template <typename T, precision P>
+
309  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v, tvec1<T, P> const & s);
310 
-
312  // Increment and decrement operators
+
311  template <typename T, precision P>
+
312  GLM_FUNC_DECL tvec3<T, P> operator/(T const & s, tvec3<T, P> const & v);
313 
-
314  GLM_FUNC_DECL tvec4<T, P> & operator++();
-
315  GLM_FUNC_DECL tvec4<T, P> & operator--();
-
316  GLM_FUNC_DECL tvec4<T, P> operator++(int);
-
317  GLM_FUNC_DECL tvec4<T, P> operator--(int);
-
318 
-
320  // Unary bit operators
-
321 
-
322  template <typename U>
-
323  GLM_FUNC_DECL tvec4<T, P> & operator%=(U scalar);
-
324  template <typename U>
-
325  GLM_FUNC_DECL tvec4<T, P> & operator%=(tvec1<U, P> const & v);
-
326  template <typename U>
-
327  GLM_FUNC_DECL tvec4<T, P> & operator%=(tvec4<U, P> const & v);
-
328  template <typename U>
-
329  GLM_FUNC_DECL tvec4<T, P> & operator&=(U scalar);
-
330  template <typename U>
-
331  GLM_FUNC_DECL tvec4<T, P> & operator&=(tvec1<U, P> const & v);
-
332  template <typename U>
-
333  GLM_FUNC_DECL tvec4<T, P> & operator&=(tvec4<U, P> const & v);
-
334  template <typename U>
-
335  GLM_FUNC_DECL tvec4<T, P> & operator|=(U scalar);
-
336  template <typename U>
-
337  GLM_FUNC_DECL tvec4<T, P> & operator|=(tvec1<U, P> const & v);
-
338  template <typename U>
-
339  GLM_FUNC_DECL tvec4<T, P> & operator|=(tvec4<U, P> const & v);
-
340  template <typename U>
-
341  GLM_FUNC_DECL tvec4<T, P> & operator^=(U scalar);
-
342  template <typename U>
-
343  GLM_FUNC_DECL tvec4<T, P> & operator^=(tvec1<U, P> const & v);
-
344  template <typename U>
-
345  GLM_FUNC_DECL tvec4<T, P> & operator^=(tvec4<U, P> const & v);
-
346  template <typename U>
-
347  GLM_FUNC_DECL tvec4<T, P> & operator<<=(U scalar);
-
348  template <typename U>
-
349  GLM_FUNC_DECL tvec4<T, P> & operator<<=(tvec1<U, P> const & v);
-
350  template <typename U>
-
351  GLM_FUNC_DECL tvec4<T, P> & operator<<=(tvec4<U, P> const & v);
-
352  template <typename U>
-
353  GLM_FUNC_DECL tvec4<T, P> & operator>>=(U scalar);
-
354  template <typename U>
-
355  GLM_FUNC_DECL tvec4<T, P> & operator>>=(tvec1<U, P> const & v);
-
356  template <typename U>
-
357  GLM_FUNC_DECL tvec4<T, P> & operator>>=(tvec4<U, P> const & v);
-
358  };
-
359 
-
360  template <typename T, precision P>
-
361  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v, T scalar);
-
362 
-
363  template <typename T, precision P>
-
364  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
365 
-
366  template <typename T, precision P>
-
367  GLM_FUNC_DECL tvec4<T, P> operator+(T scalar, tvec4<T, P> const & v);
-
368 
-
369  template <typename T, precision P>
-
370  GLM_FUNC_DECL tvec4<T, P> operator+(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
371 
-
372  template <typename T, precision P>
-
373  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
374 
-
375  template <typename T, precision P>
-
376  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v, T scalar);
-
377 
-
378  template <typename T, precision P>
-
379  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
380 
-
381  template <typename T, precision P>
-
382  GLM_FUNC_DECL tvec4<T, P> operator-(T scalar, tvec4<T, P> const & v);
-
383 
-
384  template <typename T, precision P>
-
385  GLM_FUNC_DECL tvec4<T, P> operator-(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
386 
-
387  template <typename T, precision P>
-
388  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
389 
-
390  template <typename T, precision P>
-
391  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, T scalar);
-
392 
-
393  template <typename T, precision P>
-
394  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
395 
-
396  template <typename T, precision P>
-
397  GLM_FUNC_DECL tvec4<T, P> operator*(T scalar, tvec4<T, P> const & v);
-
398 
-
399  template <typename T, precision P>
-
400  GLM_FUNC_DECL tvec4<T, P> operator*(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
401 
-
402  template <typename T, precision P>
-
403  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
404 
-
405  template <typename T, precision P>
-
406  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v, T scalar);
-
407 
-
408  template <typename T, precision P>
-
409  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
410 
-
411  template <typename T, precision P>
-
412  GLM_FUNC_DECL tvec4<T, P> operator/(T scalar, tvec4<T, P> const & v);
-
413 
-
414  template <typename T, precision P>
-
415  GLM_FUNC_DECL tvec4<T, P> operator/(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
416 
-
417  template <typename T, precision P>
-
418  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
419 
-
420  template <typename T, precision P>
-
421  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v);
-
422 
-
423  template <typename T, precision P>
-
424  GLM_FUNC_DECL bool operator==(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
425 
-
426  template <typename T, precision P>
-
427  GLM_FUNC_DECL bool operator!=(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
428 
-
429  template <typename T, precision P>
-
430  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v, T scalar);
-
431 
-
432  template <typename T, precision P>
-
433  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
434 
-
435  template <typename T, precision P>
-
436  GLM_FUNC_DECL tvec4<T, P> operator%(T scalar, tvec4<T, P> const & v);
-
437 
-
438  template <typename T, precision P>
-
439  GLM_FUNC_DECL tvec4<T, P> operator%(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
440 
-
441  template <typename T, precision P>
-
442  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
443 
-
444  template <typename T, precision P>
-
445  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v, T scalar);
-
446 
-
447  template <typename T, precision P>
-
448  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
449 
-
450  template <typename T, precision P>
-
451  GLM_FUNC_DECL tvec4<T, P> operator&(T scalar, tvec4<T, P> const & v);
-
452 
-
453  template <typename T, precision P>
-
454  GLM_FUNC_DECL tvec4<T, P> operator&(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
455 
-
456  template <typename T, precision P>
-
457  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
458 
-
459  template <typename T, precision P>
-
460  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v, T scalar);
-
461 
-
462  template <typename T, precision P>
-
463  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
464 
-
465  template <typename T, precision P>
-
466  GLM_FUNC_DECL tvec4<T, P> operator|(T scalar, tvec4<T, P> const & v);
-
467 
-
468  template <typename T, precision P>
-
469  GLM_FUNC_DECL tvec4<T, P> operator|(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
470 
-
471  template <typename T, precision P>
-
472  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
473 
-
474  template <typename T, precision P>
-
475  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v, T scalar);
-
476 
-
477  template <typename T, precision P>
-
478  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
479 
-
480  template <typename T, precision P>
-
481  GLM_FUNC_DECL tvec4<T, P> operator^(T scalar, tvec4<T, P> const & v);
-
482 
-
483  template <typename T, precision P>
-
484  GLM_FUNC_DECL tvec4<T, P> operator^(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
485 
-
486  template <typename T, precision P>
-
487  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
488 
-
489  template <typename T, precision P>
-
490  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v, T scalar);
-
491 
-
492  template <typename T, precision P>
-
493  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
494 
-
495  template <typename T, precision P>
-
496  GLM_FUNC_DECL tvec4<T, P> operator<<(T scalar, tvec4<T, P> const & v);
-
497 
-
498  template <typename T, precision P>
-
499  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
500 
-
501  template <typename T, precision P>
-
502  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
503 
-
504  template <typename T, precision P>
-
505  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v, T scalar);
-
506 
-
507  template <typename T, precision P>
-
508  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v, tvec1<T, P> const & s);
-
509 
-
510  template <typename T, precision P>
-
511  GLM_FUNC_DECL tvec4<T, P> operator>>(T scalar, tvec4<T, P> const & v);
-
512 
-
513  template <typename T, precision P>
-
514  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec1<T, P> const & s, tvec4<T, P> const & v);
-
515 
-
516  template <typename T, precision P>
-
517  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
518 
-
519  template <typename T, precision P>
-
520  GLM_FUNC_DECL tvec4<T, P> operator~(tvec4<T, P> const & v);
-
521 }//namespace glm
-
522 
-
523 #ifndef GLM_EXTERNAL_TEMPLATE
-
524 #include "type_vec4.inl"
-
525 #endif//GLM_EXTERNAL_TEMPLATE
+
314  template <typename T, precision P>
+
315  GLM_FUNC_DECL tvec3<T, P> operator/(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
316 
+
317  template <typename T, precision P>
+
318  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
319 
+
320  template <typename T, precision P>
+
321  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v, T const & s);
+
322 
+
323  template <typename T, precision P>
+
324  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
325 
+
326  template <typename T, precision P>
+
327  GLM_FUNC_DECL tvec3<T, P> operator%(T const & s, tvec3<T, P> const & v);
+
328 
+
329  template <typename T, precision P>
+
330  GLM_FUNC_DECL tvec3<T, P> operator%(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
331 
+
332  template <typename T, precision P>
+
333  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
334 
+
335  template <typename T, precision P>
+
336  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v, T const & s);
+
337 
+
338  template <typename T, precision P>
+
339  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
340 
+
341  template <typename T, precision P>
+
342  GLM_FUNC_DECL tvec3<T, P> operator&(T const & s, tvec3<T, P> const & v);
+
343 
+
344  template <typename T, precision P>
+
345  GLM_FUNC_DECL tvec3<T, P> operator&(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
346 
+
347  template <typename T, precision P>
+
348  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
349 
+
350  template <typename T, precision P>
+
351  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v, T const & s);
+
352 
+
353  template <typename T, precision P>
+
354  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
355 
+
356  template <typename T, precision P>
+
357  GLM_FUNC_DECL tvec3<T, P> operator|(T const & s, tvec3<T, P> const & v);
+
358 
+
359  template <typename T, precision P>
+
360  GLM_FUNC_DECL tvec3<T, P> operator|(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
361 
+
362  template <typename T, precision P>
+
363  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
364 
+
365  template <typename T, precision P>
+
366  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v, T const & s);
+
367 
+
368  template <typename T, precision P>
+
369  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
370 
+
371  template <typename T, precision P>
+
372  GLM_FUNC_DECL tvec3<T, P> operator^(T const & s, tvec3<T, P> const & v);
+
373 
+
374  template <typename T, precision P>
+
375  GLM_FUNC_DECL tvec3<T, P> operator^(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
376 
+
377  template <typename T, precision P>
+
378  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
379 
+
380  template <typename T, precision P>
+
381  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v, T const & s);
+
382 
+
383  template <typename T, precision P>
+
384  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
385 
+
386  template <typename T, precision P>
+
387  GLM_FUNC_DECL tvec3<T, P> operator<<(T const & s, tvec3<T, P> const & v);
+
388 
+
389  template <typename T, precision P>
+
390  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
391 
+
392  template <typename T, precision P>
+
393  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
394 
+
395  template <typename T, precision P>
+
396  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v, T const & s);
+
397 
+
398  template <typename T, precision P>
+
399  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
400 
+
401  template <typename T, precision P>
+
402  GLM_FUNC_DECL tvec3<T, P> operator>>(T const & s, tvec3<T, P> const & v);
+
403 
+
404  template <typename T, precision P>
+
405  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
406 
+
407  template <typename T, precision P>
+
408  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
409 
+
410  template <typename T, precision P>
+
411  GLM_FUNC_DECL tvec3<T, P> operator~(tvec3<T, P> const & v);
+
412 
+
413  // -- Boolean operators --
+
414 
+
415  template <typename T, precision P>
+
416  GLM_FUNC_DECL bool operator==(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
417 
+
418  template <typename T, precision P>
+
419  GLM_FUNC_DECL bool operator!=(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
420 }//namespace glm
+
421 
+
422 #ifndef GLM_EXTERNAL_TEMPLATE
+
423 #include "type_vec3.inl"
+
424 #endif//GLM_EXTERNAL_TEMPLATE
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
-
Definition: _noise.hpp:39
-
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
OpenGL Mathematics (glm.g-truc.net)
-
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00136.html b/doc/api/a00136.html index 44c6cdd1..8f516f11 100644 --- a/doc/api/a00136.html +++ b/doc/api/a00136.html @@ -3,8 +3,8 @@ - -0.9.6: ulp.hpp File Reference + +0.9.7: type_vec4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
ulp.hpp File Reference
+
type_vec4.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
GLM_FUNC_DECL uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
GLM_FUNC_DECL vecType< uint > float_distance (vecType< T > const &x, vecType< T > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x, uint const &Distance)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_ulp

-
Date
2011-02-21 / 2011-12-12
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM Core

+
Date
2008-08-22 / 2011-06-15
+
Author
Christophe Riccio
-

Definition in file ulp.hpp.

+

Definition in file type_vec4.hpp.

diff --git a/doc/api/a00136_source.html b/doc/api/a00136_source.html index 01f27615..93e64c75 100644 --- a/doc/api/a00136_source.html +++ b/doc/api/a00136_source.html @@ -3,8 +3,8 @@ - -0.9.6: ulp.hpp Source File + +0.9.7: type_vec4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
ulp.hpp
+
type_vec4.hpp
Go to the documentation of this file.
1 
-
43 #pragma once
-
44 
-
45 // Dependencies
-
46 #include "../detail/setup.hpp"
-
47 #include "../detail/precision.hpp"
-
48 #include "../detail/type_int.hpp"
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTC_ulp extension included")
-
52 #endif
-
53 
-
54 namespace glm
-
55 {
-
58 
-
61  template <typename genType>
-
62  GLM_FUNC_DECL genType next_float(genType const & x);
+
33 #pragma once
+
34 
+
35 #include "setup.hpp"
+
36 #include "type_vec.hpp"
+
37 #ifdef GLM_SWIZZLE
+
38 # if GLM_HAS_ANONYMOUS_UNION
+
39 # include "_swizzle.hpp"
+
40 # else
+
41 # include "_swizzle_func.hpp"
+
42 # endif
+
43 #endif //GLM_SWIZZLE
+
44 #include <cstddef>
+
45 
+
46 namespace glm{
+
47 namespace detail
+
48 {
+
49  template <typename T>
+
50  struct simd
+
51  {
+
52  typedef T type[4];
+
53  };
+
54 
+
55 # define GLM_NOT_BUGGY_VC32BITS !(GLM_MODEL == GLM_MODEL_32 && (GLM_COMPILER & GLM_COMPILER_VC) && GLM_COMPILER < GLM_COMPILER_VC2013)
+
56 
+
57 # if (GLM_ARCH & GLM_ARCH_SSE2) && GLM_NOT_BUGGY_VC32BITS
+
58  template <>
+
59  struct simd<float>
+
60  {
+
61  typedef __m128 type;
+
62  };
63 
-
66  template <typename genType>
-
67  GLM_FUNC_DECL genType prev_float(genType const & x);
-
68 
-
71  template <typename genType>
-
72  GLM_FUNC_DECL genType next_float(genType const & x, uint const & Distance);
-
73 
-
76  template <typename genType>
-
77  GLM_FUNC_DECL genType prev_float(genType const & x, uint const & Distance);
-
78 
-
81  template <typename T>
-
82  GLM_FUNC_DECL uint float_distance(T const & x, T const & y);
-
83 
-
86  template<typename T, template<typename> class vecType>
-
87  GLM_FUNC_DECL vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
-
88 
-
90 }// namespace glm
+
64  template <>
+
65  struct simd<int>
+
66  {
+
67  typedef __m128i type;
+
68  };
+
69 
+
70  template <>
+
71  struct simd<unsigned int>
+
72  {
+
73  typedef __m128i type;
+
74  };
+
75 # endif
+
76 
+
77 # if (GLM_ARCH & GLM_ARCH_AVX) && GLM_NOT_BUGGY_VC32BITS
+
78  template <>
+
79  struct simd<double>
+
80  {
+
81  typedef __m256d type;
+
82  };
+
83 # endif
+
84 
+
85 # if (GLM_ARCH & GLM_ARCH_AVX2) && GLM_NOT_BUGGY_VC32BITS
+
86  template <>
+
87  struct simd<int64>
+
88  {
+
89  typedef __m256i type;
+
90  };
91 
-
92 #include "ulp.inl"
-
GLM_FUNC_DECL genType prev_float(genType const &x, uint const &Distance)
Return the value(s) ULP distance before the input value(s).
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:306
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL vecType< uint > float_distance(vecType< T > const &x, vecType< T > const &y)
Return the distance in the number of ULP between 2 vectors.
-
GLM_FUNC_DECL genType next_float(genType const &x, uint const &Distance)
Return the value(s) ULP distance after the input value(s).
+
92  template <>
+
93  struct simd<uint64>
+
94  {
+
95  typedef __m256i type;
+
96  };
+
97 # endif
+
98 
+
99 }//namespace detail
+
100 
+
101  template <typename T, precision P = defaultp>
+
102  struct tvec4
+
103  {
+
104  // -- Implementation detail --
+
105 
+
106  typedef tvec4<T, P> type;
+
107  typedef tvec4<bool, P> bool_type;
+
108  typedef T value_type;
+
109 
+
110 # ifdef GLM_META_PROG_HELPERS
+
111  static GLM_RELAXED_CONSTEXPR length_t components = 4;
+
112  static GLM_RELAXED_CONSTEXPR precision prec = P;
+
113 # endif//GLM_META_PROG_HELPERS
+
114 
+
115  // -- Data --
+
116 
+
117 # if GLM_HAS_ANONYMOUS_UNION
+
118  union
+
119  {
+
120  struct { T x, y, z, w;};
+
121  struct { T r, g, b, a; };
+
122  struct { T s, t, p, q; };
+
123 
+
124  typename detail::simd<T>::type data;
+
125 
+
126 # ifdef GLM_SWIZZLE
+
127  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, x, y, z, w)
+
128  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, r, g, b, a)
+
129  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, s, t, p, q)
+
130  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, x, y, z, w)
+
131  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, r, g, b, a)
+
132  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, s, t, p, q)
+
133  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, x, y, z, w)
+
134  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, r, g, b, a)
+
135  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, s, t, p, q)
+
136 # endif//GLM_SWIZZLE
+
137  };
+
138 # else
+
139  union { T x, r, s; };
+
140  union { T y, g, t; };
+
141  union { T z, b, p; };
+
142  union { T w, a, q; };
+
143 
+
144 # ifdef GLM_SWIZZLE
+
145  GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P, tvec4, tvec2, tvec3, tvec4)
+
146 # endif//GLM_SWIZZLE
+
147 # endif//GLM_LANG
+
148 
+
149  // -- Component accesses --
+
150 
+
151 # ifdef GLM_FORCE_SIZE_FUNC
+
152  typedef size_t size_type;
+
154  GLM_FUNC_DECL GLM_CONSTEXPR size_type size() const;
+
155 
+
156  GLM_FUNC_DECL T & operator[](size_type i);
+
157  GLM_FUNC_DECL T const & operator[](size_type i) const;
+
158 # else
+
159  typedef length_t length_type;
+
161  GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
+
162 
+
163  GLM_FUNC_DECL T & operator[](length_type i);
+
164  GLM_FUNC_DECL T const & operator[](length_type i) const;
+
165 # endif//GLM_FORCE_SIZE_FUNC
+
166 
+
167  // -- Implicit basic constructors --
+
168 
+
169  GLM_FUNC_DECL tvec4() GLM_DEFAULT_CTOR;
+
170  GLM_FUNC_DECL tvec4(tvec4<T, P> const & v) GLM_DEFAULT;
+
171  template <precision Q>
+
172  GLM_FUNC_DECL tvec4(tvec4<T, Q> const & v);
+
173 
+
174  // -- Explicit basic constructors --
+
175 
+
176  GLM_FUNC_DECL explicit tvec4(ctor);
+
177  GLM_FUNC_DECL explicit tvec4(T s);
+
178  GLM_FUNC_DECL tvec4(T a, T b, T c, T d);
+
179 
+
180  // -- Conversion scalar constructors --
+
181 
+
183  template <typename A, typename B, typename C, typename D>
+
184  GLM_FUNC_DECL tvec4(A a, B b, C c, D d);
+
185  template <typename A, typename B, typename C, typename D>
+
186  GLM_FUNC_DECL tvec4(tvec1<A, P> const & a, tvec1<B, P> const & b, tvec1<C, P> const & c, tvec1<D, P> const & d);
+
187 
+
188  // -- Conversion vector constructors --
+
189 
+
191  template <typename A, typename B, typename C, precision Q>
+
192  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, B b, C c);
+
194  template <typename A, typename B, typename C, precision Q>
+
195  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, tvec1<B, Q> const & b, tvec1<C, Q> const & c);
+
197  template <typename A, typename B, typename C, precision Q>
+
198  GLM_FUNC_DECL explicit tvec4(A a, tvec2<B, Q> const & b, C c);
+
200  template <typename A, typename B, typename C, precision Q>
+
201  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec2<B, Q> const & b, tvec1<C, Q> const & c);
+
203  template <typename A, typename B, typename C, precision Q>
+
204  GLM_FUNC_DECL explicit tvec4(A a, B b, tvec2<C, Q> const & c);
+
206  template <typename A, typename B, typename C, precision Q>
+
207  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec1<B, Q> const & b, tvec2<C, Q> const & c);
+
209  template <typename A, typename B, precision Q>
+
210  GLM_FUNC_DECL explicit tvec4(tvec3<A, Q> const & a, B b);
+
212  template <typename A, typename B, precision Q>
+
213  GLM_FUNC_DECL explicit tvec4(tvec3<A, Q> const & a, tvec1<B, Q> const & b);
+
215  template <typename A, typename B, precision Q>
+
216  GLM_FUNC_DECL explicit tvec4(A a, tvec3<B, Q> const & b);
+
218  template <typename A, typename B, precision Q>
+
219  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec3<B, Q> const & b);
+
221  template <typename A, typename B, precision Q>
+
222  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, tvec2<B, Q> const & b);
+
223 
+
225  template <typename U, precision Q>
+
226  GLM_FUNC_DECL GLM_EXPLICIT tvec4(tvec4<U, Q> const & v);
+
227 
+
228  // -- Swizzle constructors --
+
229 
+
230 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
231  template <int E0, int E1, int E2, int E3>
+
232  GLM_FUNC_DECL tvec4(detail::_swizzle<4, T, P, tvec4<T, P>, E0, E1, E2, E3> const & that)
+
233  {
+
234  *this = that();
+
235  }
+
236 
+
237  template <int E0, int E1, int F0, int F1>
+
238  GLM_FUNC_DECL tvec4(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, detail::_swizzle<2, T, P, tvec2<T, P>, F0, F1, -1, -2> const & u)
+
239  {
+
240  *this = tvec4<T, P>(v(), u());
+
241  }
+
242 
+
243  template <int E0, int E1>
+
244  GLM_FUNC_DECL tvec4(T const & x, T const & y, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
+
245  {
+
246  *this = tvec4<T, P>(x, y, v());
+
247  }
+
248 
+
249  template <int E0, int E1>
+
250  GLM_FUNC_DECL tvec4(T const & x, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & w)
+
251  {
+
252  *this = tvec4<T, P>(x, v(), w);
+
253  }
+
254 
+
255  template <int E0, int E1>
+
256  GLM_FUNC_DECL tvec4(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & z, T const & w)
+
257  {
+
258  *this = tvec4<T, P>(v(), z, w);
+
259  }
+
260 
+
261  template <int E0, int E1, int E2>
+
262  GLM_FUNC_DECL tvec4(detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v, T const & w)
+
263  {
+
264  *this = tvec4<T, P>(v(), w);
+
265  }
+
266 
+
267  template <int E0, int E1, int E2>
+
268  GLM_FUNC_DECL tvec4(T const & x, detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v)
+
269  {
+
270  *this = tvec4<T, P>(x, v());
+
271  }
+
272 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
273 
+
274  // -- Unary arithmetic operators --
+
275 
+
276  GLM_FUNC_DECL tvec4<T, P> & operator=(tvec4<T, P> const & v) GLM_DEFAULT;
+
277 
+
278  template <typename U>
+
279  GLM_FUNC_DECL tvec4<T, P> & operator=(tvec4<U, P> const & v);
+
280  template <typename U>
+
281  GLM_FUNC_DECL tvec4<T, P> & operator+=(U scalar);
+
282  template <typename U>
+
283  GLM_FUNC_DECL tvec4<T, P> & operator+=(tvec1<U, P> const & v);
+
284  template <typename U>
+
285  GLM_FUNC_DECL tvec4<T, P> & operator+=(tvec4<U, P> const & v);
+
286  template <typename U>
+
287  GLM_FUNC_DECL tvec4<T, P> & operator-=(U scalar);
+
288  template <typename U>
+
289  GLM_FUNC_DECL tvec4<T, P> & operator-=(tvec1<U, P> const & v);
+
290  template <typename U>
+
291  GLM_FUNC_DECL tvec4<T, P> & operator-=(tvec4<U, P> const & v);
+
292  template <typename U>
+
293  GLM_FUNC_DECL tvec4<T, P> & operator*=(U scalar);
+
294  template <typename U>
+
295  GLM_FUNC_DECL tvec4<T, P> & operator*=(tvec1<U, P> const & v);
+
296  template <typename U>
+
297  GLM_FUNC_DECL tvec4<T, P> & operator*=(tvec4<U, P> const & v);
+
298  template <typename U>
+
299  GLM_FUNC_DECL tvec4<T, P> & operator/=(U scalar);
+
300  template <typename U>
+
301  GLM_FUNC_DECL tvec4<T, P> & operator/=(tvec1<U, P> const & v);
+
302  template <typename U>
+
303  GLM_FUNC_DECL tvec4<T, P> & operator/=(tvec4<U, P> const & v);
+
304 
+
305  // -- Increment and decrement operators --
+
306 
+
307  GLM_FUNC_DECL tvec4<T, P> & operator++();
+
308  GLM_FUNC_DECL tvec4<T, P> & operator--();
+
309  GLM_FUNC_DECL tvec4<T, P> operator++(int);
+
310  GLM_FUNC_DECL tvec4<T, P> operator--(int);
+
311 
+
312  // -- Unary bit operators --
+
313 
+
314  template <typename U>
+
315  GLM_FUNC_DECL tvec4<T, P> & operator%=(U scalar);
+
316  template <typename U>
+
317  GLM_FUNC_DECL tvec4<T, P> & operator%=(tvec1<U, P> const & v);
+
318  template <typename U>
+
319  GLM_FUNC_DECL tvec4<T, P> & operator%=(tvec4<U, P> const & v);
+
320  template <typename U>
+
321  GLM_FUNC_DECL tvec4<T, P> & operator&=(U scalar);
+
322  template <typename U>
+
323  GLM_FUNC_DECL tvec4<T, P> & operator&=(tvec1<U, P> const & v);
+
324  template <typename U>
+
325  GLM_FUNC_DECL tvec4<T, P> & operator&=(tvec4<U, P> const & v);
+
326  template <typename U>
+
327  GLM_FUNC_DECL tvec4<T, P> & operator|=(U scalar);
+
328  template <typename U>
+
329  GLM_FUNC_DECL tvec4<T, P> & operator|=(tvec1<U, P> const & v);
+
330  template <typename U>
+
331  GLM_FUNC_DECL tvec4<T, P> & operator|=(tvec4<U, P> const & v);
+
332  template <typename U>
+
333  GLM_FUNC_DECL tvec4<T, P> & operator^=(U scalar);
+
334  template <typename U>
+
335  GLM_FUNC_DECL tvec4<T, P> & operator^=(tvec1<U, P> const & v);
+
336  template <typename U>
+
337  GLM_FUNC_DECL tvec4<T, P> & operator^=(tvec4<U, P> const & v);
+
338  template <typename U>
+
339  GLM_FUNC_DECL tvec4<T, P> & operator<<=(U scalar);
+
340  template <typename U>
+
341  GLM_FUNC_DECL tvec4<T, P> & operator<<=(tvec1<U, P> const & v);
+
342  template <typename U>
+
343  GLM_FUNC_DECL tvec4<T, P> & operator<<=(tvec4<U, P> const & v);
+
344  template <typename U>
+
345  GLM_FUNC_DECL tvec4<T, P> & operator>>=(U scalar);
+
346  template <typename U>
+
347  GLM_FUNC_DECL tvec4<T, P> & operator>>=(tvec1<U, P> const & v);
+
348  template <typename U>
+
349  GLM_FUNC_DECL tvec4<T, P> & operator>>=(tvec4<U, P> const & v);
+
350  };
+
351 
+
352  // -- Unary operators --
+
353 
+
354  template <typename T, precision P>
+
355  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v);
+
356 
+
357  // -- Binary operators --
+
358 
+
359  template <typename T, precision P>
+
360  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v, T scalar);
+
361 
+
362  template <typename T, precision P>
+
363  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
364 
+
365  template <typename T, precision P>
+
366  GLM_FUNC_DECL tvec4<T, P> operator+(T scalar, tvec4<T, P> const & v);
+
367 
+
368  template <typename T, precision P>
+
369  GLM_FUNC_DECL tvec4<T, P> operator+(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
370 
+
371  template <typename T, precision P>
+
372  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
373 
+
374  template <typename T, precision P>
+
375  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v, T scalar);
+
376 
+
377  template <typename T, precision P>
+
378  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
379 
+
380  template <typename T, precision P>
+
381  GLM_FUNC_DECL tvec4<T, P> operator-(T scalar, tvec4<T, P> const & v);
+
382 
+
383  template <typename T, precision P>
+
384  GLM_FUNC_DECL tvec4<T, P> operator-(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
385 
+
386  template <typename T, precision P>
+
387  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
388 
+
389  template <typename T, precision P>
+
390  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, T scalar);
+
391 
+
392  template <typename T, precision P>
+
393  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
394 
+
395  template <typename T, precision P>
+
396  GLM_FUNC_DECL tvec4<T, P> operator*(T scalar, tvec4<T, P> const & v);
+
397 
+
398  template <typename T, precision P>
+
399  GLM_FUNC_DECL tvec4<T, P> operator*(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
400 
+
401  template <typename T, precision P>
+
402  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
403 
+
404  template <typename T, precision P>
+
405  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v, T scalar);
+
406 
+
407  template <typename T, precision P>
+
408  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
409 
+
410  template <typename T, precision P>
+
411  GLM_FUNC_DECL tvec4<T, P> operator/(T scalar, tvec4<T, P> const & v);
+
412 
+
413  template <typename T, precision P>
+
414  GLM_FUNC_DECL tvec4<T, P> operator/(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
415 
+
416  template <typename T, precision P>
+
417  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
418 
+
419  template <typename T, precision P>
+
420  GLM_FUNC_DECL bool operator==(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
421 
+
422  template <typename T, precision P>
+
423  GLM_FUNC_DECL bool operator!=(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
424 
+
425  template <typename T, precision P>
+
426  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v, T scalar);
+
427 
+
428  template <typename T, precision P>
+
429  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
430 
+
431  template <typename T, precision P>
+
432  GLM_FUNC_DECL tvec4<T, P> operator%(T scalar, tvec4<T, P> const & v);
+
433 
+
434  template <typename T, precision P>
+
435  GLM_FUNC_DECL tvec4<T, P> operator%(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
436 
+
437  template <typename T, precision P>
+
438  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
439 
+
440  template <typename T, precision P>
+
441  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v, T scalar);
+
442 
+
443  template <typename T, precision P>
+
444  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
445 
+
446  template <typename T, precision P>
+
447  GLM_FUNC_DECL tvec4<T, P> operator&(T scalar, tvec4<T, P> const & v);
+
448 
+
449  template <typename T, precision P>
+
450  GLM_FUNC_DECL tvec4<T, P> operator&(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
451 
+
452  template <typename T, precision P>
+
453  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
454 
+
455  template <typename T, precision P>
+
456  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v, T scalar);
+
457 
+
458  template <typename T, precision P>
+
459  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
460 
+
461  template <typename T, precision P>
+
462  GLM_FUNC_DECL tvec4<T, P> operator|(T scalar, tvec4<T, P> const & v);
+
463 
+
464  template <typename T, precision P>
+
465  GLM_FUNC_DECL tvec4<T, P> operator|(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
466 
+
467  template <typename T, precision P>
+
468  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
469 
+
470  template <typename T, precision P>
+
471  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v, T scalar);
+
472 
+
473  template <typename T, precision P>
+
474  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
475 
+
476  template <typename T, precision P>
+
477  GLM_FUNC_DECL tvec4<T, P> operator^(T scalar, tvec4<T, P> const & v);
+
478 
+
479  template <typename T, precision P>
+
480  GLM_FUNC_DECL tvec4<T, P> operator^(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
481 
+
482  template <typename T, precision P>
+
483  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
484 
+
485  template <typename T, precision P>
+
486  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v, T scalar);
+
487 
+
488  template <typename T, precision P>
+
489  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
490 
+
491  template <typename T, precision P>
+
492  GLM_FUNC_DECL tvec4<T, P> operator<<(T scalar, tvec4<T, P> const & v);
+
493 
+
494  template <typename T, precision P>
+
495  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
496 
+
497  template <typename T, precision P>
+
498  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
499 
+
500  template <typename T, precision P>
+
501  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v, T scalar);
+
502 
+
503  template <typename T, precision P>
+
504  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
505 
+
506  template <typename T, precision P>
+
507  GLM_FUNC_DECL tvec4<T, P> operator>>(T scalar, tvec4<T, P> const & v);
+
508 
+
509  template <typename T, precision P>
+
510  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
511 
+
512  template <typename T, precision P>
+
513  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
514 
+
515  template <typename T, precision P>
+
516  GLM_FUNC_DECL tvec4<T, P> operator~(tvec4<T, P> const & v);
+
517 
+
518  // -- Boolean operators --
+
519 
+
520  template <typename T, precision P>
+
521  GLM_FUNC_DECL bool operator==(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
522 
+
523  template <typename T, precision P>
+
524  GLM_FUNC_DECL bool operator!=(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
525 }//namespace glm
+
526 
+
527 #ifndef GLM_EXTERNAL_TEMPLATE
+
528 #include "type_vec4.inl"
+
529 #endif//GLM_EXTERNAL_TEMPLATE
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:40
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00137.html b/doc/api/a00137.html index c7696243..705074a9 100644 --- a/doc/api/a00137.html +++ b/doc/api/a00137.html @@ -3,8 +3,8 @@ - -0.9.6: vec1.hpp File Reference + +0.9.7: ulp.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
vec1.hpp File Reference
+
ulp.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef highp_bvec1 bvec1
 
typedef highp_dvec1 dvec1
 
typedef highp_bvec1_t highp_bvec1
 
typedef highp_dvec1_t highp_dvec1
 
typedef highp_ivec1_t highp_ivec1
 
typedef highp_uvec1_t highp_uvec1
 
typedef highp_ivec1 ivec1
 
typedef lowp_bvec1_t lowp_bvec1
 
typedef lowp_dvec1_t lowp_dvec1
 
typedef lowp_ivec1_t lowp_ivec1
 
typedef lowp_uvec1_t lowp_uvec1
 
typedef mediump_bvec1_t mediump_bvec1
 
typedef mediump_dvec1_t mediump_dvec1
 
typedef mediump_ivec1_t mediump_ivec1
 
typedef mediump_uvec1_t mediump_uvec1
 
typedef highp_uvec1 uvec1
 
typedef highp_vec1 vec1
 

+Functions

template<typename T >
GLM_FUNC_DECL uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
GLM_FUNC_DECL vecType< uint > float_distance (vecType< T > const &x, vecType< T > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x, uint const &Distance)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTC_vec1

-
Date
2010-02-08 / 2011-06-07
+

GLM_GTC_ulp

+
Date
2011-02-21 / 2011-12-12
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-

Definition in file vec1.hpp.

+

Definition in file ulp.hpp.

diff --git a/doc/api/a00137_source.html b/doc/api/a00137_source.html index 374b4783..3ad2c534 100644 --- a/doc/api/a00137_source.html +++ b/doc/api/a00137_source.html @@ -3,8 +3,8 @@ - -0.9.6: vec1.hpp Source File + +0.9.7: ulp.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vec1.hpp
+
ulp.hpp
Go to the documentation of this file.
1 
-
41 #pragma once
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../detail/type_vec1.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTC_vec1 extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
56  typedef highp_vec1_t highp_vec1;
-
57 
-
61  typedef mediump_vec1_t mediump_vec1;
-
62 
-
66  typedef lowp_vec1_t lowp_vec1;
-
67 
-
71  typedef highp_dvec1_t highp_dvec1;
-
72 
-
76  typedef mediump_dvec1_t mediump_dvec1;
-
77 
-
81  typedef lowp_dvec1_t lowp_dvec1;
-
82 
-
86  typedef highp_ivec1_t highp_ivec1;
-
87 
-
91  typedef mediump_ivec1_t mediump_ivec1;
-
92 
-
96  typedef lowp_ivec1_t lowp_ivec1;
-
97 
-
101  typedef highp_uvec1_t highp_uvec1;
-
102 
-
106  typedef mediump_uvec1_t mediump_uvec1;
-
107 
-
111  typedef lowp_uvec1_t lowp_uvec1;
-
112 
-
116  typedef highp_bvec1_t highp_bvec1;
-
117 
-
121  typedef mediump_bvec1_t mediump_bvec1;
-
122 
-
126  typedef lowp_bvec1_t lowp_bvec1;
-
127 
-
129  // vec1 definition
-
130 
-
131 #if(defined(GLM_PRECISION_HIGHP_BOOL))
-
132  typedef highp_bvec1 bvec1;
-
133 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
-
134  typedef mediump_bvec1 bvec1;
-
135 #elif(defined(GLM_PRECISION_LOWP_BOOL))
-
136  typedef lowp_bvec1 bvec1;
-
137 #else
-
138  typedef highp_bvec1 bvec1;
-
141 #endif//GLM_PRECISION
-
142 
-
143 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
-
144  typedef highp_vec1 vec1;
-
145 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
146  typedef mediump_vec1 vec1;
-
147 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
-
148  typedef lowp_vec1 vec1;
-
149 #else
-
150  typedef highp_vec1 vec1;
-
153 #endif//GLM_PRECISION
-
154 
-
155 #if(defined(GLM_PRECISION_HIGHP_DOUBLE))
-
156  typedef highp_dvec1 dvec1;
-
157 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
-
158  typedef mediump_dvec1 dvec1;
-
159 #elif(defined(GLM_PRECISION_LOWP_DOUBLE))
-
160  typedef lowp_dvec1 dvec1;
-
161 #else
-
162  typedef highp_dvec1 dvec1;
-
165 #endif//GLM_PRECISION
-
166 
-
167 #if(defined(GLM_PRECISION_HIGHP_INT))
-
168  typedef highp_ivec1 ivec1;
-
169 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
170  typedef mediump_ivec1 ivec1;
-
171 #elif(defined(GLM_PRECISION_LOWP_INT))
-
172  typedef lowp_ivec1 ivec1;
-
173 #else
-
174  typedef highp_ivec1 ivec1;
-
177 #endif//GLM_PRECISION
-
178 
-
179 #if(defined(GLM_PRECISION_HIGHP_UINT))
-
180  typedef highp_uvec1 uvec1;
-
181 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
-
182  typedef mediump_uvec1 uvec1;
-
183 #elif(defined(GLM_PRECISION_LOWP_UINT))
-
184  typedef lowp_uvec1 uvec1;
-
185 #else
-
186  typedef highp_uvec1 uvec1;
-
189 #endif//GLM_PRECISION
-
190 
-
191 }// namespace glm
-
192 
-
193 #include "vec1.inl"
-
tvec1< float, highp > highp_vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1613
-
tvec1< float, mediump > mediump_vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1580
-
tvec1< float, lowp > lowp_vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1547
-
Definition: _noise.hpp:39
+
43 #pragma once
+
44 
+
45 // Dependencies
+
46 #include "../detail/setup.hpp"
+
47 #include "../detail/precision.hpp"
+
48 #include "../detail/type_int.hpp"
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTC_ulp extension included")
+
52 #endif
+
53 
+
54 namespace glm
+
55 {
+
58 
+
61  template <typename genType>
+
62  GLM_FUNC_DECL genType next_float(genType const & x);
+
63 
+
66  template <typename genType>
+
67  GLM_FUNC_DECL genType prev_float(genType const & x);
+
68 
+
71  template <typename genType>
+
72  GLM_FUNC_DECL genType next_float(genType const & x, uint const & Distance);
+
73 
+
76  template <typename genType>
+
77  GLM_FUNC_DECL genType prev_float(genType const & x, uint const & Distance);
+
78 
+
81  template <typename T>
+
82  GLM_FUNC_DECL uint float_distance(T const & x, T const & y);
+
83 
+
86  template<typename T, template<typename> class vecType>
+
87  GLM_FUNC_DECL vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
+
88 
+
90 }// namespace glm
+
91 
+
92 #include "ulp.inl"
+
GLM_FUNC_DECL vecType< uint > float_distance(vecType< T > const &x, vecType< T > const &y)
Return the distance in the number of ULP between 2 vectors.
+
GLM_FUNC_DECL genType prev_float(genType const &x, uint const &Distance)
Return the value(s) ULP distance before the input value(s).
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:308
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType next_float(genType const &x, uint const &Distance)
Return the value(s) ULP distance after the input value(s).
diff --git a/doc/api/a00138.html b/doc/api/a00138.html index 11e48034..fa328d73 100644 --- a/doc/api/a00138.html +++ b/doc/api/a00138.html @@ -3,8 +3,8 @@ - -0.9.6: vec2.hpp File Reference + +0.9.7: vec1.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
vec2.hpp File Reference
+
vec1.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_bvec1 bvec1
 
typedef highp_dvec1 dvec1
 
typedef highp_bvec1_t highp_bvec1
 
typedef highp_dvec1_t highp_dvec1
 
typedef highp_ivec1_t highp_ivec1
 
typedef highp_uvec1_t highp_uvec1
 
typedef highp_ivec1 ivec1
 
typedef lowp_bvec1_t lowp_bvec1
 
typedef lowp_dvec1_t lowp_dvec1
 
typedef lowp_ivec1_t lowp_ivec1
 
typedef lowp_uvec1_t lowp_uvec1
 
typedef mediump_bvec1_t mediump_bvec1
 
typedef mediump_dvec1_t mediump_dvec1
 
typedef mediump_ivec1_t mediump_ivec1
 
typedef mediump_uvec1_t mediump_uvec1
 
typedef highp_uvec1 uvec1
 
typedef highp_vec1 vec1
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTC_vec1

+
Date
2010-02-08 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-

Definition in file vec2.hpp.

+

Definition in file vec1.hpp.

diff --git a/doc/api/a00138_source.html b/doc/api/a00138_source.html index 30991129..ef72fd00 100644 --- a/doc/api/a00138_source.html +++ b/doc/api/a00138_source.html @@ -3,8 +3,8 @@ - -0.9.6: vec2.hpp Source File + +0.9.7: vec1.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vec2.hpp
+
vec1.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
-
35 #include "detail/type_vec2.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
+
41 #pragma once
+
42 
+
43 // Dependency:
+
44 #include "../glm.hpp"
+
45 #include "../detail/type_vec1.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTC_vec1 extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
56  typedef highp_vec1_t highp_vec1;
+
57 
+
61  typedef mediump_vec1_t mediump_vec1;
+
62 
+
66  typedef lowp_vec1_t lowp_vec1;
+
67 
+
71  typedef highp_dvec1_t highp_dvec1;
+
72 
+
76  typedef mediump_dvec1_t mediump_dvec1;
+
77 
+
81  typedef lowp_dvec1_t lowp_dvec1;
+
82 
+
86  typedef highp_ivec1_t highp_ivec1;
+
87 
+
91  typedef mediump_ivec1_t mediump_ivec1;
+
92 
+
96  typedef lowp_ivec1_t lowp_ivec1;
+
97 
+
101  typedef highp_uvec1_t highp_uvec1;
+
102 
+
106  typedef mediump_uvec1_t mediump_uvec1;
+
107 
+
111  typedef lowp_uvec1_t lowp_uvec1;
+
112 
+
116  typedef highp_bvec1_t highp_bvec1;
+
117 
+
121  typedef mediump_bvec1_t mediump_bvec1;
+
122 
+
126  typedef lowp_bvec1_t lowp_bvec1;
+
127 
+
129  // vec1 definition
+
130 
+
131 #if(defined(GLM_PRECISION_HIGHP_BOOL))
+
132  typedef highp_bvec1 bvec1;
+
133 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
+
134  typedef mediump_bvec1 bvec1;
+
135 #elif(defined(GLM_PRECISION_LOWP_BOOL))
+
136  typedef lowp_bvec1 bvec1;
+
137 #else
+
138  typedef highp_bvec1 bvec1;
+
141 #endif//GLM_PRECISION
+
142 
+
143 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
+
144  typedef highp_vec1 vec1;
+
145 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
146  typedef mediump_vec1 vec1;
+
147 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
+
148  typedef lowp_vec1 vec1;
+
149 #else
+
150  typedef highp_vec1 vec1;
+
153 #endif//GLM_PRECISION
+
154 
+
155 #if(defined(GLM_PRECISION_HIGHP_DOUBLE))
+
156  typedef highp_dvec1 dvec1;
+
157 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
158  typedef mediump_dvec1 dvec1;
+
159 #elif(defined(GLM_PRECISION_LOWP_DOUBLE))
+
160  typedef lowp_dvec1 dvec1;
+
161 #else
+
162  typedef highp_dvec1 dvec1;
+
165 #endif//GLM_PRECISION
+
166 
+
167 #if(defined(GLM_PRECISION_HIGHP_INT))
+
168  typedef highp_ivec1 ivec1;
+
169 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
170  typedef mediump_ivec1 ivec1;
+
171 #elif(defined(GLM_PRECISION_LOWP_INT))
+
172  typedef lowp_ivec1 ivec1;
+
173 #else
+
174  typedef highp_ivec1 ivec1;
+
177 #endif//GLM_PRECISION
+
178 
+
179 #if(defined(GLM_PRECISION_HIGHP_UINT))
+
180  typedef highp_uvec1 uvec1;
+
181 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
+
182  typedef mediump_uvec1 uvec1;
+
183 #elif(defined(GLM_PRECISION_LOWP_UINT))
+
184  typedef lowp_uvec1 uvec1;
+
185 #else
+
186  typedef highp_uvec1 uvec1;
+
189 #endif//GLM_PRECISION
+
190 
+
191 }// namespace glm
+
192 
+
193 #include "vec1.inl"
+
Definition: _noise.hpp:40
diff --git a/doc/api/a00139.html b/doc/api/a00139.html index 97ab9851..3393fab2 100644 --- a/doc/api/a00139.html +++ b/doc/api/a00139.html @@ -3,8 +3,8 @@ - -0.9.6: vec3.hpp File Reference + +0.9.7: vec2.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vec3.hpp File Reference
+
vec2.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file vec3.hpp.

+

Definition in file vec2.hpp.

diff --git a/doc/api/a00139_source.html b/doc/api/a00139_source.html index ecf888f3..1e0d61d7 100644 --- a/doc/api/a00139_source.html +++ b/doc/api/a00139_source.html @@ -3,8 +3,8 @@ - -0.9.6: vec3.hpp Source File + +0.9.7: vec2.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vec3.hpp
+
vec2.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_vec3.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
+
35 #include "detail/type_vec2.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00140.html b/doc/api/a00140.html index 2e397e01..9eca1e25 100644 --- a/doc/api/a00140.html +++ b/doc/api/a00140.html @@ -3,8 +3,8 @@ - -0.9.6: vec4.hpp File Reference + +0.9.7: vec3.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vec4.hpp File Reference
+
vec3.hpp File Reference

Go to the source code of this file.

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

+

GLM Core

Date
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file vec4.hpp.

+

Definition in file vec3.hpp.

diff --git a/doc/api/a00140_source.html b/doc/api/a00140_source.html index 7651aeb6..b5b30412 100644 --- a/doc/api/a00140_source.html +++ b/doc/api/a00140_source.html @@ -3,8 +3,8 @@ - -0.9.6: vec4.hpp Source File + +0.9.7: vec3.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vec4.hpp
+
vec3.hpp
Go to the documentation of this file.
1 
33 #pragma once
34 
-
35 #include "detail/type_vec4.hpp"
-
OpenGL Mathematics (glm.g-truc.net)
+
35 #include "detail/type_vec3.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00141.html b/doc/api/a00141.html index 7e377735..f9705a9e 100644 --- a/doc/api/a00141.html +++ b/doc/api/a00141.html @@ -3,8 +3,8 @@ - -0.9.6: vector_angle.hpp File Reference + +0.9.7: vec4.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
vector_angle.hpp File Reference
+
vec4.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

template<typename vecType >
GLM_FUNC_DECL vecType::value_type angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T orientedAngle (tvec2< T, P > const &x, tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T orientedAngle (tvec3< T, P > const &x, tvec3< T, P > const &y, tvec3< T, P > const &ref)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_vector_angle

-
Date
2005-12-30 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_quaternion (dependence)
-
-gtx_epsilon (dependence)
+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
-

Definition in file vector_angle.hpp.

+

Definition in file vec4.hpp.

diff --git a/doc/api/a00141_source.html b/doc/api/a00141_source.html index bf231ee4..9a74293f 100644 --- a/doc/api/a00141_source.html +++ b/doc/api/a00141_source.html @@ -3,8 +3,8 @@ - -0.9.6: vector_angle.hpp Source File + +0.9.7: vec4.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vector_angle.hpp
+
vec4.hpp
Go to the documentation of this file.
1 
-
44 #pragma once
-
45 
-
46 // Dependency:
-
47 #include "../glm.hpp"
-
48 #include "../gtc/epsilon.hpp"
-
49 #include "../gtx/quaternion.hpp"
-
50 #include "../gtx/rotate_vector.hpp"
-
51 
-
52 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
53 # pragma message("GLM: GLM_GTX_vector_angle extension included")
-
54 #endif
-
55 
-
56 namespace glm
-
57 {
-
60 
-
64  template <typename vecType>
-
65  GLM_FUNC_DECL typename vecType::value_type angle(
-
66  vecType const & x,
-
67  vecType const & y);
-
68 
-
72  template <typename T, precision P>
-
73  GLM_FUNC_DECL T orientedAngle(
-
74  tvec2<T, P> const & x,
-
75  tvec2<T, P> const & y);
-
76 
-
80  template <typename T, precision P>
-
81  GLM_FUNC_DECL T orientedAngle(
-
82  tvec3<T, P> const & x,
-
83  tvec3<T, P> const & y,
-
84  tvec3<T, P> const & ref);
-
85 
-
87 }// namespace glm
-
88 
-
89 #include "vector_angle.inl"
-
GLM_FUNC_DECL vecType::value_type angle(vecType const &x, vecType const &y)
Returns the absolute angle between two vectors Parameters need to be normalized.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL T orientedAngle(tvec3< T, P > const &x, tvec3< T, P > const &y, tvec3< T, P > const &ref)
Returns the oriented angle between two 3d vectors based from a reference axis.
+
33 #pragma once
+
34 
+
35 #include "detail/type_vec4.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00142.html b/doc/api/a00142.html index 51fc53c7..bf26f41d 100644 --- a/doc/api/a00142.html +++ b/doc/api/a00142.html @@ -3,8 +3,8 @@ - -0.9.6: vector_query.hpp File Reference + +0.9.7: vector_angle.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vector_query.hpp File Reference
+
vector_angle.hpp File Reference
@@ -56,43 +56,38 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename vecType >
GLM_FUNC_DECL vecType::value_type angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T orientedAngle (tvec2< T, P > const &x, tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T orientedAngle (tvec3< T, P > const &x, tvec3< T, P > const &y, tvec3< T, P > const &ref)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_vector_query

-
Date
2008-03-10 / 2011-06-07
+

GLM_GTX_vector_angle

+
Date
2005-12-30 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTX_quaternion (dependence)
+
+gtx_epsilon (dependence)
-

Definition in file vector_query.hpp.

+

Definition in file vector_angle.hpp.

diff --git a/doc/api/a00142_source.html b/doc/api/a00142_source.html index 0895a965..be51d24c 100644 --- a/doc/api/a00142_source.html +++ b/doc/api/a00142_source.html @@ -3,8 +3,8 @@ - -0.9.6: vector_query.hpp Source File + +0.9.7: vector_angle.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vector_query.hpp
+
vector_angle.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include <cfloat>
-
47 #include <limits>
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_vector_query extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
-
57 
-
60  template <typename T, precision P, template <typename, precision> class vecType>
-
61  GLM_FUNC_DECL bool areCollinear(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
-
62 
-
65  template <typename T, precision P, template <typename, precision> class vecType>
-
66  GLM_FUNC_DECL bool areOrthogonal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
-
67 
-
70  template <typename T, precision P, template <typename, precision> class vecType>
-
71  GLM_FUNC_DECL bool isNormalized(vecType<T, P> const & v, T const & epsilon);
-
72 
-
75  template <typename T, precision P, template <typename, precision> class vecType>
-
76  GLM_FUNC_DECL bool isNull(vecType<T, P> const & v, T const & epsilon);
-
77 
-
80  template <typename T, precision P, template <typename, precision> class vecType>
-
81  GLM_FUNC_DECL vecType<bool, P> isCompNull(vecType<T, P> const & v, T const & epsilon);
-
82 
-
85  template <typename T, precision P, template <typename, precision> class vecType>
-
86  GLM_FUNC_DECL bool areOrthonormal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
-
87 
-
89 }// namespace glm
-
90 
-
91 #include "vector_query.inl"
-
GLM_FUNC_DECL bool isNormalized(vecType< T, P > const &v, T const &epsilon)
Check whether a vector is normalized.
-
GLM_FUNC_DECL bool areOrthonormal(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are orthonormal.
-
GLM_FUNC_DECL bool areOrthogonal(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are orthogonals.
-
GLM_FUNC_DECL vecType< bool, P > isCompNull(vecType< T, P > const &v, T const &epsilon)
Check whether a each component of a vector is null.
-
GLM_FUNC_DECL bool areCollinear(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are collinears.
-
Definition: _noise.hpp:39
-
GLM_FUNC_DECL bool isNull(vecType< T, P > const &v, T const &epsilon)
Check whether a vector is null.
-
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
44 #pragma once
+
45 
+
46 // Dependency:
+
47 #include "../glm.hpp"
+
48 #include "../gtc/epsilon.hpp"
+
49 #include "../gtx/quaternion.hpp"
+
50 #include "../gtx/rotate_vector.hpp"
+
51 
+
52 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
53 # pragma message("GLM: GLM_GTX_vector_angle extension included")
+
54 #endif
+
55 
+
56 namespace glm
+
57 {
+
60 
+
64  template <typename vecType>
+
65  GLM_FUNC_DECL typename vecType::value_type angle(
+
66  vecType const & x,
+
67  vecType const & y);
+
68 
+
72  template <typename T, precision P>
+
73  GLM_FUNC_DECL T orientedAngle(
+
74  tvec2<T, P> const & x,
+
75  tvec2<T, P> const & y);
+
76 
+
80  template <typename T, precision P>
+
81  GLM_FUNC_DECL T orientedAngle(
+
82  tvec3<T, P> const & x,
+
83  tvec3<T, P> const & y,
+
84  tvec3<T, P> const & ref);
+
85 
+
87 }// namespace glm
+
88 
+
89 #include "vector_angle.inl"
+
GLM_FUNC_DECL vecType::value_type angle(vecType const &x, vecType const &y)
Returns the absolute angle between two vectors Parameters need to be normalized.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL T orientedAngle(tvec3< T, P > const &x, tvec3< T, P > const &y, tvec3< T, P > const &ref)
Returns the oriented angle between two 3d vectors based from a reference axis.
diff --git a/doc/api/a00143.html b/doc/api/a00143.html index d0d58fb5..33b0813c 100644 --- a/doc/api/a00143.html +++ b/doc/api/a00143.html @@ -3,8 +3,8 @@ - -0.9.6: vector_relational.hpp File Reference + +0.9.7: vector_query.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
vector_relational.hpp File Reference
+
vector_query.hpp File Reference

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNull (vecType< T, P > const &v, T const &epsilon)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM Core

-
Date
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_vector_query

+
Date
2008-03-10 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
-

Definition in file vector_relational.hpp.

+

Definition in file vector_query.hpp.

diff --git a/doc/api/a00143_source.html b/doc/api/a00143_source.html index 79986a74..c667598e 100644 --- a/doc/api/a00143_source.html +++ b/doc/api/a00143_source.html @@ -3,8 +3,8 @@ - -0.9.6: vector_relational.hpp Source File + +0.9.7: vector_query.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
vector_relational.hpp
+
vector_query.hpp
Go to the documentation of this file.
1 
-
33 #pragma once
-
34 
- -
OpenGL Mathematics (glm.g-truc.net)
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 #include <cfloat>
+
47 #include <limits>
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_vector_query extension included")
+
51 #endif
+
52 
+
53 namespace glm
+
54 {
+
57 
+
60  template <typename T, precision P, template <typename, precision> class vecType>
+
61  GLM_FUNC_DECL bool areCollinear(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
62 
+
65  template <typename T, precision P, template <typename, precision> class vecType>
+
66  GLM_FUNC_DECL bool areOrthogonal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
67 
+
70  template <typename T, precision P, template <typename, precision> class vecType>
+
71  GLM_FUNC_DECL bool isNormalized(vecType<T, P> const & v, T const & epsilon);
+
72 
+
75  template <typename T, precision P, template <typename, precision> class vecType>
+
76  GLM_FUNC_DECL bool isNull(vecType<T, P> const & v, T const & epsilon);
+
77 
+
80  template <typename T, precision P, template <typename, precision> class vecType>
+
81  GLM_FUNC_DECL vecType<bool, P> isCompNull(vecType<T, P> const & v, T const & epsilon);
+
82 
+
85  template <typename T, precision P, template <typename, precision> class vecType>
+
86  GLM_FUNC_DECL bool areOrthonormal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
87 
+
89 }// namespace glm
+
90 
+
91 #include "vector_query.inl"
+
GLM_FUNC_DECL bool isNormalized(vecType< T, P > const &v, T const &epsilon)
Check whether a vector is normalized.
+
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL vecType< bool, P > isCompNull(vecType< T, P > const &v, T const &epsilon)
Check whether a each component of a vector is null.
+
GLM_FUNC_DECL bool areOrthogonal(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are orthogonals.
+
GLM_FUNC_DECL bool isNull(vecType< T, P > const &v, T const &epsilon)
Check whether a vector is null.
+
GLM_FUNC_DECL bool areOrthonormal(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are orthonormal.
+
GLM_FUNC_DECL bool areCollinear(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are collinears.
diff --git a/doc/api/a00144.html b/doc/api/a00144.html index 45645bd6..c712fc51 100644 --- a/doc/api/a00144.html +++ b/doc/api/a00144.html @@ -3,8 +3,8 @@ - -0.9.6: wrap.hpp File Reference + +0.9.7: vector_relational.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
wrap.hpp File Reference
+
vector_relational.hpp File Reference

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_wrap

-
Date
2009-11-25 / 2011-06-07
-
Author
Christophe Riccio
-
See also
GLM Core (dependence)
+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
-

Definition in file wrap.hpp.

+

Definition in file vector_relational.hpp.

diff --git a/doc/api/a00144_source.html b/doc/api/a00144_source.html index 5aca05ec..8d371452 100644 --- a/doc/api/a00144_source.html +++ b/doc/api/a00144_source.html @@ -3,8 +3,8 @@ - -0.9.6: wrap.hpp Source File + +0.9.7: vector_relational.hpp Source File @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
wrap.hpp
+
vector_relational.hpp
Go to the documentation of this file.
1 
-
42 #pragma once
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_wrap extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename genType>
-
59  GLM_FUNC_DECL genType clamp(genType const & Texcoord);
-
60 
-
63  template <typename genType>
-
64  GLM_FUNC_DECL genType repeat(genType const & Texcoord);
-
65 
-
68  template <typename genType>
-
69  GLM_FUNC_DECL genType mirrorRepeat(genType const & Texcoord);
-
70 
-
72 }// namespace glm
-
73 
-
74 #include "wrap.inl"
-
GLM_FUNC_DECL genType clamp(genType const &Texcoord)
Simulate GL_CLAMP OpenGL wrap mode.
-
GLM_FUNC_DECL genType repeat(genType const &Texcoord)
Simulate GL_REPEAT OpenGL wrap mode.
-
GLM_FUNC_DECL genType mirrorRepeat(genType const &Texcoord)
Simulate GL_MIRROR_REPEAT OpenGL wrap mode.
-
Definition: _noise.hpp:39
+
33 #pragma once
+
34 
+ +
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00089.html b/doc/api/a00145.html similarity index 51% rename from doc/api/a00089.html rename to doc/api/a00145.html index 0ea5ddd1..6b1e6c1e 100644 --- a/doc/api/a00089.html +++ b/doc/api/a00145.html @@ -3,8 +3,8 @@ - -0.9.6: perpendicular.hpp File Reference + +0.9.7: wrap.hpp File Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
perpendicular.hpp File Reference
+
wrap.hpp File Reference
-

Go to the source code of this file.

+

Go to the source code of this file.

- - - + + + + + + + + + + + +

Functions

template<typename vecType >
GLM_FUNC_DECL vecType perp (vecType const &x, vecType const &Normal)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorClamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

GLM_GTX_perpendicular

-
Date
2005-12-21 / 2011-06-07
+

GLM_GTX_wrap

+
Date
2009-11-25 / 2011-06-07
Author
Christophe Riccio
-
See also
GLM Core (dependence)
-
-GLM_GTX_projection (dependence)
+
See also
GLM Core (dependence)
-

Definition in file perpendicular.hpp.

+

Definition in file wrap.hpp.

diff --git a/doc/api/a00145_source.html b/doc/api/a00145_source.html new file mode 100644 index 00000000..f87fbd56 --- /dev/null +++ b/doc/api/a00145_source.html @@ -0,0 +1,93 @@ + + + + + + +0.9.7: wrap.hpp Source File + + + + + + +
+
+ + + + + + + +
+
0.9.7 +
+
+
+ + + + + +
+
+
+
wrap.hpp
+
+
+Go to the documentation of this file.
1 
+
42 #pragma once
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_wrap extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename genType>
+
59  GLM_FUNC_DECL genType clamp(genType const & Texcoord);
+
60 
+
63  template <typename genType>
+
64  GLM_FUNC_DECL genType repeat(genType const & Texcoord);
+
65 
+
68  template <typename genType>
+
69  GLM_FUNC_DECL genType mirrorClamp(genType const & Texcoord);
+
70 
+
73  template <typename genType>
+
74  GLM_FUNC_DECL genType mirrorRepeat(genType const & Texcoord);
+
75 
+
77 }// namespace glm
+
78 
+
79 #include "wrap.inl"
+
GLM_FUNC_DECL genType repeat(genType const &Texcoord)
Simulate GL_REPEAT OpenGL wrap mode.
+
GLM_FUNC_DECL genType mirrorClamp(genType const &Texcoord)
Simulate GL_MIRRORED_REPEAT OpenGL wrap mode.
+
Definition: _noise.hpp:40
+
GLM_FUNC_DECL genType clamp(genType const &Texcoord)
Simulate GL_CLAMP OpenGL wrap mode.
+
GLM_FUNC_DECL genType mirrorRepeat(genType const &Texcoord)
Simulate GL_MIRROR_REPEAT OpenGL wrap mode.
+
+ + + + diff --git a/doc/api/a00149.html b/doc/api/a00149.html deleted file mode 100644 index 48260394..00000000 --- a/doc/api/a00149.html +++ /dev/null @@ -1,1123 +0,0 @@ - - - - - - -0.9.6: Common functions - - - - - - -
-
- - - - - - - -
-
0.9.6 -
-
-
- - - -
-
- -
-
Common functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType abs (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceil (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType x, genType minVal, genType maxVal)
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< int, P > floatBitsToInt (vecType< float, P > const &v)
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint (vecType< float, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floor (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType frexp (genType const &x, genIType &exp)
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > intBitsToFloat (vecType< int, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isinf (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isnan (vecType< T, P > const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType ldexp (genType const &x, genIType const &exp)
 
template<typename genType >
GLM_FUNC_DECL genType max (genType x, genType y)
 
template<typename genType >
GLM_FUNC_DECL genType min (genType x, genType y)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mix (vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType x, genType y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > round (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundEven (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T edge, vecType< T, P > const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (vecType< T, P > const &edge, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > trunc (vecType< T, P > const &x)
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat (vecType< uint, P > const &v)
 
-

Detailed Description

-

These all operate component-wise.

-

The description is per component.

-

Function Documentation

- -
-
- - - - - - - - -
GLM_FUNC_DECL genType glm::abs (genType x)
-
- -

Returns x if x >= 0; otherwise, it returns -x.

-
Template Parameters
- - -
genTypefloating-point or signed integer; scalar or vector types.
-
-
-
See also
GLSL abs man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::ceil (vecType< T, P > const & x)
-
- -

Returns a value equal to the nearest integer that is greater than or equal to x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL ceil man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::clamp (genType x,
genType minVal,
genType maxVal 
)
-
- -

Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.

-
Template Parameters
- - -
genTypeFloating-point or integer; scalar or vector types.
-
-
-
See also
GLSL clamp man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -

Referenced by glm::saturate().

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL int glm::floatBitsToInt (float const & v)
-
- -

Returns a signed integer value representing the encoding of a floating-point value.

-

The floating-point value's bit-level representation is preserved.

-
See also
GLSL floatBitsToInt man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<int, P> glm::floatBitsToInt (vecType< float, P > const & v)
-
- -

Returns a signed integer value representing the encoding of a floating-point value.

-

The floatingpoint value's bit-level representation is preserved.

-
See also
GLSL floatBitsToInt man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint glm::floatBitsToUint (float const & v)
-
- -

Returns a unsigned integer value representing the encoding of a floating-point value.

-

The floatingpoint value's bit-level representation is preserved.

-
See also
GLSL floatBitsToUint man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<uint, P> glm::floatBitsToUint (vecType< float, P > const & v)
-
- -

Returns a unsigned integer value representing the encoding of a floating-point value.

-

The floatingpoint value's bit-level representation is preserved.

-
See also
GLSL floatBitsToUint man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::floor (vecType< T, P > const & x)
-
- -

Returns a value equal to the nearest integer that is less then or equal to x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL floor man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::fma (genType const & a,
genType const & b,
genType const & c 
)
-
- -

Computes and returns a * b + c.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL fma man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genType glm::fract (genType x)
-
- -

Return x - floor(x).

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL fract man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::frexp (genType const & x,
genIType & exp 
)
-
- -

Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent)

-

The significand is returned by the function and the exponent is returned in the parameter exp. For a floating-point value of zero, the significant and exponent are both zero. For a floating-point value that is an infinity or is not a number, the results are undefined.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL frexp man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL float glm::intBitsToFloat (int const & v)
-
- -

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

-

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

-
See also
GLSL intBitsToFloat man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<float, P> glm::intBitsToFloat (vecType< int, P > const & v)
-
- -

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

-

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

-
See also
GLSL intBitsToFloat man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::isinf (vecType< T, P > const & x)
-
- -

Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.

-

Returns false otherwise, including for implementations with no infinity representations.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL isinf man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::isnan (vecType< T, P > const & x)
-
- -

Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.

-

Returns false otherwise, including for implementations with no NaN representations.

-

/!\ When using compiler fast math, this function may fail.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL isnan man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::ldexp (genType const & x,
genIType const & exp 
)
-
- -

Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent)

-

If this product is too large to be represented in the floating-point type, the result is undefined.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL ldexp man page;
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::max (genType x,
genType y 
)
-
- -

Returns y if x < y; otherwise, it returns x.

-
Template Parameters
- - -
genTypeFloating-point or integer; scalar or vector types.
-
-
-
See also
GLSL max man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::min (genType x,
genType y 
)
-
- -

Returns y if y < x; otherwise, it returns x.

-
Template Parameters
- - -
genTypeFloating-point or integer; scalar or vector types.
-
-
-
See also
GLSL min man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::mix (vecType< T, P > const & x,
vecType< T, P > const & y,
vecType< U, P > const & a 
)
-
- -

If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a.

-

The value for a is not restricted to the range [0, 1].

-

If genTypeU is a boolean scalar or vector: Selects which vector each returned component comes from. For a component of that is false, the corresponding component of x is returned. For a component of a that is true, the corresponding component of y is returned. Components of x and y that are not selected are allowed to be invalid floating point values and will have no effect on the results. Thus, this provides different functionality than genType mix(genType x, genType y, genType(a)) where a is a Boolean vector.

-
See also
GLSL mix man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
-
Parameters
- - - - -
[in]xValue to interpolate.
[in]yValue to interpolate.
[in]aInterpolant.
-
-
-
Template Parameters
- - - -
genTypeTFloating point scalar or vector.
genTypeUFloating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT.
-
-
-
#include <glm/glm.hpp>
-
...
-
float a;
-
bool b;
- - - - -
...
-
glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors.
-
glm::vec4 s = glm::mix(g, h, b); // Teturns g or h;
-
glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second.
-
glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.
-
-

Referenced by glm::lerp(), and glm::slerp().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::mod (genType x,
genType y 
)
-
- -

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL mod man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::modf (genType x,
genType & i 
)
-
- -

Returns the fractional part of x and sets i to the integer part (as a whole number floating point value).

-

Both the return value and the output parameter will have the same sign as x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL modf man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::round (vecType< T, P > const & x)
-
- -

Returns a value equal to the nearest integer to x.

-

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest. This includes the possibility that round(x) returns the same value as roundEven(x) for all values of x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL round man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::roundEven (vecType< T, P > const & x)
-
- -

Returns a value equal to the nearest integer to x.

-

A fractional part of 0.5 will round toward the nearest even integer. (Both 3.5 and 4.5 for x will return 4.0.)

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL roundEven man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
-
-New round to even technique
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::sign (vecType< T, P > const & x)
-
- -

Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.

-
Template Parameters
- - -
genTypeFloating-point or signed integer; scalar or vector types.
-
-
-
See also
GLSL sign man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::smoothstep (genType edge0,
genType edge1,
genType x 
)
-
- -

Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1.

-

This is useful in cases where you would want a threshold function with a smooth transition. This is equivalent to: genType t; t = clamp ((x - edge0) / (edge1 - edge0), 0, 1); return t * t * (3 - 2 * t); Results are undefined if edge0 >= edge1.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL smoothstep man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::step (genType edge,
genType x 
)
-
- -

Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType.

-
See also
GLSL step man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::step (edge,
vecType< T, P > const & x 
)
-
- -

Returns 0.0 if x < edge, otherwise it returns 1.0.

-
See also
GLSL step man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::step (vecType< T, P > const & edge,
vecType< T, P > const & x 
)
-
- -

Returns 0.0 if x < edge, otherwise it returns 1.0.

-
See also
GLSL step man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::trunc (vecType< T, P > const & x)
-
- -

Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL trunc man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL float glm::uintBitsToFloat (uint const & v)
-
- -

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

-

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

-
See also
GLSL uintBitsToFloat man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<float, P> glm::uintBitsToFloat (vecType< uint, P > const & v)
-
- -

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

-

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

-
See also
GLSL uintBitsToFloat man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
-
- - - - diff --git a/doc/api/a00150.html b/doc/api/a00150.html deleted file mode 100644 index 334bce54..00000000 --- a/doc/api/a00150.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - -0.9.6: Exponential functions - - - - - - -
-
- - - - - - - -
-
0.9.6 -
-
-
- - - -
-
- -
-
Exponential functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > inversesqrt (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > pow (vecType< T, P > const &base, vecType< T, P > const &exponent)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sqrt (vecType< T, P > const &v)
 
-

Detailed Description

-

These all operate component-wise.

-

The description is per component.

-

Function Documentation

- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::exp (vecType< T, P > const & v)
-
- -

Returns the natural exponentiation of x, i.e., e^x.

-
Parameters
- - -
vexp function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL exp man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::exp2 (vecType< T, P > const & v)
-
- -

Returns 2 raised to the v power.

-
Parameters
- - -
vexp2 function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL exp2 man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::inversesqrt (vecType< T, P > const & v)
-
- -

Returns the reciprocal of the positive square root of v.

-
Parameters
- - -
vinversesqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL inversesqrt man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::log (vecType< T, P > const & v)
-
- -

Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y.

-

Results are undefined if v <= 0.

-
Parameters
- - -
vlog function is defined for input values of v defined in the range (0, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL log man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::log2 (vecType< T, P > const & v)
-
- -

Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y.

-
Parameters
- - -
vlog2 function is defined for input values of v defined in the range (0, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL log2 man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::pow (vecType< T, P > const & base,
vecType< T, P > const & exponent 
)
-
- -

Returns 'base' raised to the power 'exponent'.

-
Parameters
- - - -
baseFloating point value. pow function is defined for input values of 'base' defined in the range (inf-, inf+) in the limit of the type precision.
exponentFloating point value representing the 'exponent'.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL pow man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::sqrt (vecType< T, P > const & v)
-
- -

Returns the positive square root of v.

-
Parameters
- - -
vsqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL sqrt man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
-
- - - - diff --git a/doc/api/a00151.html b/doc/api/a00151.html index c25ab909..7d266306 100644 --- a/doc/api/a00151.html +++ b/doc/api/a00151.html @@ -3,8 +3,8 @@ - -0.9.6: Geometric functions + +0.9.7: Common functions @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T distance (vecType< T, P > const &p0, vecType< T, P > const &p1)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T dot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T length (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > normalize (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType reflect (genType const &I, genType const &N)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > refract (vecType< T, P > const &I, vecType< T, P > const &N, T eta)
 
template<typename genType >
GLM_FUNC_DECL genType abs (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceil (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType x, genType minVal, genType maxVal)
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< int, P > floatBitsToInt (vecType< float, P > const &v)
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint (vecType< float, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floor (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType frexp (genType const &x, genIType &exp)
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > intBitsToFloat (vecType< int, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isinf (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isnan (vecType< T, P > const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType ldexp (genType const &x, genIType const &exp)
 
template<typename genType >
GLM_FUNC_DECL genType max (genType x, genType y)
 
template<typename genType >
GLM_FUNC_DECL genType min (genType x, genType y)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mix (vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType x, genType y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > round (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundEven (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T edge, vecType< T, P > const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (vecType< T, P > const &edge, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > trunc (vecType< T, P > const &x)
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat (vecType< uint, P > const &v)
 

Detailed Description

-

These operate on vectors as vectors, not component-wise.

+

These all operate component-wise.

+

The description is per component.

Function Documentation

- +
- + - + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::cross GLM_FUNC_DECL genType glm::abs (tvec3< T, P > const & genType x)
+
+ +

Returns x if x >= 0; otherwise, it returns -x.

+
Template Parameters
+ + +
genTypefloating-point or signed integer; scalar or vector types.
+
+
+
See also
GLSL abs man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::ceil (vecType< T, P > const & x)
+
+ +

Returns a value equal to the nearest integer that is greater than or equal to x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL ceil man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + - + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::clamp (genType  x,
tvec3< T, P > const & genType minVal,
genType maxVal 
)
+
+ +

Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.

+
Template Parameters
+ + +
genTypeFloating-point or integer; scalar or vector types.
+
+
+
See also
GLSL clamp man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +

Referenced by glm::saturate().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL int glm::floatBitsToInt (float const & v)
+
+ +

Returns a signed integer value representing the encoding of a floating-point value.

+

The floating-point value's bit-level representation is preserved.

+
See also
GLSL floatBitsToInt man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<int, P> glm::floatBitsToInt (vecType< float, P > const & v)
+
+ +

Returns a signed integer value representing the encoding of a floating-point value.

+

The floatingpoint value's bit-level representation is preserved.

+
See also
GLSL floatBitsToInt man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::floatBitsToUint (float const & v)
+
+ +

Returns a unsigned integer value representing the encoding of a floating-point value.

+

The floatingpoint value's bit-level representation is preserved.

+
See also
GLSL floatBitsToUint man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<uint, P> glm::floatBitsToUint (vecType< float, P > const & v)
+
+ +

Returns a unsigned integer value representing the encoding of a floating-point value.

+

The floatingpoint value's bit-level representation is preserved.

+
See also
GLSL floatBitsToUint man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::floor (vecType< T, P > const & x)
+
+ +

Returns a value equal to the nearest integer that is less then or equal to x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL floor man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::fma (genType const & a,
genType const & b,
genType const & c 
)
+
+ +

Computes and returns a * b + c.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL fma man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fract (genType x)
+
+ +

Return x - floor(x).

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL fract man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::frexp (genType const & x,
genIType & exp 
)
+
+ +

Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent)

+

The significand is returned by the function and the exponent is returned in the parameter exp. For a floating-point value of zero, the significant and exponent are both zero. For a floating-point value that is an infinity or is not a number, the results are undefined.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL frexp man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::intBitsToFloat (int const & v)
+
+ +

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

+

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

+
See also
GLSL intBitsToFloat man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<float, P> glm::intBitsToFloat (vecType< int, P > const & v)
+
+ +

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

+

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

+
See also
GLSL intBitsToFloat man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::isinf (vecType< T, P > const & x)
+
+ +

Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.

+

Returns false otherwise, including for implementations with no infinity representations.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL isinf man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::isnan (vecType< T, P > const & x)
+
+ +

Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.

+

Returns false otherwise, including for implementations with no NaN representations.

+

/!\ When using compiler fast math, this function may fail.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL isnan man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::ldexp (genType const & x,
genIType const & exp 
)
+
+ +

Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent)

+

If this product is too large to be represented in the floating-point type, the result is undefined.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL ldexp man page;
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + @@ -97,70 +624,33 @@ Functions
GLM_FUNC_DECL genType glm::max (genType x,
genType  y 
-

Returns the cross product of x and y.

+

Returns y if x < y; otherwise, it returns x.

Template Parameters
- +
valTypeFloating-point scalar types.
genTypeFloating-point or integer; scalar or vector types.
-
See also
GLSL cross man page
+
See also
GLSL max man page
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
+GLSL 4.20.8 specification, section 8.3 Common Functions
- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::distance GLM_FUNC_DECL genType glm::min (vecType< T, P > const & p0,
vecType< T, P > const & p1 
)
-
- -

Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).

-
Template Parameters
- - -
genTypeFloating-point vector types.
-
-
-
See also
GLSL distance man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - + - + @@ -171,40 +661,40 @@ Functions
GLM_FUNC_DECL T glm::dot (vecType< T, P > const & genType  x,
vecType< T, P > const & genType  y 
-

Returns the dot product of x and y, i.e., result = x * y.

+

Returns y if y < x; otherwise, it returns x.

Template Parameters
- +
genTypeFloating-point vector types.
genTypeFloating-point or integer; scalar or vector types.
-
See also
GLSL dot man page
+
See also
GLSL min man page
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
+GLSL 4.20.8 specification, section 8.3 Common Functions
- +
- + - - + + - - + + - - + + @@ -214,83 +704,60 @@ Functions
GLM_FUNC_DECL genType glm::faceforward GLM_FUNC_DECL vecType<T, P> glm::mix (genType const & N, vecType< T, P > const & x,
genType const & I, vecType< T, P > const & y,
genType const & Nref vecType< U, P > const & a 
-

If dot(Nref, I) < 0.0, return N, otherwise, return -N.

-
Template Parameters
- - +

If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a.

+

The value for a is not restricted to the range [0, 1].

+

If genTypeU is a boolean scalar or vector: Selects which vector each returned component comes from. For a component of that is false, the corresponding component of x is returned. For a component of a that is true, the corresponding component of y is returned. Components of x and y that are not selected are allowed to be invalid floating point values and will have no effect on the results. Thus, this provides different functionality than genType mix(genType x, genType y, genType(a)) where a is a Boolean vector.

+
See also
GLSL mix man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+
Parameters
+
genTypeFloating-point vector types.
+ + +
[in]xValue to interpolate.
[in]yValue to interpolate.
[in]aInterpolant.
-
See also
GLSL faceforward man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::length (vecType< T, P > const & x)
-
- -

Returns the length of x, i.e., sqrt(x * x).

Template Parameters
- + +
genTypeFloating-point vector types.
genTypeTFloating point scalar or vector.
genTypeUFloating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT.
-
See also
GLSL length man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
+
#include <glm/glm.hpp>
+
...
+
float a;
+
bool b;
+ + + + +
...
+
glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors.
+
glm::vec4 s = glm::mix(g, h, b); // Teturns g or h;
+
glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second.
+
glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.
+
+

Referenced by glm::lerp().

- +
- + - - - - -
GLM_FUNC_DECL vecType<T, P> glm::normalize GLM_FUNC_DECL genType glm::mod (vecType< T, P > const & x)
-
- -

Returns a vector in the same direction as x but with length of 1.

-

According to issue 10 GLSL 1.10 specification, if length(x) == 0 then result is undefined and generate an error.

-
See also
GLSL normalize man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - + + - - + + @@ -300,40 +767,233 @@ Functions
GLM_FUNC_DECL genType glm::reflect (genType const & I, genType x,
genType const & N genType y 
-

For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.

+

Modulus.

+

Returns x - y * floor(x / y) for each component in x using the floating point value y.

Template Parameters
- +
genTypeFloating-point vector types.
genTypeFloating-point scalar or vector types.
-
See also
GLSL reflect man page
+
See also
GLSL mod man page
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
+GLSL 4.20.8 specification, section 8.3 Common Functions
- +
- + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::refract GLM_FUNC_DECL genType glm::modf (genType x,
genType & i 
)
+
+ +

Returns the fractional part of x and sets i to the integer part (as a whole number floating point value).

+

Both the return value and the output parameter will have the same sign as x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL modf man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + - - - - + + +
GLM_FUNC_DECL vecType<T, P> glm::round ( vecType< T, P > const & I,
x)
+
+ +

Returns a value equal to the nearest integer to x.

+

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest. This includes the possibility that round(x) returns the same value as roundEven(x) for all values of x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL round man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + - + + + +
GLM_FUNC_DECL vecType<T, P> glm::roundEven ( vecType< T, P > const & N, x)
+
+ +

Returns a value equal to the nearest integer to x.

+

A fractional part of 0.5 will round toward the nearest even integer. (Both 3.5 and 4.5 for x will return 4.0.)

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL roundEven man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+
+New round to even technique
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::sign (vecType< T, P > const & x)
+
+ +

Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.

+
Template Parameters
+ + +
genTypeFloating-point or signed integer; scalar or vector types.
+
+
+
See also
GLSL sign man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::smoothstep (genType edge0,
genType edge1,
genType x 
)
+
+ +

Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1.

+

This is useful in cases where you would want a threshold function with a smooth transition. This is equivalent to: genType t; t = clamp ((x - edge0) / (edge1 - edge0), 0, 1); return t * t * (3 - 2 * t); Results are undefined if edge0 >= edge1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL smoothstep man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::step (genType edge,
genType x 
)
+
+ +

Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType.

+
See also
GLSL step man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + - + + + + + + + @@ -343,16 +1003,112 @@ Functions
GLM_FUNC_DECL vecType<T, P> glm::step ( eta edge,
vecType< T, P > const & x 
-

For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

+

Returns 0.0 if x < edge, otherwise it returns 1.0.

+
See also
GLSL step man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::step (vecType< T, P > const & edge,
vecType< T, P > const & x 
)
+
+ +

Returns 0.0 if x < edge, otherwise it returns 1.0.

+
See also
GLSL step man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::trunc (vecType< T, P > const & x)
+
+ +

Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.

Template Parameters
- +
genTypeFloating-point vector types.
genTypeFloating-point scalar or vector types.
-
See also
GLSL refract man page
+
See also
GLSL trunc man page
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::uintBitsToFloat (uint const & v)
+
+ +

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

+

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

+
See also
GLSL uintBitsToFloat man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<float, P> glm::uintBitsToFloat (vecType< uint, P > const & v)
+
+ +

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

+

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

+
See also
GLSL uintBitsToFloat man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
@@ -361,7 +1117,7 @@ Functions diff --git a/doc/api/a00152.html b/doc/api/a00152.html index 3ae087e6..7a82558d 100644 --- a/doc/api/a00152.html +++ b/doc/api/a00152.html @@ -3,8 +3,8 @@ - -0.9.6: Integer functions + +0.9.7: Exponential functions @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > bitCount (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldExtract (vecType< T, P > const &Value, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldInsert (vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldReverse (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findLSB (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findMSB (vecType< T, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void imulExtended (vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > uaddCarry (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &carry)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void umulExtended (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > usubBorrow (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &borrow)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > inversesqrt (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > pow (vecType< T, P > const &base, vecType< T, P > const &exponent)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sqrt (vecType< T, P > const &v)
 

Detailed Description

These all operate component-wise.

-

The description is per component. The notation [a, b] means the set of bits from bit-number a through bit-number b, inclusive. The lowest-order bit is bit 0.

+

The description is per component.

Function Documentation

- +
- - - - - - -
GLM_FUNC_DECL int glm::bitCount (genType v)
-
- -

Returns the number of bits set to 1 in the binary representation of value.

-
Template Parameters
- - -
TSigned or unsigned integer scalar or vector types.
-
-
-
See also
GLSL bitCount man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - + @@ -130,120 +85,31 @@ Functions
GLM_FUNC_DECL vecType<int, P> glm::bitCount GLM_FUNC_DECL vecType<T, P> glm::exp ( vecType< T, P > const &  v)
-

Returns the number of bits set to 1 in the binary representation of value.

-
Template Parameters
- - +

Returns the natural exponentiation of x, i.e., e^x.

+
Parameters
+
TSigned or unsigned integer scalar or vector types.
+
vexp function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type precision.
-
See also
GLSL bitCount man page
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL exp man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
- +
- - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::bitfieldExtract (vecType< T, P > const & Value,
int Offset,
int Bits 
)
-
- -

Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result.

-

For unsigned data types, the most significant bits of the result will be set to zero. For signed data types, the most significant bits will be set to the value of bit offset + base - 1.

-

If bits is zero, the result will be zero. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

-
Template Parameters
- - -
TSigned or unsigned integer scalar or vector types.
-
-
-
See also
GLSL bitfieldExtract man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::bitfieldInsert (vecType< T, P > const & Base,
vecType< T, P > const & Insert,
int Offset,
int Bits 
)
-
- -

Returns the insertion the bits least-significant bits of insert into base.

-

The result will have bits [offset, offset + bits - 1] taken from bits [0, bits - 1] of insert, and all other bits taken directly from the corresponding bits of base. If bits is zero, the result will simply be base. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

-
Template Parameters
- - -
TSigned or unsigned integer scalar or vector types.
-
-
-
See also
GLSL bitfieldInsert man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - + @@ -252,54 +118,31 @@ Functions
GLM_FUNC_DECL vecType<T, P> glm::bitfieldReverse GLM_FUNC_DECL vecType<T, P> glm::exp2 ( vecType< T, P > const &  v)
-

Returns the reversal of the bits of value.

-

The bit numbered n of the result will be taken from bit (bits - 1) - n of value, where bits is the total number of bits used to represent value.

-
Template Parameters
- - +

Returns 2 raised to the v power.

+
Parameters
+
TSigned or unsigned integer scalar or vector types.
+
vexp2 function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type precision.
-
See also
GLSL bitfieldReverse man page
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL exp2 man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
- +
- - - - - - -
GLM_FUNC_DECL int glm::findLSB (genIUType x)
-
- -

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

-

If value is zero, -1 will be returned.

-
Template Parameters
- - -
TSigned or unsigned integer scalar types.
-
-
-
See also
GLSL findLSB man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - + @@ -308,54 +151,31 @@ Functions
GLM_FUNC_DECL vecType<int, P> glm::findLSB GLM_FUNC_DECL vecType<T, P> glm::inversesqrt ( vecType< T, P > const &  v)
-

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

-

If value is zero, -1 will be returned.

-
Template Parameters
- - +

Returns the reciprocal of the positive square root of v.

+
Parameters
+
TSigned or unsigned integer scalar types.
+
vinversesqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type precision.
-
See also
GLSL findLSB man page
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL inversesqrt man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
- +
- - - - - - -
GLM_FUNC_DECL int glm::findMSB (genIUType x)
-
- -

Returns the bit number of the most significant bit in the binary representation of value.

-

For positive integers, the result will be the bit number of the most significant bit set to 1. For negative integers, the result will be the bit number of the most significant bit set to 0. For a value of zero or negative one, -1 will be returned.

-
Template Parameters
- - -
TSigned or unsigned integer scalar types.
-
-
-
See also
GLSL findMSB man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - + @@ -364,47 +184,74 @@ Functions
GLM_FUNC_DECL vecType<int, P> glm::findMSB GLM_FUNC_DECL vecType<T, P> glm::log ( vecType< T, P > const &  v)
-

Returns the bit number of the most significant bit in the binary representation of value.

-

For positive integers, the result will be the bit number of the most significant bit set to 1. For negative integers, the result will be the bit number of the most significant bit set to 0. For a value of zero or negative one, -1 will be returned.

-
Template Parameters
- - +

Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y.

+

Results are undefined if v <= 0.

+
Parameters
+
TSigned or unsigned integer scalar types.
+
vlog function is defined for input values of v defined in the range (0, inf+) in the limit of the type precision.
-
See also
GLSL findMSB man page
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL log man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
- +
- + - - + + + + +
GLM_FUNC_DECL void glm::imulExtended GLM_FUNC_DECL vecType<T, P> glm::log2 (vecType< int, P > const & x, vecType< T, P > const & v)
+
+ +

Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y.

+
Parameters
+ + +
vlog2 function is defined for input values of v defined in the range (0, inf+) in the limit of the type precision.
+
+
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL log2 man page
+
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
+ +
+
+ +
+
+ + + + + + - - - - - - - - - - - - - - + + @@ -414,155 +261,56 @@ Functions
GLM_FUNC_DECL vecType<T, P> glm::pow (vecType< T, P > const & base,
vecType< int, P > const & y,
vecType< int, P > & msb,
vecType< int, P > & lsb vecType< T, P > const & exponent 
-

Multiplies 32-bit integers x and y, producing a 64-bit result.

-

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

-
Template Parameters
- - +

Returns 'base' raised to the power 'exponent'.

+
Parameters
+
genITypeSigned integer scalar or vector types.
+ +
baseFloating point value. pow function is defined for input values of 'base' defined in the range (inf-, inf+) in the limit of the type precision.
exponentFloating point value representing the 'exponent'.
-
See also
GLSL imulExtended man page
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL pow man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
- +
- + - - - - - + + - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<uint, P> glm::uaddCarry GLM_FUNC_DECL vecType<T, P> glm::sqrt (vecType< uint, P > const & x,
vecType< T, P > const & v) vecType< uint, P > const & y,
vecType< uint, P > & carry 
)
-

Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).

-

The value carry is set to 0 if the sum was less than pow(2, 32), or to 1 otherwise.

-
Template Parameters
- - +

Returns the positive square root of v.

+
Parameters
+
genUTypeUnsigned integer scalar or vector types.
+
vsqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type precision.
-
See also
GLSL uaddCarry man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL void glm::umulExtended (vecType< uint, P > const & x,
vecType< uint, P > const & y,
vecType< uint, P > & msb,
vecType< uint, P > & lsb 
)
-
- -

Multiplies 32-bit integers x and y, producing a 64-bit result.

-

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

Template Parameters
- +
genUTypeUnsigned integer scalar or vector types.
genTypeFloating-point scalar or vector types.
-
See also
GLSL umulExtended man page
+
See also
GLSL sqrt man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<uint, P> glm::usubBorrow (vecType< uint, P > const & x,
vecType< uint, P > const & y,
vecType< uint, P > & borrow 
)
-
- -

Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.

-

The value borrow is set to 0 if x >= y, or to 1 otherwise.

-
Template Parameters
- - -
genUTypeUnsigned integer scalar or vector types.
-
-
-
See also
GLSL usubBorrow man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
@@ -571,7 +319,7 @@ Functions diff --git a/doc/api/a00153.html b/doc/api/a00153.html index a29aa3b8..40e45968 100644 --- a/doc/api/a00153.html +++ b/doc/api/a00153.html @@ -3,8 +3,8 @@ - -0.9.6: Matrix functions + +0.9.7: Geometric functions @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL T determinant (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > inverse (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > matrixCompMult (matType< T, P > const &x, matType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecTypeA, template< typename, precision > class vecTypeB>
GLM_FUNC_DECL
-detail::outerProduct_trait< T,
-P, vecTypeA, vecTypeB >::type 
outerProduct (vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T distance (vecType< T, P > const &p0, vecType< T, P > const &p1)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T dot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > faceforward (vecType< T, P > const &N, vecType< T, P > const &I, vecType< T, P > const &Nref)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T length (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > normalize (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType reflect (genType const &I, genType const &N)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > refract (vecType< T, P > const &I, vecType< T, P > const &N, T eta)
 

Detailed Description

-

For each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision.

-

Only the single-precision floating point version is shown.

+

These operate on vectors as vectors, not component-wise.

Function Documentation

- +
- + - - - - -
GLM_FUNC_DECL T glm::determinant GLM_FUNC_DECL tvec3<T, P> glm::cross (matType< T, P > const & m)
-
- -

Returns the transposed matrix of x.

-
Template Parameters
- - -
matTypeFloating-point matrix types.
-
-
-
See also
GLSL transpose man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions Return the determinant of a squared matrix.
-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See also
GLSL determinant man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL matType<T, P> glm::inverse (matType< T, P > const & m)
-
- -

Return the inverse of a squared matrix.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See also
GLSL inverse man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - + - + @@ -151,34 +97,34 @@ P, vecTypeA, vecTypeB >::type  - @@ -26,7 +26,7 @@
GLM_FUNC_DECL matType<T, P> glm::matrixCompMult (matType< T, P > const & tvec3< T, P > const &  x,
matType< T, P > const & tvec3< T, P > const &  y 
-

Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j].

+

Returns the cross product of x and y.

Template Parameters
- +
matTypeFloating-point matrix types.
valTypeFloating-point scalar types.
-
See also
GLSL matrixCompMult man page
+
See also
GLSL cross man page
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
- +
- + - - + + - - + + @@ -188,16 +134,225 @@ P, vecTypeA, vecTypeB >::type  - @@ -26,7 +26,7 @@
GLM_FUNC_DECL detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type glm::outerProduct GLM_FUNC_DECL T glm::distance (vecTypeA< T, P > const & c, vecType< T, P > const & p0,
vecTypeB< T, P > const & r vecType< T, P > const & p1 
-

Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r.

+

Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).

Template Parameters
- +
matTypeFloating-point matrix types.
genTypeFloating-point vector types.
-
See also
GLSL outerProduct man page
+
See also
GLSL distance man page
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::dot (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the dot product of x and y, i.e., result = x * y.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See also
GLSL dot man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::faceforward (vecType< T, P > const & N,
vecType< T, P > const & I,
vecType< T, P > const & Nref 
)
+
+ +

If dot(Nref, I) < 0.0, return N, otherwise, return -N.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See also
GLSL faceforward man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::length (vecType< T, P > const & x)
+
+ +

Returns the length of x, i.e., sqrt(x * x).

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See also
GLSL length man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::normalize (vecType< T, P > const & x)
+
+ +

Returns a vector in the same direction as x but with length of 1.

+

According to issue 10 GLSL 1.10 specification, if length(x) == 0 then result is undefined and generate an error.

+
See also
GLSL normalize man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::reflect (genType const & I,
genType const & N 
)
+
+ +

For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See also
GLSL reflect man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::refract (vecType< T, P > const & I,
vecType< T, P > const & N,
eta 
)
+
+ +

For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See also
GLSL refract man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
@@ -206,7 +361,7 @@ P, vecTypeA, vecTypeB >::type 
diff --git a/doc/api/a00154.html b/doc/api/a00154.html index a505abaf..c95d3f15 100644 --- a/doc/api/a00154.html +++ b/doc/api/a00154.html @@ -3,8 +3,8 @@ - -0.9.6: Noise functions + +0.9.7: Integer functions @@ -17,8 +17,8 @@
-
0.9.6 +
+
0.9.7
- +
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec2< typename
-genType::value_type, defaultp > 
noise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec3< typename
-genType::value_type, defaultp > 
noise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec4< typename
-genType::value_type, defaultp > 
noise4 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > bitCount (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldExtract (vecType< T, P > const &Value, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldInsert (vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldReverse (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findLSB (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findMSB (vecType< T, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void imulExtended (vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > uaddCarry (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &carry)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void umulExtended (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > usubBorrow (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &borrow)
 

Detailed Description

-

Noise functions are stochastic functions that can be used to increase visual complexity.

-

Values returned by the following noise functions give the appearance of randomness, but are not truly random.

+

These all operate component-wise.

+

The description is per component. The notation [a, b] means the set of bits from bit-number a through bit-number b, inclusive. The lowest-order bit is bit 0.

Function Documentation

- +
- + - + + + + +
GLM_FUNC_DECL genType::value_type glm::noise1 GLM_FUNC_DECL int glm::bitCount (genType const & genType v)
+
+ +

Returns the number of bits set to 1 in the binary representation of value.

+
Template Parameters
+ + +
TSigned or unsigned integer scalar or vector types.
+
+
+
See also
GLSL bitCount man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<int, P> glm::bitCount (vecType< T, P > const & v)
+
+ +

Returns the number of bits set to 1 in the binary representation of value.

+
Template Parameters
+ + +
TSigned or unsigned integer scalar or vector types.
+
+
+
See also
GLSL bitCount man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldExtract (vecType< T, P > const & Value,
int Offset,
int Bits 
)
+
+ +

Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result.

+

For unsigned data types, the most significant bits of the result will be set to zero. For signed data types, the most significant bits will be set to the value of bit offset + base - 1.

+

If bits is zero, the result will be zero. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

+
Template Parameters
+ + +
TSigned or unsigned integer scalar or vector types.
+
+
+
See also
GLSL bitfieldExtract man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldInsert (vecType< T, P > const & Base,
vecType< T, P > const & Insert,
int Offset,
int Bits 
)
+
+ +

Returns the insertion the bits least-significant bits of insert into base.

+

The result will have bits [offset, offset + bits - 1] taken from bits [0, bits - 1] of insert, and all other bits taken directly from the corresponding bits of base. If bits is zero, the result will simply be base. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

+
Template Parameters
+ + +
TSigned or unsigned integer scalar or vector types.
+
+
+
See also
GLSL bitfieldInsert man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldReverse (vecType< T, P > const & v)
+
+ +

Returns the reversal of the bits of value.

+

The bit numbered n of the result will be taken from bit (bits - 1) - n of value, where bits is the total number of bits used to represent value.

+
Template Parameters
+ + +
TSigned or unsigned integer scalar or vector types.
+
+
+
See also
GLSL bitfieldReverse man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + +
GLM_FUNC_DECL int glm::findLSB (genIUType  x)
-

Returns a 1D noise value based on the input value x.

+

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

+

If value is zero, -1 will be returned.

Template Parameters
- +
genTypeFloating-point scalar or vector types.
TSigned or unsigned integer scalar types.
-
See also
GLSL noise1 man page
+
See also
GLSL findLSB man page
-GLSL 4.20.8 specification, section 8.13 Noise Functions
+GLSL 4.20.8 specification, section 8.8 Integer Functions
- +
- + - + + + + +
GLM_FUNC_DECL tvec2<typename genType::value_type, defaultp> glm::noise2 GLM_FUNC_DECL vecType<int, P> glm::findLSB (genType const & vecType< T, P > const & v)
+
+ +

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

+

If value is zero, -1 will be returned.

+
Template Parameters
+ + +
TSigned or unsigned integer scalar types.
+
+
+
See also
GLSL findLSB man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + +
GLM_FUNC_DECL int glm::findMSB (genIUType  x)
-

Returns a 2D noise value based on the input value x.

+

Returns the bit number of the most significant bit in the binary representation of value.

+

For positive integers, the result will be the bit number of the most significant bit set to 1. For negative integers, the result will be the bit number of the most significant bit set to 0. For a value of zero or negative one, -1 will be returned.

Template Parameters
- +
genTypeFloating-point scalar or vector types.
TSigned or unsigned integer scalar types.
-
See also
GLSL noise2 man page
+
See also
GLSL findMSB man page
-GLSL 4.20.8 specification, section 8.13 Noise Functions
+GLSL 4.20.8 specification, section 8.8 Integer Functions
- +
- + - - + +
GLM_FUNC_DECL tvec3<typename genType::value_type, defaultp> glm::noise3 GLM_FUNC_DECL vecType<int, P> glm::findMSB (genType const & x)vecType< T, P > const & v)
-

Returns a 3D noise value based on the input value x.

+

Returns the bit number of the most significant bit in the binary representation of value.

+

For positive integers, the result will be the bit number of the most significant bit set to 1. For negative integers, the result will be the bit number of the most significant bit set to 0. For a value of zero or negative one, -1 will be returned.

Template Parameters
- +
genTypeFloating-point scalar or vector types.
TSigned or unsigned integer scalar types.
-
See also
GLSL noise3 man page
+
See also
GLSL findMSB man page
-GLSL 4.20.8 specification, section 8.13 Noise Functions
+GLSL 4.20.8 specification, section 8.8 Integer Functions
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<typename genType::value_type, defaultp> glm::noise4 GLM_FUNC_DECL void glm::imulExtended (genType const & x)vecType< int, P > const & x,
vecType< int, P > const & y,
vecType< int, P > & msb,
vecType< int, P > & lsb 
)
-

Returns a 4D noise value based on the input value x.

+

Multiplies 32-bit integers x and y, producing a 64-bit result.

+

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

Template Parameters
- +
genTypeFloating-point scalar or vector types.
genITypeSigned integer scalar or vector types.
-
See also
GLSL noise4 man page
+
See also
GLSL imulExtended man page
-GLSL 4.20.8 specification, section 8.13 Noise Functions
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<uint, P> glm::uaddCarry (vecType< uint, P > const & x,
vecType< uint, P > const & y,
vecType< uint, P > & carry 
)
+
+ +

Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).

+

The value carry is set to 0 if the sum was less than pow(2, 32), or to 1 otherwise.

+
Template Parameters
+ + +
genUTypeUnsigned integer scalar or vector types.
+
+
+
See also
GLSL uaddCarry man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL void glm::umulExtended (vecType< uint, P > const & x,
vecType< uint, P > const & y,
vecType< uint, P > & msb,
vecType< uint, P > & lsb 
)
+
+ +

Multiplies 32-bit integers x and y, producing a 64-bit result.

+

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

+
Template Parameters
+ + +
genUTypeUnsigned integer scalar or vector types.
+
+
+
See also
GLSL umulExtended man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<uint, P> glm::usubBorrow (vecType< uint, P > const & x,
vecType< uint, P > const & y,
vecType< uint, P > & borrow 
)
+
+ +

Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.

+

The value borrow is set to 0 if x >= y, or to 1 otherwise.

+
Template Parameters
+ + +
genUTypeUnsigned integer scalar or vector types.
+
+
+
See also
GLSL usubBorrow man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
@@ -178,7 +571,7 @@ genType::value_type, defaultp > 
diff --git a/doc/api/a00155.html b/doc/api/a00155.html index 38e2bc2c..dc7848c4 100644 --- a/doc/api/a00155.html +++ b/doc/api/a00155.html @@ -3,8 +3,8 @@ - -0.9.6: Floating-Point Pack and Unpack Functions + +0.9.7: Matrix functions @@ -17,8 +17,8 @@
-
0.9.6 +
+
0.9.7
- +
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double const &v)
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint const &v)
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint const &p)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL T determinant (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > inverse (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > matrixCompMult (matType< T, P > const &x, matType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecTypeA, template< typename, precision > class vecTypeB>
GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct (vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
 

Detailed Description

-

These functions do not operate component-wise, rather as described in each case.

+

For each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision.

+

Only the single-precision floating point version is shown.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL double glm::packDouble2x32 GLM_FUNC_DECL T glm::determinant (uvec2 const & v)matType< T, P > const & m)
-

Returns a double-precision value obtained by packing the components of v into a 64-bit value.

-

If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit- level representation of v is preserved. The first vector component specifies the 32 least significant bits; the second component specifies the 32 most significant bits.

-
See also
GLSL packDouble2x32 man page
+

Returns the transposed matrix of x.

+
Template Parameters
+ + +
matTypeFloating-point matrix types.
+
+
+
See also
GLSL transpose man page
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+GLSL 4.20.8 specification, section 8.6 Matrix Functions Return the determinant of a squared matrix.
+
Template Parameters
+ + +
valTypeFloating-point scalar types.
+
+
+
See also
GLSL determinant man page
+
+GLSL 4.20.8 specification, section 8.6 Matrix Functions
- +
- + - - + +
GLM_FUNC_DECL uint glm::packHalf2x16 GLM_FUNC_DECL matType<T, P> glm::inverse (vec2 const & v)matType< T, P > const & m)
-

Returns an unsigned integer obtained by converting the components of a two-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these two 16- bit integers into a 32-bit unsigned integer.

-

The first vector component specifies the 16 least-significant bits of the result; the second component specifies the 16 most-significant bits.

-
See also
GLSL packHalf2x16 man page
+

Return the inverse of a squared matrix.

+
Template Parameters
+ + +
valTypeFloating-point scalar types.
+
+
+
See also
GLSL inverse man page
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+GLSL 4.20.8 specification, section 8.6 Matrix Functions
- +
- + - - + + + + + + + + + + + +
GLM_FUNC_DECL uint glm::packSnorm2x16 GLM_FUNC_DECL matType<T, P> glm::matrixCompMult (vec2 const & v)matType< T, P > const & x,
matType< T, P > const & y 
)
-

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

-

Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packSnorm2x16: round(clamp(v, -1, +1) * 32767.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See also
GLSL packSnorm2x16 man page
+

Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j].

+
Template Parameters
+ + +
matTypeFloating-point matrix types.
+
+
+
See also
GLSL matrixCompMult man page
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+GLSL 4.20.8 specification, section 8.6 Matrix Functions
- +
- + - - - + + -
GLM_FUNC_DECL uint glm::packSnorm4x8 GLM_FUNC_DECL detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type glm::outerProduct (vec4 const & v)vecTypeA< T, P > const & c,
-
- -

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

-

Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packSnorm4x8: round(clamp(c, -1, +1) * 127.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See also
GLSL packSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - + + + -
GLM_FUNC_DECL uint glm::packUnorm2x16 (vec2 const & v) vecTypeB< T, P > const & r 
-
- -

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

-

Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm2x16: round(clamp(c, 0, +1) * 65535.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See also
GLSL packUnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - + +
GLM_FUNC_DECL uint glm::packUnorm4x8 (vec4 const & v) )
-

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

-

Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm4x8: round(clamp(c, 0, +1) * 255.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See also
GLSL packUnorm4x8 man page
+

Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r.

+
Template Parameters
+ + +
matTypeFloating-point matrix types.
+
+
+
See also
GLSL outerProduct man page
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uvec2 glm::unpackDouble2x32 (double const & v)
-
- -

Returns a two-component unsigned integer vector representation of v.

-

The bit-level representation of v is preserved. The first component of the vector contains the 32 least significant bits of the double; the second component consists the 32 most significant bits.

-
See also
GLSL unpackDouble2x32 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec2 glm::unpackHalf2x16 (uint const & v)
-
- -

Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

-

The first component of the vector is obtained from the 16 least-significant bits of v; the second component is obtained from the 16 most-significant bits of v.

-
See also
GLSL unpackHalf2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec2 glm::unpackSnorm2x16 (uint const & p)
-
- -

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x16: clamp(f / 32767.0, -1, +1)

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLSL unpackSnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec4 glm::unpackSnorm4x8 (uint const & p)
-
- -

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x8: clamp(f / 127.0, -1, +1)

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLSL unpackSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec2 glm::unpackUnorm2x16 (uint const & p)
-
- -

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm2x16: f / 65535.0

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLSL unpackUnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec4 glm::unpackUnorm4x8 (uint const & p)
-
- -

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLSL unpackUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+GLSL 4.20.8 specification, section 8.6 Matrix Functions
@@ -358,7 +204,7 @@ Functions diff --git a/doc/api/a00156.html b/doc/api/a00156.html index 3ac92155..638a04bf 100644 --- a/doc/api/a00156.html +++ b/doc/api/a00156.html @@ -3,8 +3,8 @@ - -0.9.6: Angle and Trigonometry Functions + +0.9.7: Noise functions @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acos (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acosh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asin (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asinh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y_over_x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atanh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cos (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cosh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > degrees (vecType< T, P > const &radians)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > radians (vecType< T, P > const &degrees)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sin (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sinh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tan (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tanh (vecType< T, P > const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec2< typename genType::value_type, defaultp > noise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec3< typename genType::value_type, defaultp > noise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec4< typename genType::value_type, defaultp > noise4 (genType const &x)
 

Detailed Description

-

Function parameters specified as angle are assumed to be in units of radians.

-

In no case will any of these functions result in a divide by zero error. If the divisor of a ratio is 0, then results will be undefined.

-

These all operate component-wise. The description is per component.

+

Noise functions are stochastic functions that can be used to increase visual complexity.

+

Values returned by the following noise functions give the appearance of randomness, but are not truly random.

Function Documentation

- +
- + - +
GLM_FUNC_DECL vecType<T, P> glm::acos GLM_FUNC_DECL genType::value_type glm::noise1 (vecType< T, P > const & genType const &  x)
-

Arc cosine.

-

Returns an angle whose sine is x. The range of values returned by this function is [0, PI]. Results are undefined if |x| > 1.

+

Returns a 1D noise value based on the input value x.

Template Parameters
genTypeFloating-point scalar or vector types.
-
See also
GLSL acos man page
+
See also
GLSL noise1 man page
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+GLSL 4.20.8 specification, section 8.13 Noise Functions
- +
- + - +
GLM_FUNC_DECL vecType<T, P> glm::acosh GLM_FUNC_DECL tvec2<typename genType::value_type, defaultp> glm::noise2 (vecType< T, P > const & genType const &  x)
-

Arc hyperbolic cosine; returns the non-negative inverse of cosh.

-

Results are undefined if x < 1.

+

Returns a 2D noise value based on the input value x.

Template Parameters
genTypeFloating-point scalar or vector types.
-
See also
GLSL acosh man page
+
See also
GLSL noise2 man page
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+GLSL 4.20.8 specification, section 8.13 Noise Functions
- +
- + - +
GLM_FUNC_DECL vecType<T, P> glm::asin GLM_FUNC_DECL tvec3<typename genType::value_type, defaultp> glm::noise3 (vecType< T, P > const & genType const &  x)
-

Arc sine.

-

Returns an angle whose sine is x. The range of values returned by this function is [-PI/2, PI/2]. Results are undefined if |x| > 1.

+

Returns a 3D noise value based on the input value x.

Template Parameters
genTypeFloating-point scalar or vector types.
-
See also
GLSL asin man page
+
See also
GLSL noise3 man page
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+GLSL 4.20.8 specification, section 8.13 Noise Functions
- +
- + - +
GLM_FUNC_DECL vecType<T, P> glm::asinh GLM_FUNC_DECL tvec4<typename genType::value_type, defaultp> glm::noise4 (vecType< T, P > const & genType const &  x)
-

Arc hyperbolic sine; returns the inverse of sinh.

+

Returns a 4D noise value based on the input value x.

Template Parameters
genTypeFloating-point scalar or vector types.
-
See also
GLSL asinh man page
+
See also
GLSL noise4 man page
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::atan (vecType< T, P > const & y,
vecType< T, P > const & x 
)
-
- -

Arc tangent.

-

Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL atan man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -

Referenced by glm::atan2().

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::atan (vecType< T, P > const & y_over_x)
-
- -

Arc tangent.

-

Returns an angle whose tangent is y_over_x. The range of values returned by this function is [-PI/2, PI/2].

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL atan man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::atanh (vecType< T, P > const & x)
-
- -

Arc hyperbolic tangent; returns the inverse of tanh.

-

Results are undefined if abs(x) >= 1.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL atanh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::cos (vecType< T, P > const & angle)
-
- -

The standard trigonometric cosine function.

-

The values returned by this function will range from [-1, 1].

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL cos man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::cosh (vecType< T, P > const & angle)
-
- -

Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL cosh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::degrees (vecType< T, P > const & radians)
-
- -

Converts radians to degrees and returns the result.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL degrees man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::radians (vecType< T, P > const & degrees)
-
- -

Converts degrees to radians and returns the result.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL radians man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::sin (vecType< T, P > const & angle)
-
- -

The standard trigonometric sine function.

-

The values returned by this function will range from [-1, 1].

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL sin man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::sinh (vecType< T, P > const & angle)
-
- -

Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL sinh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::tan (vecType< T, P > const & angle)
-
- -

The standard trigonometric tangent function.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL tan man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::tanh (vecType< T, P > const & angle)
-
- -

Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL tanh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+GLSL 4.20.8 specification, section 8.13 Noise Functions
@@ -526,7 +175,7 @@ Functions diff --git a/doc/api/a00157.html b/doc/api/a00157.html index eaa34601..f433da48 100644 --- a/doc/api/a00157.html +++ b/doc/api/a00157.html @@ -3,8 +3,8 @@ - -0.9.6: Vector Relational Functions + +0.9.7: Floating-Point Pack and Unpack Functions @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool all (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool any (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > equal (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > not_ (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double v)
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint v)
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint p)
 

Detailed Description

-

Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results.

-

For vector results, use the following built-in functions.

-

In all cases, the sizes of all the input and return vectors for any particular call must match.

+

These functions do not operate component-wise, rather as described in each case.

Function Documentation

- +
- + - +
GLM_FUNC_DECL bool glm::all GLM_FUNC_DECL double glm::packDouble2x32 (vecType< bool, P > const & uvec2 const &  v)
-

Returns true if all components of x are true.

-
Template Parameters
- - -
vecTypeBoolean vector types.
-
-
-
See also
GLSL all man page
+

Returns a double-precision value obtained by packing the components of v into a 64-bit value.

+

If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit- level representation of v is preserved. The first vector component specifies the 32 least significant bits; the second component specifies the 32 most significant bits.

+
See also
GLSL packDouble2x32 man page
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - +
GLM_FUNC_DECL bool glm::any GLM_FUNC_DECL uint glm::packHalf2x16 (vecType< bool, P > const & vec2 const &  v)
-

Returns true if any component of x is true.

-
Template Parameters
- - -
vecTypeBoolean vector types.
-
-
-
See also
GLSL any man page
+

Returns an unsigned integer obtained by converting the components of a two-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these two 16- bit integers into a 32-bit unsigned integer.

+

The first vector component specifies the 16 least-significant bits of the result; the second component specifies the 16 most-significant bits.

+
See also
GLSL packHalf2x16 man page
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::equal GLM_FUNC_DECL uint glm::packSnorm2x16 (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Returns the component-wise comparison of result x == y.

-
Template Parameters
- - -
vecTypeFloating-point, integer or boolean vector types.
-
-
-
See also
GLSL equal man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::greaterThan (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Returns the component-wise comparison of result x > y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See also
GLSL greaterThan man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::greaterThanEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Returns the component-wise comparison of result x >= y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See also
GLSL greaterThanEqual man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::lessThan (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Returns the component-wise comparison result of x < y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See also
GLSL lessThan man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::lessThanEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Returns the component-wise comparison of result x <= y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See also
GLSL lessThanEqual man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - +
GLM_FUNC_DECL vecType<bool, P> glm::not_ (vecType< bool, P > const & vec2 const &  v)
-

Returns the component-wise logical complement of x.

-

/!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead.

-
Template Parameters
- - -
vecTypeBoolean vector types.
-
-
-
See also
GLSL not man page
+

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

+

Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm2x16: round(clamp(v, -1, +1) * 32767.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See also
GLSL packSnorm2x16 man page
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - - - - + + - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::notEqual GLM_FUNC_DECL uint glm::packSnorm4x8 (vecType< T, P > const & x,
vec4 const & v) vecType< T, P > const & y 
)
-

Returns the component-wise comparison of result x != y.

-
Template Parameters
- - -
vecTypeFloating-point, integer or boolean vector types.
-
-
-
See also
GLSL notEqual man page
+

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

+

Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm4x8: round(clamp(c, -1, +1) * 127.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See also
GLSL packSnorm4x8 man page
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::packUnorm2x16 (vec2 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

+

Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm2x16: round(clamp(c, 0, +1) * 65535.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See also
GLSL packUnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::packUnorm4x8 (vec4 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

+

Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm4x8: round(clamp(c, 0, +1) * 255.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See also
GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uvec2 glm::unpackDouble2x32 (double v)
+
+ +

Returns a two-component unsigned integer vector representation of v.

+

The bit-level representation of v is preserved. The first component of the vector contains the 32 least significant bits of the double; the second component consists the 32 most significant bits.

+
See also
GLSL unpackDouble2x32 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackHalf2x16 (uint v)
+
+ +

Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

+

The first component of the vector is obtained from the 16 least-significant bits of v; the second component is obtained from the 16 most-significant bits of v.

+
See also
GLSL unpackHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackSnorm2x16 (uint p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x16: clamp(f / 32767.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLSL unpackSnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackSnorm4x8 (uint p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x8: clamp(f / 127.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackUnorm2x16 (uint p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm2x16: f / 65535.0

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLSL unpackUnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackUnorm4x8 (uint p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLSL unpackUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
@@ -387,7 +358,7 @@ Functions diff --git a/doc/api/a00158.html b/doc/api/a00158.html index 0e2ec44d..78696153 100644 --- a/doc/api/a00158.html +++ b/doc/api/a00158.html @@ -3,8 +3,8 @@ - -0.9.6: GTC Extensions (Stable) + +0.9.7: Angle and Trigonometry Functions @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
GTC Extensions (Stable)
+
Angle and Trigonometry Functions
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Modules

 GLM_GTC_bitfield
 
 GLM_GTC_constants
 
 GLM_GTC_epsilon
 
 GLM_GTC_integer
 
 GLM_GTC_matrix_access
 
 GLM_GTC_matrix_integer
 
 GLM_GTC_matrix_inverse
 
 GLM_GTC_matrix_transform
 
 GLM_GTC_noise
 
 GLM_GTC_packing
 
 GLM_GTC_quaternion
 
 GLM_GTC_random
 
 GLM_GTC_reciprocal
 
 GLM_GTC_round
 
 GLM_GTC_type_precision
 
 GLM_GTC_type_ptr
 
 GLM_GTC_ulp
 
 GLM_GTC_vec1
 

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acos (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acosh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asin (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asinh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y_over_x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atanh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cos (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cosh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > degrees (vecType< T, P > const &radians)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > radians (vecType< T, P > const &degrees)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sin (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sinh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tan (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tanh (vecType< T, P > const &angle)
 

Detailed Description

-

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

-

GTC extensions aim to be stable.

-

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

+

Function parameters specified as angle are assumed to be in units of radians.

+

In no case will any of these functions result in a divide by zero error. If the divisor of a ratio is 0, then results will be undefined.

+

These all operate component-wise. The description is per component.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::acos (vecType< T, P > const & x)
+
+ +

Arc cosine.

+

Returns an angle whose sine is x. The range of values returned by this function is [0, PI]. Results are undefined if |x| > 1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL acos man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::acosh (vecType< T, P > const & x)
+
+ +

Arc hyperbolic cosine; returns the non-negative inverse of cosh.

+

Results are undefined if x < 1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL acosh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::asin (vecType< T, P > const & x)
+
+ +

Arc sine.

+

Returns an angle whose sine is x. The range of values returned by this function is [-PI/2, PI/2]. Results are undefined if |x| > 1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL asin man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::asinh (vecType< T, P > const & x)
+
+ +

Arc hyperbolic sine; returns the inverse of sinh.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL asinh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::atan (vecType< T, P > const & y,
vecType< T, P > const & x 
)
+
+ +

Arc tangent.

+

Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL atan man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +

Referenced by glm::atan2().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::atan (vecType< T, P > const & y_over_x)
+
+ +

Arc tangent.

+

Returns an angle whose tangent is y_over_x. The range of values returned by this function is [-PI/2, PI/2].

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL atan man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::atanh (vecType< T, P > const & x)
+
+ +

Arc hyperbolic tangent; returns the inverse of tanh.

+

Results are undefined if abs(x) >= 1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL atanh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::cos (vecType< T, P > const & angle)
+
+ +

The standard trigonometric cosine function.

+

The values returned by this function will range from [-1, 1].

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL cos man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::cosh (vecType< T, P > const & angle)
+
+ +

Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL cosh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::degrees (vecType< T, P > const & radians)
+
+ +

Converts radians to degrees and returns the result.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL degrees man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::radians (vecType< T, P > const & degrees)
+
+ +

Converts degrees to radians and returns the result.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL radians man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::sin (vecType< T, P > const & angle)
+
+ +

The standard trigonometric sine function.

+

The values returned by this function will range from [-1, 1].

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL sin man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::sinh (vecType< T, P > const & angle)
+
+ +

Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL sinh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::tan (vecType< T, P > const & angle)
+
+ +

The standard trigonometric tangent function.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL tan man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::tanh (vecType< T, P > const & angle)
+
+ +

Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL tanh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
diff --git a/doc/api/a00159.html b/doc/api/a00159.html index cd4f84aa..d265ff0c 100644 --- a/doc/api/a00159.html +++ b/doc/api/a00159.html @@ -3,8 +3,8 @@ - -0.9.6: GTX Extensions (Experimental) + +0.9.7: Vector Relational Functions @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
GTX Extensions (Experimental)
+
Vector Relational Functions
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Modules

 GLM_GTX_associated_min_max
 
 GLM_GTX_bit
 
 GLM_GTX_closest_point
 
 GLM_GTX_color_space
 
 GLM_GTX_color_space_YCoCg
 
 GLM_GTX_common
 
 GLM_GTX_compatibility
 
 GLM_GTX_component_wise
 
 GLM_GTX_dual_quaternion
 
 GLM_GTX_euler_angles
 
 GLM_GTX_extend
 
 GLM_GTX_extented_min_max
 
 GLM_GTX_fast_exponential
 
 GLM_GTX_fast_square_root
 
 GLM_GTX_fast_trigonometry
 
 GLM_GTX_gradient_paint
 
 GLM_GTX_handed_coordinate_space
 
 GLM_GTX_integer
 
 GLM_GTX_intersect
 
 GLM_GTX_io
 
 GLM_GTX_log_base
 
 GLM_GTX_matrix_cross_product
 
 GLM_GTX_matrix_decompose
 
 GLM_GTX_matrix_interpolation
 
 GLM_GTX_matrix_major_storage
 
 GLM_GTX_matrix_operation
 
 GLM_GTX_matrix_query
 
 GLM_GTX_matrix_transform_2d
 
 GLM_GTX_mixed_producte
 
 GLM_GTX_multiple
 
 GLM_GTX_norm
 
 GLM_GTX_normal
 
 GLM_GTX_normalize_dot
 
 GLM_GTX_number_precision
 
 GLM_GTX_optimum_pow
 
 GLM_GTX_orthonormalize
 
 GLM_GTX_perpendicular
 
 GLM_GTX_polar_coordinates
 
 GLM_GTX_projection
 
 GLM_GTX_quaternion
 
 GLM_GTX_range
 
 GLM_GTX_raw_data
 
 GLM_GTX_rotate_normalized_axis
 
 GLM_GTX_rotate_vector
 
 GLM_GTX_scalar_relational
 
 GLM_GTX_simd_mat4
 
 GLM_GTX_simd_quat
 
 GLM_GTX_simd_vec4
 
 GLM_GTX_spline
 
 GLM_GTX_std_based_type
 
 GLM_GTX_string_cast
 
 GLM_GTX_transform
 
 GLM_GTX_transform2
 
 GLM_GTX_type_aligned
 
 GLM_GTX_vector_angle
 
 GLM_GTX_vector_query
 
 GLM_GTX_wrap
 

+Functions

template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool all (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool any (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > equal (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > not_ (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 

Detailed Description

-

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

-

Experimental extensions are useful functions and types, but the development of their API and functionality is not necessarily stable. They can change substantially between versions. Backwards compatibility is not much of an issue for them.

-

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

+

Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results.

+

For vector results, use the following built-in functions.

+

In all cases, the sizes of all the input and return vectors for any particular call must match.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL bool glm::all (vecType< bool, P > const & v)
+
+ +

Returns true if all components of x are true.

+
Template Parameters
+ + +
vecTypeBoolean vector types.
+
+
+
See also
GLSL all man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL bool glm::any (vecType< bool, P > const & v)
+
+ +

Returns true if any component of x is true.

+
Template Parameters
+ + +
vecTypeBoolean vector types.
+
+
+
See also
GLSL any man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::equal (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x == y.

+
Template Parameters
+ + +
vecTypeFloating-point, integer or boolean vector types.
+
+
+
See also
GLSL equal man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::greaterThan (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x > y.

+
Template Parameters
+ + +
vecTypeFloating-point or integer vector types.
+
+
+
See also
GLSL greaterThan man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::greaterThanEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x >= y.

+
Template Parameters
+ + +
vecTypeFloating-point or integer vector types.
+
+
+
See also
GLSL greaterThanEqual man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::lessThan (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison result of x < y.

+
Template Parameters
+ + +
vecTypeFloating-point or integer vector types.
+
+
+
See also
GLSL lessThan man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::lessThanEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x <= y.

+
Template Parameters
+ + +
vecTypeFloating-point or integer vector types.
+
+
+
See also
GLSL lessThanEqual man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::not_ (vecType< bool, P > const & v)
+
+ +

Returns the component-wise logical complement of x.

+

/!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead.

+
Template Parameters
+ + +
vecTypeBoolean vector types.
+
+
+
See also
GLSL not man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::notEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x != y.

+
Template Parameters
+ + +
vecTypeFloating-point, integer or boolean vector types.
+
+
+
See also
GLSL notEqual man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
diff --git a/doc/api/a00160.html b/doc/api/a00160.html index e793c6fa..5928a18f 100644 --- a/doc/api/a00160.html +++ b/doc/api/a00160.html @@ -3,8 +3,8 @@ - -0.9.6: GLM Core + +0.9.7: GTC Extensions (Stable) @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + +

Modules

 Common functions
 GLM_GTC_bitfield
 
 Exponential functions
 GLM_GTC_color_space
 
 Geometric functions
 GLM_GTC_constants
 
 Integer functions
 GLM_GTC_epsilon
 
 Matrix functions
 GLM_GTC_integer
 
 Noise functions
 GLM_GTC_matrix_access
 
 Floating-Point Pack and Unpack Functions
 GLM_GTC_matrix_integer
 
 Angle and Trigonometry Functions
 GLM_GTC_matrix_inverse
 
 Vector Relational Functions
 GLM_GTC_matrix_transform
 
 Types
 GLM_GTC_noise
 
 Precision types
 GLM_GTC_packing
 
 Template types
 GLM_GTC_quaternion
 
 GLM_GTC_random
 
 GLM_GTC_reciprocal
 
 GLM_GTC_round
 
 GLM_GTC_type_precision
 
 GLM_GTC_type_ptr
 
 GLM_GTC_ulp
 
 GLM_GTC_vec1
 

Detailed Description

-

The core of GLM, which implements exactly and only the GLSL specification to the degree possible.

-

The GLM core consists of C++ types that mirror GLSL types and C++ functions that mirror the GLSL functions. It also includes a set of precision-based types that can be used in the appropriate functions. The C++ types are all based on a basic set of template types.

-

The best documentation for GLM Core is the current GLSL specification, version 4.2 (pdf file).

-

GLM core functionnalities require <glm/glm.hpp> to be included to be used.

+

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

+

GTC extensions aim to be stable.

+

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

diff --git a/doc/api/a00161.html b/doc/api/a00161.html index 14422e84..c123718c 100644 --- a/doc/api/a00161.html +++ b/doc/api/a00161.html @@ -3,8 +3,8 @@ - -0.9.6: Types + +0.9.7: GTX Extensions (Experimental) @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Modules
-
+
GTX Extensions (Experimental)
- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -

Modules

 Precision types
 GLM_GTX_associated_min_max
 
 GLM_GTX_bit
 
 GLM_GTX_closest_point
 
 GLM_GTX_color_space
 
 GLM_GTX_color_space_YCoCg
 
 GLM_GTX_common
 
 GLM_GTX_compatibility
 
 GLM_GTX_component_wise
 
 GLM_GTX_dual_quaternion
 
 GLM_GTX_euler_angles
 
 GLM_GTX_extend
 
 GLM_GTX_extented_min_max
 
 GLM_GTX_fast_exponential
 
 GLM_GTX_fast_square_root
 
 GLM_GTX_fast_trigonometry
 
 GLM_GTX_gradient_paint
 
 GLM_GTX_handed_coordinate_space
 
 GLM_GTX_hash
 
 GLM_GTX_integer
 
 GLM_GTX_intersect
 
 GLM_GTX_io
 
 GLM_GTX_log_base
 
 GLM_GTX_matrix_cross_product
 
 GLM_GTX_matrix_decompose
 
 GLM_GTX_matrix_interpolation
 
 GLM_GTX_matrix_major_storage
 
 GLM_GTX_matrix_operation
 
 GLM_GTX_matrix_query
 
 GLM_GTX_matrix_transform_2d
 
 GLM_GTX_mixed_producte
 
 GLM_GTX_norm
 
 GLM_GTX_normal
 
 GLM_GTX_normalize_dot
 
 GLM_GTX_number_precision
 
 GLM_GTX_optimum_pow
 
 GLM_GTX_orthonormalize
 
 GLM_GTX_perpendicular
 
 GLM_GTX_polar_coordinates
 
 GLM_GTX_projection
 
 GLM_GTX_quaternion
 
 GLM_GTX_range
 
 GLM_GTX_raw_data
 
 GLM_GTX_rotate_normalized_axis
 
 GLM_GTX_rotate_vector
 
 GLM_GTX_scalar_relational
 
 GLM_GTX_simd_mat4
 
 GLM_GTX_simd_quat
 
 GLM_GTX_simd_vec4
 
 GLM_GTX_spline
 
 GLM_GTX_std_based_type
 
 GLM_GTX_string_cast
 
 GLM_GTX_transform
 
 GLM_GTX_transform2
 
 GLM_GTX_type_aligned
 
 GLM_GTX_vector_angle
 
 GLM_GTX_vector_query
 
 GLM_GTX_wrap
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef highp_bvec2 bvec2
 
typedef highp_bvec3 bvec3
 
typedef highp_bvec4 bvec4
 
typedef highp_dmat2x2 dmat2
 
typedef highp_dmat2x2 dmat2x2
 
typedef highp_dmat2x3 dmat2x3
 
typedef highp_dmat2x4 dmat2x4
 
typedef highp_dmat3x3 dmat3
 
typedef highp_dmat3x2 dmat3x2
 
typedef highp_dmat3x3 dmat3x3
 
typedef highp_dmat3x4 dmat3x4
 
typedef highp_dmat4x4 dmat4
 
typedef highp_dmat4x2 dmat4x2
 
typedef highp_dmat4x3 dmat4x3
 
typedef highp_dmat4x4 dmat4x4
 
typedef highp_dvec2 dvec2
 
typedef highp_dvec3 dvec3
 
typedef highp_dvec4 dvec4
 
typedef highp_ivec2 ivec2
 
typedef highp_ivec3 ivec3
 
typedef highp_ivec4 ivec4
 
typedef mat2x2 mat2
 
typedef highp_mat2x2 mat2x2
 
typedef highp_mat2x3 mat2x3
 
typedef highp_mat2x4 mat2x4
 
typedef mat3x3 mat3
 
typedef highp_mat3x2 mat3x2
 
typedef highp_mat3x3 mat3x3
 
typedef highp_mat3x4 mat3x4
 
typedef mat4x4 mat4
 
typedef highp_mat4x2 mat4x2
 
typedef highp_mat4x3 mat4x3
 
typedef highp_mat4x4 mat4x4
 
typedef highp_uvec2 uvec2
 
typedef highp_uvec3 uvec3
 
typedef highp_uvec4 uvec4
 
typedef highp_vec2 vec2
 
typedef highp_vec3 vec3
 
typedef highp_vec4 vec4
 

Detailed Description

-

The standard types defined by the specification.

-

These types are all typedefs of more generalized, template types. To see the definiton of these template types, go to Template types.

-

Typedef Documentation

- -
-
- - - - -
typedef highp_bvec2 bvec2
-
- -

2 components vector of boolean.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 504 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_bvec3 bvec3
-
- -

3 components vector of boolean.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 509 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_bvec4 bvec4
-
- -

4 components vector of boolean.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 514 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat2x2 dmat2
-
- -

2 * 2 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 733 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat2x2 dmat2x2
-
- -

2 * 2 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 748 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat2x3 dmat2x3
-
- -

2 * 3 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 753 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat2x4 dmat2x4
-
- -

2 * 4 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 758 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat3x3 dmat3
-
- -

3 * 3 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 738 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat3x2 dmat3x2
-
- -

3 * 2 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 763 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat3x3 dmat3x3
-
- -

3 * 3 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 768 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat3x4 dmat3x4
-
- -

3 * 4 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 773 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat4x4 dmat4
-
- -

4 * 4 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 743 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat4x2 dmat4x2
-
- -

4 * 2 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 778 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat4x3 dmat4x3
-
- -

4 * 3 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 783 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dmat4x4 dmat4x4
-
- -

4 * 4 matrix of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 788 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_dvec2 dvec2
-
- -

2 components vector of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 420 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_dvec3 dvec3
-
- -

3 components vector of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 425 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_dvec4 dvec4
-
- -

4 components vector of double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 430 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_ivec2 ivec2
-
- -

2 components vector of signed integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 448 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_ivec3 ivec3
-
- -

3 components vector of signed integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 453 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_ivec4 ivec4
-
- -

4 components vector of signed integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 458 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef mat2x2 mat2
-
- -

2 columns of 2 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 432 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat2x2 mat2x2
-
- -

2 columns of 2 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 385 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat2x3 mat2x3
-
- -

2 columns of 3 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 390 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat2x4 mat2x4
-
- -

2 columns of 4 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 395 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef mat3x3 mat3
-
- -

3 columns of 3 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 437 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat3x2 mat3x2
-
- -

3 columns of 2 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 400 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat3x3 mat3x3
-
- -

3 columns of 3 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 405 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat3x4 mat3x4
-
- -

3 columns of 4 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 410 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef mat4x4 mat4
-
- -

4 columns of 4 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 442 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat4x2 mat4x2
-
- -

4 columns of 2 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 415 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat4x3 mat4x3
-
- -

4 columns of 3 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 420 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_mat4x4 mat4x4
-
- -

4 columns of 4 components matrix of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 425 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef highp_uvec2 uvec2
-
- -

2 components vector of unsigned integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 476 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_uvec3 uvec3
-
- -

3 components vector of unsigned integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 481 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_uvec4 uvec4
-
- -

4 components vector of unsigned integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 486 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_vec2 vec2
-
- -

2 components vector of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 392 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_vec3 vec3
-
- -

3 components vector of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 397 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_vec4 vec4
-
- -

4 components vector of floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 402 of file type_vec.hpp.

- -
-
+

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

+

Experimental extensions are useful functions and types, but the development of their API and functionality is not necessarily stable. They can change substantially between versions. Backwards compatibility is not much of an issue for them.

+

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

diff --git a/doc/api/a00162.html b/doc/api/a00162.html index e1fdeb42..40b69911 100644 --- a/doc/api/a00162.html +++ b/doc/api/a00162.html @@ -3,8 +3,8 @@ - -0.9.6: Precision types + +0.9.7: GLM Core @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Modules
-
Precision types
+
GLM Core
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef tvec2< bool, highp > highp_bvec2
 
typedef tvec3< bool, highp > highp_bvec3
 
typedef tvec4< bool, highp > highp_bvec4
 
typedef tmat2x2< double, highp > highp_dmat2
 
typedef tmat2x2< double, highp > highp_dmat2x2
 
typedef tmat2x3< double, highp > highp_dmat2x3
 
typedef tmat2x4< double, highp > highp_dmat2x4
 
typedef tmat3x3< double, highp > highp_dmat3
 
typedef tmat3x2< double, highp > highp_dmat3x2
 
typedef tmat3x3< double, highp > highp_dmat3x3
 
typedef tmat3x4< double, highp > highp_dmat3x4
 
typedef tmat4x4< double, highp > highp_dmat4
 
typedef tmat4x2< double, highp > highp_dmat4x2
 
typedef tmat4x3< double, highp > highp_dmat4x3
 
typedef tmat4x4< double, highp > highp_dmat4x4
 
typedef tvec2< double, highp > highp_dvec2
 
typedef tvec3< double, highp > highp_dvec3
 
typedef tvec4< double, highp > highp_dvec4
 
typedef highp_float_t highp_float
 
typedef detail::highp_int_t highp_int
 
typedef tvec2< int, highp > highp_ivec2
 
typedef tvec3< int, highp > highp_ivec3
 
typedef tvec4< int, highp > highp_ivec4
 
typedef tmat2x2< float, highp > highp_mat2
 
typedef tmat2x2< float, highp > highp_mat2x2
 
typedef tmat2x3< float, highp > highp_mat2x3
 
typedef tmat2x4< float, highp > highp_mat2x4
 
typedef tmat3x3< float, highp > highp_mat3
 
typedef tmat3x2< float, highp > highp_mat3x2
 
typedef tmat3x3< float, highp > highp_mat3x3
 
typedef tmat3x4< float, highp > highp_mat3x4
 
typedef tmat4x4< float, highp > highp_mat4
 
typedef tmat4x2< float, highp > highp_mat4x2
 
typedef tmat4x3< float, highp > highp_mat4x3
 
typedef tmat4x4< float, highp > highp_mat4x4
 
typedef detail::highp_uint_t highp_uint
 
typedef tvec2< uint, highp > highp_uvec2
 
typedef tvec3< uint, highp > highp_uvec3
 
typedef tvec4< uint, highp > highp_uvec4
 
typedef tvec2< float, highp > highp_vec2
 
typedef tvec3< float, highp > highp_vec3
 
typedef tvec4< float, highp > highp_vec4
 
typedef tvec2< bool, lowp > lowp_bvec2
 
typedef tvec3< bool, lowp > lowp_bvec3
 
typedef tvec4< bool, lowp > lowp_bvec4
 
typedef tmat2x2< double, lowp > lowp_dmat2
 
typedef tmat2x2< double, lowp > lowp_dmat2x2
 
typedef tmat2x3< double, lowp > lowp_dmat2x3
 
typedef tmat2x4< double, lowp > lowp_dmat2x4
 
typedef tmat3x3< float, lowp > lowp_dmat3
 
typedef tmat3x2< double, lowp > lowp_dmat3x2
 
typedef tmat3x3< double, lowp > lowp_dmat3x3
 
typedef tmat3x4< double, lowp > lowp_dmat3x4
 
typedef tmat4x4< double, lowp > lowp_dmat4
 
typedef tmat4x2< double, lowp > lowp_dmat4x2
 
typedef tmat4x3< double, lowp > lowp_dmat4x3
 
typedef tmat4x4< double, lowp > lowp_dmat4x4
 
typedef tvec2< double, lowp > lowp_dvec2
 
typedef tvec3< double, lowp > lowp_dvec3
 
typedef tvec4< double, lowp > lowp_dvec4
 
typedef lowp_float_t lowp_float
 
typedef detail::lowp_int_t lowp_int
 
typedef tvec2< int, lowp > lowp_ivec2
 
typedef tvec3< int, lowp > lowp_ivec3
 
typedef tvec4< int, lowp > lowp_ivec4
 
typedef tmat2x2< float, lowp > lowp_mat2
 
typedef tmat2x2< float, lowp > lowp_mat2x2
 
typedef tmat2x3< float, lowp > lowp_mat2x3
 
typedef tmat2x4< float, lowp > lowp_mat2x4
 
typedef tmat3x3< float, lowp > lowp_mat3
 
typedef tmat3x2< float, lowp > lowp_mat3x2
 
typedef tmat3x3< float, lowp > lowp_mat3x3
 
typedef tmat3x4< float, lowp > lowp_mat3x4
 
typedef tmat4x4< float, lowp > lowp_mat4
 
typedef tmat4x2< float, lowp > lowp_mat4x2
 
typedef tmat4x3< float, lowp > lowp_mat4x3
 
typedef tmat4x4< float, lowp > lowp_mat4x4
 
typedef detail::lowp_uint_t lowp_uint
 
typedef tvec2< uint, lowp > lowp_uvec2
 
typedef tvec3< uint, lowp > lowp_uvec3
 
typedef tvec4< uint, lowp > lowp_uvec4
 
typedef tvec2< float, lowp > lowp_vec2
 
typedef tvec3< float, lowp > lowp_vec3
 
typedef tvec4< float, lowp > lowp_vec4
 
typedef tvec2< bool, mediump > mediump_bvec2
 
typedef tvec3< bool, mediump > mediump_bvec3
 
typedef tvec4< bool, mediump > mediump_bvec4
 
typedef tmat2x2< double, mediump > mediump_dmat2
 
typedef tmat2x2< double, mediump > mediump_dmat2x2
 
typedef tmat2x3< double, mediump > mediump_dmat2x3
 
typedef tmat2x4< double, mediump > mediump_dmat2x4
 
typedef tmat3x3< double, mediump > mediump_dmat3
 
typedef tmat3x2< double, mediump > mediump_dmat3x2
 
typedef tmat3x3< double, mediump > mediump_dmat3x3
 
typedef tmat3x4< double, mediump > mediump_dmat3x4
 
typedef tmat4x4< double, mediump > mediump_dmat4
 
typedef tmat4x2< double, mediump > mediump_dmat4x2
 
typedef tmat4x3< double, mediump > mediump_dmat4x3
 
typedef tmat4x4< double, mediump > mediump_dmat4x4
 
typedef tvec2< double, mediump > mediump_dvec2
 
typedef tvec3< double, mediump > mediump_dvec3
 
typedef tvec4< double, mediump > mediump_dvec4
 
typedef mediump_float_t mediump_float
 
typedef detail::mediump_int_t mediump_int
 
typedef tvec2< int, mediump > mediump_ivec2
 
typedef tvec3< int, mediump > mediump_ivec3
 
typedef tvec4< int, mediump > mediump_ivec4
 
typedef tmat2x2< float, mediump > mediump_mat2
 
typedef tmat2x2< float, mediump > mediump_mat2x2
 
typedef tmat2x3< float, mediump > mediump_mat2x3
 
typedef tmat2x4< float, mediump > mediump_mat2x4
 
typedef tmat3x3< float, mediump > mediump_mat3
 
typedef tmat3x2< float, mediump > mediump_mat3x2
 
typedef tmat3x3< float, mediump > mediump_mat3x3
 
typedef tmat3x4< float, mediump > mediump_mat3x4
 
typedef tmat4x4< float, mediump > mediump_mat4
 
typedef tmat4x2< float, mediump > mediump_mat4x2
 
typedef tmat4x3< float, mediump > mediump_mat4x3
 
typedef tmat4x4< float, mediump > mediump_mat4x4
 
typedef detail::mediump_uint_t mediump_uint
 
typedef tvec2< uint, mediump > mediump_uvec2
 
typedef tvec3< uint, mediump > mediump_uvec3
 
typedef tvec4< uint, mediump > mediump_uvec4
 
typedef tvec2< float, mediump > mediump_vec2
 
typedef tvec3< float, mediump > mediump_vec3
 
typedef tvec4< float, mediump > mediump_vec4
 
typedef unsigned int uint
 

+Modules

 Common functions
 
 Exponential functions
 
 Geometric functions
 
 Integer functions
 
 Matrix functions
 
 Noise functions
 
 Floating-Point Pack and Unpack Functions
 
 Angle and Trigonometry Functions
 
 Vector Relational Functions
 
 Types
 
 Precision types
 
 Template types
 

Detailed Description

-

Non-GLSL types that are used to define precision-based types.

-

The GLSL language allows the user to define the precision of a particular variable. In OpenGL's GLSL, these precision qualifiers have no effect; they are there for compatibility with OpenGL ES's precision qualifiers, where they do have an effect.

-

C++ has no language equivalent to precision qualifiers. So GLM provides the next-best thing: a number of typedefs of the Template types that use a particular precision.

-

None of these types make any guarantees about the actual precision used.

-

Typedef Documentation

- -
-
- - - - -
typedef tvec2<bool, highp> highp_bvec2
-
- -

2 components vector of high precision bool numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 153 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<bool, highp> highp_bvec3
-
- -

3 components vector of high precision bool numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 263 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<bool, highp> highp_bvec4
-
- -

4 components vector of high precision bool numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 358 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<double, highp> highp_dmat2
-
- -

2 columns of 2 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 466 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<double, highp> highp_dmat2x2
-
- -

2 columns of 2 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 484 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<double, highp> highp_dmat2x3
-
- -

2 columns of 3 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 507 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<double, highp> highp_dmat2x4
-
- -

2 columns of 4 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 530 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<double, highp> highp_dmat3
-
- -

3 columns of 3 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 576 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<double, highp> highp_dmat3x2
-
- -

3 columns of 2 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 553 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<double, highp> highp_dmat3x3
-
- -

3 columns of 3 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 594 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<double, highp> highp_dmat3x4
-
- -

3 columns of 4 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 617 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<double, highp> highp_dmat4
-
- -

4 columns of 4 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 686 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<double, highp> highp_dmat4x2
-
- -

4 columns of 2 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 640 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<double, highp> highp_dmat4x3
-
- -

4 columns of 3 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 663 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<double, highp> highp_dmat4x4
-
- -

4 columns of 4 components matrix of high precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 704 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<double, highp> highp_dvec2
-
- -

2 components vector of high double-precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 90 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<double, highp> highp_dvec3
-
- -

3 components vector of high double-precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 201 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<double, highp> highp_dvec4
-
- -

4 components vector of high double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 304 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef highp_float_t highp_float
-
- -

High precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.4 Floats
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 70 of file type_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::highp_int_t highp_int
-
- -

High precision signed integer.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 256 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<int, highp> highp_ivec2
-
- -

2 components vector of high precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 111 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<int, highp> highp_ivec3
-
- -

3 components vector of high precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 222 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<int, highp> highp_ivec4
-
- -

4 components vector of high precision signed integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 322 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< float, highp > highp_mat2
-
- -

2 columns of 2 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 79 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< float, highp > highp_mat2x2
-
- -

2 columns of 2 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 100 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3< float, highp > highp_mat2x3
-
- -

2 columns of 3 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 126 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4< float, highp > highp_mat2x4
-
- -

2 columns of 4 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 152 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< float, highp > highp_mat3
-
- -

3 columns of 3 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 204 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2< float, highp > highp_mat3x2
-
- -

3 columns of 2 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 178 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< float, highp > highp_mat3x3
-
- -

3 columns of 3 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 225 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4< float, highp > highp_mat3x4
-
- -

3 columns of 4 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 251 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< float, highp > highp_mat4
-
- -

4 columns of 4 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 330 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2< float, highp > highp_mat4x2
-
- -

4 columns of 2 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 277 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3< float, highp > highp_mat4x3
-
- -

4 columns of 3 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 303 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< float, highp > highp_mat4x4
-
- -

4 columns of 4 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 351 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef detail::highp_uint_t highp_uint
-
- -

High precision unsigned integer.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 277 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<uint, highp> highp_uvec2
-
- -

2 components vector of high precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 132 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<uint, highp> highp_uvec3
-
- -

3 components vector of high precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 243 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<uint, highp> highp_uvec4
-
- -

4 components vector of high precision unsigned integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 340 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< float, highp > highp_vec2
-
- -

2 components vector of high single-precision floating-point numbers.

-

High Single-precision floating-point vector of 2 components.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 69 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< float, highp > highp_vec3
-
- -

3 components vector of high single-precision floating-point numbers.

-

High Single-precision floating-point vector of 3 components.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 180 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< float, highp > highp_vec4
-
- -

4 components vector of high single-precision floating-point numbers.

-

High Single-precision floating-point vector of 4 components.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 286 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<bool, lowp> lowp_bvec2
-
- -

2 components vector of low precision bool numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 167 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<bool, lowp> lowp_bvec3
-
- -

3 components vector of low precision bool numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 275 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<bool, lowp> lowp_bvec4
-
- -

4 components vector of low precision bool numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 370 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<double, lowp> lowp_dmat2
-
- -

2 columns of 2 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 454 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<double, lowp> lowp_dmat2x2
-
- -

2 columns of 2 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 472 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<double, lowp> lowp_dmat2x3
-
- -

2 columns of 3 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 495 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<double, lowp> lowp_dmat2x4
-
- -

2 columns of 4 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 518 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<float, lowp> lowp_dmat3
-
- -

3 columns of 3 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 564 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<double, lowp> lowp_dmat3x2
-
- -

3 columns of 2 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 541 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<double, lowp> lowp_dmat3x3
-
- -

3 columns of 3 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 582 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<double, lowp> lowp_dmat3x4
-
- -

3 columns of 4 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 605 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<double, lowp> lowp_dmat4
-
- -

4 columns of 4 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 674 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<double, lowp> lowp_dmat4x2
-
- -

4 columns of 2 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 628 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<double, lowp> lowp_dmat4x3
-
- -

4 columns of 3 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 651 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<double, lowp> lowp_dmat4x4
-
- -

4 columns of 4 components matrix of low precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 692 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<double, lowp> lowp_dvec2
-
- -

2 components vector of low double-precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 104 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<double, lowp> lowp_dvec3
-
- -

3 components vector of low double-precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 215 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<double, lowp> lowp_dvec4
-
- -

4 components vector of low double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 316 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef lowp_float_t lowp_float
-
- -

Low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.4 Floats
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 56 of file type_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::lowp_int_t lowp_int
-
- -

Low precision signed integer.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 242 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<int, lowp> lowp_ivec2
-
- -

2 components vector of low precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 125 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<int, lowp> lowp_ivec3
-
- -

3 components vector of low precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 236 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<int, lowp> lowp_ivec4
-
- -

4 components vector of low precision signed integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 334 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< float, lowp > lowp_mat2
-
- -

2 columns of 2 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 65 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< float, lowp > lowp_mat2x2
-
- -

2 columns of 2 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 86 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3< float, lowp > lowp_mat2x3
-
- -

2 columns of 3 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 112 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4< float, lowp > lowp_mat2x4
-
- -

2 columns of 4 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 138 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< float, lowp > lowp_mat3
-
- -

3 columns of 3 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 190 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2< float, lowp > lowp_mat3x2
-
- -

3 columns of 2 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 164 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< float, lowp > lowp_mat3x3
-
- -

3 columns of 3 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 211 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4< float, lowp > lowp_mat3x4
-
- -

3 columns of 4 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 237 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< float, lowp > lowp_mat4
-
- -

4 columns of 4 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 316 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2< float, lowp > lowp_mat4x2
-
- -

4 columns of 2 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 263 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3< float, lowp > lowp_mat4x3
-
- -

4 columns of 3 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 289 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< float, lowp > lowp_mat4x4
-
- -

4 columns of 4 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 337 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef detail::lowp_uint_t lowp_uint
-
- -

Low precision unsigned integer.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 263 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<uint, lowp> lowp_uvec2
-
- -

2 components vector of low precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 146 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<uint, lowp> lowp_uvec3
-
- -

3 components vector of low precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 257 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<uint, lowp> lowp_uvec4
-
- -

4 components vector of low precision unsigned integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 352 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< float, lowp > lowp_vec2
-
- -

2 components vector of low single-precision floating-point numbers.

-

Low single-precision floating-point vector of 2 components.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 83 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< float, lowp > lowp_vec3
-
- -

3 components vector of low single-precision floating-point numbers.

-

Low single-precision floating-point vector of 3 components.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 194 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< float, lowp > lowp_vec4
-
- -

4 components vector of low single-precision floating-point numbers.

-

Low single-precision floating-point vector of 4 components.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 298 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<bool, mediump> mediump_bvec2
-
- -

2 components vector of medium precision bool numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 160 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<bool, mediump> mediump_bvec3
-
- -

3 components vector of medium precision bool numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 269 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<bool, mediump> mediump_bvec4
-
- -

4 components vector of medium precision bool numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 364 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<double, mediump> mediump_dmat2
-
- -

2 columns of 2 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 460 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<double, mediump> mediump_dmat2x2
-
- -

2 columns of 2 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 478 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<double, mediump> mediump_dmat2x3
-
- -

2 columns of 3 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 501 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<double, mediump> mediump_dmat2x4
-
- -

2 columns of 4 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 524 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<double, mediump> mediump_dmat3
-
- -

3 columns of 3 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 570 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<double, mediump> mediump_dmat3x2
-
- -

3 columns of 2 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 547 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<double, mediump> mediump_dmat3x3
-
- -

3 columns of 3 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 588 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<double, mediump> mediump_dmat3x4
-
- -

3 columns of 4 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 611 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<double, mediump> mediump_dmat4
-
- -

4 columns of 4 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 680 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<double, mediump> mediump_dmat4x2
-
- -

4 columns of 2 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 634 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<double, mediump> mediump_dmat4x3
-
- -

4 columns of 3 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 657 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<double, mediump> mediump_dmat4x4
-
- -

4 columns of 4 components matrix of medium precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 698 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<double, mediump> mediump_dvec2
-
- -

2 components vector of medium double-precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 97 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<double, mediump> mediump_dvec3
-
- -

3 components vector of medium double-precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 208 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<double, mediump> mediump_dvec4
-
- -

4 components vector of medium double-precision floating-point numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 310 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef mediump_float_t mediump_float
-
- -

Medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.4 Floats
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 63 of file type_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::mediump_int_t mediump_int
-
- -

Medium precision signed integer.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 249 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<int, mediump> mediump_ivec2
-
- -

2 components vector of medium precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 118 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<int, mediump> mediump_ivec3
-
- -

3 components vector of medium precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 229 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<int, mediump> mediump_ivec4
-
- -

4 components vector of medium precision signed integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 328 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< float, mediump > mediump_mat2
-
- -

2 columns of 2 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 72 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< float, mediump > mediump_mat2x2
-
- -

2 columns of 2 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 93 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3< float, mediump > mediump_mat2x3
-
- -

2 columns of 3 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 119 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4< float, mediump > mediump_mat2x4
-
- -

2 columns of 4 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 145 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< float, mediump > mediump_mat3
-
- -

3 columns of 3 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 197 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2< float, mediump > mediump_mat3x2
-
- -

3 columns of 2 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 171 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< float, mediump > mediump_mat3x3
-
- -

3 columns of 3 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 218 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4< float, mediump > mediump_mat3x4
-
- -

3 columns of 4 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 244 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< float, mediump > mediump_mat4
-
- -

4 columns of 4 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 323 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2< float, mediump > mediump_mat4x2
-
- -

4 columns of 2 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 270 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3< float, mediump > mediump_mat4x3
-
- -

4 columns of 3 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 296 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< float, mediump > mediump_mat4x4
-
- -

4 columns of 4 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 344 of file type_mat.hpp.

- -
-
- -
-
- - - - -
typedef detail::mediump_uint_t mediump_uint
-
- -

Medium precision unsigned integer.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 270 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<uint, mediump> mediump_uvec2
-
- -

2 components vector of medium precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 139 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<uint, mediump> mediump_uvec3
-
- -

3 components vector of medium precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 250 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<uint, mediump> mediump_uvec4
-
- -

4 components vector of medium precision unsigned integer numbers.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 346 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< float, mediump > mediump_vec2
-
- -

2 components vector of medium single-precision floating-point numbers.

-

Medium Single-precision floating-point vector of 2 components.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 76 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< float, mediump > mediump_vec3
-
- -

3 components vector of medium single-precision floating-point numbers.

-

Medium Single-precision floating-point vector of 3 components.

-

There is no guarantee on the actual precision.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 187 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< float, mediump > mediump_vec4
-
- -

4 components vector of medium single-precision floating-point numbers.

-

Medium Single-precision floating-point vector of 4 components.

-
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
-
-GLM_GTC_type_precision
- -

Definition at line 292 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef unsigned int uint
-
- -

Unsigned integer type.

-
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
- -

Definition at line 306 of file type_int.hpp.

- -
-
+

The core of GLM, which implements exactly and only the GLSL specification to the degree possible.

+

The GLM core consists of C++ types that mirror GLSL types and C++ functions that mirror the GLSL functions. It also includes a set of precision-based types that can be used in the appropriate functions. The C++ types are all based on a basic set of template types.

+

The best documentation for GLM Core is the current GLSL specification, version 4.2 (pdf file).

+

GLM core functionnalities require <glm/glm.hpp> to be included to be used.

diff --git a/doc/api/a00163.html b/doc/api/a00163.html index 0abfa9c5..9927b222 100644 --- a/doc/api/a00163.html +++ b/doc/api/a00163.html @@ -3,8 +3,8 @@ - -0.9.6: Template types + +0.9.7: Types @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
Template types
+
-

The generic template types used as the basis for the core types.

-

These types are all templates used to define the actual Types. These templetes are implementation details of GLM types and should not be used explicitly.

+ + + + +

+Modules

 Precision types
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_bvec2 bvec2
 
typedef highp_bvec3 bvec3
 
typedef highp_bvec4 bvec4
 
typedef highp_dmat2x2 dmat2
 
typedef highp_dmat2x2 dmat2x2
 
typedef highp_dmat2x3 dmat2x3
 
typedef highp_dmat2x4 dmat2x4
 
typedef highp_dmat3x3 dmat3
 
typedef highp_dmat3x2 dmat3x2
 
typedef highp_dmat3x3 dmat3x3
 
typedef highp_dmat3x4 dmat3x4
 
typedef highp_dmat4x4 dmat4
 
typedef highp_dmat4x2 dmat4x2
 
typedef highp_dmat4x3 dmat4x3
 
typedef highp_dmat4x4 dmat4x4
 
typedef highp_dvec2 dvec2
 
typedef highp_dvec3 dvec3
 
typedef highp_dvec4 dvec4
 
typedef highp_ivec2 ivec2
 
typedef highp_ivec3 ivec3
 
typedef highp_ivec4 ivec4
 
typedef mat2x2 mat2
 
typedef highp_mat2x2 mat2x2
 
typedef highp_mat2x3 mat2x3
 
typedef highp_mat2x4 mat2x4
 
typedef mat3x3 mat3
 
typedef highp_mat3x2 mat3x2
 
typedef highp_mat3x3 mat3x3
 
typedef highp_mat3x4 mat3x4
 
typedef mat4x4 mat4
 
typedef highp_mat4x2 mat4x2
 
typedef highp_mat4x3 mat4x3
 
typedef highp_mat4x4 mat4x4
 
typedef highp_uvec2 uvec2
 
typedef highp_uvec3 uvec3
 
typedef highp_uvec4 uvec4
 
typedef highp_vec2 vec2
 
typedef highp_vec3 vec3
 
typedef highp_vec4 vec4
 
+

Detailed Description

+

The standard types defined by the specification.

+

These types are all typedefs of more generalized, template types. To see the definiton of these template types, go to Template types.

+

Typedef Documentation

+ +
+
+ + + + +
typedef highp_bvec2 bvec2
+
+ +

2 components vector of boolean.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 498 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_bvec3 bvec3
+
+ +

3 components vector of boolean.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 503 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_bvec4 bvec4
+
+ +

4 components vector of boolean.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 508 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat2x2 dmat2
+
+ +

2 * 2 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 733 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat2x2 dmat2x2
+
+ +

2 * 2 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 748 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat2x3 dmat2x3
+
+ +

2 * 3 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 753 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat2x4 dmat2x4
+
+ +

2 * 4 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 758 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat3x3 dmat3
+
+ +

3 * 3 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 738 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat3x2 dmat3x2
+
+ +

3 * 2 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 763 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat3x3 dmat3x3
+
+ +

3 * 3 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 768 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat3x4 dmat3x4
+
+ +

3 * 4 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 773 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat4x4 dmat4
+
+ +

4 * 4 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 743 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat4x2 dmat4x2
+
+ +

4 * 2 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 778 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat4x3 dmat4x3
+
+ +

4 * 3 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 783 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat4x4 dmat4x4
+
+ +

4 * 4 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 788 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dvec2 dvec2
+
+ +

2 components vector of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 417 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dvec3 dvec3
+
+ +

3 components vector of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 422 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dvec4 dvec4
+
+ +

4 components vector of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 427 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_ivec2 ivec2
+
+ +

2 components vector of signed integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 444 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_ivec3 ivec3
+
+ +

3 components vector of signed integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 449 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_ivec4 ivec4
+
+ +

4 components vector of signed integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 454 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef mat2x2 mat2
+
+ +

2 columns of 2 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 432 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat2x2 mat2x2
+
+ +

2 columns of 2 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 385 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat2x3 mat2x3
+
+ +

2 columns of 3 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 390 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat2x4 mat2x4
+
+ +

2 columns of 4 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 395 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef mat3x3 mat3
+
+ +

3 columns of 3 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 437 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat3x2 mat3x2
+
+ +

3 columns of 2 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 400 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat3x3 mat3x3
+
+ +

3 columns of 3 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 405 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat3x4 mat3x4
+
+ +

3 columns of 4 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 410 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef mat4x4 mat4
+
+ +

4 columns of 4 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 442 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat4x2 mat4x2
+
+ +

4 columns of 2 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 415 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat4x3 mat4x3
+
+ +

4 columns of 3 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 420 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat4x4 mat4x4
+
+ +

4 columns of 4 components matrix of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 425 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_uvec2 uvec2
+
+ +

2 components vector of unsigned integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 471 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_uvec3 uvec3
+
+ +

3 components vector of unsigned integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 476 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_uvec4 uvec4
+
+ +

4 components vector of unsigned integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 481 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_vec2 vec2
+
+ +

2 components vector of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 390 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_vec3 vec3
+
+ +

3 components vector of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 395 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_vec4 vec4
+
+ +

4 components vector of floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 400 of file type_vec.hpp.

+ +
+
diff --git a/doc/api/a00164.html b/doc/api/a00164.html index bf0fa052..46fc1361 100644 --- a/doc/api/a00164.html +++ b/doc/api/a00164.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_bitfield + +0.9.7: Precision types @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Typedefs
-
GLM_GTC_bitfield
+
Precision types
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldFillOne (vecType< T, P > const &Value, int FirstBit, int BitCount)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldFillZero (vecType< T, P > const &Value, int FirstBit, int BitCount)
 
GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldRotateLeft (vecType< T, P > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight (vecType< T, P > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mask (genIUType Bits)
 
template<typename T , precision P, template< typename, precision > class vecIUType>
GLM_FUNC_DECL vecIUType< T, P > mask (vecIUType< T, P > const &v)
 

+Typedefs

typedef tvec2< bool, highp > highp_bvec2
 
typedef tvec3< bool, highp > highp_bvec3
 
typedef tvec4< bool, highp > highp_bvec4
 
typedef tmat2x2< double, highp > highp_dmat2
 
typedef tmat2x2< double, highp > highp_dmat2x2
 
typedef tmat2x3< double, highp > highp_dmat2x3
 
typedef tmat2x4< double, highp > highp_dmat2x4
 
typedef tmat3x3< double, highp > highp_dmat3
 
typedef tmat3x2< double, highp > highp_dmat3x2
 
typedef tmat3x3< double, highp > highp_dmat3x3
 
typedef tmat3x4< double, highp > highp_dmat3x4
 
typedef tmat4x4< double, highp > highp_dmat4
 
typedef tmat4x2< double, highp > highp_dmat4x2
 
typedef tmat4x3< double, highp > highp_dmat4x3
 
typedef tmat4x4< double, highp > highp_dmat4x4
 
typedef tvec2< double, highp > highp_dvec2
 
typedef tvec3< double, highp > highp_dvec3
 
typedef tvec4< double, highp > highp_dvec4
 
typedef highp_float_t highp_float
 
typedef detail::highp_int_t highp_int
 
typedef tvec2< int, highp > highp_ivec2
 
typedef tvec3< int, highp > highp_ivec3
 
typedef tvec4< int, highp > highp_ivec4
 
typedef tmat2x2< float, highp > highp_mat2
 
typedef tmat2x2< float, highp > highp_mat2x2
 
typedef tmat2x3< float, highp > highp_mat2x3
 
typedef tmat2x4< float, highp > highp_mat2x4
 
typedef tmat3x3< float, highp > highp_mat3
 
typedef tmat3x2< float, highp > highp_mat3x2
 
typedef tmat3x3< float, highp > highp_mat3x3
 
typedef tmat3x4< float, highp > highp_mat3x4
 
typedef tmat4x4< float, highp > highp_mat4
 
typedef tmat4x2< float, highp > highp_mat4x2
 
typedef tmat4x3< float, highp > highp_mat4x3
 
typedef tmat4x4< float, highp > highp_mat4x4
 
typedef detail::highp_uint_t highp_uint
 
typedef tvec2< uint, highp > highp_uvec2
 
typedef tvec3< uint, highp > highp_uvec3
 
typedef tvec4< uint, highp > highp_uvec4
 
typedef tvec2< float, highp > highp_vec2
 
typedef tvec3< float, highp > highp_vec3
 
typedef tvec4< float, highp > highp_vec4
 
typedef tvec2< bool, lowp > lowp_bvec2
 
typedef tvec3< bool, lowp > lowp_bvec3
 
typedef tvec4< bool, lowp > lowp_bvec4
 
typedef tmat2x2< double, lowp > lowp_dmat2
 
typedef tmat2x2< double, lowp > lowp_dmat2x2
 
typedef tmat2x3< double, lowp > lowp_dmat2x3
 
typedef tmat2x4< double, lowp > lowp_dmat2x4
 
typedef tmat3x3< float, lowp > lowp_dmat3
 
typedef tmat3x2< double, lowp > lowp_dmat3x2
 
typedef tmat3x3< double, lowp > lowp_dmat3x3
 
typedef tmat3x4< double, lowp > lowp_dmat3x4
 
typedef tmat4x4< double, lowp > lowp_dmat4
 
typedef tmat4x2< double, lowp > lowp_dmat4x2
 
typedef tmat4x3< double, lowp > lowp_dmat4x3
 
typedef tmat4x4< double, lowp > lowp_dmat4x4
 
typedef tvec2< double, lowp > lowp_dvec2
 
typedef tvec3< double, lowp > lowp_dvec3
 
typedef tvec4< double, lowp > lowp_dvec4
 
typedef lowp_float_t lowp_float
 
typedef detail::lowp_int_t lowp_int
 
typedef tvec2< int, lowp > lowp_ivec2
 
typedef tvec3< int, lowp > lowp_ivec3
 
typedef tvec4< int, lowp > lowp_ivec4
 
typedef tmat2x2< float, lowp > lowp_mat2
 
typedef tmat2x2< float, lowp > lowp_mat2x2
 
typedef tmat2x3< float, lowp > lowp_mat2x3
 
typedef tmat2x4< float, lowp > lowp_mat2x4
 
typedef tmat3x3< float, lowp > lowp_mat3
 
typedef tmat3x2< float, lowp > lowp_mat3x2
 
typedef tmat3x3< float, lowp > lowp_mat3x3
 
typedef tmat3x4< float, lowp > lowp_mat3x4
 
typedef tmat4x4< float, lowp > lowp_mat4
 
typedef tmat4x2< float, lowp > lowp_mat4x2
 
typedef tmat4x3< float, lowp > lowp_mat4x3
 
typedef tmat4x4< float, lowp > lowp_mat4x4
 
typedef detail::lowp_uint_t lowp_uint
 
typedef tvec2< uint, lowp > lowp_uvec2
 
typedef tvec3< uint, lowp > lowp_uvec3
 
typedef tvec4< uint, lowp > lowp_uvec4
 
typedef tvec2< float, lowp > lowp_vec2
 
typedef tvec3< float, lowp > lowp_vec3
 
typedef tvec4< float, lowp > lowp_vec4
 
typedef tvec2< bool, mediump > mediump_bvec2
 
typedef tvec3< bool, mediump > mediump_bvec3
 
typedef tvec4< bool, mediump > mediump_bvec4
 
typedef tmat2x2< double, mediump > mediump_dmat2
 
typedef tmat2x2< double, mediump > mediump_dmat2x2
 
typedef tmat2x3< double, mediump > mediump_dmat2x3
 
typedef tmat2x4< double, mediump > mediump_dmat2x4
 
typedef tmat3x3< double, mediump > mediump_dmat3
 
typedef tmat3x2< double, mediump > mediump_dmat3x2
 
typedef tmat3x3< double, mediump > mediump_dmat3x3
 
typedef tmat3x4< double, mediump > mediump_dmat3x4
 
typedef tmat4x4< double, mediump > mediump_dmat4
 
typedef tmat4x2< double, mediump > mediump_dmat4x2
 
typedef tmat4x3< double, mediump > mediump_dmat4x3
 
typedef tmat4x4< double, mediump > mediump_dmat4x4
 
typedef tvec2< double, mediump > mediump_dvec2
 
typedef tvec3< double, mediump > mediump_dvec3
 
typedef tvec4< double, mediump > mediump_dvec4
 
typedef mediump_float_t mediump_float
 
typedef detail::mediump_int_t mediump_int
 
typedef tvec2< int, mediump > mediump_ivec2
 
typedef tvec3< int, mediump > mediump_ivec3
 
typedef tvec4< int, mediump > mediump_ivec4
 
typedef tmat2x2< float, mediump > mediump_mat2
 
typedef tmat2x2< float, mediump > mediump_mat2x2
 
typedef tmat2x3< float, mediump > mediump_mat2x3
 
typedef tmat2x4< float, mediump > mediump_mat2x4
 
typedef tmat3x3< float, mediump > mediump_mat3
 
typedef tmat3x2< float, mediump > mediump_mat3x2
 
typedef tmat3x3< float, mediump > mediump_mat3x3
 
typedef tmat3x4< float, mediump > mediump_mat3x4
 
typedef tmat4x4< float, mediump > mediump_mat4
 
typedef tmat4x2< float, mediump > mediump_mat4x2
 
typedef tmat4x3< float, mediump > mediump_mat4x3
 
typedef tmat4x4< float, mediump > mediump_mat4x4
 
typedef detail::mediump_uint_t mediump_uint
 
typedef tvec2< uint, mediump > mediump_uvec2
 
typedef tvec3< uint, mediump > mediump_uvec3
 
typedef tvec4< uint, mediump > mediump_uvec4
 
typedef tvec2< float, mediump > mediump_vec2
 
typedef tvec3< float, mediump > mediump_vec3
 
typedef tvec4< float, mediump > mediump_vec4
 
typedef unsigned int uint
 

Detailed Description

-

Allow to perform bit operations on integer values.

-

<glm/gtc/bitfield.hpp> need to be included to use these functionalities.

-

Function Documentation

- +

Non-GLSL types that are used to define precision-based types.

+

The GLSL language allows the user to define the precision of a particular variable. In OpenGL's GLSL, these precision qualifiers have no effect; they are there for compatibility with OpenGL ES's precision qualifiers, where they do have an effect.

+

C++ has no language equivalent to precision qualifiers. So GLM provides the next-best thing: a number of typedefs of the Template types that use a particular precision.

+

None of these types make any guarantees about the actual precision used.

+

Typedef Documentation

+
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL genIUType glm::bitfieldFillOne (genIUType Value,
int FirstBit,
int BitCount 
)typedef tvec2<bool, highp> highp_bvec2
-

Set to 1 a range of bits.

-
See also
GLM_GTC_bitfield
+

2 components vector of high precision bool numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 153 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldFillOne (vecType< T, P > const & Value,
int FirstBit,
int BitCount 
)typedef tvec3<bool, highp> highp_bvec3
-

Set to 1 a range of bits.

-
See also
GLM_GTC_bitfield
+

3 components vector of high precision bool numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 262 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL genIUType glm::bitfieldFillZero (genIUType Value,
int FirstBit,
int BitCount 
)typedef tvec4<bool, highp> highp_bvec4
-

Set to 0 a range of bits.

-
See also
GLM_GTC_bitfield
+

4 components vector of high precision bool numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 357 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldFillZero (vecType< T, P > const & Value,
int FirstBit,
int BitCount 
)typedef tmat2x2<double, highp> highp_dmat2
-

Set to 0 a range of bits.

-
See also
GLM_GTC_bitfield
+

2 columns of 2 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 466 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL int16 glm::bitfieldInterleave (int8 x,
int8 y 
)typedef tmat2x2<double, highp> highp_dmat2x2
-

Interleaves the bits of x and y.

-

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

2 columns of 2 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 484 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL uint16 glm::bitfieldInterleave (uint8 x,
uint8 y 
)typedef tmat2x3<double, highp> highp_dmat2x3
-

Interleaves the bits of x and y.

-

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

2 columns of 3 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 507 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int16 x,
int16 y 
)typedef tmat2x4<double, highp> highp_dmat2x4
-

Interleaves the bits of x and y.

-

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

2 columns of 4 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 530 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint16 x,
uint16 y 
)typedef tmat3x3<double, highp> highp_dmat3
-

Interleaves the bits of x and y.

-

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

3 columns of 3 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 576 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int32 x,
int32 y 
)typedef tmat3x2<double, highp> highp_dmat3x2
-

Interleaves the bits of x and y.

-

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

3 columns of 2 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 553 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint32 x,
uint32 y 
)typedef tmat3x3<double, highp> highp_dmat3x3
-

Interleaves the bits of x and y.

-

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

3 columns of 3 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 594 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int8 x,
int8 y,
int8 z 
)typedef tmat3x4<double, highp> highp_dmat3x4
-

Interleaves the bits of x, y and z.

-

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

3 columns of 4 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 617 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint8 x,
uint8 y,
uint8 z 
)typedef tmat4x4<double, highp> highp_dmat4
-

Interleaves the bits of x, y and z.

-

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

4 columns of 4 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 686 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int16 x,
int16 y,
int16 z 
)typedef tmat4x2<double, highp> highp_dmat4x2
-

Interleaves the bits of x, y and z.

-

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

4 columns of 2 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 640 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint16 x,
uint16 y,
uint16 z 
)typedef tmat4x3<double, highp> highp_dmat4x3
-

Interleaves the bits of x, y and z.

-

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

4 columns of 3 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 663 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int32 x,
int32 y,
int32 z 
)typedef tmat4x4<double, highp> highp_dmat4x4
-

Interleaves the bits of x, y and z.

-

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

4 columns of 4 components matrix of high precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 704 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint32 x,
uint32 y,
uint32 z 
)typedef tvec2<double, highp> highp_dvec2
-

Interleaves the bits of x, y and z.

-

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

2 components vector of high double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 90 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int8 x,
int8 y,
int8 z,
int8 w 
)typedef tvec3<double, highp> highp_dvec3
-

Interleaves the bits of x, y, z and w.

-

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

3 components vector of high double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 200 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint8 x,
uint8 y,
uint8 z,
uint8 w 
)typedef tvec4<double, highp> highp_dvec4
-

Interleaves the bits of x, y, z and w.

-

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

4 components vector of high double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 303 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int16 x,
int16 y,
int16 z,
int16 w 
)typedef highp_float_t highp_float
-

Interleaves the bits of x, y, z and w.

-

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

High precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.4 Floats
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 70 of file type_float.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint16 x,
uint16 y,
uint16 z,
uint16 w 
)typedef detail::highp_int_t highp_int
-

Interleaves the bits of x, y, z and w.

-

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

-
See also
GLM_GTC_bitfield
+

High precision signed integer.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 258 of file type_int.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL genIUType glm::bitfieldRotateLeft (genIUType In,
int Shift 
)typedef tvec2<int, highp> highp_ivec2
-

Rotate all bits to the left.

-

All the bits dropped in the left side are inserted back on the right side.

-
See also
GLM_GTC_bitfield
+

2 components vector of high precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 111 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldRotateLeft (vecType< T, P > const & In,
int Shift 
)typedef tvec3<int, highp> highp_ivec3
-

Rotate all bits to the left.

-

All the bits dropped in the left side are inserted back on the right side.

-
See also
GLM_GTC_bitfield
+

3 components vector of high precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 221 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL genIUType glm::bitfieldRotateRight (genIUType In,
int Shift 
)typedef tvec4<int, highp> highp_ivec4
-

Rotate all bits to the right.

-

All the bits dropped in the right side are inserted back on the left side.

-
See also
GLM_GTC_bitfield
+

4 components vector of high precision signed integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 321 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldRotateRight (vecType< T, P > const & In,
int Shift 
)typedef tmat2x2< float, highp > highp_mat2
-

Rotate all bits to the right.

-

All the bits dropped in the right side are inserted back on the left side.

-
See also
GLM_GTC_bitfield
+

2 columns of 2 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 79 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genIUType glm::mask (genIUType Bits)typedef tmat2x2< float, highp > highp_mat2x2
-

Build a mask of 'count' bits.

-
See also
GLM_GTC_bitfield
+

2 columns of 2 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 100 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL vecIUType<T, P> glm::mask (vecIUType< T, P > const & v)typedef tmat2x3< float, highp > highp_mat2x3
-

Build a mask of 'count' bits.

-
See also
GLM_GTC_bitfield
+

2 columns of 3 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 126 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4< float, highp > highp_mat2x4
+
+ +

2 columns of 4 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 152 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< float, highp > highp_mat3
+
+ +

3 columns of 3 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 204 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2< float, highp > highp_mat3x2
+
+ +

3 columns of 2 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 178 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< float, highp > highp_mat3x3
+
+ +

3 columns of 3 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 225 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4< float, highp > highp_mat3x4
+
+ +

3 columns of 4 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 251 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< float, highp > highp_mat4
+
+ +

4 columns of 4 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 330 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2< float, highp > highp_mat4x2
+
+ +

4 columns of 2 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 277 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3< float, highp > highp_mat4x3
+
+ +

4 columns of 3 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 303 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< float, highp > highp_mat4x4
+
+ +

4 columns of 4 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 351 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::highp_uint_t highp_uint
+
+ +

High precision unsigned integer.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 279 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<uint, highp> highp_uvec2
+
+ +

2 components vector of high precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 132 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<uint, highp> highp_uvec3
+
+ +

3 components vector of high precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 242 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<uint, highp> highp_uvec4
+
+ +

4 components vector of high precision unsigned integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 339 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< float, highp > highp_vec2
+
+ +

2 components vector of high single-precision floating-point numbers.

+

High Single-precision floating-point vector of 2 components.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 69 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< float, highp > highp_vec3
+
+ +

3 components vector of high single-precision floating-point numbers.

+

High Single-precision floating-point vector of 3 components.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 179 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< float, highp > highp_vec4
+
+ +

4 components vector of high single-precision floating-point numbers.

+

High Single-precision floating-point vector of 4 components.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 285 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<bool, lowp> lowp_bvec2
+
+ +

2 components vector of low precision bool numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 167 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<bool, lowp> lowp_bvec3
+
+ +

3 components vector of low precision bool numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 274 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<bool, lowp> lowp_bvec4
+
+ +

4 components vector of low precision bool numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 369 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<double, lowp> lowp_dmat2
+
+ +

2 columns of 2 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 454 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<double, lowp> lowp_dmat2x2
+
+ +

2 columns of 2 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 472 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3<double, lowp> lowp_dmat2x3
+
+ +

2 columns of 3 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 495 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4<double, lowp> lowp_dmat2x4
+
+ +

2 columns of 4 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 518 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<float, lowp> lowp_dmat3
+
+ +

3 columns of 3 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 564 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2<double, lowp> lowp_dmat3x2
+
+ +

3 columns of 2 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 541 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<double, lowp> lowp_dmat3x3
+
+ +

3 columns of 3 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 582 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4<double, lowp> lowp_dmat3x4
+
+ +

3 columns of 4 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 605 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<double, lowp> lowp_dmat4
+
+ +

4 columns of 4 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 674 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2<double, lowp> lowp_dmat4x2
+
+ +

4 columns of 2 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 628 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3<double, lowp> lowp_dmat4x3
+
+ +

4 columns of 3 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 651 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<double, lowp> lowp_dmat4x4
+
+ +

4 columns of 4 components matrix of low precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 692 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<double, lowp> lowp_dvec2
+
+ +

2 components vector of low double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 104 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<double, lowp> lowp_dvec3
+
+ +

3 components vector of low double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 214 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<double, lowp> lowp_dvec4
+
+ +

4 components vector of low double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 315 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_float_t lowp_float
+
+ +

Low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.4 Floats
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 56 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::lowp_int_t lowp_int
+
+ +

Low precision signed integer.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 244 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<int, lowp> lowp_ivec2
+
+ +

2 components vector of low precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 125 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<int, lowp> lowp_ivec3
+
+ +

3 components vector of low precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 235 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<int, lowp> lowp_ivec4
+
+ +

4 components vector of low precision signed integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 333 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< float, lowp > lowp_mat2
+
+ +

2 columns of 2 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 65 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< float, lowp > lowp_mat2x2
+
+ +

2 columns of 2 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 86 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3< float, lowp > lowp_mat2x3
+
+ +

2 columns of 3 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 112 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4< float, lowp > lowp_mat2x4
+
+ +

2 columns of 4 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 138 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< float, lowp > lowp_mat3
+
+ +

3 columns of 3 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 190 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2< float, lowp > lowp_mat3x2
+
+ +

3 columns of 2 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 164 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< float, lowp > lowp_mat3x3
+
+ +

3 columns of 3 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 211 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4< float, lowp > lowp_mat3x4
+
+ +

3 columns of 4 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 237 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< float, lowp > lowp_mat4
+
+ +

4 columns of 4 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 316 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2< float, lowp > lowp_mat4x2
+
+ +

4 columns of 2 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 263 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3< float, lowp > lowp_mat4x3
+
+ +

4 columns of 3 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 289 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< float, lowp > lowp_mat4x4
+
+ +

4 columns of 4 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 337 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::lowp_uint_t lowp_uint
+
+ +

Low precision unsigned integer.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 265 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<uint, lowp> lowp_uvec2
+
+ +

2 components vector of low precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 146 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<uint, lowp> lowp_uvec3
+
+ +

3 components vector of low precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 256 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<uint, lowp> lowp_uvec4
+
+ +

4 components vector of low precision unsigned integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 351 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< float, lowp > lowp_vec2
+
+ +

2 components vector of low single-precision floating-point numbers.

+

Low single-precision floating-point vector of 2 components.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 83 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< float, lowp > lowp_vec3
+
+ +

3 components vector of low single-precision floating-point numbers.

+

Low single-precision floating-point vector of 3 components.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 193 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< float, lowp > lowp_vec4
+
+ +

4 components vector of low single-precision floating-point numbers.

+

Low single-precision floating-point vector of 4 components.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 297 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<bool, mediump> mediump_bvec2
+
+ +

2 components vector of medium precision bool numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 160 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<bool, mediump> mediump_bvec3
+
+ +

3 components vector of medium precision bool numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 268 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<bool, mediump> mediump_bvec4
+
+ +

4 components vector of medium precision bool numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 363 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<double, mediump> mediump_dmat2
+
+ +

2 columns of 2 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 460 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<double, mediump> mediump_dmat2x2
+
+ +

2 columns of 2 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 478 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3<double, mediump> mediump_dmat2x3
+
+ +

2 columns of 3 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 501 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4<double, mediump> mediump_dmat2x4
+
+ +

2 columns of 4 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 524 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<double, mediump> mediump_dmat3
+
+ +

3 columns of 3 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 570 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2<double, mediump> mediump_dmat3x2
+
+ +

3 columns of 2 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 547 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<double, mediump> mediump_dmat3x3
+
+ +

3 columns of 3 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 588 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4<double, mediump> mediump_dmat3x4
+
+ +

3 columns of 4 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 611 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<double, mediump> mediump_dmat4
+
+ +

4 columns of 4 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 680 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2<double, mediump> mediump_dmat4x2
+
+ +

4 columns of 2 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 634 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3<double, mediump> mediump_dmat4x3
+
+ +

4 columns of 3 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 657 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<double, mediump> mediump_dmat4x4
+
+ +

4 columns of 4 components matrix of medium precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 698 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<double, mediump> mediump_dvec2
+
+ +

2 components vector of medium double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 97 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<double, mediump> mediump_dvec3
+
+ +

3 components vector of medium double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 207 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<double, mediump> mediump_dvec4
+
+ +

4 components vector of medium double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 309 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_float_t mediump_float
+
+ +

Medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.4 Floats
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 63 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::mediump_int_t mediump_int
+
+ +

Medium precision signed integer.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 251 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<int, mediump> mediump_ivec2
+
+ +

2 components vector of medium precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 118 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<int, mediump> mediump_ivec3
+
+ +

3 components vector of medium precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 228 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<int, mediump> mediump_ivec4
+
+ +

4 components vector of medium precision signed integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 327 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< float, mediump > mediump_mat2
+
+ +

2 columns of 2 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 72 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< float, mediump > mediump_mat2x2
+
+ +

2 columns of 2 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 93 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3< float, mediump > mediump_mat2x3
+
+ +

2 columns of 3 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 119 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4< float, mediump > mediump_mat2x4
+
+ +

2 columns of 4 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 145 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< float, mediump > mediump_mat3
+
+ +

3 columns of 3 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 197 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2< float, mediump > mediump_mat3x2
+
+ +

3 columns of 2 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 171 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< float, mediump > mediump_mat3x3
+
+ +

3 columns of 3 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 218 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4< float, mediump > mediump_mat3x4
+
+ +

3 columns of 4 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 244 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< float, mediump > mediump_mat4
+
+ +

4 columns of 4 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 323 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2< float, mediump > mediump_mat4x2
+
+ +

4 columns of 2 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 270 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3< float, mediump > mediump_mat4x3
+
+ +

4 columns of 3 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 296 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< float, mediump > mediump_mat4x4
+
+ +

4 columns of 4 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 344 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::mediump_uint_t mediump_uint
+
+ +

Medium precision unsigned integer.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 272 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2<uint, mediump> mediump_uvec2
+
+ +

2 components vector of medium precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 139 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3<uint, mediump> mediump_uvec3
+
+ +

3 components vector of medium precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 249 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4<uint, mediump> mediump_uvec4
+
+ +

4 components vector of medium precision unsigned integer numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 345 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< float, mediump > mediump_vec2
+
+ +

2 components vector of medium single-precision floating-point numbers.

+

Medium Single-precision floating-point vector of 2 components.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 76 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< float, mediump > mediump_vec3
+
+ +

3 components vector of medium single-precision floating-point numbers.

+

Medium Single-precision floating-point vector of 3 components.

+

There is no guarantee on the actual precision.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 186 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< float, mediump > mediump_vec4
+
+ +

4 components vector of medium single-precision floating-point numbers.

+

Medium Single-precision floating-point vector of 4 components.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+Precision types
+ +

Definition at line 291 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef unsigned int uint
+
+ +

Unsigned integer type.

+
See also
GLSL 4.20.8 specification, section 4.1.3 Integers
+ +

Definition at line 308 of file type_int.hpp.

@@ -979,7 +2821,7 @@ Functions diff --git a/doc/api/a00165.html b/doc/api/a00165.html index b4a56f36..923fb4cc 100644 --- a/doc/api/a00165.html +++ b/doc/api/a00165.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_constants + +0.9.7: Template types @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
GLM_GTC_constants
+
Template types
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename genType >
GLM_FUNC_DECL genType four_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
GLM_FUNC_DECL genType three_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 
-

Detailed Description

-

Provide a list of constants and precomputed useful values.

-

<glm/gtc/constants.hpp> need to be included to use these features.

-

Function Documentation

- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::e ()
-
- -

Return e constant.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::epsilon ()
-
- -

Return the epsilon constant for floating point types.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::euler ()
-
- -

Return Euler's constant.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::four_over_pi ()
-
- -

Return 4 / pi.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::golden_ratio ()
-
- -

Return the golden ratio constant.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::half_pi ()
-
- -

Return pi / 2.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::ln_ln_two ()
-
- -

Return ln(ln(2)).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::ln_ten ()
-
- -

Return ln(10).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::ln_two ()
-
- -

Return ln(2).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::one ()
-
- -

Return 1.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::one_over_pi ()
-
- -

Return 1 / pi.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::one_over_root_two ()
-
- -

Return 1 / sqrt(2).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::one_over_two_pi ()
-
- -

Return 1 / (pi * 2).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::pi ()
-
- -

Return the pi constant.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::quarter_pi ()
-
- -

Return pi / 4.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::root_five ()
-
- -

Return sqrt(5).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::root_half_pi ()
-
- -

Return sqrt(pi / 2).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::root_ln_four ()
-
- -

Return sqrt(ln(4)).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::root_pi ()
-
- -

Return square root of pi.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::root_three ()
-
- -

Return sqrt(3).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::root_two ()
-
- -

Return sqrt(2).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::root_two_pi ()
-
- -

Return sqrt(2 * pi).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::third ()
-
- -

Return 1 / 3.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::three_over_two_pi ()
-
- -

Return pi / 2 * 3.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::two_over_pi ()
-
- -

Return 2 / pi.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::two_over_root_pi ()
-
- -

Return 2 / sqrt(pi).

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::two_pi ()
-
- -

Return pi * 2.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::two_thirds ()
-
- -

Return 2 / 3.

-
See also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::zero ()
-
- -

Return 0.

-
See also
GLM_GTC_constants
- -
-
+

The generic template types used as the basis for the core types.

+

These types are all templates used to define the actual Types. These templetes are implementation details of GLM types and should not be used explicitly.

diff --git a/doc/api/a00166.html b/doc/api/a00166.html index da57e2a4..9b847ecf 100644 --- a/doc/api/a00166.html +++ b/doc/api/a00166.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_epsilon + +0.9.7: GLM_GTC_bitfield @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldFillOne (vecType< T, P > const &Value, int FirstBit, int BitCount)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldFillZero (vecType< T, P > const &Value, int FirstBit, int BitCount)
 
GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldRotateLeft (vecType< T, P > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight (vecType< T, P > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mask (genIUType Bits)
 
template<typename T , precision P, template< typename, precision > class vecIUType>
GLM_FUNC_DECL vecIUType< T, P > mask (vecIUType< T, P > const &v)
 

Detailed Description

-

Comparison functions for a user defined epsilon values.

-

<glm/gtc/epsilon.hpp> need to be included to use these functionalities.

+

Allow to perform bit operations on integer values.

+

<glm/gtc/bitfield.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::epsilonEqual GLM_FUNC_DECL genIUType glm::bitfieldFillOne (genIUType Value,
int FirstBit,
int BitCount 
)
+
+ +

Set to 1 a range of bits.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + - + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldFillOne ( vecType< T, P > const & x, Value,
int FirstBit,
int BitCount 
)
+
+ +

Set to 1 a range of bits.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genIUType glm::bitfieldFillZero (genIUType Value,
int FirstBit,
int BitCount 
)
+
+ +

Set to 0 a range of bits.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + - + - - + + + + + + + + @@ -92,33 +247,26 @@ Functions
GLM_FUNC_DECL vecType<T, P> glm::bitfieldFillZero ( vecType< T, P > const & y, Value,
T const & epsilon int FirstBit,
int BitCount 
-

Returns the component-wise comparison of |x - y| < epsilon.

-

True if this expression is satisfied.

-
See also
GLM_GTC_epsilon
+

Set to 0 a range of bits.

+
See also
GLM_GTC_bitfield
- +
- + - + - - - - - - - - + + @@ -128,33 +276,27 @@ Functions
GLM_FUNC_DECL bool glm::epsilonEqual GLM_FUNC_DECL int16 glm::bitfieldInterleave (genType const & int8  x,
genType const & y,
genType const & epsilon int8 y 
-

Returns the component-wise comparison of |x - y| < epsilon.

-

True if this expression is satisfied.

-
See also
GLM_GTC_epsilon
+

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
- +
- + - + - - - - - - - - + + @@ -164,33 +306,27 @@ Functions
GLM_FUNC_DECL genType::boolType glm::epsilonNotEqual GLM_FUNC_DECL uint16 glm::bitfieldInterleave (genType const & uint8  x,
genType const & y,
typename genType::value_type const & epsilon uint8 y 
-

Returns the component-wise comparison of |x - y| < epsilon.

-

True if this expression is not satisfied.

-
See also
GLM_GTC_epsilon
+

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
- +
- + - + - - - - - - - - + + @@ -200,9 +336,641 @@ Functions
GLM_FUNC_DECL bool glm::epsilonNotEqual GLM_FUNC_DECL int32 glm::bitfieldInterleave (genType const & int16  x,
genType const & y,
genType const & epsilon int16 y 
-

Returns the component-wise comparison of |x - y| >= epsilon.

-

True if this expression is not satisfied.

-
See also
GLM_GTC_epsilon
+

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint16 x,
uint16 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int32 x,
int32 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint32 x,
uint32 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int8 x,
int8 y,
int8 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint8 x,
uint8 y,
uint8 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int16 x,
int16 y,
int16 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint16 x,
uint16 y,
uint16 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int32 x,
int32 y,
int32 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint32 x,
uint32 y,
uint32 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int8 x,
int8 y,
int8 z,
int8 w 
)
+
+ +

Interleaves the bits of x, y, z and w.

+

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint8 x,
uint8 y,
uint8 z,
uint8 w 
)
+
+ +

Interleaves the bits of x, y, z and w.

+

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int16 x,
int16 y,
int16 z,
int16 w 
)
+
+ +

Interleaves the bits of x, y, z and w.

+

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint16 x,
uint16 y,
uint16 z,
uint16 w 
)
+
+ +

Interleaves the bits of x, y, z and w.

+

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genIUType glm::bitfieldRotateLeft (genIUType In,
int Shift 
)
+
+ +

Rotate all bits to the left.

+

All the bits dropped in the left side are inserted back on the right side.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldRotateLeft (vecType< T, P > const & In,
int Shift 
)
+
+ +

Rotate all bits to the left.

+

All the bits dropped in the left side are inserted back on the right side.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genIUType glm::bitfieldRotateRight (genIUType In,
int Shift 
)
+
+ +

Rotate all bits to the right.

+

All the bits dropped in the right side are inserted back on the left side.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldRotateRight (vecType< T, P > const & In,
int Shift 
)
+
+ +

Rotate all bits to the right.

+

All the bits dropped in the right side are inserted back on the left side.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType glm::mask (genIUType Bits)
+
+ +

Build a mask of 'count' bits.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecIUType<T, P> glm::mask (vecIUType< T, P > const & v)
+
+ +

Build a mask of 'count' bits.

+
See also
GLM_GTC_bitfield
@@ -211,7 +979,7 @@ Functions diff --git a/doc/api/a00167.html b/doc/api/a00167.html index a860087a..56226c3e 100644 --- a/doc/api/a00167.html +++ b/doc/api/a00167.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_integer + +0.9.7: GLM_GTC_color_space @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mod (genIUType x, genIUType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, vecType< T, P > const &y)
 
+template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > convertLinearToSRGB (vecType< T, P > const &ColorLinear)
 
+template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > convertLinearToSRGB (vecType< T, P > const &ColorLinear, T Gamma)
 
+template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > convertSRGBToLinear (vecType< T, P > const &ColorSRGB)
 
+template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > convertSRGBToLinear (vecType< T, P > const &ColorSRGB, T Gamma)
 

Detailed Description

Allow to perform bit operations on integer values.

-

<glm/gtc/integer.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
GLM_FUNC_DECL genIUType glm::log2 (genIUType x)
-
- -

Returns the log2 of x for integer values.

-

Can be reliably using to compute mipmap count from the texture size.

See also
GLM_GTC_integer
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genIUType glm::mod (genIUType x,
genIUType y 
)
-
- -

Modulus.

-

Returns x % y for each component in x using the floating point value y.

-
Template Parameters
- - -
genIUTypeInteger-point scalar or vector types.
-
-
-
See also
GLM_GTC_integer
-
-GLSL mod man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const & x,
y 
)
-
- -

Modulus.

-

Returns x % y for each component in x using the floating point value y.

-
Template Parameters
- - - -
TInteger scalar types.
vecTypevector types.
-
-
-
See also
GLM_GTC_integer
-
-GLSL mod man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Modulus.

-

Returns x % y for each component in x using the floating point value y.

-
Template Parameters
- - - -
TInteger scalar types.
vecTypevector types.
-
-
-
See also
GLM_GTC_integer
-
-GLSL mod man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
+

<glm/gtc/color.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00168.html b/doc/api/a00168.html index 820ceb8c..ddf13664 100644 --- a/doc/api/a00168.html +++ b/doc/api/a00168.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_matrix_access + +0.9.7: GLM_GTC_constants @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType::col_type column (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType column (genType const &m, length_t index, typename genType::col_type const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::row_type row (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType row (genType const &m, length_t index, typename genType::row_type const &x)
 
template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename genType >
GLM_FUNC_DECL genType four_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
GLM_FUNC_DECL genType three_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 

Detailed Description

-

Defines functions to access rows or columns of a matrix easily.

-

<glm/gtc/matrix_access.hpp> need to be included to use these functionalities.

+

Provide a list of constants and precomputed useful values.

+

<glm/gtc/constants.hpp> need to be included to use these features.

Function Documentation

- +
- + - - - - - + - - - - - - -
GLM_FUNC_DECL genType::col_type glm::column GLM_FUNC_DECL genType glm::e (genType const & m,
) length_t index 
)
-

Get a specific column of a matrix.

-
See also
GLM_GTC_matrix_access
+

Return e constant.

+
See also
GLM_GTC_constants
- +
- + - - - - - + - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::column GLM_FUNC_DECL genType glm::epsilon (genType const & m,
) length_t index,
typename genType::col_type const & x 
)
-

Set a specific column to a matrix.

-
See also
GLM_GTC_matrix_access
+

Return the epsilon constant for floating point types.

+
See also
GLM_GTC_constants
- +
- + - - - - - + - - - - - - -
GLM_FUNC_DECL genType::row_type glm::row GLM_FUNC_DECL genType glm::euler (genType const & m,
) length_t index 
)
-

Get a specific row of a matrix.

-
See also
GLM_GTC_matrix_access
+

Return Euler's constant.

+
See also
GLM_GTC_constants
- +
- + - - - - - + - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::row GLM_FUNC_DECL genType glm::four_over_pi (genType const & m,
) length_t index,
typename genType::row_type const & x 
)
-

Set a specific row to a matrix.

-
See also
GLM_GTC_matrix_access
+

Return 4 / pi.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::golden_ratio ()
+
+ +

Return the golden ratio constant.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::half_pi ()
+
+ +

Return pi / 2.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::ln_ln_two ()
+
+ +

Return ln(ln(2)).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::ln_ten ()
+
+ +

Return ln(10).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::ln_two ()
+
+ +

Return ln(2).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::one ()
+
+ +

Return 1.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::one_over_pi ()
+
+ +

Return 1 / pi.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::one_over_root_two ()
+
+ +

Return 1 / sqrt(2).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::one_over_two_pi ()
+
+ +

Return 1 / (pi * 2).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::pi ()
+
+ +

Return the pi constant.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::quarter_pi ()
+
+ +

Return pi / 4.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_five ()
+
+ +

Return sqrt(5).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_half_pi ()
+
+ +

Return sqrt(pi / 2).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_ln_four ()
+
+ +

Return sqrt(ln(4)).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_pi ()
+
+ +

Return square root of pi.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_three ()
+
+ +

Return sqrt(3).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_two ()
+
+ +

Return sqrt(2).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_two_pi ()
+
+ +

Return sqrt(2 * pi).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::third ()
+
+ +

Return 1 / 3.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::three_over_two_pi ()
+
+ +

Return pi / 2 * 3.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::two_over_pi ()
+
+ +

Return 2 / pi.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::two_over_root_pi ()
+
+ +

Return 2 / sqrt(pi).

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::two_pi ()
+
+ +

Return pi * 2.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::two_thirds ()
+
+ +

Return 2 / 3.

+
See also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::zero ()
+
+ +

Return 0.

+
See also
GLM_GTC_constants
@@ -195,7 +664,7 @@ Functions diff --git a/doc/api/a00169.html b/doc/api/a00169.html index 69dfee89..7a39e4a3 100644 --- a/doc/api/a00169.html +++ b/doc/api/a00169.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_matrix_integer + +0.9.7: GLM_GTC_epsilon @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
GLM_GTC_matrix_integer
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +

-Typedefs

typedef tmat2x2< int, highp > highp_imat2
 
typedef tmat2x2< int, highp > highp_imat2x2
 
typedef tmat2x3< int, highp > highp_imat2x3
 
typedef tmat2x4< int, highp > highp_imat2x4
 
typedef tmat3x3< int, highp > highp_imat3
 
typedef tmat3x2< int, highp > highp_imat3x2
 
typedef tmat3x3< int, highp > highp_imat3x3
 
typedef tmat3x4< int, highp > highp_imat3x4
 
typedef tmat4x4< int, highp > highp_imat4
 
typedef tmat4x2< int, highp > highp_imat4x2
 
typedef tmat4x3< int, highp > highp_imat4x3
 
typedef tmat4x4< int, highp > highp_imat4x4
 
typedef tmat2x2< uint, highp > highp_umat2
 
typedef tmat2x2< uint, highp > highp_umat2x2
 
typedef tmat2x3< uint, highp > highp_umat2x3
 
typedef tmat2x4< uint, highp > highp_umat2x4
 
typedef tmat3x3< uint, highp > highp_umat3
 
typedef tmat3x2< uint, highp > highp_umat3x2
 
typedef tmat3x3< uint, highp > highp_umat3x3
 
typedef tmat3x4< uint, highp > highp_umat3x4
 
typedef tmat4x4< uint, highp > highp_umat4
 
typedef tmat4x2< uint, highp > highp_umat4x2
 
typedef tmat4x3< uint, highp > highp_umat4x3
 
typedef tmat4x4< uint, highp > highp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef tmat2x2< int, lowp > lowp_imat2
 
typedef tmat2x2< int, lowp > lowp_imat2x2
 
typedef tmat2x3< int, lowp > lowp_imat2x3
 
typedef tmat2x4< int, lowp > lowp_imat2x4
 
typedef tmat3x3< int, lowp > lowp_imat3
 
typedef tmat3x2< int, lowp > lowp_imat3x2
 
typedef tmat3x3< int, lowp > lowp_imat3x3
 
typedef tmat3x4< int, lowp > lowp_imat3x4
 
typedef tmat4x4< int, lowp > lowp_imat4
 
typedef tmat4x2< int, lowp > lowp_imat4x2
 
typedef tmat4x3< int, lowp > lowp_imat4x3
 
typedef tmat4x4< int, lowp > lowp_imat4x4
 
typedef tmat2x2< uint, lowp > lowp_umat2
 
typedef tmat2x2< uint, lowp > lowp_umat2x2
 
typedef tmat2x3< uint, lowp > lowp_umat2x3
 
typedef tmat2x4< uint, lowp > lowp_umat2x4
 
typedef tmat3x3< uint, lowp > lowp_umat3
 
typedef tmat3x2< uint, lowp > lowp_umat3x2
 
typedef tmat3x3< uint, lowp > lowp_umat3x3
 
typedef tmat3x4< uint, lowp > lowp_umat3x4
 
typedef tmat4x4< uint, lowp > lowp_umat4
 
typedef tmat4x2< uint, lowp > lowp_umat4x2
 
typedef tmat4x3< uint, lowp > lowp_umat4x3
 
typedef tmat4x4< uint, lowp > lowp_umat4x4
 
typedef tmat2x2< int, mediump > mediump_imat2
 
typedef tmat2x2< int, mediump > mediump_imat2x2
 
typedef tmat2x3< int, mediump > mediump_imat2x3
 
typedef tmat2x4< int, mediump > mediump_imat2x4
 
typedef tmat3x3< int, mediump > mediump_imat3
 
typedef tmat3x2< int, mediump > mediump_imat3x2
 
typedef tmat3x3< int, mediump > mediump_imat3x3
 
typedef tmat3x4< int, mediump > mediump_imat3x4
 
typedef tmat4x4< int, mediump > mediump_imat4
 
typedef tmat4x2< int, mediump > mediump_imat4x2
 
typedef tmat4x3< int, mediump > mediump_imat4x3
 
typedef tmat4x4< int, mediump > mediump_imat4x4
 
typedef tmat2x2< uint, mediump > mediump_umat2
 
typedef tmat2x2< uint, mediump > mediump_umat2x2
 
typedef tmat2x3< uint, mediump > mediump_umat2x3
 
typedef tmat2x4< uint, mediump > mediump_umat2x4
 
typedef tmat3x3< uint, mediump > mediump_umat3
 
typedef tmat3x2< uint, mediump > mediump_umat3x2
 
typedef tmat3x3< uint, mediump > mediump_umat3x3
 
typedef tmat3x4< uint, mediump > mediump_umat3x4
 
typedef tmat4x4< uint, mediump > mediump_umat4
 
typedef tmat4x2< uint, mediump > mediump_umat4x2
 
typedef tmat4x3< uint, mediump > mediump_umat4x3
 
typedef tmat4x4< uint, mediump > mediump_umat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 

Detailed Description

-

Defines a number of matrices with integer types.

-

<glm/gtc/matrix_integer.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- +

Comparison functions for a user defined epsilon values.

+

<glm/gtc/epsilon.hpp> need to be included to use these functionalities.

+

Function Documentation

+
- + + + + -
typedef tmat2x2<int, highp> highp_imat2GLM_FUNC_DECL vecType<bool, P> glm::epsilonEqual (vecType< T, P > const & x,
-
- -

High-precision signed integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 65 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<int, highp> highp_imat2x2
-
- -

High-precision signed integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 77 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<int, highp> highp_imat2x3
-
- -

High-precision signed integer 2x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 81 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<int, highp> highp_imat2x4
-
- -

High-precision signed integer 2x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 85 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<int, highp> highp_imat3
-
- -

High-precision signed integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 69 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<int, highp> highp_imat3x2
-
- -

High-precision signed integer 3x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 89 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<int, highp> highp_imat3x3
-
- -

High-precision signed integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 93 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<int, highp> highp_imat3x4
-
- -

High-precision signed integer 3x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 97 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<int, highp> highp_imat4
-
- -

High-precision signed integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 73 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<int, highp> highp_imat4x2
-
- -

High-precision signed integer 4x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 101 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<int, highp> highp_imat4x3
-
- -

High-precision signed integer 4x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 105 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<int, highp> highp_imat4x4
-
- -

High-precision signed integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 109 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<uint, highp> highp_umat2
-
- -

High-precision unsigned integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 214 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<uint, highp> highp_umat2x2
-
- -

High-precision unsigned integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 226 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<uint, highp> highp_umat2x3
-
- -

High-precision unsigned integer 2x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 230 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<uint, highp> highp_umat2x4
-
- -

High-precision unsigned integer 2x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 234 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<uint, highp> highp_umat3
-
- -

High-precision unsigned integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 218 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<uint, highp> highp_umat3x2
-
- -

High-precision unsigned integer 3x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 238 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<uint, highp> highp_umat3x3
-
- -

High-precision unsigned integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 242 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<uint, highp> highp_umat3x4
-
- -

High-precision unsigned integer 3x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 246 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<uint, highp> highp_umat4
-
- -

High-precision unsigned integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 222 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<uint, highp> highp_umat4x2
-
- -

High-precision unsigned integer 4x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 250 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<uint, highp> highp_umat4x3
-
- -

High-precision unsigned integer 4x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 254 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<uint, highp> highp_umat4x4
-
- -

High-precision unsigned integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 258 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2 imat2
-
- -

Signed integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 390 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x2 imat2x2
-
- -

Signed integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 402 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x3 imat2x3
-
- -

Signed integer 2x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 406 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x4 imat2x4
-
- -

Signed integer 2x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 410 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3 imat3
-
- -

Signed integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 394 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x2 imat3x2
-
- -

Signed integer 3x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 414 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x3 imat3x3
-
- -

Signed integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 418 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x4 imat3x4
-
- -

Signed integer 3x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 422 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4 imat4
-
- -

Signed integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 398 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x2 imat4x2
-
- -

Signed integer 4x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 426 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x3 imat4x3
-
- -

Signed integer 4x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 430 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x4 imat4x4
-
- -

Signed integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 434 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<int, lowp> lowp_imat2
-
- -

Low-precision signed integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 164 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<int, lowp> lowp_imat2x2
-
- -

Low-precision signed integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 177 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<int, lowp> lowp_imat2x3
-
- -

Low-precision signed integer 2x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 181 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<int, lowp> lowp_imat2x4
-
- -

Low-precision signed integer 2x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 185 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<int, lowp> lowp_imat3
-
- -

Low-precision signed integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 168 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<int, lowp> lowp_imat3x2
-
- -

Low-precision signed integer 3x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 189 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<int, lowp> lowp_imat3x3
-
- -

Low-precision signed integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 193 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<int, lowp> lowp_imat3x4
-
- -

Low-precision signed integer 3x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 197 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<int, lowp> lowp_imat4
-
- -

Low-precision signed integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 172 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<int, lowp> lowp_imat4x2
-
- -

Low-precision signed integer 4x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 201 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<int, lowp> lowp_imat4x3
-
- -

Low-precision signed integer 4x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 205 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<int, lowp> lowp_imat4x4
-
- -

Low-precision signed integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 209 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<uint, lowp> lowp_umat2
-
- -

Low-precision unsigned integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 313 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<uint, lowp> lowp_umat2x2
-
- -

Low-precision unsigned integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 326 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<uint, lowp> lowp_umat2x3
-
- -

Low-precision unsigned integer 2x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 330 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<uint, lowp> lowp_umat2x4
-
- -

Low-precision unsigned integer 2x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 334 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<uint, lowp> lowp_umat3
-
- -

Low-precision unsigned integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 317 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<uint, lowp> lowp_umat3x2
-
- -

Low-precision unsigned integer 3x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 338 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<uint, lowp> lowp_umat3x3
-
- -

Low-precision unsigned integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 342 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<uint, lowp> lowp_umat3x4
-
- -

Low-precision unsigned integer 3x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 346 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<uint, lowp> lowp_umat4
-
- -

Low-precision unsigned integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 321 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<uint, lowp> lowp_umat4x2
-
- -

Low-precision unsigned integer 4x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 350 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<uint, lowp> lowp_umat4x3
-
- -

Low-precision unsigned integer 4x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 354 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<uint, lowp> lowp_umat4x4
-
- -

Low-precision unsigned integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 358 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<int, mediump> mediump_imat2
-
- -

Medium-precision signed integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 114 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<int, mediump> mediump_imat2x2
-
- -

Medium-precision signed integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 127 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<int, mediump> mediump_imat2x3
-
- -

Medium-precision signed integer 2x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 131 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<int, mediump> mediump_imat2x4
-
- -

Medium-precision signed integer 2x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 135 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<int, mediump> mediump_imat3
-
- -

Medium-precision signed integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 118 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<int, mediump> mediump_imat3x2
-
- -

Medium-precision signed integer 3x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 139 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<int, mediump> mediump_imat3x3
-
- -

Medium-precision signed integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 143 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<int, mediump> mediump_imat3x4
-
- -

Medium-precision signed integer 3x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 147 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<int, mediump> mediump_imat4
-
- -

Medium-precision signed integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 122 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<int, mediump> mediump_imat4x2
-
- -

Medium-precision signed integer 4x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 151 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<int, mediump> mediump_imat4x3
-
- -

Medium-precision signed integer 4x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 155 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<int, mediump> mediump_imat4x4
-
- -

Medium-precision signed integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 159 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<uint, mediump> mediump_umat2
-
- -

Medium-precision unsigned integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 263 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<uint, mediump> mediump_umat2x2
-
- -

Medium-precision unsigned integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 276 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<uint, mediump> mediump_umat2x3
-
- -

Medium-precision unsigned integer 2x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 280 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<uint, mediump> mediump_umat2x4
-
- -

Medium-precision unsigned integer 2x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 284 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<uint, mediump> mediump_umat3
-
- -

Medium-precision unsigned integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 267 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<uint, mediump> mediump_umat3x2
-
- -

Medium-precision unsigned integer 3x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 288 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<uint, mediump> mediump_umat3x3
-
- -

Medium-precision unsigned integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 292 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<uint, mediump> mediump_umat3x4
-
- -

Medium-precision unsigned integer 3x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 296 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<uint, mediump> mediump_umat4
-
- -

Medium-precision unsigned integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 271 of file matrix_integer.hpp.

- -
-
- -
-
- - + + + + -
typedef tmat4x2<uint, mediump> mediump_umat4x2vecType< T, P > const & y,
-
- -

Medium-precision unsigned integer 4x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 300 of file matrix_integer.hpp.

- -
-
- -
-
- - + + + + -
typedef tmat4x3<uint, mediump> mediump_umat4x3T const & epsilon 
-
- -

Medium-precision unsigned integer 4x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 304 of file matrix_integer.hpp.

- -
-
- -
-
- - + + +
typedef tmat4x4<uint, mediump> mediump_umat4x4)
-

Medium-precision unsigned integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 308 of file matrix_integer.hpp.

+

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is satisfied.

+
See also
GLM_GTC_epsilon
- +
- + + + + -
typedef mediump_umat2 umat2GLM_FUNC_DECL bool glm::epsilonEqual (genType const & x,
-
- -

Unsigned integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 467 of file matrix_integer.hpp.

- -
-
- -
-
- - + + + + -
typedef mediump_umat2x2 umat2x2genType const & y,
-
- -

Unsigned integer 2x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 479 of file matrix_integer.hpp.

- -
-
- -
-
- - + + + + -
typedef mediump_umat2x3 umat2x3genType const & epsilon 
-
- -

Unsigned integer 2x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 483 of file matrix_integer.hpp.

- -
-
- -
-
- - + + +
typedef mediump_umat2x4 umat2x4)
-

Unsigned integer 2x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 487 of file matrix_integer.hpp.

+

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is satisfied.

+
See also
GLM_GTC_epsilon
- +
- + + + + -
typedef mediump_umat3 umat3GLM_FUNC_DECL genType::boolType glm::epsilonNotEqual (genType const & x,
-
- -

Unsigned integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 471 of file matrix_integer.hpp.

- -
-
- -
-
- - + + + + -
typedef mediump_umat3x2 umat3x2genType const & y,
-
- -

Unsigned integer 3x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 491 of file matrix_integer.hpp.

- -
-
- -
-
- - + + + + -
typedef mediump_umat3x3 umat3x3typename genType::value_type const & epsilon 
-
- -

Unsigned integer 3x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 495 of file matrix_integer.hpp.

- -
-
- -
-
- - + + +
typedef mediump_umat3x4 umat3x4)
-

Unsigned integer 3x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 499 of file matrix_integer.hpp.

+

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is not satisfied.

+
See also
GLM_GTC_epsilon
- +
- + + + + -
typedef mediump_umat4 umat4GLM_FUNC_DECL bool glm::epsilonNotEqual (genType const & x,
-
- -

Unsigned integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 475 of file matrix_integer.hpp.

- -
-
- -
-
- - + + + + -
typedef mediump_umat4x2 umat4x2genType const & y,
-
- -

Unsigned integer 4x2 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 503 of file matrix_integer.hpp.

- -
-
- -
-
- - + + + + -
typedef mediump_umat4x3 umat4x3genType const & epsilon 
-
- -

Unsigned integer 4x3 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 507 of file matrix_integer.hpp.

- -
-
- -
-
- - + + +
typedef mediump_umat4x4 umat4x4)
-

Unsigned integer 4x4 matrix.

-
See also
GLM_GTC_matrix_integer
- -

Definition at line 511 of file matrix_integer.hpp.

+

Returns the component-wise comparison of |x - y| >= epsilon.

+

True if this expression is not satisfied.

+
See also
GLM_GTC_epsilon
@@ -1879,7 +211,7 @@ Typedefs diff --git a/doc/api/a00170.html b/doc/api/a00170.html index a6b24e9b..d24fc5e8 100644 --- a/doc/api/a00170.html +++ b/doc/api/a00170.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_matrix_inverse + +0.9.7: GLM_GTC_integer @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mod (genIUType x, genIUType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, vecType< T, P > const &y)
 

Detailed Description

-

Defines additional matrix inverting functions.

-

<glm/gtc/matrix_inverse.hpp> need to be included to use these functionalities.

+

Allow to perform bit operations on integer values.

+

<glm/gtc/integer.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL genType glm::affineInverse GLM_FUNC_DECL genIUType glm::log2 (genType const & m)genIUType x)
-

Fast matrix inverse for affine matrix.

-
Parameters
- - -
mInput matrix to invert.
-
-
-
Template Parameters
- - -
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
-
-
-
See also
GLM_GTC_matrix_inverse
+

Returns the log2 of x for integer values.

+

Can be reliably using to compute mipmap count from the texture size.

See also
GLM_GTC_integer
- +
- + - - + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::inverseTranspose GLM_FUNC_DECL genIUType glm::mod (genType const & m)genIUType x,
genIUType y 
)
-

Compute the inverse transpose of a matrix.

-
Parameters
- - -
mInput matrix to invert transpose.
-
-
+

Modulus.

+

Returns x % y for each component in x using the floating point value y.

Template Parameters
- +
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
genIUTypeInteger-point scalar or vector types.
-
See also
GLM_GTC_matrix_inverse
+
See also
GLM_GTC_integer
+
+GLSL mod man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const & x,
y 
)
+
+ +

Modulus.

+

Returns x % y for each component in x using the floating point value y.

+
Template Parameters
+ + + +
TInteger scalar types.
vecTypevector types.
+
+
+
See also
GLM_GTC_integer
+
+GLSL mod man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Modulus.

+

Returns x % y for each component in x using the floating point value y.

+
Template Parameters
+ + + +
TInteger scalar types.
vecTypevector types.
+
+
+
See also
GLM_GTC_integer
+
+GLSL mod man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
@@ -123,7 +208,7 @@ Functions diff --git a/doc/api/a00171.html b/doc/api/a00171.html index cda96d80..78433c8e 100644 --- a/doc/api/a00171.html +++ b/doc/api/a00171.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_matrix_transform + +0.9.7: GLM_GTC_matrix_access @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
frustum (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
infinitePerspective (T fovy, T aspect, T near)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAt (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
ortho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
perspective (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
perspectiveFov (T fov, T width, T height, T near, T far)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL tmat4x4< T, P > pickMatrix (tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > project (tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > unProject (tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename genType >
GLM_FUNC_DECL genType::col_type column (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType column (genType const &m, length_t index, typename genType::col_type const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::row_type row (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType row (genType const &m, length_t index, typename genType::row_type const &x)
 

Detailed Description

-

Defines functions that generate common transformation matrices.

-

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

-

<glm/gtc/matrix_transform.hpp> need to be included to use these functionalities.

+

Defines functions to access rows or columns of a matrix easily.

+

<glm/gtc/matrix_access.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::frustum GLM_FUNC_DECL genType::col_type glm::column (left,
right,
bottom,
top,
near,
far 
)
-
- -

Creates a frustum matrix.

-
Parameters
- - - - - - - -
left
right
bottom
top
near
far
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::infinitePerspective (fovy,
aspect,
near 
)
-
- -

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.

-
Parameters
- - - - -
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::lookAt (tvec3< T, P > const & eye,
tvec3< T, P > const & center,
tvec3< T, P > const & up 
)
-
- -

Build a look at view matrix.

-
Parameters
- - - - -
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
-
-
-
See also
GLM_GTC_matrix_transform
-
-- frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal) frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::ortho (left,
right,
bottom,
top,
zNear,
zFar 
)
-
- -

Creates a matrix for an orthographic parallel viewing volume.

-
Parameters
- - - - - - - -
left
right
bottom
top
zNear
zFar
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
-
-- glm::ortho(T const & left, T const & right, T const & bottom, T const & top)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::ortho (left,
right,
bottom,
top 
)
-
- -

Creates a matrix for projecting two-dimensional coordinates onto the screen.

-
Parameters
- - - - - -
left
right
bottom
top
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
-
-- glm::ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::perspective (fovy,
aspect,
near,
far 
)
-
- -

Creates a matrix for a symetric perspective-view frustum.

-
Parameters
- - - - - -
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::perspectiveFov (fov,
width,
height,
near,
far 
)
-
- -

Builds a perspective projection matrix based on a field of view.

-
Parameters
- - - - - - -
fovExpressed in radians.
width
height
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::pickMatrix (tvec2< T, P > const & center,
tvec2< T, P > const & delta,
tvec4< U, P > const & viewport 
)
-
- -

Define a picking region.

-
Parameters
- - - - -
center
delta
viewport
-
-
-
Template Parameters
- - - -
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
-
-
-
See also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::project (tvec3< T, P > const & obj,
tmat4x4< T, P > const & model,
tmat4x4< T, P > const & proj,
tvec4< U, P > const & viewport 
)
-
- -

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

-
Parameters
- - - - - -
objSpecify the object coordinates.
modelSpecifies the current modelview matrix
projSpecifies the current projection matrix
viewportSpecifies the current viewport
-
-
-
Returns
Return the computed window coordinates.
-
Template Parameters
- - - -
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
-
-
-
See also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - + - - - - - - - - + + @@ -655,44 +86,32 @@ defaultp >  diff --git a/doc/api/a00175.html b/doc/api/a00175.html index 2c13e06f..7fd3caad 100644 --- a/doc/api/a00175.html +++ b/doc/api/a00175.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_random + +0.9.7: GLM_GTC_noise @@ -17,8 +17,8 @@ - @@ -26,7 +26,7 @@
GLM_FUNC_DECL tmat4x4<T, P> glm::rotate (tmat4x4< T, P > const & genType const &  m,
angle,
tvec3< T, P > const & axis length_t index 
-

Builds a rotation 4 * 4 matrix created from an axis vector and an angle.

-
Parameters
- - - - -
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians.
axisRotation axis, recommanded to be normalized.
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Supported: half, float or double.
-
-
-
See also
GLM_GTC_matrix_transform
-
-- rotate(tmat4x4<T, P> const & m, T angle, T x, T y, T z)
-
-- rotate(T angle, tvec3<T, P> const & v)
+

Get a specific column of a matrix.

+
See also
GLM_GTC_matrix_access
- +
- + - + - - + + + + + + + + @@ -702,43 +121,26 @@ defaultp >  - @@ -26,7 +26,7 @@
GLM_FUNC_DECL tmat4x4<T, P> glm::scale GLM_FUNC_DECL genType glm::column (tmat4x4< T, P > const & genType const &  m,
tvec3< T, P > const & v length_t index,
typename genType::col_type const & x 
-

Builds a scale 4 * 4 matrix created from 3 scalars.

-
Parameters
- - - -
mInput matrix multiplied by this scale matrix.
vRatio of scaling for each axis.
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
-
-- scale(tmat4x4<T, P> const & m, T x, T y, T z)
-
-- scale(tvec3<T, P> const & v)
+

Set a specific column to a matrix.

+
See also
GLM_GTC_matrix_access
- +
- + - + - - + + @@ -748,57 +150,32 @@ defaultp >  diff --git a/doc/api/a00173.html b/doc/api/a00173.html index a902a066..04983e55 100644 --- a/doc/api/a00173.html +++ b/doc/api/a00173.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_packing + +0.9.7: GLM_GTC_matrix_inverse @@ -17,8 +17,8 @@ - @@ -26,7 +26,7 @@
GLM_FUNC_DECL tmat4x4<T, P> glm::translate GLM_FUNC_DECL genType::row_type glm::row (tmat4x4< T, P > const & genType const &  m,
tvec3< T, P > const & v length_t index 
-

Builds a translation 4 * 4 matrix created from a vector of 3 components.

-
Parameters
- - - -
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
#include <glm/glm.hpp>
- -
...
-
glm::mat4 m = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f));
-
// m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f
-
// m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f
-
// m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f
-
// m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f
-
-
-
-
See also
GLM_GTC_matrix_transform
-
-- translate(tmat4x4<T, P> const & m, T x, T y, T z)
-
-- translate(tvec3<T, P> const & v)
+

Get a specific row of a matrix.

+
See also
GLM_GTC_matrix_access
- +
- + - - + + - - + + - - + + @@ -808,136 +185,8 @@ defaultp >  - @@ -26,7 +26,7 @@
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::tweakedInfinitePerspective GLM_FUNC_DECL genType glm::row (fovy, genType const & m,
aspect, length_t index,
near typename genType::row_type const & x 
-

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

-
Parameters
- - - - -
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
- - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::tweakedInfinitePerspective (fovy,
aspect,
near,
ep 
)
-
- -

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

-
Parameters
- - - - - -
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
ep
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::unProject (tvec3< T, P > const & win,
tmat4x4< T, P > const & model,
tmat4x4< T, P > const & proj,
tvec4< U, P > const & viewport 
)
-
- -

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

-
Parameters
- - - - - -
winSpecify the window coordinates to be mapped.
modelSpecifies the modelview matrix
projSpecifies the projection matrix
viewportSpecifies the viewport
-
-
-
Returns
Returns the computed object coordinates.
-
Template Parameters
- - - -
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
-
-
-
See also
GLM_GTC_matrix_transform
+

Set a specific row to a matrix.

+
See also
GLM_GTC_matrix_access
@@ -946,7 +195,7 @@ defaultp > 
diff --git a/doc/api/a00172.html b/doc/api/a00172.html index 5f57712c..43816c7b 100644 --- a/doc/api/a00172.html +++ b/doc/api/a00172.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_noise + +0.9.7: GLM_GTC_matrix_integer @@ -17,8 +17,8 @@
-
0.9.6 +
+
0.9.7
- +
-
+
GLM_GTC_matrix_integer
- - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T simplex (vecType< T, P > const &p)
 

+Typedefs

typedef tmat2x2< int, highp > highp_imat2
 
typedef tmat2x2< int, highp > highp_imat2x2
 
typedef tmat2x3< int, highp > highp_imat2x3
 
typedef tmat2x4< int, highp > highp_imat2x4
 
typedef tmat3x3< int, highp > highp_imat3
 
typedef tmat3x2< int, highp > highp_imat3x2
 
typedef tmat3x3< int, highp > highp_imat3x3
 
typedef tmat3x4< int, highp > highp_imat3x4
 
typedef tmat4x4< int, highp > highp_imat4
 
typedef tmat4x2< int, highp > highp_imat4x2
 
typedef tmat4x3< int, highp > highp_imat4x3
 
typedef tmat4x4< int, highp > highp_imat4x4
 
typedef tmat2x2< uint, highp > highp_umat2
 
typedef tmat2x2< uint, highp > highp_umat2x2
 
typedef tmat2x3< uint, highp > highp_umat2x3
 
typedef tmat2x4< uint, highp > highp_umat2x4
 
typedef tmat3x3< uint, highp > highp_umat3
 
typedef tmat3x2< uint, highp > highp_umat3x2
 
typedef tmat3x3< uint, highp > highp_umat3x3
 
typedef tmat3x4< uint, highp > highp_umat3x4
 
typedef tmat4x4< uint, highp > highp_umat4
 
typedef tmat4x2< uint, highp > highp_umat4x2
 
typedef tmat4x3< uint, highp > highp_umat4x3
 
typedef tmat4x4< uint, highp > highp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef tmat2x2< int, lowp > lowp_imat2
 
typedef tmat2x2< int, lowp > lowp_imat2x2
 
typedef tmat2x3< int, lowp > lowp_imat2x3
 
typedef tmat2x4< int, lowp > lowp_imat2x4
 
typedef tmat3x3< int, lowp > lowp_imat3
 
typedef tmat3x2< int, lowp > lowp_imat3x2
 
typedef tmat3x3< int, lowp > lowp_imat3x3
 
typedef tmat3x4< int, lowp > lowp_imat3x4
 
typedef tmat4x4< int, lowp > lowp_imat4
 
typedef tmat4x2< int, lowp > lowp_imat4x2
 
typedef tmat4x3< int, lowp > lowp_imat4x3
 
typedef tmat4x4< int, lowp > lowp_imat4x4
 
typedef tmat2x2< uint, lowp > lowp_umat2
 
typedef tmat2x2< uint, lowp > lowp_umat2x2
 
typedef tmat2x3< uint, lowp > lowp_umat2x3
 
typedef tmat2x4< uint, lowp > lowp_umat2x4
 
typedef tmat3x3< uint, lowp > lowp_umat3
 
typedef tmat3x2< uint, lowp > lowp_umat3x2
 
typedef tmat3x3< uint, lowp > lowp_umat3x3
 
typedef tmat3x4< uint, lowp > lowp_umat3x4
 
typedef tmat4x4< uint, lowp > lowp_umat4
 
typedef tmat4x2< uint, lowp > lowp_umat4x2
 
typedef tmat4x3< uint, lowp > lowp_umat4x3
 
typedef tmat4x4< uint, lowp > lowp_umat4x4
 
typedef tmat2x2< int, mediump > mediump_imat2
 
typedef tmat2x2< int, mediump > mediump_imat2x2
 
typedef tmat2x3< int, mediump > mediump_imat2x3
 
typedef tmat2x4< int, mediump > mediump_imat2x4
 
typedef tmat3x3< int, mediump > mediump_imat3
 
typedef tmat3x2< int, mediump > mediump_imat3x2
 
typedef tmat3x3< int, mediump > mediump_imat3x3
 
typedef tmat3x4< int, mediump > mediump_imat3x4
 
typedef tmat4x4< int, mediump > mediump_imat4
 
typedef tmat4x2< int, mediump > mediump_imat4x2
 
typedef tmat4x3< int, mediump > mediump_imat4x3
 
typedef tmat4x4< int, mediump > mediump_imat4x4
 
typedef tmat2x2< uint, mediump > mediump_umat2
 
typedef tmat2x2< uint, mediump > mediump_umat2x2
 
typedef tmat2x3< uint, mediump > mediump_umat2x3
 
typedef tmat2x4< uint, mediump > mediump_umat2x4
 
typedef tmat3x3< uint, mediump > mediump_umat3
 
typedef tmat3x2< uint, mediump > mediump_umat3x2
 
typedef tmat3x3< uint, mediump > mediump_umat3x3
 
typedef tmat3x4< uint, mediump > mediump_umat3x4
 
typedef tmat4x4< uint, mediump > mediump_umat4
 
typedef tmat4x2< uint, mediump > mediump_umat4x2
 
typedef tmat4x3< uint, mediump > mediump_umat4x3
 
typedef tmat4x4< uint, mediump > mediump_umat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 

Detailed Description

-

Defines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": https://github.com/ashima/webgl-noise Following Stefan Gustavson's paper "Simplex noise demystified": http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf <glm/gtc/noise.hpp> need to be included to use these functionalities.

-

Function Documentation

- +

Defines a number of matrices with integer types.

+

<glm/gtc/matrix_integer.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+
- - - - - +
GLM_FUNC_DECL T glm::perlin (vecType< T, P > const & p)typedef tmat2x2<int, highp> highp_imat2
-

Classic perlin noise.

-
See also
GLM_GTC_noise
+

High-precision signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 65 of file matrix_integer.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL T glm::perlin (vecType< T, P > const & p,
vecType< T, P > const & rep 
)typedef tmat2x2<int, highp> highp_imat2x2
-

Periodic perlin noise.

-
See also
GLM_GTC_noise
+

High-precision signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 77 of file matrix_integer.hpp.

- +
- - - - - +
GLM_FUNC_DECL T glm::simplex (vecType< T, P > const & p)typedef tmat2x3<int, highp> highp_imat2x3
-

Simplex noise.

-
See also
GLM_GTC_noise
+

High-precision signed integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 81 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4<int, highp> highp_imat2x4
+
+ +

High-precision signed integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 85 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<int, highp> highp_imat3
+
+ +

High-precision signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 69 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2<int, highp> highp_imat3x2
+
+ +

High-precision signed integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 89 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<int, highp> highp_imat3x3
+
+ +

High-precision signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 93 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4<int, highp> highp_imat3x4
+
+ +

High-precision signed integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 97 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<int, highp> highp_imat4
+
+ +

High-precision signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 73 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2<int, highp> highp_imat4x2
+
+ +

High-precision signed integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 101 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3<int, highp> highp_imat4x3
+
+ +

High-precision signed integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 105 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<int, highp> highp_imat4x4
+
+ +

High-precision signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 109 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<uint, highp> highp_umat2
+
+ +

High-precision unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 214 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<uint, highp> highp_umat2x2
+
+ +

High-precision unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 226 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3<uint, highp> highp_umat2x3
+
+ +

High-precision unsigned integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 230 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4<uint, highp> highp_umat2x4
+
+ +

High-precision unsigned integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 234 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<uint, highp> highp_umat3
+
+ +

High-precision unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 218 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2<uint, highp> highp_umat3x2
+
+ +

High-precision unsigned integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 238 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<uint, highp> highp_umat3x3
+
+ +

High-precision unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 242 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4<uint, highp> highp_umat3x4
+
+ +

High-precision unsigned integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 246 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<uint, highp> highp_umat4
+
+ +

High-precision unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 222 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2<uint, highp> highp_umat4x2
+
+ +

High-precision unsigned integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 250 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3<uint, highp> highp_umat4x3
+
+ +

High-precision unsigned integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 254 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<uint, highp> highp_umat4x4
+
+ +

High-precision unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 258 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2 imat2
+
+ +

Signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 390 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x2 imat2x2
+
+ +

Signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 402 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x3 imat2x3
+
+ +

Signed integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 406 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x4 imat2x4
+
+ +

Signed integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 410 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3 imat3
+
+ +

Signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 394 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x2 imat3x2
+
+ +

Signed integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 414 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x3 imat3x3
+
+ +

Signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 418 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x4 imat3x4
+
+ +

Signed integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 422 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4 imat4
+
+ +

Signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 398 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x2 imat4x2
+
+ +

Signed integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 426 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x3 imat4x3
+
+ +

Signed integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 430 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x4 imat4x4
+
+ +

Signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 434 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<int, lowp> lowp_imat2
+
+ +

Low-precision signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 164 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<int, lowp> lowp_imat2x2
+
+ +

Low-precision signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 177 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3<int, lowp> lowp_imat2x3
+
+ +

Low-precision signed integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 181 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4<int, lowp> lowp_imat2x4
+
+ +

Low-precision signed integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 185 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<int, lowp> lowp_imat3
+
+ +

Low-precision signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 168 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2<int, lowp> lowp_imat3x2
+
+ +

Low-precision signed integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 189 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<int, lowp> lowp_imat3x3
+
+ +

Low-precision signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 193 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4<int, lowp> lowp_imat3x4
+
+ +

Low-precision signed integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 197 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<int, lowp> lowp_imat4
+
+ +

Low-precision signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 172 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2<int, lowp> lowp_imat4x2
+
+ +

Low-precision signed integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 201 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3<int, lowp> lowp_imat4x3
+
+ +

Low-precision signed integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 205 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<int, lowp> lowp_imat4x4
+
+ +

Low-precision signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 209 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<uint, lowp> lowp_umat2
+
+ +

Low-precision unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 313 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<uint, lowp> lowp_umat2x2
+
+ +

Low-precision unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 326 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3<uint, lowp> lowp_umat2x3
+
+ +

Low-precision unsigned integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 330 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4<uint, lowp> lowp_umat2x4
+
+ +

Low-precision unsigned integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 334 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<uint, lowp> lowp_umat3
+
+ +

Low-precision unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 317 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2<uint, lowp> lowp_umat3x2
+
+ +

Low-precision unsigned integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 338 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<uint, lowp> lowp_umat3x3
+
+ +

Low-precision unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 342 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4<uint, lowp> lowp_umat3x4
+
+ +

Low-precision unsigned integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 346 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<uint, lowp> lowp_umat4
+
+ +

Low-precision unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 321 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2<uint, lowp> lowp_umat4x2
+
+ +

Low-precision unsigned integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 350 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3<uint, lowp> lowp_umat4x3
+
+ +

Low-precision unsigned integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 354 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<uint, lowp> lowp_umat4x4
+
+ +

Low-precision unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 358 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<int, mediump> mediump_imat2
+
+ +

Medium-precision signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 114 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<int, mediump> mediump_imat2x2
+
+ +

Medium-precision signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 127 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3<int, mediump> mediump_imat2x3
+
+ +

Medium-precision signed integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 131 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4<int, mediump> mediump_imat2x4
+
+ +

Medium-precision signed integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 135 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<int, mediump> mediump_imat3
+
+ +

Medium-precision signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 118 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2<int, mediump> mediump_imat3x2
+
+ +

Medium-precision signed integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 139 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<int, mediump> mediump_imat3x3
+
+ +

Medium-precision signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 143 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4<int, mediump> mediump_imat3x4
+
+ +

Medium-precision signed integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 147 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<int, mediump> mediump_imat4
+
+ +

Medium-precision signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 122 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2<int, mediump> mediump_imat4x2
+
+ +

Medium-precision signed integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 151 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3<int, mediump> mediump_imat4x3
+
+ +

Medium-precision signed integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 155 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<int, mediump> mediump_imat4x4
+
+ +

Medium-precision signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 159 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<uint, mediump> mediump_umat2
+
+ +

Medium-precision unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 263 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2<uint, mediump> mediump_umat2x2
+
+ +

Medium-precision unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 276 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3<uint, mediump> mediump_umat2x3
+
+ +

Medium-precision unsigned integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 280 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4<uint, mediump> mediump_umat2x4
+
+ +

Medium-precision unsigned integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 284 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<uint, mediump> mediump_umat3
+
+ +

Medium-precision unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 267 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2<uint, mediump> mediump_umat3x2
+
+ +

Medium-precision unsigned integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 288 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3<uint, mediump> mediump_umat3x3
+
+ +

Medium-precision unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 292 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4<uint, mediump> mediump_umat3x4
+
+ +

Medium-precision unsigned integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 296 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<uint, mediump> mediump_umat4
+
+ +

Medium-precision unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 271 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2<uint, mediump> mediump_umat4x2
+
+ +

Medium-precision unsigned integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 300 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3<uint, mediump> mediump_umat4x3
+
+ +

Medium-precision unsigned integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 304 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4<uint, mediump> mediump_umat4x4
+
+ +

Medium-precision unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 308 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2 umat2
+
+ +

Unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 467 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x2 umat2x2
+
+ +

Unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 479 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x3 umat2x3
+
+ +

Unsigned integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 483 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x4 umat2x4
+
+ +

Unsigned integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 487 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3 umat3
+
+ +

Unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 471 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x2 umat3x2
+
+ +

Unsigned integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 491 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x3 umat3x3
+
+ +

Unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 495 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x4 umat3x4
+
+ +

Unsigned integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 499 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4 umat4
+
+ +

Unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 475 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x2 umat4x2
+
+ +

Unsigned integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 503 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x3 umat4x3
+
+ +

Unsigned integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 507 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x4 umat4x4
+
+ +

Unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 511 of file matrix_integer.hpp.

@@ -130,7 +1879,7 @@ Functions
-
0.9.6 +
+
0.9.7
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float s)
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float v)
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 p)
 
template<typename genType >
GLM_FUNC_DECL genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 

Detailed Description

-

This extension provides a set of function to convert vertors to packed formats.

-

<glm/gtc/packing.hpp> need to be included to use these features.

+

Defines additional matrix inverting functions.

+

<glm/gtc/matrix_inverse.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL uint32 glm::packF2x11_1x10 GLM_FUNC_DECL genType glm::affineInverse (vec3 const & v)genType const & m)
-

First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values.

-

Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. Then, the results are packed into the returned 32-bit unsigned integer.

-

The first vector component specifies the 11 least-significant bits of the result; the last component specifies the 10 most-significant bits.

-
See also
GLM_GTC_packing
-
-vec3 unpackF2x11_1x10(uint32 const & p)
+

Fast matrix inverse for affine matrix.

+
Parameters
+ + +
mInput matrix to invert.
+
+
+
Template Parameters
+ + +
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
+
+
+
See also
GLM_GTC_matrix_inverse
- +
- + - - + +
GLM_FUNC_DECL uint16 glm::packHalf1x16 GLM_FUNC_DECL genType glm::inverseTranspose (float v)genType const & m)
-

Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 16-bit floating-point representation found in the OpenGL Specification, and then packing this 16-bit value into a 16-bit unsigned integer.

-
See also
GLM_GTC_packing
-
-uint32 packHalf2x16(vec2 const & v)
-
-uint64 packHalf4x16(vec4 const & v)
-
-GLSL packHalf2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint64 glm::packHalf4x16 (vec4 const & v)
-
- -

Returns an unsigned integer obtained by converting the components of a four-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these four 16-bit values into a 64-bit unsigned integer.

-

The first vector component specifies the 16 least-significant bits of the result; the forth component specifies the 16 most-significant bits.

-
See also
GLM_GTC_packing
-
-uint16 packHalf1x16(float const & v)
-
-uint32 packHalf2x16(vec2 const & v)
-
-GLSL packHalf2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint32 glm::packI3x10_1x2 (ivec4 const & v)
-
- -

Returns an unsigned integer obtained by converting the components of a four-component signed integer vector to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer.

-

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

-
See also
GLM_GTC_packing
-
-uint32 packI3x10_1x2(uvec4 const & v)
-
-uint32 packSnorm3x10_1x2(vec4 const & v)
-
-uint32 packUnorm3x10_1x2(vec4 const & v)
-
-ivec4 unpackI3x10_1x2(uint32 const & p)
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint16 glm::packSnorm1x16 (float v)
-
- -

First, converts the normalized floating-point value v into 16-bit integer value.

-

Then, the results are packed into the returned 16-bit unsigned integer.

-

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 32767.0)

-
See also
GLM_GTC_packing
-
-uint32 packSnorm2x16(vec2 const & v)
-
-uint64 packSnorm4x16(vec4 const & v)
-
-GLSL packSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint8 glm::packSnorm1x8 (float s)
-
- -

First, converts the normalized floating-point value v into 8-bit integer value.

-

Then, the results are packed into the returned 8-bit unsigned integer.

-

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 127.0)

-
See also
GLM_GTC_packing
-
-uint16 packSnorm2x8(vec2 const & v)
-
-uint32 packSnorm4x8(vec4 const & v)
-
-GLSL packSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint16 glm::packSnorm2x8 (vec2 const & v)
-
- -

First, converts each component of the normalized floating-point value v into 8-bit integer values.

-

Then, the results are packed into the returned 16-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 127.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See also
GLM_GTC_packing
-
-uint8 packSnorm1x8(float const & v)
-
-uint32 packSnorm4x8(vec4 const & v)
-
-GLSL packSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint32 glm::packSnorm3x10_1x2 (vec4 const & v)
-
- -

First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values.

-

Then, converts the forth component of the normalized floating-point value v into 2-bit signed integer values. Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packSnorm3x10_1x2(xyz): round(clamp(c, -1, +1) * 511.0) packSnorm3x10_1x2(w): round(clamp(c, -1, +1) * 1.0)

-

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

-
See also
GLM_GTC_packing
-
-vec4 unpackSnorm3x10_1x2(uint32 const & p)
-
-uint32 packUnorm3x10_1x2(vec4 const & v)
-
-uint32 packU3x10_1x2(uvec4 const & v)
-
-uint32 packI3x10_1x2(ivec4 const & v)
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint64 glm::packSnorm4x16 (vec4 const & v)
-
- -

First, converts each component of the normalized floating-point value v into 16-bit integer values.

-

Then, the results are packed into the returned 64-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 32767.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See also
GLM_GTC_packing
-
-uint16 packSnorm1x16(float const & v)
-
-uint32 packSnorm2x16(vec2 const & v)
-
-GLSL packSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint32 glm::packU3x10_1x2 (uvec4 const & v)
-
- -

Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer.

-

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

-
See also
GLM_GTC_packing
-
-uint32 packI3x10_1x2(ivec4 const & v)
-
-uint32 packSnorm3x10_1x2(vec4 const & v)
-
-uint32 packUnorm3x10_1x2(vec4 const & v)
-
-ivec4 unpackU3x10_1x2(uint32 const & p)
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint16 glm::packUnorm1x16 (float v)
-
- -

First, converts the normalized floating-point value v into a 16-bit integer value.

-

Then, the results are packed into the returned 16-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm1x16: round(clamp(c, 0, +1) * 65535.0)

-
See also
GLM_GTC_packing
-
-uint16 packSnorm1x16(float const & v)
-
-uint64 packSnorm4x16(vec4 const & v)
-
-GLSL packUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint8 glm::packUnorm1x8 (float v)
-
- -

First, converts the normalized floating-point value v into a 8-bit integer value.

-

Then, the results are packed into the returned 8-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm1x8: round(clamp(c, 0, +1) * 255.0)

-
See also
GLM_GTC_packing
-
-uint16 packUnorm2x8(vec2 const & v)
-
-uint32 packUnorm4x8(vec4 const & v)
-
-GLSL packUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint16 glm::packUnorm2x8 (vec2 const & v)
-
- -

First, converts each component of the normalized floating-point value v into 8-bit integer values.

-

Then, the results are packed into the returned 16-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm2x8: round(clamp(c, 0, +1) * 255.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See also
GLM_GTC_packing
-
-uint8 packUnorm1x8(float const & v)
-
-uint32 packUnorm4x8(vec4 const & v)
-
-GLSL packUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint32 glm::packUnorm3x10_1x2 (vec4 const & v)
-
- -

First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values.

-

Then, converts the forth component of the normalized floating-point value v into 2-bit signed uninteger values. Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm3x10_1x2(xyz): round(clamp(c, 0, +1) * 1023.0) packUnorm3x10_1x2(w): round(clamp(c, 0, +1) * 3.0)

-

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

-
See also
GLM_GTC_packing
-
-vec4 unpackUnorm3x10_1x2(uint32 const & p)
-
-uint32 packUnorm3x10_1x2(vec4 const & v)
-
-uint32 packU3x10_1x2(uvec4 const & v)
-
-uint32 packI3x10_1x2(ivec4 const & v)
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint64 glm::packUnorm4x16 (vec4 const & v)
-
- -

First, converts each component of the normalized floating-point value v into 16-bit integer values.

-

Then, the results are packed into the returned 64-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm4x16: round(clamp(c, 0, +1) * 65535.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See also
GLM_GTC_packing
-
-uint16 packUnorm1x16(float const & v)
-
-uint32 packUnorm2x16(vec2 const & v)
-
-GLSL packUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec3 glm::unpackF2x11_1x10 (uint32 p)
-
- -

First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value .

-

Then, each component is converted to a normalized floating-point value to generate the returned three-component vector.

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-uint32 packF2x11_1x10(vec3 const & v)
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL float glm::unpackHalf1x16 (uint16 v)
-
- -

Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, interpreted as a 16-bit floating-point number according to the OpenGL Specification, and converting it to 32-bit floating-point values.

-
See also
GLM_GTC_packing
-
-vec2 unpackHalf2x16(uint32 const & v)
-
-vec4 unpackHalf4x16(uint64 const & v)
-
-GLSL unpackHalf2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec4 glm::unpackHalf4x16 (uint64 p)
-
- -

Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

-

The first component of the vector is obtained from the 16 least-significant bits of v; the forth component is obtained from the 16 most-significant bits of v.

-
See also
GLM_GTC_packing
-
-float unpackHalf1x16(uint16 const & v)
-
-vec2 unpackHalf2x16(uint32 const & v)
-
-GLSL unpackHalf2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL ivec4 glm::unpackI3x10_1x2 (uint32 p)
-
- -

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers.

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-uint32 packU3x10_1x2(uvec4 const & v)
-
-vec4 unpackSnorm3x10_1x2(uint32 const & p);
-
-uvec4 unpackI3x10_1x2(uint32 const & p);
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL float glm::unpackSnorm1x16 (uint16 p)
-
- -

First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned scalar.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x16: clamp(f / 32767.0, -1, +1)

-
See also
GLM_GTC_packing
-
-vec2 unpackSnorm2x16(uint32 p)
-
-vec4 unpackSnorm4x16(uint64 p)
-
-GLSL unpackSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL float glm::unpackSnorm1x8 (uint8 p)
-
- -

First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.

-

Then, the value is converted to a normalized floating-point value to generate the returned scalar.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x8: clamp(f / 127.0, -1, +1)

-
See also
GLM_GTC_packing
-
-vec2 unpackSnorm2x8(uint16 p)
-
-vec4 unpackSnorm4x8(uint32 p)
-
-GLSL unpackSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec2 glm::unpackSnorm2x8 (uint16 p)
-
- -

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x8: clamp(f / 127.0, -1, +1)

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-float unpackSnorm1x8(uint8 p)
-
-vec4 unpackSnorm4x8(uint32 p)
-
-GLSL unpackSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec4 glm::unpackSnorm3x10_1x2 (uint32 p)
-
- -

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 511.0, -1, +1) unpackSnorm3x10_1x2(w): clamp(f / 511.0, -1, +1)

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-uint32 packSnorm3x10_1x2(vec4 const & v)
-
-vec4 unpackUnorm3x10_1x2(uint32 const & p))
-
-uvec4 unpackI3x10_1x2(uint32 const & p)
-
-uvec4 unpackU3x10_1x2(uint32 const & p)
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec4 glm::unpackSnorm4x16 (uint64 const & p)
-
- -

First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x16: clamp(f / 32767.0, -1, +1)

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-float unpackSnorm1x16(uint16 p)
-
-vec2 unpackSnorm2x16(uint32 p)
-
-GLSL unpackSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uvec4 glm::unpackU3x10_1x2 (uint32 p)
-
- -

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers.

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-uint32 packU3x10_1x2(uvec4 const & v)
-
-vec4 unpackSnorm3x10_1x2(uint32 const & p);
-
-uvec4 unpackI3x10_1x2(uint32 const & p);
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL float glm::unpackUnorm1x16 (uint16 p)
-
- -

First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.

-

Then, the value is converted to a normalized floating-point value to generate the returned scalar.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm1x16: f / 65535.0

-
See also
GLM_GTC_packing
-
-vec2 unpackUnorm2x16(uint32 p)
-
-vec4 unpackUnorm4x16(uint64 p)
-
-GLSL unpackUnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL float glm::unpackUnorm1x8 (uint8 p)
-
- -

Convert a single 8-bit integer to a normalized floating-point value.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

-
See also
GLM_GTC_packing
-
-vec2 unpackUnorm2x8(uint16 p)
-
-vec4 unpackUnorm4x8(uint32 p)
-
-GLSL unpackUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec2 glm::unpackUnorm2x8 (uint16 p)
-
- -

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-float unpackUnorm1x8(uint8 v)
-
-vec4 unpackUnorm4x8(uint32 p)
-
-GLSL unpackUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec4 glm::unpackUnorm3x10_1x2 (uint32 p)
-
- -

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 1023.0, 0, +1) unpackSnorm3x10_1x2(w): clamp(f / 3.0, 0, +1)

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-uint32 packSnorm3x10_1x2(vec4 const & v)
-
-vec4 unpackInorm3x10_1x2(uint32 const & p))
-
-uvec4 unpackI3x10_1x2(uint32 const & p)
-
-uvec4 unpackU3x10_1x2(uint32 const & p)
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vec4 glm::unpackUnorm4x16 (uint64 p)
-
- -

First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnormx4x16: f / 65535.0

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See also
GLM_GTC_packing
-
-float unpackUnorm1x16(uint16 p)
-
-vec2 unpackUnorm2x16(uint32 p)
-
-GLSL unpackUnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+

Compute the inverse transpose of a matrix.

+
Parameters
+ + +
mInput matrix to invert transpose.
+
+
+
Template Parameters
+ + +
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
+
+
+
See also
GLM_GTC_matrix_inverse
@@ -970,7 +123,7 @@ vec2 unpackUnorm2x16(uint32 p) diff --git a/doc/api/a00174.html b/doc/api/a00174.html index edb47794..4aba0cce 100644 --- a/doc/api/a00174.html +++ b/doc/api/a00174.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_quaternion + +0.9.7: GLM_GTC_matrix_transform @@ -17,8 +17,8 @@
-
0.9.6 +
+
0.9.7
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL T angle (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > angleAxis (T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > axis (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > conjugate (tquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T dot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > equal (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > eulerAngles (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > inverse (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > lerp (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > mix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > normalize (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > notEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotate (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > slerp (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (tquat< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > frustum (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > infinitePerspective (T fovy, T aspect, T near)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAt (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAtLH (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAtRH (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > ortho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspective (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFov (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFovLH (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFovRH (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveLH (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveRH (T fovy, T aspect, T near, T far)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL tmat4x4< T, P > pickMatrix (tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > project (tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > unProject (tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 

Detailed Description

-

Defines a templated quaternion type and several quaternion operations.

-

<glm/gtc/quaternion.hpp> need to be included to use these functionalities.

+

Defines functions that generate common transformation matrices.

+

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

+

<glm/gtc/matrix_transform.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::angle GLM_FUNC_DECL tmat4x4<T, defaultp> glm::frustum (tquat< T, P > const & x)left,
right,
bottom,
top,
near,
far 
)
-

Returns the quaternion rotation angle.

-
See also
GLM_GTC_quaternion
+

Creates a frustum matrix.

+
Parameters
+ + + + + + + +
left
right
bottom
top
near
far
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
- +
- + - - + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::angleAxis GLM_FUNC_DECL tmat4x4<T, defaultp> glm::infinitePerspective (T const & angle, fovy,
aspect,
near 
)
+
+ +

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.

+
Parameters
+ + + + +
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + - + + + + + + + @@ -171,496 +263,42 @@ Functions
GLM_FUNC_DECL tmat4x4<T, P> glm::lookAt (tvec3< T, P > const & eye,
tvec3< T, P > const & axis center,
tvec3< T, P > const & up 
-

Build a quaternion from an angle and a normalized axis.

+

Build a look at view matrix based on the default handedness.

Parameters
- - + + +
angleAngle expressed in radians.
axisAxis of the quaternion, must be normalized.
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::axis (tquat< T, P > const & x)
-
- -

Returns the q rotation axis.

-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::conjugate (tquat< T, P > const & q)
-
- -

Returns the q conjugate.

-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::dot (quatType< T, P > const & x,
quatType< T, P > const & y 
)
-
- -

Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...

-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<bool, P> glm::equal (tquat< T, P > const & x,
tquat< T, P > const & y 
)
-
- -

Returns the component-wise comparison of result x == y.

-
Template Parameters
- - -
quatTypeFloating-point quaternion types.
-
-
-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::eulerAngles (tquat< T, P > const & x)
-
- -

Returns euler angles, yitch as x, yaw as y, roll as z.

-

The result is expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<bool, P> glm::greaterThan (tquat< T, P > const & x,
tquat< T, P > const & y 
)
-
- -

Returns the component-wise comparison of result x > y.

-
Template Parameters
- - -
quatTypeFloating-point quaternion types.
-
-
-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<bool, P> glm::greaterThanEqual (tquat< T, P > const & x,
tquat< T, P > const & y 
)
-
- -

Returns the component-wise comparison of result x >= y.

-
Template Parameters
- - -
quatTypeFloating-point quaternion types.
-
-
-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::inverse (tquat< T, P > const & q)
-
- -

Returns the q inverse.

-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::length (tquat< T, P > const & q)
-
- -

Returns the length of the quaternion.

-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::lerp (tquat< T, P > const & x,
tquat< T, P > const & y,
T const & a 
)
-
- -

Linear interpolation of two quaternions.

-

The interpolation is oriented.

-
Parameters
- - - - -
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined in the range [0, 1].
-
-
-
Template Parameters
- - -
TValue type used to build the quaternion. Supported: half, float or double.
-
-
-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<bool, P> glm::lessThan (tquat< T, P > const & x,
tquat< T, P > const & y 
)
-
- -

Returns the component-wise comparison result of x < y.

-
Template Parameters
- - -
quatTypeFloating-point quaternion types.
-
-
-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<bool, P> glm::lessThanEqual (tquat< T, P > const & x,
tquat< T, P > const & y 
)
-
- -

Returns the component-wise comparison of result x <= y.

-
Template Parameters
- - -
quatTypeFloating-point quaternion types.
-
-
-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, P> glm::mat3_cast (tquat< T, P > const & x)
-
- -

Converts a quaternion to a 3 * 3 matrix.

-
See also
GLM_GTC_quaternion
- -

Referenced by glm::toMat3().

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::mat4_cast (tquat< T, P > const & x)
-
- -

Converts a quaternion to a 4 * 4 matrix.

-
See also
GLM_GTC_quaternion
- -

Referenced by glm::toMat4().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::mix (tquat< T, P > const & x,
tquat< T, P > const & y,
T const & a 
)
-
- -

Spherical linear interpolation of two quaternions.

-

The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.

-
Parameters
- - - - -
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
-
-
-
Template Parameters
- - -
TValue type used to build the quaternion. Supported: half, float or double.
-
-
-
See also
GLM_GTC_quaternion
+
See also
GLM_GTC_matrix_transform
-- slerp(tquat<T, P> const & x, tquat<T, P> const & y, T const & a)
+- frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal) frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal)
- +
- + - - - - -
GLM_FUNC_DECL tquat<T, P> glm::normalize GLM_FUNC_DECL tmat4x4<T, P> glm::lookAtLH (tquat< T, P > const & q)
-
- -

Returns the normalized quaternion.

-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - + + - - + + + + + + + + @@ -670,109 +308,675 @@ Functions
GLM_FUNC_DECL tvec4<bool, P> glm::notEqual (tquat< T, P > const & x, tvec3< T, P > const & eye,
tquat< T, P > const & y tvec3< T, P > const & center,
tvec3< T, P > const & up 
-

Returns the component-wise comparison of result x != y.

-
Template Parameters
- - +

Build a left handed look at view matrix.

+
Parameters
+
quatTypeFloating-point quaternion types.
+ + +
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
-
See also
GLM_GTC_quaternion
+
See also
GLM_GTC_matrix_transform
+
+- frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal) frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal)
- +
- + - - + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::pitch GLM_FUNC_DECL tmat4x4<T, P> glm::lookAtRH (tquat< T, P > const & x)tvec3< T, P > const & eye,
tvec3< T, P > const & center,
tvec3< T, P > const & up 
)
-

Returns pitch value of euler angles expressed in radians.

-
See also
GLM_GTX_quaternion
+

Build a right handed look at view matrix.

+
Parameters
+ + + + +
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
+
+
+
See also
GLM_GTC_matrix_transform
+
+- frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal) frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal)
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::quat_cast GLM_FUNC_DECL tmat4x4<T, defaultp> glm::ortho (tmat3x3< T, P > const & x)left,
right,
bottom,
top,
zNear,
zFar 
)
-

Converts a 3 * 3 matrix to a quaternion.

-
See also
GLM_GTC_quaternion
- -

Referenced by glm::toQuat().

+

Creates a matrix for an orthographic parallel viewing volume.

+
Parameters
+ + + + + + + +
left
right
bottom
top
zNear
zFar
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+
+- glm::ortho(T const & left, T const & right, T const & bottom, T const & top)
- +
- + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::quat_cast GLM_FUNC_DECL tmat4x4<T, defaultp> glm::ortho (left,
right,
bottom,
top 
)
+
+ +

Creates a matrix for projecting two-dimensional coordinates onto the screen.

+
Parameters
+ + + + + +
left
right
bottom
top
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+
+- glm::ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::perspective (fovy,
aspect,
near,
far 
)
+
+ +

Creates a matrix for a symetric perspective-view frustum based on the default handedness.

+
Parameters
+ + + + + +
fovySpecifies the field of view angle in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::perspectiveFov (fov,
width,
height,
near,
far 
)
+
+ +

Builds a perspective projection matrix based on a field of view and the default handedness.

+
Parameters
+ + + + + + +
fovExpressed in radians.
width
height
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::perspectiveFovLH (fov,
width,
height,
near,
far 
)
+
+ +

Builds a left handed perspective projection matrix based on a field of view.

+
Parameters
+ + + + + + +
fovExpressed in radians.
width
height
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::perspectiveFovRH (fov,
width,
height,
near,
far 
)
+
+ +

Builds a right handed perspective projection matrix based on a field of view.

+
Parameters
+ + + + + + +
fovExpressed in radians.
width
height
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::perspectiveLH (fovy,
aspect,
near,
far 
)
+
+ +

Creates a matrix for a left handed, symetric perspective-view frustum.

+
Parameters
+ + + + + +
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::perspectiveRH (fovy,
aspect,
near,
far 
)
+
+ +

Creates a matrix for a right handed, symetric perspective-view frustum.

+
Parameters
+ + + + + +
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::pickMatrix (tvec2< T, P > const & center,
tvec2< T, P > const & delta,
tvec4< U, P > const & viewport 
)
+
+ +

Define a picking region.

+
Parameters
+ + + + +
center
delta
viewport
+
+
+
Template Parameters
+ + + +
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::project (tvec3< T, P > const & obj,
tmat4x4< T, P > const & model,
tmat4x4< T, P > const & proj,
tvec4< U, P > const & viewport 
)
+
+ +

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

+
Parameters
+ + + + + +
objSpecify the object coordinates.
modelSpecifies the current modelview matrix
projSpecifies the current projection matrix
viewportSpecifies the current viewport
+
+
+
Returns
Return the computed window coordinates.
+
Template Parameters
+ + + +
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::rotate ( tmat4x4< T, P > const & x)
-
- -

Converts a 4 * 4 matrix to a quaternion.

-
See also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::roll (tquat< T, P > const & x)
-
- -

Returns roll value of euler angles expressed in radians.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - + - + @@ -789,40 +993,44 @@ Functions
GLM_FUNC_DECL tquat<T, P> glm::rotate (tquat< T, P > const & q, m,
T const &  angle,
-

Rotates a quaternion from a vector of 3 components axis and an angle.

+

Builds a rotation 4 * 4 matrix created from an axis vector and an angle.

Parameters
- - - + + +
qSource orientation
angleAngle expressed in radians.
axisAxis of the rotation
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians.
axisRotation axis, recommended to be normalized.
-
See also
GLM_GTC_quaternion
+
Template Parameters
+ + +
TValue type used to build the matrix. Supported: half, float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+
+- rotate(tmat4x4<T, P> const & m, T angle, T x, T y, T z)
+
+- rotate(T angle, tvec3<T, P> const & v)
- +
- + - - + + - - - - - - - - + + @@ -832,47 +1040,242 @@ Functions
GLM_FUNC_DECL tquat<T, P> glm::slerp GLM_FUNC_DECL tmat4x4<T, P> glm::scale (tquat< T, P > const & x, tmat4x4< T, P > const & m,
tquat< T, P > const & y,
T const & a tvec3< T, P > const & v 
-

Spherical linear interpolation of two quaternions.

-

The interpolation always take the short path and the rotation is performed at constant speed.

+

Builds a scale 4 * 4 matrix created from 3 scalars.

Parameters
- - - + +
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
mInput matrix multiplied by this scale matrix.
vRatio of scaling for each axis.
Template Parameters
- +
TValue type used to build the quaternion. Supported: half, float or double.
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
See also
GLM_GTC_quaternion
-

Spherical linear interpolation of two quaternions.

- -

Definition at line 76 of file compatibility.hpp.

- -

References glm::mix().

+
See also
GLM_GTC_matrix_transform
+
+- scale(tmat4x4<T, P> const & m, T x, T y, T z)
+
+- scale(tvec3<T, P> const & v)
- +
- + - - + + + + + + + + + + + +
GLM_FUNC_DECL T glm::yaw GLM_FUNC_DECL tmat4x4<T, P> glm::translate (tquat< T, P > const & x)tmat4x4< T, P > const & m,
tvec3< T, P > const & v 
)
-

Returns yaw value of euler angles expressed in radians.

-
See also
GLM_GTX_quaternion
+

Builds a translation 4 * 4 matrix created from a vector of 3 components.

+
Parameters
+ + + +
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
#include <glm/glm.hpp>
+ +
...
+
glm::mat4 m = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f));
+
// m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f
+
// m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f
+
// m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f
+
// m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f
+
+
+
+
See also
GLM_GTC_matrix_transform
+
+- translate(tmat4x4<T, P> const & m, T x, T y, T z)
+
+- translate(tvec3<T, P> const & v)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::tweakedInfinitePerspective (fovy,
aspect,
near 
)
+
+ +

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

+
Parameters
+ + + + +
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::tweakedInfinitePerspective (fovy,
aspect,
near,
ep 
)
+
+ +

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

+
Parameters
+ + + + + +
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
ep
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::unProject (tvec3< T, P > const & win,
tmat4x4< T, P > const & model,
tmat4x4< T, P > const & proj,
tvec4< U, P > const & viewport 
)
+
+ +

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

+
Parameters
+ + + + + +
winSpecify the window coordinates to be mapped.
modelSpecifies the modelview matrix
projSpecifies the projection matrix
viewportSpecifies the viewport
+
+
+
Returns
Returns the computed object coordinates.
+
Template Parameters
+ + + +
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
+
+
+
See also
GLM_GTC_matrix_transform
@@ -881,7 +1284,7 @@ Functions
-
0.9.6 +
+
0.9.7
- +
- - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > ballRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > circularRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > diskRand (T Radius)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 
template<typename genTYpe >
GLM_FUNC_DECL genTYpe linearRand (genTYpe Min, genTYpe Max)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > sphericalRand (T Radius)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T simplex (vecType< T, P > const &p)
 

Detailed Description

-

Generate random number from various distribution methods.

-

<glm/gtc/random.hpp> need to be included to use these functionalities.

+

Defines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": https://github.com/ashima/webgl-noise Following Stefan Gustavson's paper "Simplex noise demystified": http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf <glm/gtc/noise.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL tvec3<T, defaultp> glm::ballRand GLM_FUNC_DECL T glm::perlin (Radius)vecType< T, P > const & p)
-

Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius.

-
Parameters
- - -
Radius
-
-
-
See also
GLM_GTC_random
+

Classic perlin noise.

+
See also
GLM_GTC_noise
- +
- + - - - - -
GLM_FUNC_DECL tvec2<T, defaultp> glm::circularRand GLM_FUNC_DECL T glm::perlin (Radius)
-
- -

Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius.

-
Parameters
- - -
Radius
-
-
-
See also
GLM_GTC_random
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tvec2<T, defaultp> glm::diskRand (Radius)
-
- -

Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius.

-
Parameters
- - -
Radius
-
-
-
See also
GLM_GTC_random
- -
-
- -
-
- - - - - - + + - - + + @@ -167,82 +101,27 @@ Functions
GLM_FUNC_DECL genType glm::gaussRand (genType Mean, vecType< T, P > const & p,
genType Deviation vecType< T, P > const & rep 
-

Generate random numbers in the interval [Min, Max], according a gaussian distribution.

-
Parameters
- - - -
Mean
Deviation
-
-
-
See also
GLM_GTC_random
+

Periodic perlin noise.

+
See also
GLM_GTC_noise
- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL genTYpe glm::linearRand GLM_FUNC_DECL T glm::simplex (genTYpe Min,
genTYpe Max 
)
-
- -

Generate random numbers in the interval [Min, Max], according a linear distribution.

-
Parameters
- - - -
Min
Max
-
-
-
Template Parameters
- - -
genTypeValue type. Currently supported: half (not recommanded), float or double scalars and vectors.
-
-
-
See also
GLM_GTC_random
- -
-
- -
-
- - - - - - + +
GLM_FUNC_DECL tvec3<T, defaultp> glm::sphericalRand (Radius)vecType< T, P > const & p)
-

Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius.

-
Parameters
- - -
Radius
-
-
-
See also
GLM_GTC_random
+

Simplex noise.

+
See also
GLM_GTC_noise
@@ -251,7 +130,7 @@ Functions diff --git a/doc/api/a00176.html b/doc/api/a00176.html index 8455d1e1..9e3287c0 100644 --- a/doc/api/a00176.html +++ b/doc/api/a00176.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_reciprocal + +0.9.7: GLM_GTC_packing @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType acot (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 
GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float s)
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float v)
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 p)
 

Detailed Description

-

Define secant, cosecant and cotangent functions.

-

<glm/gtc/reciprocal.hpp> need to be included to use these features.

+

This extension provides a set of function to convert vertors to packed formats.

+

<glm/gtc/packing.hpp> need to be included to use these features.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL genType glm::acot GLM_FUNC_DECL uint32 glm::packF2x11_1x10 (genType const & x)vec3 const & v)
-

Inverse cotangent function.

-
See also
GLM_GTC_reciprocal
+

First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values.

+

Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. Then, the results are packed into the returned 32-bit unsigned integer.

+

The first vector component specifies the 11 least-significant bits of the result; the last component specifies the 10 most-significant bits.

+
See also
GLM_GTC_packing
+
+vec3 unpackF2x11_1x10(uint32 const & p)
- +
- + - - + +
GLM_FUNC_DECL genType glm::acoth GLM_FUNC_DECL uint16 glm::packHalf1x16 (genType const & x)float v)
-

Inverse cotangent hyperbolic function.

-
See also
GLM_GTC_reciprocal
+

Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 16-bit floating-point representation found in the OpenGL Specification, and then packing this 16-bit value into a 16-bit unsigned integer.

+
See also
GLM_GTC_packing
+
+uint32 packHalf2x16(vec2 const & v)
+
+uint64 packHalf4x16(vec4 const & v)
+
+GLSL packHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::acsc GLM_FUNC_DECL uint64 glm::packHalf4x16 (genType const & x)vec4 const & v)
-

Inverse cosecant function.

-
See also
GLM_GTC_reciprocal
+

Returns an unsigned integer obtained by converting the components of a four-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these four 16-bit values into a 64-bit unsigned integer.

+

The first vector component specifies the 16 least-significant bits of the result; the forth component specifies the 16 most-significant bits.

+
See also
GLM_GTC_packing
+
+uint16 packHalf1x16(float const & v)
+
+uint32 packHalf2x16(vec2 const & v)
+
+GLSL packHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::acsch GLM_FUNC_DECL uint32 glm::packI3x10_1x2 (genType const & x)ivec4 const & v)
-

Inverse cosecant hyperbolic function.

-
See also
GLM_GTC_reciprocal
+

Returns an unsigned integer obtained by converting the components of a four-component signed integer vector to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer.

+

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

+
See also
GLM_GTC_packing
+
+uint32 packI3x10_1x2(uvec4 const & v)
+
+uint32 packSnorm3x10_1x2(vec4 const & v)
+
+uint32 packUnorm3x10_1x2(vec4 const & v)
+
+ivec4 unpackI3x10_1x2(uint32 const & p)
- +
- + - - + +
GLM_FUNC_DECL genType glm::asec GLM_FUNC_DECL uint16 glm::packSnorm1x16 (genType const & x)float v)
-

Inverse secant function.

-
See also
GLM_GTC_reciprocal
+

First, converts the normalized floating-point value v into 16-bit integer value.

+

Then, the results are packed into the returned 16-bit unsigned integer.

+

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 32767.0)

+
See also
GLM_GTC_packing
+
+uint32 packSnorm2x16(vec2 const & v)
+
+uint64 packSnorm4x16(vec4 const & v)
+
+GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::asech GLM_FUNC_DECL uint8 glm::packSnorm1x8 (genType const & x)float s)
-

Inverse secant hyperbolic function.

-
See also
GLM_GTC_reciprocal
+

First, converts the normalized floating-point value v into 8-bit integer value.

+

Then, the results are packed into the returned 8-bit unsigned integer.

+

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 127.0)

+
See also
GLM_GTC_packing
+
+uint16 packSnorm2x8(vec2 const & v)
+
+uint32 packSnorm4x8(vec4 const & v)
+
+GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::cot GLM_FUNC_DECL uint16 glm::packSnorm2x8 (genType const & angle)vec2 const & v)
-

Cotangent function.

-

adjacent / opposite or 1 / tan(x)

-
See also
GLM_GTC_reciprocal
+

First, converts each component of the normalized floating-point value v into 8-bit integer values.

+

Then, the results are packed into the returned 16-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 127.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See also
GLM_GTC_packing
+
+uint8 packSnorm1x8(float const & v)
+
+uint32 packSnorm4x8(vec4 const & v)
+
+GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::coth GLM_FUNC_DECL uint32 glm::packSnorm3x10_1x2 (genType const & angle)vec4 const & v)
-

Cotangent hyperbolic function.

-
See also
GLM_GTC_reciprocal
+

First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values.

+

Then, converts the forth component of the normalized floating-point value v into 2-bit signed integer values. Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm3x10_1x2(xyz): round(clamp(c, -1, +1) * 511.0) packSnorm3x10_1x2(w): round(clamp(c, -1, +1) * 1.0)

+

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

+
See also
GLM_GTC_packing
+
+vec4 unpackSnorm3x10_1x2(uint32 const & p)
+
+uint32 packUnorm3x10_1x2(vec4 const & v)
+
+uint32 packU3x10_1x2(uvec4 const & v)
+
+uint32 packI3x10_1x2(ivec4 const & v)
- +
- + - - + +
GLM_FUNC_DECL genType glm::csc GLM_FUNC_DECL uint64 glm::packSnorm4x16 (genType const & angle)vec4 const & v)
-

Cosecant function.

-

hypotenuse / opposite or 1 / sin(x)

-
See also
GLM_GTC_reciprocal
+

First, converts each component of the normalized floating-point value v into 16-bit integer values.

+

Then, the results are packed into the returned 64-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 32767.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See also
GLM_GTC_packing
+
+uint16 packSnorm1x16(float const & v)
+
+uint32 packSnorm2x16(vec2 const & v)
+
+GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::csch GLM_FUNC_DECL uint32 glm::packU3x10_1x2 (genType const & angle)uvec4 const & v)
-

Cosecant hyperbolic function.

-
See also
GLM_GTC_reciprocal
+

Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer.

+

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

+
See also
GLM_GTC_packing
+
+uint32 packI3x10_1x2(ivec4 const & v)
+
+uint32 packSnorm3x10_1x2(vec4 const & v)
+
+uint32 packUnorm3x10_1x2(vec4 const & v)
+
+ivec4 unpackU3x10_1x2(uint32 const & p)
- +
- + - - + +
GLM_FUNC_DECL genType glm::sec GLM_FUNC_DECL uint16 glm::packUnorm1x16 (genType const & angle)float v)
-

Secant function.

-

hypotenuse / adjacent or 1 / cos(x)

-
See also
GLM_GTC_reciprocal
+

First, converts the normalized floating-point value v into a 16-bit integer value.

+

Then, the results are packed into the returned 16-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm1x16: round(clamp(c, 0, +1) * 65535.0)

+
See also
GLM_GTC_packing
+
+uint16 packSnorm1x16(float const & v)
+
+uint64 packSnorm4x16(vec4 const & v)
+
+GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::sech GLM_FUNC_DECL uint8 glm::packUnorm1x8 (genType const & angle)float v)
-

Secant hyperbolic function.

-
See also
GLM_GTC_reciprocal
+

First, converts the normalized floating-point value v into a 8-bit integer value.

+

Then, the results are packed into the returned 8-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm1x8: round(clamp(c, 0, +1) * 255.0)

+
See also
GLM_GTC_packing
+
+uint16 packUnorm2x8(vec2 const & v)
+
+uint32 packUnorm4x8(vec4 const & v)
+
+GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint16 glm::packUnorm2x8 (vec2 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8-bit integer values.

+

Then, the results are packed into the returned 16-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm2x8: round(clamp(c, 0, +1) * 255.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See also
GLM_GTC_packing
+
+uint8 packUnorm1x8(float const & v)
+
+uint32 packUnorm4x8(vec4 const & v)
+
+GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint32 glm::packUnorm3x10_1x2 (vec4 const & v)
+
+ +

First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values.

+

Then, converts the forth component of the normalized floating-point value v into 2-bit signed uninteger values. Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm3x10_1x2(xyz): round(clamp(c, 0, +1) * 1023.0) packUnorm3x10_1x2(w): round(clamp(c, 0, +1) * 3.0)

+

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

+
See also
GLM_GTC_packing
+
+vec4 unpackUnorm3x10_1x2(uint32 const & p)
+
+uint32 packUnorm3x10_1x2(vec4 const & v)
+
+uint32 packU3x10_1x2(uvec4 const & v)
+
+uint32 packI3x10_1x2(ivec4 const & v)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint64 glm::packUnorm4x16 (vec4 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 16-bit integer values.

+

Then, the results are packed into the returned 64-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm4x16: round(clamp(c, 0, +1) * 65535.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See also
GLM_GTC_packing
+
+uint16 packUnorm1x16(float const & v)
+
+uint32 packUnorm2x16(vec2 const & v)
+
+GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec3 glm::unpackF2x11_1x10 (uint32 p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value .

+

Then, each component is converted to a normalized floating-point value to generate the returned three-component vector.

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+uint32 packF2x11_1x10(vec3 const & v)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackHalf1x16 (uint16 v)
+
+ +

Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, interpreted as a 16-bit floating-point number according to the OpenGL Specification, and converting it to 32-bit floating-point values.

+
See also
GLM_GTC_packing
+
+vec2 unpackHalf2x16(uint32 const & v)
+
+vec4 unpackHalf4x16(uint64 const & v)
+
+GLSL unpackHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackHalf4x16 (uint64 p)
+
+ +

Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

+

The first component of the vector is obtained from the 16 least-significant bits of v; the forth component is obtained from the 16 most-significant bits of v.

+
See also
GLM_GTC_packing
+
+float unpackHalf1x16(uint16 const & v)
+
+vec2 unpackHalf2x16(uint32 const & v)
+
+GLSL unpackHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL ivec4 glm::unpackI3x10_1x2 (uint32 p)
+
+ +

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers.

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+uint32 packU3x10_1x2(uvec4 const & v)
+
+vec4 unpackSnorm3x10_1x2(uint32 const & p);
+
+uvec4 unpackI3x10_1x2(uint32 const & p);
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackSnorm1x16 (uint16 p)
+
+ +

First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned scalar.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x16: clamp(f / 32767.0, -1, +1)

+
See also
GLM_GTC_packing
+
+vec2 unpackSnorm2x16(uint32 p)
+
+vec4 unpackSnorm4x16(uint64 p)
+
+GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackSnorm1x8 (uint8 p)
+
+ +

First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.

+

Then, the value is converted to a normalized floating-point value to generate the returned scalar.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x8: clamp(f / 127.0, -1, +1)

+
See also
GLM_GTC_packing
+
+vec2 unpackSnorm2x8(uint16 p)
+
+vec4 unpackSnorm4x8(uint32 p)
+
+GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackSnorm2x8 (uint16 p)
+
+ +

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x8: clamp(f / 127.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+float unpackSnorm1x8(uint8 p)
+
+vec4 unpackSnorm4x8(uint32 p)
+
+GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackSnorm3x10_1x2 (uint32 p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 511.0, -1, +1) unpackSnorm3x10_1x2(w): clamp(f / 511.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+uint32 packSnorm3x10_1x2(vec4 const & v)
+
+vec4 unpackUnorm3x10_1x2(uint32 const & p))
+
+uvec4 unpackI3x10_1x2(uint32 const & p)
+
+uvec4 unpackU3x10_1x2(uint32 const & p)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackSnorm4x16 (uint64 p)
+
+ +

First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x16: clamp(f / 32767.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+float unpackSnorm1x16(uint16 p)
+
+vec2 unpackSnorm2x16(uint32 p)
+
+GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uvec4 glm::unpackU3x10_1x2 (uint32 p)
+
+ +

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers.

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+uint32 packU3x10_1x2(uvec4 const & v)
+
+vec4 unpackSnorm3x10_1x2(uint32 const & p);
+
+uvec4 unpackI3x10_1x2(uint32 const & p);
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackUnorm1x16 (uint16 p)
+
+ +

First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.

+

Then, the value is converted to a normalized floating-point value to generate the returned scalar.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm1x16: f / 65535.0

+
See also
GLM_GTC_packing
+
+vec2 unpackUnorm2x16(uint32 p)
+
+vec4 unpackUnorm4x16(uint64 p)
+
+GLSL unpackUnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackUnorm1x8 (uint8 p)
+
+ +

Convert a single 8-bit integer to a normalized floating-point value.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

+
See also
GLM_GTC_packing
+
+vec2 unpackUnorm2x8(uint16 p)
+
+vec4 unpackUnorm4x8(uint32 p)
+
+GLSL unpackUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackUnorm2x8 (uint16 p)
+
+ +

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+float unpackUnorm1x8(uint8 v)
+
+vec4 unpackUnorm4x8(uint32 p)
+
+GLSL unpackUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackUnorm3x10_1x2 (uint32 p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 1023.0, 0, +1) unpackSnorm3x10_1x2(w): clamp(f / 3.0, 0, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+uint32 packSnorm3x10_1x2(vec4 const & v)
+
+vec4 unpackInorm3x10_1x2(uint32 const & p))
+
+uvec4 unpackI3x10_1x2(uint32 const & p)
+
+uvec4 unpackU3x10_1x2(uint32 const & p)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackUnorm4x16 (uint64 p)
+
+ +

First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnormx4x16: f / 65535.0

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See also
GLM_GTC_packing
+
+float unpackUnorm1x16(uint16 p)
+
+vec2 unpackUnorm2x16(uint32 p)
+
+GLSL unpackUnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
@@ -322,7 +970,7 @@ Functions diff --git a/doc/api/a00177.html b/doc/api/a00177.html index c50e8d77..797dd884 100644 --- a/doc/api/a00177.html +++ b/doc/api/a00177.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_round + +0.9.7: GLM_GTC_quaternion @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilPowerOfTwo (vecType< T, P > const &value)
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorPowerOfTwo (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType Value, genIUType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, T Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isPowerOfTwo (vecType< T, P > const &value)
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundPowerOfTwo (vecType< T, P > const &value)
 
template<typename T , precision P>
GLM_FUNC_DECL T angle (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > angleAxis (T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > axis (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > conjugate (tquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T dot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > equal (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > eulerAngles (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > inverse (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > lerp (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > mix (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > normalize (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > notEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotate (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > slerp (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (tquat< T, P > const &x)
 

Detailed Description

-

rounding value to specific boundings

-

<glm/gtc/round.hpp> need to be included to use these functionalities.

+

Defines a templated quaternion type and several quaternion operations.

+

<glm/gtc/quaternion.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + +
GLM_FUNC_DECL genType glm::ceilMultiple GLM_FUNC_DECL T glm::angle (genType Source, tquat< T, P > const & x)
+
+ +

Returns the quaternion rotation angle.

+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + - - + + @@ -125,39 +171,71 @@ Functions
GLM_FUNC_DECL tquat<T, P> glm::angleAxis (T const & angle,
genType Multiple tvec3< T, P > const & axis 
-

Higher multiple number of Source.

-
Template Parameters
- - -
genTypeFloating-point or integer scalar or vector types.
-
-
+

Build a quaternion from an angle and a normalized axis.

Parameters
- - + +
Source
MultipleMust be a null or positive value
angleAngle expressed in radians.
axisAxis of the quaternion, must be normalized.
-
See also
GLM_GTC_round
+
See also
GLM_GTC_quaternion
- +
- + - - + + + + +
GLM_FUNC_DECL vecType<T, P> glm::ceilMultiple GLM_FUNC_DECL tvec3<T, P> glm::axis (vecType< T, P > const & Source, tquat< T, P > const & x)
+
+ +

Returns the q rotation axis.

+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::conjugate (tquat< T, P > const & q)
+
+ +

Returns the q conjugate.

+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + - - + + @@ -167,77 +245,81 @@ Functions
GLM_FUNC_DECL T glm::dot (quatType< T, P > const & x,
vecType< T, P > const & Multiple quatType< T, P > const & y 
-

Higher multiple number of Source.

+

Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...

+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<bool, P> glm::equal (tquat< T, P > const & x,
tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x == y.

Template Parameters
- +
genTypeFloating-point or integer scalar or vector types.
quatTypeFloating-point quaternion types.
-
Parameters
- - - -
Source
MultipleMust be a null or positive value
-
-
-
See also
GLM_GTC_round
+
See also
GLM_GTC_quaternion
- +
- + - - + +
GLM_FUNC_DECL genIUType glm::ceilPowerOfTwo GLM_FUNC_DECL tvec3<T, P> glm::eulerAngles (genIUType Value)tquat< T, P > const & x)
-

Return the power of two number which value is just higher the input value, round up to a power of two.

-
See also
GLM_GTC_round
+

Returns euler angles, yitch as x, yaw as y, roll as z.

+

The result is expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

+
See also
GLM_GTC_quaternion
- +
- + - - - - -
GLM_FUNC_DECL vecType<T, P> glm::ceilPowerOfTwo GLM_FUNC_DECL tvec4<bool, P> glm::greaterThan (vecType< T, P > const & value)
-
- -

Return the power of two number which value is just higher the input value, round up to a power of two.

-
See also
GLM_GTC_round
- -
-
- -
-
- - - - - - + + - - + + @@ -247,39 +329,32 @@ Functions
GLM_FUNC_DECL genType glm::floorMultiple (genType Source, tquat< T, P > const & x,
genType Multiple tquat< T, P > const & y 
-

Lower multiple number of Source.

+

Returns the component-wise comparison of result x > y.

Template Parameters
- +
genTypeFloating-point or integer scalar or vector types.
quatTypeFloating-point quaternion types.
-
Parameters
- - - -
Source
MultipleMust be a null or positive value
-
-
-
See also
GLM_GTC_round
+
See also
GLM_GTC_quaternion
- +
- + - - + + - - + + @@ -289,106 +364,76 @@ Functions
GLM_FUNC_DECL vecType<T, P> glm::floorMultiple GLM_FUNC_DECL tvec4<bool, P> glm::greaterThanEqual (vecType< T, P > const & Source, tquat< T, P > const & x,
vecType< T, P > const & Multiple tquat< T, P > const & y 
-

Lower multiple number of Source.

+

Returns the component-wise comparison of result x >= y.

Template Parameters
- +
genTypeFloating-point or integer scalar or vector types.
quatTypeFloating-point quaternion types.
-
Parameters
- - - -
Source
MultipleMust be a null or positive value
-
-
-
See also
GLM_GTC_round
+
See also
GLM_GTC_quaternion
- +
- + - - + +
GLM_FUNC_DECL genIUType glm::floorPowerOfTwo GLM_FUNC_DECL tquat<T, P> glm::inverse (genIUType Value)tquat< T, P > const & q)
-

Return the power of two number which value is just lower the input value, round down to a power of two.

-
See also
GLM_GTC_round
+

Returns the q inverse.

+
See also
GLM_GTC_quaternion
- +
- + - - + +
GLM_FUNC_DECL vecType<T, P> glm::floorPowerOfTwo GLM_FUNC_DECL T glm::length (vecType< T, P > const & value)tquat< T, P > const & q)
-

Return the power of two number which value is just lower the input value, round down to a power of two.

-
See also
GLM_GTC_round
+

Returns the length of the quaternion.

+
See also
GLM_GTC_quaternion
- +
- + - - + + - - - - - - - - -
GLM_FUNC_DECL bool glm::isMultiple GLM_FUNC_DECL tquat<T, P> glm::lerp (genIUType Value, tquat< T, P > const & x,
genIUType Multiple 
)
-
- -

Return true if the 'Value' is a multiple of 'Multiple'.

-
See also
GLM_GTC_round
- -
-
- -
-
- - - - - - + + - + @@ -398,135 +443,41 @@ Functions
GLM_FUNC_DECL vecType<bool, P> glm::isMultiple (vecType< T, P > const & Value, tquat< T, P > const & y,
Multiple a 
-

Return true if the 'Value' is a multiple of 'Multiple'.

-
See also
GLM_GTC_round
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::isMultiple (vecType< T, P > const & Value,
vecType< T, P > const & Multiple 
)
-
- -

Return true if the 'Value' is a multiple of 'Multiple'.

-
See also
GLM_GTC_round
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL bool glm::isPowerOfTwo (genIUType Value)
-
- -

Return true if the value is a power of two number.

-
See also
GLM_GTC_round
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<bool, P> glm::isPowerOfTwo (vecType< T, P > const & value)
-
- -

Return true if the value is a power of two number.

-
See also
GLM_GTC_round
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::roundMultiple (genType Source,
genType Multiple 
)
-
- -

Lower multiple number of Source.

-
Template Parameters
- - -
genTypeFloating-point or integer scalar or vector types.
-
-
+

Linear interpolation of two quaternions.

+

The interpolation is oriented.

Parameters
- - + + +
Source
MultipleMust be a null or positive value
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined in the range [0, 1].
-
See also
GLM_GTC_round
+
Template Parameters
+ + +
TValue type used to build the quaternion. Supported: half, float or double.
+
+
+
See also
GLM_GTC_quaternion
- +
- + - - + + - - + + @@ -536,59 +487,387 @@ Functions
GLM_FUNC_DECL vecType<T, P> glm::roundMultiple GLM_FUNC_DECL tvec4<bool, P> glm::lessThan (vecType< T, P > const & Source, tquat< T, P > const & x,
vecType< T, P > const & Multiple tquat< T, P > const & y 
-

Lower multiple number of Source.

+

Returns the component-wise comparison result of x < y.

Template Parameters
- +
genTypeFloating-point or integer scalar or vector types.
quatTypeFloating-point quaternion types.
+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<bool, P> glm::lessThanEqual (tquat< T, P > const & x,
tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x <= y.

+
Template Parameters
+ + +
quatTypeFloating-point quaternion types.
+
+
+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::mat3_cast (tquat< T, P > const & x)
+
+ +

Converts a quaternion to a 3 * 3 matrix.

+
See also
GLM_GTC_quaternion
+ +

Referenced by glm::toMat3().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::mat4_cast (tquat< T, P > const & x)
+
+ +

Converts a quaternion to a 4 * 4 matrix.

+
See also
GLM_GTC_quaternion
+ +

Referenced by glm::toMat4().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::mix (tquat< T, P > const & x,
tquat< T, P > const & y,
a 
)
+
+ +

Spherical linear interpolation of two quaternions.

+

The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.

Parameters
- - + + +
Source
MultipleMust be a null or positive value
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
-
See also
GLM_GTC_round
+
Template Parameters
+ + +
TValue type used to build the quaternion. Supported: half, float or double.
+
+
+
See also
GLM_GTC_quaternion
+
+- slerp(tquat<T, P> const & x, tquat<T, P> const & y, T const & a)
- +
- + - - + +
GLM_FUNC_DECL genIUType glm::roundPowerOfTwo GLM_FUNC_DECL tquat<T, P> glm::normalize (genIUType Value)tquat< T, P > const & q)
-

Return the power of two number which value is the closet to the input value.

-
See also
GLM_GTC_round
+

Returns the normalized quaternion.

+
See also
GLM_GTC_quaternion
- +
- + - - + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::roundPowerOfTwo GLM_FUNC_DECL tvec4<bool, P> glm::notEqual (vecType< T, P > const & value)tquat< T, P > const & x,
tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x != y.

+
Template Parameters
+ + +
quatTypeFloating-point quaternion types.
+
+
+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + +
GLM_FUNC_DECL T glm::pitch (tquat< T, P > const & x)
-

Return the power of two number which value is the closet to the input value.

-
See also
GLM_GTC_round
+

Returns pitch value of euler angles expressed in radians.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::quat_cast (tmat3x3< T, P > const & x)
+
+ +

Converts a 3 * 3 matrix to a quaternion.

+
See also
GLM_GTC_quaternion
+ +

Referenced by glm::toQuat().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::quat_cast (tmat4x4< T, P > const & x)
+
+ +

Converts a 4 * 4 matrix to a quaternion.

+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::roll (tquat< T, P > const & x)
+
+ +

Returns roll value of euler angles expressed in radians.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::rotate (tquat< T, P > const & q,
T const & angle,
tvec3< T, P > const & axis 
)
+
+ +

Rotates a quaternion from a vector of 3 components axis and an angle.

+
Parameters
+ + + + +
qSource orientation
angleAngle expressed in radians.
axisAxis of the rotation
+
+
+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::slerp (tquat< T, P > const & x,
tquat< T, P > const & y,
a 
)
+
+ +

Spherical linear interpolation of two quaternions.

+

The interpolation always take the short path and the rotation is performed at constant speed.

+
Parameters
+ + + + +
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
+
+
+
Template Parameters
+ + +
TValue type used to build the quaternion. Supported: half, float or double.
+
+
+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::yaw (tquat< T, P > const & x)
+
+ +

Returns yaw value of euler angles expressed in radians.

+
See also
GLM_GTX_quaternion
@@ -597,7 +876,7 @@ Functions diff --git a/doc/api/a00178.html b/doc/api/a00178.html index ea36febb..353671b6 100644 --- a/doc/api/a00178.html +++ b/doc/api/a00178.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_type_precision + +0.9.7: GLM_GTC_random @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
GLM_GTC_type_precision
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef highp_float32_t f32
 
typedef f32mat2x2 f32mat2
 
typedef highp_f32mat2x2 f32mat2x2
 
typedef highp_f32mat2x3 f32mat2x3
 
typedef highp_f32mat2x4 f32mat2x4
 
typedef f32mat3x3 f32mat3
 
typedef highp_f32mat3x2 f32mat3x2
 
typedef highp_f32mat3x3 f32mat3x3
 
typedef highp_f32mat3x4 f32mat3x4
 
typedef f32mat4x4 f32mat4
 
typedef highp_f32mat4x2 f32mat4x2
 
typedef highp_f32mat4x3 f32mat4x3
 
typedef highp_f32mat4x4 f32mat4x4
 
typedef highp_f32quat f32quat
 
typedef highp_f32vec1 f32vec1
 
typedef highp_f32vec2 f32vec2
 
typedef highp_f32vec3 f32vec3
 
typedef highp_f32vec4 f32vec4
 
typedef highp_float64_t f64
 
typedef f64mat2x2 f64mat2
 
typedef highp_f64mat2x2 f64mat2x2
 
typedef highp_f64mat2x3 f64mat2x3
 
typedef highp_f64mat2x4 f64mat2x4
 
typedef f64mat3x3 f64mat3
 
typedef highp_f64mat3x2 f64mat3x2
 
typedef highp_f64mat3x3 f64mat3x3
 
typedef highp_f64mat3x4 f64mat3x4
 
typedef f64mat4x4 f64mat4
 
typedef highp_f64mat4x2 f64mat4x2
 
typedef highp_f64mat4x3 f64mat4x3
 
typedef highp_f64mat4x4 f64mat4x4
 
typedef highp_f64quat f64quat
 
typedef highp_f64vec1 f64vec1
 
typedef highp_f64vec2 f64vec2
 
typedef highp_f64vec3 f64vec3
 
typedef highp_f64vec4 f64vec4
 
typedef float float32
 
typedef highp_float32_t float32_t
 
typedef double float64
 
typedef highp_float64_t float64_t
 
typedef fmat2x2 fmat2
 
typedef highp_f32mat2x2 fmat2x2
 
typedef highp_f32mat2x3 fmat2x3
 
typedef highp_f32mat2x4 fmat2x4
 
typedef fmat3x3 fmat3
 
typedef highp_f32mat3x2 fmat3x2
 
typedef highp_f32mat3x3 fmat3x3
 
typedef highp_f32mat3x4 fmat3x4
 
typedef fmat4x4 fmat4
 
typedef highp_f32mat4x2 fmat4x2
 
typedef highp_f32mat4x3 fmat4x3
 
typedef highp_f32mat4x4 fmat4x4
 
typedef quat fquat
 
typedef highp_f32vec1 fvec1
 
typedef highp_f32vec2 fvec2
 
typedef highp_f32vec3 fvec3
 
typedef highp_f32vec4 fvec4
 
typedef float32 highp_f32
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef tmat2x2< f32, highp > highp_f32mat2x2
 
typedef tmat2x3< f32, highp > highp_f32mat2x3
 
typedef tmat2x4< f32, highp > highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef tmat3x2< f32, highp > highp_f32mat3x2
 
typedef tmat3x3< f32, highp > highp_f32mat3x3
 
typedef tmat3x4< f32, highp > highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef tmat4x2< f32, highp > highp_f32mat4x2
 
typedef tmat4x3< f32, highp > highp_f32mat4x3
 
typedef tmat4x4< f32, highp > highp_f32mat4x4
 
typedef tquat< f32, highp > highp_f32quat
 
typedef tvec1< f32, highp > highp_f32vec1
 
typedef tvec2< f32, highp > highp_f32vec2
 
typedef tvec3< f32, highp > highp_f32vec3
 
typedef tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef tmat2x2< f64, highp > highp_f64mat2x2
 
typedef tmat2x3< f64, highp > highp_f64mat2x3
 
typedef tmat2x4< f64, highp > highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef tmat3x2< f64, highp > highp_f64mat3x2
 
typedef tmat3x3< f64, highp > highp_f64mat3x3
 
typedef tmat3x4< f64, highp > highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef tmat4x2< f64, highp > highp_f64mat4x2
 
typedef tmat4x3< f64, highp > highp_f64mat4x3
 
typedef tmat4x4< f64, highp > highp_f64mat4x4
 
typedef tquat< f64, highp > highp_f64quat
 
typedef tvec1< f64, highp > highp_f64vec1
 
typedef tvec2< f64, highp > highp_f64vec2
 
typedef tvec3< f64, highp > highp_f64vec3
 
typedef tvec4< f64, highp > highp_f64vec4
 
typedef detail::float32 highp_float32
 
typedef detail::float32 highp_float32_t
 
typedef detail::float64 highp_float64
 
typedef detail::float64 highp_float64_t
 
typedef highp_fmat2x2 highp_fmat2
 
typedef tmat2x2< f32, highp > highp_fmat2x2
 
typedef tmat2x3< f32, highp > highp_fmat2x3
 
typedef tmat2x4< f32, highp > highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef tmat3x2< f32, highp > highp_fmat3x2
 
typedef tmat3x3< f32, highp > highp_fmat3x3
 
typedef tmat3x4< f32, highp > highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef tmat4x2< f32, highp > highp_fmat4x2
 
typedef tmat4x3< f32, highp > highp_fmat4x3
 
typedef tmat4x4< f32, highp > highp_fmat4x4
 
typedef tvec1< float, highp > highp_fvec1
 
typedef tvec2< float, highp > highp_fvec2
 
typedef tvec3< float, highp > highp_fvec3
 
typedef tvec4< float, highp > highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef tvec1< i16, highp > highp_i16vec1
 
typedef tvec2< i16, highp > highp_i16vec2
 
typedef tvec3< i16, highp > highp_i16vec3
 
typedef tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef tvec1< i32, highp > highp_i32vec1
 
typedef tvec2< i32, highp > highp_i32vec2
 
typedef tvec3< i32, highp > highp_i32vec3
 
typedef tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef tvec1< i64, highp > highp_i64vec1
 
typedef tvec2< i64, highp > highp_i64vec2
 
typedef tvec3< i64, highp > highp_i64vec3
 
typedef tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef tvec1< i8, highp > highp_i8vec1
 
typedef tvec2< i8, highp > highp_i8vec2
 
typedef tvec3< i8, highp > highp_i8vec3
 
typedef tvec4< i8, highp > highp_i8vec4
 
typedef detail::int16 highp_int16
 
typedef detail::int16 highp_int16_t
 
typedef detail::int32 highp_int32
 
typedef detail::int32 highp_int32_t
 
typedef detail::int64 highp_int64
 
typedef detail::int64 highp_int64_t
 
typedef detail::int8 highp_int8
 
typedef detail::int8 highp_int8_t
 
typedef detail::uint16 highp_u16
 
typedef tvec1< u16, highp > highp_u16vec1
 
typedef tvec2< u16, highp > highp_u16vec2
 
typedef tvec3< u16, highp > highp_u16vec3
 
typedef tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef tvec1< u32, highp > highp_u32vec1
 
typedef tvec2< u32, highp > highp_u32vec2
 
typedef tvec3< u32, highp > highp_u32vec3
 
typedef tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef tvec1< u64, highp > highp_u64vec1
 
typedef tvec2< u64, highp > highp_u64vec2
 
typedef tvec3< u64, highp > highp_u64vec3
 
typedef tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef tvec1< u8, highp > highp_u8vec1
 
typedef tvec2< u8, highp > highp_u8vec2
 
typedef tvec3< u8, highp > highp_u8vec3
 
typedef tvec4< u8, highp > highp_u8vec4
 
typedef detail::uint16 highp_uint16
 
typedef detail::uint16 highp_uint16_t
 
typedef detail::uint32 highp_uint32
 
typedef detail::uint32 highp_uint32_t
 
typedef detail::uint64 highp_uint64
 
typedef detail::uint64 highp_uint64_t
 
typedef detail::uint8 highp_uint8
 
typedef detail::uint8 highp_uint8_t
 
typedef tvec1< float, highp > highp_vec1
 
typedef detail::int16 i16
 
typedef highp_i16vec1 i16vec1
 
typedef highp_i16vec2 i16vec2
 
typedef highp_i16vec3 i16vec3
 
typedef highp_i16vec4 i16vec4
 
typedef detail::int32 i32
 
typedef highp_i32vec1 i32vec1
 
typedef highp_i32vec2 i32vec2
 
typedef highp_i32vec3 i32vec3
 
typedef highp_i32vec4 i32vec4
 
typedef detail::int64 i64
 
typedef highp_i64vec1 i64vec1
 
typedef highp_i64vec2 i64vec2
 
typedef highp_i64vec3 i64vec3
 
typedef highp_i64vec4 i64vec4
 
typedef detail::int8 i8
 
typedef highp_i8vec1 i8vec1
 
typedef highp_i8vec2 i8vec2
 
typedef highp_i8vec3 i8vec3
 
typedef highp_i8vec4 i8vec4
 
typedef detail::int16 int16
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8
 
typedef detail::int8 int8_t
 
typedef float32 lowp_f32
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef tmat2x2< f32, lowp > lowp_f32mat2x2
 
typedef tmat2x3< f32, lowp > lowp_f32mat2x3
 
typedef tmat2x4< f32, lowp > lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef tmat3x2< f32, lowp > lowp_f32mat3x2
 
typedef tmat3x3< f32, lowp > lowp_f32mat3x3
 
typedef tmat3x4< f32, lowp > lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef tmat4x2< f32, lowp > lowp_f32mat4x2
 
typedef tmat4x3< f32, lowp > lowp_f32mat4x3
 
typedef tmat4x4< f32, lowp > lowp_f32mat4x4
 
typedef tquat< f32, lowp > lowp_f32quat
 
typedef tvec1< f32, lowp > lowp_f32vec1
 
typedef tvec2< f32, lowp > lowp_f32vec2
 
typedef tvec3< f32, lowp > lowp_f32vec3
 
typedef tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef tmat2x2< f64, lowp > lowp_f64mat2x2
 
typedef tmat2x3< f64, lowp > lowp_f64mat2x3
 
typedef tmat2x4< f64, lowp > lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef tmat3x2< f64, lowp > lowp_f64mat3x2
 
typedef tmat3x3< f64, lowp > lowp_f64mat3x3
 
typedef tmat3x4< f64, lowp > lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef tmat4x2< f64, lowp > lowp_f64mat4x2
 
typedef tmat4x3< f64, lowp > lowp_f64mat4x3
 
typedef tmat4x4< f64, lowp > lowp_f64mat4x4
 
typedef tquat< f64, lowp > lowp_f64quat
 
typedef tvec1< f64, lowp > lowp_f64vec1
 
typedef tvec2< f64, lowp > lowp_f64vec2
 
typedef tvec3< f64, lowp > lowp_f64vec3
 
typedef tvec4< f64, lowp > lowp_f64vec4
 
typedef detail::float32 lowp_float32
 
typedef detail::float32 lowp_float32_t
 
typedef detail::float64 lowp_float64
 
typedef detail::float64 lowp_float64_t
 
typedef lowp_fmat2x2 lowp_fmat2
 
typedef tmat2x2< f32, lowp > lowp_fmat2x2
 
typedef tmat2x3< f32, lowp > lowp_fmat2x3
 
typedef tmat2x4< f32, lowp > lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef tmat3x2< f32, lowp > lowp_fmat3x2
 
typedef tmat3x3< f32, lowp > lowp_fmat3x3
 
typedef tmat3x4< f32, lowp > lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef tmat4x2< f32, lowp > lowp_fmat4x2
 
typedef tmat4x3< f32, lowp > lowp_fmat4x3
 
typedef tmat4x4< f32, lowp > lowp_fmat4x4
 
typedef tvec1< float, lowp > lowp_fvec1
 
typedef tvec2< float, lowp > lowp_fvec2
 
typedef tvec3< float, lowp > lowp_fvec3
 
typedef tvec4< float, lowp > lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef tvec1< i16, lowp > lowp_i16vec1
 
typedef tvec2< i16, lowp > lowp_i16vec2
 
typedef tvec3< i16, lowp > lowp_i16vec3
 
typedef tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef tvec1< i32, lowp > lowp_i32vec1
 
typedef tvec2< i32, lowp > lowp_i32vec2
 
typedef tvec3< i32, lowp > lowp_i32vec3
 
typedef tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef tvec1< i64, lowp > lowp_i64vec1
 
typedef tvec2< i64, lowp > lowp_i64vec2
 
typedef tvec3< i64, lowp > lowp_i64vec3
 
typedef tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef tvec1< i8, lowp > lowp_i8vec1
 
typedef tvec2< i8, lowp > lowp_i8vec2
 
typedef tvec3< i8, lowp > lowp_i8vec3
 
typedef tvec4< i8, lowp > lowp_i8vec4
 
typedef detail::int16 lowp_int16
 
typedef detail::int16 lowp_int16_t
 
typedef detail::int32 lowp_int32
 
typedef detail::int32 lowp_int32_t
 
typedef detail::int64 lowp_int64
 
typedef detail::int64 lowp_int64_t
 
typedef detail::int8 lowp_int8
 
typedef detail::int8 lowp_int8_t
 
typedef detail::uint16 lowp_u16
 
typedef tvec1< u16, lowp > lowp_u16vec1
 
typedef tvec2< u16, lowp > lowp_u16vec2
 
typedef tvec3< u16, lowp > lowp_u16vec3
 
typedef tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef tvec1< u32, lowp > lowp_u32vec1
 
typedef tvec2< u32, lowp > lowp_u32vec2
 
typedef tvec3< u32, lowp > lowp_u32vec3
 
typedef tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef tvec1< u64, lowp > lowp_u64vec1
 
typedef tvec2< u64, lowp > lowp_u64vec2
 
typedef tvec3< u64, lowp > lowp_u64vec3
 
typedef tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef tvec1< u8, lowp > lowp_u8vec1
 
typedef tvec2< u8, lowp > lowp_u8vec2
 
typedef tvec3< u8, lowp > lowp_u8vec3
 
typedef tvec4< u8, lowp > lowp_u8vec4
 
typedef detail::uint16 lowp_uint16
 
typedef detail::uint16 lowp_uint16_t
 
typedef detail::uint32 lowp_uint32
 
typedef detail::uint32 lowp_uint32_t
 
typedef detail::uint64 lowp_uint64
 
typedef detail::uint64 lowp_uint64_t
 
typedef detail::uint8 lowp_uint8
 
typedef detail::uint8 lowp_uint8_t
 
typedef tvec1< float, lowp > lowp_vec1
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef tmat2x2< f32, mediump > mediump_f32mat2x2
 
typedef tmat2x3< f32, mediump > mediump_f32mat2x3
 
typedef tmat2x4< f32, mediump > mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef tmat3x2< f32, mediump > mediump_f32mat3x2
 
typedef tmat3x3< f32, mediump > mediump_f32mat3x3
 
typedef tmat3x4< f32, mediump > mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef tmat4x2< f32, mediump > mediump_f32mat4x2
 
typedef tmat4x3< f32, mediump > mediump_f32mat4x3
 
typedef tmat4x4< f32, mediump > mediump_f32mat4x4
 
typedef tquat< f32, mediump > mediump_f32quat
 
typedef tvec1< f32, mediump > mediump_f32vec1
 
typedef tvec2< f32, mediump > mediump_f32vec2
 
typedef tvec3< f32, mediump > mediump_f32vec3
 
typedef tvec4< f32, mediump > mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef tmat2x2< f64, mediump > mediump_f64mat2x2
 
typedef tmat2x3< f64, mediump > mediump_f64mat2x3
 
typedef tmat2x4< f64, mediump > mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef tmat3x2< f64, mediump > mediump_f64mat3x2
 
typedef tmat3x3< f64, mediump > mediump_f64mat3x3
 
typedef tmat3x4< f64, mediump > mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef tmat4x2< f64, mediump > mediump_f64mat4x2
 
typedef tmat4x3< f64, mediump > mediump_f64mat4x3
 
typedef tmat4x4< f64, mediump > mediump_f64mat4x4
 
typedef tquat< f64, mediump > mediump_f64quat
 
typedef tvec1< f64, mediump > mediump_f64vec1
 
typedef tvec2< f64, mediump > mediump_f64vec2
 
typedef tvec3< f64, mediump > mediump_f64vec3
 
typedef tvec4< f64, mediump > mediump_f64vec4
 
typedef detail::float32 mediump_float32
 
typedef detail::float32 mediump_float32_t
 
typedef detail::float64 mediump_float64
 
typedef detail::float64 mediump_float64_t
 
typedef mediump_fmat2x2 mediump_fmat2
 
typedef tmat2x2< f32, mediump > mediump_fmat2x2
 
typedef tmat2x3< f32, mediump > mediump_fmat2x3
 
typedef tmat2x4< f32, mediump > mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef tmat3x2< f32, mediump > mediump_fmat3x2
 
typedef tmat3x3< f32, mediump > mediump_fmat3x3
 
typedef tmat3x4< f32, mediump > mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef tmat4x2< f32, mediump > mediump_fmat4x2
 
typedef tmat4x3< f32, mediump > mediump_fmat4x3
 
typedef tmat4x4< f32, mediump > mediump_fmat4x4
 
typedef tvec1< float, mediump > mediump_fvec1
 
typedef tvec2< float, mediump > mediump_fvec2
 
typedef tvec3< float, mediump > mediump_fvec3
 
typedef tvec4< float, mediump > mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef tvec1< i16, mediump > mediump_i16vec1
 
typedef tvec2< i16, mediump > mediump_i16vec2
 
typedef tvec3< i16, mediump > mediump_i16vec3
 
typedef tvec4< i16, mediump > mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef tvec1< i32, mediump > mediump_i32vec1
 
typedef tvec2< i32, mediump > mediump_i32vec2
 
typedef tvec3< i32, mediump > mediump_i32vec3
 
typedef tvec4< i32, mediump > mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef tvec1< i64, mediump > mediump_i64vec1
 
typedef tvec2< i64, mediump > mediump_i64vec2
 
typedef tvec3< i64, mediump > mediump_i64vec3
 
typedef tvec4< i64, mediump > mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef tvec1< i8, mediump > mediump_i8vec1
 
typedef tvec2< i8, mediump > mediump_i8vec2
 
typedef tvec3< i8, mediump > mediump_i8vec3
 
typedef tvec4< i8, mediump > mediump_i8vec4
 
typedef detail::int16 mediump_int16
 
typedef detail::int16 mediump_int16_t
 
typedef detail::int32 mediump_int32
 
typedef detail::int32 mediump_int32_t
 
typedef detail::int64 mediump_int64
 
typedef detail::int64 mediump_int64_t
 
typedef detail::int8 mediump_int8
 
typedef detail::int8 mediump_int8_t
 
typedef detail::uint16 mediump_u16
 
typedef tvec1< u16, mediump > mediump_u16vec1
 
typedef tvec2< u16, mediump > mediump_u16vec2
 
typedef tvec3< u16, mediump > mediump_u16vec3
 
typedef tvec4< u16, mediump > mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef tvec1< u32, mediump > mediump_u32vec1
 
typedef tvec2< u32, mediump > mediump_u32vec2
 
typedef tvec3< u32, mediump > mediump_u32vec3
 
typedef tvec4< u32, mediump > mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef tvec1< u64, mediump > mediump_u64vec1
 
typedef tvec2< u64, mediump > mediump_u64vec2
 
typedef tvec3< u64, mediump > mediump_u64vec3
 
typedef tvec4< u64, mediump > mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef tvec1< u8, mediump > mediump_u8vec1
 
typedef tvec2< u8, mediump > mediump_u8vec2
 
typedef tvec3< u8, mediump > mediump_u8vec3
 
typedef tvec4< u8, mediump > mediump_u8vec4
 
typedef detail::uint16 mediump_uint16
 
typedef detail::uint16 mediump_uint16_t
 
typedef detail::uint32 mediump_uint32
 
typedef detail::uint32 mediump_uint32_t
 
typedef detail::uint64 mediump_uint64
 
typedef detail::uint64 mediump_uint64_t
 
typedef detail::uint8 mediump_uint8
 
typedef detail::uint8 mediump_uint8_t
 
typedef tvec1< float, mediump > mediump_vec1
 
typedef detail::uint16 u16
 
typedef highp_u16vec1 u16vec1
 
typedef highp_u16vec2 u16vec2
 
typedef highp_u16vec3 u16vec3
 
typedef highp_u16vec4 u16vec4
 
typedef detail::uint32 u32
 
typedef highp_u32vec1 u32vec1
 
typedef highp_u32vec2 u32vec2
 
typedef highp_u32vec3 u32vec3
 
typedef highp_u32vec4 u32vec4
 
typedef detail::uint64 u64
 
typedef highp_u64vec1 u64vec1
 
typedef highp_u64vec2 u64vec2
 
typedef highp_u64vec3 u64vec3
 
typedef highp_u64vec4 u64vec4
 
typedef detail::uint8 u8
 
typedef highp_u8vec1 u8vec1
 
typedef highp_u8vec2 u8vec2
 
typedef highp_u8vec3 u8vec3
 
typedef highp_u8vec4 u8vec4
 
typedef detail::uint16 uint16
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8
 
typedef detail::uint8 uint8_t
 

+Functions

template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > ballRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > circularRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > diskRand (T Radius)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 
template<typename genTYpe >
GLM_FUNC_DECL genTYpe linearRand (genTYpe Min, genTYpe Max)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > sphericalRand (T Radius)
 

Detailed Description

-

Defines specific C++-based precision types.

-

Precision types defines types based on GLSL's precision qualifiers. This extension defines types based on explicitly-sized C++ data types.

-

<glm/gtc/type_precision.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- +

Generate random number from various distribution methods.

+

<glm/gtc/random.hpp> need to be included to use these functionalities.

+

Function Documentation

+
- + + + + +
typedef float32 f32GLM_FUNC_DECL tvec3<T, defaultp> glm::ballRand (Radius)
-

Default 32 bit single-precision floating-point scalar.

-

32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
+

Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See also
GLM_GTC_random
-

Definition at line 1537 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< f32, defaultp > f32mat2
-
- -

Default single-precision floating-point 2x2 matrix.

-

Single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision
-
-GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2481 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< f32, defaultp > f32mat2x2
-
- -

Default single-precision floating-point 2x2 matrix.

-

Single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision
-
-GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2445 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3< f32, defaultp > f32mat2x3
-
- -

Default single-precision floating-point 2x3 matrix.

-

Single-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2449 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4< f32, defaultp > f32mat2x4
-
- -

Default single-precision floating-point 2x4 matrix.

-

Single-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2453 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< f32, defaultp > f32mat3
-
- -

Default single-precision floating-point 3x3 matrix.

-

Single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2485 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2< f32, defaultp > f32mat3x2
-
- -

Default single-precision floating-point 3x2 matrix.

-

Single-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2457 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< f32, defaultp > f32mat3x3
-
- -

Default single-precision floating-point 3x3 matrix.

-

Single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2461 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4< f32, defaultp > f32mat3x4
-
- -

Default single-precision floating-point 3x4 matrix.

-

Single-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2465 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< f32, defaultp > f32mat4
-
- -

Default single-precision floating-point 4x4 matrix.

-

Single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2489 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2< f32, defaultp > f32mat4x2
-
- -

Default single-precision floating-point 4x2 matrix.

-

Single-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2469 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3< f32, defaultp > f32mat4x3
-
- -

Default single-precision floating-point 4x3 matrix.

-

Single-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2473 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< f32, defaultp > f32mat4x4
-
- -

Default single-precision floating-point 4x4 matrix.

-

Single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2477 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tquat< f32, defaultp > f32quat
-
- -

Default single-precision floating-point quaternion.

-

Single-precision floating-point quaternion.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2493 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< f32, defaultp > f32vec1
-
- -

Default single-precision floating-point vector of 1 components.

-

Single-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2429 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< f32, defaultp > f32vec2
-
- -

Default single-precision floating-point vector of 2 components.

-

Single-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2433 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< f32, defaultp > f32vec3
-
- -

Default single-precision floating-point vector of 3 components.

-

Single-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2437 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< f32, defaultp > f32vec4
-
- -

Default single-precision floating-point vector of 4 components.

-

Single-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2441 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef float64 f64
-
- -

Default 64 bit double-precision floating-point scalar.

-

64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1541 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< f64, defaultp > f64mat2
-
- -

Default double-precision floating-point 2x2 matrix.

-

Double-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision
-
-GLM_GTC_type_precision Double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2587 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< f64, defaultp > f64mat2x2
-
- -

Default double-precision floating-point 2x2 matrix.

-

Double-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision
-
-GLM_GTC_type_precision Double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2551 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3< f64, defaultp > f64mat2x3
-
- -

Default double-precision floating-point 2x3 matrix.

-

Double-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2555 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4< f64, defaultp > f64mat2x4
-
- -

Default double-precision floating-point 2x4 matrix.

-

Double-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2559 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< f64, defaultp > f64mat3
-
- -

Default double-precision floating-point 3x3 matrix.

-

Double-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2591 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2< f64, defaultp > f64mat3x2
-
- -

Default double-precision floating-point 3x2 matrix.

-

Double-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2563 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< f64, defaultp > f64mat3x3
-
- -

Default double-precision floating-point 3x3 matrix.

-

Double-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2567 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4< f64, defaultp > f64mat3x4
-
- -

Default double-precision floating-point 3x4 matrix.

-

Double-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2571 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< f64, defaultp > f64mat4
-
- -

Default double-precision floating-point 4x4 matrix.

-

Double-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2595 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2< f64, defaultp > f64mat4x2
-
- -

Default double-precision floating-point 4x2 matrix.

-

Double-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2575 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3< f64, defaultp > f64mat4x3
-
- -

Default double-precision floating-point 4x3 matrix.

-

Double-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2579 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< f64, defaultp > f64mat4x4
-
- -

Default double-precision floating-point 4x4 matrix.

-

Double-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2583 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tquat< f64, defaultp > f64quat
-
- -

Default double-precision floating-point quaternion.

-

Double-precision floating-point quaternion.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2599 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< f64, defaultp > f64vec1
-
- -

Default double-precision floating-point vector of 1 components.

-

Double-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2535 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< f64, defaultp > f64vec2
-
- -

Default double-precision floating-point vector of 2 components.

-

Double-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2539 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< f64, defaultp > f64vec3
-
- -

Default double-precision floating-point vector of 3 components.

-

Double-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2543 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< f64, defaultp > f64vec4
-
- -

Default double-precision floating-point vector of 4 components.

-

Double-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2547 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 float32
-
- -

Default 32 bit single-precision floating-point scalar.

-

32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 84 of file type_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 float32_t
-
- -

Default 32 bit single-precision floating-point scalar.

-

32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1529 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 float64
-
- -

Default 64 bit double-precision floating-point scalar.

-

64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 85 of file type_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 float64_t
-
- -

Default 64 bit double-precision floating-point scalar.

-

64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1533 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< f32, defaultp > fmat2
-
- -

Default single-precision floating-point 2x2 matrix.

-

Single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision
-
-GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2411 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2< f32, defaultp > fmat2x2
-
- -

Default single-precision floating-point 2x2 matrix.

-

Single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision
-
-GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2375 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3< f32, defaultp > fmat2x3
-
- -

Default single-precision floating-point 2x3 matrix.

-

Single-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2379 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4< f32, defaultp > fmat2x4
-
- -

Default single-precision floating-point 2x4 matrix.

-

Single-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2383 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< f32, defaultp > fmat3
-
- -

Default single-precision floating-point 3x3 matrix.

-

Single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2415 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2< f32, defaultp > fmat3x2
-
- -

Default single-precision floating-point 3x2 matrix.

-

Single-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2387 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3< f32, defaultp > fmat3x3
-
- -

Default single-precision floating-point 3x3 matrix.

-

Single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2391 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4< f32, defaultp > fmat3x4
-
- -

Default single-precision floating-point 3x4 matrix.

-

Single-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2395 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< f32, defaultp > fmat4
-
- -

Default single-precision floating-point 4x4 matrix.

-

Single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2419 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2< f32, defaultp > fmat4x2
-
- -

Default single-precision floating-point 4x2 matrix.

-

Single-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2399 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3< f32, defaultp > fmat4x3
-
- -

Default single-precision floating-point 4x3 matrix.

-

Single-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2403 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4< f32, defaultp > fmat4x4
-
- -

Default single-precision floating-point 4x4 matrix.

-

Single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2407 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_fquat fquat
-
- -

Quaternion of default single-precision floating-point numbers.

-

Default single-precision floating-point quaternion.

-
See also
GLM_GTC_quaternion
-
-GLM_GTC_type_precision
- -

Definition at line 90 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< float, defaultp > fvec1
-
- -

Default single-precision floating-point vector of 1 components.

-

Single-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2359 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< float, defaultp > fvec2
-
- -

Default single-precision floating-point vector of 2 components.

-

Single-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2363 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< float, defaultp > fvec3
-
- -

Default single-precision floating-point vector of 3 components.

-

Single-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2367 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< float, defaultp > fvec4
-
- -

Default single-precision floating-point vector of 4 components.

-

Single-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2371 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef float32 highp_f32
-
- -

High 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1459 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_f32mat2x2 highp_f32mat2
-
- -

High single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision High single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2076 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f32, highp> highp_f32mat2x2
-
- -

High single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision High single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2036 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f32, highp> highp_f32mat2x3
-
- -

High single-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2040 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f32, highp> highp_f32mat2x4
-
- -

High single-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2044 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_f32mat3x3 highp_f32mat3
-
- -

High single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2080 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f32, highp> highp_f32mat3x2
-
- -

High single-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2048 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f32, highp> highp_f32mat3x3
-
- -

High single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2052 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f32, highp> highp_f32mat3x4
-
- -

High single-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2056 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_f32mat4x4 highp_f32mat4
-
- -

High single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2084 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f32, highp> highp_f32mat4x2
-
- -

High single-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2060 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f32, highp> highp_f32mat4x3
-
- -

High single-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2064 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f32, highp> highp_f32mat4x4
-
- -

High single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2068 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tquat<f32, highp> highp_f32quat
-
- -

High single-precision floating-point quaternion.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2277 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<f32, highp> highp_f32vec1
-
- -

High single-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1678 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<f32, highp> highp_f32vec2
-
- -

High single-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1682 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<f32, highp> highp_f32vec3
-
- -

High single-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1686 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<f32, highp> highp_f32vec4
-
- -

High single-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1690 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef float64 highp_f64
-
- -

High 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1463 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_f64mat2x2 highp_f64mat2
-
- -

High double-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision High double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2246 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f64, highp> highp_f64mat2x2
-
- -

High double-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision High double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2206 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f64, highp> highp_f64mat2x3
-
- -

High double-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2210 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f64, highp> highp_f64mat2x4
-
- -

High double-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2214 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_f64mat3x3 highp_f64mat3
-
- -

High double-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2250 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f64, highp> highp_f64mat3x2
-
- -

High double-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2218 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f64, highp> highp_f64mat3x3
-
- -

High double-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2222 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f64, highp> highp_f64mat3x4
-
- -

High double-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2226 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_f64mat4x4 highp_f64mat4
-
- -

High double-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2254 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f64, highp> highp_f64mat4x2
-
- -

High double-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2230 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f64, highp> highp_f64mat4x3
-
- -

High double-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2234 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f64, highp> highp_f64mat4x4
-
- -

High double-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2238 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tquat<f64, highp> highp_f64quat
-
- -

High double-precision floating-point quaternion.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2281 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<f64, highp> highp_f64vec1
-
- -

High double-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1727 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<f64, highp> highp_f64vec2
-
- -

High double-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1731 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<f64, highp> highp_f64vec3
-
- -

High double-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1735 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<f64, highp> highp_f64vec4
-
- -

High double-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1739 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 highp_float32
-
- -

High 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1443 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 highp_float32_t
-
- -

High 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1451 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 highp_float64
-
- -

High 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1447 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 highp_float64_t
-
- -

High 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1455 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_fmat2x2 highp_fmat2
-
- -

High single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision High single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1905 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f32, highp> highp_fmat2x2
-
- -

High single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision High single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1865 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f32, highp> highp_fmat2x3
-
- -

High single-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1869 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f32, highp> highp_fmat2x4
-
- -

High single-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1873 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_fmat3x3 highp_fmat3
-
- -

High single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1909 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f32, highp> highp_fmat3x2
-
- -

High single-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1877 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f32, highp> highp_fmat3x3
-
- -

High single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1881 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f32, highp> highp_fmat3x4
-
- -

High single-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1885 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_fmat4x4 highp_fmat4
-
- -

High single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1913 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f32, highp> highp_fmat4x2
-
- -

High single-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1889 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f32, highp> highp_fmat4x3
-
- -

High single-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1893 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f32, highp> highp_fmat4x4
-
- -

High single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1897 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<float, highp> highp_fvec1
-
- -

High single-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1629 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<float, highp> highp_fvec2
-
- -

High Single-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1633 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<float, highp> highp_fvec3
-
- -

High Single-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1637 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<float, highp> highp_fvec4
-
- -

High Single-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1641 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 highp_i16
-
- -

High precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 264 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i16, highp> highp_i16vec1
-
- -

High precision 16 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 448 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i16, highp> highp_i16vec2
-
- -

High precision 16 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 452 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i16, highp> highp_i16vec3
-
- -

High precision 16 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 456 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i16, highp> highp_i16vec4
-
- -

High precision 16 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 460 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 highp_i32
-
- -

High precision 32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 268 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< i32, highp > highp_i32vec1
-
- -

High precision 32 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 528 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< i32, highp > highp_i32vec2
-
- -

High precision 32 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 532 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< i32, highp > highp_i32vec3
-
- -

High precision 32 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 536 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< i32, highp > highp_i32vec4
-
- -

High precision 32 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 540 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 highp_i64
-
- -

High precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 272 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i64, highp> highp_i64vec1
-
- -

High precision 64 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 687 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i64, highp> highp_i64vec2
-
- -

High precision 64 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 691 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i64, highp> highp_i64vec3
-
- -

High precision 64 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 695 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i64, highp> highp_i64vec4
-
- -

High precision 64 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 699 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 highp_i8
-
- -

High precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 260 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i8, highp> highp_i8vec1
-
- -

High precision 8 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 369 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i8, highp> highp_i8vec2
-
- -

High precision 8 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 373 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i8, highp> highp_i8vec3
-
- -

High precision 8 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 377 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i8, highp> highp_i8vec4
-
- -

High precision 8 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 381 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 highp_int16
-
- -

High precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 232 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 highp_int16_t
-
- -

High precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 248 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 highp_int32
-
- -

High precision 32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 236 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 highp_int32_t
-
- -

32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 252 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 highp_int64
-
- -

High precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 240 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 highp_int64_t
-
- -

High precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 256 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 highp_int8
-
- -

High precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 228 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 highp_int8_t
-
- -

High precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 244 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 highp_u16
-
- -

Medium precision 16 bit unsigned integer type.

-

High precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 873 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u16, highp> highp_u16vec1
-
- -

High precision 16 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1057 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u16, highp> highp_u16vec2
-
- -

High precision 16 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1061 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u16, highp> highp_u16vec3
-
- -

High precision 16 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1065 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u16, highp> highp_u16vec4
-
- -

High precision 16 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1069 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 highp_u32
-
- -

Medium precision 32 bit unsigned integer type.

-

High precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 877 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< u32, highp > highp_u32vec1
-
- -

High precision 32 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1137 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< u32, highp > highp_u32vec2
-
- -

High precision 32 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1141 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< u32, highp > highp_u32vec3
-
- -

High precision 32 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1145 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< u32, highp > highp_u32vec4
-
- -

High precision 32 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1149 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 highp_u64
-
- -

Medium precision 64 bit unsigned integer type.

-

High precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 881 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u64, highp> highp_u64vec1
-
- -

High precision 64 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1296 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u64, highp> highp_u64vec2
-
- -

High precision 64 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1300 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u64, highp> highp_u64vec3
-
- -

High precision 64 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1304 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u64, highp> highp_u64vec4
-
- -

High precision 64 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1308 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 highp_u8
-
- -

Medium precision 8 bit unsigned integer type.

-

High precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 869 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u8, highp> highp_u8vec1
-
- -

High precision 8 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 978 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u8, highp> highp_u8vec2
-
- -

High precision 8 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 982 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u8, highp> highp_u8vec3
-
- -

High precision 8 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 986 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u8, highp> highp_u8vec4
-
- -

High precision 8 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 990 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 highp_uint16
-
- -

Medium precision 16 bit unsigned integer type.

-

High precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 841 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 highp_uint16_t
-
- -

Medium precision 16 bit unsigned integer type.

-

High precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 857 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 highp_uint32
-
- -

Medium precision 32 bit unsigned integer type.

-

High precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 845 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 highp_uint32_t
-
- -

Medium precision 32 bit unsigned integer type.

-

High precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 861 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 highp_uint64
-
- -

Medium precision 64 bit unsigned integer type.

-

High precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 849 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 highp_uint64_t
-
- -

Medium precision 64 bit unsigned integer type.

-

High precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 865 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 highp_uint8
-
- -

Medium precision 8 bit unsigned integer type.

-

High precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 837 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 highp_uint8_t
-
- -

Medium precision 8 bit unsigned integer type.

-

High precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 853 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_vec1_t highp_vec1
-
- -

High single-precision floating-point vector of 1 component.

-

1 component vector of high precision floating-point numbers.

-
See also
GLM_GTC_type_precision
-

There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.
- -

Definition at line 1613 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 i16
-
- -

16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 321 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< i16, defaultp > i16vec1
-
- -

Default precision 16 bit signed integer scalar type.

-

16 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 476 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< i16, defaultp > i16vec2
-
- -

Default precision 16 bit signed integer vector of 2 components type.

-

16 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 480 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< i16, defaultp > i16vec3
-
- -

Default precision 16 bit signed integer vector of 3 components type.

-

16 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 484 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< i16, defaultp > i16vec4
-
- -

Default precision 16 bit signed integer vector of 4 components type.

-

16 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 488 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 i32
-
- -

32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 325 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< i32, defaultp > i32vec1
-
- -

Default precision 32 bit signed integer scalar type.

-

32 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 555 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< i32, defaultp > i32vec2
-
- -

Default precision 32 bit signed integer vector of 2 components type.

-

32 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 559 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< i32, defaultp > i32vec3
-
- -

Default precision 32 bit signed integer vector of 3 components type.

-

32 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 563 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< i32, defaultp > i32vec4
-
- -

Default precision 32 bit signed integer vector of 4 components type.

-

32 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 567 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 i64
-
- -

64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 329 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< i64, defaultp > i64vec1
-
- -

Default precision 64 bit signed integer scalar type.

-

64 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 714 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< i64, defaultp > i64vec2
-
- -

Default precision 64 bit signed integer vector of 2 components type.

-

64 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 718 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< i64, defaultp > i64vec3
-
- -

Default precision 64 bit signed integer vector of 3 components type.

-

64 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 722 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< i64, defaultp > i64vec4
-
- -

Default precision 64 bit signed integer vector of 4 components type.

-

64 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 726 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 i8
-
- -

8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 317 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< i8, defaultp > i8vec1
-
- -

Default precision 8 bit signed integer scalar type.

-

8 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 396 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< i8, defaultp > i8vec2
-
- -

Default precision 8 bit signed integer vector of 2 components type.

-

8 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 400 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< i8, defaultp > i8vec3
-
- -

Default precision 8 bit signed integer vector of 3 components type.

-

8 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 404 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< i8, defaultp > i8vec4
-
- -

Default precision 8 bit signed integer vector of 4 components type.

-

8 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 408 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 int16
-
- -

16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 225 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 int16_t
-
- -

16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 304 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 int32
-
- -

32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 226 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 int32_t
-
- -

32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 308 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 int64
-
- -

64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 227 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 int64_t
-
- -

64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 312 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 int8
-
- -

8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 224 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 int8_t
-
- -

8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 300 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef float32 lowp_f32
-
- -

Low 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1360 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_f32mat2x2 lowp_f32mat2
-
- -

Low single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1962 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f32, lowp> lowp_f32mat2x2
-
- -

Low single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1922 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f32, lowp> lowp_f32mat2x3
-
- -

Low single-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1926 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f32, lowp> lowp_f32mat2x4
-
- -

Low single-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1930 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_f32mat3x3 lowp_f32mat3
-
- -

Low single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1966 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f32, lowp> lowp_f32mat3x2
-
- -

Low single-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1934 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f32, lowp> lowp_f32mat3x3
-
- -

Low single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1938 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f32, lowp> lowp_f32mat3x4
-
- -

Low single-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1942 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_f32mat4x4 lowp_f32mat4
-
- -

Low single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1970 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f32, lowp> lowp_f32mat4x2
-
- -

Low single-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1946 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f32, lowp> lowp_f32mat4x3
-
- -

Low single-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1950 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f32, lowp> lowp_f32mat4x4
-
- -

Low single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1954 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tquat<f32, lowp> lowp_f32quat
-
- -

Low single-precision floating-point quaternion.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2261 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<f32, lowp> lowp_f32vec1
-
- -

Low single-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1646 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<f32, lowp> lowp_f32vec2
-
- -

Low single-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1650 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<f32, lowp> lowp_f32vec3
-
- -

Low single-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1654 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<f32, lowp> lowp_f32vec4
-
- -

Low single-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1658 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef float64 lowp_f64
-
- -

Low 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1364 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_f64mat2x2 lowp_f64mat2
-
- -

Low double-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Low double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2133 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f64, lowp> lowp_f64mat2x2
-
- -

Low double-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Low double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2093 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f64, lowp> lowp_f64mat2x3
-
- -

Low double-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2097 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f64, lowp> lowp_f64mat2x4
-
- -

Low double-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2101 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_f64mat3x3 lowp_f64mat3
-
- -

Low double-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2137 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f64, lowp> lowp_f64mat3x2
-
- -

Low double-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2105 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f64, lowp> lowp_f64mat3x3
-
- -

Low double-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2109 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f64, lowp> lowp_f64mat3x4
-
- -

Low double-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2113 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_f64mat4x4 lowp_f64mat4
-
- -

Low double-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2141 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f64, lowp> lowp_f64mat4x2
-
- -

Low double-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2117 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f64, lowp> lowp_f64mat4x3
-
- -

Low double-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2121 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f64, lowp> lowp_f64mat4x4
-
- -

Low double-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2125 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tquat<f64, lowp> lowp_f64quat
-
- -

Low double-precision floating-point quaternion.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2265 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<f64, lowp> lowp_f64vec1
-
- -

Low double-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1695 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<f64, lowp> lowp_f64vec2
-
- -

Low double-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1699 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<f64, lowp> lowp_f64vec3
-
- -

Low double-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1703 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<f64, lowp> lowp_f64vec4
-
- -

Low double-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1707 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 lowp_float32
-
- -

Low 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1344 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 lowp_float32_t
-
- -

Low 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1352 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 lowp_float64
-
- -

Low 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1348 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 lowp_float64_t
-
- -

Low 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1356 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_fmat2x2 lowp_fmat2
-
- -

Low single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1791 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f32, lowp> lowp_fmat2x2
-
- -

Low single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1751 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f32, lowp> lowp_fmat2x3
-
- -

Low single-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1755 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f32, lowp> lowp_fmat2x4
-
- -

Low single-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1759 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_fmat3x3 lowp_fmat3
-
- -

Low single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1795 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f32, lowp> lowp_fmat3x2
-
- -

Low single-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1763 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f32, lowp> lowp_fmat3x3
-
- -

Low single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1767 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f32, lowp> lowp_fmat3x4
-
- -

Low single-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1771 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_fmat4x4 lowp_fmat4
-
- -

Low single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1799 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f32, lowp> lowp_fmat4x2
-
- -

Low single-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1775 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f32, lowp> lowp_fmat4x3
-
- -

Low single-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1779 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f32, lowp> lowp_fmat4x4
-
- -

Low single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1783 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<float, lowp> lowp_fvec1
-
- -

Low single-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1563 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<float, lowp> lowp_fvec2
-
- -

Low single-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1567 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<float, lowp> lowp_fvec3
-
- -

Low single-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1571 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<float, lowp> lowp_fvec4
-
- -

Low single-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1575 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 lowp_i16
-
- -

Low precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 168 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i16, lowp> lowp_i16vec1
-
- -

Low precision 16 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 414 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i16, lowp> lowp_i16vec2
-
- -

Low precision 16 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 418 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i16, lowp> lowp_i16vec3
-
- -

Low precision 16 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 422 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i16, lowp> lowp_i16vec4
-
- -

Low precision 16 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 426 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 lowp_i32
-
- -

Low precision 32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 172 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< i32, lowp > lowp_i32vec1
-
- -

Low precision 32 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 494 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< i32, lowp > lowp_i32vec2
-
- -

Low precision 32 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 498 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< i32, lowp > lowp_i32vec3
-
- -

Low precision 32 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 502 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< i32, lowp > lowp_i32vec4
-
- -

Low precision 32 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 506 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 lowp_i64
-
- -

Low precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 176 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i64, lowp> lowp_i64vec1
-
- -

Low precision 64 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 653 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i64, lowp> lowp_i64vec2
-
- -

Low precision 64 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 657 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i64, lowp> lowp_i64vec3
-
- -

Low precision 64 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 661 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i64, lowp> lowp_i64vec4
-
- -

Low precision 64 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 665 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 lowp_i8
-
- -

Low precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 164 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i8, lowp> lowp_i8vec1
-
- -

Low precision 8 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 335 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i8, lowp> lowp_i8vec2
-
- -

Low precision 8 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 339 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i8, lowp> lowp_i8vec3
-
- -

Low precision 8 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 343 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i8, lowp> lowp_i8vec4
-
- -

Low precision 8 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 347 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 lowp_int16
-
- -

Low precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 136 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 lowp_int16_t
-
- -

Low precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 152 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 lowp_int32
-
- -

Low precision 32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 140 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 lowp_int32_t
-
- -

Low precision 32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 156 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 lowp_int64
-
- -

Low precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 144 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 lowp_int64_t
-
- -

Low precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 160 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 lowp_int8
-
- -

Low precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 132 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 lowp_int8_t
-
- -

Low precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 148 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 lowp_u16
-
- -

Low precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 773 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u16, lowp> lowp_u16vec1
-
- -

Low precision 16 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1023 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u16, lowp> lowp_u16vec2
-
- -

Low precision 16 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1027 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u16, lowp> lowp_u16vec3
-
- -

Low precision 16 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1031 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u16, lowp> lowp_u16vec4
-
- -

Low precision 16 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1035 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 lowp_u32
-
- -

Low precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 777 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< u32, lowp > lowp_u32vec1
-
- -

Low precision 32 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1103 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< u32, lowp > lowp_u32vec2
-
- -

Low precision 32 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1107 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< u32, lowp > lowp_u32vec3
-
- -

Low precision 32 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1111 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< u32, lowp > lowp_u32vec4
-
- -

Low precision 32 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1115 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 lowp_u64
-
- -

Low precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 781 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u64, lowp> lowp_u64vec1
-
- -

Low precision 64 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1262 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u64, lowp> lowp_u64vec2
-
- -

Low precision 64 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1266 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u64, lowp> lowp_u64vec3
-
- -

Low precision 64 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1270 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u64, lowp> lowp_u64vec4
-
- -

Low precision 64 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1274 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 lowp_u8
-
- -

Low precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 769 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u8, lowp> lowp_u8vec1
-
- -

Low precision 8 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 944 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u8, lowp> lowp_u8vec2
-
- -

Low precision 8 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 948 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u8, lowp> lowp_u8vec3
-
- -

Low precision 8 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 952 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u8, lowp> lowp_u8vec4
-
- -

Low precision 8 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 956 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 lowp_uint16
-
- -

Low precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 739 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 lowp_uint16_t
-
- -

Low precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 756 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 lowp_uint32
-
- -

Low precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 743 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 lowp_uint32_t
-
- -

Low precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 760 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 lowp_uint64
-
- -

Low precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 747 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 lowp_uint64_t
-
- -

Low precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 764 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 lowp_uint8
-
- -

Low precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 735 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 lowp_uint8_t
-
- -

Low precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 752 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_vec1_t lowp_vec1
-
- -

Low single-precision floating-point vector of 1 component.

-

1 component vector of low precision floating-point numbers.

-
See also
GLM_GTC_type_precision
-

There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.
- -

Definition at line 1547 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef float32 mediump_f32
-
- -

Medium 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1434 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_f32mat2x2 mediump_f32mat2
-
- -

Medium single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Medium single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2019 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f32, mediump> mediump_f32mat2x2
-
- -

High single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1979 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f32, mediump> mediump_f32mat2x3
-
- -

Medium single-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1983 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f32, mediump> mediump_f32mat2x4
-
- -

Medium single-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1987 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_f32mat3x3 mediump_f32mat3
-
- -

Medium single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2023 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f32, mediump> mediump_f32mat3x2
-
- -

Medium single-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1991 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f32, mediump> mediump_f32mat3x3
-
- -

Medium single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1995 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f32, mediump> mediump_f32mat3x4
-
- -

Medium single-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1999 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_f32mat4x4 mediump_f32mat4
-
- -

Medium single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2027 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f32, mediump> mediump_f32mat4x2
-
- -

Medium single-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2003 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f32, mediump> mediump_f32mat4x3
-
- -

Medium single-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2007 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f32, mediump> mediump_f32mat4x4
-
- -

Medium single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2011 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tquat<f32, mediump> mediump_f32quat
-
- -

Medium single-precision floating-point quaternion.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2269 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<f32, mediump> mediump_f32vec1
-
- -

Medium single-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1662 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<f32, mediump> mediump_f32vec2
-
- -

Medium single-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1666 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<f32, mediump> mediump_f32vec3
-
- -

Medium single-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1670 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<f32, mediump> mediump_f32vec4
-
- -

Medium single-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1674 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef float64 mediump_f64
-
- -

Medium 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1438 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_f64mat2x2 mediump_f64mat2
-
- -

Medium double-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Medium double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2190 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f64, mediump> mediump_f64mat2x2
-
- -

Medium double-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Medium double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 2150 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f64, mediump> mediump_f64mat2x3
-
- -

Medium double-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2154 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f64, mediump> mediump_f64mat2x4
-
- -

Medium double-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2158 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_f64mat3x3 mediump_f64mat3
-
- -

Medium double-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2194 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f64, mediump> mediump_f64mat3x2
-
- -

Medium double-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2162 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f64, mediump> mediump_f64mat3x3
-
- -

Medium double-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2166 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f64, mediump> mediump_f64mat3x4
-
- -

Medium double-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2170 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_f64mat4x4 mediump_f64mat4
-
- -

Medium double-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2198 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f64, mediump> mediump_f64mat4x2
-
- -

Medium double-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2174 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f64, mediump> mediump_f64mat4x3
-
- -

Medium double-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2178 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f64, mediump> mediump_f64mat4x4
-
- -

Medium double-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2182 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tquat<f64, mediump> mediump_f64quat
-
- -

Medium double-precision floating-point quaternion.

-
See also
GLM_GTC_type_precision
- -

Definition at line 2273 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<f64, mediump> mediump_f64vec1
-
- -

Medium double-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1711 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<f64, mediump> mediump_f64vec2
-
- -

Medium double-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1715 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<f64, mediump> mediump_f64vec3
-
- -

Medium double-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1719 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<f64, mediump> mediump_f64vec4
-
- -

Medium double-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1723 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 mediump_float32
-
- -

Medium 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1418 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 mediump_float32_t
-
- -

Medium 32 bit single-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1426 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 mediump_float64
-
- -

Medium 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1422 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 mediump_float64_t
-
- -

Medium 64 bit double-precision floating-point scalar.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1430 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_fmat2x2 mediump_fmat2
-
- -

Medium single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Medium single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1848 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x2<f32, mediump> mediump_fmat2x2
-
- -

Medium single-precision floating-point 1x1 matrix.

-
See also
GLM_GTC_type_precision Medium single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 1808 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x3<f32, mediump> mediump_fmat2x3
-
- -

Medium single-precision floating-point 2x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1812 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat2x4<f32, mediump> mediump_fmat2x4
-
- -

Medium single-precision floating-point 2x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1816 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_fmat3x3 mediump_fmat3
-
- -

Medium single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1852 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x2<f32, mediump> mediump_fmat3x2
-
- -

Medium single-precision floating-point 3x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1820 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x3<f32, mediump> mediump_fmat3x3
-
- -

Medium single-precision floating-point 3x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1824 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat3x4<f32, mediump> mediump_fmat3x4
-
- -

Medium single-precision floating-point 3x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1828 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_fmat4x4 mediump_fmat4
-
- -

Medium single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1856 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x2<f32, mediump> mediump_fmat4x2
-
- -

Medium single-precision floating-point 4x2 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1832 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x3<f32, mediump> mediump_fmat4x3
-
- -

Medium single-precision floating-point 4x3 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1836 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tmat4x4<f32, mediump> mediump_fmat4x4
-
- -

Medium single-precision floating-point 4x4 matrix.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1840 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<float, mediump> mediump_fvec1
-
- -

Medium single-precision floating-point vector of 1 component.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1596 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<float, mediump> mediump_fvec2
-
- -

Medium Single-precision floating-point vector of 2 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1600 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<float, mediump> mediump_fvec3
-
- -

Medium Single-precision floating-point vector of 3 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1604 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<float, mediump> mediump_fvec4
-
- -

Medium Single-precision floating-point vector of 4 components.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1608 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 mediump_i16
-
- -

Medium precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 216 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i16, mediump> mediump_i16vec1
-
- -

Medium precision 16 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 431 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i16, mediump> mediump_i16vec2
-
- -

Medium precision 16 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 435 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i16, mediump> mediump_i16vec3
-
- -

Medium precision 16 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 439 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i16, mediump> mediump_i16vec4
-
- -

Medium precision 16 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 443 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 mediump_i32
-
- -

Medium precision 32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 220 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< i32, mediump > mediump_i32vec1
-
- -

Medium precision 32 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 511 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< i32, mediump > mediump_i32vec2
-
- -

Medium precision 32 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 515 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< i32, mediump > mediump_i32vec3
-
- -

Medium precision 32 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 519 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< i32, mediump > mediump_i32vec4
-
- -

Medium precision 32 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 523 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 mediump_i64
-
- -

Medium precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 224 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i64, mediump> mediump_i64vec1
-
- -

Medium precision 64 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 670 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i64, mediump> mediump_i64vec2
-
- -

Medium precision 64 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 674 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i64, mediump> mediump_i64vec3
-
- -

Medium precision 64 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 678 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i64, mediump> mediump_i64vec4
-
- -

Medium precision 64 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 682 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 mediump_i8
-
- -

Medium precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 212 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<i8, mediump> mediump_i8vec1
-
- -

Medium precision 8 bit signed integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 352 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<i8, mediump> mediump_i8vec2
-
- -

Medium precision 8 bit signed integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 356 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<i8, mediump> mediump_i8vec3
-
- -

Medium precision 8 bit signed integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 360 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<i8, mediump> mediump_i8vec4
-
- -

Medium precision 8 bit signed integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 364 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 mediump_int16
-
- -

Medium precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 184 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 mediump_int16_t
-
- -

Medium precision 16 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 200 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 mediump_int32
-
- -

Medium precision 32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 188 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 mediump_int32_t
-
- -

Medium precision 32 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 204 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 mediump_int64
-
- -

Medium precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 192 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 mediump_int64_t
-
- -

Medium precision 64 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 208 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 mediump_int8
-
- -

Medium precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 180 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 mediump_int8_t
-
- -

Medium precision 8 bit signed integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 196 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 mediump_u16
-
- -

Medium precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 823 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u16, mediump> mediump_u16vec1
-
- -

Medium precision 16 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1040 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u16, mediump> mediump_u16vec2
-
- -

Medium precision 16 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1044 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u16, mediump> mediump_u16vec3
-
- -

Medium precision 16 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1048 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u16, mediump> mediump_u16vec4
-
- -

Medium precision 16 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1052 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 mediump_u32
-
- -

Medium precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 827 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< u32, mediump > mediump_u32vec1
-
- -

Medium precision 32 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1120 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< u32, mediump > mediump_u32vec2
-
- -

Medium precision 32 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1124 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< u32, mediump > mediump_u32vec3
-
- -

Medium precision 32 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1128 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< u32, mediump > mediump_u32vec4
-
- -

Medium precision 32 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1132 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 mediump_u64
-
- -

Medium precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 831 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u64, mediump> mediump_u64vec1
-
- -

Medium precision 64 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1279 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u64, mediump> mediump_u64vec2
-
- -

Medium precision 64 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1283 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u64, mediump> mediump_u64vec3
-
- -

Medium precision 64 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1287 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u64, mediump> mediump_u64vec4
-
- -

Medium precision 64 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1291 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 mediump_u8
-
- -

Medium precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 819 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<u8, mediump> mediump_u8vec1
-
- -

Medium precision 8 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 961 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<u8, mediump> mediump_u8vec2
-
- -

Medium precision 8 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 965 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<u8, mediump> mediump_u8vec3
-
- -

Medium precision 8 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 969 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<u8, mediump> mediump_u8vec4
-
- -

Medium precision 8 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 973 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 mediump_uint16
-
- -

Medium precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 791 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 mediump_uint16_t
-
- -

Medium precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 807 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 mediump_uint32
-
- -

Medium precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 795 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 mediump_uint32_t
-
- -

Medium precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 811 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 mediump_uint64
-
- -

Medium precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 799 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 mediump_uint64_t
-
- -

Medium precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 815 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 mediump_uint8
-
- -

Medium precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 787 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 mediump_uint8_t
-
- -

Medium precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 803 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_vec1_t mediump_vec1
-
- -

Medium single-precision floating-point vector of 1 component.

-

1 component vector of medium precision floating-point numbers.

-
See also
GLM_GTC_type_precision
-

There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.
- -

Definition at line 1580 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 u16
-
- -

16 bit unsigned integer type.

-

Default precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 930 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< u16, defaultp > u16vec1
-
- -

Default precision 16 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1085 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< u16, defaultp > u16vec2
-
- -

Default precision 16 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1089 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< u16, defaultp > u16vec3
-
- -

Default precision 16 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1093 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< u16, defaultp > u16vec4
-
- -

Default precision 16 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1097 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 u32
-
- -

32 bit unsigned integer type.

-

Default precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 934 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< u32, defaultp > u32vec1
-
- -

Default precision 32 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1164 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< u32, defaultp > u32vec2
-
- -

Default precision 32 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1168 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< u32, defaultp > u32vec3
-
- -

Default precision 32 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1172 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< u32, defaultp > u32vec4
-
- -

Default precision 32 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1176 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 u64
-
- -

64 bit unsigned integer type.

-

Default precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 938 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< u64, defaultp > u64vec1
-
- -

Default precision 64 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1323 of file fwd.hpp.

- -
- -
-
- - - - -
typedef tvec2< u64, defaultp > u64vec2
-
- -

Default precision 64 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1327 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< u64, defaultp > u64vec3
-
- -

Default precision 64 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1331 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec4< u64, defaultp > u64vec4
-
- -

Default precision 64 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1335 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 u8
-
- -

8 bit unsigned integer type.

-

Default precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 926 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec1< u8, defaultp > u8vec1
-
- -

Default precision 8 bit unsigned integer scalar type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1005 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec2< u8, defaultp > u8vec2
-
- -

Default precision 8 bit unsigned integer vector of 2 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1009 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef tvec3< u8, defaultp > u8vec3
-
- -

Default precision 8 bit unsigned integer vector of 3 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1013 of file fwd.hpp.

-
-
- +
- + + + + +
typedef tvec4< u8, defaultp > u8vec4GLM_FUNC_DECL tvec2<T, defaultp> glm::circularRand (Radius)
-

Default precision 8 bit unsigned integer vector of 4 components type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 1017 of file fwd.hpp.

+

Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See also
GLM_GTC_random
- +
- + + + + +
typedef detail::uint16 uint16GLM_FUNC_DECL tvec2<T, defaultp> glm::diskRand (Radius)
-

16 bit unsigned integer type.

-

Default precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 230 of file type_int.hpp.

+

Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See also
GLM_GTC_random
- +
- + + + + -
typedef detail::uint16 uint16_tGLM_FUNC_DECL genType glm::gaussRand (genType Mean,
-
- -

16 bit unsigned integer type.

-

Default precision 16 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 913 of file fwd.hpp.

- -
-
- -
-
- - + + + + -
typedef detail::uint32 uint32genType Deviation 
-
- -

32 bit unsigned integer type.

-

Default precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 231 of file type_int.hpp.

- -
-
- -
-
- - + + +
typedef detail::uint32 uint32_t)
-

32 bit unsigned integer type.

-

Default precision 32 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 917 of file fwd.hpp.

+

Generate random numbers in the interval [Min, Max], according a gaussian distribution.

+
Parameters
+ + + +
Mean
Deviation
+
+
+
See also
GLM_GTC_random
- +
- + + + + -
typedef detail::uint64 uint64GLM_FUNC_DECL genTYpe glm::linearRand (genTYpe Min,
-
- -

64 bit unsigned integer type.

-

Default precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 232 of file type_int.hpp.

- -
-
- -
-
- - + + + + -
typedef detail::uint64 uint64_tgenTYpe Max 
-
- -

64 bit unsigned integer type.

-

Default precision 64 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 921 of file fwd.hpp.

- -
-
- -
-
- - + + +
typedef detail::uint8 uint8)
-

8 bit unsigned integer type.

-

Default precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 229 of file type_int.hpp.

+

Generate random numbers in the interval [Min, Max], according a linear distribution.

+
Parameters
+ + + +
Min
Max
+
+
+
Template Parameters
+ + +
genTypeValue type. Currently supported: half (not recommanded), float or double scalars and vectors.
+
+
+
See also
GLM_GTC_random
- +
- + + + + +
typedef detail::uint8 uint8_tGLM_FUNC_DECL tvec3<T, defaultp> glm::sphericalRand (Radius)
-

8 bit unsigned integer type.

-

Default precision 8 bit unsigned integer type.

-
See also
GLM_GTC_type_precision
- -

Definition at line 909 of file fwd.hpp.

+

Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See also
GLM_GTC_random
@@ -8809,7 +251,7 @@ Typedefs diff --git a/doc/api/a00179.html b/doc/api/a00179.html index 3f543e87..05351a43 100644 --- a/doc/api/a00179.html +++ b/doc/api/a00179.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_type_ptr + +0.9.7: GLM_GTC_reciprocal @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL tmat2x2< T,
-defaultp > 
make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T,
-defaultp > 
make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x3< T,
-defaultp > 
make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x4< T,
-defaultp > 
make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T,
-defaultp > 
make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x2< T,
-defaultp > 
make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T,
-defaultp > 
make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x4< T,
-defaultp > 
make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x2< T,
-defaultp > 
make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x3< T,
-defaultp > 
make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tquat< T, defaultp > make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec4< T, defaultp > make_vec4 (T const *const ptr)
 
template<typename genType >
GLM_FUNC_DECL
-genType::value_type const * 
value_ptr (genType const &vec)
 
template<typename genType >
GLM_FUNC_DECL genType acot (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 

Detailed Description

-

Handles the interaction between pointers and vector, matrix types.

-

This extension defines an overloaded function, glm::value_ptr, which takes any of the core template types. It returns a pointer to the memory layout of the object. Matrix types store their values in column-major order.

-

This is useful for uploading data to matrices or copying data to buffer objects.

-

Example:

#include <glm/glm.hpp>
- -
-
glm::vec3 aVector(3);
-
glm::mat4 someMatrix(1.0);
-
-
glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector));
-
glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix));
-

<glm/gtc/type_ptr.hpp> need to be included to use these functionalities.

+

Define secant, cosecant and cotangent functions.

+

<glm/gtc/reciprocal.hpp> need to be included to use these features.

Function Documentation

- +
- - - - - - -
GLM_FUNC_DECL tmat2x2<T, defaultp> glm::make_mat2 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat2x2<T, defaultp> glm::make_mat2x2 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat2x3<T, defaultp> glm::make_mat2x3 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat2x4<T, defaultp> glm::make_mat2x4 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, defaultp> glm::make_mat3 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x2<T, defaultp> glm::make_mat3x2 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, defaultp> glm::make_mat3x3 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x4<T, defaultp> glm::make_mat3x4 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::make_mat4 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x2<T, defaultp> glm::make_mat4x2 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x3<T, defaultp> glm::make_mat4x3 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::make_mat4x4 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tquat<T, defaultp> glm::make_quat (T const *const ptr)
-
- -

Build a quaternion from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tvec2<T, defaultp> glm::make_vec2 (T const *const ptr)
-
- -

Build a vector from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tvec3<T, defaultp> glm::make_vec3 (T const *const ptr)
-
- -

Build a vector from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tvec4<T, defaultp> glm::make_vec4 (T const *const ptr)
-
- -

Build a vector from a pointer.

-
See also
GLM_GTC_type_ptr
- -
-
- -
-
- - - + - +
GLM_FUNC_DECL genType::value_type const* glm::value_ptr GLM_FUNC_DECL genType glm::acot ( genType const & vec)x)
-

Return the constant address to the data of the input parameter.

-
See also
GLM_GTC_type_ptr
+

Inverse cotangent function.

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acoth (genType const & x)
+
+ +

Inverse cotangent hyperbolic function.

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acsc (genType const & x)
+
+ +

Inverse cosecant function.

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acsch (genType const & x)
+
+ +

Inverse cosecant hyperbolic function.

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::asec (genType const & x)
+
+ +

Inverse secant function.

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::asech (genType const & x)
+
+ +

Inverse secant hyperbolic function.

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::cot (genType const & angle)
+
+ +

Cotangent function.

+

adjacent / opposite or 1 / tan(x)

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::coth (genType const & angle)
+
+ +

Cotangent hyperbolic function.

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::csc (genType const & angle)
+
+ +

Cosecant function.

+

hypotenuse / opposite or 1 / sin(x)

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::csch (genType const & angle)
+
+ +

Cosecant hyperbolic function.

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::sec (genType const & angle)
+
+ +

Secant function.

+

hypotenuse / adjacent or 1 / cos(x)

+
See also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::sech (genType const & angle)
+
+ +

Secant hyperbolic function.

+
See also
GLM_GTC_reciprocal
@@ -452,7 +322,7 @@ genType::value_type const *  diff --git a/doc/api/a00180.html b/doc/api/a00180.html index e6a773eb..80c4bb91 100644 --- a/doc/api/a00180.html +++ b/doc/api/a00180.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_ulp + +0.9.7: GLM_GTC_round @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
GLM_FUNC_DECL vecType< uint > float_distance (vecType< T > const &x, vecType< T > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x, uint const &Distance)
 
template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilPowerOfTwo (vecType< T, P > const &value)
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorPowerOfTwo (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType Value, genIUType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, T Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isPowerOfTwo (vecType< T, P > const &value)
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundPowerOfTwo (vecType< T, P > const &value)
 

Detailed Description

-

Allow the measurement of the accuracy of a function against a reference implementation.

-

This extension works on floating-point data and provide results in ULP. <glm/gtc/ulp.hpp> need to be included to use these features.

+

rounding value to specific boundings

+

<glm/gtc/round.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - + + @@ -92,26 +125,39 @@ Functions
GLM_FUNC_DECL uint glm::float_distance GLM_FUNC_DECL genType glm::ceilMultiple (T const & x, genType Source,
T const & y genType Multiple 
-

Return the distance in the number of ULP between 2 scalars.

-
See also
GLM_GTC_ulp
+

Higher multiple number of Source.

+
Template Parameters
+ + +
genTypeFloating-point or integer scalar or vector types.
+
+
+
Parameters
+ + + +
Source
MultipleMust be a null or positive value
+
+
+
See also
GLM_GTC_round
- +
- + - - + + - - + + @@ -121,45 +167,77 @@ Functions
GLM_FUNC_DECL vecType<uint> glm::float_distance GLM_FUNC_DECL vecType<T, P> glm::ceilMultiple (vecType< T > const & x, vecType< T, P > const & Source,
vecType< T > const & y vecType< T, P > const & Multiple 
-

Return the distance in the number of ULP between 2 vectors.

-
See also
GLM_GTC_ulp
+

Higher multiple number of Source.

+
Template Parameters
+ + +
genTypeFloating-point or integer scalar or vector types.
+
+
+
Parameters
+ + + +
Source
MultipleMust be a null or positive value
+
+
+
See also
GLM_GTC_round
- +
- + - - + +
GLM_FUNC_DECL genType glm::next_float GLM_FUNC_DECL genIUType glm::ceilPowerOfTwo (genType const & x)genIUType Value)
-

Return the next ULP value(s) after the input value(s).

-
See also
GLM_GTC_ulp
+

Return the power of two number which value is just higher the input value, round up to a power of two.

+
See also
GLM_GTC_round
- +
- + - - + + + + +
GLM_FUNC_DECL genType glm::next_float GLM_FUNC_DECL vecType<T, P> glm::ceilPowerOfTwo (genType const & x, vecType< T, P > const & value)
+
+ +

Return the power of two number which value is just higher the input value, round up to a power of two.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + - - + + @@ -169,45 +247,39 @@ Functions
GLM_FUNC_DECL genType glm::floorMultiple (genType Source,
uint const & Distance genType Multiple 
-

Return the value(s) ULP distance after the input value(s).

-
See also
GLM_GTC_ulp
+

Lower multiple number of Source.

+
Template Parameters
+ + +
genTypeFloating-point or integer scalar or vector types.
+
+
+
Parameters
+ + + +
Source
MultipleMust be a null or positive value
+
+
+
See also
GLM_GTC_round
- +
- + - - - - -
GLM_FUNC_DECL genType glm::prev_float GLM_FUNC_DECL vecType<T, P> glm::floorMultiple (genType const & x)
-
- -

Return the previous ULP value(s) before the input value(s).

-
See also
GLM_GTC_ulp
- -
-
- -
-
- - - - - - + + - - + + @@ -217,8 +289,306 @@ Functions
GLM_FUNC_DECL genType glm::prev_float (genType const & x, vecType< T, P > const & Source,
uint const & Distance vecType< T, P > const & Multiple 
-

Return the value(s) ULP distance before the input value(s).

-
See also
GLM_GTC_ulp
+

Lower multiple number of Source.

+
Template Parameters
+ + +
genTypeFloating-point or integer scalar or vector types.
+
+
+
Parameters
+ + + +
Source
MultipleMust be a null or positive value
+
+
+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType glm::floorPowerOfTwo (genIUType Value)
+
+ +

Return the power of two number which value is just lower the input value, round down to a power of two.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::floorPowerOfTwo (vecType< T, P > const & value)
+
+ +

Return the power of two number which value is just lower the input value, round down to a power of two.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::isMultiple (genIUType Value,
genIUType Multiple 
)
+
+ +

Return true if the 'Value' is a multiple of 'Multiple'.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::isMultiple (vecType< T, P > const & Value,
Multiple 
)
+
+ +

Return true if the 'Value' is a multiple of 'Multiple'.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::isMultiple (vecType< T, P > const & Value,
vecType< T, P > const & Multiple 
)
+
+ +

Return true if the 'Value' is a multiple of 'Multiple'.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL bool glm::isPowerOfTwo (genIUType Value)
+
+ +

Return true if the value is a power of two number.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::isPowerOfTwo (vecType< T, P > const & value)
+
+ +

Return true if the value is a power of two number.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::roundMultiple (genType Source,
genType Multiple 
)
+
+ +

Lower multiple number of Source.

+
Template Parameters
+ + +
genTypeFloating-point or integer scalar or vector types.
+
+
+
Parameters
+ + + +
Source
MultipleMust be a null or positive value
+
+
+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::roundMultiple (vecType< T, P > const & Source,
vecType< T, P > const & Multiple 
)
+
+ +

Lower multiple number of Source.

+
Template Parameters
+ + +
genTypeFloating-point or integer scalar or vector types.
+
+
+
Parameters
+ + + +
Source
MultipleMust be a null or positive value
+
+
+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType glm::roundPowerOfTwo (genIUType Value)
+
+ +

Return the power of two number which value is the closet to the input value.

+
See also
GLM_GTC_round
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::roundPowerOfTwo (vecType< T, P > const & value)
+
+ +

Return the power of two number which value is the closet to the input value.

+
See also
GLM_GTC_round
@@ -227,7 +597,7 @@ Functions diff --git a/doc/api/a00181.html b/doc/api/a00181.html index 5b5dc92c..acf16f89 100644 --- a/doc/api/a00181.html +++ b/doc/api/a00181.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTC_vec1 + +0.9.7: GLM_GTC_type_precision @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+ +
GLM_GTC_type_precision
-

Add vec1, ivec1, uvec1 and bvec1 types.

-

<glm/gtc/vec1.hpp> need to be included to use these functionalities.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_float32_t f32
 
typedef f32mat2x2 f32mat2
 
typedef highp_f32mat2x2 f32mat2x2
 
typedef highp_f32mat2x3 f32mat2x3
 
typedef highp_f32mat2x4 f32mat2x4
 
typedef f32mat3x3 f32mat3
 
typedef highp_f32mat3x2 f32mat3x2
 
typedef highp_f32mat3x3 f32mat3x3
 
typedef highp_f32mat3x4 f32mat3x4
 
typedef f32mat4x4 f32mat4
 
typedef highp_f32mat4x2 f32mat4x2
 
typedef highp_f32mat4x3 f32mat4x3
 
typedef highp_f32mat4x4 f32mat4x4
 
typedef highp_f32quat f32quat
 
typedef highp_f32vec1 f32vec1
 
typedef highp_f32vec2 f32vec2
 
typedef highp_f32vec3 f32vec3
 
typedef highp_f32vec4 f32vec4
 
typedef highp_float64_t f64
 
typedef f64mat2x2 f64mat2
 
typedef highp_f64mat2x2 f64mat2x2
 
typedef highp_f64mat2x3 f64mat2x3
 
typedef highp_f64mat2x4 f64mat2x4
 
typedef f64mat3x3 f64mat3
 
typedef highp_f64mat3x2 f64mat3x2
 
typedef highp_f64mat3x3 f64mat3x3
 
typedef highp_f64mat3x4 f64mat3x4
 
typedef f64mat4x4 f64mat4
 
typedef highp_f64mat4x2 f64mat4x2
 
typedef highp_f64mat4x3 f64mat4x3
 
typedef highp_f64mat4x4 f64mat4x4
 
typedef highp_f64quat f64quat
 
typedef highp_f64vec1 f64vec1
 
typedef highp_f64vec2 f64vec2
 
typedef highp_f64vec3 f64vec3
 
typedef highp_f64vec4 f64vec4
 
typedef float float32
 
typedef highp_float32_t float32_t
 
typedef double float64
 
typedef highp_float64_t float64_t
 
typedef fmat2x2 fmat2
 
typedef highp_f32mat2x2 fmat2x2
 
typedef highp_f32mat2x3 fmat2x3
 
typedef highp_f32mat2x4 fmat2x4
 
typedef fmat3x3 fmat3
 
typedef highp_f32mat3x2 fmat3x2
 
typedef highp_f32mat3x3 fmat3x3
 
typedef highp_f32mat3x4 fmat3x4
 
typedef fmat4x4 fmat4
 
typedef highp_f32mat4x2 fmat4x2
 
typedef highp_f32mat4x3 fmat4x3
 
typedef highp_f32mat4x4 fmat4x4
 
typedef highp_f32vec1 fvec1
 
typedef highp_f32vec2 fvec2
 
typedef highp_f32vec3 fvec3
 
typedef highp_f32vec4 fvec4
 
typedef detail::int16 highp_i16
 
typedef detail::int32 highp_i32
 
typedef detail::int64 highp_i64
 
typedef detail::int8 highp_i8
 
typedef detail::int16 highp_int16
 
typedef detail::int16 highp_int16_t
 
typedef detail::int32 highp_int32
 
typedef detail::int32 highp_int32_t
 
typedef detail::int64 highp_int64
 
typedef detail::int64 highp_int64_t
 
typedef detail::int8 highp_int8
 
typedef detail::int8 highp_int8_t
 
typedef detail::uint16 highp_u16
 
typedef detail::uint32 highp_u32
 
typedef detail::uint64 highp_u64
 
typedef detail::uint8 highp_u8
 
typedef detail::uint16 highp_uint16
 
typedef detail::uint16 highp_uint16_t
 
typedef detail::uint32 highp_uint32
 
typedef detail::uint32 highp_uint32_t
 
typedef detail::uint64 highp_uint64
 
typedef detail::uint64 highp_uint64_t
 
typedef detail::uint8 highp_uint8
 
typedef detail::uint8 highp_uint8_t
 
typedef detail::int16 i16
 
typedef highp_i16vec1 i16vec1
 
typedef highp_i16vec2 i16vec2
 
typedef highp_i16vec3 i16vec3
 
typedef highp_i16vec4 i16vec4
 
typedef detail::int32 i32
 
typedef highp_i32vec1 i32vec1
 
typedef highp_i32vec2 i32vec2
 
typedef highp_i32vec3 i32vec3
 
typedef highp_i32vec4 i32vec4
 
typedef detail::int64 i64
 
typedef highp_i64vec1 i64vec1
 
typedef highp_i64vec2 i64vec2
 
typedef highp_i64vec3 i64vec3
 
typedef highp_i64vec4 i64vec4
 
typedef detail::int8 i8
 
typedef highp_i8vec1 i8vec1
 
typedef highp_i8vec2 i8vec2
 
typedef highp_i8vec3 i8vec3
 
typedef highp_i8vec4 i8vec4
 
typedef detail::int16 int16
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8
 
typedef detail::int8 int8_t
 
typedef detail::int16 lowp_i16
 
typedef detail::int32 lowp_i32
 
typedef detail::int64 lowp_i64
 
typedef detail::int8 lowp_i8
 
typedef detail::int16 lowp_int16
 
typedef detail::int16 lowp_int16_t
 
typedef detail::int32 lowp_int32
 
typedef detail::int32 lowp_int32_t
 
typedef detail::int64 lowp_int64
 
typedef detail::int64 lowp_int64_t
 
typedef detail::int8 lowp_int8
 
typedef detail::int8 lowp_int8_t
 
typedef detail::uint16 lowp_u16
 
typedef detail::uint32 lowp_u32
 
typedef detail::uint64 lowp_u64
 
typedef detail::uint8 lowp_u8
 
typedef detail::uint16 lowp_uint16
 
typedef detail::uint16 lowp_uint16_t
 
typedef detail::uint32 lowp_uint32
 
typedef detail::uint32 lowp_uint32_t
 
typedef detail::uint64 lowp_uint64
 
typedef detail::uint64 lowp_uint64_t
 
typedef detail::uint8 lowp_uint8
 
typedef detail::uint8 lowp_uint8_t
 
typedef detail::int16 mediump_i16
 
typedef detail::int32 mediump_i32
 
typedef detail::int64 mediump_i64
 
typedef detail::int8 mediump_i8
 
typedef detail::int16 mediump_int16
 
typedef detail::int16 mediump_int16_t
 
typedef detail::int32 mediump_int32
 
typedef detail::int32 mediump_int32_t
 
typedef detail::int64 mediump_int64
 
typedef detail::int64 mediump_int64_t
 
typedef detail::int8 mediump_int8
 
typedef detail::int8 mediump_int8_t
 
typedef detail::uint16 mediump_u16
 
typedef detail::uint32 mediump_u32
 
typedef detail::uint64 mediump_u64
 
typedef detail::uint8 mediump_u8
 
typedef detail::uint16 mediump_uint16
 
typedef detail::uint16 mediump_uint16_t
 
typedef detail::uint32 mediump_uint32
 
typedef detail::uint32 mediump_uint32_t
 
typedef detail::uint64 mediump_uint64
 
typedef detail::uint64 mediump_uint64_t
 
typedef detail::uint8 mediump_uint8
 
typedef detail::uint8 mediump_uint8_t
 
typedef detail::uint16 u16
 
typedef highp_u16vec1 u16vec1
 
typedef highp_u16vec2 u16vec2
 
typedef highp_u16vec3 u16vec3
 
typedef highp_u16vec4 u16vec4
 
typedef detail::uint32 u32
 
typedef highp_u32vec1 u32vec1
 
typedef highp_u32vec2 u32vec2
 
typedef highp_u32vec3 u32vec3
 
typedef highp_u32vec4 u32vec4
 
typedef detail::uint64 u64
 
typedef highp_u64vec1 u64vec1
 
typedef highp_u64vec2 u64vec2
 
typedef highp_u64vec3 u64vec3
 
typedef highp_u64vec4 u64vec4
 
typedef detail::uint8 u8
 
typedef highp_u8vec1 u8vec1
 
typedef highp_u8vec2 u8vec2
 
typedef highp_u8vec3 u8vec3
 
typedef highp_u8vec4 u8vec4
 
typedef detail::uint16 uint16
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8
 
typedef detail::uint8 uint8_t
 
+

Detailed Description

+

Defines specific C++-based precision types.

+

Precision types defines types based on GLSL's precision qualifiers. This extension defines types based on explicitly-sized C++ data types.

+

<glm/gtc/type_precision.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef float32 f32
+
+ +

Default 32 bit single-precision floating-point scalar.

+

32 bit single-precision floating-point scalar.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1534 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< f32, defaultp > f32mat2
+
+ +

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2478 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< f32, defaultp > f32mat2x2
+
+ +

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2442 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3< f32, defaultp > f32mat2x3
+
+ +

Default single-precision floating-point 2x3 matrix.

+

Single-precision floating-point 2x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2446 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4< f32, defaultp > f32mat2x4
+
+ +

Default single-precision floating-point 2x4 matrix.

+

Single-precision floating-point 2x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2450 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< f32, defaultp > f32mat3
+
+ +

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2482 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2< f32, defaultp > f32mat3x2
+
+ +

Default single-precision floating-point 3x2 matrix.

+

Single-precision floating-point 3x2 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2454 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< f32, defaultp > f32mat3x3
+
+ +

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2458 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4< f32, defaultp > f32mat3x4
+
+ +

Default single-precision floating-point 3x4 matrix.

+

Single-precision floating-point 3x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2462 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< f32, defaultp > f32mat4
+
+ +

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2486 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2< f32, defaultp > f32mat4x2
+
+ +

Default single-precision floating-point 4x2 matrix.

+

Single-precision floating-point 4x2 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2466 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3< f32, defaultp > f32mat4x3
+
+ +

Default single-precision floating-point 4x3 matrix.

+

Single-precision floating-point 4x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2470 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< f32, defaultp > f32mat4x4
+
+ +

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2474 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tquat< f32, defaultp > f32quat
+
+ +

Default single-precision floating-point quaternion.

+

Single-precision floating-point quaternion.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2490 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< f32, defaultp > f32vec1
+
+ +

Default single-precision floating-point vector of 1 components.

+

Single-precision floating-point vector of 1 component.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2426 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< f32, defaultp > f32vec2
+
+ +

Default single-precision floating-point vector of 2 components.

+

Single-precision floating-point vector of 2 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2430 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< f32, defaultp > f32vec3
+
+ +

Default single-precision floating-point vector of 3 components.

+

Single-precision floating-point vector of 3 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2434 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< f32, defaultp > f32vec4
+
+ +

Default single-precision floating-point vector of 4 components.

+

Single-precision floating-point vector of 4 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2438 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef float64 f64
+
+ +

Default 64 bit double-precision floating-point scalar.

+

64 bit double-precision floating-point scalar.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1538 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< f64, defaultp > f64mat2
+
+ +

Default double-precision floating-point 2x2 matrix.

+

Double-precision floating-point 1x1 matrix.

+
See also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2584 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< f64, defaultp > f64mat2x2
+
+ +

Default double-precision floating-point 2x2 matrix.

+

Double-precision floating-point 1x1 matrix.

+
See also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2548 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3< f64, defaultp > f64mat2x3
+
+ +

Default double-precision floating-point 2x3 matrix.

+

Double-precision floating-point 2x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2552 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4< f64, defaultp > f64mat2x4
+
+ +

Default double-precision floating-point 2x4 matrix.

+

Double-precision floating-point 2x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2556 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< f64, defaultp > f64mat3
+
+ +

Default double-precision floating-point 3x3 matrix.

+

Double-precision floating-point 3x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2588 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2< f64, defaultp > f64mat3x2
+
+ +

Default double-precision floating-point 3x2 matrix.

+

Double-precision floating-point 3x2 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2560 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< f64, defaultp > f64mat3x3
+
+ +

Default double-precision floating-point 3x3 matrix.

+

Double-precision floating-point 3x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2564 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4< f64, defaultp > f64mat3x4
+
+ +

Default double-precision floating-point 3x4 matrix.

+

Double-precision floating-point 3x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2568 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< f64, defaultp > f64mat4
+
+ +

Default double-precision floating-point 4x4 matrix.

+

Double-precision floating-point 4x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2592 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2< f64, defaultp > f64mat4x2
+
+ +

Default double-precision floating-point 4x2 matrix.

+

Double-precision floating-point 4x2 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2572 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3< f64, defaultp > f64mat4x3
+
+ +

Default double-precision floating-point 4x3 matrix.

+

Double-precision floating-point 4x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2576 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< f64, defaultp > f64mat4x4
+
+ +

Default double-precision floating-point 4x4 matrix.

+

Double-precision floating-point 4x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2580 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tquat< f64, defaultp > f64quat
+
+ +

Default double-precision floating-point quaternion.

+

Double-precision floating-point quaternion.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2596 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< f64, defaultp > f64vec1
+
+ +

Default double-precision floating-point vector of 1 components.

+

Double-precision floating-point vector of 1 component.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2532 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< f64, defaultp > f64vec2
+
+ +

Default double-precision floating-point vector of 2 components.

+

Double-precision floating-point vector of 2 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2536 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< f64, defaultp > f64vec3
+
+ +

Default double-precision floating-point vector of 3 components.

+

Double-precision floating-point vector of 3 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2540 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< f64, defaultp > f64vec4
+
+ +

Default double-precision floating-point vector of 4 components.

+

Double-precision floating-point vector of 4 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2544 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 float32
+
+ +

Default 32 bit single-precision floating-point scalar.

+

32 bit single-precision floating-point scalar.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 84 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 float32_t
+
+ +

Default 32 bit single-precision floating-point scalar.

+

32 bit single-precision floating-point scalar.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1526 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 float64
+
+ +

Default 64 bit double-precision floating-point scalar.

+

64 bit double-precision floating-point scalar.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 85 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 float64_t
+
+ +

Default 64 bit double-precision floating-point scalar.

+

64 bit double-precision floating-point scalar.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1530 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< f32, defaultp > fmat2
+
+ +

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2408 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x2< f32, defaultp > fmat2x2
+
+ +

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2372 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x3< f32, defaultp > fmat2x3
+
+ +

Default single-precision floating-point 2x3 matrix.

+

Single-precision floating-point 2x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2376 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat2x4< f32, defaultp > fmat2x4
+
+ +

Default single-precision floating-point 2x4 matrix.

+

Single-precision floating-point 2x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2380 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< f32, defaultp > fmat3
+
+ +

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2412 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x2< f32, defaultp > fmat3x2
+
+ +

Default single-precision floating-point 3x2 matrix.

+

Single-precision floating-point 3x2 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2384 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x3< f32, defaultp > fmat3x3
+
+ +

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2388 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat3x4< f32, defaultp > fmat3x4
+
+ +

Default single-precision floating-point 3x4 matrix.

+

Single-precision floating-point 3x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2392 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< f32, defaultp > fmat4
+
+ +

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2416 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x2< f32, defaultp > fmat4x2
+
+ +

Default single-precision floating-point 4x2 matrix.

+

Single-precision floating-point 4x2 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2396 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x3< f32, defaultp > fmat4x3
+
+ +

Default single-precision floating-point 4x3 matrix.

+

Single-precision floating-point 4x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2400 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tmat4x4< f32, defaultp > fmat4x4
+
+ +

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2404 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< float, defaultp > fvec1
+
+ +

Default single-precision floating-point vector of 1 components.

+

Single-precision floating-point vector of 1 component.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2356 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< float, defaultp > fvec2
+
+ +

Default single-precision floating-point vector of 2 components.

+

Single-precision floating-point vector of 2 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2360 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< float, defaultp > fvec3
+
+ +

Default single-precision floating-point vector of 3 components.

+

Single-precision floating-point vector of 3 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2364 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< float, defaultp > fvec4
+
+ +

Default single-precision floating-point vector of 4 components.

+

Single-precision floating-point vector of 4 components.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2368 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 highp_i16
+
+ +

High precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 261 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 highp_i32
+
+ +

High precision 32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 265 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 highp_i64
+
+ +

High precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 269 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 highp_i8
+
+ +

High precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 257 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 highp_int16
+
+ +

High precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 229 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 highp_int16_t
+
+ +

High precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 245 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 highp_int32
+
+ +

High precision 32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 233 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 highp_int32_t
+
+ +

32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 249 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 highp_int64
+
+ +

High precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 237 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 highp_int64_t
+
+ +

High precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 253 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 highp_int8
+
+ +

High precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 225 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 highp_int8_t
+
+ +

High precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 241 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 highp_u16
+
+ +

Medium precision 16 bit unsigned integer type.

+

High precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 870 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 highp_u32
+
+ +

Medium precision 32 bit unsigned integer type.

+

High precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 874 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 highp_u64
+
+ +

Medium precision 64 bit unsigned integer type.

+

High precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 878 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 highp_u8
+
+ +

Medium precision 8 bit unsigned integer type.

+

High precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 866 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 highp_uint16
+
+ +

Medium precision 16 bit unsigned integer type.

+

High precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 838 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 highp_uint16_t
+
+ +

Medium precision 16 bit unsigned integer type.

+

High precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 854 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 highp_uint32
+
+ +

Medium precision 32 bit unsigned integer type.

+

High precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 842 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 highp_uint32_t
+
+ +

Medium precision 32 bit unsigned integer type.

+

High precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 858 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 highp_uint64
+
+ +

Medium precision 64 bit unsigned integer type.

+

High precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 846 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 highp_uint64_t
+
+ +

Medium precision 64 bit unsigned integer type.

+

High precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 862 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 highp_uint8
+
+ +

Medium precision 8 bit unsigned integer type.

+

High precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 834 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 highp_uint8_t
+
+ +

Medium precision 8 bit unsigned integer type.

+

High precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 850 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 i16
+
+ +

16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 318 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< i16, defaultp > i16vec1
+
+ +

Default precision 16 bit signed integer scalar type.

+

16 bit signed integer scalar type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 473 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< i16, defaultp > i16vec2
+
+ +

Default precision 16 bit signed integer vector of 2 components type.

+

16 bit signed integer vector of 2 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 477 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< i16, defaultp > i16vec3
+
+ +

Default precision 16 bit signed integer vector of 3 components type.

+

16 bit signed integer vector of 3 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 481 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< i16, defaultp > i16vec4
+
+ +

Default precision 16 bit signed integer vector of 4 components type.

+

16 bit signed integer vector of 4 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 485 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 i32
+
+ +

32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 322 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< i32, defaultp > i32vec1
+
+ +

Default precision 32 bit signed integer scalar type.

+

32 bit signed integer scalar type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 552 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< i32, defaultp > i32vec2
+
+ +

Default precision 32 bit signed integer vector of 2 components type.

+

32 bit signed integer vector of 2 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 556 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< i32, defaultp > i32vec3
+
+ +

Default precision 32 bit signed integer vector of 3 components type.

+

32 bit signed integer vector of 3 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 560 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< i32, defaultp > i32vec4
+
+ +

Default precision 32 bit signed integer vector of 4 components type.

+

32 bit signed integer vector of 4 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 564 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 i64
+
+ +

64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 326 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< i64, defaultp > i64vec1
+
+ +

Default precision 64 bit signed integer scalar type.

+

64 bit signed integer scalar type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 711 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< i64, defaultp > i64vec2
+
+ +

Default precision 64 bit signed integer vector of 2 components type.

+

64 bit signed integer vector of 2 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 715 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< i64, defaultp > i64vec3
+
+ +

Default precision 64 bit signed integer vector of 3 components type.

+

64 bit signed integer vector of 3 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 719 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< i64, defaultp > i64vec4
+
+ +

Default precision 64 bit signed integer vector of 4 components type.

+

64 bit signed integer vector of 4 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 723 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 i8
+
+ +

8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 314 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< i8, defaultp > i8vec1
+
+ +

Default precision 8 bit signed integer scalar type.

+

8 bit signed integer scalar type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 393 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< i8, defaultp > i8vec2
+
+ +

Default precision 8 bit signed integer vector of 2 components type.

+

8 bit signed integer vector of 2 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 397 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< i8, defaultp > i8vec3
+
+ +

Default precision 8 bit signed integer vector of 3 components type.

+

8 bit signed integer vector of 3 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 401 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< i8, defaultp > i8vec4
+
+ +

Default precision 8 bit signed integer vector of 4 components type.

+

8 bit signed integer vector of 4 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 405 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 int16
+
+ +

16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 227 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 int16_t
+
+ +

16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 301 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 int32
+
+ +

32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 228 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 int32_t
+
+ +

32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 305 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 int64
+
+ +

64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 229 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 int64_t
+
+ +

64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 309 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 int8
+
+ +

8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 226 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 int8_t
+
+ +

8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 297 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 lowp_i16
+
+ +

Low precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 165 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 lowp_i32
+
+ +

Low precision 32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 169 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 lowp_i64
+
+ +

Low precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 173 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 lowp_i8
+
+ +

Low precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 161 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 lowp_int16
+
+ +

Low precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 133 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 lowp_int16_t
+
+ +

Low precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 149 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 lowp_int32
+
+ +

Low precision 32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 137 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 lowp_int32_t
+
+ +

Low precision 32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 153 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 lowp_int64
+
+ +

Low precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 141 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 lowp_int64_t
+
+ +

Low precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 157 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 lowp_int8
+
+ +

Low precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 129 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 lowp_int8_t
+
+ +

Low precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 145 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 lowp_u16
+
+ +

Low precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 770 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 lowp_u32
+
+ +

Low precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 774 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 lowp_u64
+
+ +

Low precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 778 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 lowp_u8
+
+ +

Low precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 766 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 lowp_uint16
+
+ +

Low precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 736 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 lowp_uint16_t
+
+ +

Low precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 753 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 lowp_uint32
+
+ +

Low precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 740 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 lowp_uint32_t
+
+ +

Low precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 757 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 lowp_uint64
+
+ +

Low precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 744 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 lowp_uint64_t
+
+ +

Low precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 761 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 lowp_uint8
+
+ +

Low precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 732 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 lowp_uint8_t
+
+ +

Low precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 749 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 mediump_i16
+
+ +

Medium precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 213 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 mediump_i32
+
+ +

Medium precision 32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 217 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 mediump_i64
+
+ +

Medium precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 221 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 mediump_i8
+
+ +

Medium precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 209 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 mediump_int16
+
+ +

Medium precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 181 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 mediump_int16_t
+
+ +

Medium precision 16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 197 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 mediump_int32
+
+ +

Medium precision 32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 185 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 mediump_int32_t
+
+ +

Medium precision 32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 201 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 mediump_int64
+
+ +

Medium precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 189 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 mediump_int64_t
+
+ +

Medium precision 64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 205 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 mediump_int8
+
+ +

Medium precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 177 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 mediump_int8_t
+
+ +

Medium precision 8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 193 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 mediump_u16
+
+ +

Medium precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 820 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 mediump_u32
+
+ +

Medium precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 824 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 mediump_u64
+
+ +

Medium precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 828 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 mediump_u8
+
+ +

Medium precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 816 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 mediump_uint16
+
+ +

Medium precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 788 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 mediump_uint16_t
+
+ +

Medium precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 804 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 mediump_uint32
+
+ +

Medium precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 792 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 mediump_uint32_t
+
+ +

Medium precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 808 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 mediump_uint64
+
+ +

Medium precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 796 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 mediump_uint64_t
+
+ +

Medium precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 812 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 mediump_uint8
+
+ +

Medium precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 784 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 mediump_uint8_t
+
+ +

Medium precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 800 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 u16
+
+ +

16 bit unsigned integer type.

+

Default precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 927 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< u16, defaultp > u16vec1
+
+ +

Default precision 16 bit unsigned integer scalar type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1082 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< u16, defaultp > u16vec2
+
+ +

Default precision 16 bit unsigned integer vector of 2 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1086 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< u16, defaultp > u16vec3
+
+ +

Default precision 16 bit unsigned integer vector of 3 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1090 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< u16, defaultp > u16vec4
+
+ +

Default precision 16 bit unsigned integer vector of 4 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1094 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 u32
+
+ +

32 bit unsigned integer type.

+

Default precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 931 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< u32, defaultp > u32vec1
+
+ +

Default precision 32 bit unsigned integer scalar type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1161 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< u32, defaultp > u32vec2
+
+ +

Default precision 32 bit unsigned integer vector of 2 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1165 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< u32, defaultp > u32vec3
+
+ +

Default precision 32 bit unsigned integer vector of 3 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1169 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< u32, defaultp > u32vec4
+
+ +

Default precision 32 bit unsigned integer vector of 4 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1173 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 u64
+
+ +

64 bit unsigned integer type.

+

Default precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 935 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< u64, defaultp > u64vec1
+
+ +

Default precision 64 bit unsigned integer scalar type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1320 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< u64, defaultp > u64vec2
+
+ +

Default precision 64 bit unsigned integer vector of 2 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1324 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< u64, defaultp > u64vec3
+
+ +

Default precision 64 bit unsigned integer vector of 3 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1328 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< u64, defaultp > u64vec4
+
+ +

Default precision 64 bit unsigned integer vector of 4 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1332 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 u8
+
+ +

8 bit unsigned integer type.

+

Default precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 923 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec1< u8, defaultp > u8vec1
+
+ +

Default precision 8 bit unsigned integer scalar type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1002 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec2< u8, defaultp > u8vec2
+
+ +

Default precision 8 bit unsigned integer vector of 2 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1006 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec3< u8, defaultp > u8vec3
+
+ +

Default precision 8 bit unsigned integer vector of 3 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1010 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef tvec4< u8, defaultp > u8vec4
+
+ +

Default precision 8 bit unsigned integer vector of 4 components type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1014 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 uint16
+
+ +

16 bit unsigned integer type.

+

Default precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 232 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 uint16_t
+
+ +

16 bit unsigned integer type.

+

Default precision 16 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 910 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 uint32
+
+ +

32 bit unsigned integer type.

+

Default precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 233 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 uint32_t
+
+ +

32 bit unsigned integer type.

+

Default precision 32 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 914 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 uint64
+
+ +

64 bit unsigned integer type.

+

Default precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 234 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 uint64_t
+
+ +

64 bit unsigned integer type.

+

Default precision 64 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 918 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 uint8
+
+ +

8 bit unsigned integer type.

+

Default precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 231 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 uint8_t
+
+ +

8 bit unsigned integer type.

+

Default precision 8 bit unsigned integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 906 of file fwd.hpp.

+ +
+
diff --git a/doc/api/a00182.html b/doc/api/a00182.html index 215cffff..93bc49c4 100644 --- a/doc/api/a00182.html +++ b/doc/api/a00182.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_associated_min_max + +0.9.7: GLM_GTC_type_ptr @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL tvec2< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL tvec2< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (T x, const vecType< U, P > &a, T y, const vecType< U, P > &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultp > make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultp > make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x3< T, defaultp > make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x4< T, defaultp > make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultp > make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x2< T, defaultp > make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultp > make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x4< T, defaultp > make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x2< T, defaultp > make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x3< T, defaultp > make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tquat< T, defaultp > make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultp > make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultp > make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec4< T, defaultp > make_vec4 (T const *const ptr)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type const * value_ptr (genType const &vec)
 

Detailed Description

-

Min and max functions that return associated values not the compared onces.

-

<glm/gtx/associated_min_max.hpp> need to be included to use these functionalities.

+

Handles the interaction between pointers and vector, matrix types.

+

This extension defines an overloaded function, glm::value_ptr, which takes any of the core template types. It returns a pointer to the memory layout of the object. Matrix types store their values in column-major order.

+

This is useful for uploading data to matrices or copying data to buffer objects.

+

Example:

#include <glm/glm.hpp>
+ +
+
glm::vec3 aVector(3);
+
glm::mat4 someMatrix(1.0);
+
+
glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector));
+
glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix));
+

<glm/gtc/type_ptr.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL U glm::associatedMax GLM_FUNC_DECL tmat2x2<T, defaultp> glm::make_mat2 (x,
T const *const ptr) a,
y,
b 
)
-

Maximum comparison between 2 variables and returns 2 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec2<U, P> glm::associatedMax GLM_FUNC_DECL tmat2x2<T, defaultp> glm::make_mat2x2 (vecType< T, P > const & x,
T const *const ptr) vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b 
)
-

Maximum comparison between 2 variables and returns 2 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::associatedMax GLM_FUNC_DECL tmat2x3<T, defaultp> glm::make_mat2x3 (x,
T const *const ptr) vecType< U, P > const & a,
y,
vecType< U, P > const & b 
)
-

Maximum comparison between 2 variables and returns 2 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMax GLM_FUNC_DECL tmat2x4<T, defaultp> glm::make_mat2x4 (vecType< T, P > const & x,
T const *const ptr) a,
vecType< T, P > const & y,
b 
)
-

Maximum comparison between 2 variables and returns 2 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL U glm::associatedMax GLM_FUNC_DECL tmat3x3<T, defaultp> glm::make_mat3 (x,
T const *const ptr) a,
y,
b,
z,
c 
)
-

Maximum comparison between 3 variables and returns 3 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMax GLM_FUNC_DECL tmat3x2<T, defaultp> glm::make_mat3x2 (vecType< T, P > const & x,
T const *const ptr) vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b,
vecType< T, P > const & z,
vecType< U, P > const & c 
)
-

Maximum comparison between 3 variables and returns 3 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::associatedMax GLM_FUNC_DECL tmat3x3<T, defaultp> glm::make_mat3x3 (x,
T const *const ptr) vecType< U, P > const & a,
y,
vecType< U, P > const & b,
z,
vecType< U, P > const & c 
)
-

Maximum comparison between 3 variables and returns 3 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMax GLM_FUNC_DECL tmat3x4<T, defaultp> glm::make_mat3x4 (vecType< T, P > const & x,
T const *const ptr) a,
vecType< T, P > const & y,
b,
vecType< T, P > const & z,
c 
)
-

Maximum comparison between 3 variables and returns 3 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL U glm::associatedMax GLM_FUNC_DECL tmat4x4<T, defaultp> glm::make_mat4 (x,
T const *const ptr) a,
y,
b,
z,
c,
w,
d 
)
-

Maximum comparison between 4 variables and returns 4 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMax GLM_FUNC_DECL tmat4x2<T, defaultp> glm::make_mat4x2 (vecType< T, P > const & x,
T const *const ptr) vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b,
vecType< T, P > const & z,
vecType< U, P > const & c,
vecType< T, P > const & w,
vecType< U, P > const & d 
)
-

Maximum comparison between 4 variables and returns 4 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMax GLM_FUNC_DECL tmat4x3<T, defaultp> glm::make_mat4x3 (x,
T const *const ptr) vecType< U, P > const & a,
y,
vecType< U, P > const & b,
z,
vecType< U, P > const & c,
w,
vecType< U, P > const & d 
)
-

Maximum comparison between 4 variables and returns 4 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMax GLM_FUNC_DECL tmat4x4<T, defaultp> glm::make_mat4x4 (vecType< T, P > const & x,
T const *const ptr) a,
vecType< T, P > const & y,
b,
vecType< T, P > const & z,
c,
vecType< T, P > const & w,
d 
)
-

Maximum comparison between 4 variables and returns 4 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL U glm::associatedMin GLM_FUNC_DECL tquat<T, defaultp> glm::make_quat (x,
T const *const ptr) a,
y,
b 
)
-

Minimum comparison between 2 variables and returns 2 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a quaternion from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec2<U, P> glm::associatedMin GLM_FUNC_DECL tvec2<T, defaultp> glm::make_vec2 (vecType< T, P > const & x,
T const *const ptr) vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b 
)
-

Minimum comparison between 2 variables and returns 2 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a vector from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMin GLM_FUNC_DECL tvec3<T, defaultp> glm::make_vec3 (x,
T const *const ptr) const vecType< U, P > & a,
y,
const vecType< U, P > & b 
)
-

Minimum comparison between 2 variables and returns 2 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a vector from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMin GLM_FUNC_DECL tvec4<T, defaultp> glm::make_vec4 (vecType< T, P > const & x,
T const *const ptr) a,
vecType< T, P > const & y,
b 
)
-

Minimum comparison between 2 variables and returns 2 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Build a vector from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL U glm::associatedMin GLM_FUNC_DECL genType::value_type const* glm::value_ptr (x,
genType const & vec) a,
y,
b,
z,
c 
)
-

Minimum comparison between 3 variables and returns 3 associated variable values.

-
See also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b,
vecType< T, P > const & z,
vecType< U, P > const & c 
)
-
- -

Minimum comparison between 3 variables and returns 3 associated variable values.

-
See also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL U glm::associatedMin (x,
a,
y,
b,
z,
c,
w,
d 
)
-
- -

Minimum comparison between 4 variables and returns 4 associated variable values.

-
See also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b,
vecType< T, P > const & z,
vecType< U, P > const & c,
vecType< T, P > const & w,
vecType< U, P > const & d 
)
-
- -

Minimum comparison between 4 variables and returns 4 associated variable values.

-
See also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (x,
vecType< U, P > const & a,
y,
vecType< U, P > const & b,
z,
vecType< U, P > const & c,
w,
vecType< U, P > const & d 
)
-
- -

Minimum comparison between 4 variables and returns 4 associated variable values.

-
See also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b,
vecType< T, P > const & z,
c,
vecType< T, P > const & w,
d 
)
-
- -

Minimum comparison between 4 variables and returns 4 associated variable values.

-
See also
GLM_GTX_associated_min_max
+

Return the constant address to the data of the input parameter.

+
See also
GLM_GTC_type_ptr
@@ -1287,7 +439,7 @@ Functions diff --git a/doc/api/a00183.html b/doc/api/a00183.html index c2dd9ff0..20f343b6 100644 --- a/doc/api/a00183.html +++ b/doc/api/a00183.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_bit + +0.9.7: GLM_GTC_ulp @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +

Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType highestBitValue (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > highestBitValue (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL
-genIUType 
powerOfTwoAbove (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > 
powerOfTwoAbove (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL
-genIUType 
powerOfTwoBelow (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > 
powerOfTwoBelow (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL
-genIUType 
powerOfTwoNearest (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > 
powerOfTwoNearest (vecType< T, P > const &value)
 
template<typename T >
GLM_FUNC_DECL uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
GLM_FUNC_DECL vecType< uint > float_distance (vecType< T > const &x, vecType< T > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x, uint const &Distance)
 

Detailed Description

-

Allow to perform bit operations on integer values.

-

<glm/gtx/bit.hpp> need to be included to use these functionalities.

+

Allow the measurement of the accuracy of a function against a reference implementation.

+

This extension works on floating-point data and provide results in ULP. <glm/gtc/ulp.hpp> need to be included to use these features.

Function Documentation

- +
- + - - + + + + + + + + + + + +
GLM_FUNC_DECL genIUType glm::highestBitValue GLM_FUNC_DECL uint glm::float_distance (genIUType Value)T const & x,
T const & y 
)
-
See also
GLM_GTX_bit
+ +

Return the distance in the number of ULP between 2 scalars.

+
See also
GLM_GTC_ulp
- +
- + - - + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::highestBitValue GLM_FUNC_DECL vecType<uint> glm::float_distance (vecType< T, P > const & value)vecType< T > const & x,
vecType< T > const & y 
)
+
+ +

Return the distance in the number of ULP between 2 vectors.

+
See also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + + + +
GLM_FUNC_DECL genType glm::next_float (genType const & x)
-

Find the highest bit set to 1 in a integer variable and return its value.

-
See also
GLM_GTX_bit
+

Return the next ULP value(s) after the input value(s).

+
See also
GLM_GTC_ulp
- +
- + - - + + + + + + + + + + + + + + +
GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoAbove GLM_FUNC_DECL genType glm::next_float (genIUType Value)genType const & x,
uint const & Distance 
)
+
+ +

Return the value(s) ULP distance after the input value(s).

+
See also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + + + +
GLM_FUNC_DECL genType glm::prev_float (genType const & x)
-

Return the power of two number which value is just higher the input value.

-

Deprecated, use ceilPowerOfTwo from GTC_round instead

-
See also
GLM_GTC_round
-
-GLM_GTX_bit
+

Return the previous ULP value(s) before the input value(s).

+
See also
GLM_GTC_ulp
- +
- + - - - + + -
GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::powerOfTwoAbove GLM_FUNC_DECL genType glm::prev_float (vecType< T, P > const & value)genType const & x,
-
- -

Return the power of two number which value is just higher the input value.

-

Deprecated, use ceilPowerOfTwo from GTC_round instead

-
See also
GLM_GTC_round
-
-GLM_GTX_bit
- -
-
- -
-
- - - - - + + + -
GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoBelow (genIUType Value) uint const & Distance 
-
- -

Return the power of two number which value is just lower the input value.

-

Deprecated, use floorPowerOfTwo from GTC_round instead

-
See also
GLM_GTC_round
-
-GLM_GTX_bit
- -
-
- -
-
- - - - - + +
GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::powerOfTwoBelow (vecType< T, P > const & value) )
-

Return the power of two number which value is just lower the input value.

-

Deprecated, use floorPowerOfTwo from GTC_round instead

-
See also
GLM_GTC_round
-
-GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoNearest (genIUType Value)
-
- -

Return the power of two number which value is the closet to the input value.

-

Deprecated, use roundPowerOfTwo from GTC_round instead

-
See also
GLM_GTC_round
-
-GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::powerOfTwoNearest (vecType< T, P > const & value)
-
- -

Return the power of two number which value is the closet to the input value.

-

Deprecated, use roundPowerOfTwo from GTC_round instead

-
See also
GLM_GTC_round
-
-GLM_GTX_bit
+

Return the value(s) ULP distance before the input value(s).

+
See also
GLM_GTC_ulp
@@ -253,7 +227,7 @@ vecType< T, P >  diff --git a/doc/api/a00184.html b/doc/api/a00184.html index 72d0cbf1..ebb626e2 100644 --- a/doc/api/a00184.html +++ b/doc/api/a00184.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_closest_point + +0.9.7: GLM_GTC_vec1 @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
GLM_GTX_closest_point
+
- - - - - - - - -

-Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > closestPointOnLine (tvec3< T, P > const &point, tvec3< T, P > const &a, tvec3< T, P > const &b)
 
-template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > closestPointOnLine (tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)
 
-

Detailed Description

-

Find the point on a straight line which is the closet of a point.

-

<glm/gtx/closest_point.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::closestPointOnLine (tvec3< T, P > const & point,
tvec3< T, P > const & a,
tvec3< T, P > const & b 
)
-
- -

Find the point on a straight line which is the closet of a point.

-
See also
GLM_GTX_closest_point
- -
-
+

Add vec1, ivec1, uvec1 and bvec1 types.

+

<glm/gtc/vec1.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00185.html b/doc/api/a00185.html index d833ada5..e5752d16 100644 --- a/doc/api/a00185.html +++ b/doc/api/a00185.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_color_space + +0.9.7: GLM_GTX_associated_min_max @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > hsvColor (tvec3< T, P > const &rgbValue)
 
template<typename T , precision P>
GLM_FUNC_DECL T luminosity (tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgbColor (tvec3< T, P > const &hsvValue)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
saturation (T const s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > saturation (T const s, tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > saturation (T const s, tvec4< T, P > const &color)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL tvec2< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL tvec2< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (T x, const vecType< U, P > &a, T y, const vecType< U, P > &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
 

Detailed Description

-

Related to RGB to HSV conversions and operations.

-

<glm/gtx/color_space.hpp> need to be included to use these functionalities.

+

Min and max functions that return associated values not the compared onces.

+

<glm/gtx/associated_min_max.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::hsvColor GLM_FUNC_DECL U glm::associatedMax (tvec3< T, P > const & rgbValue)
-
- -

Converts a color from RGB color space to its color in HSV color space.

-
See also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::luminosity (tvec3< T, P > const & color)
-
- -

Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.

-
See also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::rgbColor (tvec3< T, P > const & hsvValue)
-
- -

Converts a color from HSV color space to its color in RGB color space.

-
See also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::saturation (T const s)
-
- -

Build a saturation matrix.

-
See also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - + + - - + + + + + + + + + + + + + + @@ -169,26 +152,38 @@ defaultp >  diff --git a/doc/api/a00187.html b/doc/api/a00187.html index 76edcd71..10b9ff26 100644 --- a/doc/api/a00187.html +++ b/doc/api/a00187.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_common + +0.9.7: GLM_GTX_closest_point @@ -17,8 +17,8 @@ - @@ -26,7 +26,7 @@
GLM_FUNC_DECL tvec3<T, P> glm::saturation (T const s, x,
tvec3< T, P > const & color a,
y,
b 
-

Modify the saturation of a color.

-
See also
GLM_GTX_color_space
+

Maximum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + - - + + + + + + + + + + + + + + @@ -198,8 +193,1092 @@ defaultp >  - @@ -26,7 +26,7 @@
GLM_FUNC_DECL tvec4<T, P> glm::saturation GLM_FUNC_DECL tvec2<U, P> glm::associatedMax (T const s, vecType< T, P > const & x,
tvec4< T, P > const & color vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b 
-

Modify the saturation of a color.

-
See also
GLM_GTX_color_space
+

Maximum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::associatedMax (x,
vecType< U, P > const & a,
y,
vecType< U, P > const & b 
)
+
+ +

Maximum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMax (vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b 
)
+
+ +

Maximum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL U glm::associatedMax (x,
a,
y,
b,
z,
c 
)
+
+ +

Maximum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMax (vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b,
vecType< T, P > const & z,
vecType< U, P > const & c 
)
+
+ +

Maximum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::associatedMax (x,
vecType< U, P > const & a,
y,
vecType< U, P > const & b,
z,
vecType< U, P > const & c 
)
+
+ +

Maximum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMax (vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b,
vecType< T, P > const & z,
c 
)
+
+ +

Maximum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL U glm::associatedMax (x,
a,
y,
b,
z,
c,
w,
d 
)
+
+ +

Maximum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMax (vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b,
vecType< T, P > const & z,
vecType< U, P > const & c,
vecType< T, P > const & w,
vecType< U, P > const & d 
)
+
+ +

Maximum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMax (x,
vecType< U, P > const & a,
y,
vecType< U, P > const & b,
z,
vecType< U, P > const & c,
w,
vecType< U, P > const & d 
)
+
+ +

Maximum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMax (vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b,
vecType< T, P > const & z,
c,
vecType< T, P > const & w,
d 
)
+
+ +

Maximum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL U glm::associatedMin (x,
a,
y,
b 
)
+
+ +

Minimum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec2<U, P> glm::associatedMin (vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b 
)
+
+ +

Minimum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (x,
const vecType< U, P > & a,
y,
const vecType< U, P > & b 
)
+
+ +

Minimum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b 
)
+
+ +

Minimum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL U glm::associatedMin (x,
a,
y,
b,
z,
c 
)
+
+ +

Minimum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b,
vecType< T, P > const & z,
vecType< U, P > const & c 
)
+
+ +

Minimum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL U glm::associatedMin (x,
a,
y,
b,
z,
c,
w,
d 
)
+
+ +

Minimum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b,
vecType< T, P > const & z,
vecType< U, P > const & c,
vecType< T, P > const & w,
vecType< U, P > const & d 
)
+
+ +

Minimum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (x,
vecType< U, P > const & a,
y,
vecType< U, P > const & b,
z,
vecType< U, P > const & c,
w,
vecType< U, P > const & d 
)
+
+ +

Minimum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<U, P> glm::associatedMin (vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b,
vecType< T, P > const & z,
c,
vecType< T, P > const & w,
d 
)
+
+ +

Minimum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
@@ -208,7 +1287,7 @@ defaultp > 
diff --git a/doc/api/a00186.html b/doc/api/a00186.html index be5e329e..8ea8b72a 100644 --- a/doc/api/a00186.html +++ b/doc/api/a00186.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_color_space_YCoCg + +0.9.7: GLM_GTX_bit @@ -17,8 +17,8 @@
-
0.9.6 +
+
0.9.7
- +
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCg (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCgR (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCgR2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType highestBitValue (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > highestBitValue (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoAbove (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoBelow (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoNearest (vecType< T, P > const &value)
 

Detailed Description

-

RGB to YCoCg conversions and operations.

-

<glm/gtx/color_space_YCoCg.hpp> need to be included to use these functionalities.

+

Allow to perform bit operations on integer values.

+

<glm/gtx/bit.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::rgb2YCoCg GLM_FUNC_DECL genIUType glm::highestBitValue (tvec3< T, P > const & rgbColor)genIUType Value)
+
+
See also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + +
GLM_FUNC_DECL vecType<T, P> glm::highestBitValue (vecType< T, P > const & value)
-

Convert a color from RGB color space to YCoCg color space.

-
See also
GLM_GTX_color_space_YCoCg
+

Find the highest bit set to 1 in a integer variable and return its value.

+
See also
GLM_GTX_bit
- +
- + - - + +
GLM_FUNC_DECL tvec3<T, P> glm::rgb2YCoCgR GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoAbove (tvec3< T, P > const & rgbColor)genIUType Value)
-

Convert a color from RGB color space to YCoCgR color space.

-
See also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
+

Return the power of two number which value is just higher the input value.

+

Deprecated, use ceilPowerOfTwo from GTC_round instead

+
See also
GLM_GTC_round
-GLM_GTX_color_space_YCoCg
+GLM_GTX_bit
- +
- + - - + +
GLM_FUNC_DECL tvec3<T, P> glm::YCoCg2rgb GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::powerOfTwoAbove (tvec3< T, P > const & YCoCgColor)vecType< T, P > const & value)
-

Convert a color from YCoCg color space to RGB color space.

-
See also
GLM_GTX_color_space_YCoCg
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::YCoCgR2rgb (tvec3< T, P > const & YCoCgColor)
-
- -

Convert a color from YCoCgR color space to RGB color space.

-
See also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
+

Return the power of two number which value is just higher the input value.

+

Deprecated, use ceilPowerOfTwo from GTC_round instead

+
See also
GLM_GTC_round
-GLM_GTX_color_space_YCoCg
+GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoBelow (genIUType Value)
+
+ +

Return the power of two number which value is just lower the input value.

+

Deprecated, use floorPowerOfTwo from GTC_round instead

+
See also
GLM_GTC_round
+
+GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::powerOfTwoBelow (vecType< T, P > const & value)
+
+ +

Return the power of two number which value is just lower the input value.

+

Deprecated, use floorPowerOfTwo from GTC_round instead

+
See also
GLM_GTC_round
+
+GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoNearest (genIUType Value)
+
+ +

Return the power of two number which value is the closet to the input value.

+

Deprecated, use roundPowerOfTwo from GTC_round instead

+
See also
GLM_GTC_round
+
+GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::powerOfTwoNearest (vecType< T, P > const & value)
+
+ +

Return the power of two number which value is the closet to the input value.

+

Deprecated, use roundPowerOfTwo from GTC_round instead

+
See also
GLM_GTC_round
+
+GLM_GTX_bit
@@ -147,7 +247,7 @@ Functions
-
0.9.6 +
+
0.9.7
- +
- - - + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > closestPointOnLine (tvec3< T, P > const &point, tvec3< T, P > const &a, tvec3< T, P > const &b)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > closestPointOnLine (tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)
 

Detailed Description

-

Provide functions to increase the compatibility with Cg and HLSL languages.

-

<glm/gtx/common.hpp> need to be included to use these functionalities.

+

Find the point on a straight line which is the closet of a point.

+

<glm/gtx/closest_point.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType::bool_type glm::isdenormal GLM_FUNC_DECL tvec3<T, P> glm::closestPointOnLine (genType const & x)tvec3< T, P > const & point,
tvec3< T, P > const & a,
tvec3< T, P > const & b 
)
-

Returns true if x is a denormalized number Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format.

-

This format is less precise but can represent values closer to zero.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See also
GLSL isnan man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
+

Find the point on a straight line which is the closet of a point.

+
See also
GLM_GTX_closest_point
@@ -86,7 +97,7 @@ Functions diff --git a/doc/api/a00188.html b/doc/api/a00188.html index 07d4cc4d..3f8ae78e 100644 --- a/doc/api/a00188.html +++ b/doc/api/a00188.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_compatibility + +0.9.7: GLM_GTX_color_space @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
GLM_GTX_compatibility
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef bool bool1
 
-typedef bool bool1x1
 
-typedef tvec2< bool, highp > bool2
 
-typedef tmat2x2< bool, highp > bool2x2
 
-typedef tmat2x3< bool, highp > bool2x3
 
-typedef tmat2x4< bool, highp > bool2x4
 
-typedef tvec3< bool, highp > bool3
 
-typedef tmat3x2< bool, highp > bool3x2
 
-typedef tmat3x3< bool, highp > bool3x3
 
-typedef tmat3x4< bool, highp > bool3x4
 
-typedef tvec4< bool, highp > bool4
 
-typedef tmat4x2< bool, highp > bool4x2
 
-typedef tmat4x3< bool, highp > bool4x3
 
-typedef tmat4x4< bool, highp > bool4x4
 
-typedef double double1
 
-typedef double double1x1
 
-typedef tvec2< double, highp > double2
 
-typedef tmat2x2< double, highp > double2x2
 
-typedef tmat2x3< double, highp > double2x3
 
-typedef tmat2x4< double, highp > double2x4
 
-typedef tvec3< double, highp > double3
 
-typedef tmat3x2< double, highp > double3x2
 
-typedef tmat3x3< double, highp > double3x3
 
-typedef tmat3x4< double, highp > double3x4
 
-typedef tvec4< double, highp > double4
 
-typedef tmat4x2< double, highp > double4x2
 
-typedef tmat4x3< double, highp > double4x3
 
-typedef tmat4x4< double, highp > double4x4
 
-typedef float float1
 
-typedef float float1x1
 
-typedef tvec2< float, highp > float2
 
-typedef tmat2x2< float, highp > float2x2
 
-typedef tmat2x3< float, highp > float2x3
 
-typedef tmat2x4< float, highp > float2x4
 
-typedef tvec3< float, highp > float3
 
-typedef tmat3x2< float, highp > float3x2
 
-typedef tmat3x3< float, highp > float3x3
 
-typedef tmat3x4< float, highp > float3x4
 
-typedef tvec4< float, highp > float4
 
-typedef tmat4x2< float, highp > float4x2
 
-typedef tmat4x3< float, highp > float4x3
 
-typedef tmat4x4< float, highp > float4x4
 
-typedef int int1
 
-typedef int int1x1
 
-typedef tvec2< int, highp > int2
 
-typedef tmat2x2< int, highp > int2x2
 
-typedef tmat2x3< int, highp > int2x3
 
-typedef tmat2x4< int, highp > int2x4
 
-typedef tvec3< int, highp > int3
 
-typedef tmat3x2< int, highp > int3x2
 
-typedef tmat3x3< int, highp > int3x3
 
-typedef tmat3x4< int, highp > int3x4
 
-typedef tvec4< int, highp > int4
 
-typedef tmat4x2< int, highp > int4x2
 
-typedef tmat4x3< int, highp > int4x3
 
-typedef tmat4x4< int, highp > int4x4
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +

Functions

-template<typename T , precision P>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > atan2 (const tvec2< T, P > &x, const tvec2< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > atan2 (const tvec3< T, P > &x, const tvec3< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > atan2 (const tvec4< T, P > &x, const tvec4< T, P > &y)
 
-template<typename genType >
GLM_FUNC_DECL bool isfinite (genType const &x)
 
-template<typename T , precision P>
GLM_FUNC_DECL tvec2< bool, P > isfinite (const tvec2< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_DECL tvec3< bool, P > isfinite (const tvec3< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > isfinite (const tvec4< T, P > &x)
 
-template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, const tvec2< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, const tvec3< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > saturate (const tvec2< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > saturate (const tvec3< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > saturate (const tvec4< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T slerp (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > hsvColor (tvec3< T, P > const &rgbValue)
 
template<typename T , precision P>
GLM_FUNC_DECL T luminosity (tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgbColor (tvec3< T, P > const &hsvValue)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > saturation (T const s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > saturation (T const s, tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > saturation (T const s, tvec4< T, P > const &color)
 

Detailed Description

-

Provide functions to increase the compatibility with Cg and HLSL languages.

-

<glm/gtx/compatibility.hpp> need to be included to use these functionalities.

+

Related to RGB to HSV conversions and operations.

+

<glm/gtx/color_space.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + +
GLM_FUNC_QUALIFIER T glm::slerp GLM_FUNC_DECL tvec3<T, P> glm::hsvColor (tquat< T, P > const & x, tvec3< T, P > const & rgbValue)
+
+ +

Converts a color from RGB color space to its color in HSV color space.

+
See also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::luminosity (tvec3< T, P > const & color)
+
+ +

Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.

+
See also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::rgbColor (tvec3< T, P > const & hsvValue)
+
+ +

Converts a color from HSV color space to its color in RGB color space.

+
See also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::saturation (T const s)
+
+ +

Build a saturation matrix.

+
See also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + - - - - - - - - + + @@ -331,12 +168,37 @@ template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::saturation (T const s,
tquat< T, P > const & y,
T const & a tvec3< T, P > const & color 
-

Returns the slurp interpolation between two quaternions.

-

Spherical linear interpolation of two quaternions.

+

Modify the saturation of a color.

+
See also
GLM_GTX_color_space
-

Definition at line 76 of file compatibility.hpp.

+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<T, P> glm::saturation (T const s,
tvec4< T, P > const & color 
)
+
-

References glm::mix().

+

Modify the saturation of a color.

+
See also
GLM_GTX_color_space
@@ -345,7 +207,7 @@ template<typename T , precision P> diff --git a/doc/api/a00189.html b/doc/api/a00189.html index 98588245..f272d45d 100644 --- a/doc/api/a00189.html +++ b/doc/api/a00189.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_component_wise + +0.9.7: GLM_GTX_color_space_YCoCg @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType::value_type compAdd (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMax (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMin (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMul (genType const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCg (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCgR (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCgR2rgb (tvec3< T, P > const &YCoCgColor)
 

Detailed Description

-

Operations between components of a type.

-

<glm/gtx/component_wise.hpp> need to be included to use these functionalities.

+

RGB to YCoCg conversions and operations.

+

<glm/gtx/color_space_YCoCg.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL genType::value_type glm::compAdd GLM_FUNC_DECL tvec3<T, P> glm::rgb2YCoCg (genType const & v)tvec3< T, P > const & rgbColor)
-

Add all vector components together.

-
See also
GLM_GTX_component_wise
+

Convert a color from RGB color space to YCoCg color space.

+
See also
GLM_GTX_color_space_YCoCg
- +
- + - - + +
GLM_FUNC_DECL genType::value_type glm::compMax GLM_FUNC_DECL tvec3<T, P> glm::rgb2YCoCgR (genType const & v)tvec3< T, P > const & rgbColor)
-

Find the maximum value between single vector components.

-
See also
GLM_GTX_component_wise
+

Convert a color from RGB color space to YCoCgR color space.

+
See also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
+
+GLM_GTX_color_space_YCoCg
- +
- + - - + +
GLM_FUNC_DECL genType::value_type glm::compMin GLM_FUNC_DECL tvec3<T, P> glm::YCoCg2rgb (genType const & v)tvec3< T, P > const & YCoCgColor)
-

Find the minimum value between single vector components.

-
See also
GLM_GTX_component_wise
+

Convert a color from YCoCg color space to RGB color space.

+
See also
GLM_GTX_color_space_YCoCg
- +
- + - - + +
GLM_FUNC_DECL genType::value_type glm::compMul GLM_FUNC_DECL tvec3<T, P> glm::YCoCgR2rgb (genType const & v)tvec3< T, P > const & YCoCgColor)
-

Multiply all vector components together.

-
See also
GLM_GTX_component_wise
+

Convert a color from YCoCgR color space to RGB color space.

+
See also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
+
+GLM_GTX_color_space_YCoCg
@@ -143,7 +147,7 @@ Functions diff --git a/doc/api/a00190.html b/doc/api/a00190.html index 8900d1c7..f107b3de 100644 --- a/doc/api/a00190.html +++ b/doc/api/a00190.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_dual_quaternion + +0.9.7: GLM_GTX_common @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef highp_ddualquat ddualquat
 
typedef highp_fdualquat dualquat
 
typedef highp_fdualquat fdualquat
 
typedef tdualquat< double, highp > highp_ddualquat
 
typedef tdualquat< float, highp > highp_dualquat
 
typedef tdualquat< float, highp > highp_fdualquat
 
typedef tdualquat< double, lowp > lowp_ddualquat
 
typedef tdualquat< float, lowp > lowp_dualquat
 
typedef tdualquat< float, lowp > lowp_fdualquat
 
typedef tdualquat< double,
-mediump > 
mediump_ddualquat
 
typedef tdualquat< float, mediump > mediump_dualquat
 
typedef tdualquat< float, mediump > mediump_fdualquat
 
- - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat2x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat3x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > inverse (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > lerp (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > mat2x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > mat3x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > normalize (tdualquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fmod (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 

Detailed Description

-

Defines a templated dual-quaternion type and several dual-quaternion operations.

-

<glm/gtx/dual_quaternion.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef highp_ddualquat ddualquat
-
- -

Dual-quaternion of default double-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 300 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef highp_fdualquat dualquat
-
- -

Dual-quaternion of floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 276 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef highp_fdualquat fdualquat
-
- -

Dual-quaternion of single-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 281 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<double, highp> highp_ddualquat
-
- -

Dual-quaternion of high double-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 269 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<float, highp> highp_dualquat
-
- -

Dual-quaternion of high single-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 237 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<float, highp> highp_fdualquat
-
- -

Dual-quaternion of high single-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 253 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<double, lowp> lowp_ddualquat
-
- -

Dual-quaternion of low double-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 259 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<float, lowp> lowp_dualquat
-
- -

Dual-quaternion of low single-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 227 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<float, lowp> lowp_fdualquat
-
- -

Dual-quaternion of low single-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 243 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<double, mediump> mediump_ddualquat
-
- -

Dual-quaternion of medium double-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 264 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<float, mediump> mediump_dualquat
-
- -

Dual-quaternion of medium single-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 232 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef tdualquat<float, mediump> mediump_fdualquat
-
- -

Dual-quaternion of medium single-precision floating-point numbers.

-
See also
GLM_GTX_dual_quaternion
- -

Definition at line 248 of file dual_quaternion.hpp.

- -
-
+

Provide functions to increase the compatibility with Cg and HLSL languages.

+

<glm/gtx/common.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - + + + + +
GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast GLM_FUNC_DECL vecType<T, P> glm::fmod (tmat2x4< T, P > const & vecType< T, P > const & v)
+
+ +

Similiar to 'mod' but with a different rounding and integer support.

+

Returns 'x - y * trunc(x/y)' instead of 'x - y * floor(x/y)'

+
See also
GLSL mod vs HLSL fmod
+
+GLSL mod man page
+ +
+
+ +
+
+ + + + +
GLM_FUNC_DECL genType::bool_type glm::isdenormal (genType const &  x)
-

Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion.

-
See also
GLM_GTX_dual_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast (tmat3x4< T, P > const & x)
-
- -

Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.

-
See also
GLM_GTX_dual_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tdualquat<T, P> glm::inverse (tdualquat< T, P > const & q)
-
- -

Returns the q inverse.

-
See also
GLM_GTX_dual_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tdualquat<T, P> glm::lerp (tdualquat< T, P > const & x,
tdualquat< T, P > const & y,
T const & a 
)
-
- -

Returns the linear interpolation of two dual quaternion.

-
See also
gtc_dual_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat2x4<T, P> glm::mat2x4_cast (tdualquat< T, P > const & x)
-
- -

Converts a quaternion to a 2 * 4 matrix.

-
See also
GLM_GTX_dual_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x4<T, P> glm::mat3x4_cast (tdualquat< T, P > const & x)
-
- -

Converts a quaternion to a 3 * 4 matrix.

-
See also
GLM_GTX_dual_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tdualquat<T, P> glm::normalize (tdualquat< T, P > const & q)
-
- -

Returns the normalized quaternion.

-
See also
GLM_GTX_dual_quaternion
+

Returns true if x is a denormalized number Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format.

+

This format is less precise but can represent values closer to zero.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See also
GLSL isnan man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
@@ -459,7 +111,7 @@ Functions diff --git a/doc/api/a00191.html b/doc/api/a00191.html index 52422907..488533be 100644 --- a/doc/api/a00191.html +++ b/doc/api/a00191.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_euler_angles + +0.9.7: GLM_GTX_compatibility @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
GLM_GTX_euler_angles
+
GLM_GTX_compatibility
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef bool bool1
 
+typedef bool bool1x1
 
+typedef tvec2< bool, highp > bool2
 
+typedef tmat2x2< bool, highp > bool2x2
 
+typedef tmat2x3< bool, highp > bool2x3
 
+typedef tmat2x4< bool, highp > bool2x4
 
+typedef tvec3< bool, highp > bool3
 
+typedef tmat3x2< bool, highp > bool3x2
 
+typedef tmat3x3< bool, highp > bool3x3
 
+typedef tmat3x4< bool, highp > bool3x4
 
+typedef tvec4< bool, highp > bool4
 
+typedef tmat4x2< bool, highp > bool4x2
 
+typedef tmat4x3< bool, highp > bool4x3
 
+typedef tmat4x4< bool, highp > bool4x4
 
+typedef double double1
 
+typedef double double1x1
 
+typedef tvec2< double, highp > double2
 
+typedef tmat2x2< double, highp > double2x2
 
+typedef tmat2x3< double, highp > double2x3
 
+typedef tmat2x4< double, highp > double2x4
 
+typedef tvec3< double, highp > double3
 
+typedef tmat3x2< double, highp > double3x2
 
+typedef tmat3x3< double, highp > double3x3
 
+typedef tmat3x4< double, highp > double3x4
 
+typedef tvec4< double, highp > double4
 
+typedef tmat4x2< double, highp > double4x2
 
+typedef tmat4x3< double, highp > double4x3
 
+typedef tmat4x4< double, highp > double4x4
 
+typedef float float1
 
+typedef float float1x1
 
+typedef tvec2< float, highp > float2
 
+typedef tmat2x2< float, highp > float2x2
 
+typedef tmat2x3< float, highp > float2x3
 
+typedef tmat2x4< float, highp > float2x4
 
+typedef tvec3< float, highp > float3
 
+typedef tmat3x2< float, highp > float3x2
 
+typedef tmat3x3< float, highp > float3x3
 
+typedef tmat3x4< float, highp > float3x4
 
+typedef tvec4< float, highp > float4
 
+typedef tmat4x2< float, highp > float4x2
 
+typedef tmat4x3< float, highp > float4x3
 
+typedef tmat4x4< float, highp > float4x4
 
+typedef int int1
 
+typedef int int1x1
 
+typedef tvec2< int, highp > int2
 
+typedef tmat2x2< int, highp > int2x2
 
+typedef tmat2x3< int, highp > int2x3
 
+typedef tmat2x4< int, highp > int2x4
 
+typedef tvec3< int, highp > int3
 
+typedef tmat3x2< int, highp > int3x2
 
+typedef tmat3x3< int, highp > int3x3
 
+typedef tmat3x4< int, highp > int3x4
 
+typedef tvec4< int, highp > int4
 
+typedef tmat4x2< int, highp > int4x2
 
+typedef tmat4x3< int, highp > int4x3
 
+typedef tmat4x4< int, highp > int4x4
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleX (T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleY (T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleZ (T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T,
-defaultp > 
orientate2 (T const &angle)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T,
-defaultp > 
orientate3 (T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orientate3 (tvec3< T, P > const &angles)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientate4 (tvec3< T, P > const &angles)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T,
-defaultp > 
yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > atan2 (const tvec2< T, P > &x, const tvec2< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > atan2 (const tvec3< T, P > &x, const tvec3< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > atan2 (const tvec4< T, P > &x, const tvec4< T, P > &y)
 
+template<typename genType >
GLM_FUNC_DECL bool isfinite (genType const &x)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec1< bool, P > isfinite (const tvec1< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec2< bool, P > isfinite (const tvec2< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec3< bool, P > isfinite (const tvec3< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > isfinite (const tvec4< T, P > &x)
 
+template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, const tvec2< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, const tvec3< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > saturate (const tvec2< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > saturate (const tvec3< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > saturate (const tvec4< T, P > &x)
 

Detailed Description

-

Build matrices from Euler angles.

-

<glm/gtx/euler_angles.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleX (T const & angleX)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleXY (T const & angleX,
T const & angleY 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleXZ (T const & angleX,
T const & angleZ 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleY (T const & angleY)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleYX (T const & angleY,
T const & angleX 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleYXZ (T const & yaw,
T const & pitch,
T const & roll 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleYZ (T const & angleY,
T const & angleZ 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleZ (T const & angleZ)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleZX (T const & angle,
T const & angleX 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleZY (T const & angleZ,
T const & angleY 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat2x2<T, defaultp> glm::orientate2 (T const & angle)
-
- -

Creates a 2D 2 * 2 rotation matrix from an euler angle.

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, defaultp> glm::orientate3 (T const & angle)
-
- -

Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, P> glm::orientate3 (tvec3< T, P > const & angles)
-
- -

Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::orientate4 (tvec3< T, P > const & angles)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

-
See also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::yawPitchRoll (T const & yaw,
T const & pitch,
T const & roll 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

-
See also
GLM_GTX_euler_angles
- -
-
+

Provide functions to increase the compatibility with Cg and HLSL languages.

+

<glm/gtx/compatibility.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00192.html b/doc/api/a00192.html index 22e4b0a0..df58531c 100644 --- a/doc/api/a00192.html +++ b/doc/api/a00192.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_extend + +0.9.7: GLM_GTX_component_wise @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compAdd (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMax (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMin (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMul (genType const &v)
 

Detailed Description

-

Extend a position from a source to a position at a defined length.

-

<glm/gtx/extend.hpp> need to be included to use these functionalities.

+

Operations between components of a type.

+

<glm/gtx/component_wise.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - + - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::extend GLM_FUNC_DECL genType::value_type glm::compAdd ( genType const & Origin,
v) genType const & Source,
typename genType::value_type const Length 
)
-

Extends of Length the Origin position using the (Source - Origin) direction.

-
See also
GLM_GTX_extend
+

Add all vector components together.

+
See also
GLM_GTX_component_wise
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::compMax (genType const & v)
+
+ +

Find the maximum value between single vector components.

+
See also
GLM_GTX_component_wise
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::compMin (genType const & v)
+
+ +

Find the minimum value between single vector components.

+
See also
GLM_GTX_component_wise
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::compMul (genType const & v)
+
+ +

Multiply all vector components together.

+
See also
GLM_GTX_component_wise
@@ -93,7 +143,7 @@ Functions diff --git a/doc/api/a00193.html b/doc/api/a00193.html index 12afb963..7eb5dc76 100644 --- a/doc/api/a00193.html +++ b/doc/api/a00193.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_extented_min_max + +0.9.7: GLM_GTX_dual_quaternion @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
GLM_GTX_extented_min_max
+
GLM_GTX_dual_quaternion
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_ddualquat ddualquat
 
typedef highp_fdualquat dualquat
 
typedef highp_fdualquat fdualquat
 
typedef tdualquat< double, highp > highp_ddualquat
 
typedef tdualquat< float, highp > highp_dualquat
 
typedef tdualquat< float, highp > highp_fdualquat
 
typedef tdualquat< double, lowp > lowp_ddualquat
 
typedef tdualquat< float, lowp > lowp_dualquat
 
typedef tdualquat< float, lowp > lowp_fdualquat
 
typedef tdualquat< double, mediump > mediump_ddualquat
 
typedef tdualquat< float, mediump > mediump_dualquat
 
typedef tdualquat< float, mediump > mediump_fdualquat
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat2x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat3x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > inverse (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > lerp (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > mat2x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > mat3x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > normalize (tdualquat< T, P > const &q)
 

Detailed Description

-

Min and max functions for 3 to 4 parameters.

-

<glm/gtx/extented_min_max.hpp> need to be included to use these functionalities.

+

Defines a templated dual-quaternion type and several dual-quaternion operations.

+

<glm/gtx/dual_quaternion.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef highp_ddualquat ddualquat
+
+ +

Dual-quaternion of default double-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 283 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fdualquat dualquat
+
+ +

Dual-quaternion of floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 259 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fdualquat fdualquat
+
+ +

Dual-quaternion of single-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 264 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<double, highp> highp_ddualquat
+
+ +

Dual-quaternion of high double-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 252 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<float, highp> highp_dualquat
+
+ +

Dual-quaternion of high single-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 220 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<float, highp> highp_fdualquat
+
+ +

Dual-quaternion of high single-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 236 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<double, lowp> lowp_ddualquat
+
+ +

Dual-quaternion of low double-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 242 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<float, lowp> lowp_dualquat
+
+ +

Dual-quaternion of low single-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 210 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<float, lowp> lowp_fdualquat
+
+ +

Dual-quaternion of low single-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 226 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<double, mediump> mediump_ddualquat
+
+ +

Dual-quaternion of medium double-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 247 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<float, mediump> mediump_dualquat
+
+ +

Dual-quaternion of medium single-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 215 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef tdualquat<float, mediump> mediump_fdualquat
+
+ +

Dual-quaternion of medium single-precision floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 231 of file dual_quaternion.hpp.

+ +
+

Function Documentation

- +
- + - + + + + +
GLM_FUNC_DECL T glm::max GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast (T const & tmat2x4< T, P > const & x)
+
+ +

Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion.

+
See also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast (tmat3x4< T, P > const & x)
+
+ +

Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.

+
See also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tdualquat<T, P> glm::inverse (tdualquat< T, P > const & q)
+
+ +

Returns the q inverse.

+
See also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + - + - + @@ -116,429 +391,65 @@ Functions
GLM_FUNC_DECL tdualquat<T, P> glm::lerp (tdualquat< T, P > const &  x,
T const & tdualquat< T, P > const &  y,
T const & z a 
-

Return the maximum component-wise values of 3 inputs.

-
See also
GLM_GTX_extented_min_max
+

Returns the linear interpolation of two dual quaternion.

+
See also
gtc_dual_quaternion
- +
- + - - - - - + + - - - - - - - - - - - - -
GLM_FUNC_DECL C<T> glm::max GLM_FUNC_DECL tmat2x4<T, P> glm::mat2x4_cast (C< T > const & x,
tdualquat< T, P > const & x) typename C< T >::T const & y,
typename C< T >::T const & z 
)
-

Return the maximum component-wise values of 3 inputs.

-
See also
GLM_GTX_extented_min_max
+

Converts a quaternion to a 2 * 4 matrix.

+
See also
GLM_GTX_dual_quaternion
- +
- + - - - - - + + - - - - - - - - - - - - -
GLM_FUNC_DECL C<T> glm::max GLM_FUNC_DECL tmat3x4<T, P> glm::mat3x4_cast (C< T > const & x,
tdualquat< T, P > const & x) C< T > const & y,
C< T > const & z 
)
-

Return the maximum component-wise values of 3 inputs.

-
See also
GLM_GTX_extented_min_max
+

Converts a quaternion to a 3 * 4 matrix.

+
See also
GLM_GTX_dual_quaternion
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::max GLM_FUNC_DECL tdualquat<T, P> glm::normalize (T const & x,
tdualquat< T, P > const & q) T const & y,
T const & z,
T const & w 
)
-

Return the maximum component-wise values of 4 inputs.

-
See also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL C<T> glm::max (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z,
typename C< T >::T const & w 
)
-
- -

Return the maximum component-wise values of 4 inputs.

-
See also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL C<T> glm::max (C< T > const & x,
C< T > const & y,
C< T > const & z,
C< T > const & w 
)
-
- -

Return the maximum component-wise values of 4 inputs.

-
See also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::min (T const & x,
T const & y,
T const & z 
)
-
- -

Return the minimum component-wise values of 3 inputs.

-
See also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL C<T> glm::min (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z 
)
-
- -

Return the minimum component-wise values of 3 inputs.

-
See also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL C<T> glm::min (C< T > const & x,
C< T > const & y,
C< T > const & z 
)
-
- -

Return the minimum component-wise values of 3 inputs.

-
See also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::min (T const & x,
T const & y,
T const & z,
T const & w 
)
-
- -

Return the minimum component-wise values of 4 inputs.

-
See also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL C<T> glm::min (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z,
typename C< T >::T const & w 
)
-
- -

Return the minimum component-wise values of 4 inputs.

-
See also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL C<T> glm::min (C< T > const & x,
C< T > const & y,
C< T > const & z,
C< T > const & w 
)
-
- -

Return the minimum component-wise values of 4 inputs.

-
See also
GLM_GTX_extented_min_max
+

Returns the normalized quaternion.

+
See also
GLM_GTX_dual_quaternion
@@ -547,7 +458,7 @@ Functions diff --git a/doc/api/a00194.html b/doc/api/a00194.html index 0427486e..d81dba12 100644 --- a/doc/api/a00194.html +++ b/doc/api/a00194.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_fast_exponential + +0.9.7: GLM_GTX_euler_angles @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL T fastExp (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastExp2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp2 (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog2 (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastPow (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYZ (tmat4x4< T, defaultp > &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultp > orientate2 (T const &angle)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultp > orientate3 (T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orientate3 (tvec3< T, P > const &angles)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientate4 (tvec3< T, P > const &angles)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 

Detailed Description

-

Fast but less accurate implementations of exponential based functions.

-

<glm/gtx/fast_exponential.hpp> need to be included to use these functionalities.

+

Build matrices from Euler angles.

+

<glm/gtx/euler_angles.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL T glm::fastExp GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleX (x)T const & angleX)
-

Faster than the common exp function but less accurate.

-
See also
GLM_GTX_fast_exponential
+

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

+
See also
GLM_GTX_euler_angles
- +
- + - - - - -
GLM_FUNC_DECL vecType<T, P> glm::fastExp GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleXY (vecType< T, P > const & x)
-
- -

Faster than the common exp function but less accurate.

-
See also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::fastExp2 (x)
-
- -

Faster than the common exp2 function but less accurate.

-
See also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::fastExp2 (vecType< T, P > const & x)
-
- -

Faster than the common exp2 function but less accurate.

-
See also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::fastLog (x)
-
- -

Faster than the common log function but less accurate.

-
See also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::fastLog (vecType< T, P > const & x)
-
- -

Faster than the common exp2 function but less accurate.

-
See also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::fastLog2 (x)
-
- -

Faster than the common log2 function but less accurate.

-
See also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::fastLog2 (vecType< T, P > const & x)
-
- -

Faster than the common log2 function but less accurate.

-
See also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - + + - - + + @@ -262,26 +144,32 @@ Functions
GLM_FUNC_DECL genType glm::fastPow (genType x, T const & angleX,
genType y T const & angleY 
-

Faster than the common pow function but less accurate.

-
See also
GLM_GTX_fast_exponential
+

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

+
See also
GLM_GTX_euler_angles
- +
- + - - + + - - + + + + + + + + @@ -291,26 +179,26 @@ Functions
GLM_FUNC_DECL vecType<T, P> glm::fastPow GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleXYZ (vecType< T, P > const & x, T const & t1,
vecType< T, P > const & y T const & t2,
T const & t3 
-

Faster than the common pow function but less accurate.

-
See also
GLM_GTX_fast_exponential
+

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z).

+
See also
GLM_GTX_euler_angles
- +
- + - - + + - - + + @@ -320,27 +208,349 @@ Functions
GLM_FUNC_DECL genTypeT glm::fastPow GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleXZ (genTypeT x, T const & angleX,
genTypeU y T const & angleZ 
-

Faster than the common pow function but less accurate.

-
See also
GLM_GTX_fast_exponential
+

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).

+
See also
GLM_GTX_euler_angles
- +
- + - - + +
GLM_FUNC_DECL vecType<T, P> glm::fastPow GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleY (vecType< T, P > const & x)T const & angleY)
-

Faster than the common pow function but less accurate.

-
See also
GLM_GTX_fast_exponential
+

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleYX (T const & angleY,
T const & angleX 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleYXZ (T const & yaw,
T const & pitch,
T const & roll 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleYZ (T const & angleY,
T const & angleZ 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleZ (T const & angleZ)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleZX (T const & angle,
T const & angleX 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleZY (T const & angleZ,
T const & angleY 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL void glm::extractEulerAngleXYZ (tmat4x4< T, defaultp > & M,
T & t1,
T & t2,
T & t3 
)
+
+ +

Extracts the (X * Y * Z) Euler angles from the rotation matrix M.

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat2x2<T, defaultp> glm::orientate2 (T const & angle)
+
+ +

Creates a 2D 2 * 2 rotation matrix from an euler angle.

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, defaultp> glm::orientate3 (T const & angle)
+
+ +

Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::orientate3 (tvec3< T, P > const & angles)
+
+ +

Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::orientate4 (tvec3< T, P > const & angles)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

+
See also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, defaultp> glm::yawPitchRoll (T const & yaw,
T const & pitch,
T const & roll 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

+
See also
GLM_GTX_euler_angles
@@ -349,7 +559,7 @@ Functions diff --git a/doc/api/a00195.html b/doc/api/a00195.html index 08fe6b41..ab1b21c8 100644 --- a/doc/api/a00195.html +++ b/doc/api/a00195.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_fast_square_root + +0.9.7: GLM_GTX_extend @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastDistance (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastInverseSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastLength (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 

Detailed Description

-

Fast but less accurate implementations of square root based functions.

- -

<glm/gtx/fast_square_root.hpp> need to be included to use these functionalities.

+

Extend a position from a source to a position at a defined length.

+

<glm/gtx/extend.hpp> need to be included to use these functionalities.

Function Documentation

- +
- - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::fastDistance (genType x,
genType y 
)
-
- -

Faster than the common distance function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::fastDistance (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Faster than the common distance function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genType glm::fastInverseSqrt (genType x)
-
- -

Faster than the common inversesqrt function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::fastInverseSqrt (vecType< T, P > const & x)
-
- -

Faster than the common inversesqrt function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genType glm::fastLength (genType x)
-
- -

Faster than the common length function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::fastLength (vecType< T, P > const & x)
-
- -

Faster than the common length function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
- -
-
- -
-
- - - + - - + -
GLM_FUNC_DECL genType glm::fastNormalize GLM_FUNC_DECL genType glm::extend ( genType const & x)Origin,
-
- -

Faster than the common normalize function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
- -
-
- -
-
- - - - - + + + -
GLM_FUNC_DECL genType glm::fastSqrt (genType x) genType const & Source,
-
- -

Faster than the common sqrt function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
- -
-
- -
-
- - - - - + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::fastSqrt (vecType< T, P > const & x) typename genType::value_type const Length 
)
-

Faster than the common sqrt function but less accurate.

-
See also
GLM_GTX_fast_square_root extension.
+

Extends of Length the Origin position using the (Source - Origin) direction.

+
See also
GLM_GTX_extend
@@ -276,7 +93,7 @@ Functions diff --git a/doc/api/a00196.html b/doc/api/a00196.html index c2bb4b1b..4ed64457 100644 --- a/doc/api/a00196.html +++ b/doc/api/a00196.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_fast_trigonometry + +0.9.7: GLM_GTX_extented_min_max @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL T fastAcos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAsin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T y, T x)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastCos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastSin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastTan (T angle)
 
template<typename T >
GLM_FUNC_DECL T wrapAngle (T angle)
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 

Detailed Description

-

Fast but less accurate implementations of trigonometric functions.

-

<glm/gtx/fast_trigonometry.hpp> need to be included to use these functionalities.

+

Min and max functions for 3 to 4 parameters.

+

<glm/gtx/extented_min_max.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - + + -
GLM_FUNC_DECL T glm::fastAcos GLM_FUNC_DECL T glm::max (angle)T const & x,
-
- -

Faster than the common acos function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - + - -
GLM_FUNC_DECL T glm::fastAsin (angle)
-
- -

Faster than the common asin function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - + - - + + @@ -136,102 +116,429 @@ Functions
GLM_FUNC_DECL T glm::fastAtan (T const &  y,
x T const & z 
-

Faster than the common atan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+

Return the maximum component-wise values of 3 inputs.

+
See also
GLM_GTX_extented_min_max
- +
- + - - + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::fastAtan GLM_FUNC_DECL C<T> glm::max (angle)C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z 
)
-

Faster than the common atan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+

Return the maximum component-wise values of 3 inputs.

+
See also
GLM_GTX_extented_min_max
- +
- + - - + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::fastCos GLM_FUNC_DECL C<T> glm::max (angle)C< T > const & x,
C< T > const & y,
C< T > const & z 
)
-

Faster than the common cos function but less accurate.

-

From GLM_GTX_fast_trigonometry extension.

+

Return the maximum component-wise values of 3 inputs.

+
See also
GLM_GTX_extented_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::fastSin GLM_FUNC_DECL T glm::max (angle)T const & x,
T const & y,
T const & z,
T const & w 
)
-

Faster than the common sin function but less accurate.

-

From GLM_GTX_fast_trigonometry extension.

+

Return the maximum component-wise values of 4 inputs.

+
See also
GLM_GTX_extented_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::fastTan GLM_FUNC_DECL C<T> glm::max (angle)C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z,
typename C< T >::T const & w 
)
-

Faster than the common tan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+

Return the maximum component-wise values of 4 inputs.

+
See also
GLM_GTX_extented_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::wrapAngle GLM_FUNC_DECL C<T> glm::max (angle)C< T > const & x,
C< T > const & y,
C< T > const & z,
C< T > const & w 
)
-

Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension.

+

Return the maximum component-wise values of 4 inputs.

+
See also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::min (T const & x,
T const & y,
T const & z 
)
+
+ +

Return the minimum component-wise values of 3 inputs.

+
See also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL C<T> glm::min (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z 
)
+
+ +

Return the minimum component-wise values of 3 inputs.

+
See also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL C<T> glm::min (C< T > const & x,
C< T > const & y,
C< T > const & z 
)
+
+ +

Return the minimum component-wise values of 3 inputs.

+
See also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::min (T const & x,
T const & y,
T const & z,
T const & w 
)
+
+ +

Return the minimum component-wise values of 4 inputs.

+
See also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL C<T> glm::min (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z,
typename C< T >::T const & w 
)
+
+ +

Return the minimum component-wise values of 4 inputs.

+
See also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL C<T> glm::min (C< T > const & x,
C< T > const & y,
C< T > const & z,
C< T > const & w 
)
+
+ +

Return the minimum component-wise values of 4 inputs.

+
See also
GLM_GTX_extented_min_max
@@ -240,7 +547,7 @@ Functions diff --git a/doc/api/a00197.html b/doc/api/a00197.html index 02f975ac..3dd169f3 100644 --- a/doc/api/a00197.html +++ b/doc/api/a00197.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_gradient_paint + +0.9.7: GLM_GTX_fast_exponential @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL T linearGradient (tvec2< T, P > const &Point0, tvec2< T, P > const &Point1, tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_DECL T radialGradient (tvec2< T, P > const &Center, T const &Radius, tvec2< T, P > const &Focal, tvec2< T, P > const &Position)
 
template<typename T >
GLM_FUNC_DECL T fastExp (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastExp2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp2 (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog2 (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastPow (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x)
 

Detailed Description

-

Functions that return the color of procedural gradient for specific coordinates.

-

<glm/gtx/gradient_paint.hpp> need to be included to use these functionalities.

+

Fast but less accurate implementations of exponential based functions.

+

<glm/gtx/fast_exponential.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + +
GLM_FUNC_DECL T glm::linearGradient GLM_FUNC_DECL T glm::fastExp (tvec2< T, P > const & Point0, x)
+
+ +

Faster than the common exp function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::fastExp (vecType< T, P > const & x)
+
+ +

Faster than the common exp function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::fastExp2 (x)
+
+ +

Faster than the common exp2 function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::fastExp2 (vecType< T, P > const & x)
+
+ +

Faster than the common exp2 function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::fastLog (x)
+
+ +

Faster than the common log function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::fastLog (vecType< T, P > const & x)
+
+ +

Faster than the common exp2 function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::fastLog2 (x)
+
+ +

Faster than the common log2 function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::fastLog2 (vecType< T, P > const & x)
+
+ +

Faster than the common log2 function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + - - - - - - - - + + @@ -86,38 +262,26 @@ Functions
GLM_FUNC_DECL genType glm::fastPow (genType x,
tvec2< T, P > const & Point1,
tvec2< T, P > const & Position genType y 
-

Return a color from a linear gradient.

-
See also
- GLM_GTX_gradient_paint
+

Faster than the common pow function but less accurate.

+
See also
GLM_GTX_fast_exponential
- +
- + - - + + - - - - - - - - - - - - - - + + @@ -127,8 +291,56 @@ Functions
GLM_FUNC_DECL T glm::radialGradient GLM_FUNC_DECL vecType<T, P> glm::fastPow (tvec2< T, P > const & Center, vecType< T, P > const & x,
T const & Radius,
tvec2< T, P > const & Focal,
tvec2< T, P > const & Position vecType< T, P > const & y 
-

Return a color from a radial gradient.

-
See also
- GLM_GTX_gradient_paint
+

Faster than the common pow function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genTypeT glm::fastPow (genTypeT x,
genTypeU y 
)
+
+ +

Faster than the common pow function but less accurate.

+
See also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::fastPow (vecType< T, P > const & x)
+
+ +

Faster than the common pow function but less accurate.

+
See also
GLM_GTX_fast_exponential
@@ -137,7 +349,7 @@ Functions diff --git a/doc/api/a00198.html b/doc/api/a00198.html index 0a46db5b..6a3f29ed 100644 --- a/doc/api/a00198.html +++ b/doc/api/a00198.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_handed_coordinate_space + +0.9.7: GLM_GTX_fast_square_root @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL bool leftHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL bool rightHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastDistance (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastInverseSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastLength (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastSqrt (vecType< T, P > const &x)
 

Detailed Description

-

To know if a set of three basis vectors defines a right or left-handed coordinate system.

-

<glm/gtx/handed_coordinate_system.hpp> need to be included to use these functionalities.

+

Fast but less accurate implementations of square root based functions.

+ +

<glm/gtx/fast_square_root.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - - - - - - - + + @@ -86,32 +104,26 @@ Functions
GLM_FUNC_DECL bool glm::leftHanded GLM_FUNC_DECL genType glm::fastDistance (tvec3< T, P > const & tangent, genType x,
tvec3< T, P > const & binormal,
tvec3< T, P > const & normal genType y 
-

Return if a trihedron left handed or not.

-

From GLM_GTX_handed_coordinate_space extension.

+

Faster than the common distance function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
- +
- + - - + + - - - - - - - - + + @@ -121,8 +133,141 @@ Functions
GLM_FUNC_DECL bool glm::rightHanded GLM_FUNC_DECL T glm::fastDistance (tvec3< T, P > const & tangent, vecType< T, P > const & x,
tvec3< T, P > const & binormal,
tvec3< T, P > const & normal vecType< T, P > const & y 
-

Return if a trihedron right handed or not.

-

From GLM_GTX_handed_coordinate_space extension.

+

Faster than the common distance function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fastInverseSqrt (genType x)
+
+ +

Faster than the common inversesqrt function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::fastInverseSqrt (vecType< T, P > const & x)
+
+ +

Faster than the common inversesqrt function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fastLength (genType x)
+
+ +

Faster than the common length function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::fastLength (vecType< T, P > const & x)
+
+ +

Faster than the common length function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fastNormalize (genType const & x)
+
+ +

Faster than the common normalize function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fastSqrt (genType x)
+
+ +

Faster than the common sqrt function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::fastSqrt (vecType< T, P > const & x)
+
+ +

Faster than the common sqrt function but less accurate.

+
See also
GLM_GTX_fast_square_root extension.
@@ -131,7 +276,7 @@ Functions diff --git a/doc/api/a00199.html b/doc/api/a00199.html index a0dae4d3..198a85db 100644 --- a/doc/api/a00199.html +++ b/doc/api/a00199.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_integer + +0.9.7: GLM_GTX_fast_trigonometry @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
GLM_GTX_fast_trigonometry
- - - -

-Typedefs

typedef signed int sint
 
- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType factorial (genType const &x)
 
GLM_FUNC_DECL unsigned int floor_log2 (unsigned int x)
 
GLM_FUNC_DECL int mod (int x, int y)
 
GLM_FUNC_DECL uint mod (uint x, uint y)
 
GLM_FUNC_DECL uint nlz (uint x)
 
GLM_FUNC_DECL int pow (int x, int y)
 
GLM_FUNC_DECL uint pow (uint x, uint y)
 
GLM_FUNC_DECL int sqrt (int x)
 
GLM_FUNC_DECL uint sqrt (uint x)
 
template<typename T >
GLM_FUNC_DECL T fastAcos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAsin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T y, T x)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastCos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastSin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastTan (T angle)
 
template<typename T >
GLM_FUNC_DECL T wrapAngle (T angle)
 

Detailed Description

-

Add support for integer for core functions.

-

<glm/gtx/integer.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef signed int sint
-
- -

32bit signed integer.

-

From GLM_GTX_integer extension.

- -

Definition at line 80 of file gtx/integer.hpp.

- -
-
+

Fast but less accurate implementations of trigonometric functions.

+

<glm/gtx/fast_trigonometry.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL genType glm::factorial GLM_FUNC_DECL T glm::fastAcos (genType const & x)angle)
-

Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension.

+

Faster than the common acos function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- +
- + - - + +
GLM_FUNC_DECL unsigned int glm::floor_log2 GLM_FUNC_DECL T glm::fastAsin (unsigned int x)angle)
-

Returns the floor log2 of x.

-

From GLM_GTX_integer extension.

+

Faster than the common asin function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- +
- + - - + + - - + + @@ -154,152 +136,102 @@ Functions
GLM_FUNC_DECL int glm::mod GLM_FUNC_DECL T glm::fastAtan (int x, y,
int y x 
-

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

+

Faster than the common atan function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL uint glm::mod GLM_FUNC_DECL T glm::fastAtan (uint x,
uint y 
)
-
- -

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - + +
GLM_FUNC_DECL uint glm::nlz (uint x)angle)
-

Returns the number of leading zeros.

-

From GLM_GTX_integer extension.

+

Faster than the common atan function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL int glm::pow GLM_FUNC_DECL T glm::fastCos (int x,
int y 
)
-
- -

Returns x raised to the y power.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL uint glm::pow (uint x,
uint y 
)
-
- -

Returns x raised to the y power.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - + +
GLM_FUNC_DECL int glm::sqrt (int x)angle)
-

Returns the positive square root of x.

-

From GLM_GTX_integer extension.

+

Faster than the common cos function but less accurate.

+

From GLM_GTX_fast_trigonometry extension.

- +
- + - - + +
GLM_FUNC_DECL uint glm::sqrt GLM_FUNC_DECL T glm::fastSin (uint x)angle)
-

Returns the positive square root of x.

-

From GLM_GTX_integer extension.

+

Faster than the common sin function but less accurate.

+

From GLM_GTX_fast_trigonometry extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::fastTan (angle)
+
+ +

Faster than the common tan function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::wrapAngle (angle)
+
+ +

Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension.

@@ -308,7 +240,7 @@ Functions diff --git a/doc/api/a00200.html b/doc/api/a00200.html index 4d265980..eaecfa62 100644 --- a/doc/api/a00200.html +++ b/doc/api/a00200.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_intersect + +0.9.7: GLM_GTX_gradient_paint @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
template<typename T , precision P>
GLM_FUNC_DECL T linearGradient (tvec2< T, P > const &Point0, tvec2< T, P > const &Point1, tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_DECL T radialGradient (tvec2< T, P > const &Center, T const &Radius, tvec2< T, P > const &Focal, tvec2< T, P > const &Position)
 

Detailed Description

-

Add intersection functions.

-

<glm/gtx/intersect.hpp> need to be included to use these functionalities.

+

Functions that return the color of procedural gradient for specific coordinates.

+

<glm/gtx/gradient_paint.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -128,50 +86,38 @@ Functions
GLM_FUNC_DECL bool glm::intersectLineSphere GLM_FUNC_DECL T glm::linearGradient (genType const & point0, tvec2< T, P > const & Point0,
genType const & point1, tvec2< T, P > const & Point1,
genType const & sphereCenter,
typename genType::value_type sphereRadius,
genType & intersectionPosition1,
genType & intersectionNormal1,
genType & intersectionPosition2 = genType(),
genType & intersectionNormal2 = genType() tvec2< T, P > const & Position 
-

Compute the intersection of a line and a sphere.

-

From GLM_GTX_intersect extension

+

Return a color from a linear gradient.

+
See also
- GLM_GTX_gradient_paint
- +
- + - - + + - - + + - - + + - - - - - - - - - - - - - - + + @@ -181,208 +127,8 @@ Functions
GLM_FUNC_DECL bool glm::intersectLineTriangle GLM_FUNC_DECL T glm::radialGradient (genType const & orig, tvec2< T, P > const & Center,
genType const & dir, T const & Radius,
genType const & vert0, tvec2< T, P > const & Focal,
genType const & vert1,
genType const & vert2,
genType & position tvec2< T, P > const & Position 
-

Compute the intersection of a line and a triangle.

-

From GLM_GTX_intersect extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::intersectRayPlane (genType const & orig,
genType const & dir,
genType const & planeOrig,
genType const & planeNormal,
typename genType::value_type & intersectionDistance 
)
-
- -

Compute the intersection of a ray and a triangle.

-

Ray direction and plane normal must be unit length. From GLM_GTX_intersect extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::intersectRaySphere (genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
typename genType::value_type const sphereRadiusSquered,
typename genType::value_type & intersectionDistance 
)
-
- -

Compute the intersection distance of a ray and a sphere.

-

The ray direction vector is unit length. From GLM_GTX_intersect extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::intersectRaySphere (genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
const typename genType::value_type sphereRadius,
genType & intersectionPosition,
genType & intersectionNormal 
)
-
- -

Compute the intersection of a ray and a sphere.

-

From GLM_GTX_intersect extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::intersectRayTriangle (genType const & orig,
genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & baryPosition 
)
-
- -

Compute the intersection of a ray and a triangle.

-

From GLM_GTX_intersect extension.

+

Return a color from a radial gradient.

+
See also
- GLM_GTX_gradient_paint
@@ -391,7 +137,7 @@ Functions diff --git a/doc/api/a00201.html b/doc/api/a00201.html index cacaff5d..eaf37d32 100644 --- a/doc/api/a00201.html +++ b/doc/api/a00201.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_io + +0.9.7: GLM_GTX_handed_coordinate_space @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+ +
GLM_GTX_handed_coordinate_space
+ + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL bool leftHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL bool rightHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 

Detailed Description

-

std::[w]ostream support for glm types

-

std::[w]ostream support for glm types + precision/width/etc. manipulators based on howard hinnant's std::chrono io proposal [http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html]

-

<glm/gtx/io.hpp> needs to be included to use these functionalities.

+

To know if a set of three basis vectors defines a right or left-handed coordinate system.

+

<glm/gtx/handed_coordinate_system.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::leftHanded (tvec3< T, P > const & tangent,
tvec3< T, P > const & binormal,
tvec3< T, P > const & normal 
)
+
+ +

Return if a trihedron left handed or not.

+

From GLM_GTX_handed_coordinate_space extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::rightHanded (tvec3< T, P > const & tangent,
tvec3< T, P > const & binormal,
tvec3< T, P > const & normal 
)
+
+ +

Return if a trihedron right handed or not.

+

From GLM_GTX_handed_coordinate_space extension.

+ +
+
diff --git a/doc/api/a00202.html b/doc/api/a00202.html index 88b79c79..5ebc44a3 100644 --- a/doc/api/a00202.html +++ b/doc/api/a00202.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_log_base + +0.9.7: GLM_GTX_hash @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- +
- - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType log (genType x, genType base)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x, vecType< T, P > const &base)
 
-

Detailed Description

-

Logarithm for any base.

-

base can be a vector or a scalar.

-

<glm/gtx/log_base.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::log (genType x,
genType base 
)
-
- -

Logarithm for any base.

-

From GLM_GTX_log_base.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::sign (vecType< T, P > const & x,
vecType< T, P > const & base 
)
-
- -

Logarithm for any base.

-

From GLM_GTX_log_base.

- -
-
+

Add std::hash support for glm types.

+

<glm/gtx/hash.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00203.html b/doc/api/a00203.html index e3e21930..fae319ad 100644 --- a/doc/api/a00203.html +++ b/doc/api/a00203.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_matrix_cross_product + +0.9.7: GLM_GTX_integer @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
GLM_GTX_matrix_cross_product
+
+ + + +

+Typedefs

typedef signed int sint
 
- - - - - - + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > matrixCross3 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > matrixCross4 (tvec3< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType factorial (genType const &x)
 
GLM_FUNC_DECL unsigned int floor_log2 (unsigned int x)
 
GLM_FUNC_DECL int mod (int x, int y)
 
GLM_FUNC_DECL uint mod (uint x, uint y)
 
GLM_FUNC_DECL uint nlz (uint x)
 
GLM_FUNC_DECL int pow (int x, int y)
 
GLM_FUNC_DECL uint pow (uint x, uint y)
 
GLM_FUNC_DECL int sqrt (int x)
 
GLM_FUNC_DECL uint sqrt (uint x)
 

Detailed Description

-

Build cross product matrices.

-

<glm/gtx/matrix_cross_product.hpp> need to be included to use these functionalities.

+

Add support for integer for core functions.

+

<glm/gtx/integer.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef signed int sint
+
+ +

32bit signed integer.

+

From GLM_GTX_integer extension.

+ +

Definition at line 80 of file gtx/integer.hpp.

+ +
+

Function Documentation

- +
- + - +
GLM_FUNC_DECL tmat3x3<T, P> glm::matrixCross3 GLM_FUNC_DECL genType glm::factorial (tvec3< T, P > const & genType const &  x)
-

Build a cross product matrix.

-

From GLM_GTX_matrix_cross_product extension.

+

Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension.

- +
- + - +
GLM_FUNC_DECL tmat4x4<T, P> glm::matrixCross4 GLM_FUNC_DECL unsigned int glm::floor_log2 (tvec3< T, P > const & unsigned int  x)
-

Build a cross product matrix.

-

From GLM_GTX_matrix_cross_product extension.

+

Returns the floor log2 of x.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int glm::mod (int x,
int y 
)
+
+ +

Modulus.

+

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint glm::mod (uint x,
uint y 
)
+
+ +

Modulus.

+

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::nlz (uint x)
+
+ +

Returns the number of leading zeros.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int glm::pow (int x,
int y 
)
+
+ +

Returns x raised to the y power.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint glm::pow (uint x,
uint y 
)
+
+ +

Returns x raised to the y power.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL int glm::sqrt (int x)
+
+ +

Returns the positive square root of x.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::sqrt (uint x)
+
+ +

Returns the positive square root of x.

+

From GLM_GTX_integer extension.

@@ -99,7 +308,7 @@ Functions diff --git a/doc/api/a00204.html b/doc/api/a00204.html index 23e059a4..74f221f3 100644 --- a/doc/api/a00204.html +++ b/doc/api/a00204.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_matrix_decompose + +0.9.7: GLM_GTX_intersect @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL bool decompose (tmat4x4< T, P > const &modelMatrix, tvec3< T, P > &scale, tquat< T, P > &orientation, tvec3< T, P > &translation, tvec3< T, P > &skew, tvec4< T, P > &perspective)
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 

Detailed Description

-

Decomposes a model matrix to translations, rotation and scale components.

-

<glm/gtx/decomposition.hpp> need to be included to use these functionalities.

+

Add intersection functions.

+

<glm/gtx/intersect.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + @@ -101,8 +128,261 @@ Functions
GLM_FUNC_DECL bool glm::decompose GLM_FUNC_DECL bool glm::intersectLineSphere (tmat4x4< T, P > const & modelMatrix, genType const & point0,
tvec3< T, P > & scale, genType const & point1,
tquat< T, P > & orientation, genType const & sphereCenter,
tvec3< T, P > & translation, typename genType::value_type sphereRadius,
tvec3< T, P > & skew, genType & intersectionPosition1,
tvec4< T, P > & perspective genType & intersectionNormal1,
genType & intersectionPosition2 = genType(),
genType & intersectionNormal2 = genType() 
-

Decomposes a model matrix to translations, rotation and scale components.

-
See also
GLM_GTX_matrix_decompose
+

Compute the intersection of a line and a sphere.

+

From GLM_GTX_intersect extension

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::intersectLineTriangle (genType const & orig,
genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & position 
)
+
+ +

Compute the intersection of a line and a triangle.

+

From GLM_GTX_intersect extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::intersectRayPlane (genType const & orig,
genType const & dir,
genType const & planeOrig,
genType const & planeNormal,
typename genType::value_type & intersectionDistance 
)
+
+ +

Compute the intersection of a ray and a plane.

+

Ray direction and plane normal must be unit length. From GLM_GTX_intersect extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::intersectRaySphere (genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
typename genType::value_type const sphereRadiusSquered,
typename genType::value_type & intersectionDistance 
)
+
+ +

Compute the intersection distance of a ray and a sphere.

+

The ray direction vector is unit length. From GLM_GTX_intersect extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::intersectRaySphere (genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
const typename genType::value_type sphereRadius,
genType & intersectionPosition,
genType & intersectionNormal 
)
+
+ +

Compute the intersection of a ray and a sphere.

+

From GLM_GTX_intersect extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::intersectRayTriangle (genType const & orig,
genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & baryPosition 
)
+
+ +

Compute the intersection of a ray and a triangle.

+

From GLM_GTX_intersect extension.

@@ -111,7 +391,7 @@ Functions diff --git a/doc/api/a00205.html b/doc/api/a00205.html index 75755465..65d7f92e 100644 --- a/doc/api/a00205.html +++ b/doc/api/a00205.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_matrix_interpolation + +0.9.7: GLM_GTX_io @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
GLM_GTX_matrix_interpolation
+
- - - - - - - - - - - - - - -

-Functions

template<typename T , precision P>
GLM_FUNC_DECL void axisAngle (tmat4x4< T, P > const &mat, tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > axisAngleMatrix (tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > extractMatrixRotation (tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > interpolate (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2, T const delta)
 

Detailed Description

-

Allows to directly interpolate two exiciting matrices.

-

<glm/gtx/matrix_interpolation.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL void glm::axisAngle (tmat4x4< T, P > const & mat,
tvec3< T, P > & axis,
T & angle 
)
-
- -

Get the axis and angle of the rotation from a matrix.

-

From GLM_GTX_matrix_interpolation extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::axisAngleMatrix (tvec3< T, P > const & axis,
T const angle 
)
-
- -

Build a matrix from axis and angle.

-

From GLM_GTX_matrix_interpolation extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::extractMatrixRotation (tmat4x4< T, P > const & mat)
-
- -

Extracts the rotation part of a matrix.

-

From GLM_GTX_matrix_interpolation extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::interpolate (tmat4x4< T, P > const & m1,
tmat4x4< T, P > const & m2,
T const delta 
)
-
- -

Build a interpolation of 4 * 4 matrixes.

-

From GLM_GTX_matrix_interpolation extension. Warning! works only with rotation and/or translation matrixes, scale will generate unexpected results.

- -
-
+

std::[w]ostream support for glm types

+

std::[w]ostream support for glm types + precision/width/etc. manipulators based on howard hinnant's std::chrono io proposal [http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html]

+

<glm/gtx/io.hpp> needs to be included to use these functionalities.

diff --git a/doc/api/a00206.html b/doc/api/a00206.html index d38a3ab0..e7500b06 100644 --- a/doc/api/a00206.html +++ b/doc/api/a00206.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_matrix_major_storage + +0.9.7: GLM_GTX_log_base @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tmat4x4< T, P > const &m)
 
template<typename genType >
GLM_FUNC_DECL genType log (genType x, genType base)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x, vecType< T, P > const &base)
 

Detailed Description

-

Build matrices with specific matrix order, row or column.

-

<glm/gtx/matrix_major_storage.hpp> need to be included to use these functionalities.

+

Logarithm for any base.

+

base can be a vector or a scalar.

+

<glm/gtx/log_base.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - + + @@ -110,51 +81,26 @@ Functions
GLM_FUNC_DECL tmat2x2<T, P> glm::colMajor2 GLM_FUNC_DECL genType glm::log (tvec2< T, P > const & v1, genType x,
tvec2< T, P > const & v2 genType base 
-

Build a column major matrix from column vectors.

-

From GLM_GTX_matrix_major_storage extension.

+

Logarithm for any base.

+

From GLM_GTX_log_base.

- +
- + - - - - -
GLM_FUNC_DECL tmat2x2<T, P> glm::colMajor2 GLM_FUNC_DECL vecType<T, P> glm::sign (tmat2x2< T, P > const & m)
-
- -

Build a column major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - + + - - - - - - - - + + @@ -164,249 +110,8 @@ Functions
GLM_FUNC_DECL tmat3x3<T, P> glm::colMajor3 (tvec3< T, P > const & v1, vecType< T, P > const & x,
tvec3< T, P > const & v2,
tvec3< T, P > const & v3 vecType< T, P > const & base 
-

Build a column major matrix from column vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, P> glm::colMajor3 (tmat3x3< T, P > const & m)
-
- -

Build a column major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::colMajor4 (tvec4< T, P > const & v1,
tvec4< T, P > const & v2,
tvec4< T, P > const & v3,
tvec4< T, P > const & v4 
)
-
- -

Build a column major matrix from column vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::colMajor4 (tmat4x4< T, P > const & m)
-
- -

Build a column major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat2x2<T, P> glm::rowMajor2 (tvec2< T, P > const & v1,
tvec2< T, P > const & v2 
)
-
- -

Build a row major matrix from row vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat2x2<T, P> glm::rowMajor2 (tmat2x2< T, P > const & m)
-
- -

Build a row major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, P> glm::rowMajor3 (tvec3< T, P > const & v1,
tvec3< T, P > const & v2,
tvec3< T, P > const & v3 
)
-
- -

Build a row major matrix from row vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, P> glm::rowMajor3 (tmat3x3< T, P > const & m)
-
- -

Build a row major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::rowMajor4 (tvec4< T, P > const & v1,
tvec4< T, P > const & v2,
tvec4< T, P > const & v3,
tvec4< T, P > const & v4 
)
-
- -

Build a row major matrix from row vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::rowMajor4 (tmat4x4< T, P > const & m)
-
- -

Build a row major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

+

Logarithm for any base.

+

From GLM_GTX_log_base.

@@ -415,7 +120,7 @@ Functions diff --git a/doc/api/a00207.html b/doc/api/a00207.html index eac9597a..15d14904 100644 --- a/doc/api/a00207.html +++ b/doc/api/a00207.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_matrix_operation + +0.9.7: GLM_GTX_matrix_cross_product @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > diagonal2x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > diagonal2x3 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > diagonal2x4 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > diagonal3x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > diagonal3x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > diagonal3x4 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > diagonal4x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > diagonal4x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > diagonal4x4 (tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > matrixCross3 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > matrixCross4 (tvec3< T, P > const &x)
 

Detailed Description

-

Build diagonal matrices from vectors.

-

<glm/gtx/matrix_operation.hpp> need to be included to use these functionalities.

+

Build cross product matrices.

+

<glm/gtx/matrix_cross_product.hpp> need to be included to use these functionalities.

Function Documentation

- +
- - - - - - -
GLM_FUNC_DECL tmat2x2<T, P> glm::diagonal2x2 (tvec2< T, P > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat2x3<T, P> glm::diagonal2x3 (tvec2< T, P > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat2x4<T, P> glm::diagonal2x4 (tvec2< T, P > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x2<T, P> glm::diagonal3x2 (tvec2< T, P > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - + - +
GLM_FUNC_DECL tmat3x3<T, P> glm::diagonal3x3 GLM_FUNC_DECL tmat3x3<T, P> glm::matrixCross3 ( tvec3< T, P > const & v)x)
-

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

+

Build a cross product matrix.

+

From GLM_GTX_matrix_cross_product extension.

- +
- + - +
GLM_FUNC_DECL tmat3x4<T, P> glm::diagonal3x4 GLM_FUNC_DECL tmat4x4<T, P> glm::matrixCross4 ( tvec3< T, P > const & v)x)
-

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x2<T, P> glm::diagonal4x2 (tvec2< T, P > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x3<T, P> glm::diagonal4x3 (tvec3< T, P > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::diagonal4x4 (tvec4< T, P > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

+

Build a cross product matrix.

+

From GLM_GTX_matrix_cross_product extension.

@@ -253,7 +99,7 @@ Functions diff --git a/doc/api/a00208.html b/doc/api/a00208.html index 7ca48981..4f98f311 100644 --- a/doc/api/a00208.html +++ b/doc/api/a00208.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_matrix_query + +0.9.7: GLM_GTX_matrix_decompose @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool decompose (tmat4x4< T, P > const &modelMatrix, tvec3< T, P > &scale, tquat< T, P > &orientation, tvec3< T, P > &translation, tvec3< T, P > &skew, tvec4< T, P > &perspective)
 

Detailed Description

-

Query to evaluate matrix properties.

-

<glm/gtx/matrix_query.hpp> need to be included to use these functionalities.

+

Decomposes a model matrix to translations, rotation and scale components.

+

<glm/gtx/decomposition.hpp> need to be included to use these functionalities.

Function Documentation

- +
- - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::isIdentity (matType< T, P > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix is an identity matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::isNormalized (tmat2x2< T, P > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix is a normalized matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::isNormalized (tmat3x3< T, P > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix is a normalized matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -185,124 +101,8 @@ Functions
GLM_FUNC_DECL bool glm::isNormalized GLM_FUNC_DECL bool glm::decompose ( tmat4x4< T, P > const & m, modelMatrix,
T const & epsilon tvec3< T, P > & scale,
tquat< T, P > & orientation,
tvec3< T, P > & translation,
tvec3< T, P > & skew,
tvec4< T, P > & perspective 
-

Return whether a matrix is a normalized matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::isNull (tmat2x2< T, P > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix a null matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::isNull (tmat3x3< T, P > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix a null matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::isNull (tmat4x4< T, P > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix is a null matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL bool glm::isOrthogonal (matType< T, P > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix is an orthonormalized matrix.

-

From GLM_GTX_matrix_query extension.

+

Decomposes a model matrix to translations, rotation and scale components.

+
See also
GLM_GTX_matrix_decompose
@@ -311,7 +111,7 @@ Functions diff --git a/doc/api/a00209.html b/doc/api/a00209.html index e79ffa3d..ff3c64ab 100644 --- a/doc/api/a00209.html +++ b/doc/api/a00209.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_matrix_transform_2d + +0.9.7: GLM_GTX_matrix_interpolation @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > rotate (tmat3x3< T, P > const &m, T angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > scale (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearX (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearY (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > translate (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL void axisAngle (tmat4x4< T, P > const &mat, tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > axisAngleMatrix (tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > extractMatrixRotation (tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > interpolate (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2, T const delta)
 

Detailed Description

-

Defines functions that generate common 2d transformation matrices.

-

<glm/gtx/matrix_transform_2d.hpp> need to be included to use these functionalities.

+

Allows to directly interpolate two exiciting matrices.

+

<glm/gtx/matrix_interpolation.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - + + + + + + + @@ -89,32 +92,26 @@ Functions
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::rotate GLM_FUNC_DECL void glm::axisAngle (tmat3x3< T, P > const & m, tmat4x4< T, P > const & mat,
tvec3< T, P > & axis,
T &  angle 
-

Builds a rotation 3 * 3 matrix created from an angle.

-
Parameters
- - - -
mInput matrix multiplied by this translation matrix.
angleRotation angle expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.
-
-
+

Get the axis and angle of the rotation from a matrix.

+

From GLM_GTX_matrix_interpolation extension.

- +
- + - - + + - - + + @@ -124,32 +121,51 @@ Functions
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::scale GLM_FUNC_DECL tmat4x4<T, P> glm::axisAngleMatrix (tmat3x3< T, P > const & m, tvec3< T, P > const & axis,
tvec2< T, P > const & v T const angle 
-

Builds a scale 3 * 3 matrix created from a vector of 2 components.

-
Parameters
- - - -
mInput matrix multiplied by this translation matrix.
vCoordinates of a scale vector.
-
-
+

Build a matrix from axis and angle.

+

From GLM_GTX_matrix_interpolation extension.

- +
- + - - + + + + +
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::shearX GLM_FUNC_DECL tmat4x4<T, P> glm::extractMatrixRotation (tmat3x3< T, P > const & m, tmat4x4< T, P > const & mat)
+
+ +

Extracts the rotation part of a matrix.

+

From GLM_GTX_matrix_interpolation extension.

+ +
+
+ +
+
+ + + + + + - - + + + + + + + + @@ -159,84 +175,8 @@ Functions
GLM_FUNC_DECL tmat4x4<T, P> glm::interpolate (tmat4x4< T, P > const & m1,
y tmat4x4< T, P > const & m2,
T const delta 
-

Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix.

-
Parameters
- - - -
mInput matrix multiplied by this translation matrix.
yShear factor.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::shearY (tmat3x3< T, P > const & m,
x 
)
-
- -

Builds a vertical (parallel to the y axis) shear 3 * 3 matrix.

-
Parameters
- - - -
mInput matrix multiplied by this translation matrix.
xShear factor.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::translate (tmat3x3< T, P > const & m,
tvec2< T, P > const & v 
)
-
- -

Builds a translation 3 * 3 matrix created from a vector of 2 components.

-
Parameters
- - - -
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
-
-
+

Build a interpolation of 4 * 4 matrixes.

+

From GLM_GTX_matrix_interpolation extension. Warning! works only with rotation and/or translation matrixes, scale will generate unexpected results.

@@ -245,7 +185,7 @@ Functions diff --git a/doc/api/a00210.html b/doc/api/a00210.html index 50d798ef..7400286b 100644 --- a/doc/api/a00210.html +++ b/doc/api/a00210.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_mixed_producte + +0.9.7: GLM_GTX_matrix_major_storage @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

-template<typename T , precision P>
GLM_FUNC_DECL T mixedProduct (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tmat4x4< T, P > const &m)
 

Detailed Description

-

Mixed product of 3 vectors.

-

<glm/gtx/mixed_product.hpp> need to be included to use these functionalities.

+

Build matrices with specific matrix order, row or column.

+

<glm/gtx/matrix_major_storage.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat2x2<T, P> glm::colMajor2 (tvec2< T, P > const & v1,
tvec2< T, P > const & v2 
)
+
+ +

Build a column major matrix from column vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat2x2<T, P> glm::colMajor2 (tmat2x2< T, P > const & m)
+
+ +

Build a column major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::colMajor3 (tvec3< T, P > const & v1,
tvec3< T, P > const & v2,
tvec3< T, P > const & v3 
)
+
+ +

Build a column major matrix from column vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::colMajor3 (tmat3x3< T, P > const & m)
+
+ +

Build a column major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::colMajor4 (tvec4< T, P > const & v1,
tvec4< T, P > const & v2,
tvec4< T, P > const & v3,
tvec4< T, P > const & v4 
)
+
+ +

Build a column major matrix from column vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::colMajor4 (tmat4x4< T, P > const & m)
+
+ +

Build a column major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat2x2<T, P> glm::rowMajor2 (tvec2< T, P > const & v1,
tvec2< T, P > const & v2 
)
+
+ +

Build a row major matrix from row vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat2x2<T, P> glm::rowMajor2 (tmat2x2< T, P > const & m)
+
+ +

Build a row major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::rowMajor3 (tvec3< T, P > const & v1,
tvec3< T, P > const & v2,
tvec3< T, P > const & v3 
)
+
+ +

Build a row major matrix from row vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::rowMajor3 (tmat3x3< T, P > const & m)
+
+ +

Build a row major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::rowMajor4 (tvec4< T, P > const & v1,
tvec4< T, P > const & v2,
tvec4< T, P > const & v3,
tvec4< T, P > const & v4 
)
+
+ +

Build a row major matrix from row vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::rowMajor4 (tmat4x4< T, P > const & m)
+
+ +

Build a row major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
diff --git a/doc/api/a00211.html b/doc/api/a00211.html index 2376c23f..c7a66656 100644 --- a/doc/api/a00211.html +++ b/doc/api/a00211.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_multiple + +0.9.7: GLM_GTX_matrix_operation @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL
-genType 
higherMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > 
higherMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL
-genType 
lowerMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL
-vecType< T, P > 
lowerMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > diagonal2x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > diagonal2x3 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > diagonal2x4 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > diagonal3x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > diagonal3x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > diagonal3x4 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > diagonal4x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > diagonal4x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > diagonal4x4 (tvec4< T, P > const &v)
 

Detailed Description

-

Find the closest number of a number multiple of other number.

-

<glm/gtx/multiple.hpp> need to be included to use these functionalities.

+

Build diagonal matrices from vectors.

+

<glm/gtx/matrix_operation.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - - + + - - - - - - -
GLM_DEPRECATED GLM_FUNC_DECL genType glm::higherMultiple GLM_FUNC_DECL tmat2x2<T, P> glm::diagonal2x2 (genType Source,
tvec2< T, P > const & v) genType Multiple 
)
-

Higher multiple number of Source.

-
Template Parameters
- - -
genTypeFloating-point or integer scalar or vector types.
-
-
-
Parameters
- - - -
Source
MultipleMust be a null or positive value
-
-
-
See also
GLM_GTX_multiple
+

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

- +
- + - - - - - + + - - - - - - -
GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::higherMultiple GLM_FUNC_DECL tmat2x3<T, P> glm::diagonal2x3 (vecType< T, P > const & Source,
tvec2< T, P > const & v) vecType< T, P > const & Multiple 
)
-

Higher multiple number of Source.

-
Template Parameters
- - -
genTypeFloating-point or integer scalar or vector types.
-
-
-
Parameters
- - - -
Source
MultipleMust be a null or positive value
-
-
-
See also
GLM_GTX_multiple
+

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

- +
- + - - - - - + + - - - - - - -
GLM_DEPRECATED GLM_FUNC_DECL genType glm::lowerMultiple GLM_FUNC_DECL tmat2x4<T, P> glm::diagonal2x4 (genType Source,
tvec2< T, P > const & v) genType Multiple 
)
-

Lower multiple number of Source.

-
Template Parameters
- - -
genTypeFloating-point or integer scalar or vector types.
-
-
-
Parameters
- - - -
Source
MultipleMust be a null or positive value
-
-
-
See also
GLM_GTX_multiple
+

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

- +
- + - - - - - + + - - - - - - -
GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::lowerMultiple GLM_FUNC_DECL tmat3x2<T, P> glm::diagonal3x2 (vecType< T, P > const & Source,
tvec2< T, P > const & v) vecType< T, P > const & Multiple 
)
-

Lower multiple number of Source.

-
Template Parameters
- - -
genTypeFloating-point or integer scalar or vector types.
-
-
-
Parameters
- - - -
Source
MultipleMust be a null or positive value
-
-
-
See also
GLM_GTX_multiple
+

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::diagonal3x3 (tvec3< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat3x4<T, P> glm::diagonal3x4 (tvec3< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x2<T, P> glm::diagonal4x2 (tvec2< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x3<T, P> glm::diagonal4x3 (tvec3< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::diagonal4x4 (tvec4< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

@@ -239,7 +253,7 @@ vecType< T, P >  diff --git a/doc/api/a00212.html b/doc/api/a00212.html index 879ee5b2..c9455a27 100644 --- a/doc/api/a00212.html +++ b/doc/api/a00212.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_norm + +0.9.7: GLM_GTX_matrix_query @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL T distance2 (T const &p0, T const &p1)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
GLM_FUNC_DECL T l1Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T l1Norm (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL T l2Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T l2Norm (tvec3< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T length2 (T const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T lxNorm (tvec3< T, P > const &x, tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
GLM_FUNC_DECL T lxNorm (tvec3< T, P > const &x, unsigned int Depth)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 

Detailed Description

-

Various ways to compute vector norms.

-

<glm/gtx/norm.hpp> need to be included to use these functionalities.

+

Query to evaluate matrix properties.

+

<glm/gtx/matrix_query.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - + @@ -104,195 +98,26 @@ Functions
GLM_FUNC_DECL T glm::distance2 GLM_FUNC_DECL bool glm::isIdentity (T const & p0, matType< T, P > const & m,
T const & p1 epsilon 
-

Returns the squared distance between p0 and p1, i.e., length(p0 - p1).

-

From GLM_GTX_norm extension.

+

Return whether a matrix is an identity matrix.

+

From GLM_GTX_matrix_query extension.

- +
- + - - + + - - - - - - - - -
GLM_FUNC_DECL genType::value_type glm::distance2 GLM_FUNC_DECL bool glm::isNormalized (genType const & p0, tmat2x2< T, P > const & m,
genType const & p1 
)
-
- -

Returns the squared distance between p0 and p1, i.e., length(p0 - p1).

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::l1Norm (tvec3< T, P > const & x,
tvec3< T, P > const & y 
)
-
- -

Returns the L1 norm between x and y.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::l1Norm (tvec3< T, P > const & v)
-
- -

Returns the L1 norm of v.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::l2Norm (tvec3< T, P > const & x,
tvec3< T, P > const & y 
)
-
- -

Returns the L2 norm between x and y.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::l2Norm (tvec3< T, P > const & x)
-
- -

Returns the L2 norm of v.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL T glm::length2 ( T const & x)
-
- -

Returns the squared length of x.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genType::value_type glm::length2 (genType const & x)
-
- -

Returns the squared length of x.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - + @@ -302,26 +127,26 @@ Functions
GLM_FUNC_DECL T glm::lxNorm (tvec3< T, P > const & x,
tvec3< T, P > const & y,
unsigned int Depth epsilon 
-

Returns the L norm between x and y.

-

From GLM_GTX_norm extension.

+

Return whether a matrix is a normalized matrix.

+

From GLM_GTX_matrix_query extension.

- +
- + - - + + - - + + @@ -331,8 +156,153 @@ Functions
GLM_FUNC_DECL T glm::lxNorm GLM_FUNC_DECL bool glm::isNormalized (tvec3< T, P > const & x, tmat3x3< T, P > const & m,
unsigned int Depth T const & epsilon 
-

Returns the L norm of v.

-

From GLM_GTX_norm extension.

+

Return whether a matrix is a normalized matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::isNormalized (tmat4x4< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is a normalized matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::isNull (tmat2x2< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix a null matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::isNull (tmat3x3< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix a null matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::isNull (tmat4x4< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is a null matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::isOrthogonal (matType< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is an orthonormalized matrix.

+

From GLM_GTX_matrix_query extension.

@@ -341,7 +311,7 @@ Functions diff --git a/doc/api/a00213.html b/doc/api/a00213.html index 392c60af..730d51fc 100644 --- a/doc/api/a00213.html +++ b/doc/api/a00213.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_normal + +0.9.7: GLM_GTX_matrix_transform_2d @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > triangleNormal (tvec3< T, P > const &p1, tvec3< T, P > const &p2, tvec3< T, P > const &p3)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > rotate (tmat3x3< T, P > const &m, T angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > scale (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearX (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearY (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > translate (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 

Detailed Description

-

Compute the normal of a triangle.

-

<glm/gtx/normal.hpp> need to be included to use these functionalities.

+

Defines functions that generate common 2d transformation matrices.

+

<glm/gtx/matrix_transform_2d.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - - - - - - - + + @@ -83,8 +89,154 @@ Functions
GLM_FUNC_DECL tvec3<T, P> glm::triangleNormal GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::rotate (tvec3< T, P > const & p1, tmat3x3< T, P > const & m,
tvec3< T, P > const & p2,
tvec3< T, P > const & p3 angle 
-

Computes triangle normal from triangle points.

-

From GLM_GTX_normal extension.

+

Builds a rotation 3 * 3 matrix created from an angle.

+
Parameters
+ + + +
mInput matrix multiplied by this translation matrix.
angleRotation angle expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::scale (tmat3x3< T, P > const & m,
tvec2< T, P > const & v 
)
+
+ +

Builds a scale 3 * 3 matrix created from a vector of 2 components.

+
Parameters
+ + + +
mInput matrix multiplied by this translation matrix.
vCoordinates of a scale vector.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::shearX (tmat3x3< T, P > const & m,
y 
)
+
+ +

Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix.

+
Parameters
+ + + +
mInput matrix multiplied by this translation matrix.
yShear factor.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::shearY (tmat3x3< T, P > const & m,
x 
)
+
+ +

Builds a vertical (parallel to the y axis) shear 3 * 3 matrix.

+
Parameters
+ + + +
mInput matrix multiplied by this translation matrix.
xShear factor.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::translate (tmat3x3< T, P > const & m,
tvec2< T, P > const & v 
)
+
+ +

Builds a translation 3 * 3 matrix created from a vector of 2 components.

+
Parameters
+ + + +
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
+
+
@@ -93,7 +245,7 @@ Functions diff --git a/doc/api/a00214.html b/doc/api/a00214.html index f10b3735..79c2e31c 100644 --- a/doc/api/a00214.html +++ b/doc/api/a00214.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_normalize_dot + +0.9.7: GLM_GTX_mixed_producte @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastNormalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T normalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
+template<typename T , precision P>
GLM_FUNC_DECL T mixedProduct (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 

Detailed Description

-

Dot product of vectors that need to be normalize with a single square root.

-

<glm/gtx/normalized_dot.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::fastNormalizeDot (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Normalize parameters and returns the dot product of x and y.

-

Faster that dot(fastNormalize(x), fastNormalize(y)).

-
See also
GLM_GTX_normalize_dot extension.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::normalizeDot (vecType< T, P > const & x,
vecType< T, P > const & y 
)
-
- -

Normalize parameters and returns the dot product of x and y.

-

It's faster that dot(normalize(x), normalize(y)).

-
See also
GLM_GTX_normalize_dot extension.
- -
-
+

Mixed product of 3 vectors.

+

<glm/gtx/mixed_product.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00215.html b/doc/api/a00215.html index 7171ca2a..a591df99 100644 --- a/doc/api/a00215.html +++ b/doc/api/a00215.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_number_precision + +0.9.7: GLM_GTX_norm @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
GLM_GTX_number_precision
+
GLM_GTX_norm
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

-typedef f32 f32mat1
 
-typedef f32 f32mat1x1
 
-typedef f32 f32vec1
 
-typedef f64 f64mat1
 
-typedef f64 f64mat1x1
 
-typedef f64 f64vec1
 
-typedef u16 u16vec1
 
-typedef u32 u32vec1
 
-typedef u64 u64vec1
 
-typedef u8 u8vec1
 

+Functions

template<typename T >
GLM_FUNC_DECL T distance2 (T const &p0, T const &p1)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
GLM_FUNC_DECL T l1Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T l1Norm (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL T l2Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T l2Norm (tvec3< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL T length2 (T const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T lxNorm (tvec3< T, P > const &x, tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
GLM_FUNC_DECL T lxNorm (tvec3< T, P > const &x, unsigned int Depth)
 

Detailed Description

-

Defined size types.

-

<glm/gtx/number_precision.hpp> need to be included to use these functionalities.

+

Various ways to compute vector norms.

+

<glm/gtx/norm.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::distance2 (T const & p0,
T const & p1 
)
+
+ +

Returns the squared distance between p0 and p1, i.e., length2(p0 - p1).

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::distance2 (genType const & p0,
genType const & p1 
)
+
+ +

Returns the squared distance between p0 and p1, i.e., length2(p0 - p1).

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::l1Norm (tvec3< T, P > const & x,
tvec3< T, P > const & y 
)
+
+ +

Returns the L1 norm between x and y.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::l1Norm (tvec3< T, P > const & v)
+
+ +

Returns the L1 norm of v.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::l2Norm (tvec3< T, P > const & x,
tvec3< T, P > const & y 
)
+
+ +

Returns the L2 norm between x and y.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::l2Norm (tvec3< T, P > const & x)
+
+ +

Returns the L2 norm of v.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::length2 (T const & x)
+
+ +

Returns the squared length of x.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::length2 (genType const & x)
+
+ +

Returns the squared length of x.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::lxNorm (tvec3< T, P > const & x,
tvec3< T, P > const & y,
unsigned int Depth 
)
+
+ +

Returns the L norm between x and y.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::lxNorm (tvec3< T, P > const & x,
unsigned int Depth 
)
+
+ +

Returns the L norm of v.

+

From GLM_GTX_norm extension.

+ +
+
diff --git a/doc/api/a00216.html b/doc/api/a00216.html index d41ce231..258018e7 100644 --- a/doc/api/a00216.html +++ b/doc/api/a00216.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_optimum_pow + +0.9.7: GLM_GTX_normal @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType pow2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow4 (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > triangleNormal (tvec3< T, P > const &p1, tvec3< T, P > const &p2, tvec3< T, P > const &p3)
 

Detailed Description

-

Integer exponentiation of power functions.

-

<glm/gtx/optimum_pow.hpp> need to be included to use these functionalities.

+

Compute the normal of a triangle.

+

<glm/gtx/normal.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - + + -
GLM_FUNC_DECL genType glm::gtx::pow2 GLM_FUNC_DECL tvec3<T, P> glm::triangleNormal (genType const & x)tvec3< T, P > const & p1,
-
- -

Returns x raised to the power of 2.

-
See also
GLM_GTX_optimum_pow
- -
-
- -
-
- - - - - + + + -
GLM_FUNC_DECL genType glm::gtx::pow3 (genType const & x) tvec3< T, P > const & p2,
-
- -

Returns x raised to the power of 3.

-
See also
GLM_GTX_optimum_pow
- -
-
- -
-
- - - - - + + + + + + + +
GLM_FUNC_DECL genType glm::gtx::pow4 (genType const & x) tvec3< T, P > const & p3 
)
-

Returns x raised to the power of 4.

-
See also
GLM_GTX_optimum_pow
+

Computes triangle normal from triangle points.

+

From GLM_GTX_normal extension.

@@ -121,7 +93,7 @@ Functions diff --git a/doc/api/a00217.html b/doc/api/a00217.html index 682ba31e..b1f2ab1d 100644 --- a/doc/api/a00217.html +++ b/doc/api/a00217.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_orthonormalize + +0.9.7: GLM_GTX_normalize_dot @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orthonormalize (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > orthonormalize (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T fastNormalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T normalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 

Detailed Description

-

Orthonormalize matrices.

-

<glm/gtx/orthonormalize.hpp> need to be included to use these functionalities.

+

Dot product of vectors that need to be normalize with a single square root.

+

<glm/gtx/normalized_dot.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - -
GLM_FUNC_DECL tmat3x3<T, P> glm::orthonormalize GLM_FUNC_DECL T glm::fastNormalizeDot (tmat3x3< T, P > const & m)
-
- -

Returns the orthonormalized matrix of m.

-
See also
GLM_GTX_orthonormalize
- -
-
- -
-
- - - - - + - + @@ -99,8 +80,39 @@ Functions
GLM_FUNC_DECL tvec3<T, P> glm::orthonormalize (tvec3< T, P > const & vecType< T, P > const &  x,
tvec3< T, P > const & vecType< T, P > const &  y 
-

Orthonormalizes x according y.

-
See also
GLM_GTX_orthonormalize
+

Normalize parameters and returns the dot product of x and y.

+

Faster that dot(fastNormalize(x), fastNormalize(y)).

+
See also
GLM_GTX_normalize_dot extension.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::normalizeDot (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Normalize parameters and returns the dot product of x and y.

+

It's faster that dot(normalize(x), normalize(y)).

+
See also
GLM_GTX_normalize_dot extension.
@@ -109,7 +121,7 @@ Functions diff --git a/doc/api/a00218.html b/doc/api/a00218.html index 22036c01..9988de43 100644 --- a/doc/api/a00218.html +++ b/doc/api/a00218.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_perpendicular + +0.9.7: GLM_GTX_number_precision @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
GLM_GTX_perpendicular
+
GLM_GTX_number_precision
- - - - + + + + + + + + + + + + + + + + + + + + +

-Functions

template<typename vecType >
GLM_FUNC_DECL vecType perp (vecType const &x, vecType const &Normal)
 

+Typedefs

+typedef f32 f32mat1
 
+typedef f32 f32mat1x1
 
+typedef f32 f32vec1
 
+typedef f64 f64mat1
 
+typedef f64 f64mat1x1
 
+typedef f64 f64vec1
 
+typedef u16 u16vec1
 
+typedef u32 u32vec1
 
+typedef u64 u64vec1
 
+typedef u8 u8vec1
 

Detailed Description

-

Perpendicular of a vector from other one.

-

<glm/gtx/perpendicular.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType glm::perp (vecType const & x,
vecType const & Normal 
)
-
- -

Projects x a perpendicular axis of Normal.

-

From GLM_GTX_perpendicular extension.

- -
-
+

Defined size types.

+

<glm/gtx/number_precision.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00219.html b/doc/api/a00219.html index da0ae210..9ba08164 100644 --- a/doc/api/a00219.html +++ b/doc/api/a00219.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_polar_coordinates + +0.9.7: GLM_GTX_optimum_pow @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > euclidean (tvec2< T, P > const &polar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > polar (tvec3< T, P > const &euclidean)
 
template<typename genType >
GLM_FUNC_DECL genType pow2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow4 (genType const &x)
 

Detailed Description

-

Conversion from Euclidean space to polar space and revert.

-

<glm/gtx/polar_coordinates.hpp> need to be included to use these functionalities.

+

Integer exponentiation of power functions.

+

<glm/gtx/optimum_pow.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL tvec3<T, P> glm::euclidean GLM_FUNC_DECL genType glm::gtx::pow2 (tvec2< T, P > const & polar)genType const & x)
-

Convert Polar to Euclidean coordinates.

-
See also
GLM_GTX_polar_coordinates
+

Returns x raised to the power of 2.

+
See also
GLM_GTX_optimum_pow
- +
- + - - + +
GLM_FUNC_DECL tvec3<T, P> glm::polar GLM_FUNC_DECL genType glm::gtx::pow3 (tvec3< T, P > const & euclidean)genType const & x)
-

Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude.

-
See also
GLM_GTX_polar_coordinates
+

Returns x raised to the power of 3.

+
See also
GLM_GTX_optimum_pow
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::gtx::pow4 (genType const & x)
+
+ +

Returns x raised to the power of 4.

+
See also
GLM_GTX_optimum_pow
@@ -99,7 +121,7 @@ Functions diff --git a/doc/api/a00220.html b/doc/api/a00220.html index 274e3004..d863024c 100644 --- a/doc/api/a00220.html +++ b/doc/api/a00220.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_projection + +0.9.7: GLM_GTX_orthonormalize @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - + + + + + +

Functions

template<typename vecType >
GLM_FUNC_DECL vecType proj (vecType const &x, vecType const &Normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orthonormalize (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > orthonormalize (tvec3< T, P > const &x, tvec3< T, P > const &y)
 

Detailed Description

-

Projection of a vector to other one.

-

<glm/gtx/projection.hpp> need to be included to use these functionalities.

+

Orthonormalize matrices.

+

<glm/gtx/orthonormalize.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - + + + + +
GLM_FUNC_DECL vecType glm::proj GLM_FUNC_DECL tmat3x3<T, P> glm::orthonormalize (vecType const & tmat3x3< T, P > const & m)
+
+ +

Returns the orthonormalized matrix of m.

+
See also
GLM_GTX_orthonormalize
+ +
+
+ +
+
+ + + + + - - + + @@ -77,8 +99,8 @@ Functions
GLM_FUNC_DECL tvec3<T, P> glm::orthonormalize (tvec3< T, P > const &  x,
vecType const & Normal tvec3< T, P > const & y 
-

Projects x on Normal.

-
See also
GLM_GTX_projection
+

Orthonormalizes x according y.

+
See also
GLM_GTX_orthonormalize
@@ -87,7 +109,7 @@ Functions diff --git a/doc/api/a00221.html b/doc/api/a00221.html index b946bb4e..37235d01 100644 --- a/doc/api/a00221.html +++ b/doc/api/a00221.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_quaternion + +0.9.7: GLM_GTX_perpendicular @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > exp (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T extractRealComponent (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > fastMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > intermediate (tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
 
template<typename T , precision P>
GLM_FUNC_DECL T length2 (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > log (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > pow (tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotation (tvec3< T, P > const &orig, tvec3< T, P > const &dest)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > shortMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > squad (tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > toMat3 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > toMat4 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat4x4< T, P > const &x)
 
template<typename vecType >
GLM_FUNC_DECL vecType perp (vecType const &x, vecType const &Normal)
 

Detailed Description

-

Extented quaternion types and functions.

-

<glm/gtx/quaternion.hpp> need to be included to use these functionalities.

+

Perpendicular of a vector from other one.

+

<glm/gtx/perpendicular.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::cross GLM_FUNC_DECL vecType glm::perp (tquat< T, P > const & q,
tvec3< T, P > const & v 
)
-
- -

Compute a cross product between a quaternion and a vector.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::cross (tvec3< T, P > const & v,
tquat< T, P > const & q 
)
-
- -

Compute a cross product between a vector and a quaternion.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::exp (tquat< T, P > const & q)
-
- -

Returns a exp of a quaternion.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::extractRealComponent (tquat< T, P > const & q)
-
- -

Extract the real component of a quaternion.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - + - - - - - - - - + + @@ -230,375 +77,8 @@ Functions
GLM_FUNC_DECL tquat<T, P> glm::fastMix (tquat< T, P > const & vecType const &  x,
tquat< T, P > const & y,
T const & a vecType const & Normal 
-

Quaternion normalized linear interpolation.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::intermediate (tquat< T, P > const & prev,
tquat< T, P > const & curr,
tquat< T, P > const & next 
)
-
- -

Returns an intermediate control point for squad interpolation.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::length2 (tquat< T, P > const & q)
-
- -

Returns the squared length of x.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::log (tquat< T, P > const & q)
-
- -

Returns a log of a quaternion.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::pow (tquat< T, P > const & x,
T const & y 
)
-
- -

Returns x raised to the y power.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::rotate (tquat< T, P > const & q,
tvec3< T, P > const & v 
)
-
- -

Returns quarternion square root.

-
See also
GLM_GTX_quaternion Rotates a 3 components vector by a quaternion.
-
-GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<T, P> glm::rotate (tquat< T, P > const & q,
tvec4< T, P > const & v 
)
-
- -

Rotates a 4 components vector by a quaternion.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::rotation (tvec3< T, P > const & orig,
tvec3< T, P > const & dest 
)
-
- -

Compute the rotation between two vectors.

-

param orig vector, needs to be normalized param dest vector, needs to be normalized

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::shortMix (tquat< T, P > const & x,
tquat< T, P > const & y,
T const & a 
)
-
- -

Quaternion interpolation using the rotation short path.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::squad (tquat< T, P > const & q1,
tquat< T, P > const & q2,
tquat< T, P > const & s1,
tquat< T, P > const & s2,
T const & h 
)
-
- -

Compute a point on a path according squad equation.

-

q1 and q2 are control points; s1 and s2 are intermediate control points.

-
See also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat3x3<T, P> glm::toMat3 (tquat< T, P > const & x)
-
- -

Converts a quaternion to a 3 * 3 matrix.

-
See also
GLM_GTX_quaternion
- -

Definition at line 153 of file gtx/quaternion.hpp.

- -

References glm::mat3_cast().

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::toMat4 (tquat< T, P > const & x)
-
- -

Converts a quaternion to a 4 * 4 matrix.

-
See also
GLM_GTX_quaternion
- -

Definition at line 160 of file gtx/quaternion.hpp.

- -

References glm::mat4_cast().

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::toQuat (tmat3x3< T, P > const & x)
-
- -

Converts a 3 * 3 matrix to a quaternion.

-
See also
GLM_GTX_quaternion
- -

Definition at line 167 of file gtx/quaternion.hpp.

- -

References glm::quat_cast().

- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL tquat<T, P> glm::toQuat (tmat4x4< T, P > const & x)
-
- -

Converts a 4 * 4 matrix to a quaternion.

-
See also
GLM_GTX_quaternion
- -

Definition at line 174 of file gtx/quaternion.hpp.

- -

References glm::quat_cast().

+

Projects x a perpendicular axis of Normal.

+

From GLM_GTX_perpendicular extension.

@@ -607,7 +87,7 @@ Functions diff --git a/doc/api/a00222.html b/doc/api/a00222.html index 4bcbe9de..0f9bbf4a 100644 --- a/doc/api/a00222.html +++ b/doc/api/a00222.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_range + +0.9.7: GLM_GTX_polar_coordinates @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+ +
GLM_GTX_polar_coordinates
+ + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > euclidean (tvec2< T, P > const &polar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > polar (tvec3< T, P > const &euclidean)
 

Detailed Description

-

Defines begin and end for vectors and matrices.

-

Useful for range-based for loop. The range is defined over the elements, not over columns or rows (e.g. mat4 has 16 elements).

-

<glm/gtx/range.hpp> need to be included to use these functionalities.

+

Conversion from Euclidean space to polar space and revert.

+

<glm/gtx/polar_coordinates.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::euclidean (tvec2< T, P > const & polar)
+
+ +

Convert Polar to Euclidean coordinates.

+
See also
GLM_GTX_polar_coordinates
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::polar (tvec3< T, P > const & euclidean)
+
+ +

Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude.

+
See also
GLM_GTX_polar_coordinates
+ +
+
diff --git a/doc/api/a00223.html b/doc/api/a00223.html index 02fb17f6..7fff3470 100644 --- a/doc/api/a00223.html +++ b/doc/api/a00223.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_raw_data + +0.9.7: GLM_GTX_projection @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+Functions
-
+
GLM_GTX_projection
- - - - - - - - - + + + +

-Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 

+Functions

template<typename vecType >
GLM_FUNC_DECL vecType proj (vecType const &x, vecType const &Normal)
 

Detailed Description

Projection of a vector to other one.

-

<glm/gtx/raw_data.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- +

<glm/gtx/projection.hpp> need to be included to use these functionalities.

+

Function Documentation

+
- + + + + -
typedef detail::uint8 byteGLM_FUNC_DECL vecType glm::proj (vecType const & x,
-
- -

Type for byte numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 59 of file raw_data.hpp.

- -
-
- -
-
- - + + + + -
typedef detail::uint32 dwordvecType const & Normal 
-
- -

Type for dword numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 67 of file raw_data.hpp.

- -
-
- -
-
- - + + +
typedef detail::uint64 qword)
-

Type for qword numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 71 of file raw_data.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 word
-
- -

Type for word numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 63 of file raw_data.hpp.

+

Projects x on Normal.

+
See also
GLM_GTX_projection
@@ -131,7 +87,7 @@ Typedefs diff --git a/doc/api/a00224.html b/doc/api/a00224.html index f5bc9a1a..f68ffa1a 100644 --- a/doc/api/a00224.html +++ b/doc/api/a00224.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_rotate_normalized_axis + +0.9.7: GLM_GTX_quaternion @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotateNormalizedAxis (tmat4x4< T, P > const &m, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotateNormalizedAxis (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > exp (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T extractRealComponent (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > fastMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > intermediate (tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
 
template<typename T , precision P>
GLM_FUNC_DECL T length2 (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > log (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > pow (tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotation (tvec3< T, P > const &orig, tvec3< T, P > const &dest)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > shortMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > squad (tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > toMat3 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > toMat4 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat4x4< T, P > const &x)
 

Detailed Description

-

Quaternions and matrices rotations around normalized axis.

-

<glm/gtx/rotate_normalized_axis.hpp> need to be included to use these functionalities.

+

Extented quaternion types and functions.

+

<glm/gtx/quaternion.hpp> need to be included to use these functionalities.

Function Documentation

- +
- - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::rotateNormalizedAxis (tmat4x4< T, P > const & m,
T const & angle,
tvec3< T, P > const & axis 
)
-
- -

Builds a rotation 4 * 4 matrix created from a normalized axis and an angle.

-
Parameters
- - - - -
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisRotation axis, must be normalized.
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See also
GLM_GTX_rotate_normalized_axis
-
-- rotate(T angle, T x, T y, T z)
-
-- rotate(tmat4x4<T, P> const & m, T angle, T x, T y, T z)
-
-- rotate(T angle, tvec3<T, P> const & v)
- -
-
- -
-
- - - + - - - - - - - + @@ -141,16 +128,477 @@ Functions
GLM_FUNC_DECL tquat<T, P> glm::rotateNormalizedAxis GLM_FUNC_DECL tvec3<T, P> glm::cross ( tquat< T, P > const &  q,
T const & angle,
tvec3< T, P > const & axis v 
-

Rotates a quaternion from a vector of 3 components normalized axis and an angle.

-
Parameters
- - - - -
qSource orientation
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisNormalized axis of the rotation, must be normalized.
-
-
-
See also
GLM_GTX_rotate_normalized_axis
+

Compute a cross product between a quaternion and a vector.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::cross (tvec3< T, P > const & v,
tquat< T, P > const & q 
)
+
+ +

Compute a cross product between a vector and a quaternion.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::exp (tquat< T, P > const & q)
+
+ +

Returns a exp of a quaternion.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::extractRealComponent (tquat< T, P > const & q)
+
+ +

Extract the real component of a quaternion.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::fastMix (tquat< T, P > const & x,
tquat< T, P > const & y,
T const & a 
)
+
+ +

Quaternion normalized linear interpolation.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::intermediate (tquat< T, P > const & prev,
tquat< T, P > const & curr,
tquat< T, P > const & next 
)
+
+ +

Returns an intermediate control point for squad interpolation.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::length2 (tquat< T, P > const & q)
+
+ +

Returns the squared length of x.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::log (tquat< T, P > const & q)
+
+ +

Returns a log of a quaternion.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::pow (tquat< T, P > const & x,
T const & y 
)
+
+ +

Returns x raised to the y power.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::rotate (tquat< T, P > const & q,
tvec3< T, P > const & v 
)
+
+ +

Returns quarternion square root.

+
See also
GLM_GTX_quaternion Rotates a 3 components vector by a quaternion.
+
+GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<T, P> glm::rotate (tquat< T, P > const & q,
tvec4< T, P > const & v 
)
+
+ +

Rotates a 4 components vector by a quaternion.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::rotation (tvec3< T, P > const & orig,
tvec3< T, P > const & dest 
)
+
+ +

Compute the rotation between two vectors.

+

param orig vector, needs to be normalized param dest vector, needs to be normalized

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::shortMix (tquat< T, P > const & x,
tquat< T, P > const & y,
T const & a 
)
+
+ +

Quaternion interpolation using the rotation short path.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::squad (tquat< T, P > const & q1,
tquat< T, P > const & q2,
tquat< T, P > const & s1,
tquat< T, P > const & s2,
T const & h 
)
+
+ +

Compute a point on a path according squad equation.

+

q1 and q2 are control points; s1 and s2 are intermediate control points.

+
See also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::toMat3 (tquat< T, P > const & x)
+
+ +

Converts a quaternion to a 3 * 3 matrix.

+
See also
GLM_GTX_quaternion
+ +

Definition at line 153 of file gtx/quaternion.hpp.

+ +

References glm::mat3_cast().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::toMat4 (tquat< T, P > const & x)
+
+ +

Converts a quaternion to a 4 * 4 matrix.

+
See also
GLM_GTX_quaternion
+ +

Definition at line 160 of file gtx/quaternion.hpp.

+ +

References glm::mat4_cast().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::toQuat (tmat3x3< T, P > const & x)
+
+ +

Converts a 3 * 3 matrix to a quaternion.

+
See also
GLM_GTX_quaternion
+ +

Definition at line 167 of file gtx/quaternion.hpp.

+ +

References glm::quat_cast().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::toQuat (tmat4x4< T, P > const & x)
+
+ +

Converts a 4 * 4 matrix to a quaternion.

+
See also
GLM_GTX_quaternion
+ +

Definition at line 174 of file gtx/quaternion.hpp.

+ +

References glm::quat_cast().

@@ -159,7 +607,7 @@ Functions diff --git a/doc/api/a00225.html b/doc/api/a00225.html index 818c4334..04ef36c6 100644 --- a/doc/api/a00225.html +++ b/doc/api/a00225.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_rotate_vector + +0.9.7: GLM_GTX_range @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
GLM_GTX_rotate_vector
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientation (tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > rotate (tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tvec3< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tvec4< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateX (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateX (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateY (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateY (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateZ (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateZ (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > slerp (tvec3< T, P > const &x, tvec3< T, P > const &y, T const &a)
 

Detailed Description

-

Function to directly rotate a vector.

-

<glm/gtx/rotate_vector.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::orientation (tvec3< T, P > const & Normal,
tvec3< T, P > const & Up 
)
-
- -

Build a rotation matrix from a normal and a up vector.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec2<T, P> glm::rotate (tvec2< T, P > const & v,
T const & angle 
)
-
- -

Rotate a two dimensional vector.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::rotate (tvec3< T, P > const & v,
T const & angle,
tvec3< T, P > const & normal 
)
-
- -

Rotate a three dimensional vector around an axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<T, P> glm::rotate (tvec4< T, P > const & v,
T const & angle,
tvec3< T, P > const & normal 
)
-
- -

Rotate a four dimensional vector around an axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::rotateX (tvec3< T, P > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<T, P> glm::rotateX (tvec4< T, P > const & v,
T const & angle 
)
-
- -

Rotate a four dimentionnals vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::rotateY (tvec3< T, P > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the Y axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<T, P> glm::rotateY (tvec4< T, P > const & v,
T const & angle 
)
-
- -

Rotate a four dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::rotateZ (tvec3< T, P > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the Z axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec4<T, P> glm::rotateZ (tvec4< T, P > const & v,
T const & angle 
)
-
- -

Rotate a four dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tvec3<T, P> glm::slerp (tvec3< T, P > const & x,
tvec3< T, P > const & y,
T const & a 
)
-
- -

Returns Spherical interpolation between two vectors.

-
Parameters
- - - - -
xA first vector
yA second vector
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
-
-
-
See also
GLM_GTX_rotate_vector
- -
-
+

Defines begin and end for vectors and matrices.

+

Useful for range-based for loop. The range is defined over the elements, not over columns or rows (e.g. mat4 has 16 elements).

+

<glm/gtx/range.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00226.html b/doc/api/a00226.html index 4bc5fc5b..f2884c98 100644 --- a/doc/api/a00226.html +++ b/doc/api/a00226.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_scalar_relational + +0.9.7: GLM_GTX_raw_data @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
GLM_GTX_scalar_relational
+
-

Extend a position from a source to a position at a defined length.

-

<glm/gtx/scalar_relational.hpp> need to be included to use these functionalities.

+ + + + + + + + + + +

+Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 
+

Detailed Description

+

Projection of a vector to other one.

+

<glm/gtx/raw_data.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef detail::uint8 byte
+
+ +

Type for byte numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 59 of file raw_data.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 dword
+
+ +

Type for dword numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 67 of file raw_data.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 qword
+
+ +

Type for qword numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 71 of file raw_data.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 word
+
+ +

Type for word numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 63 of file raw_data.hpp.

+ +
+
diff --git a/doc/api/a00227.html b/doc/api/a00227.html index 47a6f191..d7b7a894 100644 --- a/doc/api/a00227.html +++ b/doc/api/a00227.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_simd_mat4 + +0.9.7: GLM_GTX_rotate_normalized_axis @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
+
GLM_GTX_rotate_normalized_axis
-

SIMD implementation of mat4 type.

-

<glm/gtx/simd_mat4.hpp> need to be included to use these functionalities.

+ + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotateNormalizedAxis (tmat4x4< T, P > const &m, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotateNormalizedAxis (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
+

Detailed Description

+

Quaternions and matrices rotations around normalized axis.

+

<glm/gtx/rotate_normalized_axis.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::rotateNormalizedAxis (tmat4x4< T, P > const & m,
T const & angle,
tvec3< T, P > const & axis 
)
+
+ +

Builds a rotation 4 * 4 matrix created from a normalized axis and an angle.

+
Parameters
+ + + + +
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisRotation axis, must be normalized.
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See also
GLM_GTX_rotate_normalized_axis
+
+- rotate(T angle, T x, T y, T z)
+
+- rotate(tmat4x4<T, P> const & m, T angle, T x, T y, T z)
+
+- rotate(T angle, tvec3<T, P> const & v)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::rotateNormalizedAxis (tquat< T, P > const & q,
T const & angle,
tvec3< T, P > const & axis 
)
+
+ +

Rotates a quaternion from a vector of 3 components normalized axis and an angle.

+
Parameters
+ + + + +
qSource orientation
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisNormalized axis of the rotation, must be normalized.
+
+
+
See also
GLM_GTX_rotate_normalized_axis
+ +
+
diff --git a/doc/api/a00228.html b/doc/api/a00228.html index 88873944..97bf2cf2 100644 --- a/doc/api/a00228.html +++ b/doc/api/a00228.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_simd_quat + +0.9.7: GLM_GTX_rotate_vector @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
+
-
+
GLM_GTX_rotate_vector
-

SIMD implementation of quat type.

-

<glm/gtx/simd_quat.hpp> need to be included to use these functionalities.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientation (tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > rotate (tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tvec3< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tvec4< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateX (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateX (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateY (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateY (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateZ (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateZ (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > slerp (tvec3< T, P > const &x, tvec3< T, P > const &y, T const &a)
 
+

Detailed Description

+

Function to directly rotate a vector.

+

<glm/gtx/rotate_vector.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::orientation (tvec3< T, P > const & Normal,
tvec3< T, P > const & Up 
)
+
+ +

Build a rotation matrix from a normal and a up vector.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec2<T, P> glm::rotate (tvec2< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a two dimensional vector.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::rotate (tvec3< T, P > const & v,
T const & angle,
tvec3< T, P > const & normal 
)
+
+ +

Rotate a three dimensional vector around an axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<T, P> glm::rotate (tvec4< T, P > const & v,
T const & angle,
tvec3< T, P > const & normal 
)
+
+ +

Rotate a four dimensional vector around an axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::rotateX (tvec3< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a three dimensional vector around the X axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<T, P> glm::rotateX (tvec4< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a four dimentionnals vector around the X axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::rotateY (tvec3< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a three dimensional vector around the Y axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<T, P> glm::rotateY (tvec4< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a four dimensional vector around the X axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::rotateZ (tvec3< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a three dimensional vector around the Z axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<T, P> glm::rotateZ (tvec4< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a four dimensional vector around the X axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::slerp (tvec3< T, P > const & x,
tvec3< T, P > const & y,
T const & a 
)
+
+ +

Returns Spherical interpolation between two vectors.

+
Parameters
+ + + + +
xA first vector
yA second vector
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
+
+
+
See also
GLM_GTX_rotate_vector
+ +
+
diff --git a/doc/api/a00229.html b/doc/api/a00229.html index 02c512c0..baa36b8d 100644 --- a/doc/api/a00229.html +++ b/doc/api/a00229.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_simd_vec4 + +0.9.7: GLM_GTX_scalar_relational @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
+
GLM_GTX_scalar_relational
-

SIMD implementation of vec4 type.

-

<glm/gtx/simd_vec4.hpp> need to be included to use these functionalities.

+

Extend a position from a source to a position at a defined length.

+

<glm/gtx/scalar_relational.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00230.html b/doc/api/a00230.html index 9f1f7fee..7090b44a 100644 --- a/doc/api/a00230.html +++ b/doc/api/a00230.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_spline + +0.9.7: GLM_GTX_simd_mat4 @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- +
- - - - - - - - - - - -

-Functions

template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 
-

Detailed Description

-

Spline functions.

-

<glm/gtx/spline.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::catmullRom (genType const & v1,
genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
)
-
- -

Return a point from a catmull rom curve.

-
See also
GLM_GTX_spline extension.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::cubic (genType const & v1,
genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
)
-
- -

Return a point from a cubic curve.

-
See also
GLM_GTX_spline extension.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::hermite (genType const & v1,
genType const & t1,
genType const & v2,
genType const & t2,
typename genType::value_type const & s 
)
-
- -

Return a point from a hermite curve.

-
See also
GLM_GTX_spline extension.
- -
-
+

SIMD implementation of mat4 type.

+

<glm/gtx/simd_mat4.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00231.html b/doc/api/a00231.html index e3033ec5..d8ddd1c1 100644 --- a/doc/api/a00231.html +++ b/doc/api/a00231.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_std_based_type + +0.9.7: GLM_GTX_simd_quat @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
GLM_GTX_std_based_type
+
- - - - - - - - - - - - - - - - - - -

-Typedefs

typedef tvec1< std::size_t,
-defaultp > 
size1
 
typedef tvec1< std::size_t,
-defaultp > 
size1_t
 
typedef tvec2< std::size_t,
-defaultp > 
size2
 
typedef tvec2< std::size_t,
-defaultp > 
size2_t
 
typedef tvec3< std::size_t,
-defaultp > 
size3
 
typedef tvec3< std::size_t,
-defaultp > 
size3_t
 
typedef tvec4< std::size_t,
-defaultp > 
size4
 
typedef tvec4< std::size_t,
-defaultp > 
size4_t
 
-

Detailed Description

-

Adds vector types based on STL value types.

-

<glm/gtx/std_based_type.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef tvec1<std::size_t, defaultp> size1
-
- -

Vector type based of one std::size_t component.

-
See also
GLM_GTX_std_based_type
- -

Definition at line 59 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef tvec1<std::size_t, defaultp> size1_t
-
- -

Vector type based of one std::size_t component.

-
See also
GLM_GTX_std_based_type
- -

Definition at line 75 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<std::size_t, defaultp> size2
-
- -

Vector type based of two std::size_t components.

-
See also
GLM_GTX_std_based_type
- -

Definition at line 63 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef tvec2<std::size_t, defaultp> size2_t
-
- -

Vector type based of two std::size_t components.

-
See also
GLM_GTX_std_based_type
- -

Definition at line 79 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<std::size_t, defaultp> size3
-
- -

Vector type based of three std::size_t components.

-
See also
GLM_GTX_std_based_type
- -

Definition at line 67 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef tvec3<std::size_t, defaultp> size3_t
-
- -

Vector type based of three std::size_t components.

-
See also
GLM_GTX_std_based_type
- -

Definition at line 83 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<std::size_t, defaultp> size4
-
- -

Vector type based of four std::size_t components.

-
See also
GLM_GTX_std_based_type
- -

Definition at line 71 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef tvec4<std::size_t, defaultp> size4_t
-
- -

Vector type based of four std::size_t components.

-
See also
GLM_GTX_std_based_type
- -

Definition at line 87 of file std_based_type.hpp.

- -
-
+

SIMD implementation of quat type.

+

<glm/gtx/simd_quat.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00232.html b/doc/api/a00232.html index e78a4e57..ef0b0167 100644 --- a/doc/api/a00232.html +++ b/doc/api/a00232.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_string_cast + +0.9.7: GLM_GTX_simd_vec4 @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
-
+
- - - - - -

-Functions

template<template< typename, precision > class matType, typename T , precision P>
GLM_FUNC_DECL std::string to_string (matType< T, P > const &x)
 
-

Detailed Description

-

Setup strings for GLM type values.

-

<glm/gtx/string_cast.hpp> need to be included to use these functionalities. This extension is not supported with CUDA

-

Function Documentation

- -
-
- - - - - - - - -
GLM_FUNC_DECL std::string glm::to_string (matType< T, P > const & x)
-
- -

Create a string from a GLM vector or matrix typed variable.

-
See also
GLM_GTX_string_cast extension.
- -
-
+

SIMD implementation of vec4 type.

+

<glm/gtx/simd_vec4.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00233.html b/doc/api/a00233.html index 9034516c..21edfefc 100644 --- a/doc/api/a00233.html +++ b/doc/api/a00233.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_transform + +0.9.7: GLM_GTX_spline @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (T angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tvec3< T, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 

Detailed Description

-

Add transformation matrices.

-

<glm/gtx/transform.hpp> need to be included to use these functionalities.

+

Spline functions.

+

<glm/gtx/spline.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - + + + + + + + + + + + + + + + + + + + + @@ -83,52 +101,102 @@ Functions
GLM_FUNC_DECL tmat4x4<T, P> glm::rotate GLM_FUNC_DECL genType glm::catmullRom (angle, genType const & v1,
tvec3< T, P > const & v genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
-

Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.

-
See also
GLM_GTC_matrix_transform
-
-GLM_GTX_transform
+

Return a point from a catmull rom curve.

+
See also
GLM_GTX_spline extension.
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::scale GLM_FUNC_DECL genType glm::cubic (tvec3< T, P > const & v)genType const & v1,
genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
)
-

Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.

-
See also
GLM_GTC_matrix_transform
-
-GLM_GTX_transform
+

Return a point from a cubic curve.

+
See also
GLM_GTX_spline extension.
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::translate GLM_FUNC_DECL genType glm::hermite (tvec3< T, P > const & v)genType const & v1,
genType const & t1,
genType const & v2,
genType const & t2,
typename genType::value_type const & s 
)
-

Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.

-
See also
GLM_GTC_matrix_transform
-
-GLM_GTX_transform
+

Return a point from a hermite curve.

+
See also
GLM_GTX_spline extension.
@@ -137,7 +205,7 @@ Functions diff --git a/doc/api/a00234.html b/doc/api/a00234.html index 68c2c7db..d6ab12ed 100644 --- a/doc/api/a00234.html +++ b/doc/api/a00234.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_transform2 + +0.9.7: GLM_GTX_std_based_type @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
+
GLM_GTX_std_based_type
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +

-Functions

template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > proj2D (const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > proj3D (const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearX2D (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearX3D (const tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearY2D (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearY3D (const tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearZ3D (const tmat4x4< T, P > &m, T x, T y)
 

+Typedefs

typedef tvec1< std::size_t, defaultp > size1
 
typedef tvec1< std::size_t, defaultp > size1_t
 
typedef tvec2< std::size_t, defaultp > size2
 
typedef tvec2< std::size_t, defaultp > size2_t
 
typedef tvec3< std::size_t, defaultp > size3
 
typedef tvec3< std::size_t, defaultp > size3_t
 
typedef tvec4< std::size_t, defaultp > size4
 
typedef tvec4< std::size_t, defaultp > size4_t
 

Detailed Description

-

Add extra transformation matrices.

-

<glm/gtx/transform2.hpp> need to be included to use these functionalities.

-

Function Documentation

- +

Adds vector types based on STL value types.

+

<glm/gtx/std_based_type.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL tmat3x3<T, P> glm::proj2D (const tmat3x3< T, P > & m,
const tvec3< T, P > & normal 
)typedef tvec1<std::size_t, defaultp> size1
-

Build planar projection matrix along normal axis.

-

From GLM_GTX_transform2 extension.

+

Vector type based of one std::size_t component.

+
See also
GLM_GTX_std_based_type
+ +

Definition at line 59 of file std_based_type.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL tmat4x4<T, P> glm::proj3D (const tmat4x4< T, P > & m,
const tvec3< T, P > & normal 
)typedef tvec1<std::size_t, defaultp> size1_t
-

Build planar projection matrix along normal axis.

-

From GLM_GTX_transform2 extension.

+

Vector type based of one std::size_t component.

+
See also
GLM_GTX_std_based_type
+ +

Definition at line 75 of file std_based_type.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL tmat4x4<valType, P> glm::scaleBias (valType scale,
valType bias 
)typedef tvec2<std::size_t, defaultp> size2
-

Build a scale bias matrix.

-

From GLM_GTX_transform2 extension.

+

Vector type based of two std::size_t components.

+
See also
GLM_GTX_std_based_type
+ +

Definition at line 63 of file std_based_type.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL tmat4x4<valType, P> glm::scaleBias (tmat4x4< valType, P > const & m,
valType scale,
valType bias 
)typedef tvec2<std::size_t, defaultp> size2_t
-

Build a scale bias matrix.

-

From GLM_GTX_transform2 extension.

+

Vector type based of two std::size_t components.

+
See also
GLM_GTX_std_based_type
+ +

Definition at line 79 of file std_based_type.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL tmat3x3<T, P> glm::shearX2D (tmat3x3< T, P > const & m,
y 
)typedef tvec3<std::size_t, defaultp> size3
-

Transforms a matrix with a shearing on X axis.

-

From GLM_GTX_transform2 extension.

+

Vector type based of three std::size_t components.

+
See also
GLM_GTX_std_based_type
+ +

Definition at line 67 of file std_based_type.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL tmat4x4<T, P> glm::shearX3D (const tmat4x4< T, P > & m,
y,
z 
)typedef tvec3<std::size_t, defaultp> size3_t
-

Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.

+

Vector type based of three std::size_t components.

+
See also
GLM_GTX_std_based_type
+ +

Definition at line 83 of file std_based_type.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL tmat3x3<T, P> glm::shearY2D (tmat3x3< T, P > const & m,
x 
)typedef tvec4<std::size_t, defaultp> size4
-

Transforms a matrix with a shearing on Y axis.

-

From GLM_GTX_transform2 extension.

+

Vector type based of four std::size_t components.

+
See also
GLM_GTX_std_based_type
+ +

Definition at line 71 of file std_based_type.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL tmat4x4<T, P> glm::shearY3D (const tmat4x4< T, P > & m,
x,
z 
)typedef tvec4<std::size_t, defaultp> size4_t
-

Transforms a matrix with a shearing on Y axis.

-

From GLM_GTX_transform2 extension.

+

Vector type based of four std::size_t components.

+
See also
GLM_GTX_std_based_type
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL tmat4x4<T, P> glm::shearZ3D (const tmat4x4< T, P > & m,
x,
y 
)
-
- -

Transforms a matrix with a shearing on Z axis.

-

From GLM_GTX_transform2 extension.

+

Definition at line 87 of file std_based_type.hpp.

@@ -366,7 +207,7 @@ Functions diff --git a/doc/api/a00235.html b/doc/api/a00235.html index bc369ced..3c2134dd 100644 --- a/doc/api/a00235.html +++ b/doc/api/a00235.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_type_aligned + +0.9.7: GLM_GTX_string_cast @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

 GLM_ALIGNED_TYPEDEF (lowp_int8, aligned_lowp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16, aligned_lowp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32, aligned_lowp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64, aligned_lowp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_int8_t, aligned_lowp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16_t, aligned_lowp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32_t, aligned_lowp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64_t, aligned_lowp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_i8, aligned_lowp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_i16, aligned_lowp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_i32, aligned_lowp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_i64, aligned_lowp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8, aligned_mediump_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16, aligned_mediump_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32, aligned_mediump_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64, aligned_mediump_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8_t, aligned_mediump_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16_t, aligned_mediump_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32_t, aligned_mediump_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64_t, aligned_mediump_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_i8, aligned_mediump_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_i16, aligned_mediump_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_i32, aligned_mediump_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_i64, aligned_mediump_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8, aligned_highp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16, aligned_highp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32, aligned_highp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64, aligned_highp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8_t, aligned_highp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16_t, aligned_highp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32_t, aligned_highp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64_t, aligned_highp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_i8, aligned_highp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_i16, aligned_highp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_i32, aligned_highp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_i64, aligned_highp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8, aligned_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (int16, aligned_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (int32, aligned_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (int64, aligned_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8_t, aligned_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (int16_t, aligned_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (int32_t, aligned_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (int64_t, aligned_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (i8, aligned_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (i16, aligned_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (i32, aligned_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (i64, aligned_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec1, aligned_ivec1, 4)
 
 GLM_ALIGNED_TYPEDEF (ivec2, aligned_ivec2, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec3, aligned_ivec3, 16)
 
 GLM_ALIGNED_TYPEDEF (ivec4, aligned_ivec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i8vec1, aligned_i8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (i8vec2, aligned_i8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (i8vec3, aligned_i8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (i8vec4, aligned_i8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec1, aligned_i16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (i16vec2, aligned_i16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec3, aligned_i16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (i16vec4, aligned_i16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec1, aligned_i32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (i32vec2, aligned_i32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec3, aligned_i32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (i32vec4, aligned_i32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec1, aligned_i64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (i64vec2, aligned_i64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec3, aligned_i64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (i64vec4, aligned_i64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8, aligned_lowp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16, aligned_lowp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32, aligned_lowp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64, aligned_lowp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8_t, aligned_lowp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16_t, aligned_lowp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32_t, aligned_lowp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64_t, aligned_lowp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_u8, aligned_lowp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_u16, aligned_lowp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_u32, aligned_lowp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_u64, aligned_lowp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8, aligned_mediump_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16, aligned_mediump_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32, aligned_mediump_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64, aligned_mediump_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8_t, aligned_mediump_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16_t, aligned_mediump_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32_t, aligned_mediump_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64_t, aligned_mediump_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_u8, aligned_mediump_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_u16, aligned_mediump_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_u32, aligned_mediump_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_u64, aligned_mediump_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8, aligned_highp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16, aligned_highp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32, aligned_highp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64, aligned_highp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8_t, aligned_highp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16_t, aligned_highp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32_t, aligned_highp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64_t, aligned_highp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_u8, aligned_highp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_u16, aligned_highp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_u32, aligned_highp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_u64, aligned_highp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8, aligned_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16, aligned_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32, aligned_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64, aligned_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8_t, aligned_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16_t, aligned_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32_t, aligned_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64_t, aligned_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (u8, aligned_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (u16, aligned_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (u32, aligned_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (u64, aligned_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec1, aligned_uvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (uvec2, aligned_uvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec3, aligned_uvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (uvec4, aligned_uvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u8vec1, aligned_u8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (u8vec2, aligned_u8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (u8vec3, aligned_u8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (u8vec4, aligned_u8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec1, aligned_u16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (u16vec2, aligned_u16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec3, aligned_u16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (u16vec4, aligned_u16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec1, aligned_u32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (u32vec2, aligned_u32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec3, aligned_u32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (u32vec4, aligned_u32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec1, aligned_u64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (u64vec2, aligned_u64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec3, aligned_u64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (u64vec4, aligned_u64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_float32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_float64, 8)
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_f64, 8)
 
 GLM_ALIGNED_TYPEDEF (vec1, aligned_vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (vec2, aligned_vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (vec3, aligned_vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (vec4, aligned_vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec1, aligned_fvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (fvec2, aligned_fvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (fvec3, aligned_fvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec4, aligned_fvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec1, aligned_f32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (f32vec2, aligned_f32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (f32vec3, aligned_f32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec4, aligned_f32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec1, aligned_dvec1, 8)
 
 GLM_ALIGNED_TYPEDEF (dvec2, aligned_dvec2, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec3, aligned_dvec3, 32)
 
 GLM_ALIGNED_TYPEDEF (dvec4, aligned_dvec4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec1, aligned_f64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (f64vec2, aligned_f64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (f64vec3, aligned_f64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec4, aligned_f64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (mat2, aligned_mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3, aligned_mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4, aligned_mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (mat2x2, aligned_mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3x3, aligned_mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4x4, aligned_mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x3, aligned_fmat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x4, aligned_fmat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x2, aligned_fmat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x4, aligned_fmat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x2, aligned_fmat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x3, aligned_fmat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x3, aligned_f32mat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x4, aligned_f32mat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x2, aligned_f32mat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x4, aligned_f32mat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x2, aligned_f32mat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x3, aligned_f32mat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x3, aligned_f64mat2x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x4, aligned_f64mat2x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x2, aligned_f64mat3x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x4, aligned_f64mat3x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x2, aligned_f64mat4x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x3, aligned_f64mat4x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4x4, 32)
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_quat, 16)
 
 GLM_ALIGNED_TYPEDEF (fquat, aligned_fquat, 16)
 
 GLM_ALIGNED_TYPEDEF (dquat, aligned_dquat, 32)
 
 GLM_ALIGNED_TYPEDEF (f32quat, aligned_f32quat, 16)
 
 GLM_ALIGNED_TYPEDEF (f64quat, aligned_f64quat, 32)
 
template<template< typename, precision > class matType, typename T , precision P>
GLM_FUNC_DECL std::string to_string (matType< T, P > const &x)
 

Detailed Description

-

Defines aligned types.

-

Precision types defines aligned types.

-

<glm/gtx/type_aligned.hpp> need to be included to use these functionalities.

+

Setup strings for GLM type values.

+

<glm/gtx/string_cast.hpp> need to be included to use these functionalities. This extension is not supported with CUDA

Function Documentation

- +
- + - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF GLM_FUNC_DECL std::string glm::to_string (lowp_int8 ,
aligned_lowp_int8 ,
 
)
-
- -

Low precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_int16 ,
aligned_lowp_int16 ,
 
)
-
- -

Low precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_int32 ,
aligned_lowp_int32 ,
 
)
-
- -

Low precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_int64 ,
aligned_lowp_int64 ,
 
)
-
- -

Low precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_int8_t ,
aligned_lowp_int8_t ,
 
)
-
- -

Low precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_int16_t ,
aligned_lowp_int16_t ,
 
)
-
- -

Low precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_int32_t ,
aligned_lowp_int32_t ,
 
)
-
- -

Low precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_int64_t ,
aligned_lowp_int64_t ,
 
)
-
- -

Low precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_i8 ,
aligned_lowp_i8 ,
 
)
-
- -

Low precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_i16 ,
aligned_lowp_i16 ,
 
)
-
- -

Low precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_i32 ,
aligned_lowp_i32 ,
 
)
-
- -

Low precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_i64 ,
aligned_lowp_i64 ,
 
)
-
- -

Low precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_int8 ,
aligned_mediump_int8 ,
 
)
-
- -

Medium precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_int16 ,
aligned_mediump_int16 ,
 
)
-
- -

Medium precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_int32 ,
aligned_mediump_int32 ,
 
)
-
- -

Medium precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_int64 ,
aligned_mediump_int64 ,
 
)
-
- -

Medium precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_int8_t ,
aligned_mediump_int8_t ,
 
)
-
- -

Medium precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_int16_t ,
aligned_mediump_int16_t ,
 
)
-
- -

Medium precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_int32_t ,
aligned_mediump_int32_t ,
 
)
-
- -

Medium precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_int64_t ,
aligned_mediump_int64_t ,
 
)
-
- -

Medium precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_i8 ,
aligned_mediump_i8 ,
 
)
-
- -

Medium precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_i16 ,
aligned_mediump_i16 ,
 
)
-
- -

Medium precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_i32 ,
aligned_mediump_i32 ,
 
)
-
- -

Medium precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_i64 ,
aligned_mediump_i64 ,
 
)
-
- -

Medium precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_int8 ,
aligned_highp_int8 ,
 
)
-
- -

High precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_int16 ,
aligned_highp_int16 ,
 
)
-
- -

High precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_int32 ,
aligned_highp_int32 ,
 
)
-
- -

High precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_int64 ,
aligned_highp_int64 ,
 
)
-
- -

High precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_int8_t ,
aligned_highp_int8_t ,
 
)
-
- -

High precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_int16_t ,
aligned_highp_int16_t ,
 
)
-
- -

High precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_int32_t ,
aligned_highp_int32_t ,
 
)
-
- -

High precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_int64_t ,
aligned_highp_int64_t ,
 
)
-
- -

High precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_i8 ,
aligned_highp_i8 ,
 
)
-
- -

High precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_i16 ,
aligned_highp_i16 ,
 
)
-
- -

High precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_i32 ,
aligned_highp_i32 ,
 
)
-
- -

High precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_i64 ,
aligned_highp_i64 ,
 
)
-
- -

High precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (int8 ,
aligned_int8 ,
 
)
-
- -

Default precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (int16 ,
aligned_int16 ,
 
)
-
- -

Default precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (int32 ,
aligned_int32 ,
 
)
-
- -

Default precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (int64 ,
aligned_int64 ,
 
)
-
- -

Default precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (int8_t ,
aligned_int8_t ,
 
)
-
- -

Default precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (int16_t ,
aligned_int16_t ,
 
)
-
- -

Default precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (int32_t ,
aligned_int32_t ,
 
)
-
- -

Default precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (int64_t ,
aligned_int64_t ,
 
)
-
- -

Default precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i8 ,
aligned_i8 ,
 
)
-
- -

Default precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i16 ,
aligned_i16 ,
 
)
-
- -

Default precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i32 ,
aligned_i32 ,
 
)
-
- -

Default precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i64 ,
aligned_i64 ,
 
)
-
- -

Default precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (ivec1 ,
aligned_ivec1 ,
 
)
-
- -

Default precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (ivec2 ,
aligned_ivec2 ,
 
)
-
- -

Default precision 32 bit signed integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (ivec3 ,
aligned_ivec3 ,
16  
)
-
- -

Default precision 32 bit signed integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (ivec4 ,
aligned_ivec4 ,
16  
)
-
- -

Default precision 32 bit signed integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i8vec1 ,
aligned_i8vec1 ,
 
)
-
- -

Default precision 8 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i8vec2 ,
aligned_i8vec2 ,
 
)
-
- -

Default precision 8 bit signed integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i8vec3 ,
aligned_i8vec3 ,
 
)
-
- -

Default precision 8 bit signed integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i8vec4 ,
aligned_i8vec4 ,
 
)
-
- -

Default precision 8 bit signed integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i16vec1 ,
aligned_i16vec1 ,
 
)
-
- -

Default precision 16 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i16vec2 ,
aligned_i16vec2 ,
 
)
-
- -

Default precision 16 bit signed integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i16vec3 ,
aligned_i16vec3 ,
 
)
-
- -

Default precision 16 bit signed integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i16vec4 ,
aligned_i16vec4 ,
 
)
-
- -

Default precision 16 bit signed integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i32vec1 ,
aligned_i32vec1 ,
 
)
-
- -

Default precision 32 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i32vec2 ,
aligned_i32vec2 ,
 
)
-
- -

Default precision 32 bit signed integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i32vec3 ,
aligned_i32vec3 ,
16  
)
-
- -

Default precision 32 bit signed integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i32vec4 ,
aligned_i32vec4 ,
16  
)
-
- -

Default precision 32 bit signed integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i64vec1 ,
aligned_i64vec1 ,
 
)
-
- -

Default precision 64 bit signed integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i64vec2 ,
aligned_i64vec2 ,
16  
)
-
- -

Default precision 64 bit signed integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i64vec3 ,
aligned_i64vec3 ,
32  
)
-
- -

Default precision 64 bit signed integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (i64vec4 ,
aligned_i64vec4 ,
32  
)
-
- -

Default precision 64 bit signed integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_uint8 ,
aligned_lowp_uint8 ,
 
)
-
- -

Low precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_uint16 ,
aligned_lowp_uint16 ,
 
)
-
- -

Low precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_uint32 ,
aligned_lowp_uint32 ,
 
)
-
- -

Low precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_uint64 ,
aligned_lowp_uint64 ,
 
)
-
- -

Low precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_uint8_t ,
aligned_lowp_uint8_t ,
 
)
-
- -

Low precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_uint16_t ,
aligned_lowp_uint16_t ,
 
)
-
- -

Low precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_uint32_t ,
aligned_lowp_uint32_t ,
 
)
-
- -

Low precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_uint64_t ,
aligned_lowp_uint64_t ,
 
)
-
- -

Low precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_u8 ,
aligned_lowp_u8 ,
 
)
-
- -

Low precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_u16 ,
aligned_lowp_u16 ,
 
)
-
- -

Low precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_u32 ,
aligned_lowp_u32 ,
 
)
-
- -

Low precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (lowp_u64 ,
aligned_lowp_u64 ,
 
)
-
- -

Low precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_uint8 ,
aligned_mediump_uint8 ,
 
)
-
- -

Medium precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_uint16 ,
aligned_mediump_uint16 ,
 
)
-
- -

Medium precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_uint32 ,
aligned_mediump_uint32 ,
 
)
-
- -

Medium precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_uint64 ,
aligned_mediump_uint64 ,
 
)
-
- -

Medium precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_uint8_t ,
aligned_mediump_uint8_t ,
 
)
-
- -

Medium precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_uint16_t ,
aligned_mediump_uint16_t ,
 
)
-
- -

Medium precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_uint32_t ,
aligned_mediump_uint32_t ,
 
)
-
- -

Medium precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_uint64_t ,
aligned_mediump_uint64_t ,
 
)
-
- -

Medium precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_u8 ,
aligned_mediump_u8 ,
 
)
-
- -

Medium precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_u16 ,
aligned_mediump_u16 ,
 
)
-
- -

Medium precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_u32 ,
aligned_mediump_u32 ,
 
)
-
- -

Medium precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mediump_u64 ,
aligned_mediump_u64 ,
 
)
-
- -

Medium precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_uint8 ,
aligned_highp_uint8 ,
 
)
-
- -

High precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_uint16 ,
aligned_highp_uint16 ,
 
)
-
- -

High precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_uint32 ,
aligned_highp_uint32 ,
 
)
-
- -

High precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_uint64 ,
aligned_highp_uint64 ,
 
)
-
- -

High precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_uint8_t ,
aligned_highp_uint8_t ,
 
)
-
- -

High precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_uint16_t ,
aligned_highp_uint16_t ,
 
)
-
- -

High precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_uint32_t ,
aligned_highp_uint32_t ,
 
)
-
- -

High precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_uint64_t ,
aligned_highp_uint64_t ,
 
)
-
- -

High precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_u8 ,
aligned_highp_u8 ,
 
)
-
- -

High precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_u16 ,
aligned_highp_u16 ,
 
)
-
- -

High precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_u32 ,
aligned_highp_u32 ,
 
)
-
- -

High precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (highp_u64 ,
aligned_highp_u64 ,
 
)
-
- -

High precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uint8 ,
aligned_uint8 ,
 
)
-
- -

Default precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uint16 ,
aligned_uint16 ,
 
)
-
- -

Default precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uint32 ,
aligned_uint32 ,
 
)
-
- -

Default precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uint64 ,
aligned_uint64 ,
 
)
-
- -

Default precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uint8_t ,
aligned_uint8_t ,
 
)
-
- -

Default precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uint16_t ,
aligned_uint16_t ,
 
)
-
- -

Default precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uint32_t ,
aligned_uint32_t ,
 
)
-
- -

Default precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uint64_t ,
aligned_uint64_t ,
 
)
-
- -

Default precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u8 ,
aligned_u8 ,
 
)
-
- -

Default precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u16 ,
aligned_u16 ,
 
)
-
- -

Default precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u32 ,
aligned_u32 ,
 
)
-
- -

Default precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u64 ,
aligned_u64 ,
 
)
-
- -

Default precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uvec1 ,
aligned_uvec1 ,
 
)
-
- -

Default precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uvec2 ,
aligned_uvec2 ,
 
)
-
- -

Default precision 32 bit unsigned integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uvec3 ,
aligned_uvec3 ,
16  
)
-
- -

Default precision 32 bit unsigned integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (uvec4 ,
aligned_uvec4 ,
16  
)
-
- -

Default precision 32 bit unsigned integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u8vec1 ,
aligned_u8vec1 ,
 
)
-
- -

Default precision 8 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u8vec2 ,
aligned_u8vec2 ,
 
)
-
- -

Default precision 8 bit unsigned integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u8vec3 ,
aligned_u8vec3 ,
 
)
-
- -

Default precision 8 bit unsigned integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u8vec4 ,
aligned_u8vec4 ,
 
)
-
- -

Default precision 8 bit unsigned integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u16vec1 ,
aligned_u16vec1 ,
 
)
-
- -

Default precision 16 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u16vec2 ,
aligned_u16vec2 ,
 
)
-
- -

Default precision 16 bit unsigned integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u16vec3 ,
aligned_u16vec3 ,
 
)
-
- -

Default precision 16 bit unsigned integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u16vec4 ,
aligned_u16vec4 ,
 
)
-
- -

Default precision 16 bit unsigned integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u32vec1 ,
aligned_u32vec1 ,
 
)
-
- -

Default precision 32 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u32vec2 ,
aligned_u32vec2 ,
 
)
-
- -

Default precision 32 bit unsigned integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u32vec3 ,
aligned_u32vec3 ,
16  
)
-
- -

Default precision 32 bit unsigned integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u32vec4 ,
aligned_u32vec4 ,
16  
)
-
- -

Default precision 32 bit unsigned integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u64vec1 ,
aligned_u64vec1 ,
 
)
-
- -

Default precision 64 bit unsigned integer aligned scalar type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u64vec2 ,
aligned_u64vec2 ,
16  
)
-
- -

Default precision 64 bit unsigned integer aligned vector of 2 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u64vec3 ,
aligned_u64vec3 ,
32  
)
-
- -

Default precision 64 bit unsigned integer aligned vector of 3 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (u64vec4 ,
aligned_u64vec4 ,
32  
)
-
- -

Default precision 64 bit unsigned integer aligned vector of 4 components type.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (float32 ,
aligned_float32 ,
 
)
-
- -

32 bit single-precision floating-point aligned scalar.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (float64 ,
aligned_float64 ,
 
)
-
- -

64 bit double-precision floating-point aligned scalar.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (float32_t ,
aligned_float32_t ,
 
)
-
- -

32 bit single-precision floating-point aligned scalar.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (float64_t ,
aligned_float64_t ,
 
)
-
- -

64 bit double-precision floating-point aligned scalar.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (float32 ,
aligned_f32 ,
 
)
-
- -

32 bit single-precision floating-point aligned scalar.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (float64 ,
aligned_f64 ,
 
)
-
- -

64 bit double-precision floating-point aligned scalar.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (vec1 ,
aligned_vec1 ,
 
)
-
- -

Single-precision floating-point aligned vector of 1 component.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (vec2 ,
aligned_vec2 ,
 
)
-
- -

Single-precision floating-point aligned vector of 2 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (vec3 ,
aligned_vec3 ,
16  
)
-
- -

Single-precision floating-point aligned vector of 3 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (vec4 ,
aligned_vec4 ,
16  
)
-
- -

Single-precision floating-point aligned vector of 4 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fvec1 ,
aligned_fvec1 ,
 
)
-
- -

Single-precision floating-point aligned vector of 1 component.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fvec2 ,
aligned_fvec2 ,
 
)
-
- -

Single-precision floating-point aligned vector of 2 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fvec3 ,
aligned_fvec3 ,
16  
)
-
- -

Single-precision floating-point aligned vector of 3 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fvec4 ,
aligned_fvec4 ,
16  
)
-
- -

Single-precision floating-point aligned vector of 4 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32vec1 ,
aligned_f32vec1 ,
 
)
-
- -

Single-precision floating-point aligned vector of 1 component.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32vec2 ,
aligned_f32vec2 ,
 
)
-
- -

Single-precision floating-point aligned vector of 2 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32vec3 ,
aligned_f32vec3 ,
16  
)
-
- -

Single-precision floating-point aligned vector of 3 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32vec4 ,
aligned_f32vec4 ,
16  
)
-
- -

Single-precision floating-point aligned vector of 4 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (dvec1 ,
aligned_dvec1 ,
 
)
-
- -

Double-precision floating-point aligned vector of 1 component.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (dvec2 ,
aligned_dvec2 ,
16  
)
-
- -

Double-precision floating-point aligned vector of 2 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (dvec3 ,
aligned_dvec3 ,
32  
)
-
- -

Double-precision floating-point aligned vector of 3 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (dvec4 ,
aligned_dvec4 ,
32  
)
-
- -

Double-precision floating-point aligned vector of 4 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64vec1 ,
aligned_f64vec1 ,
 
)
-
- -

Double-precision floating-point aligned vector of 1 component.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64vec2 ,
aligned_f64vec2 ,
16  
)
-
- -

Double-precision floating-point aligned vector of 2 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64vec3 ,
aligned_f64vec3 ,
32  
)
-
- -

Double-precision floating-point aligned vector of 3 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64vec4 ,
aligned_f64vec4 ,
32  
)
-
- -

Double-precision floating-point aligned vector of 4 components.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mat2 ,
aligned_mat2 ,
16  
)
-
- -

Single-precision floating-point aligned 1x1 matrix.

-
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
-
-GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mat3 ,
aligned_mat3 ,
16  
)
-
- -

Single-precision floating-point aligned 3x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mat4 ,
aligned_mat4 ,
16  
)
-
- -

Single-precision floating-point aligned 4x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mat2x2 ,
aligned_mat2x2 ,
16  
)
-
- -

Single-precision floating-point aligned 1x1 matrix.

-
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
-
-GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mat3x3 ,
aligned_mat3x3 ,
16  
)
-
- -

Single-precision floating-point aligned 3x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (mat4x4 ,
aligned_mat4x4 ,
16  
)
-
- -

Single-precision floating-point aligned 4x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat2x2 ,
aligned_fmat2 ,
16  
)
-
- -

Single-precision floating-point aligned 1x1 matrix.

-
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
-
-GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat3x3 ,
aligned_fmat3 ,
16  
)
-
- -

Single-precision floating-point aligned 3x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat4x4 ,
aligned_fmat4 ,
16  
)
-
- -

Single-precision floating-point aligned 4x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat2x2 ,
aligned_fmat2x2 ,
16  
)
-
- -

Single-precision floating-point aligned 1x1 matrix.

-
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
-
-GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat2x3 ,
aligned_fmat2x3 ,
16  
)
-
- -

Single-precision floating-point aligned 2x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat2x4 ,
aligned_fmat2x4 ,
16  
)
-
- -

Single-precision floating-point aligned 2x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat3x2 ,
aligned_fmat3x2 ,
16  
)
-
- -

Single-precision floating-point aligned 3x2 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat3x3 ,
aligned_fmat3x3 ,
16  
)
-
- -

Single-precision floating-point aligned 3x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat3x4 ,
aligned_fmat3x4 ,
16  
)
-
- -

Single-precision floating-point aligned 3x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat4x2 ,
aligned_fmat4x2 ,
16  
)
-
- -

Single-precision floating-point aligned 4x2 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat4x3 ,
aligned_fmat4x3 ,
16  
)
-
- -

Single-precision floating-point aligned 4x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fmat4x4 ,
aligned_fmat4x4 ,
16  
)
-
- -

Single-precision floating-point aligned 4x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat2x2 ,
aligned_f32mat2 ,
16  
)
-
- -

Single-precision floating-point aligned 1x1 matrix.

-
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
-
-GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat3x3 ,
aligned_f32mat3 ,
16  
)
-
- -

Single-precision floating-point aligned 3x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat4x4 ,
aligned_f32mat4 ,
16  
)
-
- -

Single-precision floating-point aligned 4x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat2x2 ,
aligned_f32mat2x2 ,
16  
)
-
- -

Single-precision floating-point aligned 1x1 matrix.

-
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
-
-GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat2x3 ,
aligned_f32mat2x3 ,
16  
)
-
- -

Single-precision floating-point aligned 2x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat2x4 ,
aligned_f32mat2x4 ,
16  
)
-
- -

Single-precision floating-point aligned 2x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat3x2 ,
aligned_f32mat3x2 ,
16  
)
-
- -

Single-precision floating-point aligned 3x2 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat3x3 ,
aligned_f32mat3x3 ,
16  
)
-
- -

Single-precision floating-point aligned 3x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat3x4 ,
aligned_f32mat3x4 ,
16  
)
-
- -

Single-precision floating-point aligned 3x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat4x2 ,
aligned_f32mat4x2 ,
16  
)
-
- -

Single-precision floating-point aligned 4x2 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat4x3 ,
aligned_f32mat4x3 ,
16  
)
-
- -

Single-precision floating-point aligned 4x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32mat4x4 ,
aligned_f32mat4x4 ,
16  
)
-
- -

Single-precision floating-point aligned 4x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat2x2 ,
aligned_f64mat2 ,
32  
)
-
- -

Double-precision floating-point aligned 1x1 matrix.

-
See also
GLM_GTX_type_aligned Double-precision floating-point aligned 2x2 matrix.
-
-GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat3x3 ,
aligned_f64mat3 ,
32  
)
-
- -

Double-precision floating-point aligned 3x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat4x4 ,
aligned_f64mat4 ,
32  
)
-
- -

Double-precision floating-point aligned 4x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat2x2 ,
aligned_f64mat2x2 ,
32  
)
-
- -

Double-precision floating-point aligned 1x1 matrix.

-
See also
GLM_GTX_type_aligned Double-precision floating-point aligned 2x2 matrix.
-
-GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat2x3 ,
aligned_f64mat2x3 ,
32  
)
-
- -

Double-precision floating-point aligned 2x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat2x4 ,
aligned_f64mat2x4 ,
32  
)
-
- -

Double-precision floating-point aligned 2x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat3x2 ,
aligned_f64mat3x2 ,
32  
)
-
- -

Double-precision floating-point aligned 3x2 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat3x3 ,
aligned_f64mat3x3 ,
32  
)
-
- -

Double-precision floating-point aligned 3x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat3x4 ,
aligned_f64mat3x4 ,
32  
)
-
- -

Double-precision floating-point aligned 3x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat4x2 ,
aligned_f64mat4x2 ,
32  
)
-
- -

Double-precision floating-point aligned 4x2 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat4x3 ,
aligned_f64mat4x3 ,
32  
)
-
- -

Double-precision floating-point aligned 4x3 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f64mat4x4 ,
aligned_f64mat4x4 ,
32  
)
-
- -

Double-precision floating-point aligned 4x4 matrix.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (quat ,
aligned_quat ,
16  
)
-
- -

Single-precision floating-point aligned quaternion.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (fquat ,
aligned_fquat ,
16  
)
-
- -

Single-precision floating-point aligned quaternion.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (dquat ,
aligned_dquat ,
32  
)
-
- -

Double-precision floating-point aligned quaternion.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
glm::GLM_ALIGNED_TYPEDEF (f32quat ,
aligned_f32quat ,
16  
)
-
- -

Single-precision floating-point aligned quaternion.

-
See also
GLM_GTX_type_aligned
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - + + - -
glm::GLM_ALIGNED_TYPEDEF (f64quat ,
aligned_f64quat ,
32  
matType< T, P > const & x) )
-

Double-precision floating-point aligned quaternion.

-
See also
GLM_GTX_type_aligned
+

Create a string from a GLM vector or matrix typed variable.

+
See also
GLM_GTX_string_cast extension.
@@ -7805,7 +77,7 @@ Functions diff --git a/doc/api/a00236.html b/doc/api/a00236.html index c224080d..f21bb043 100644 --- a/doc/api/a00236.html +++ b/doc/api/a00236.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_vector_angle + +0.9.7: GLM_GTX_transform @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - + + + + + + + + +

Functions

template<typename vecType >
GLM_FUNC_DECL vecType::value_type angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T orientedAngle (tvec2< T, P > const &x, tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T orientedAngle (tvec3< T, P > const &x, tvec3< T, P > const &y, tvec3< T, P > const &ref)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (T angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tvec3< T, P > const &v)
 

Detailed Description

-

Compute angle between vectors.

-

<glm/gtx/vector_angle.hpp> need to be included to use these functionalities.

+

Add transformation matrices.

+

<glm/gtx/transform.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - + + @@ -83,72 +83,52 @@ Functions
GLM_FUNC_DECL vecType::value_type glm::angle GLM_FUNC_DECL tmat4x4<T, P> glm::rotate (vecType const & x, angle,
vecType const & y tvec3< T, P > const & v 
-

Returns the absolute angle between two vectors Parameters need to be normalized.

-
See also
GLM_GTX_vector_angle extension
+

Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.

+
See also
GLM_GTC_matrix_transform
+
+GLM_GTX_transform
- +
- + - - - - - + + - - - - - - -
GLM_FUNC_DECL T glm::orientedAngle GLM_FUNC_DECL tmat4x4<T, P> glm::scale (tvec2< T, P > const & x,
tvec3< T, P > const & v) tvec2< T, P > const & y 
)
-

Returns the oriented angle between two 2d vectors Parameters need to be normalized.

-
See also
GLM_GTX_vector_angle extension.
+

Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.

+
See also
GLM_GTC_matrix_transform
+
+GLM_GTX_transform
- +
- + - - - - + - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::orientedAngle GLM_FUNC_DECL tmat4x4<T, P> glm::translate ( tvec3< T, P > const & x,
v) tvec3< T, P > const & y,
tvec3< T, P > const & ref 
)
-

Returns the oriented angle between two 3d vectors based from a reference axis.

-

Parameters need to be normalized.

See also
GLM_GTX_vector_angle extension.
+

Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.

+
See also
GLM_GTC_matrix_transform
+
+GLM_GTX_transform
@@ -157,7 +137,7 @@ Functions diff --git a/doc/api/a00237.html b/doc/api/a00237.html index cf52723c..4db5cfa7 100644 --- a/doc/api/a00237.html +++ b/doc/api/a00237.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_vector_query + +0.9.7: GLM_GTX_transform2 @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > proj2D (const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > proj3D (const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearX2D (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearX3D (const tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearY2D (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearY3D (const tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearZ3D (const tmat4x4< T, P > &m, T x, T y)
 

Detailed Description

-

Query informations of vector types.

-

<glm/gtx/vector_query.hpp> need to be included to use these functionalities.

+

Add extra transformation matrices.

+

<glm/gtx/transform2.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - - - - - - - + + @@ -98,32 +101,26 @@ Functions
GLM_FUNC_DECL bool glm::areCollinear GLM_FUNC_DECL tmat3x3<T, P> glm::proj2D (vecType< T, P > const & v0, const tmat3x3< T, P > & m,
vecType< T, P > const & v1,
T const & epsilon const tvec3< T, P > & normal 
-

Check whether two vectors are collinears.

-
See also
GLM_GTX_vector_query extensions.
+

Build planar projection matrix along normal axis.

+

From GLM_GTX_transform2 extension.

- +
- + - - + + - - - - - - - - + + @@ -133,32 +130,26 @@ Functions
GLM_FUNC_DECL bool glm::areOrthogonal GLM_FUNC_DECL tmat4x4<T, P> glm::proj3D (vecType< T, P > const & v0, const tmat4x4< T, P > & m,
vecType< T, P > const & v1,
T const & epsilon const tvec3< T, P > & normal 
-

Check whether two vectors are orthogonals.

-
See also
GLM_GTX_vector_query extensions.
+

Build planar projection matrix along normal axis.

+

From GLM_GTX_transform2 extension.

- +
- + - - + + - - - - - - - - + + @@ -168,26 +159,32 @@ Functions
GLM_FUNC_DECL bool glm::areOrthonormal GLM_FUNC_DECL tmat4x4<valType, P> glm::scaleBias (vecType< T, P > const & v0, valType scale,
vecType< T, P > const & v1,
T const & epsilon valType bias 
-

Check whether two vectors are orthonormal.

-
See also
GLM_GTX_vector_query extensions.
+

Build a scale bias matrix.

+

From GLM_GTX_transform2 extension.

- +
- + - - + + - - + + + + + + + + @@ -197,26 +194,26 @@ Functions
GLM_FUNC_DECL vecType<bool, P> glm::isCompNull GLM_FUNC_DECL tmat4x4<valType, P> glm::scaleBias (vecType< T, P > const & v, tmat4x4< valType, P > const & m,
T const & epsilon valType scale,
valType bias 
-

Check whether a each component of a vector is null.

-
See also
GLM_GTX_vector_query extensions.
+

Build a scale bias matrix.

+

From GLM_GTX_transform2 extension.

- +
- + - - + + - - + + @@ -226,26 +223,32 @@ Functions
GLM_FUNC_DECL bool glm::isNormalized GLM_FUNC_DECL tmat3x3<T, P> glm::shearX2D (vecType< T, P > const & v, tmat3x3< T, P > const & m,
T const & epsilon y 
-

Check whether a vector is normalized.

-
See also
GLM_GTX_vector_query extensions.
+

Transforms a matrix with a shearing on X axis.

+

From GLM_GTX_transform2 extension.

- +
- + - - + + - - + + + + + + + + @@ -255,8 +258,106 @@ Functions
GLM_FUNC_DECL bool glm::isNull GLM_FUNC_DECL tmat4x4<T, P> glm::shearX3D (vecType< T, P > const & v, const tmat4x4< T, P > & m,
T const & epsilon y,
z 
-

Check whether a vector is null.

-
See also
GLM_GTX_vector_query extensions.
+

Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::shearY2D (tmat3x3< T, P > const & m,
x 
)
+
+ +

Transforms a matrix with a shearing on Y axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::shearY3D (const tmat4x4< T, P > & m,
x,
z 
)
+
+ +

Transforms a matrix with a shearing on Y axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::shearZ3D (const tmat4x4< T, P > & m,
x,
y 
)
+
+ +

Transforms a matrix with a shearing on Z axis.

+

From GLM_GTX_transform2 extension.

@@ -265,7 +366,7 @@ Functions diff --git a/doc/api/a00238.html b/doc/api/a00238.html index 0241f54d..2be046d6 100644 --- a/doc/api/a00238.html +++ b/doc/api/a00238.html @@ -3,8 +3,8 @@ - -0.9.6: GLM_GTX_wrap + +0.9.7: GLM_GTX_type_aligned @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 
 GLM_ALIGNED_TYPEDEF (lowp_int8, aligned_lowp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16, aligned_lowp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32, aligned_lowp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64, aligned_lowp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_int8_t, aligned_lowp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16_t, aligned_lowp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32_t, aligned_lowp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64_t, aligned_lowp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_i8, aligned_lowp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_i16, aligned_lowp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_i32, aligned_lowp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_i64, aligned_lowp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8, aligned_mediump_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16, aligned_mediump_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32, aligned_mediump_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64, aligned_mediump_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8_t, aligned_mediump_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16_t, aligned_mediump_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32_t, aligned_mediump_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64_t, aligned_mediump_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_i8, aligned_mediump_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_i16, aligned_mediump_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_i32, aligned_mediump_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_i64, aligned_mediump_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8, aligned_highp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16, aligned_highp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32, aligned_highp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64, aligned_highp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8_t, aligned_highp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16_t, aligned_highp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32_t, aligned_highp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64_t, aligned_highp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_i8, aligned_highp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_i16, aligned_highp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_i32, aligned_highp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_i64, aligned_highp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8, aligned_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (int16, aligned_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (int32, aligned_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (int64, aligned_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8_t, aligned_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (int16_t, aligned_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (int32_t, aligned_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (int64_t, aligned_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (i8, aligned_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (i16, aligned_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (i32, aligned_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (i64, aligned_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec1, aligned_ivec1, 4)
 
 GLM_ALIGNED_TYPEDEF (ivec2, aligned_ivec2, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec3, aligned_ivec3, 16)
 
 GLM_ALIGNED_TYPEDEF (ivec4, aligned_ivec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i8vec1, aligned_i8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (i8vec2, aligned_i8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (i8vec3, aligned_i8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (i8vec4, aligned_i8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec1, aligned_i16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (i16vec2, aligned_i16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec3, aligned_i16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (i16vec4, aligned_i16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec1, aligned_i32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (i32vec2, aligned_i32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec3, aligned_i32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (i32vec4, aligned_i32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec1, aligned_i64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (i64vec2, aligned_i64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec3, aligned_i64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (i64vec4, aligned_i64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8, aligned_lowp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16, aligned_lowp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32, aligned_lowp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64, aligned_lowp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8_t, aligned_lowp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16_t, aligned_lowp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32_t, aligned_lowp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64_t, aligned_lowp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_u8, aligned_lowp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_u16, aligned_lowp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_u32, aligned_lowp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_u64, aligned_lowp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8, aligned_mediump_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16, aligned_mediump_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32, aligned_mediump_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64, aligned_mediump_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8_t, aligned_mediump_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16_t, aligned_mediump_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32_t, aligned_mediump_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64_t, aligned_mediump_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_u8, aligned_mediump_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_u16, aligned_mediump_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_u32, aligned_mediump_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_u64, aligned_mediump_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8, aligned_highp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16, aligned_highp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32, aligned_highp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64, aligned_highp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8_t, aligned_highp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16_t, aligned_highp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32_t, aligned_highp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64_t, aligned_highp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_u8, aligned_highp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_u16, aligned_highp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_u32, aligned_highp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_u64, aligned_highp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8, aligned_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16, aligned_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32, aligned_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64, aligned_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8_t, aligned_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16_t, aligned_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32_t, aligned_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64_t, aligned_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (u8, aligned_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (u16, aligned_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (u32, aligned_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (u64, aligned_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec1, aligned_uvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (uvec2, aligned_uvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec3, aligned_uvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (uvec4, aligned_uvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u8vec1, aligned_u8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (u8vec2, aligned_u8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (u8vec3, aligned_u8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (u8vec4, aligned_u8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec1, aligned_u16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (u16vec2, aligned_u16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec3, aligned_u16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (u16vec4, aligned_u16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec1, aligned_u32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (u32vec2, aligned_u32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec3, aligned_u32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (u32vec4, aligned_u32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec1, aligned_u64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (u64vec2, aligned_u64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec3, aligned_u64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (u64vec4, aligned_u64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_float32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_float64, 8)
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_f64, 8)
 
 GLM_ALIGNED_TYPEDEF (vec1, aligned_vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (vec2, aligned_vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (vec3, aligned_vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (vec4, aligned_vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec1, aligned_fvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (fvec2, aligned_fvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (fvec3, aligned_fvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec4, aligned_fvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec1, aligned_f32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (f32vec2, aligned_f32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (f32vec3, aligned_f32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec4, aligned_f32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec1, aligned_dvec1, 8)
 
 GLM_ALIGNED_TYPEDEF (dvec2, aligned_dvec2, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec3, aligned_dvec3, 32)
 
 GLM_ALIGNED_TYPEDEF (dvec4, aligned_dvec4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec1, aligned_f64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (f64vec2, aligned_f64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (f64vec3, aligned_f64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec4, aligned_f64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (mat2, aligned_mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3, aligned_mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4, aligned_mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (mat2x2, aligned_mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3x3, aligned_mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4x4, aligned_mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x3, aligned_fmat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x4, aligned_fmat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x2, aligned_fmat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x4, aligned_fmat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x2, aligned_fmat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x3, aligned_fmat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x3, aligned_f32mat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x4, aligned_f32mat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x2, aligned_f32mat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x4, aligned_f32mat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x2, aligned_f32mat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x3, aligned_f32mat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x3, aligned_f64mat2x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x4, aligned_f64mat2x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x2, aligned_f64mat3x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x4, aligned_f64mat3x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x2, aligned_f64mat4x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x3, aligned_f64mat4x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4x4, 32)
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_quat, 16)
 
 GLM_ALIGNED_TYPEDEF (fquat, aligned_fquat, 16)
 
 GLM_ALIGNED_TYPEDEF (dquat, aligned_dquat, 32)
 
 GLM_ALIGNED_TYPEDEF (f32quat, aligned_f32quat, 16)
 
 GLM_ALIGNED_TYPEDEF (f64quat, aligned_f64quat, 32)
 

Detailed Description

-

Wrapping mode of texture coordinates.

-

<glm/gtx/wrap.hpp> need to be included to use these functionalities.

+

Defines aligned types.

+

Precision types defines aligned types.

+

<glm/gtx/type_aligned.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::clamp glm::GLM_ALIGNED_TYPEDEF (genType const & Texcoord)lowp_int8 ,
aligned_lowp_int8 ,
 
)
-

Simulate GL_CLAMP OpenGL wrap mode.

-
See also
GLM_GTX_wrap extension.
+

Low precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
- +
- + - - + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::mirrorRepeat glm::GLM_ALIGNED_TYPEDEF (genType const & Texcoord)lowp_int16 ,
aligned_lowp_int16 ,
 
)
-

Simulate GL_MIRROR_REPEAT OpenGL wrap mode.

-
See also
GLM_GTX_wrap extension.
+

Low precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
- +
- + - - + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::repeat glm::GLM_ALIGNED_TYPEDEF (genType const & Texcoord)lowp_int32 ,
aligned_lowp_int32 ,
 
)
-

Simulate GL_REPEAT OpenGL wrap mode.

-
See also
GLM_GTX_wrap extension.
+

Low precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_int64 ,
aligned_lowp_int64 ,
 
)
+
+ +

Low precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_int8_t ,
aligned_lowp_int8_t ,
 
)
+
+ +

Low precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_int16_t ,
aligned_lowp_int16_t ,
 
)
+
+ +

Low precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_int32_t ,
aligned_lowp_int32_t ,
 
)
+
+ +

Low precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_int64_t ,
aligned_lowp_int64_t ,
 
)
+
+ +

Low precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_i8 ,
aligned_lowp_i8 ,
 
)
+
+ +

Low precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_i16 ,
aligned_lowp_i16 ,
 
)
+
+ +

Low precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_i32 ,
aligned_lowp_i32 ,
 
)
+
+ +

Low precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_i64 ,
aligned_lowp_i64 ,
 
)
+
+ +

Low precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_int8 ,
aligned_mediump_int8 ,
 
)
+
+ +

Medium precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_int16 ,
aligned_mediump_int16 ,
 
)
+
+ +

Medium precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_int32 ,
aligned_mediump_int32 ,
 
)
+
+ +

Medium precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_int64 ,
aligned_mediump_int64 ,
 
)
+
+ +

Medium precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_int8_t ,
aligned_mediump_int8_t ,
 
)
+
+ +

Medium precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_int16_t ,
aligned_mediump_int16_t ,
 
)
+
+ +

Medium precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_int32_t ,
aligned_mediump_int32_t ,
 
)
+
+ +

Medium precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_int64_t ,
aligned_mediump_int64_t ,
 
)
+
+ +

Medium precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_i8 ,
aligned_mediump_i8 ,
 
)
+
+ +

Medium precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_i16 ,
aligned_mediump_i16 ,
 
)
+
+ +

Medium precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_i32 ,
aligned_mediump_i32 ,
 
)
+
+ +

Medium precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_i64 ,
aligned_mediump_i64 ,
 
)
+
+ +

Medium precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_int8 ,
aligned_highp_int8 ,
 
)
+
+ +

High precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_int16 ,
aligned_highp_int16 ,
 
)
+
+ +

High precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_int32 ,
aligned_highp_int32 ,
 
)
+
+ +

High precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_int64 ,
aligned_highp_int64 ,
 
)
+
+ +

High precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_int8_t ,
aligned_highp_int8_t ,
 
)
+
+ +

High precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_int16_t ,
aligned_highp_int16_t ,
 
)
+
+ +

High precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_int32_t ,
aligned_highp_int32_t ,
 
)
+
+ +

High precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_int64_t ,
aligned_highp_int64_t ,
 
)
+
+ +

High precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_i8 ,
aligned_highp_i8 ,
 
)
+
+ +

High precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_i16 ,
aligned_highp_i16 ,
 
)
+
+ +

High precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_i32 ,
aligned_highp_i32 ,
 
)
+
+ +

High precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_i64 ,
aligned_highp_i64 ,
 
)
+
+ +

High precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (int8 ,
aligned_int8 ,
 
)
+
+ +

Default precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (int16 ,
aligned_int16 ,
 
)
+
+ +

Default precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (int32 ,
aligned_int32 ,
 
)
+
+ +

Default precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (int64 ,
aligned_int64 ,
 
)
+
+ +

Default precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (int8_t ,
aligned_int8_t ,
 
)
+
+ +

Default precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (int16_t ,
aligned_int16_t ,
 
)
+
+ +

Default precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (int32_t ,
aligned_int32_t ,
 
)
+
+ +

Default precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (int64_t ,
aligned_int64_t ,
 
)
+
+ +

Default precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i8 ,
aligned_i8 ,
 
)
+
+ +

Default precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i16 ,
aligned_i16 ,
 
)
+
+ +

Default precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i32 ,
aligned_i32 ,
 
)
+
+ +

Default precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i64 ,
aligned_i64 ,
 
)
+
+ +

Default precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (ivec1 ,
aligned_ivec1 ,
 
)
+
+ +

Default precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (ivec2 ,
aligned_ivec2 ,
 
)
+
+ +

Default precision 32 bit signed integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (ivec3 ,
aligned_ivec3 ,
16  
)
+
+ +

Default precision 32 bit signed integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (ivec4 ,
aligned_ivec4 ,
16  
)
+
+ +

Default precision 32 bit signed integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i8vec1 ,
aligned_i8vec1 ,
 
)
+
+ +

Default precision 8 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i8vec2 ,
aligned_i8vec2 ,
 
)
+
+ +

Default precision 8 bit signed integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i8vec3 ,
aligned_i8vec3 ,
 
)
+
+ +

Default precision 8 bit signed integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i8vec4 ,
aligned_i8vec4 ,
 
)
+
+ +

Default precision 8 bit signed integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i16vec1 ,
aligned_i16vec1 ,
 
)
+
+ +

Default precision 16 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i16vec2 ,
aligned_i16vec2 ,
 
)
+
+ +

Default precision 16 bit signed integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i16vec3 ,
aligned_i16vec3 ,
 
)
+
+ +

Default precision 16 bit signed integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i16vec4 ,
aligned_i16vec4 ,
 
)
+
+ +

Default precision 16 bit signed integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i32vec1 ,
aligned_i32vec1 ,
 
)
+
+ +

Default precision 32 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i32vec2 ,
aligned_i32vec2 ,
 
)
+
+ +

Default precision 32 bit signed integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i32vec3 ,
aligned_i32vec3 ,
16  
)
+
+ +

Default precision 32 bit signed integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i32vec4 ,
aligned_i32vec4 ,
16  
)
+
+ +

Default precision 32 bit signed integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i64vec1 ,
aligned_i64vec1 ,
 
)
+
+ +

Default precision 64 bit signed integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i64vec2 ,
aligned_i64vec2 ,
16  
)
+
+ +

Default precision 64 bit signed integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i64vec3 ,
aligned_i64vec3 ,
32  
)
+
+ +

Default precision 64 bit signed integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (i64vec4 ,
aligned_i64vec4 ,
32  
)
+
+ +

Default precision 64 bit signed integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_uint8 ,
aligned_lowp_uint8 ,
 
)
+
+ +

Low precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_uint16 ,
aligned_lowp_uint16 ,
 
)
+
+ +

Low precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_uint32 ,
aligned_lowp_uint32 ,
 
)
+
+ +

Low precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_uint64 ,
aligned_lowp_uint64 ,
 
)
+
+ +

Low precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_uint8_t ,
aligned_lowp_uint8_t ,
 
)
+
+ +

Low precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_uint16_t ,
aligned_lowp_uint16_t ,
 
)
+
+ +

Low precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_uint32_t ,
aligned_lowp_uint32_t ,
 
)
+
+ +

Low precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_uint64_t ,
aligned_lowp_uint64_t ,
 
)
+
+ +

Low precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_u8 ,
aligned_lowp_u8 ,
 
)
+
+ +

Low precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_u16 ,
aligned_lowp_u16 ,
 
)
+
+ +

Low precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_u32 ,
aligned_lowp_u32 ,
 
)
+
+ +

Low precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (lowp_u64 ,
aligned_lowp_u64 ,
 
)
+
+ +

Low precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_uint8 ,
aligned_mediump_uint8 ,
 
)
+
+ +

Medium precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_uint16 ,
aligned_mediump_uint16 ,
 
)
+
+ +

Medium precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_uint32 ,
aligned_mediump_uint32 ,
 
)
+
+ +

Medium precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_uint64 ,
aligned_mediump_uint64 ,
 
)
+
+ +

Medium precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_uint8_t ,
aligned_mediump_uint8_t ,
 
)
+
+ +

Medium precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_uint16_t ,
aligned_mediump_uint16_t ,
 
)
+
+ +

Medium precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_uint32_t ,
aligned_mediump_uint32_t ,
 
)
+
+ +

Medium precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_uint64_t ,
aligned_mediump_uint64_t ,
 
)
+
+ +

Medium precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_u8 ,
aligned_mediump_u8 ,
 
)
+
+ +

Medium precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_u16 ,
aligned_mediump_u16 ,
 
)
+
+ +

Medium precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_u32 ,
aligned_mediump_u32 ,
 
)
+
+ +

Medium precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mediump_u64 ,
aligned_mediump_u64 ,
 
)
+
+ +

Medium precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_uint8 ,
aligned_highp_uint8 ,
 
)
+
+ +

High precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_uint16 ,
aligned_highp_uint16 ,
 
)
+
+ +

High precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_uint32 ,
aligned_highp_uint32 ,
 
)
+
+ +

High precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_uint64 ,
aligned_highp_uint64 ,
 
)
+
+ +

High precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_uint8_t ,
aligned_highp_uint8_t ,
 
)
+
+ +

High precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_uint16_t ,
aligned_highp_uint16_t ,
 
)
+
+ +

High precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_uint32_t ,
aligned_highp_uint32_t ,
 
)
+
+ +

High precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_uint64_t ,
aligned_highp_uint64_t ,
 
)
+
+ +

High precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_u8 ,
aligned_highp_u8 ,
 
)
+
+ +

High precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_u16 ,
aligned_highp_u16 ,
 
)
+
+ +

High precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_u32 ,
aligned_highp_u32 ,
 
)
+
+ +

High precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (highp_u64 ,
aligned_highp_u64 ,
 
)
+
+ +

High precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uint8 ,
aligned_uint8 ,
 
)
+
+ +

Default precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uint16 ,
aligned_uint16 ,
 
)
+
+ +

Default precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uint32 ,
aligned_uint32 ,
 
)
+
+ +

Default precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uint64 ,
aligned_uint64 ,
 
)
+
+ +

Default precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uint8_t ,
aligned_uint8_t ,
 
)
+
+ +

Default precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uint16_t ,
aligned_uint16_t ,
 
)
+
+ +

Default precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uint32_t ,
aligned_uint32_t ,
 
)
+
+ +

Default precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uint64_t ,
aligned_uint64_t ,
 
)
+
+ +

Default precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u8 ,
aligned_u8 ,
 
)
+
+ +

Default precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u16 ,
aligned_u16 ,
 
)
+
+ +

Default precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u32 ,
aligned_u32 ,
 
)
+
+ +

Default precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u64 ,
aligned_u64 ,
 
)
+
+ +

Default precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uvec1 ,
aligned_uvec1 ,
 
)
+
+ +

Default precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uvec2 ,
aligned_uvec2 ,
 
)
+
+ +

Default precision 32 bit unsigned integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uvec3 ,
aligned_uvec3 ,
16  
)
+
+ +

Default precision 32 bit unsigned integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (uvec4 ,
aligned_uvec4 ,
16  
)
+
+ +

Default precision 32 bit unsigned integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u8vec1 ,
aligned_u8vec1 ,
 
)
+
+ +

Default precision 8 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u8vec2 ,
aligned_u8vec2 ,
 
)
+
+ +

Default precision 8 bit unsigned integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u8vec3 ,
aligned_u8vec3 ,
 
)
+
+ +

Default precision 8 bit unsigned integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u8vec4 ,
aligned_u8vec4 ,
 
)
+
+ +

Default precision 8 bit unsigned integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u16vec1 ,
aligned_u16vec1 ,
 
)
+
+ +

Default precision 16 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u16vec2 ,
aligned_u16vec2 ,
 
)
+
+ +

Default precision 16 bit unsigned integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u16vec3 ,
aligned_u16vec3 ,
 
)
+
+ +

Default precision 16 bit unsigned integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u16vec4 ,
aligned_u16vec4 ,
 
)
+
+ +

Default precision 16 bit unsigned integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u32vec1 ,
aligned_u32vec1 ,
 
)
+
+ +

Default precision 32 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u32vec2 ,
aligned_u32vec2 ,
 
)
+
+ +

Default precision 32 bit unsigned integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u32vec3 ,
aligned_u32vec3 ,
16  
)
+
+ +

Default precision 32 bit unsigned integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u32vec4 ,
aligned_u32vec4 ,
16  
)
+
+ +

Default precision 32 bit unsigned integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u64vec1 ,
aligned_u64vec1 ,
 
)
+
+ +

Default precision 64 bit unsigned integer aligned scalar type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u64vec2 ,
aligned_u64vec2 ,
16  
)
+
+ +

Default precision 64 bit unsigned integer aligned vector of 2 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u64vec3 ,
aligned_u64vec3 ,
32  
)
+
+ +

Default precision 64 bit unsigned integer aligned vector of 3 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (u64vec4 ,
aligned_u64vec4 ,
32  
)
+
+ +

Default precision 64 bit unsigned integer aligned vector of 4 components type.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (float32 ,
aligned_float32 ,
 
)
+
+ +

32 bit single-precision floating-point aligned scalar.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (float64 ,
aligned_float64 ,
 
)
+
+ +

64 bit double-precision floating-point aligned scalar.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (float32_t ,
aligned_float32_t ,
 
)
+
+ +

32 bit single-precision floating-point aligned scalar.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (float64_t ,
aligned_float64_t ,
 
)
+
+ +

64 bit double-precision floating-point aligned scalar.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (float32 ,
aligned_f32 ,
 
)
+
+ +

32 bit single-precision floating-point aligned scalar.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (float64 ,
aligned_f64 ,
 
)
+
+ +

64 bit double-precision floating-point aligned scalar.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (vec1 ,
aligned_vec1 ,
 
)
+
+ +

Single-precision floating-point aligned vector of 1 component.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (vec2 ,
aligned_vec2 ,
 
)
+
+ +

Single-precision floating-point aligned vector of 2 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (vec3 ,
aligned_vec3 ,
16  
)
+
+ +

Single-precision floating-point aligned vector of 3 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (vec4 ,
aligned_vec4 ,
16  
)
+
+ +

Single-precision floating-point aligned vector of 4 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fvec1 ,
aligned_fvec1 ,
 
)
+
+ +

Single-precision floating-point aligned vector of 1 component.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fvec2 ,
aligned_fvec2 ,
 
)
+
+ +

Single-precision floating-point aligned vector of 2 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fvec3 ,
aligned_fvec3 ,
16  
)
+
+ +

Single-precision floating-point aligned vector of 3 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fvec4 ,
aligned_fvec4 ,
16  
)
+
+ +

Single-precision floating-point aligned vector of 4 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32vec1 ,
aligned_f32vec1 ,
 
)
+
+ +

Single-precision floating-point aligned vector of 1 component.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32vec2 ,
aligned_f32vec2 ,
 
)
+
+ +

Single-precision floating-point aligned vector of 2 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32vec3 ,
aligned_f32vec3 ,
16  
)
+
+ +

Single-precision floating-point aligned vector of 3 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32vec4 ,
aligned_f32vec4 ,
16  
)
+
+ +

Single-precision floating-point aligned vector of 4 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (dvec1 ,
aligned_dvec1 ,
 
)
+
+ +

Double-precision floating-point aligned vector of 1 component.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (dvec2 ,
aligned_dvec2 ,
16  
)
+
+ +

Double-precision floating-point aligned vector of 2 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (dvec3 ,
aligned_dvec3 ,
32  
)
+
+ +

Double-precision floating-point aligned vector of 3 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (dvec4 ,
aligned_dvec4 ,
32  
)
+
+ +

Double-precision floating-point aligned vector of 4 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64vec1 ,
aligned_f64vec1 ,
 
)
+
+ +

Double-precision floating-point aligned vector of 1 component.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64vec2 ,
aligned_f64vec2 ,
16  
)
+
+ +

Double-precision floating-point aligned vector of 2 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64vec3 ,
aligned_f64vec3 ,
32  
)
+
+ +

Double-precision floating-point aligned vector of 3 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64vec4 ,
aligned_f64vec4 ,
32  
)
+
+ +

Double-precision floating-point aligned vector of 4 components.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mat2 ,
aligned_mat2 ,
16  
)
+
+ +

Single-precision floating-point aligned 1x1 matrix.

+
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
+
+GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mat3 ,
aligned_mat3 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mat4 ,
aligned_mat4 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mat2x2 ,
aligned_mat2x2 ,
16  
)
+
+ +

Single-precision floating-point aligned 1x1 matrix.

+
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
+
+GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mat3x3 ,
aligned_mat3x3 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (mat4x4 ,
aligned_mat4x4 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat2x2 ,
aligned_fmat2 ,
16  
)
+
+ +

Single-precision floating-point aligned 1x1 matrix.

+
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
+
+GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat3x3 ,
aligned_fmat3 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat4x4 ,
aligned_fmat4 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat2x2 ,
aligned_fmat2x2 ,
16  
)
+
+ +

Single-precision floating-point aligned 1x1 matrix.

+
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
+
+GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat2x3 ,
aligned_fmat2x3 ,
16  
)
+
+ +

Single-precision floating-point aligned 2x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat2x4 ,
aligned_fmat2x4 ,
16  
)
+
+ +

Single-precision floating-point aligned 2x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat3x2 ,
aligned_fmat3x2 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x2 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat3x3 ,
aligned_fmat3x3 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat3x4 ,
aligned_fmat3x4 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat4x2 ,
aligned_fmat4x2 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x2 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat4x3 ,
aligned_fmat4x3 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fmat4x4 ,
aligned_fmat4x4 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat2x2 ,
aligned_f32mat2 ,
16  
)
+
+ +

Single-precision floating-point aligned 1x1 matrix.

+
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
+
+GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat3x3 ,
aligned_f32mat3 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat4x4 ,
aligned_f32mat4 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat2x2 ,
aligned_f32mat2x2 ,
16  
)
+
+ +

Single-precision floating-point aligned 1x1 matrix.

+
See also
GLM_GTX_type_aligned Single-precision floating-point aligned 2x2 matrix.
+
+GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat2x3 ,
aligned_f32mat2x3 ,
16  
)
+
+ +

Single-precision floating-point aligned 2x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat2x4 ,
aligned_f32mat2x4 ,
16  
)
+
+ +

Single-precision floating-point aligned 2x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat3x2 ,
aligned_f32mat3x2 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x2 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat3x3 ,
aligned_f32mat3x3 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat3x4 ,
aligned_f32mat3x4 ,
16  
)
+
+ +

Single-precision floating-point aligned 3x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat4x2 ,
aligned_f32mat4x2 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x2 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat4x3 ,
aligned_f32mat4x3 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32mat4x4 ,
aligned_f32mat4x4 ,
16  
)
+
+ +

Single-precision floating-point aligned 4x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat2x2 ,
aligned_f64mat2 ,
32  
)
+
+ +

Double-precision floating-point aligned 1x1 matrix.

+
See also
GLM_GTX_type_aligned Double-precision floating-point aligned 2x2 matrix.
+
+GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat3x3 ,
aligned_f64mat3 ,
32  
)
+
+ +

Double-precision floating-point aligned 3x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat4x4 ,
aligned_f64mat4 ,
32  
)
+
+ +

Double-precision floating-point aligned 4x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat2x2 ,
aligned_f64mat2x2 ,
32  
)
+
+ +

Double-precision floating-point aligned 1x1 matrix.

+
See also
GLM_GTX_type_aligned Double-precision floating-point aligned 2x2 matrix.
+
+GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat2x3 ,
aligned_f64mat2x3 ,
32  
)
+
+ +

Double-precision floating-point aligned 2x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat2x4 ,
aligned_f64mat2x4 ,
32  
)
+
+ +

Double-precision floating-point aligned 2x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat3x2 ,
aligned_f64mat3x2 ,
32  
)
+
+ +

Double-precision floating-point aligned 3x2 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat3x3 ,
aligned_f64mat3x3 ,
32  
)
+
+ +

Double-precision floating-point aligned 3x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat3x4 ,
aligned_f64mat3x4 ,
32  
)
+
+ +

Double-precision floating-point aligned 3x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat4x2 ,
aligned_f64mat4x2 ,
32  
)
+
+ +

Double-precision floating-point aligned 4x2 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat4x3 ,
aligned_f64mat4x3 ,
32  
)
+
+ +

Double-precision floating-point aligned 4x3 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64mat4x4 ,
aligned_f64mat4x4 ,
32  
)
+
+ +

Double-precision floating-point aligned 4x4 matrix.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (quat ,
aligned_quat ,
16  
)
+
+ +

Single-precision floating-point aligned quaternion.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (fquat ,
aligned_fquat ,
16  
)
+
+ +

Single-precision floating-point aligned quaternion.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (dquat ,
aligned_dquat ,
32  
)
+
+ +

Double-precision floating-point aligned quaternion.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f32quat ,
aligned_f32quat ,
16  
)
+
+ +

Single-precision floating-point aligned quaternion.

+
See also
GLM_GTX_type_aligned
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (f64quat ,
aligned_f64quat ,
32  
)
+
+ +

Double-precision floating-point aligned quaternion.

+
See also
GLM_GTX_type_aligned
@@ -121,7 +7805,7 @@ Functions diff --git a/doc/api/a00239.html b/doc/api/a00239.html new file mode 100644 index 00000000..7b799024 --- /dev/null +++ b/doc/api/a00239.html @@ -0,0 +1,163 @@ + + + + + + +0.9.7: GLM_GTX_vector_angle + + + + + + +
+
+ + + + + + + +
+
0.9.7 +
+
+
+ + + +
+
+ +
+
GLM_GTX_vector_angle
+
+
+ + + + + + + + + + + +

+Functions

template<typename vecType >
GLM_FUNC_DECL vecType::value_type angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T orientedAngle (tvec2< T, P > const &x, tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T orientedAngle (tvec3< T, P > const &x, tvec3< T, P > const &y, tvec3< T, P > const &ref)
 
+

Detailed Description

+

Compute angle between vectors.

+

<glm/gtx/vector_angle.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType::value_type glm::angle (vecType const & x,
vecType const & y 
)
+
+ +

Returns the absolute angle between two vectors Parameters need to be normalized.

+
See also
GLM_GTX_vector_angle extension
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::orientedAngle (tvec2< T, P > const & x,
tvec2< T, P > const & y 
)
+
+ +

Returns the oriented angle between two 2d vectors Parameters need to be normalized.

+
See also
GLM_GTX_vector_angle extension.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::orientedAngle (tvec3< T, P > const & x,
tvec3< T, P > const & y,
tvec3< T, P > const & ref 
)
+
+ +

Returns the oriented angle between two 3d vectors based from a reference axis.

+

Parameters need to be normalized.

See also
GLM_GTX_vector_angle extension.
+ +
+
+
+ + + + diff --git a/doc/api/a00240.html b/doc/api/a00240.html new file mode 100644 index 00000000..3ac8e9de --- /dev/null +++ b/doc/api/a00240.html @@ -0,0 +1,271 @@ + + + + + + +0.9.7: GLM_GTX_vector_query + + + + + + +
+
+ + + + + + + +
+
0.9.7 +
+
+
+ + + +
+
+ +
+
GLM_GTX_vector_query
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNull (vecType< T, P > const &v, T const &epsilon)
 
+

Detailed Description

+

Query informations of vector types.

+

<glm/gtx/vector_query.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::areCollinear (vecType< T, P > const & v0,
vecType< T, P > const & v1,
T const & epsilon 
)
+
+ +

Check whether two vectors are collinears.

+
See also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::areOrthogonal (vecType< T, P > const & v0,
vecType< T, P > const & v1,
T const & epsilon 
)
+
+ +

Check whether two vectors are orthogonals.

+
See also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::areOrthonormal (vecType< T, P > const & v0,
vecType< T, P > const & v1,
T const & epsilon 
)
+
+ +

Check whether two vectors are orthonormal.

+
See also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::isCompNull (vecType< T, P > const & v,
T const & epsilon 
)
+
+ +

Check whether a each component of a vector is null.

+
See also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::isNormalized (vecType< T, P > const & v,
T const & epsilon 
)
+
+ +

Check whether a vector is normalized.

+
See also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::isNull (vecType< T, P > const & v,
T const & epsilon 
)
+
+ +

Check whether a vector is null.

+
See also
GLM_GTX_vector_query extensions.
+ +
+
+
+ + + + diff --git a/doc/api/a00241.html b/doc/api/a00241.html new file mode 100644 index 00000000..133b8e4c --- /dev/null +++ b/doc/api/a00241.html @@ -0,0 +1,149 @@ + + + + + + +0.9.7: GLM_GTX_wrap + + + + + + +
+
+ + + + + + + +
+
0.9.7 +
+
+
+ + + +
+ +
+ + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorClamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 
+

Detailed Description

+

Wrapping mode of texture coordinates.

+

<glm/gtx/wrap.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::clamp (genType const & Texcoord)
+
+ +

Simulate GL_CLAMP OpenGL wrap mode.

+
See also
GLM_GTX_wrap extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::mirrorClamp (genType const & Texcoord)
+
+ +

Simulate GL_MIRRORED_REPEAT OpenGL wrap mode.

+
See also
GLM_GTX_wrap extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::mirrorRepeat (genType const & Texcoord)
+
+ +

Simulate GL_MIRROR_REPEAT OpenGL wrap mode.

+
See also
GLM_GTX_wrap extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::repeat (genType const & Texcoord)
+
+ +

Simulate GL_REPEAT OpenGL wrap mode.

+
See also
GLM_GTX_wrap extension.
+ +
+
+
+ + + + diff --git a/doc/api/ftv2mlastnode.png b/doc/api/arrowdown.png similarity index 100% rename from doc/api/ftv2mlastnode.png rename to doc/api/arrowdown.png diff --git a/doc/api/ftv2plastnode.png b/doc/api/arrowright.png similarity index 100% rename from doc/api/ftv2plastnode.png rename to doc/api/arrowright.png diff --git a/doc/api/dir_0c6652232a835be54bedd6cfd7502504.html b/doc/api/dir_1f76e953200861345293ade84ac7fb6c.html similarity index 74% rename from doc/api/dir_0c6652232a835be54bedd6cfd7502504.html rename to doc/api/dir_1f76e953200861345293ade84ac7fb6c.html index 731c6f64..dc01ef2d 100644 --- a/doc/api/dir_0c6652232a835be54bedd6cfd7502504.html +++ b/doc/api/dir_1f76e953200861345293ade84ac7fb6c.html @@ -3,8 +3,8 @@ - -0.9.6: G-Truc Directory Reference + +0.9.7: G-Truc Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -47,7 +47,7 @@ - +

Directories

directory  glm
directory  glm
 
@@ -55,7 +55,7 @@ Directories diff --git a/doc/api/dir_885cc87fac2d91e269af0a5a959fa5f6.html b/doc/api/dir_275089585c7fc1b5fd5d7d42c69cb1da.html similarity index 78% rename from doc/api/dir_885cc87fac2d91e269af0a5a959fa5f6.html rename to doc/api/dir_275089585c7fc1b5fd5d7d42c69cb1da.html index cb56305c..9b004f61 100644 --- a/doc/api/dir_885cc87fac2d91e269af0a5a959fa5f6.html +++ b/doc/api/dir_275089585c7fc1b5fd5d7d42c69cb1da.html @@ -3,8 +3,8 @@ - -0.9.6: E: Directory Reference + +0.9.7: D: Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
-
E: Directory Reference
+
D: Directory Reference
- +

Directories

directory  Source
directory  Source
 
@@ -55,7 +55,7 @@ Directories diff --git a/doc/api/dir_e6d11964c5662039c68343b35ca5648c.html b/doc/api/dir_577c788b67d63fb3b3b5752bd495d0f2.html similarity index 67% rename from doc/api/dir_e6d11964c5662039c68343b35ca5648c.html rename to doc/api/dir_577c788b67d63fb3b3b5752bd495d0f2.html index e4ec16e9..1e3824da 100644 --- a/doc/api/dir_e6d11964c5662039c68343b35ca5648c.html +++ b/doc/api/dir_577c788b67d63fb3b3b5752bd495d0f2.html @@ -3,8 +3,8 @@ - -0.9.6: doc Directory Reference + +0.9.7: doc Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -47,9 +47,9 @@ - + - +

Files

file  man.doxy [code]
file  man.doxy [code]
 
file  pages.doxy [code]
file  pages.doxy [code]
 
@@ -57,7 +57,7 @@ Files diff --git a/doc/api/dir_5cf96241cdcf6779b80e104875f9716f.html b/doc/api/dir_5ce58d942b2d0776e17a9a58abc01e04.html similarity index 64% rename from doc/api/dir_5cf96241cdcf6779b80e104875f9716f.html rename to doc/api/dir_5ce58d942b2d0776e17a9a58abc01e04.html index f33d474c..664a6739 100644 --- a/doc/api/dir_5cf96241cdcf6779b80e104875f9716f.html +++ b/doc/api/dir_5ce58d942b2d0776e17a9a58abc01e04.html @@ -3,8 +3,8 @@ - -0.9.6: glm Directory Reference + +0.9.7: glm Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -47,60 +47,60 @@ - + - + - +

Directories

directory  detail
directory  detail
 
directory  gtc
directory  gtc
 
directory  gtx
directory  gtx
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Files

file  common.hpp [code]
file  common.hpp [code]
 
file  exponential.hpp [code]
file  exponential.hpp [code]
 
file  ext.hpp [code]
file  ext.hpp [code]
 
file  fwd.hpp [code]
file  fwd.hpp [code]
 
file  geometric.hpp [code]
file  geometric.hpp [code]
 
file  glm.hpp [code]
file  glm.hpp [code]
 
file  integer.hpp [code]
file  integer.hpp [code]
 
file  mat2x2.hpp [code]
file  mat2x2.hpp [code]
 
file  mat2x3.hpp [code]
file  mat2x3.hpp [code]
 
file  mat2x4.hpp [code]
file  mat2x4.hpp [code]
 
file  mat3x2.hpp [code]
file  mat3x2.hpp [code]
 
file  mat3x3.hpp [code]
file  mat3x3.hpp [code]
 
file  mat3x4.hpp [code]
file  mat3x4.hpp [code]
 
file  mat4x2.hpp [code]
file  mat4x2.hpp [code]
 
file  mat4x3.hpp [code]
file  mat4x3.hpp [code]
 
file  mat4x4.hpp [code]
file  mat4x4.hpp [code]
 
file  matrix.hpp [code]
file  matrix.hpp [code]
 
file  packing.hpp [code]
file  packing.hpp [code]
 
file  trigonometric.hpp [code]
file  trigonometric.hpp [code]
 
file  vec2.hpp [code]
file  vec2.hpp [code]
 
file  vec3.hpp [code]
file  vec3.hpp [code]
 
file  vec4.hpp [code]
file  vec4.hpp [code]
 
file  vector_relational.hpp [code]
file  vector_relational.hpp [code]
 
@@ -108,7 +108,7 @@ Files diff --git a/doc/api/dir_153b03dd71a7bff437c38ec53cb2e014.html b/doc/api/dir_7b98f88bffbed4b390b5f8f520d9c08e.html similarity index 78% rename from doc/api/dir_153b03dd71a7bff437c38ec53cb2e014.html rename to doc/api/dir_7b98f88bffbed4b390b5f8f520d9c08e.html index 23cc25e9..17b55007 100644 --- a/doc/api/dir_153b03dd71a7bff437c38ec53cb2e014.html +++ b/doc/api/dir_7b98f88bffbed4b390b5f8f520d9c08e.html @@ -3,8 +3,8 @@ - -0.9.6: Source Directory Reference + +0.9.7: Source Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -47,7 +47,7 @@ - +

Directories

directory  G-Truc
directory  G-Truc
 
@@ -55,7 +55,7 @@ Directories diff --git a/doc/api/dir_5d3642ea3c7f2dae4a957f2cf472c9ae.html b/doc/api/dir_8d176b5b7dd0ae42ea6876078f2bde49.html similarity index 61% rename from doc/api/dir_5d3642ea3c7f2dae4a957f2cf472c9ae.html rename to doc/api/dir_8d176b5b7dd0ae42ea6876078f2bde49.html index e0cf15e9..1ffb8ee4 100644 --- a/doc/api/dir_5d3642ea3c7f2dae4a957f2cf472c9ae.html +++ b/doc/api/dir_8d176b5b7dd0ae42ea6876078f2bde49.html @@ -3,8 +3,8 @@ - -0.9.6: gtx Directory Reference + +0.9.7: gtx Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -53,115 +53,115 @@ Files   file  closest_point.hpp [code]   -file  color_space.hpp [code] +file  gtx/color_space.hpp [code]   -file  color_space_YCoCg.hpp [code] +file  color_space_YCoCg.hpp [code]   -file  gtx/common.hpp [code] +file  gtx/common.hpp [code]   -file  compatibility.hpp [code] +file  compatibility.hpp [code]   -file  component_wise.hpp [code] +file  component_wise.hpp [code]   -file  dual_quaternion.hpp [code] +file  dual_quaternion.hpp [code]   -file  euler_angles.hpp [code] +file  euler_angles.hpp [code]   -file  extend.hpp [code] +file  extend.hpp [code]   -file  extented_min_max.hpp [code] +file  extented_min_max.hpp [code]   -file  fast_exponential.hpp [code] +file  fast_exponential.hpp [code]   -file  fast_square_root.hpp [code] +file  fast_square_root.hpp [code]   -file  fast_trigonometry.hpp [code] +file  fast_trigonometry.hpp [code]   -file  gradient_paint.hpp [code] +file  gradient_paint.hpp [code]   -file  handed_coordinate_space.hpp [code] +file  handed_coordinate_space.hpp [code]   -file  gtx/integer.hpp [code] +file  hash.hpp [code]   -file  intersect.hpp [code] +file  gtx/integer.hpp [code]   -file  io.hpp [code] +file  intersect.hpp [code]   -file  log_base.hpp [code] +file  io.hpp [code]   -file  matrix_cross_product.hpp [code] +file  log_base.hpp [code]   -file  matrix_decompose.hpp [code] +file  matrix_cross_product.hpp [code]   -file  matrix_interpolation.hpp [code] +file  matrix_decompose.hpp [code]   -file  matrix_major_storage.hpp [code] +file  matrix_interpolation.hpp [code]   -file  matrix_operation.hpp [code] +file  matrix_major_storage.hpp [code]   -file  matrix_query.hpp [code] +file  matrix_operation.hpp [code]   -file  matrix_transform_2d.hpp [code] +file  matrix_query.hpp [code]   -file  mixed_product.hpp [code] +file  matrix_transform_2d.hpp [code]   -file  multiple.hpp [code] +file  mixed_product.hpp [code]   -file  norm.hpp [code] +file  norm.hpp [code]   -file  normal.hpp [code] +file  normal.hpp [code]   -file  normalize_dot.hpp [code] +file  normalize_dot.hpp [code]   -file  number_precision.hpp [code] +file  number_precision.hpp [code]   -file  optimum_pow.hpp [code] +file  optimum_pow.hpp [code]   -file  orthonormalize.hpp [code] +file  orthonormalize.hpp [code]   -file  perpendicular.hpp [code] +file  perpendicular.hpp [code]   -file  polar_coordinates.hpp [code] +file  polar_coordinates.hpp [code]   -file  projection.hpp [code] +file  projection.hpp [code]   -file  gtx/quaternion.hpp [code] +file  gtx/quaternion.hpp [code]   -file  range.hpp [code] +file  range.hpp [code]   -file  raw_data.hpp [code] +file  raw_data.hpp [code]   -file  rotate_normalized_axis.hpp [code] +file  rotate_normalized_axis.hpp [code]   -file  rotate_vector.hpp [code] +file  rotate_vector.hpp [code]   -file  scalar_multiplication.hpp [code] +file  scalar_multiplication.hpp [code]   -file  scalar_relational.hpp [code] +file  scalar_relational.hpp [code]   -file  simd_mat4.hpp [code] +file  simd_mat4.hpp [code]   -file  simd_quat.hpp [code] +file  simd_quat.hpp [code]   -file  simd_vec4.hpp [code] +file  simd_vec4.hpp [code]   -file  spline.hpp [code] +file  spline.hpp [code]   -file  std_based_type.hpp [code] +file  std_based_type.hpp [code]   -file  string_cast.hpp [code] +file  string_cast.hpp [code]   -file  transform.hpp [code] +file  transform.hpp [code]   -file  transform2.hpp [code] +file  transform2.hpp [code]   -file  type_aligned.hpp [code] +file  type_aligned.hpp [code]   -file  vector_angle.hpp [code] +file  vector_angle.hpp [code]   -file  vector_query.hpp [code] +file  vector_query.hpp [code]   -file  wrap.hpp [code] +file  wrap.hpp [code]  
@@ -169,7 +169,7 @@ Files diff --git a/doc/api/dir_8aa733b201d3a9f98631fbccc86ae6c7.html b/doc/api/dir_9440d7c11b99dcd7e5d369c7cf9802fe.html similarity index 55% rename from doc/api/dir_8aa733b201d3a9f98631fbccc86ae6c7.html rename to doc/api/dir_9440d7c11b99dcd7e5d369c7cf9802fe.html index 255e5882..4dc04bc9 100644 --- a/doc/api/dir_8aa733b201d3a9f98631fbccc86ae6c7.html +++ b/doc/api/dir_9440d7c11b99dcd7e5d369c7cf9802fe.html @@ -3,8 +3,8 @@ - -0.9.6: gtc Directory Reference + +0.9.7: gtc Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -49,39 +49,41 @@ Files file  bitfield.hpp [code]   -file  constants.hpp [code] +file  gtc/color_space.hpp [code]   -file  epsilon.hpp [code] +file  constants.hpp [code]   -file  gtc/integer.hpp [code] +file  epsilon.hpp [code]   -file  matrix_access.hpp [code] +file  gtc/integer.hpp [code]   -file  matrix_integer.hpp [code] +file  matrix_access.hpp [code]   -file  matrix_inverse.hpp [code] +file  matrix_integer.hpp [code]   -file  matrix_transform.hpp [code] +file  matrix_inverse.hpp [code]   -file  noise.hpp [code] +file  matrix_transform.hpp [code]   -file  gtc/packing.hpp [code] +file  noise.hpp [code]   -file  gtc/quaternion.hpp [code] +file  gtc/packing.hpp [code]   -file  random.hpp [code] +file  gtc/quaternion.hpp [code]   -file  reciprocal.hpp [code] +file  random.hpp [code]   -file  round.hpp [code] +file  reciprocal.hpp [code]   -file  type_precision.hpp [code] +file  round.hpp [code]   -file  type_ptr.hpp [code] +file  type_precision.hpp [code]   -file  ulp.hpp [code] +file  type_ptr.hpp [code]   -file  vec1.hpp [code] +file  ulp.hpp [code] +  +file  vec1.hpp [code]  
@@ -89,7 +91,7 @@ Files diff --git a/doc/api/dir_e2c7faa62a52820b5be8795affd6e495.html b/doc/api/dir_e29b03b892e0e25920d021a614d4db9b.html similarity index 71% rename from doc/api/dir_e2c7faa62a52820b5be8795affd6e495.html rename to doc/api/dir_e29b03b892e0e25920d021a614d4db9b.html index 33e51156..6d9c3976 100644 --- a/doc/api/dir_e2c7faa62a52820b5be8795affd6e495.html +++ b/doc/api/dir_e29b03b892e0e25920d021a614d4db9b.html @@ -3,8 +3,8 @@ - -0.9.6: glm Directory Reference + +0.9.7: glm Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -47,9 +47,9 @@ - + - +

Directories

directory  doc
directory  doc
 
directory  glm
directory  glm
 
@@ -57,7 +57,7 @@ Directories diff --git a/doc/api/dir_9b22c367036d391e575f56d067c9855b.html b/doc/api/dir_e529a619cfdec1fa4c331fb042fd332f.html similarity index 70% rename from doc/api/dir_9b22c367036d391e575f56d067c9855b.html rename to doc/api/dir_e529a619cfdec1fa4c331fb042fd332f.html index ec6bcf98..aaee2e3c 100644 --- a/doc/api/dir_9b22c367036d391e575f56d067c9855b.html +++ b/doc/api/dir_e529a619cfdec1fa4c331fb042fd332f.html @@ -3,8 +3,8 @@ - -0.9.6: detail Directory Reference + +0.9.7: detail Directory Reference @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +
@@ -59,79 +59,79 @@ Files   file  _vectorize.hpp [code]   -file  func_common.hpp [code] +file  func_common.hpp [code]   -file  func_exponential.hpp [code] +file  func_exponential.hpp [code]   -file  func_geometric.hpp [code] +file  func_geometric.hpp [code]   -file  func_integer.hpp [code] +file  func_integer.hpp [code]   -file  func_matrix.hpp [code] +file  func_matrix.hpp [code]   -file  func_noise.hpp [code] +file  func_noise.hpp [code]   -file  func_packing.hpp [code] +file  func_packing.hpp [code]   -file  func_trigonometric.hpp [code] +file  func_trigonometric.hpp [code]   -file  func_vector_relational.hpp [code] +file  func_vector_relational.hpp [code]   -file  intrinsic_common.hpp [code] +file  intrinsic_common.hpp [code]   -file  intrinsic_exponential.hpp [code] +file  intrinsic_exponential.hpp [code]   -file  intrinsic_geometric.hpp [code] +file  intrinsic_geometric.hpp [code]   -file  intrinsic_integer.hpp [code] +file  intrinsic_integer.hpp [code]   -file  intrinsic_matrix.hpp [code] +file  intrinsic_matrix.hpp [code]   -file  intrinsic_trigonometric.hpp [code] +file  intrinsic_trigonometric.hpp [code]   -file  intrinsic_vector_relational.hpp [code] +file  intrinsic_vector_relational.hpp [code]   -file  precision.hpp [code] +file  precision.hpp [code]   -file  setup.hpp [code] +file  setup.hpp [code]   -file  type_float.hpp [code] +file  type_float.hpp [code]   -file  type_gentype.hpp [code] +file  type_gentype.hpp [code]   -file  type_half.hpp [code] +file  type_half.hpp [code]   -file  type_int.hpp [code] +file  type_int.hpp [code]   -file  type_mat.hpp [code] +file  type_mat.hpp [code]   -file  type_mat2x2.hpp [code] +file  type_mat2x2.hpp [code]   -file  type_mat2x3.hpp [code] +file  type_mat2x3.hpp [code]   -file  type_mat2x4.hpp [code] +file  type_mat2x4.hpp [code]   -file  type_mat3x2.hpp [code] +file  type_mat3x2.hpp [code]   -file  type_mat3x3.hpp [code] +file  type_mat3x3.hpp [code]   -file  type_mat3x4.hpp [code] +file  type_mat3x4.hpp [code]   -file  type_mat4x2.hpp [code] +file  type_mat4x2.hpp [code]   -file  type_mat4x3.hpp [code] +file  type_mat4x3.hpp [code]   -file  type_mat4x4.hpp [code] +file  type_mat4x4.hpp [code]   -file  type_vec.hpp [code] +file  type_vec.hpp [code]   -file  type_vec1.hpp [code] +file  type_vec1.hpp [code]   -file  type_vec2.hpp [code] +file  type_vec2.hpp [code]   -file  type_vec3.hpp [code] +file  type_vec3.hpp [code]   -file  type_vec4.hpp [code] +file  type_vec4.hpp [code]  
@@ -139,7 +139,7 @@ Files diff --git a/doc/api/ftv2doc.png b/doc/api/doc.png similarity index 100% rename from doc/api/ftv2doc.png rename to doc/api/doc.png diff --git a/doc/api/files.html b/doc/api/files.html index bcbb6bf4..8000ce37 100644 --- a/doc/api/files.html +++ b/doc/api/files.html @@ -3,8 +3,8 @@ - -0.9.6: File List + +0.9.7: File List @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- + @@ -198,7 +199,7 @@ diff --git a/doc/api/ftv2folderclosed.png b/doc/api/folderclosed.png similarity index 100% rename from doc/api/ftv2folderclosed.png rename to doc/api/folderclosed.png diff --git a/doc/api/ftv2folderopen.png b/doc/api/folderopen.png similarity index 100% rename from doc/api/ftv2folderopen.png rename to doc/api/folderopen.png diff --git a/doc/api/ftv2blank.png b/doc/api/ftv2blank.png deleted file mode 100644 index 63c605bb..00000000 Binary files a/doc/api/ftv2blank.png and /dev/null differ diff --git a/doc/api/ftv2lastnode.png b/doc/api/ftv2lastnode.png deleted file mode 100644 index 63c605bb..00000000 Binary files a/doc/api/ftv2lastnode.png and /dev/null differ diff --git a/doc/api/ftv2link.png b/doc/api/ftv2link.png deleted file mode 100644 index 17edabff..00000000 Binary files a/doc/api/ftv2link.png and /dev/null differ diff --git a/doc/api/ftv2mnode.png b/doc/api/ftv2mnode.png deleted file mode 100644 index 0b63f6d3..00000000 Binary files a/doc/api/ftv2mnode.png and /dev/null differ diff --git a/doc/api/ftv2node.png b/doc/api/ftv2node.png deleted file mode 100644 index 63c605bb..00000000 Binary files a/doc/api/ftv2node.png and /dev/null differ diff --git a/doc/api/ftv2pnode.png b/doc/api/ftv2pnode.png deleted file mode 100644 index c6ee22f9..00000000 Binary files a/doc/api/ftv2pnode.png and /dev/null differ diff --git a/doc/api/ftv2vertline.png b/doc/api/ftv2vertline.png deleted file mode 100644 index 63c605bb..00000000 Binary files a/doc/api/ftv2vertline.png and /dev/null differ diff --git a/doc/api/index.html b/doc/api/index.html index 298508b3..505b17dd 100644 --- a/doc/api/index.html +++ b/doc/api/index.html @@ -3,8 +3,8 @@ - -0.9.6: OpenGL Mathematics + +0.9.7: OpenGL Mathematics @@ -17,8 +17,8 @@ Logo - -
0.9.6 + +
0.9.7
@@ -26,7 +26,7 @@
- +