diff --git a/doc/api/a00001.html b/doc/api/a00001.html new file mode 100644 index 00000000..ff3675d4 --- /dev/null +++ b/doc/api/a00001.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: _features.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
_features.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:

+

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
2013-02-20 / 2013-02-20
+
Author
Christophe Riccio
+ +

Definition in file _features.hpp.

+
+ + + + diff --git a/doc/api/a00001_source.html b/doc/api/a00001_source.html new file mode 100644 index 00000000..eb6f4028 --- /dev/null +++ b/doc/api/a00001_source.html @@ -0,0 +1,457 @@ + + + + + + +0.9.6: _features.hpp Source File + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
_features.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 // #define GLM_CXX98_EXCEPTIONS
+
32 // #define GLM_CXX98_RTTI
+
33 
+
34 // #define GLM_CXX11_RVALUE_REFERENCES
+
35 // Rvalue references - GCC 4.3
+
36 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
+
37 
+
38 // GLM_CXX11_TRAILING_RETURN
+
39 // Rvalue references for *this - GCC not supported
+
40 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
+
41 
+
42 // GLM_CXX11_NONSTATIC_MEMBER_INIT
+
43 // Initialization of class objects by rvalues - GCC any
+
44 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html
+
45 
+
46 // GLM_CXX11_NONSTATIC_MEMBER_INIT
+
47 // Non-static data member initializers - GCC 4.7
+
48 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm
+
49 
+
50 // #define GLM_CXX11_VARIADIC_TEMPLATE
+
51 // Variadic templates - GCC 4.3
+
52 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
+
53 
+
54 //
+
55 // Extending variadic template template parameters - GCC 4.4
+
56 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf
+
57 
+
58 // #define GLM_CXX11_GENERALIZED_INITIALIZERS
+
59 // Initializer lists - GCC 4.4
+
60 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
+
61 
+
62 // #define GLM_CXX11_STATIC_ASSERT
+
63 // Static assertions - GCC 4.3
+
64 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
+
65 
+
66 // #define GLM_CXX11_AUTO_TYPE
+
67 // auto-typed variables - GCC 4.4
+
68 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
+
69 
+
70 // #define GLM_CXX11_AUTO_TYPE
+
71 // Multi-declarator auto - GCC 4.4
+
72 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf
+
73 
+
74 // #define GLM_CXX11_AUTO_TYPE
+
75 // Removal of auto as a storage-class specifier - GCC 4.4
+
76 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm
+
77 
+
78 // #define GLM_CXX11_AUTO_TYPE
+
79 // New function declarator syntax - GCC 4.4
+
80 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
+
81 
+
82 // #define GLM_CXX11_LAMBDAS
+
83 // New wording for C++0x lambdas - GCC 4.5
+
84 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf
+
85 
+
86 // #define GLM_CXX11_DECLTYPE
+
87 // Declared type of an expression - GCC 4.3
+
88 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
+
89 
+
90 //
+
91 // Right angle brackets - GCC 4.3
+
92 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
+
93 
+
94 //
+
95 // Default template arguments for function templates DR226 GCC 4.3
+
96 // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
+
97 
+
98 //
+
99 // Solving the SFINAE problem for expressions DR339 GCC 4.4
+
100 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html
+
101 
+
102 // #define GLM_CXX11_ALIAS_TEMPLATE
+
103 // Template aliases N2258 GCC 4.7
+
104 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
+
105 
+
106 //
+
107 // Extern templates N1987 Yes
+
108 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
+
109 
+
110 // #define GLM_CXX11_NULLPTR
+
111 // Null pointer constant N2431 GCC 4.6
+
112 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
+
113 
+
114 // #define GLM_CXX11_STRONG_ENUMS
+
115 // Strongly-typed enums N2347 GCC 4.4
+
116 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
+
117 
+
118 //
+
119 // Forward declarations for enums N2764 GCC 4.6
+
120 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
+
121 
+
122 //
+
123 // Generalized attributes N2761 GCC 4.8
+
124 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
+
125 
+
126 //
+
127 // Generalized constant expressions N2235 GCC 4.6
+
128 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
+
129 
+
130 //
+
131 // Alignment support N2341 GCC 4.8
+
132 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
+
133 
+
134 // #define GLM_CXX11_DELEGATING_CONSTRUCTORS
+
135 // Delegating constructors N1986 GCC 4.7
+
136 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
+
137 
+
138 //
+
139 // Inheriting constructors N2540 GCC 4.8
+
140 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
+
141 
+
142 // #define GLM_CXX11_EXPLICIT_CONVERSIONS
+
143 // Explicit conversion operators N2437 GCC 4.5
+
144 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
+
145 
+
146 //
+
147 // New character types N2249 GCC 4.4
+
148 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html
+
149 
+
150 //
+
151 // Unicode string literals N2442 GCC 4.5
+
152 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
153 
+
154 //
+
155 // Raw string literals N2442 GCC 4.5
+
156 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
157 
+
158 //
+
159 // Universal character name literals N2170 GCC 4.5
+
160 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html
+
161 
+
162 // #define GLM_CXX11_USER_LITERALS
+
163 // User-defined literals N2765 GCC 4.7
+
164 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
+
165 
+
166 //
+
167 // Standard Layout Types N2342 GCC 4.5
+
168 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm
+
169 
+
170 // #define GLM_CXX11_DEFAULTED_FUNCTIONS
+
171 // #define GLM_CXX11_DELETED_FUNCTIONS
+
172 // Defaulted and deleted functions N2346 GCC 4.4
+
173 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
+
174 
+
175 //
+
176 // Extended friend declarations N1791 GCC 4.7
+
177 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
+
178 
+
179 //
+
180 // Extending sizeof N2253 GCC 4.4
+
181 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
+
182 
+
183 // #define GLM_CXX11_INLINE_NAMESPACES
+
184 // Inline namespaces N2535 GCC 4.4
+
185 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
+
186 
+
187 // #define GLM_CXX11_UNRESTRICTED_UNIONS
+
188 // Unrestricted unions N2544 GCC 4.6
+
189 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
+
190 
+
191 // #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
+
192 // Local and unnamed types as template arguments N2657 GCC 4.5
+
193 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
+
194 
+
195 // #define GLM_CXX11_RANGE_FOR
+
196 // Range-based for N2930 GCC 4.6
+
197 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html
+
198 
+
199 // #define GLM_CXX11_OVERRIDE_CONTROL
+
200 // Explicit virtual overrides N2928 N3206 N3272 GCC 4.7
+
201 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
+
202 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
+
203 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
+
204 
+
205 //
+
206 // Minimal support for garbage collection and reachability-based leak detection N2670 No
+
207 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm
+
208 
+
209 // #define GLM_CXX11_NOEXCEPT
+
210 // Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)
+
211 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
+
212 
+
213 //
+
214 // Defining move special member functions N3053 GCC 4.6
+
215 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
+
216 
+
217 //
+
218 // Sequence points N2239 Yes
+
219 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
+
220 
+
221 //
+
222 // Atomic operations N2427 GCC 4.4
+
223 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
+
224 
+
225 //
+
226 // Strong Compare and Exchange N2748 GCC 4.5
+
227 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html
+
228 
+
229 //
+
230 // Bidirectional Fences N2752 GCC 4.8
+
231 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm
+
232 
+
233 //
+
234 // Memory model N2429 GCC 4.8
+
235 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm
+
236 
+
237 //
+
238 // Data-dependency ordering: atomics and memory model N2664 GCC 4.4
+
239 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm
+
240 
+
241 //
+
242 // Propagating exceptions N2179 GCC 4.4
+
243 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html
+
244 
+
245 //
+
246 // Abandoning a process and at_quick_exit N2440 GCC 4.8
+
247 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm
+
248 
+
249 //
+
250 // Allow atomics use in signal handlers N2547 Yes
+
251 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm
+
252 
+
253 //
+
254 // Thread-local storage N2659 GCC 4.8
+
255 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
+
256 
+
257 //
+
258 // Dynamic initialization and destruction with concurrency N2660 GCC 4.3
+
259 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm
+
260 
+
261 //
+
262 // __func__ predefined identifier N2340 GCC 4.3
+
263 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
+
264 
+
265 //
+
266 // C99 preprocessor N1653 GCC 4.3
+
267 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
+
268 
+
269 //
+
270 // long long N1811 GCC 4.3
+
271 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
+
272 
+
273 //
+
274 // Extended integral types N1988 Yes
+
275 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf
+
276 
+
277 #if(GLM_COMPILER & GLM_COMPILER_GCC)
+
278 
+
279 # if(GLM_COMPILER >= GLM_COMPILER_GCC43)
+
280 # define GLM_CXX11_STATIC_ASSERT
+
281 # endif
+
282 
+
283 #elif(GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM))
+
284 # if(__has_feature(cxx_exceptions))
+
285 # define GLM_CXX98_EXCEPTIONS
+
286 # endif
+
287 
+
288 # if(__has_feature(cxx_rtti))
+
289 # define GLM_CXX98_RTTI
+
290 # endif
+
291 
+
292 # if(__has_feature(cxx_access_control_sfinae))
+
293 # define GLM_CXX11_ACCESS_CONTROL_SFINAE
+
294 # endif
+
295 
+
296 # if(__has_feature(cxx_alias_templates))
+
297 # define GLM_CXX11_ALIAS_TEMPLATE
+
298 # endif
+
299 
+
300 # if(__has_feature(cxx_alignas))
+
301 # define GLM_CXX11_ALIGNAS
+
302 # endif
+
303 
+
304 # if(__has_feature(cxx_attributes))
+
305 # define GLM_CXX11_ATTRIBUTES
+
306 # endif
+
307 
+
308 # if(__has_feature(cxx_constexpr))
+
309 # define GLM_CXX11_CONSTEXPR
+
310 # endif
+
311 
+
312 # if(__has_feature(cxx_decltype))
+
313 # define GLM_CXX11_DECLTYPE
+
314 # endif
+
315 
+
316 # if(__has_feature(cxx_default_function_template_args))
+
317 # define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS
+
318 # endif
+
319 
+
320 # if(__has_feature(cxx_defaulted_functions))
+
321 # define GLM_CXX11_DEFAULTED_FUNCTIONS
+
322 # endif
+
323 
+
324 # if(__has_feature(cxx_delegating_constructors))
+
325 # define GLM_CXX11_DELEGATING_CONSTRUCTORS
+
326 # endif
+
327 
+
328 # if(__has_feature(cxx_deleted_functions))
+
329 # define GLM_CXX11_DELETED_FUNCTIONS
+
330 # endif
+
331 
+
332 # if(__has_feature(cxx_explicit_conversions))
+
333 # define GLM_CXX11_EXPLICIT_CONVERSIONS
+
334 # endif
+
335 
+
336 # if(__has_feature(cxx_generalized_initializers))
+
337 # define GLM_CXX11_GENERALIZED_INITIALIZERS
+
338 # endif
+
339 
+
340 # if(__has_feature(cxx_implicit_moves))
+
341 # define GLM_CXX11_IMPLICIT_MOVES
+
342 # endif
+
343 
+
344 # if(__has_feature(cxx_inheriting_constructors))
+
345 # define GLM_CXX11_INHERITING_CONSTRUCTORS
+
346 # endif
+
347 
+
348 # if(__has_feature(cxx_inline_namespaces))
+
349 # define GLM_CXX11_INLINE_NAMESPACES
+
350 # endif
+
351 
+
352 # if(__has_feature(cxx_lambdas))
+
353 # define GLM_CXX11_LAMBDAS
+
354 # endif
+
355 
+
356 # if(__has_feature(cxx_local_type_template_args))
+
357 # define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
+
358 # endif
+
359 
+
360 # if(__has_feature(cxx_noexcept))
+
361 # define GLM_CXX11_NOEXCEPT
+
362 # endif
+
363 
+
364 # if(__has_feature(cxx_nonstatic_member_init))
+
365 # define GLM_CXX11_NONSTATIC_MEMBER_INIT
+
366 # endif
+
367 
+
368 # if(__has_feature(cxx_nullptr))
+
369 # define GLM_CXX11_NULLPTR
+
370 # endif
+
371 
+
372 # if(__has_feature(cxx_override_control))
+
373 # define GLM_CXX11_OVERRIDE_CONTROL
+
374 # endif
+
375 
+
376 # if(__has_feature(cxx_reference_qualified_functions))
+
377 # define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS
+
378 # endif
+
379 
+
380 # if(__has_feature(cxx_range_for))
+
381 # define GLM_CXX11_RANGE_FOR
+
382 # endif
+
383 
+
384 # if(__has_feature(cxx_raw_string_literals))
+
385 # define GLM_CXX11_RAW_STRING_LITERALS
+
386 # endif
+
387 
+
388 # if(__has_feature(cxx_rvalue_references))
+
389 # define GLM_CXX11_RVALUE_REFERENCES
+
390 # endif
+
391 
+
392 # if(__has_feature(cxx_static_assert))
+
393 # define GLM_CXX11_STATIC_ASSERT
+
394 # endif
+
395 
+
396 # if(__has_feature(cxx_auto_type))
+
397 # define GLM_CXX11_AUTO_TYPE
+
398 # endif
+
399 
+
400 # if(__has_feature(cxx_strong_enums))
+
401 # define GLM_CXX11_STRONG_ENUMS
+
402 # endif
+
403 
+
404 # if(__has_feature(cxx_trailing_return))
+
405 # define GLM_CXX11_TRAILING_RETURN
+
406 # endif
+
407 
+
408 # if(__has_feature(cxx_unicode_literals))
+
409 # define GLM_CXX11_UNICODE_LITERALS
+
410 # endif
+
411 
+
412 # if(__has_feature(cxx_unrestricted_unions))
+
413 # define GLM_CXX11_UNRESTRICTED_UNIONS
+
414 # endif
+
415 
+
416 # if(__has_feature(cxx_user_literals))
+
417 # define GLM_CXX11_USER_LITERALS
+
418 # endif
+
419 
+
420 # if(__has_feature(cxx_variadic_templates))
+
421 # define GLM_CXX11_VARIADIC_TEMPLATES
+
422 # endif
+
423 
+
424 #endif//(GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM))
+
+ + + + diff --git a/doc/api/a00002.html b/doc/api/a00002.html index cad062fd..bb37258b 100644 --- a/doc/api/a00002.html +++ b/doc/api/a00002.html @@ -3,8 +3,8 @@ - -GLM: Differences between GLSL and GLM core + +0.9.6: _fixes.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,36 +26,47 @@
-
GLM -  0.9.5 +
0.9.6
- + + +
-
Differences between GLSL and GLM core
+
_fixes.hpp File Reference
-

GLM comes very close to replicating GLSL, but it is not exact. Here is a list of differences between GLM and GLSL:

- + +

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:

+

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
2011-02-21 / 2011-11-22
+
Author
Christophe Riccio
+ +

Definition in file _fixes.hpp.

diff --git a/doc/api/a00002_source.html b/doc/api/a00002_source.html new file mode 100644 index 00000000..589cbc23 --- /dev/null +++ b/doc/api/a00002_source.html @@ -0,0 +1,83 @@ + + + + + + +0.9.6: _fixes.hpp Source File + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
_fixes.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #include <cmath>
+
30 
+
32 #ifdef max
+
33 #undef max
+
34 #endif
+
35 
+
37 #ifdef min
+
38 #undef min
+
39 #endif
+
40 
+
42 #ifdef isnan
+
43 #undef isnan
+
44 #endif
+
45 
+
47 #ifdef isinf
+
48 #undef isinf
+
49 #endif
+
50 
+
52 #ifdef log2
+
53 #undef log2
+
54 #endif
+
55 
+
+ + + + diff --git a/doc/api/a00148.html b/doc/api/a00003.html similarity index 71% rename from doc/api/a00148.html rename to doc/api/a00003.html index 02fd0229..77c8a3b4 100644 --- a/doc/api/a00148.html +++ b/doc/api/a00003.html @@ -3,8 +3,8 @@ - -GLM: vector_relational.hpp File Reference + +0.9.6: _noise.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,32 +41,32 @@
-
vector_relational.hpp File Reference
+
_noise.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:

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
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file vector_relational.hpp.

+

Definition in file _noise.hpp.

diff --git a/doc/api/a00003_source.html b/doc/api/a00003_source.html new file mode 100644 index 00000000..26c7cd8f --- /dev/null +++ b/doc/api/a00003_source.html @@ -0,0 +1,162 @@ + + + + + + +0.9.6: _noise.hpp Source File + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
_noise.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 namespace glm{
+
32 namespace detail
+
33 {
+
34  template <typename T>
+
35  GLM_FUNC_QUALIFIER T mod289(T const & x)
+
36  {
+
37  return x - floor(x * static_cast<T>(1.0) / static_cast<T>(289.0)) * static_cast<T>(289.0);
+
38  }
+
39 
+
40  template <typename T>
+
41  GLM_FUNC_QUALIFIER T permute(T const & x)
+
42  {
+
43  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
44  }
+
45 
+
46  template <typename T, precision P>
+
47  GLM_FUNC_QUALIFIER tvec2<T, P> permute(tvec2<T, P> const & x)
+
48  {
+
49  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
50  }
+
51 
+
52  template <typename T, precision P>
+
53  GLM_FUNC_QUALIFIER tvec3<T, P> permute(tvec3<T, P> const & x)
+
54  {
+
55  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
56  }
+
57 
+
58  template <typename T, precision P>
+
59  GLM_FUNC_QUALIFIER tvec4<T, P> permute(tvec4<T, P> const & x)
+
60  {
+
61  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
62  }
+
63 /*
+
64  template <typename T, precision P, template<typename> class vecType>
+
65  GLM_FUNC_QUALIFIER vecType<T, P> permute(vecType<T, P> const & x)
+
66  {
+
67  return mod289(((x * T(34)) + T(1)) * x);
+
68  }
+
69 */
+
70  template <typename T>
+
71  GLM_FUNC_QUALIFIER T taylorInvSqrt(T const & r)
+
72  {
+
73  return T(1.79284291400159) - T(0.85373472095314) * r;
+
74  }
+
75 
+
76  template <typename T, precision P>
+
77  GLM_FUNC_QUALIFIER tvec2<T, P> taylorInvSqrt(tvec2<T, P> const & r)
+
78  {
+
79  return T(1.79284291400159) - T(0.85373472095314) * r;
+
80  }
+
81 
+
82  template <typename T, precision P>
+
83  GLM_FUNC_QUALIFIER tvec3<T, P> taylorInvSqrt(tvec3<T, P> const & r)
+
84  {
+
85  return T(1.79284291400159) - T(0.85373472095314) * r;
+
86  }
+
87 
+
88  template <typename T, precision P>
+
89  GLM_FUNC_QUALIFIER tvec4<T, P> taylorInvSqrt(tvec4<T, P> const & r)
+
90  {
+
91  return T(1.79284291400159) - T(0.85373472095314) * r;
+
92  }
+
93 /*
+
94  template <typename T, precision P, template<typename> class vecType>
+
95  GLM_FUNC_QUALIFIER vecType<T, P> taylorInvSqrt(vecType<T, P> const & r)
+
96  {
+
97  return T(1.79284291400159) - T(0.85373472095314) * r;
+
98  }
+
99 */
+
100 
+
101  template <typename T, precision P>
+
102  GLM_FUNC_QUALIFIER tvec2<T, P> fade(tvec2<T, P> const & t)
+
103  {
+
104  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
105  }
+
106 
+
107  template <typename T, precision P>
+
108  GLM_FUNC_QUALIFIER tvec3<T, P> fade(tvec3<T, P> const & t)
+
109  {
+
110  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
111  }
+
112 
+
113  template <typename T, precision P>
+
114  GLM_FUNC_QUALIFIER tvec4<T, P> fade(tvec4<T, P> const & t)
+
115  {
+
116  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
117  }
+
118 /*
+
119  template <typename T, precision P, template <typename> class vecType>
+
120  GLM_FUNC_QUALIFIER vecType<T, P> fade(vecType<T, P> const & t)
+
121  {
+
122  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
123  }
+
124 */
+
125 }//namespace detail
+
126 }//namespace glm
+
127 
+
Definition: _noise.hpp:31
+
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.
+
+ + + + diff --git a/doc/api/a00004.html b/doc/api/a00004.html new file mode 100644 index 00000000..32b87550 --- /dev/null +++ b/doc/api/a00004.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: _swizzle.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
_swizzle.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:

+

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
2006-04-20 / 2011-02-16
+
Author
Christophe Riccio
+ +

Definition in file _swizzle.hpp.

+
+ + + + diff --git a/doc/api/a00004_source.html b/doc/api/a00004_source.html index 3710764a..f043a072 100644 --- a/doc/api/a00004_source.html +++ b/doc/api/a00004_source.html @@ -3,8 +3,8 @@ - -GLM: _features.hpp Source File + +0.9.6: _swizzle.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,420 +41,824 @@
-
_features.hpp
+
_swizzle.hpp
-
1 
-
29 #ifndef glm_core_features
-
30 #define glm_core_features
-
31 
-
32 // #define GLM_CXX98_EXCEPTIONS
-
33 // #define GLM_CXX98_RTTI
-
34 
-
35 // #define GLM_CXX11_RVALUE_REFERENCES
-
36 // Rvalue references - GCC 4.3
-
37 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
-
38 
-
39 // GLM_CXX11_TRAILING_RETURN
-
40 // Rvalue references for *this - GCC not supported
-
41 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
-
42 
-
43 // GLM_CXX11_NONSTATIC_MEMBER_INIT
-
44 // Initialization of class objects by rvalues - GCC any
-
45 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html
-
46 
-
47 // GLM_CXX11_NONSTATIC_MEMBER_INIT
-
48 // Non-static data member initializers - GCC 4.7
-
49 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm
-
50 
-
51 // #define GLM_CXX11_VARIADIC_TEMPLATE
-
52 // Variadic templates - GCC 4.3
-
53 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 namespace glm{
+
32 namespace detail
+
33 {
+
34  // Internal class for implementing swizzle operators
+
35  template <typename T, int N>
+
36  struct _swizzle_base0
+
37  {
+
38  typedef T value_type;
+
39 
+
40  protected:
+
41  GLM_FUNC_QUALIFIER value_type& elem (size_t i) { return (reinterpret_cast<value_type*>(_buffer))[i]; }
+
42  GLM_FUNC_QUALIFIER const value_type& elem (size_t i) const { return (reinterpret_cast<const value_type*>(_buffer))[i]; }
+
43 
+
44  // Use an opaque buffer to *ensure* the compiler doesn't call a constructor.
+
45  // The size 1 buffer is assumed to aligned to the actual members so that the
+
46  // elem()
+
47  char _buffer[1];
+
48  };
+
49 
+
50  template <typename T, precision P, typename V, int E0, int E1, int E2, int E3, int N>
+
51  struct _swizzle_base1 : public _swizzle_base0<T, N>
+
52  {
+
53  };
54 
-
55 //
-
56 // Extending variadic template template parameters - GCC 4.4
-
57 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf
-
58 
-
59 // #define GLM_CXX11_GENERALIZED_INITIALIZERS
-
60 // Initializer lists - GCC 4.4
-
61 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
-
62 
-
63 // #define GLM_CXX11_STATIC_ASSERT
-
64 // Static assertions - GCC 4.3
-
65 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
+
55  template <typename T, precision P, typename V, int E0, int E1>
+
56  struct _swizzle_base1<T, P, V,E0,E1,-1,-2,2> : public _swizzle_base0<T, 2>
+
57  {
+
58  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1)); }
+
59  };
+
60 
+
61  template <typename T, precision P, typename V, int E0, int E1, int E2>
+
62  struct _swizzle_base1<T, P, V,E0,E1,E2,-1,3> : public _swizzle_base0<T, 3>
+
63  {
+
64  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2)); }
+
65  };
66 
-
67 // #define GLM_CXX11_AUTO_TYPE
-
68 // auto-typed variables - GCC 4.4
-
69 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
-
70 
-
71 // #define GLM_CXX11_AUTO_TYPE
-
72 // Multi-declarator auto - GCC 4.4
-
73 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf
-
74 
-
75 // #define GLM_CXX11_AUTO_TYPE
-
76 // Removal of auto as a storage-class specifier - GCC 4.4
-
77 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm
-
78 
-
79 // #define GLM_CXX11_AUTO_TYPE
-
80 // New function declarator syntax - GCC 4.4
-
81 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
-
82 
-
83 // #define GLM_CXX11_LAMBDAS
-
84 // New wording for C++0x lambdas - GCC 4.5
-
85 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf
-
86 
-
87 // #define GLM_CXX11_DECLTYPE
-
88 // Declared type of an expression - GCC 4.3
-
89 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
+
67  template <typename T, precision P, typename V, int E0, int E1, int E2, int E3>
+
68  struct _swizzle_base1<T, P, V,E0,E1,E2,E3,4> : public _swizzle_base0<T, 4>
+
69  {
+
70  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
+
71  };
+
72 
+
73  // Internal class for implementing swizzle operators
+
74  /*
+
75  Template parameters:
+
76 
+
77  ValueType = type of scalar values (e.g. float, double)
+
78  VecType = class the swizzle is applies to (e.g. tvec3<float>)
+
79  N = number of components in the vector (e.g. 3)
+
80  E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec
+
81 
+
82  DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles
+
83  containing duplicate elements so that they cannot be used as r-values).
+
84  */
+
85  template <typename ValueType, precision P, typename VecType, int N, int E0, int E1, int E2, int E3, int DUPLICATE_ELEMENTS>
+
86  struct _swizzle_base2 : public _swizzle_base1<ValueType, P, VecType,E0,E1,E2,E3,N>
+
87  {
+
88  typedef VecType vec_type;
+
89  typedef ValueType value_type;
90 
-
91 //
-
92 // Right angle brackets - GCC 4.3
-
93 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
-
94 
-
95 //
-
96 // Default template arguments for function templates DR226 GCC 4.3
-
97 // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
-
98 
-
99 //
-
100 // Solving the SFINAE problem for expressions DR339 GCC 4.4
-
101 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html
-
102 
-
103 // #define GLM_CXX11_ALIAS_TEMPLATE
-
104 // Template aliases N2258 GCC 4.7
-
105 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
+
91  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const ValueType& t)
+
92  {
+
93  for (int i = 0; i < N; ++i)
+
94  (*this)[i] = t;
+
95  return *this;
+
96  }
+
97 
+
98  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const VecType& that)
+
99  {
+
100  struct op {
+
101  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e = t; }
+
102  };
+
103  _apply_op(that, op());
+
104  return *this;
+
105  }
106 
-
107 //
-
108 // Extern templates N1987 Yes
-
109 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
-
110 
-
111 // #define GLM_CXX11_NULLPTR
-
112 // Null pointer constant N2431 GCC 4.6
-
113 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
+
107  GLM_FUNC_QUALIFIER void operator -= (const VecType& that)
+
108  {
+
109  struct op {
+
110  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e -= t; }
+
111  };
+
112  _apply_op(that, op());
+
113  }
114 
-
115 // #define GLM_CXX11_STRONG_ENUMS
-
116 // Strongly-typed enums N2347 GCC 4.4
-
117 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
-
118 
-
119 //
-
120 // Forward declarations for enums N2764 GCC 4.6
-
121 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
+
115  GLM_FUNC_QUALIFIER void operator += (const VecType& that)
+
116  {
+
117  struct op {
+
118  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e += t; }
+
119  };
+
120  _apply_op(that, op());
+
121  }
122 
-
123 //
-
124 // Generalized attributes N2761 GCC 4.8
-
125 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
-
126 
-
127 //
-
128 // Generalized constant expressions N2235 GCC 4.6
-
129 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
+
123  GLM_FUNC_QUALIFIER void operator *= (const VecType& that)
+
124  {
+
125  struct op {
+
126  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e *= t; }
+
127  };
+
128  _apply_op(that, op());
+
129  }
130 
-
131 //
-
132 // Alignment support N2341 GCC 4.8
-
133 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
-
134 
-
135 // #define GLM_CXX11_DELEGATING_CONSTRUCTORS
-
136 // Delegating constructors N1986 GCC 4.7
-
137 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
+
131  GLM_FUNC_QUALIFIER void operator /= (const VecType& that)
+
132  {
+
133  struct op {
+
134  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e /= t; }
+
135  };
+
136  _apply_op(that, op());
+
137  }
138 
-
139 //
-
140 // Inheriting constructors N2540 GCC 4.8
-
141 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
-
142 
-
143 // #define GLM_CXX11_EXPLICIT_CONVERSIONS
-
144 // Explicit conversion operators N2437 GCC 4.5
-
145 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
-
146 
-
147 //
-
148 // New character types N2249 GCC 4.4
-
149 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html
-
150 
-
151 //
-
152 // Unicode string literals N2442 GCC 4.5
-
153 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
-
154 
-
155 //
-
156 // Raw string literals N2442 GCC 4.5
-
157 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
-
158 
-
159 //
-
160 // Universal character name literals N2170 GCC 4.5
-
161 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html
-
162 
-
163 // #define GLM_CXX11_USER_LITERALS
-
164 // User-defined literals N2765 GCC 4.7
-
165 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
-
166 
-
167 //
-
168 // Standard Layout Types N2342 GCC 4.5
-
169 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm
-
170 
-
171 // #define GLM_CXX11_DEFAULTED_FUNCTIONS
-
172 // #define GLM_CXX11_DELETED_FUNCTIONS
-
173 // Defaulted and deleted functions N2346 GCC 4.4
-
174 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
-
175 
-
176 //
-
177 // Extended friend declarations N1791 GCC 4.7
-
178 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
-
179 
-
180 //
-
181 // Extending sizeof N2253 GCC 4.4
-
182 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
-
183 
-
184 // #define GLM_CXX11_INLINE_NAMESPACES
-
185 // Inline namespaces N2535 GCC 4.4
-
186 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
-
187 
-
188 // #define GLM_CXX11_UNRESTRICTED_UNIONS
-
189 // Unrestricted unions N2544 GCC 4.6
-
190 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
+
139  GLM_FUNC_QUALIFIER value_type& operator[] (size_t i)
+
140  {
+
141  const int offset_dst[4] = { E0, E1, E2, E3 };
+
142  return this->elem(offset_dst[i]);
+
143  }
+
144  GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
+
145  {
+
146  const int offset_dst[4] = { E0, E1, E2, E3 };
+
147  return this->elem(offset_dst[i]);
+
148  }
+
149 
+
150  protected:
+
151  template <typename T>
+
152  GLM_FUNC_QUALIFIER void _apply_op(const VecType& that, T op)
+
153  {
+
154  // Make a copy of the data in this == &that.
+
155  // The copier should optimize out the copy in cases where the function is
+
156  // properly inlined and the copy is not necessary.
+
157  ValueType t[N];
+
158  for (int i = 0; i < N; ++i)
+
159  t[i] = that[i];
+
160  for (int i = 0; i < N; ++i)
+
161  op( (*this)[i], t[i] );
+
162  }
+
163  };
+
164 
+
165  // Specialization for swizzles containing duplicate elements. These cannot be modified.
+
166  template <typename ValueType, precision P, typename VecType, int N, int E0, int E1, int E2, int E3>
+
167  struct _swizzle_base2<ValueType, P, VecType,N,E0,E1,E2,E3,1> : public _swizzle_base1<ValueType, P, VecType,E0,E1,E2,E3,N>
+
168  {
+
169  typedef VecType vec_type;
+
170  typedef ValueType value_type;
+
171 
+
172  struct Stub {};
+
173  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const &) { return *this; }
+
174 
+
175  GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
+
176  {
+
177  const int offset_dst[4] = { E0, E1, E2, E3 };
+
178  return this->elem(offset_dst[i]);
+
179  }
+
180  };
+
181 
+
182  template <int N,typename ValueType, precision P, typename VecType, int E0,int E1,int E2,int E3>
+
183  struct _swizzle : public _swizzle_base2<ValueType, P, VecType, N, E0, E1, E2, E3, (E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)>
+
184  {
+
185  typedef _swizzle_base2<ValueType, P, VecType,N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)> base_type;
+
186 
+
187  using base_type::operator=;
+
188 
+
189  GLM_FUNC_QUALIFIER operator VecType () const { return (*this)(); }
+
190  };
191 
-
192 // #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
-
193 // Local and unnamed types as template arguments N2657 GCC 4.5
-
194 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
-
195 
-
196 // #define GLM_CXX11_RANGE_FOR
-
197 // Range-based for N2930 GCC 4.6
-
198 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html
+
192 //
+
193 // To prevent the C++ syntax from getting entirely overwhelming, define some alias macros
+
194 //
+
195 #define _GLM_SWIZZLE_TEMPLATE1 template <int N, typename T, precision P, typename V, int E0, int E1, int E2, int E3>
+
196 #define _GLM_SWIZZLE_TEMPLATE2 template <int N, typename T, precision P, typename V, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3>
+
197 #define _GLM_SWIZZLE_TYPE1 _swizzle<N, T, P, V, E0, E1, E2, E3>
+
198 #define _GLM_SWIZZLE_TYPE2 _swizzle<N, T, P, V, F0, F1, F2, F3>
199 
-
200 // #define GLM_CXX11_OVERRIDE_CONTROL
-
201 // Explicit virtual overrides N2928 N3206 N3272 GCC 4.7
-
202 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
-
203 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
-
204 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
-
205 
-
206 //
-
207 // Minimal support for garbage collection and reachability-based leak detection N2670 No
-
208 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm
-
209 
-
210 // #define GLM_CXX11_NOEXCEPT
-
211 // Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)
-
212 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
-
213 
-
214 //
-
215 // Defining move special member functions N3053 GCC 4.6
-
216 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
-
217 
-
218 //
-
219 // Sequence points N2239 Yes
-
220 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
-
221 
-
222 //
-
223 // Atomic operations N2427 GCC 4.4
-
224 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
-
225 
-
226 //
-
227 // Strong Compare and Exchange N2748 GCC 4.5
-
228 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html
-
229 
-
230 //
-
231 // Bidirectional Fences N2752 GCC 4.8
-
232 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm
-
233 
-
234 //
-
235 // Memory model N2429 GCC 4.8
-
236 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm
-
237 
-
238 //
-
239 // Data-dependency ordering: atomics and memory model N2664 GCC 4.4
-
240 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm
-
241 
-
242 //
-
243 // Propagating exceptions N2179 GCC 4.4
-
244 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html
-
245 
-
246 //
-
247 // Abandoning a process and at_quick_exit N2440 GCC 4.8
-
248 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm
-
249 
-
250 //
-
251 // Allow atomics use in signal handlers N2547 Yes
-
252 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm
-
253 
-
254 //
-
255 // Thread-local storage N2659 GCC 4.8
-
256 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
-
257 
-
258 //
-
259 // Dynamic initialization and destruction with concurrency N2660 GCC 4.3
-
260 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm
-
261 
-
262 //
-
263 // __func__ predefined identifier N2340 GCC 4.3
-
264 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
-
265 
-
266 //
-
267 // C99 preprocessor N1653 GCC 4.3
-
268 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
+
200 //
+
201 // Wrapper for a binary operator (e.g. u.yy + v.zy)
+
202 //
+
203 #define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
+
204  _GLM_SWIZZLE_TEMPLATE2 \
+
205  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
+
206  { \
+
207  return a() OPERAND b(); \
+
208  } \
+
209  _GLM_SWIZZLE_TEMPLATE1 \
+
210  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const V& b) \
+
211  { \
+
212  return a() OPERAND b; \
+
213  } \
+
214  _GLM_SWIZZLE_TEMPLATE1 \
+
215  GLM_FUNC_QUALIFIER V operator OPERAND ( const V& a, const _GLM_SWIZZLE_TYPE1& b) \
+
216  { \
+
217  return a OPERAND b(); \
+
218  }
+
219 
+
220 //
+
221 // Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)
+
222 //
+
223 #define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
+
224  _GLM_SWIZZLE_TEMPLATE1 \
+
225  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \
+
226  { \
+
227  return a() OPERAND b; \
+
228  } \
+
229  _GLM_SWIZZLE_TEMPLATE1 \
+
230  GLM_FUNC_QUALIFIER V operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \
+
231  { \
+
232  return a OPERAND b(); \
+
233  }
+
234 
+
235 //
+
236 // Macro for wrapping a function taking one argument (e.g. abs())
+
237 //
+
238 #define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \
+
239  _GLM_SWIZZLE_TEMPLATE1 \
+
240  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \
+
241  { \
+
242  return FUNCTION(a()); \
+
243  }
+
244 
+
245 //
+
246 // Macro for wrapping a function taking two vector arguments (e.g. dot()).
+
247 //
+
248 #define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \
+
249  _GLM_SWIZZLE_TEMPLATE2 \
+
250  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
+
251  { \
+
252  return FUNCTION(a(), b()); \
+
253  } \
+
254  _GLM_SWIZZLE_TEMPLATE1 \
+
255  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \
+
256  { \
+
257  return FUNCTION(a(), b()); \
+
258  } \
+
259  _GLM_SWIZZLE_TEMPLATE1 \
+
260  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \
+
261  { \
+
262  return FUNCTION(a(), b); \
+
263  } \
+
264  _GLM_SWIZZLE_TEMPLATE1 \
+
265  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \
+
266  { \
+
267  return FUNCTION(a, b()); \
+
268  }
269 
-
270 //
-
271 // long long N1811 GCC 4.3
-
272 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
-
273 
-
274 //
-
275 // Extended integral types N1988 Yes
-
276 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf
-
277 
-
278 #if(GLM_COMPILER & GLM_COMPILER_GCC)
-
279 
-
280 # if(GLM_COMPILER >= GLM_COMPILER_GCC43)
-
281 # define GLM_CXX11_STATIC_ASSERT
-
282 # endif
-
283 
-
284 #elif(GLM_COMPILER & GLM_COMPILER_CLANG)
-
285 # if(__has_feature(cxx_exceptions))
-
286 # define GLM_CXX98_EXCEPTIONS
-
287 # endif
-
288 
-
289 # if(__has_feature(cxx_rtti))
-
290 # define GLM_CXX98_RTTI
-
291 # endif
-
292 
-
293 # if(__has_feature(cxx_access_control_sfinae))
-
294 # define GLM_CXX11_ACCESS_CONTROL_SFINAE
-
295 # endif
-
296 
-
297 # if(__has_feature(cxx_alias_templates))
-
298 # define GLM_CXX11_ALIAS_TEMPLATE
-
299 # endif
-
300 
-
301 # if(__has_feature(cxx_alignas))
-
302 # define GLM_CXX11_ALIGNAS
-
303 # endif
-
304 
-
305 # if(__has_feature(cxx_attributes))
-
306 # define GLM_CXX11_ATTRIBUTES
-
307 # endif
-
308 
-
309 # if(__has_feature(cxx_constexpr))
-
310 # define GLM_CXX11_CONSTEXPR
-
311 # endif
-
312 
-
313 # if(__has_feature(cxx_decltype))
-
314 # define GLM_CXX11_DECLTYPE
-
315 # endif
-
316 
-
317 # if(__has_feature(cxx_default_function_template_args))
-
318 # define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS
-
319 # endif
-
320 
-
321 # if(__has_feature(cxx_defaulted_functions))
-
322 # define GLM_CXX11_DEFAULTED_FUNCTIONS
-
323 # endif
-
324 
-
325 # if(__has_feature(cxx_delegating_constructors))
-
326 # define GLM_CXX11_DELEGATING_CONSTRUCTORS
-
327 # endif
-
328 
-
329 # if(__has_feature(cxx_deleted_functions))
-
330 # define GLM_CXX11_DELETED_FUNCTIONS
-
331 # endif
-
332 
-
333 # if(__has_feature(cxx_explicit_conversions))
-
334 # define GLM_CXX11_EXPLICIT_CONVERSIONS
-
335 # endif
-
336 
-
337 # if(__has_feature(cxx_generalized_initializers))
-
338 # define GLM_CXX11_GENERALIZED_INITIALIZERS
-
339 # endif
-
340 
-
341 # if(__has_feature(cxx_implicit_moves))
-
342 # define GLM_CXX11_IMPLICIT_MOVES
-
343 # endif
-
344 
-
345 # if(__has_feature(cxx_inheriting_constructors))
-
346 # define GLM_CXX11_INHERITING_CONSTRUCTORS
-
347 # endif
-
348 
-
349 # if(__has_feature(cxx_inline_namespaces))
-
350 # define GLM_CXX11_INLINE_NAMESPACES
-
351 # endif
-
352 
-
353 # if(__has_feature(cxx_lambdas))
-
354 # define GLM_CXX11_LAMBDAS
-
355 # endif
-
356 
-
357 # if(__has_feature(cxx_local_type_template_args))
-
358 # define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
-
359 # endif
-
360 
-
361 # if(__has_feature(cxx_noexcept))
-
362 # define GLM_CXX11_NOEXCEPT
-
363 # endif
-
364 
-
365 # if(__has_feature(cxx_nonstatic_member_init))
-
366 # define GLM_CXX11_NONSTATIC_MEMBER_INIT
-
367 # endif
-
368 
-
369 # if(__has_feature(cxx_nullptr))
-
370 # define GLM_CXX11_NULLPTR
-
371 # endif
-
372 
-
373 # if(__has_feature(cxx_override_control))
-
374 # define GLM_CXX11_OVERRIDE_CONTROL
-
375 # endif
-
376 
-
377 # if(__has_feature(cxx_reference_qualified_functions))
-
378 # define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS
-
379 # endif
-
380 
-
381 # if(__has_feature(cxx_range_for))
-
382 # define GLM_CXX11_RANGE_FOR
-
383 # endif
-
384 
-
385 # if(__has_feature(cxx_raw_string_literals))
-
386 # define GLM_CXX11_RAW_STRING_LITERALS
-
387 # endif
-
388 
-
389 # if(__has_feature(cxx_rvalue_references))
-
390 # define GLM_CXX11_RVALUE_REFERENCES
-
391 # endif
-
392 
-
393 # if(__has_feature(cxx_static_assert))
-
394 # define GLM_CXX11_STATIC_ASSERT
-
395 # endif
-
396 
-
397 # if(__has_feature(cxx_auto_type))
-
398 # define GLM_CXX11_AUTO_TYPE
-
399 # endif
-
400 
-
401 # if(__has_feature(cxx_strong_enums))
-
402 # define GLM_CXX11_STRONG_ENUMS
-
403 # endif
-
404 
-
405 # if(__has_feature(cxx_trailing_return))
-
406 # define GLM_CXX11_TRAILING_RETURN
-
407 # endif
-
408 
-
409 # if(__has_feature(cxx_unicode_literals))
-
410 # define GLM_CXX11_UNICODE_LITERALS
-
411 # endif
-
412 
-
413 # if(__has_feature(cxx_unrestricted_unions))
-
414 # define GLM_CXX11_UNRESTRICTED_UNIONS
-
415 # endif
-
416 
-
417 # if(__has_feature(cxx_user_literals))
-
418 # define GLM_CXX11_USER_LITERALS
-
419 # endif
-
420 
-
421 # if(__has_feature(cxx_variadic_templates))
-
422 # define GLM_CXX11_VARIADIC_TEMPLATES
-
423 # endif
-
424 
-
425 #endif//(GLM_COMPILER & GLM_COMPILER_CLANG)
-
426 
-
427 #endif//glm_core_features
+
270 //
+
271 // Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).
+
272 //
+
273 #define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \
+
274  _GLM_SWIZZLE_TEMPLATE2 \
+
275  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \
+
276  { \
+
277  return FUNCTION(a(), b(), c); \
+
278  } \
+
279  _GLM_SWIZZLE_TEMPLATE1 \
+
280  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
+
281  { \
+
282  return FUNCTION(a(), b(), c); \
+
283  } \
+
284  _GLM_SWIZZLE_TEMPLATE1 \
+
285  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
+
286  { \
+
287  return FUNCTION(a(), b, c); \
+
288  } \
+
289  _GLM_SWIZZLE_TEMPLATE1 \
+
290  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
+
291  { \
+
292  return FUNCTION(a, b(), c); \
+
293  }
+
294 
+
295 }//namespace detail
+
296 }//namespace glm
+
297 
+
298 namespace glm
+
299 {
+
300  namespace detail
+
301  {
+
302  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)
+
303  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)
+
304  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)
+
305  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)
+
306  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)
+
307  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)
+
308  }
+
309 
+
310  //
+
311  // Swizzles are distinct types from the unswizzled type. The below macros will
+
312  // provide template specializations for the swizzle types for the given functions
+
313  // so that the compiler does not have any ambiguity to choosing how to handle
+
314  // the function.
+
315  //
+
316  // The alternative is to use the operator()() when calling the function in order
+
317  // to explicitly convert the swizzled type to the unswizzled type.
+
318  //
+
319 
+
320  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs);
+
321  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos);
+
322  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh);
+
323  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all);
+
324  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any);
+
325 
+
326  //_GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);
+
327  //_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);
+
328  //_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step);
+
329  //_GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);
+
330 }
+
331 
+
332 #define _GLM_SWIZZLE2_2_MEMBERS(T, P, V, E0,E1) \
+
333  struct { detail::_swizzle<2, T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
+
334  struct { detail::_swizzle<2, T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
+
335  struct { detail::_swizzle<2, T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
+
336  struct { detail::_swizzle<2, T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; };
+
337 
+
338 #define _GLM_SWIZZLE2_3_MEMBERS(T, P, V, E0,E1) \
+
339  struct { detail::_swizzle<3,T, P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
+
340  struct { detail::_swizzle<3,T, P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
+
341  struct { detail::_swizzle<3,T, P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
+
342  struct { detail::_swizzle<3,T, P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
+
343  struct { detail::_swizzle<3,T, P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
+
344  struct { detail::_swizzle<3,T, P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
+
345  struct { detail::_swizzle<3,T, P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
+
346  struct { detail::_swizzle<3,T, P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; };
+
347 
+
348 #define _GLM_SWIZZLE2_4_MEMBERS(T, P, V, E0,E1) \
+
349  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
+
350  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
+
351  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
+
352  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
+
353  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
+
354  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
+
355  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
+
356  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
+
357  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
+
358  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
+
359  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
+
360  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
+
361  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
+
362  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
+
363  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
+
364  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; };
+
365 
+
366 #define _GLM_SWIZZLE3_2_MEMBERS(T, P, V, E0,E1,E2) \
+
367  struct { detail::_swizzle<2,T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
+
368  struct { detail::_swizzle<2,T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
+
369  struct { detail::_swizzle<2,T, P, V<T, P>, 0,2,-1,-2> E0 ## E2; }; \
+
370  struct { detail::_swizzle<2,T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
+
371  struct { detail::_swizzle<2,T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; }; \
+
372  struct { detail::_swizzle<2,T, P, V<T, P>, 1,2,-1,-2> E1 ## E2; }; \
+
373  struct { detail::_swizzle<2,T, P, V<T, P>, 2,0,-1,-2> E2 ## E0; }; \
+
374  struct { detail::_swizzle<2,T, P, V<T, P>, 2,1,-1,-2> E2 ## E1; }; \
+
375  struct { detail::_swizzle<2,T, P, V<T, P>, 2,2,-1,-2> E2 ## E2; };
+
376 
+
377 #define _GLM_SWIZZLE3_3_MEMBERS(T, P, V ,E0,E1,E2) \
+
378  struct { detail::_swizzle<3,T,P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
+
379  struct { detail::_swizzle<3,T,P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
+
380  struct { detail::_swizzle<3,T,P, V<T, P>, 0,0,2,-1> E0 ## E0 ## E2; }; \
+
381  struct { detail::_swizzle<3,T,P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
+
382  struct { detail::_swizzle<3,T,P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
+
383  struct { detail::_swizzle<3,T,P, V<T, P>, 0,1,2,-1> E0 ## E1 ## E2; }; \
+
384  struct { detail::_swizzle<3,T,P, V<T, P>, 0,2,0,-1> E0 ## E2 ## E0; }; \
+
385  struct { detail::_swizzle<3,T,P, V<T, P>, 0,2,1,-1> E0 ## E2 ## E1; }; \
+
386  struct { detail::_swizzle<3,T,P, V<T, P>, 0,2,2,-1> E0 ## E2 ## E2; }; \
+
387  struct { detail::_swizzle<3,T,P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
+
388  struct { detail::_swizzle<3,T,P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
+
389  struct { detail::_swizzle<3,T,P, V<T, P>, 1,0,2,-1> E1 ## E0 ## E2; }; \
+
390  struct { detail::_swizzle<3,T,P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
+
391  struct { detail::_swizzle<3,T,P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; }; \
+
392  struct { detail::_swizzle<3,T,P, V<T, P>, 1,1,2,-1> E1 ## E1 ## E2; }; \
+
393  struct { detail::_swizzle<3,T,P, V<T, P>, 1,2,0,-1> E1 ## E2 ## E0; }; \
+
394  struct { detail::_swizzle<3,T,P, V<T, P>, 1,2,1,-1> E1 ## E2 ## E1; }; \
+
395  struct { detail::_swizzle<3,T,P, V<T, P>, 1,2,2,-1> E1 ## E2 ## E2; }; \
+
396  struct { detail::_swizzle<3,T,P, V<T, P>, 2,0,0,-1> E2 ## E0 ## E0; }; \
+
397  struct { detail::_swizzle<3,T,P, V<T, P>, 2,0,1,-1> E2 ## E0 ## E1; }; \
+
398  struct { detail::_swizzle<3,T,P, V<T, P>, 2,0,2,-1> E2 ## E0 ## E2; }; \
+
399  struct { detail::_swizzle<3,T,P, V<T, P>, 2,1,0,-1> E2 ## E1 ## E0; }; \
+
400  struct { detail::_swizzle<3,T,P, V<T, P>, 2,1,1,-1> E2 ## E1 ## E1; }; \
+
401  struct { detail::_swizzle<3,T,P, V<T, P>, 2,1,2,-1> E2 ## E1 ## E2; }; \
+
402  struct { detail::_swizzle<3,T,P, V<T, P>, 2,2,0,-1> E2 ## E2 ## E0; }; \
+
403  struct { detail::_swizzle<3,T,P, V<T, P>, 2,2,1,-1> E2 ## E2 ## E1; }; \
+
404  struct { detail::_swizzle<3,T,P, V<T, P>, 2,2,2,-1> E2 ## E2 ## E2; };
+
405 
+
406 #define _GLM_SWIZZLE3_4_MEMBERS(T, P, V, E0,E1,E2) \
+
407  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
+
408  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
+
409  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
+
410  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
+
411  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
+
412  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
+
413  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
+
414  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
+
415  struct { detail::_swizzle<4,T, P, V<T, P>, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
+
416  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
+
417  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
+
418  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
+
419  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
+
420  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
+
421  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
+
422  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
+
423  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
+
424  struct { detail::_swizzle<4,T, P, V<T, P>, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
+
425  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
+
426  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
+
427  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
+
428  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
+
429  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
+
430  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
+
431  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
+
432  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
+
433  struct { detail::_swizzle<4,T, P, V<T, P>, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
+
434  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
+
435  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
+
436  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
+
437  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
+
438  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
+
439  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
+
440  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
+
441  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
+
442  struct { detail::_swizzle<4,T, P, V<T, P>, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
+
443  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
+
444  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
+
445  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
+
446  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
+
447  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
+
448  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
+
449  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
+
450  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
+
451  struct { detail::_swizzle<4,T, P, V<T, P>, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
+
452  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
+
453  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
+
454  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
+
455  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
+
456  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
+
457  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
+
458  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
+
459  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
+
460  struct { detail::_swizzle<4,T, P, V<T, P>, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
+
461  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
+
462  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
+
463  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
+
464  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
+
465  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
+
466  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
+
467  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
+
468  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
+
469  struct { detail::_swizzle<4,T, P, V<T, P>, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
+
470  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
+
471  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
+
472  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
+
473  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
+
474  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
+
475  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
+
476  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
+
477  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
+
478  struct { detail::_swizzle<4,T, P, V<T, P>, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
+
479  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
+
480  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
+
481  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
+
482  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
+
483  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
+
484  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
+
485  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
+
486  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
+
487  struct { detail::_swizzle<4,T, P, V<T, P>, 2,2,2,2> E2 ## E2 ## E2 ## E2; };
+
488 
+
489 #define _GLM_SWIZZLE4_2_MEMBERS(T, P, V, E0,E1,E2,E3) \
+
490  struct { detail::_swizzle<2,T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
+
491  struct { detail::_swizzle<2,T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
+
492  struct { detail::_swizzle<2,T, P, V<T, P>, 0,2,-1,-2> E0 ## E2; }; \
+
493  struct { detail::_swizzle<2,T, P, V<T, P>, 0,3,-1,-2> E0 ## E3; }; \
+
494  struct { detail::_swizzle<2,T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
+
495  struct { detail::_swizzle<2,T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; }; \
+
496  struct { detail::_swizzle<2,T, P, V<T, P>, 1,2,-1,-2> E1 ## E2; }; \
+
497  struct { detail::_swizzle<2,T, P, V<T, P>, 1,3,-1,-2> E1 ## E3; }; \
+
498  struct { detail::_swizzle<2,T, P, V<T, P>, 2,0,-1,-2> E2 ## E0; }; \
+
499  struct { detail::_swizzle<2,T, P, V<T, P>, 2,1,-1,-2> E2 ## E1; }; \
+
500  struct { detail::_swizzle<2,T, P, V<T, P>, 2,2,-1,-2> E2 ## E2; }; \
+
501  struct { detail::_swizzle<2,T, P, V<T, P>, 2,3,-1,-2> E2 ## E3; }; \
+
502  struct { detail::_swizzle<2,T, P, V<T, P>, 3,0,-1,-2> E3 ## E0; }; \
+
503  struct { detail::_swizzle<2,T, P, V<T, P>, 3,1,-1,-2> E3 ## E1; }; \
+
504  struct { detail::_swizzle<2,T, P, V<T, P>, 3,2,-1,-2> E3 ## E2; }; \
+
505  struct { detail::_swizzle<2,T, P, V<T, P>, 3,3,-1,-2> E3 ## E3; };
+
506 
+
507 #define _GLM_SWIZZLE4_3_MEMBERS(T,P, V, E0,E1,E2,E3) \
+
508  struct { detail::_swizzle<3,T,P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
+
509  struct { detail::_swizzle<3,T,P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
+
510  struct { detail::_swizzle<3,T,P, V<T, P>, 0,0,2,-1> E0 ## E0 ## E2; }; \
+
511  struct { detail::_swizzle<3,T,P, V<T, P>, 0,0,3,-1> E0 ## E0 ## E3; }; \
+
512  struct { detail::_swizzle<3,T,P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
+
513  struct { detail::_swizzle<3,T,P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
+
514  struct { detail::_swizzle<3,T,P, V<T, P>, 0,1,2,-1> E0 ## E1 ## E2; }; \
+
515  struct { detail::_swizzle<3,T,P, V<T, P>, 0,1,3,-1> E0 ## E1 ## E3; }; \
+
516  struct { detail::_swizzle<3,T,P, V<T, P>, 0,2,0,-1> E0 ## E2 ## E0; }; \
+
517  struct { detail::_swizzle<3,T,P, V<T, P>, 0,2,1,-1> E0 ## E2 ## E1; }; \
+
518  struct { detail::_swizzle<3,T,P, V<T, P>, 0,2,2,-1> E0 ## E2 ## E2; }; \
+
519  struct { detail::_swizzle<3,T,P, V<T, P>, 0,2,3,-1> E0 ## E2 ## E3; }; \
+
520  struct { detail::_swizzle<3,T,P, V<T, P>, 0,3,0,-1> E0 ## E3 ## E0; }; \
+
521  struct { detail::_swizzle<3,T,P, V<T, P>, 0,3,1,-1> E0 ## E3 ## E1; }; \
+
522  struct { detail::_swizzle<3,T,P, V<T, P>, 0,3,2,-1> E0 ## E3 ## E2; }; \
+
523  struct { detail::_swizzle<3,T,P, V<T, P>, 0,3,3,-1> E0 ## E3 ## E3; }; \
+
524  struct { detail::_swizzle<3,T,P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
+
525  struct { detail::_swizzle<3,T,P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
+
526  struct { detail::_swizzle<3,T,P, V<T, P>, 1,0,2,-1> E1 ## E0 ## E2; }; \
+
527  struct { detail::_swizzle<3,T,P, V<T, P>, 1,0,3,-1> E1 ## E0 ## E3; }; \
+
528  struct { detail::_swizzle<3,T,P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
+
529  struct { detail::_swizzle<3,T,P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; }; \
+
530  struct { detail::_swizzle<3,T,P, V<T, P>, 1,1,2,-1> E1 ## E1 ## E2; }; \
+
531  struct { detail::_swizzle<3,T,P, V<T, P>, 1,1,3,-1> E1 ## E1 ## E3; }; \
+
532  struct { detail::_swizzle<3,T,P, V<T, P>, 1,2,0,-1> E1 ## E2 ## E0; }; \
+
533  struct { detail::_swizzle<3,T,P, V<T, P>, 1,2,1,-1> E1 ## E2 ## E1; }; \
+
534  struct { detail::_swizzle<3,T,P, V<T, P>, 1,2,2,-1> E1 ## E2 ## E2; }; \
+
535  struct { detail::_swizzle<3,T,P, V<T, P>, 1,2,3,-1> E1 ## E2 ## E3; }; \
+
536  struct { detail::_swizzle<3,T,P, V<T, P>, 1,3,0,-1> E1 ## E3 ## E0; }; \
+
537  struct { detail::_swizzle<3,T,P, V<T, P>, 1,3,1,-1> E1 ## E3 ## E1; }; \
+
538  struct { detail::_swizzle<3,T,P, V<T, P>, 1,3,2,-1> E1 ## E3 ## E2; }; \
+
539  struct { detail::_swizzle<3,T,P, V<T, P>, 1,3,3,-1> E1 ## E3 ## E3; }; \
+
540  struct { detail::_swizzle<3,T,P, V<T, P>, 2,0,0,-1> E2 ## E0 ## E0; }; \
+
541  struct { detail::_swizzle<3,T,P, V<T, P>, 2,0,1,-1> E2 ## E0 ## E1; }; \
+
542  struct { detail::_swizzle<3,T,P, V<T, P>, 2,0,2,-1> E2 ## E0 ## E2; }; \
+
543  struct { detail::_swizzle<3,T,P, V<T, P>, 2,0,3,-1> E2 ## E0 ## E3; }; \
+
544  struct { detail::_swizzle<3,T,P, V<T, P>, 2,1,0,-1> E2 ## E1 ## E0; }; \
+
545  struct { detail::_swizzle<3,T,P, V<T, P>, 2,1,1,-1> E2 ## E1 ## E1; }; \
+
546  struct { detail::_swizzle<3,T,P, V<T, P>, 2,1,2,-1> E2 ## E1 ## E2; }; \
+
547  struct { detail::_swizzle<3,T,P, V<T, P>, 2,1,3,-1> E2 ## E1 ## E3; }; \
+
548  struct { detail::_swizzle<3,T,P, V<T, P>, 2,2,0,-1> E2 ## E2 ## E0; }; \
+
549  struct { detail::_swizzle<3,T,P, V<T, P>, 2,2,1,-1> E2 ## E2 ## E1; }; \
+
550  struct { detail::_swizzle<3,T,P, V<T, P>, 2,2,2,-1> E2 ## E2 ## E2; }; \
+
551  struct { detail::_swizzle<3,T,P, V<T, P>, 2,2,3,-1> E2 ## E2 ## E3; }; \
+
552  struct { detail::_swizzle<3,T,P, V<T, P>, 2,3,0,-1> E2 ## E3 ## E0; }; \
+
553  struct { detail::_swizzle<3,T,P, V<T, P>, 2,3,1,-1> E2 ## E3 ## E1; }; \
+
554  struct { detail::_swizzle<3,T,P, V<T, P>, 2,3,2,-1> E2 ## E3 ## E2; }; \
+
555  struct { detail::_swizzle<3,T,P, V<T, P>, 2,3,3,-1> E2 ## E3 ## E3; }; \
+
556  struct { detail::_swizzle<3,T,P, V<T, P>, 3,0,0,-1> E3 ## E0 ## E0; }; \
+
557  struct { detail::_swizzle<3,T,P, V<T, P>, 3,0,1,-1> E3 ## E0 ## E1; }; \
+
558  struct { detail::_swizzle<3,T,P, V<T, P>, 3,0,2,-1> E3 ## E0 ## E2; }; \
+
559  struct { detail::_swizzle<3,T,P, V<T, P>, 3,0,3,-1> E3 ## E0 ## E3; }; \
+
560  struct { detail::_swizzle<3,T,P, V<T, P>, 3,1,0,-1> E3 ## E1 ## E0; }; \
+
561  struct { detail::_swizzle<3,T,P, V<T, P>, 3,1,1,-1> E3 ## E1 ## E1; }; \
+
562  struct { detail::_swizzle<3,T,P, V<T, P>, 3,1,2,-1> E3 ## E1 ## E2; }; \
+
563  struct { detail::_swizzle<3,T,P, V<T, P>, 3,1,3,-1> E3 ## E1 ## E3; }; \
+
564  struct { detail::_swizzle<3,T,P, V<T, P>, 3,2,0,-1> E3 ## E2 ## E0; }; \
+
565  struct { detail::_swizzle<3,T,P, V<T, P>, 3,2,1,-1> E3 ## E2 ## E1; }; \
+
566  struct { detail::_swizzle<3,T,P, V<T, P>, 3,2,2,-1> E3 ## E2 ## E2; }; \
+
567  struct { detail::_swizzle<3,T,P, V<T, P>, 3,2,3,-1> E3 ## E2 ## E3; }; \
+
568  struct { detail::_swizzle<3,T,P, V<T, P>, 3,3,0,-1> E3 ## E3 ## E0; }; \
+
569  struct { detail::_swizzle<3,T,P, V<T, P>, 3,3,1,-1> E3 ## E3 ## E1; }; \
+
570  struct { detail::_swizzle<3,T,P, V<T, P>, 3,3,2,-1> E3 ## E3 ## E2; }; \
+
571  struct { detail::_swizzle<3,T,P, V<T, P>, 3,3,3,-1> E3 ## E3 ## E3; };
+
572 
+
573 #define _GLM_SWIZZLE4_4_MEMBERS(T, P, V, E0,E1,E2,E3) \
+
574  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
+
575  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
+
576  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
+
577  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \
+
578  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
+
579  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
+
580  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
+
581  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \
+
582  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
+
583  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
+
584  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
+
585  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \
+
586  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \
+
587  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \
+
588  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \
+
589  struct { detail::_swizzle<4, T, P, V<T, P>, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \
+
590  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
+
591  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
+
592  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
+
593  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \
+
594  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
+
595  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
+
596  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
+
597  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \
+
598  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
+
599  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
+
600  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
+
601  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \
+
602  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \
+
603  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \
+
604  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \
+
605  struct { detail::_swizzle<4, T, P, V<T, P>, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \
+
606  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
+
607  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
+
608  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
+
609  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \
+
610  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
+
611  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
+
612  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
+
613  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \
+
614  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
+
615  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
+
616  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
+
617  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \
+
618  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \
+
619  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \
+
620  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \
+
621  struct { detail::_swizzle<4, T, P, V<T, P>, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \
+
622  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \
+
623  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \
+
624  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \
+
625  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \
+
626  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \
+
627  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \
+
628  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \
+
629  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \
+
630  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \
+
631  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \
+
632  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \
+
633  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \
+
634  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \
+
635  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \
+
636  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \
+
637  struct { detail::_swizzle<4, T, P, V<T, P>, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \
+
638  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
+
639  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
+
640  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
+
641  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \
+
642  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
+
643  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
+
644  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
+
645  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \
+
646  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
+
647  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
+
648  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
+
649  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \
+
650  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \
+
651  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \
+
652  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \
+
653  struct { detail::_swizzle<4, T, P, V<T, P>, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \
+
654  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
+
655  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
+
656  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
+
657  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \
+
658  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
+
659  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
+
660  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
+
661  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \
+
662  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
+
663  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
+
664  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
+
665  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \
+
666  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \
+
667  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \
+
668  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \
+
669  struct { detail::_swizzle<4, T, P, V<T, P>, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \
+
670  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
+
671  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
+
672  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
+
673  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \
+
674  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
+
675  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
+
676  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
+
677  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \
+
678  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
+
679  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
+
680  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
+
681  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \
+
682  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \
+
683  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \
+
684  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \
+
685  struct { detail::_swizzle<4, T, P, V<T, P>, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \
+
686  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \
+
687  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \
+
688  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \
+
689  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \
+
690  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \
+
691  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \
+
692  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \
+
693  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \
+
694  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \
+
695  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \
+
696  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \
+
697  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \
+
698  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \
+
699  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \
+
700  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \
+
701  struct { detail::_swizzle<4, T, P, V<T, P>, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \
+
702  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
+
703  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
+
704  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
+
705  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \
+
706  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
+
707  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
+
708  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
+
709  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \
+
710  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
+
711  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
+
712  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
+
713  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \
+
714  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \
+
715  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \
+
716  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \
+
717  struct { detail::_swizzle<4, T, P, V<T, P>, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \
+
718  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
+
719  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
+
720  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
+
721  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \
+
722  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
+
723  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
+
724  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
+
725  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \
+
726  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
+
727  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
+
728  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
+
729  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \
+
730  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \
+
731  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \
+
732  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \
+
733  struct { detail::_swizzle<4, T, P, V<T, P>, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \
+
734  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
+
735  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
+
736  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
+
737  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \
+
738  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
+
739  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
+
740  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
+
741  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \
+
742  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
+
743  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
+
744  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \
+
745  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \
+
746  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \
+
747  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \
+
748  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \
+
749  struct { detail::_swizzle<4, T, P, V<T, P>, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \
+
750  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \
+
751  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \
+
752  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \
+
753  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \
+
754  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \
+
755  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \
+
756  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \
+
757  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \
+
758  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \
+
759  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \
+
760  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \
+
761  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \
+
762  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \
+
763  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \
+
764  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \
+
765  struct { detail::_swizzle<4, T, P, V<T, P>, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \
+
766  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \
+
767  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \
+
768  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \
+
769  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \
+
770  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \
+
771  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \
+
772  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \
+
773  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \
+
774  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \
+
775  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \
+
776  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \
+
777  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \
+
778  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \
+
779  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \
+
780  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \
+
781  struct { detail::_swizzle<4, T, P, V<T, P>, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \
+
782  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \
+
783  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \
+
784  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \
+
785  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \
+
786  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \
+
787  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \
+
788  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \
+
789  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \
+
790  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \
+
791  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \
+
792  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \
+
793  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \
+
794  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \
+
795  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \
+
796  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \
+
797  struct { detail::_swizzle<4, T, P, V<T, P>, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \
+
798  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \
+
799  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \
+
800  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \
+
801  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \
+
802  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \
+
803  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \
+
804  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \
+
805  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \
+
806  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \
+
807  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \
+
808  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \
+
809  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \
+
810  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \
+
811  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \
+
812  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \
+
813  struct { detail::_swizzle<4, T, P, V<T, P>, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \
+
814  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \
+
815  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \
+
816  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \
+
817  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \
+
818  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \
+
819  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \
+
820  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \
+
821  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \
+
822  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \
+
823  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \
+
824  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \
+
825  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \
+
826  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \
+
827  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \
+
828  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
+
829  struct { detail::_swizzle<4, T, P, V<T, P>, 3,3,3,3> E3 ## E3 ## E3 ## E3; };
+
GLM_FUNC_DECL genType e()
Return e constant.
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00005.html b/doc/api/a00005.html new file mode 100644 index 00000000..add3cf59 --- /dev/null +++ b/doc/api/a00005.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: _swizzle_func.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
_swizzle_func.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:

+

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
2011-10-16 / 2011-10-16
+
Author
Christophe Riccio
+ +

Definition in file _swizzle_func.hpp.

+
+ + + + diff --git a/doc/api/a00005_source.html b/doc/api/a00005_source.html index 4e023c2a..af7fa777 100644 --- a/doc/api/a00005_source.html +++ b/doc/api/a00005_source.html @@ -3,8 +3,8 @@ - -GLM: _fixes.hpp Source File + +0.9.6: _swizzle_func.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,43 +41,714 @@
-
_fixes.hpp
+
_swizzle_func.hpp
-
1 
-
29 #include <cmath>
+Go to the documentation of this file.
1 
+
29 #pragma once
30 
-
32 #ifdef max
-
33 #undef max
-
34 #endif
-
35 
-
37 #ifdef min
-
38 #undef min
-
39 #endif
-
40 
-
42 #ifdef isnan
-
43 #undef isnan
-
44 #endif
-
45 
-
47 #ifdef isinf
-
48 #undef isinf
-
49 #endif
-
50 
-
52 #ifdef log2
-
53 #undef log2
-
54 #endif
-
55 
+
31 #define GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \
+
32  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B() CONST \
+
33  { \
+
34  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B); \
+
35  }
+
36 
+
37 #define GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \
+
38  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B ## C() CONST \
+
39  { \
+
40  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C); \
+
41  }
+
42 
+
43 #define GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \
+
44  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B ## C ## D() CONST \
+
45  { \
+
46  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C, this->D); \
+
47  }
+
48 
+
49 #define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \
+
50  template <typename TMPL_TYPE> \
+
51  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B() CONST \
+
52  { \
+
53  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B); \
+
54  }
+
55 
+
56 #define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \
+
57  template <typename TMPL_TYPE> \
+
58  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B ## C() CONST \
+
59  { \
+
60  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C); \
+
61  }
+
62 
+
63 #define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \
+
64  template <typename TMPL_TYPE> \
+
65  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B ## C ## D() CONST \
+
66  { \
+
67  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C, this->D); \
+
68  }
+
69 
+
70 #define GLM_MUTABLE
+
71 
+
72 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
+
73  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
+
74  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A)
+
75 
+
76 #define GLM_SWIZZLE_GEN_REF_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE) \
+
77  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, x, y) \
+
78  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, r, g) \
+
79  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, s, t)
+
80 
+
81 //GLM_SWIZZLE_GEN_REF_FROM_VEC2(valType, detail::vec2, detail::ref2)
+
82 
+
83 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
84  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
+
85  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \
+
86  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \
+
87  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \
+
88  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \
+
89  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B)
+
90 
+
91 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
92  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B, C) \
+
93  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C, B) \
+
94  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A, C) \
+
95  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C, A) \
+
96  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A, B) \
+
97  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B, A)
+
98 
+
99 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
+
100  GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
+
101  GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C)
+
102 
+
103 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE) \
+
104  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, x, y, z) \
+
105  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, r, g, b) \
+
106  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, s, t, p)
+
107 
+
108 //GLM_SWIZZLE_GEN_REF_FROM_VEC3(valType, detail::vec3, detail::ref2, detail::ref3)
+
109 
+
110 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
111  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
+
112  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \
+
113  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, D) \
+
114  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \
+
115  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \
+
116  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, D) \
+
117  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \
+
118  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B) \
+
119  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, D) \
+
120  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, A) \
+
121  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, B) \
+
122  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, C)
+
123 
+
124 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
125  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C) \
+
126  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D) \
+
127  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B) \
+
128  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D) \
+
129  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B) \
+
130  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C) \
+
131  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C) \
+
132  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D) \
+
133  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A) \
+
134  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D) \
+
135  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A) \
+
136  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C) \
+
137  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B) \
+
138  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D) \
+
139  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A) \
+
140  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D) \
+
141  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A) \
+
142  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B) \
+
143  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B) \
+
144  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C) \
+
145  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A) \
+
146  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C) \
+
147  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A) \
+
148  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B)
+
149 
+
150 #define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
151  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B, D) \
+
152  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D, B) \
+
153  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B, C) \
+
154  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C, B) \
+
155  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D, C) \
+
156  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C, D) \
+
157  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A, D) \
+
158  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D, A) \
+
159  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A, C) \
+
160  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C, A) \
+
161  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D, C) \
+
162  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C, D) \
+
163  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A, D) \
+
164  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D, A) \
+
165  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A, B) \
+
166  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B, A) \
+
167  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D, B) \
+
168  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B, D) \
+
169  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B, A) \
+
170  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A, B) \
+
171  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B, C) \
+
172  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C, B) \
+
173  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A, C) \
+
174  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C, A)
+
175 
+
176 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \
+
177  GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \
+
178  GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \
+
179  GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)
+
180 
+
181 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
+
182  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \
+
183  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \
+
184  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)
+
185 
+
186 //GLM_SWIZZLE_GEN_REF_FROM_VEC4(valType, detail::vec4, detail::ref2, detail::ref3, detail::ref4)
+
187 
+
188 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
+
189  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
+
190  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
+
191  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
+
192  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B)
+
193 
+
194 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
+
195  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
+
196  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
+
197  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
+
198  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
+
199  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
+
200  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
+
201  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
+
202  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B)
+
203 
+
204 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
+
205  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
+
206  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
+
207  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
+
208  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
+
209  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
+
210  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
+
211  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
+
212  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
+
213  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
+
214  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
+
215  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
+
216  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
+
217  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
+
218  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
+
219  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
+
220  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B)
+
221 
+
222 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B) \
+
223  GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B) \
+
224  GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B) \
+
225  GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B)
+
226 
+
227 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
+
228  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y) \
+
229  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g) \
+
230  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t)
+
231 
+
232 //GLM_SWIZZLE_GEN_VEC_FROM_VEC2(valType, detail::vec2, detail::vec2, detail::vec3, detail::vec4)
+
233 
+
234 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
235  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
+
236  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
+
237  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \
+
238  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
+
239  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \
+
240  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \
+
241  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \
+
242  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \
+
243  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C)
+
244 
+
245 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
246  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
+
247  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
+
248  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \
+
249  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
+
250  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
+
251  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \
+
252  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \
+
253  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \
+
254  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \
+
255  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
+
256  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
+
257  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \
+
258  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
+
259  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \
+
260  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \
+
261  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \
+
262  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \
+
263  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \
+
264  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \
+
265  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \
+
266  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \
+
267  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \
+
268  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \
+
269  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \
+
270  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \
+
271  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \
+
272  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C)
+
273 
+
274 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
275  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
+
276  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
+
277  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \
+
278  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
+
279  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
+
280  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \
+
281  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \
+
282  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \
+
283  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \
+
284  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
+
285  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
+
286  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \
+
287  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
+
288  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
+
289  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \
+
290  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \
+
291  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \
+
292  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \
+
293  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \
+
294  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \
+
295  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \
+
296  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \
+
297  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \
+
298  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \
+
299  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \
+
300  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \
+
301  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \
+
302  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
+
303  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
+
304  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \
+
305  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
+
306  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
+
307  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \
+
308  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \
+
309  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \
+
310  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \
+
311  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
+
312  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
+
313  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \
+
314  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
+
315  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \
+
316  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \
+
317  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \
+
318  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \
+
319  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \
+
320  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \
+
321  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \
+
322  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \
+
323  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \
+
324  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \
+
325  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \
+
326  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \
+
327  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \
+
328  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \
+
329  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \
+
330  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \
+
331  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \
+
332  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \
+
333  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \
+
334  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \
+
335  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \
+
336  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \
+
337  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \
+
338  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \
+
339  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \
+
340  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \
+
341  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \
+
342  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \
+
343  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \
+
344  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \
+
345  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \
+
346  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \
+
347  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \
+
348  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \
+
349  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \
+
350  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \
+
351  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \
+
352  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \
+
353  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \
+
354  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \
+
355  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C)
+
356 
+
357 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C) \
+
358  GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C) \
+
359  GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
+
360  GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C)
+
361 
+
362 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
+
363  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z) \
+
364  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b) \
+
365  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p)
+
366 
+
367 //GLM_SWIZZLE_GEN_VEC_FROM_VEC3(valType, detail::vec3, detail::vec2, detail::vec3, detail::vec4)
+
368 
+
369 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
370  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
+
371  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
+
372  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \
+
373  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D) \
+
374  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
+
375  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \
+
376  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \
+
377  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D) \
+
378  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \
+
379  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \
+
380  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C) \
+
381  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D) \
+
382  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A) \
+
383  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B) \
+
384  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C) \
+
385  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D)
+
386 
+
387 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
388  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
+
389  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
+
390  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \
+
391  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D) \
+
392  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
+
393  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
+
394  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \
+
395  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D) \
+
396  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \
+
397  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \
+
398  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \
+
399  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D) \
+
400  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A) \
+
401  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B) \
+
402  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C) \
+
403  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D) \
+
404  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
+
405  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
+
406  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \
+
407  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D) \
+
408  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
+
409  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \
+
410  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \
+
411  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D) \
+
412  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \
+
413  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \
+
414  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \
+
415  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D) \
+
416  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A) \
+
417  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B) \
+
418  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C) \
+
419  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D) \
+
420  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \
+
421  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \
+
422  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \
+
423  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D) \
+
424  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \
+
425  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \
+
426  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \
+
427  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D) \
+
428  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \
+
429  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \
+
430  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C) \
+
431  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D) \
+
432  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A) \
+
433  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B) \
+
434  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C) \
+
435  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D) \
+
436  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A) \
+
437  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B) \
+
438  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C) \
+
439  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D) \
+
440  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A) \
+
441  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B) \
+
442  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C) \
+
443  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D) \
+
444  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A) \
+
445  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B) \
+
446  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C) \
+
447  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D) \
+
448  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A) \
+
449  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B) \
+
450  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C) \
+
451  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D)
+
452 
+
453 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
454  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
+
455  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
+
456  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \
+
457  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, D) \
+
458  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
+
459  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
+
460  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \
+
461  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, D) \
+
462  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \
+
463  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \
+
464  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \
+
465  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, D) \
+
466  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, A) \
+
467  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, B) \
+
468  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, C) \
+
469  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, D) \
+
470  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
+
471  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
+
472  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \
+
473  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, D) \
+
474  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
+
475  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
+
476  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \
+
477  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, D) \
+
478  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \
+
479  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \
+
480  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \
+
481  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, D) \
+
482  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, A) \
+
483  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, B) \
+
484  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, C) \
+
485  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, D) \
+
486  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \
+
487  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \
+
488  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \
+
489  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, D) \
+
490  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \
+
491  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \
+
492  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \
+
493  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, D) \
+
494  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \
+
495  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \
+
496  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \
+
497  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, D) \
+
498  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, A) \
+
499  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, B) \
+
500  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, C) \
+
501  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, D) \
+
502  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \
+
503  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \
+
504  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \
+
505  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, D) \
+
506  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \
+
507  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \
+
508  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \
+
509  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, D) \
+
510  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \
+
511  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \
+
512  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \
+
513  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, D) \
+
514  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, A) \
+
515  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, B) \
+
516  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, C) \
+
517  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, D) \
+
518  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
+
519  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
+
520  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \
+
521  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, D) \
+
522  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
+
523  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
+
524  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \
+
525  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, D) \
+
526  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \
+
527  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \
+
528  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \
+
529  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, D) \
+
530  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, A) \
+
531  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, B) \
+
532  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, C) \
+
533  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, D) \
+
534  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
+
535  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
+
536  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \
+
537  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, D) \
+
538  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
+
539  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \
+
540  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \
+
541  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, D) \
+
542  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \
+
543  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \
+
544  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \
+
545  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, D) \
+
546  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, A) \
+
547  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, B) \
+
548  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, C) \
+
549  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, D) \
+
550  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \
+
551  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \
+
552  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \
+
553  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, D) \
+
554  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \
+
555  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \
+
556  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \
+
557  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, D) \
+
558  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \
+
559  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \
+
560  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \
+
561  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, D) \
+
562  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, A) \
+
563  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, B) \
+
564  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, C) \
+
565  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, D) \
+
566  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \
+
567  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \
+
568  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \
+
569  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, D) \
+
570  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \
+
571  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \
+
572  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \
+
573  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, D) \
+
574  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \
+
575  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \
+
576  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \
+
577  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, D) \
+
578  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, A) \
+
579  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, B) \
+
580  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, C) \
+
581  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, D) \
+
582  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \
+
583  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \
+
584  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \
+
585  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, D) \
+
586  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \
+
587  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \
+
588  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \
+
589  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, D) \
+
590  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \
+
591  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \
+
592  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \
+
593  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, D) \
+
594  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, A) \
+
595  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, B) \
+
596  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, C) \
+
597  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, D) \
+
598  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \
+
599  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \
+
600  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \
+
601  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, D) \
+
602  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \
+
603  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \
+
604  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \
+
605  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, D) \
+
606  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \
+
607  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \
+
608  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \
+
609  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, D) \
+
610  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, A) \
+
611  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, B) \
+
612  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, C) \
+
613  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, D) \
+
614  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \
+
615  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \
+
616  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \
+
617  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, D) \
+
618  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \
+
619  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \
+
620  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \
+
621  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, D) \
+
622  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \
+
623  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \
+
624  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \
+
625  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, D) \
+
626  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, A) \
+
627  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, B) \
+
628  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, C) \
+
629  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, D) \
+
630  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \
+
631  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \
+
632  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \
+
633  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, D) \
+
634  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \
+
635  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \
+
636  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \
+
637  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, D) \
+
638  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \
+
639  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \
+
640  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \
+
641  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, D) \
+
642  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, A) \
+
643  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, B) \
+
644  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, C) \
+
645  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, D) \
+
646  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \
+
647  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \
+
648  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \
+
649  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, D) \
+
650  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \
+
651  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \
+
652  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \
+
653  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, D) \
+
654  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \
+
655  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \
+
656  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \
+
657  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, D) \
+
658  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, A) \
+
659  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, B) \
+
660  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, C) \
+
661  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, D) \
+
662  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \
+
663  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \
+
664  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \
+
665  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, D) \
+
666  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \
+
667  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \
+
668  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \
+
669  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, D) \
+
670  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \
+
671  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \
+
672  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \
+
673  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, D) \
+
674  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, A) \
+
675  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, B) \
+
676  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, C) \
+
677  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, D) \
+
678  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \
+
679  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \
+
680  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \
+
681  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, D) \
+
682  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \
+
683  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \
+
684  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \
+
685  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, D) \
+
686  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \
+
687  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \
+
688  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \
+
689  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, D) \
+
690  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, A) \
+
691  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, B) \
+
692  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, C) \
+
693  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, D) \
+
694  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \
+
695  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \
+
696  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \
+
697  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, D) \
+
698  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \
+
699  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \
+
700  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \
+
701  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, D) \
+
702  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \
+
703  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \
+
704  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C) \
+
705  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, D) \
+
706  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, A) \
+
707  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, B) \
+
708  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, C) \
+
709  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, D)
+
710 
+
711 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \
+
712  GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \
+
713  GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \
+
714  GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)
+
715 
+
716 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
+
717  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \
+
718  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \
+
719  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)
+
720 
+
721 //GLM_SWIZZLE_GEN_VEC_FROM_VEC4(valType, detail::vec4, detail::vec2, detail::vec3, detail::vec4)
diff --git a/doc/api/a00006.html b/doc/api/a00006.html new file mode 100644 index 00000000..21d09ccf --- /dev/null +++ b/doc/api/a00006.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: _vectorize.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
_vectorize.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:

+

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
2011-10-14 / 2011-10-14
+
Author
Christophe Riccio
+ +

Definition in file _vectorize.hpp.

+
+ + + + diff --git a/doc/api/a00006_source.html b/doc/api/a00006_source.html index 9c1a9f75..bd7da960 100644 --- a/doc/api/a00006_source.html +++ b/doc/api/a00006_source.html @@ -3,8 +3,8 @@ - -GLM: _literals.hpp Source File + +0.9.6: _vectorize.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,44 +41,154 @@
-
_literals.hpp
+
_vectorize.hpp
-
1 
-
29 #ifndef glm_core_literals
-
30 #define glm_core_literals
-
31 
-
32 namespace glm
-
33 {
-
34 #define GLM_CXX11_USER_LITERALS
-
35 #ifdef GLM_CXX11_USER_LITERALS
-
36 /*
-
37  GLM_FUNC_QUALIFIER detail::half operator "" _h(long double const s)
-
38  {
-
39  return detail::half(s);
-
40  }
-
41 
-
42  GLM_FUNC_QUALIFIER float operator "" _f(long double const s)
-
43  {
-
44  return static_cast<float>(s);
-
45  }
-
46 */
-
47 #endif//GLM_CXX11_USER_LITERALS
-
48 
-
49 }//namespace glm
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "type_vec1.hpp"
+
32 #include "type_vec2.hpp"
+
33 #include "type_vec3.hpp"
+
34 #include "type_vec4.hpp"
+
35 
+
36 namespace glm{
+
37 namespace detail
+
38 {
+
39  template <typename R, typename T, precision P, template <typename, precision> class vecType>
+
40  struct functor1{};
+
41 
+
42  template <typename R, typename T, precision P>
+
43  struct functor1<R, T, P, tvec1>
+
44  {
+
45  GLM_FUNC_QUALIFIER static tvec1<R, P> call(R (*Func) (T x), tvec1<T, P> const & v)
+
46  {
+
47  return tvec1<R, P>(Func(v.x));
+
48  }
+
49  };
50 
-
51 #endif//glm_core_literals
+
51  template <typename R, typename T, precision P>
+
52  struct functor1<R, T, P, tvec2>
+
53  {
+
54  GLM_FUNC_QUALIFIER static tvec2<R, P> call(R (*Func) (T x), tvec2<T, P> const & v)
+
55  {
+
56  return tvec2<R, P>(Func(v.x), Func(v.y));
+
57  }
+
58  };
+
59 
+
60  template <typename R, typename T, precision P>
+
61  struct functor1<R, T, P, tvec3>
+
62  {
+
63  GLM_FUNC_QUALIFIER static tvec3<R, P> call(R (*Func) (T x), tvec3<T, P> const & v)
+
64  {
+
65  return tvec3<R, P>(Func(v.x), Func(v.y), Func(v.z));
+
66  }
+
67  };
+
68 
+
69  template <typename R, typename T, precision P>
+
70  struct functor1<R, T, P, tvec4>
+
71  {
+
72  GLM_FUNC_QUALIFIER static tvec4<R, P> call(R (*Func) (T x), tvec4<T, P> const & v)
+
73  {
+
74  return tvec4<R, P>(Func(v.x), Func(v.y), Func(v.z), Func(v.w));
+
75  }
+
76  };
+
77 
+
78  template <typename T, precision P, template <typename, precision> class vecType>
+
79  struct functor2{};
+
80 
+
81  template <typename T, precision P>
+
82  struct functor2<T, P, tvec1>
+
83  {
+
84  GLM_FUNC_QUALIFIER static tvec1<T, P> call(T (*Func) (T x, T y), tvec1<T, P> const & a, tvec1<T, P> const & b)
+
85  {
+
86  return tvec1<T, P>(Func(a.x, b.x));
+
87  }
+
88  };
+
89 
+
90  template <typename T, precision P>
+
91  struct functor2<T, P, tvec2>
+
92  {
+
93  GLM_FUNC_QUALIFIER static tvec2<T, P> call(T (*Func) (T x, T y), tvec2<T, P> const & a, tvec2<T, P> const & b)
+
94  {
+
95  return tvec2<T, P>(Func(a.x, b.x), Func(a.y, b.y));
+
96  }
+
97  };
+
98 
+
99  template <typename T, precision P>
+
100  struct functor2<T, P, tvec3>
+
101  {
+
102  GLM_FUNC_QUALIFIER static tvec3<T, P> call(T (*Func) (T x, T y), tvec3<T, P> const & a, tvec3<T, P> const & b)
+
103  {
+
104  return tvec3<T, P>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));
+
105  }
+
106  };
+
107 
+
108  template <typename T, precision P>
+
109  struct functor2<T, P, tvec4>
+
110  {
+
111  GLM_FUNC_QUALIFIER static tvec4<T, P> call(T (*Func) (T x, T y), tvec4<T, P> const & a, tvec4<T, P> const & b)
+
112  {
+
113  return tvec4<T, P>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));
+
114  }
+
115  };
+
116 
+
117  template <typename T, precision P, template <typename, precision> class vecType>
+
118  struct functor2_vec_sca{};
+
119 
+
120  template <typename T, precision P>
+
121  struct functor2_vec_sca<T, P, tvec1>
+
122  {
+
123  GLM_FUNC_QUALIFIER static tvec1<T, P> call(T (*Func) (T x, T y), tvec1<T, P> const & a, T b)
+
124  {
+
125  return tvec1<T, P>(Func(a.x, b));
+
126  }
+
127  };
+
128 
+
129  template <typename T, precision P>
+
130  struct functor2_vec_sca<T, P, tvec2>
+
131  {
+
132  GLM_FUNC_QUALIFIER static tvec2<T, P> call(T (*Func) (T x, T y), tvec2<T, P> const & a, T b)
+
133  {
+
134  return tvec2<T, P>(Func(a.x, b), Func(a.y, b));
+
135  }
+
136  };
+
137 
+
138  template <typename T, precision P>
+
139  struct functor2_vec_sca<T, P, tvec3>
+
140  {
+
141  GLM_FUNC_QUALIFIER static tvec3<T, P> call(T (*Func) (T x, T y), tvec3<T, P> const & a, T b)
+
142  {
+
143  return tvec3<T, P>(Func(a.x, b), Func(a.y, b), Func(a.z, b));
+
144  }
+
145  };
+
146 
+
147  template <typename T, precision P>
+
148  struct functor2_vec_sca<T, P, tvec4>
+
149  {
+
150  GLM_FUNC_QUALIFIER static tvec4<T, P> call(T (*Func) (T x, T y), tvec4<T, P> const & a, T b)
+
151  {
+
152  return tvec4<T, P>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));
+
153  }
+
154  };
+
155 }//namespace detail
+
156 }//namespace glm
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
+
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 15593ac2..a94dc628 100644 --- a/doc/api/a00007.html +++ b/doc/api/a00007.html @@ -3,8 +3,8 @@ - -GLM: _noise.hpp File Reference + +0.9.6: associated_min_max.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,107 @@
-Namespaces
+Functions
-
_noise.hpp File Reference
+
associated_min_max.hpp File Reference

Go to the source code of this file.

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

-Namespaces

 glm
 

+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)
 

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:

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_associated_min_max

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

Definition in file _noise.hpp.

+

Definition in file associated_min_max.hpp.

diff --git a/doc/api/a00007_source.html b/doc/api/a00007_source.html index c5345751..49da5a14 100644 --- a/doc/api/a00007_source.html +++ b/doc/api/a00007_source.html @@ -3,8 +3,8 @@ - -GLM: _noise.hpp Source File + +0.9.6: associated_min_max.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,124 +41,167 @@
-
_noise.hpp
+
associated_min_max.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_DETAIL_NOISE_INCLUDED
-
30 #define GLM_DETAIL_NOISE_INCLUDED
-
31 
-
32 namespace glm{
-
33 namespace detail
-
34 {
-
35  template <typename T>
-
36  GLM_FUNC_QUALIFIER T mod289(T const & x)
-
37  {
-
38  return x - floor(x * static_cast<T>(1.0) / static_cast<T>(289.0)) * static_cast<T>(289.0);
-
39  }
-
40 
-
41  template <typename T>
-
42  GLM_FUNC_QUALIFIER T permute(T const & x)
-
43  {
-
44  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
-
45  }
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
+
45 #endif
46 
-
47  template <typename T, precision P>
-
48  GLM_FUNC_QUALIFIER tvec2<T, P> permute(tvec2<T, P> const & x)
-
49  {
-
50  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
-
51  }
-
52 
-
53  template <typename T, precision P>
-
54  GLM_FUNC_QUALIFIER tvec3<T, P> permute(tvec3<T, P> const & x)
-
55  {
-
56  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
-
57  }
-
58 
-
59  template <typename T, precision P>
-
60  GLM_FUNC_QUALIFIER tvec4<T, P> permute(tvec4<T, P> const & x)
-
61  {
-
62  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
-
63  }
-
64 /*
-
65  template <typename T, precision P, template<typename> class vecType>
-
66  GLM_FUNC_QUALIFIER vecType<T, P> permute(vecType<T, P> const & x)
-
67  {
-
68  return mod289(((x * T(34)) + T(1)) * x);
-
69  }
-
70 */
-
71  template <typename T>
-
72  GLM_FUNC_QUALIFIER T taylorInvSqrt(T const & r)
-
73  {
-
74  return T(1.79284291400159) - T(0.85373472095314) * r;
-
75  }
-
76 
-
77  template <typename T, precision P>
-
78  GLM_FUNC_QUALIFIER detail::tvec2<T, P> taylorInvSqrt(detail::tvec2<T, P> const & r)
-
79  {
-
80  return T(1.79284291400159) - T(0.85373472095314) * r;
-
81  }
-
82 
-
83  template <typename T, precision P>
-
84  GLM_FUNC_QUALIFIER detail::tvec3<T, P> taylorInvSqrt(detail::tvec3<T, P> const & r)
-
85  {
-
86  return T(1.79284291400159) - T(0.85373472095314) * r;
-
87  }
-
88 
-
89  template <typename T, precision P>
-
90  GLM_FUNC_QUALIFIER detail::tvec4<T, P> taylorInvSqrt(detail::tvec4<T, P> const & r)
-
91  {
-
92  return T(1.79284291400159) - T(0.85373472095314) * r;
-
93  }
-
94 /*
-
95  template <typename T, precision P, template<typename> class vecType>
-
96  GLM_FUNC_QUALIFIER vecType<T, P> taylorInvSqrt(vecType<T, P> const & r)
-
97  {
-
98  return T(1.79284291400159) - T(0.85373472095314) * r;
-
99  }
-
100 */
-
101 
-
102  template <typename T, precision P>
-
103  GLM_FUNC_QUALIFIER detail::tvec2<T, P> fade(detail::tvec2<T, P> const & t)
-
104  {
-
105  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
-
106  }
-
107 
-
108  template <typename T, precision P>
-
109  GLM_FUNC_QUALIFIER detail::tvec3<T, P> fade(detail::tvec3<T, P> const & t)
-
110  {
-
111  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
-
112  }
-
113 
-
114  template <typename T, precision P>
-
115  GLM_FUNC_QUALIFIER detail::tvec4<T, P> fade(detail::tvec4<T, P> const & t)
-
116  {
-
117  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
-
118  }
-
119 /*
-
120  template <typename T, precision P, template <typename> class vecType>
-
121  GLM_FUNC_QUALIFIER vecType<T, P> fade(vecType<T, P> const & t)
-
122  {
-
123  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
-
124  }
-
125 */
-
126 }//namespace detail
-
127 }//namespace glm
-
128 
-
129 #endif//GLM_DETAIL_NOISE_INCLUDED
-
130 
-
GLM_FUNC_DECL genType floor(genType const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
+
47 namespace glm
+
48 {
+
51 
+
54  template<typename T, typename U, precision P>
+
55  GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b);
+
56 
+
59  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
60  GLM_FUNC_DECL tvec2<U, P> associatedMin(
+
61  vecType<T, P> const & x, vecType<U, P> const & a,
+
62  vecType<T, P> const & y, vecType<U, P> const & b);
+
63 
+
66  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
67  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
68  T x, const vecType<U, P>& a,
+
69  T y, const vecType<U, P>& b);
+
70 
+
73  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
74  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
75  vecType<T, P> const & x, U a,
+
76  vecType<T, P> const & y, U b);
+
77 
+
80  template<typename T, typename U>
+
81  GLM_FUNC_DECL U associatedMin(
+
82  T x, U a,
+
83  T y, U b,
+
84  T z, U c);
+
85 
+
88  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
89  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
90  vecType<T, P> const & x, vecType<U, P> const & a,
+
91  vecType<T, P> const & y, vecType<U, P> const & b,
+
92  vecType<T, P> const & z, vecType<U, P> const & c);
+
93 
+
96  template<typename T, typename U>
+
97  GLM_FUNC_DECL U associatedMin(
+
98  T x, U a,
+
99  T y, U b,
+
100  T z, U c,
+
101  T w, U d);
+
102 
+
105  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
106  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
107  vecType<T, P> const & x, vecType<U, P> const & a,
+
108  vecType<T, P> const & y, vecType<U, P> const & b,
+
109  vecType<T, P> const & z, vecType<U, P> const & c,
+
110  vecType<T, P> const & w, vecType<U, P> const & d);
+
111 
+
114  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
115  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
116  T x, vecType<U, P> const & a,
+
117  T y, vecType<U, P> const & b,
+
118  T z, vecType<U, P> const & c,
+
119  T w, vecType<U, P> const & d);
+
120 
+
123  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
124  GLM_FUNC_DECL vecType<U, P> associatedMin(
+
125  vecType<T, P> const & x, U a,
+
126  vecType<T, P> const & y, U b,
+
127  vecType<T, P> const & z, U c,
+
128  vecType<T, P> const & w, U d);
+
129 
+
132  template<typename T, typename U>
+
133  GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b);
+
134 
+
137  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
138  GLM_FUNC_DECL tvec2<U, P> associatedMax(
+
139  vecType<T, P> const & x, vecType<U, P> const & a,
+
140  vecType<T, P> const & y, vecType<U, P> const & b);
+
141 
+
144  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
145  GLM_FUNC_DECL vecType<T, P> associatedMax(
+
146  T x, vecType<U, P> const & a,
+
147  T y, vecType<U, P> const & b);
+
148 
+
151  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
152  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
153  vecType<T, P> const & x, U a,
+
154  vecType<T, P> const & y, U b);
+
155 
+
158  template<typename T, typename U>
+
159  GLM_FUNC_DECL U associatedMax(
+
160  T x, U a,
+
161  T y, U b,
+
162  T z, U c);
+
163 
+
166  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
167  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
168  vecType<T, P> const & x, vecType<U, P> const & a,
+
169  vecType<T, P> const & y, vecType<U, P> const & b,
+
170  vecType<T, P> const & z, vecType<U, P> const & c);
+
171 
+
174  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
175  GLM_FUNC_DECL vecType<T, P> associatedMax(
+
176  T x, vecType<U, P> const & a,
+
177  T y, vecType<U, P> const & b,
+
178  T z, vecType<U, P> const & c);
+
179 
+
182  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
183  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
184  vecType<T, P> const & x, U a,
+
185  vecType<T, P> const & y, U b,
+
186  vecType<T, P> const & z, U c);
+
187 
+
190  template<typename T, typename U>
+
191  GLM_FUNC_DECL U associatedMax(
+
192  T x, U a,
+
193  T y, U b,
+
194  T z, U c,
+
195  T w, U d);
+
196 
+
199  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
200  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
201  vecType<T, P> const & x, vecType<U, P> const & a,
+
202  vecType<T, P> const & y, vecType<U, P> const & b,
+
203  vecType<T, P> const & z, vecType<U, P> const & c,
+
204  vecType<T, P> const & w, vecType<U, P> const & d);
+
205 
+
208  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
209  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
210  T x, vecType<U, P> const & a,
+
211  T y, vecType<U, P> const & b,
+
212  T z, vecType<U, P> const & c,
+
213  T w, vecType<U, P> const & d);
+
214 
+
217  template<typename T, typename U, precision P, template <typename, precision> class vecType>
+
218  GLM_FUNC_DECL vecType<U, P> associatedMax(
+
219  vecType<T, P> const & x, U a,
+
220  vecType<T, P> const & y, U b,
+
221  vecType<T, P> const & z, U c,
+
222  vecType<T, P> const & w, U d);
+
223 
+
225 } //namespace glm
+
226 
+
227 #include "associated_min_max.inl"
+
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:31
diff --git a/doc/api/a00008.html b/doc/api/a00008.html new file mode 100644 index 00000000..e9d1cf64 --- /dev/null +++ b/doc/api/a00008.html @@ -0,0 +1,112 @@ + + + + + + +0.9.6: bit.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
bit.hpp File Reference
+
+
+ +

Go to the source code of this file.

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

+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_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > powerOfTwoAbove (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > powerOfTwoBelow (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
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:

+

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_GTX_bit

+
Date
2007-03-14 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+
+gtc_half_float (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.

+

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

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

Definition in file bit.hpp.

+
+ + + + diff --git a/doc/api/a00008_source.html b/doc/api/a00008_source.html index d11f3234..ea64ca62 100644 --- a/doc/api/a00008_source.html +++ b/doc/api/a00008_source.html @@ -3,8 +3,8 @@ - -GLM: _swizzle.hpp Source File + +0.9.6: bit.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,834 +41,67 @@
-
_swizzle.hpp
+
bit.hpp
-
1 
-
29 #ifndef glm_core_swizzle
-
30 #define glm_core_swizzle
-
31 
-
32 namespace glm{
-
33 namespace detail
-
34 {
-
35  // Internal class for implementing swizzle operators
-
36  template <typename T, int N>
-
37  struct _swizzle_base0
-
38  {
-
39  typedef T value_type;
+Go to the documentation of this file.
1 
+
39 #pragma once
40 
-
41  protected:
-
42  GLM_FUNC_QUALIFIER value_type& elem (size_t i) { return (reinterpret_cast<value_type*>(_buffer))[i]; }
-
43  GLM_FUNC_QUALIFIER const value_type& elem (size_t i) const { return (reinterpret_cast<const value_type*>(_buffer))[i]; }
-
44 
-
45  // Use an opaque buffer to *ensure* the compiler doesn't call a constructor.
-
46  // The size 1 buffer is assumed to aligned to the actual members so that the
-
47  // elem()
-
48  char _buffer[1];
-
49  };
-
50 
-
51  template <typename T, precision P, typename V, int E0, int E1, int E2, int E3, int N>
-
52  struct _swizzle_base1 : public _swizzle_base0<T, N>
-
53  {
-
54  };
-
55 
-
56  template <typename T, precision P, typename V, int E0, int E1>
-
57  struct _swizzle_base1<T, P, V,E0,E1,-1,-2,2> : public _swizzle_base0<T, 2>
-
58  {
-
59  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1)); }
-
60  };
-
61 
-
62  template <typename T, precision P, typename V, int E0, int E1, int E2>
-
63  struct _swizzle_base1<T, P, V,E0,E1,E2,-1,3> : public _swizzle_base0<T, 3>
-
64  {
-
65  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2)); }
-
66  };
-
67 
-
68  template <typename T, precision P, typename V, int E0, int E1, int E2, int E3>
-
69  struct _swizzle_base1<T, P, V,E0,E1,E2,E3,4> : public _swizzle_base0<T, 4>
-
70  {
-
71  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
-
72  };
-
73 
-
74  // Internal class for implementing swizzle operators
-
75  /*
-
76  Template parameters:
-
77 
-
78  ValueType = type of scalar values (e.g. float, double)
-
79  VecType = class the swizzle is applies to (e.g. tvec3<float>)
-
80  N = number of components in the vector (e.g. 3)
-
81  E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec
-
82 
-
83  DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles
-
84  containing duplicate elements so that they cannot be used as r-values).
-
85  */
-
86  template <typename ValueType, precision P, typename VecType, int N, int E0, int E1, int E2, int E3, int DUPLICATE_ELEMENTS>
-
87  struct _swizzle_base2 : public _swizzle_base1<ValueType, P, VecType,E0,E1,E2,E3,N>
-
88  {
-
89  typedef VecType vec_type;
-
90  typedef ValueType value_type;
-
91 
-
92  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const ValueType& t)
-
93  {
-
94  for (int i = 0; i < N; ++i)
-
95  (*this)[i] = t;
-
96  return *this;
-
97  }
+
41 // Dependencies
+
42 #include "../gtc/bitfield.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES))
+
45 # pragma message("GLM: GLM_GTX_bit extension is deprecated, include GLM_GTC_bitfield and GLM_GTC_integer instead")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
54  template <typename genIUType>
+
55  GLM_FUNC_DECL genIUType highestBitValue(genIUType Value);
+
56 
+
60  template <typename T, precision P, template <typename, precision> class vecType>
+
61  GLM_FUNC_DECL vecType<T, P> highestBitValue(vecType<T, P> const & value);
+
62 
+
66  template <typename genIUType>
+
67  GLM_FUNC_DECL genIUType powerOfTwoAbove(genIUType Value);
+
68 
+
72  template <typename T, precision P, template <typename, precision> class vecType>
+
73  GLM_FUNC_DECL vecType<T, P> powerOfTwoAbove(vecType<T, P> const & value);
+
74 
+
78  template <typename genIUType>
+
79  GLM_FUNC_DECL genIUType powerOfTwoBelow(genIUType Value);
+
80 
+
84  template <typename T, precision P, template <typename, precision> class vecType>
+
85  GLM_FUNC_DECL vecType<T, P> powerOfTwoBelow(vecType<T, P> const & value);
+
86 
+
90  template <typename genIUType>
+
91  GLM_FUNC_DECL genIUType powerOfTwoNearest(genIUType Value);
+
92 
+
96  template <typename T, precision P, template <typename, precision> class vecType>
+
97  GLM_FUNC_DECL vecType<T, P> powerOfTwoNearest(vecType<T, P> const & value);
98 
-
99  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const VecType& that)
-
100  {
-
101  struct op {
-
102  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e = t; }
-
103  };
-
104  _apply_op(that, op());
-
105  return *this;
-
106  }
-
107 
-
108  GLM_FUNC_QUALIFIER void operator -= (const VecType& that)
-
109  {
-
110  struct op {
-
111  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e -= t; }
-
112  };
-
113  _apply_op(that, op());
-
114  }
-
115 
-
116  GLM_FUNC_QUALIFIER void operator += (const VecType& that)
-
117  {
-
118  struct op {
-
119  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e += t; }
-
120  };
-
121  _apply_op(that, op());
-
122  }
-
123 
-
124  GLM_FUNC_QUALIFIER void operator *= (const VecType& that)
-
125  {
-
126  struct op {
-
127  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e *= t; }
-
128  };
-
129  _apply_op(that, op());
-
130  }
-
131 
-
132  GLM_FUNC_QUALIFIER void operator /= (const VecType& that)
-
133  {
-
134  struct op {
-
135  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e /= t; }
-
136  };
-
137  _apply_op(that, op());
-
138  }
-
139 
-
140  GLM_FUNC_QUALIFIER value_type& operator[] (size_t i)
-
141  {
-
142 #ifndef __CUDA_ARCH__
-
143  static
-
144 #endif
-
145  const int offset_dst[4] = { E0, E1, E2, E3 };
-
146  return this->elem(offset_dst[i]);
-
147  }
-
148  GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
-
149  {
-
150 #ifndef __CUDA_ARCH__
-
151  static
-
152 #endif
-
153  const int offset_dst[4] = { E0, E1, E2, E3 };
-
154  return this->elem(offset_dst[i]);
-
155  }
-
156  protected:
-
157  template <typename T>
-
158  GLM_FUNC_QUALIFIER void _apply_op(const VecType& that, T op)
-
159  {
-
160  // Make a copy of the data in this == &that.
-
161  // The copier should optimize out the copy in cases where the function is
-
162  // properly inlined and the copy is not necessary.
-
163  ValueType t[N];
-
164  for (int i = 0; i < N; ++i)
-
165  t[i] = that[i];
-
166  for (int i = 0; i < N; ++i)
-
167  op( (*this)[i], t[i] );
-
168  }
-
169  };
-
170 
-
171  // Specialization for swizzles containing duplicate elements. These cannot be modified.
-
172  template <typename ValueType, precision P, typename VecType, int N, int E0, int E1, int E2, int E3>
-
173  struct _swizzle_base2<ValueType, P, VecType,N,E0,E1,E2,E3,1> : public _swizzle_base1<ValueType, P, VecType,E0,E1,E2,E3,N>
-
174  {
-
175  typedef VecType vec_type;
-
176  typedef ValueType value_type;
-
177 
-
178  struct Stub {};
-
179  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const &) { return *this; }
-
180 
-
181  GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
-
182  {
-
183 #ifndef __CUDA_ARCH__
-
184  static
-
185 #endif
-
186  const int offset_dst[4] = { E0, E1, E2, E3 };
-
187  return this->elem(offset_dst[i]);
-
188  }
-
189  };
-
190 
-
191  template <int N,typename ValueType, precision P, typename VecType, int E0,int E1,int E2,int E3>
-
192  struct _swizzle : public _swizzle_base2<ValueType, P, VecType, N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)>
-
193  {
-
194  typedef _swizzle_base2<ValueType, P, VecType,N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)> base_type;
-
195 
-
196  using base_type::operator=;
-
197 
-
198  GLM_FUNC_QUALIFIER operator VecType () const { return (*this)(); }
-
199  };
-
200 
-
201 //
-
202 // To prevent the C++ syntax from getting entirely overwhelming, define some alias macros
-
203 //
-
204 #define _GLM_SWIZZLE_TEMPLATE1 template <int N, typename T, precision P, typename V, int E0, int E1, int E2, int E3>
-
205 #define _GLM_SWIZZLE_TEMPLATE2 template <int N, typename T, precision P, typename V, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3>
-
206 #define _GLM_SWIZZLE_TYPE1 _swizzle<N, T, P, V, E0, E1, E2, E3>
-
207 #define _GLM_SWIZZLE_TYPE2 _swizzle<N, T, P, V, F0, F1, F2, F3>
-
208 
-
209 //
-
210 // Wrapper for a binary operator (e.g. u.yy + v.zy)
-
211 //
-
212 #define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
-
213  _GLM_SWIZZLE_TEMPLATE2 \
-
214  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
-
215  { \
-
216  return a() OPERAND b(); \
-
217  } \
-
218  _GLM_SWIZZLE_TEMPLATE1 \
-
219  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const V& b) \
-
220  { \
-
221  return a() OPERAND b; \
-
222  } \
-
223  _GLM_SWIZZLE_TEMPLATE1 \
-
224  GLM_FUNC_QUALIFIER V operator OPERAND ( const V& a, const _GLM_SWIZZLE_TYPE1& b) \
-
225  { \
-
226  return a OPERAND b(); \
-
227  }
-
228 
-
229 //
-
230 // Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)
-
231 //
-
232 #define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
-
233  _GLM_SWIZZLE_TEMPLATE1 \
-
234  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \
-
235  { \
-
236  return a() OPERAND b; \
-
237  } \
-
238  _GLM_SWIZZLE_TEMPLATE1 \
-
239  GLM_FUNC_QUALIFIER V operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \
-
240  { \
-
241  return a OPERAND b(); \
-
242  }
-
243 
-
244 //
-
245 // Macro for wrapping a function taking one argument (e.g. abs())
-
246 //
-
247 #define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \
-
248  _GLM_SWIZZLE_TEMPLATE1 \
-
249  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \
-
250  { \
-
251  return FUNCTION(a()); \
-
252  }
-
253 
-
254 //
-
255 // Macro for wrapping a function taking two vector arguments (e.g. dot()).
-
256 //
-
257 #define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \
-
258  _GLM_SWIZZLE_TEMPLATE2 \
-
259  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
-
260  { \
-
261  return FUNCTION(a(), b()); \
-
262  } \
-
263  _GLM_SWIZZLE_TEMPLATE1 \
-
264  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \
-
265  { \
-
266  return FUNCTION(a(), b()); \
-
267  } \
-
268  _GLM_SWIZZLE_TEMPLATE1 \
-
269  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \
-
270  { \
-
271  return FUNCTION(a(), b); \
-
272  } \
-
273  _GLM_SWIZZLE_TEMPLATE1 \
-
274  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \
-
275  { \
-
276  return FUNCTION(a, b()); \
-
277  }
-
278 
-
279 //
-
280 // Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).
-
281 //
-
282 #define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \
-
283  _GLM_SWIZZLE_TEMPLATE2 \
-
284  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \
-
285  { \
-
286  return FUNCTION(a(), b(), c); \
-
287  } \
-
288  _GLM_SWIZZLE_TEMPLATE1 \
-
289  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
-
290  { \
-
291  return FUNCTION(a(), b(), c); \
-
292  } \
-
293  _GLM_SWIZZLE_TEMPLATE1 \
-
294  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
-
295  { \
-
296  return FUNCTION(a(), b, c); \
-
297  } \
-
298  _GLM_SWIZZLE_TEMPLATE1 \
-
299  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
-
300  { \
-
301  return FUNCTION(a, b(), c); \
-
302  }
-
303 
-
304 }//namespace detail
-
305 }//namespace glm
-
306 
-
307 namespace glm
-
308 {
-
309  namespace detail
-
310  {
-
311  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)
-
312  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)
-
313  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)
-
314  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)
-
315  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)
-
316  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)
-
317  }
-
318 
-
319  //
-
320  // Swizzles are distinct types from the unswizzled type. The below macros will
-
321  // provide template specializations for the swizzle types for the given functions
-
322  // so that the compiler does not have any ambiguity to choosing how to handle
-
323  // the function.
-
324  //
-
325  // The alternative is to use the operator()() when calling the function in order
-
326  // to explicitly convert the swizzled type to the unswizzled type.
-
327  //
-
328 
-
329  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs);
-
330  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos);
-
331  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh);
-
332  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all);
-
333  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any);
-
334 
-
335  //_GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);
-
336  //_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);
-
337  //_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step);
-
338  //_GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);
-
339 }
-
340 
-
341 #define _GLM_SWIZZLE2_2_MEMBERS(T, P, V, E0,E1) \
-
342  struct { _swizzle<2, T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
-
343  struct { _swizzle<2, T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
-
344  struct { _swizzle<2, T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
-
345  struct { _swizzle<2, T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; };
-
346 
-
347 #define _GLM_SWIZZLE2_3_MEMBERS(T, P, V, E0,E1) \
-
348  struct { _swizzle<3,T, P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
-
349  struct { _swizzle<3,T, P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
-
350  struct { _swizzle<3,T, P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
-
351  struct { _swizzle<3,T, P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
-
352  struct { _swizzle<3,T, P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
-
353  struct { _swizzle<3,T, P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
-
354  struct { _swizzle<3,T, P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
-
355  struct { _swizzle<3,T, P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; };
-
356 
-
357 #define _GLM_SWIZZLE2_4_MEMBERS(T, P, V, E0,E1) \
-
358  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
-
359  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
-
360  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
-
361  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
-
362  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
-
363  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
-
364  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
-
365  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
-
366  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
-
367  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
-
368  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
-
369  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
-
370  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
-
371  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
-
372  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
-
373  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; };
-
374 
-
375 #define _GLM_SWIZZLE3_2_MEMBERS(T, P, V, E0,E1,E2) \
-
376  struct { _swizzle<2,T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
-
377  struct { _swizzle<2,T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
-
378  struct { _swizzle<2,T, P, V<T, P>, 0,2,-1,-2> E0 ## E2; }; \
-
379  struct { _swizzle<2,T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
-
380  struct { _swizzle<2,T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; }; \
-
381  struct { _swizzle<2,T, P, V<T, P>, 1,2,-1,-2> E1 ## E2; }; \
-
382  struct { _swizzle<2,T, P, V<T, P>, 2,0,-1,-2> E2 ## E0; }; \
-
383  struct { _swizzle<2,T, P, V<T, P>, 2,1,-1,-2> E2 ## E1; }; \
-
384  struct { _swizzle<2,T, P, V<T, P>, 2,2,-1,-2> E2 ## E2; };
-
385 
-
386 #define _GLM_SWIZZLE3_3_MEMBERS(T, P, V ,E0,E1,E2) \
-
387  struct { _swizzle<3,T,P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
-
388  struct { _swizzle<3,T,P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
-
389  struct { _swizzle<3,T,P, V<T, P>, 0,0,2,-1> E0 ## E0 ## E2; }; \
-
390  struct { _swizzle<3,T,P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
-
391  struct { _swizzle<3,T,P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
-
392  struct { _swizzle<3,T,P, V<T, P>, 0,1,2,-1> E0 ## E1 ## E2; }; \
-
393  struct { _swizzle<3,T,P, V<T, P>, 0,2,0,-1> E0 ## E2 ## E0; }; \
-
394  struct { _swizzle<3,T,P, V<T, P>, 0,2,1,-1> E0 ## E2 ## E1; }; \
-
395  struct { _swizzle<3,T,P, V<T, P>, 0,2,2,-1> E0 ## E2 ## E2; }; \
-
396  struct { _swizzle<3,T,P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
-
397  struct { _swizzle<3,T,P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
-
398  struct { _swizzle<3,T,P, V<T, P>, 1,0,2,-1> E1 ## E0 ## E2; }; \
-
399  struct { _swizzle<3,T,P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
-
400  struct { _swizzle<3,T,P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; }; \
-
401  struct { _swizzle<3,T,P, V<T, P>, 1,1,2,-1> E1 ## E1 ## E2; }; \
-
402  struct { _swizzle<3,T,P, V<T, P>, 1,2,0,-1> E1 ## E2 ## E0; }; \
-
403  struct { _swizzle<3,T,P, V<T, P>, 1,2,1,-1> E1 ## E2 ## E1; }; \
-
404  struct { _swizzle<3,T,P, V<T, P>, 1,2,2,-1> E1 ## E2 ## E2; }; \
-
405  struct { _swizzle<3,T,P, V<T, P>, 2,0,0,-1> E2 ## E0 ## E0; }; \
-
406  struct { _swizzle<3,T,P, V<T, P>, 2,0,1,-1> E2 ## E0 ## E1; }; \
-
407  struct { _swizzle<3,T,P, V<T, P>, 2,0,2,-1> E2 ## E0 ## E2; }; \
-
408  struct { _swizzle<3,T,P, V<T, P>, 2,1,0,-1> E2 ## E1 ## E0; }; \
-
409  struct { _swizzle<3,T,P, V<T, P>, 2,1,1,-1> E2 ## E1 ## E1; }; \
-
410  struct { _swizzle<3,T,P, V<T, P>, 2,1,2,-1> E2 ## E1 ## E2; }; \
-
411  struct { _swizzle<3,T,P, V<T, P>, 2,2,0,-1> E2 ## E2 ## E0; }; \
-
412  struct { _swizzle<3,T,P, V<T, P>, 2,2,1,-1> E2 ## E2 ## E1; }; \
-
413  struct { _swizzle<3,T,P, V<T, P>, 2,2,2,-1> E2 ## E2 ## E2; };
-
414 
-
415 #define _GLM_SWIZZLE3_4_MEMBERS(T, P, V, E0,E1,E2) \
-
416  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
-
417  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
-
418  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
-
419  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
-
420  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
-
421  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
-
422  struct { _swizzle<4,T, P, V<T, P>, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
-
423  struct { _swizzle<4,T, P, V<T, P>, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
-
424  struct { _swizzle<4,T, P, V<T, P>, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
-
425  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
-
426  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
-
427  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
-
428  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
-
429  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
-
430  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
-
431  struct { _swizzle<4,T, P, V<T, P>, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
-
432  struct { _swizzle<4,T, P, V<T, P>, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
-
433  struct { _swizzle<4,T, P, V<T, P>, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
-
434  struct { _swizzle<4,T, P, V<T, P>, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
-
435  struct { _swizzle<4,T, P, V<T, P>, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
-
436  struct { _swizzle<4,T, P, V<T, P>, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
-
437  struct { _swizzle<4,T, P, V<T, P>, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
-
438  struct { _swizzle<4,T, P, V<T, P>, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
-
439  struct { _swizzle<4,T, P, V<T, P>, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
-
440  struct { _swizzle<4,T, P, V<T, P>, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
-
441  struct { _swizzle<4,T, P, V<T, P>, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
-
442  struct { _swizzle<4,T, P, V<T, P>, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
-
443  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
-
444  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
-
445  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
-
446  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
-
447  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
-
448  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
-
449  struct { _swizzle<4,T, P, V<T, P>, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
-
450  struct { _swizzle<4,T, P, V<T, P>, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
-
451  struct { _swizzle<4,T, P, V<T, P>, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
-
452  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
-
453  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
-
454  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
-
455  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
-
456  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
-
457  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
-
458  struct { _swizzle<4,T, P, V<T, P>, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
-
459  struct { _swizzle<4,T, P, V<T, P>, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
-
460  struct { _swizzle<4,T, P, V<T, P>, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
-
461  struct { _swizzle<4,T, P, V<T, P>, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
-
462  struct { _swizzle<4,T, P, V<T, P>, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
-
463  struct { _swizzle<4,T, P, V<T, P>, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
-
464  struct { _swizzle<4,T, P, V<T, P>, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
-
465  struct { _swizzle<4,T, P, V<T, P>, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
-
466  struct { _swizzle<4,T, P, V<T, P>, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
-
467  struct { _swizzle<4,T, P, V<T, P>, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
-
468  struct { _swizzle<4,T, P, V<T, P>, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
-
469  struct { _swizzle<4,T, P, V<T, P>, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
-
470  struct { _swizzle<4,T, P, V<T, P>, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
-
471  struct { _swizzle<4,T, P, V<T, P>, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
-
472  struct { _swizzle<4,T, P, V<T, P>, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
-
473  struct { _swizzle<4,T, P, V<T, P>, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
-
474  struct { _swizzle<4,T, P, V<T, P>, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
-
475  struct { _swizzle<4,T, P, V<T, P>, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
-
476  struct { _swizzle<4,T, P, V<T, P>, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
-
477  struct { _swizzle<4,T, P, V<T, P>, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
-
478  struct { _swizzle<4,T, P, V<T, P>, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
-
479  struct { _swizzle<4,T, P, V<T, P>, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
-
480  struct { _swizzle<4,T, P, V<T, P>, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
-
481  struct { _swizzle<4,T, P, V<T, P>, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
-
482  struct { _swizzle<4,T, P, V<T, P>, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
-
483  struct { _swizzle<4,T, P, V<T, P>, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
-
484  struct { _swizzle<4,T, P, V<T, P>, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
-
485  struct { _swizzle<4,T, P, V<T, P>, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
-
486  struct { _swizzle<4,T, P, V<T, P>, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
-
487  struct { _swizzle<4,T, P, V<T, P>, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
-
488  struct { _swizzle<4,T, P, V<T, P>, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
-
489  struct { _swizzle<4,T, P, V<T, P>, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
-
490  struct { _swizzle<4,T, P, V<T, P>, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
-
491  struct { _swizzle<4,T, P, V<T, P>, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
-
492  struct { _swizzle<4,T, P, V<T, P>, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
-
493  struct { _swizzle<4,T, P, V<T, P>, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
-
494  struct { _swizzle<4,T, P, V<T, P>, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
-
495  struct { _swizzle<4,T, P, V<T, P>, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
-
496  struct { _swizzle<4,T, P, V<T, P>, 2,2,2,2> E2 ## E2 ## E2 ## E2; };
-
497 
-
498 #define _GLM_SWIZZLE4_2_MEMBERS(T, P, V, E0,E1,E2,E3) \
-
499  struct { _swizzle<2,T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
-
500  struct { _swizzle<2,T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
-
501  struct { _swizzle<2,T, P, V<T, P>, 0,2,-1,-2> E0 ## E2; }; \
-
502  struct { _swizzle<2,T, P, V<T, P>, 0,3,-1,-2> E0 ## E3; }; \
-
503  struct { _swizzle<2,T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
-
504  struct { _swizzle<2,T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; }; \
-
505  struct { _swizzle<2,T, P, V<T, P>, 1,2,-1,-2> E1 ## E2; }; \
-
506  struct { _swizzle<2,T, P, V<T, P>, 1,3,-1,-2> E1 ## E3; }; \
-
507  struct { _swizzle<2,T, P, V<T, P>, 2,0,-1,-2> E2 ## E0; }; \
-
508  struct { _swizzle<2,T, P, V<T, P>, 2,1,-1,-2> E2 ## E1; }; \
-
509  struct { _swizzle<2,T, P, V<T, P>, 2,2,-1,-2> E2 ## E2; }; \
-
510  struct { _swizzle<2,T, P, V<T, P>, 2,3,-1,-2> E2 ## E3; }; \
-
511  struct { _swizzle<2,T, P, V<T, P>, 3,0,-1,-2> E3 ## E0; }; \
-
512  struct { _swizzle<2,T, P, V<T, P>, 3,1,-1,-2> E3 ## E1; }; \
-
513  struct { _swizzle<2,T, P, V<T, P>, 3,2,-1,-2> E3 ## E2; }; \
-
514  struct { _swizzle<2,T, P, V<T, P>, 3,3,-1,-2> E3 ## E3; };
-
515 
-
516 #define _GLM_SWIZZLE4_3_MEMBERS(T,P, V, E0,E1,E2,E3) \
-
517  struct { _swizzle<3,T,P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
-
518  struct { _swizzle<3,T,P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
-
519  struct { _swizzle<3,T,P, V<T, P>, 0,0,2,-1> E0 ## E0 ## E2; }; \
-
520  struct { _swizzle<3,T,P, V<T, P>, 0,0,3,-1> E0 ## E0 ## E3; }; \
-
521  struct { _swizzle<3,T,P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
-
522  struct { _swizzle<3,T,P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
-
523  struct { _swizzle<3,T,P, V<T, P>, 0,1,2,-1> E0 ## E1 ## E2; }; \
-
524  struct { _swizzle<3,T,P, V<T, P>, 0,1,3,-1> E0 ## E1 ## E3; }; \
-
525  struct { _swizzle<3,T,P, V<T, P>, 0,2,0,-1> E0 ## E2 ## E0; }; \
-
526  struct { _swizzle<3,T,P, V<T, P>, 0,2,1,-1> E0 ## E2 ## E1; }; \
-
527  struct { _swizzle<3,T,P, V<T, P>, 0,2,2,-1> E0 ## E2 ## E2; }; \
-
528  struct { _swizzle<3,T,P, V<T, P>, 0,2,3,-1> E0 ## E2 ## E3; }; \
-
529  struct { _swizzle<3,T,P, V<T, P>, 0,3,0,-1> E0 ## E3 ## E0; }; \
-
530  struct { _swizzle<3,T,P, V<T, P>, 0,3,1,-1> E0 ## E3 ## E1; }; \
-
531  struct { _swizzle<3,T,P, V<T, P>, 0,3,2,-1> E0 ## E3 ## E2; }; \
-
532  struct { _swizzle<3,T,P, V<T, P>, 0,3,3,-1> E0 ## E3 ## E3; }; \
-
533  struct { _swizzle<3,T,P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
-
534  struct { _swizzle<3,T,P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
-
535  struct { _swizzle<3,T,P, V<T, P>, 1,0,2,-1> E1 ## E0 ## E2; }; \
-
536  struct { _swizzle<3,T,P, V<T, P>, 1,0,3,-1> E1 ## E0 ## E3; }; \
-
537  struct { _swizzle<3,T,P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
-
538  struct { _swizzle<3,T,P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; }; \
-
539  struct { _swizzle<3,T,P, V<T, P>, 1,1,2,-1> E1 ## E1 ## E2; }; \
-
540  struct { _swizzle<3,T,P, V<T, P>, 1,1,3,-1> E1 ## E1 ## E3; }; \
-
541  struct { _swizzle<3,T,P, V<T, P>, 1,2,0,-1> E1 ## E2 ## E0; }; \
-
542  struct { _swizzle<3,T,P, V<T, P>, 1,2,1,-1> E1 ## E2 ## E1; }; \
-
543  struct { _swizzle<3,T,P, V<T, P>, 1,2,2,-1> E1 ## E2 ## E2; }; \
-
544  struct { _swizzle<3,T,P, V<T, P>, 1,2,3,-1> E1 ## E2 ## E3; }; \
-
545  struct { _swizzle<3,T,P, V<T, P>, 1,3,0,-1> E1 ## E3 ## E0; }; \
-
546  struct { _swizzle<3,T,P, V<T, P>, 1,3,1,-1> E1 ## E3 ## E1; }; \
-
547  struct { _swizzle<3,T,P, V<T, P>, 1,3,2,-1> E1 ## E3 ## E2; }; \
-
548  struct { _swizzle<3,T,P, V<T, P>, 1,3,3,-1> E1 ## E3 ## E3; }; \
-
549  struct { _swizzle<3,T,P, V<T, P>, 2,0,0,-1> E2 ## E0 ## E0; }; \
-
550  struct { _swizzle<3,T,P, V<T, P>, 2,0,1,-1> E2 ## E0 ## E1; }; \
-
551  struct { _swizzle<3,T,P, V<T, P>, 2,0,2,-1> E2 ## E0 ## E2; }; \
-
552  struct { _swizzle<3,T,P, V<T, P>, 2,0,3,-1> E2 ## E0 ## E3; }; \
-
553  struct { _swizzle<3,T,P, V<T, P>, 2,1,0,-1> E2 ## E1 ## E0; }; \
-
554  struct { _swizzle<3,T,P, V<T, P>, 2,1,1,-1> E2 ## E1 ## E1; }; \
-
555  struct { _swizzle<3,T,P, V<T, P>, 2,1,2,-1> E2 ## E1 ## E2; }; \
-
556  struct { _swizzle<3,T,P, V<T, P>, 2,1,3,-1> E2 ## E1 ## E3; }; \
-
557  struct { _swizzle<3,T,P, V<T, P>, 2,2,0,-1> E2 ## E2 ## E0; }; \
-
558  struct { _swizzle<3,T,P, V<T, P>, 2,2,1,-1> E2 ## E2 ## E1; }; \
-
559  struct { _swizzle<3,T,P, V<T, P>, 2,2,2,-1> E2 ## E2 ## E2; }; \
-
560  struct { _swizzle<3,T,P, V<T, P>, 2,2,3,-1> E2 ## E2 ## E3; }; \
-
561  struct { _swizzle<3,T,P, V<T, P>, 2,3,0,-1> E2 ## E3 ## E0; }; \
-
562  struct { _swizzle<3,T,P, V<T, P>, 2,3,1,-1> E2 ## E3 ## E1; }; \
-
563  struct { _swizzle<3,T,P, V<T, P>, 2,3,2,-1> E2 ## E3 ## E2; }; \
-
564  struct { _swizzle<3,T,P, V<T, P>, 2,3,3,-1> E2 ## E3 ## E3; }; \
-
565  struct { _swizzle<3,T,P, V<T, P>, 3,0,0,-1> E3 ## E0 ## E0; }; \
-
566  struct { _swizzle<3,T,P, V<T, P>, 3,0,1,-1> E3 ## E0 ## E1; }; \
-
567  struct { _swizzle<3,T,P, V<T, P>, 3,0,2,-1> E3 ## E0 ## E2; }; \
-
568  struct { _swizzle<3,T,P, V<T, P>, 3,0,3,-1> E3 ## E0 ## E3; }; \
-
569  struct { _swizzle<3,T,P, V<T, P>, 3,1,0,-1> E3 ## E1 ## E0; }; \
-
570  struct { _swizzle<3,T,P, V<T, P>, 3,1,1,-1> E3 ## E1 ## E1; }; \
-
571  struct { _swizzle<3,T,P, V<T, P>, 3,1,2,-1> E3 ## E1 ## E2; }; \
-
572  struct { _swizzle<3,T,P, V<T, P>, 3,1,3,-1> E3 ## E1 ## E3; }; \
-
573  struct { _swizzle<3,T,P, V<T, P>, 3,2,0,-1> E3 ## E2 ## E0; }; \
-
574  struct { _swizzle<3,T,P, V<T, P>, 3,2,1,-1> E3 ## E2 ## E1; }; \
-
575  struct { _swizzle<3,T,P, V<T, P>, 3,2,2,-1> E3 ## E2 ## E2; }; \
-
576  struct { _swizzle<3,T,P, V<T, P>, 3,2,3,-1> E3 ## E2 ## E3; }; \
-
577  struct { _swizzle<3,T,P, V<T, P>, 3,3,0,-1> E3 ## E3 ## E0; }; \
-
578  struct { _swizzle<3,T,P, V<T, P>, 3,3,1,-1> E3 ## E3 ## E1; }; \
-
579  struct { _swizzle<3,T,P, V<T, P>, 3,3,2,-1> E3 ## E3 ## E2; }; \
-
580  struct { _swizzle<3,T,P, V<T, P>, 3,3,3,-1> E3 ## E3 ## E3; };
-
581 
-
582 #define _GLM_SWIZZLE4_4_MEMBERS(T, P, V, E0,E1,E2,E3) \
-
583  struct { _swizzle<4, T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
-
584  struct { _swizzle<4, T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
-
585  struct { _swizzle<4, T, P, V<T, P>, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
-
586  struct { _swizzle<4, T, P, V<T, P>, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \
-
587  struct { _swizzle<4, T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
-
588  struct { _swizzle<4, T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
-
589  struct { _swizzle<4, T, P, V<T, P>, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
-
590  struct { _swizzle<4, T, P, V<T, P>, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \
-
591  struct { _swizzle<4, T, P, V<T, P>, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
-
592  struct { _swizzle<4, T, P, V<T, P>, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
-
593  struct { _swizzle<4, T, P, V<T, P>, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
-
594  struct { _swizzle<4, T, P, V<T, P>, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \
-
595  struct { _swizzle<4, T, P, V<T, P>, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \
-
596  struct { _swizzle<4, T, P, V<T, P>, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \
-
597  struct { _swizzle<4, T, P, V<T, P>, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \
-
598  struct { _swizzle<4, T, P, V<T, P>, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \
-
599  struct { _swizzle<4, T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
-
600  struct { _swizzle<4, T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
-
601  struct { _swizzle<4, T, P, V<T, P>, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
-
602  struct { _swizzle<4, T, P, V<T, P>, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \
-
603  struct { _swizzle<4, T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
-
604  struct { _swizzle<4, T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
-
605  struct { _swizzle<4, T, P, V<T, P>, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
-
606  struct { _swizzle<4, T, P, V<T, P>, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \
-
607  struct { _swizzle<4, T, P, V<T, P>, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
-
608  struct { _swizzle<4, T, P, V<T, P>, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
-
609  struct { _swizzle<4, T, P, V<T, P>, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
-
610  struct { _swizzle<4, T, P, V<T, P>, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \
-
611  struct { _swizzle<4, T, P, V<T, P>, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \
-
612  struct { _swizzle<4, T, P, V<T, P>, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \
-
613  struct { _swizzle<4, T, P, V<T, P>, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \
-
614  struct { _swizzle<4, T, P, V<T, P>, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \
-
615  struct { _swizzle<4, T, P, V<T, P>, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
-
616  struct { _swizzle<4, T, P, V<T, P>, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
-
617  struct { _swizzle<4, T, P, V<T, P>, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
-
618  struct { _swizzle<4, T, P, V<T, P>, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \
-
619  struct { _swizzle<4, T, P, V<T, P>, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
-
620  struct { _swizzle<4, T, P, V<T, P>, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
-
621  struct { _swizzle<4, T, P, V<T, P>, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
-
622  struct { _swizzle<4, T, P, V<T, P>, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \
-
623  struct { _swizzle<4, T, P, V<T, P>, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
-
624  struct { _swizzle<4, T, P, V<T, P>, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
-
625  struct { _swizzle<4, T, P, V<T, P>, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
-
626  struct { _swizzle<4, T, P, V<T, P>, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \
-
627  struct { _swizzle<4, T, P, V<T, P>, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \
-
628  struct { _swizzle<4, T, P, V<T, P>, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \
-
629  struct { _swizzle<4, T, P, V<T, P>, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \
-
630  struct { _swizzle<4, T, P, V<T, P>, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \
-
631  struct { _swizzle<4, T, P, V<T, P>, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \
-
632  struct { _swizzle<4, T, P, V<T, P>, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \
-
633  struct { _swizzle<4, T, P, V<T, P>, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \
-
634  struct { _swizzle<4, T, P, V<T, P>, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \
-
635  struct { _swizzle<4, T, P, V<T, P>, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \
-
636  struct { _swizzle<4, T, P, V<T, P>, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \
-
637  struct { _swizzle<4, T, P, V<T, P>, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \
-
638  struct { _swizzle<4, T, P, V<T, P>, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \
-
639  struct { _swizzle<4, T, P, V<T, P>, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \
-
640  struct { _swizzle<4, T, P, V<T, P>, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \
-
641  struct { _swizzle<4, T, P, V<T, P>, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \
-
642  struct { _swizzle<4, T, P, V<T, P>, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \
-
643  struct { _swizzle<4, T, P, V<T, P>, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \
-
644  struct { _swizzle<4, T, P, V<T, P>, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \
-
645  struct { _swizzle<4, T, P, V<T, P>, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \
-
646  struct { _swizzle<4, T, P, V<T, P>, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \
-
647  struct { _swizzle<4, T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
-
648  struct { _swizzle<4, T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
-
649  struct { _swizzle<4, T, P, V<T, P>, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
-
650  struct { _swizzle<4, T, P, V<T, P>, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \
-
651  struct { _swizzle<4, T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
-
652  struct { _swizzle<4, T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
-
653  struct { _swizzle<4, T, P, V<T, P>, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
-
654  struct { _swizzle<4, T, P, V<T, P>, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \
-
655  struct { _swizzle<4, T, P, V<T, P>, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
-
656  struct { _swizzle<4, T, P, V<T, P>, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
-
657  struct { _swizzle<4, T, P, V<T, P>, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
-
658  struct { _swizzle<4, T, P, V<T, P>, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \
-
659  struct { _swizzle<4, T, P, V<T, P>, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \
-
660  struct { _swizzle<4, T, P, V<T, P>, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \
-
661  struct { _swizzle<4, T, P, V<T, P>, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \
-
662  struct { _swizzle<4, T, P, V<T, P>, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \
-
663  struct { _swizzle<4, T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
-
664  struct { _swizzle<4, T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
-
665  struct { _swizzle<4, T, P, V<T, P>, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
-
666  struct { _swizzle<4, T, P, V<T, P>, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \
-
667  struct { _swizzle<4, T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
-
668  struct { _swizzle<4, T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
-
669  struct { _swizzle<4, T, P, V<T, P>, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
-
670  struct { _swizzle<4, T, P, V<T, P>, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \
-
671  struct { _swizzle<4, T, P, V<T, P>, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
-
672  struct { _swizzle<4, T, P, V<T, P>, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
-
673  struct { _swizzle<4, T, P, V<T, P>, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
-
674  struct { _swizzle<4, T, P, V<T, P>, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \
-
675  struct { _swizzle<4, T, P, V<T, P>, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \
-
676  struct { _swizzle<4, T, P, V<T, P>, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \
-
677  struct { _swizzle<4, T, P, V<T, P>, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \
-
678  struct { _swizzle<4, T, P, V<T, P>, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \
-
679  struct { _swizzle<4, T, P, V<T, P>, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
-
680  struct { _swizzle<4, T, P, V<T, P>, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
-
681  struct { _swizzle<4, T, P, V<T, P>, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
-
682  struct { _swizzle<4, T, P, V<T, P>, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \
-
683  struct { _swizzle<4, T, P, V<T, P>, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
-
684  struct { _swizzle<4, T, P, V<T, P>, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
-
685  struct { _swizzle<4, T, P, V<T, P>, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
-
686  struct { _swizzle<4, T, P, V<T, P>, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \
-
687  struct { _swizzle<4, T, P, V<T, P>, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
-
688  struct { _swizzle<4, T, P, V<T, P>, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
-
689  struct { _swizzle<4, T, P, V<T, P>, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
-
690  struct { _swizzle<4, T, P, V<T, P>, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \
-
691  struct { _swizzle<4, T, P, V<T, P>, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \
-
692  struct { _swizzle<4, T, P, V<T, P>, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \
-
693  struct { _swizzle<4, T, P, V<T, P>, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \
-
694  struct { _swizzle<4, T, P, V<T, P>, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \
-
695  struct { _swizzle<4, T, P, V<T, P>, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \
-
696  struct { _swizzle<4, T, P, V<T, P>, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \
-
697  struct { _swizzle<4, T, P, V<T, P>, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \
-
698  struct { _swizzle<4, T, P, V<T, P>, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \
-
699  struct { _swizzle<4, T, P, V<T, P>, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \
-
700  struct { _swizzle<4, T, P, V<T, P>, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \
-
701  struct { _swizzle<4, T, P, V<T, P>, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \
-
702  struct { _swizzle<4, T, P, V<T, P>, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \
-
703  struct { _swizzle<4, T, P, V<T, P>, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \
-
704  struct { _swizzle<4, T, P, V<T, P>, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \
-
705  struct { _swizzle<4, T, P, V<T, P>, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \
-
706  struct { _swizzle<4, T, P, V<T, P>, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \
-
707  struct { _swizzle<4, T, P, V<T, P>, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \
-
708  struct { _swizzle<4, T, P, V<T, P>, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \
-
709  struct { _swizzle<4, T, P, V<T, P>, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \
-
710  struct { _swizzle<4, T, P, V<T, P>, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \
-
711  struct { _swizzle<4, T, P, V<T, P>, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
-
712  struct { _swizzle<4, T, P, V<T, P>, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
-
713  struct { _swizzle<4, T, P, V<T, P>, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
-
714  struct { _swizzle<4, T, P, V<T, P>, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \
-
715  struct { _swizzle<4, T, P, V<T, P>, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
-
716  struct { _swizzle<4, T, P, V<T, P>, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
-
717  struct { _swizzle<4, T, P, V<T, P>, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
-
718  struct { _swizzle<4, T, P, V<T, P>, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \
-
719  struct { _swizzle<4, T, P, V<T, P>, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
-
720  struct { _swizzle<4, T, P, V<T, P>, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
-
721  struct { _swizzle<4, T, P, V<T, P>, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
-
722  struct { _swizzle<4, T, P, V<T, P>, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \
-
723  struct { _swizzle<4, T, P, V<T, P>, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \
-
724  struct { _swizzle<4, T, P, V<T, P>, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \
-
725  struct { _swizzle<4, T, P, V<T, P>, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \
-
726  struct { _swizzle<4, T, P, V<T, P>, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \
-
727  struct { _swizzle<4, T, P, V<T, P>, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
-
728  struct { _swizzle<4, T, P, V<T, P>, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
-
729  struct { _swizzle<4, T, P, V<T, P>, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
-
730  struct { _swizzle<4, T, P, V<T, P>, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \
-
731  struct { _swizzle<4, T, P, V<T, P>, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
-
732  struct { _swizzle<4, T, P, V<T, P>, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
-
733  struct { _swizzle<4, T, P, V<T, P>, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
-
734  struct { _swizzle<4, T, P, V<T, P>, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \
-
735  struct { _swizzle<4, T, P, V<T, P>, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
-
736  struct { _swizzle<4, T, P, V<T, P>, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
-
737  struct { _swizzle<4, T, P, V<T, P>, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
-
738  struct { _swizzle<4, T, P, V<T, P>, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \
-
739  struct { _swizzle<4, T, P, V<T, P>, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \
-
740  struct { _swizzle<4, T, P, V<T, P>, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \
-
741  struct { _swizzle<4, T, P, V<T, P>, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \
-
742  struct { _swizzle<4, T, P, V<T, P>, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \
-
743  struct { _swizzle<4, T, P, V<T, P>, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
-
744  struct { _swizzle<4, T, P, V<T, P>, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
-
745  struct { _swizzle<4, T, P, V<T, P>, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
-
746  struct { _swizzle<4, T, P, V<T, P>, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \
-
747  struct { _swizzle<4, T, P, V<T, P>, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
-
748  struct { _swizzle<4, T, P, V<T, P>, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
-
749  struct { _swizzle<4, T, P, V<T, P>, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
-
750  struct { _swizzle<4, T, P, V<T, P>, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \
-
751  struct { _swizzle<4, T, P, V<T, P>, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
-
752  struct { _swizzle<4, T, P, V<T, P>, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
-
753  struct { _swizzle<4, T, P, V<T, P>, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \
-
754  struct { _swizzle<4, T, P, V<T, P>, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \
-
755  struct { _swizzle<4, T, P, V<T, P>, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \
-
756  struct { _swizzle<4, T, P, V<T, P>, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \
-
757  struct { _swizzle<4, T, P, V<T, P>, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \
-
758  struct { _swizzle<4, T, P, V<T, P>, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \
-
759  struct { _swizzle<4, T, P, V<T, P>, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \
-
760  struct { _swizzle<4, T, P, V<T, P>, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \
-
761  struct { _swizzle<4, T, P, V<T, P>, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \
-
762  struct { _swizzle<4, T, P, V<T, P>, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \
-
763  struct { _swizzle<4, T, P, V<T, P>, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \
-
764  struct { _swizzle<4, T, P, V<T, P>, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \
-
765  struct { _swizzle<4, T, P, V<T, P>, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \
-
766  struct { _swizzle<4, T, P, V<T, P>, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \
-
767  struct { _swizzle<4, T, P, V<T, P>, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \
-
768  struct { _swizzle<4, T, P, V<T, P>, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \
-
769  struct { _swizzle<4, T, P, V<T, P>, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \
-
770  struct { _swizzle<4, T, P, V<T, P>, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \
-
771  struct { _swizzle<4, T, P, V<T, P>, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \
-
772  struct { _swizzle<4, T, P, V<T, P>, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \
-
773  struct { _swizzle<4, T, P, V<T, P>, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \
-
774  struct { _swizzle<4, T, P, V<T, P>, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \
-
775  struct { _swizzle<4, T, P, V<T, P>, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \
-
776  struct { _swizzle<4, T, P, V<T, P>, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \
-
777  struct { _swizzle<4, T, P, V<T, P>, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \
-
778  struct { _swizzle<4, T, P, V<T, P>, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \
-
779  struct { _swizzle<4, T, P, V<T, P>, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \
-
780  struct { _swizzle<4, T, P, V<T, P>, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \
-
781  struct { _swizzle<4, T, P, V<T, P>, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \
-
782  struct { _swizzle<4, T, P, V<T, P>, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \
-
783  struct { _swizzle<4, T, P, V<T, P>, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \
-
784  struct { _swizzle<4, T, P, V<T, P>, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \
-
785  struct { _swizzle<4, T, P, V<T, P>, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \
-
786  struct { _swizzle<4, T, P, V<T, P>, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \
-
787  struct { _swizzle<4, T, P, V<T, P>, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \
-
788  struct { _swizzle<4, T, P, V<T, P>, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \
-
789  struct { _swizzle<4, T, P, V<T, P>, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \
-
790  struct { _swizzle<4, T, P, V<T, P>, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \
-
791  struct { _swizzle<4, T, P, V<T, P>, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \
-
792  struct { _swizzle<4, T, P, V<T, P>, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \
-
793  struct { _swizzle<4, T, P, V<T, P>, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \
-
794  struct { _swizzle<4, T, P, V<T, P>, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \
-
795  struct { _swizzle<4, T, P, V<T, P>, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \
-
796  struct { _swizzle<4, T, P, V<T, P>, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \
-
797  struct { _swizzle<4, T, P, V<T, P>, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \
-
798  struct { _swizzle<4, T, P, V<T, P>, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \
-
799  struct { _swizzle<4, T, P, V<T, P>, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \
-
800  struct { _swizzle<4, T, P, V<T, P>, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \
-
801  struct { _swizzle<4, T, P, V<T, P>, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \
-
802  struct { _swizzle<4, T, P, V<T, P>, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \
-
803  struct { _swizzle<4, T, P, V<T, P>, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \
-
804  struct { _swizzle<4, T, P, V<T, P>, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \
-
805  struct { _swizzle<4, T, P, V<T, P>, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \
-
806  struct { _swizzle<4, T, P, V<T, P>, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \
-
807  struct { _swizzle<4, T, P, V<T, P>, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \
-
808  struct { _swizzle<4, T, P, V<T, P>, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \
-
809  struct { _swizzle<4, T, P, V<T, P>, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \
-
810  struct { _swizzle<4, T, P, V<T, P>, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \
-
811  struct { _swizzle<4, T, P, V<T, P>, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \
-
812  struct { _swizzle<4, T, P, V<T, P>, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \
-
813  struct { _swizzle<4, T, P, V<T, P>, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \
-
814  struct { _swizzle<4, T, P, V<T, P>, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \
-
815  struct { _swizzle<4, T, P, V<T, P>, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \
-
816  struct { _swizzle<4, T, P, V<T, P>, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \
-
817  struct { _swizzle<4, T, P, V<T, P>, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \
-
818  struct { _swizzle<4, T, P, V<T, P>, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \
-
819  struct { _swizzle<4, T, P, V<T, P>, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \
-
820  struct { _swizzle<4, T, P, V<T, P>, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \
-
821  struct { _swizzle<4, T, P, V<T, P>, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \
-
822  struct { _swizzle<4, T, P, V<T, P>, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \
-
823  struct { _swizzle<4, T, P, V<T, P>, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \
-
824  struct { _swizzle<4, T, P, V<T, P>, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \
-
825  struct { _swizzle<4, T, P, V<T, P>, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \
-
826  struct { _swizzle<4, T, P, V<T, P>, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \
-
827  struct { _swizzle<4, T, P, V<T, P>, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \
-
828  struct { _swizzle<4, T, P, V<T, P>, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \
-
829  struct { _swizzle<4, T, P, V<T, P>, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \
-
830  struct { _swizzle<4, T, P, V<T, P>, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \
-
831  struct { _swizzle<4, T, P, V<T, P>, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \
-
832  struct { _swizzle<4, T, P, V<T, P>, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \
-
833  struct { _swizzle<4, T, P, V<T, P>, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \
-
834  struct { _swizzle<4, T, P, V<T, P>, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \
-
835  struct { _swizzle<4, T, P, V<T, P>, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \
-
836  struct { _swizzle<4, T, P, V<T, P>, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \
-
837  struct { _swizzle<4, T, P, V<T, P>, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
-
838  struct { _swizzle<4, T, P, V<T, P>, 3,3,3,3> E3 ## E3 ## E3 ## E3; };
-
839 
-
840 #endif//glm_core_swizzle
-
GLM_FUNC_DECL genType e()
Return e constant.
+
100 } //namespace glm
+
101 
+
102 
+
103 #include "bit.inl"
+
104 
+
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:31
+
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_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_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.
diff --git a/doc/api/a00009.html b/doc/api/a00009.html new file mode 100644 index 00000000..e4f513d1 --- /dev/null +++ b/doc/api/a00009.html @@ -0,0 +1,143 @@ + + + + + + +0.9.6: bitfield.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
bitfield.hpp File Reference
+
+
+ +

Go to the source code of this file.

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

+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)
 
+

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:

+

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_GTC_bitfield

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

Definition in file bitfield.hpp.

+
+ + + + diff --git a/doc/api/a00009_source.html b/doc/api/a00009_source.html index 6f7e5dd4..96b92eeb 100644 --- a/doc/api/a00009_source.html +++ b/doc/api/a00009_source.html @@ -3,8 +3,8 @@ - -GLM: _swizzle_func.hpp Source File + +0.9.6: bitfield.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,717 +41,109 @@
-
_swizzle_func.hpp
+
bitfield.hpp
-
1 
-
29 #ifndef glm_core_swizzle_func
-
30 #define glm_core_swizzle_func
-
31 
-
32 #define GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \
-
33  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B() CONST \
-
34  { \
-
35  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B); \
-
36  }
-
37 
-
38 #define GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \
-
39  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B ## C() CONST \
-
40  { \
-
41  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C); \
-
42  }
-
43 
-
44 #define GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \
-
45  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B ## C ## D() CONST \
-
46  { \
-
47  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C, this->D); \
-
48  }
-
49 
-
50 #define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \
-
51  template <typename TMPL_TYPE> \
-
52  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B() CONST \
-
53  { \
-
54  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B); \
-
55  }
-
56 
-
57 #define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \
-
58  template <typename TMPL_TYPE> \
-
59  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B ## C() CONST \
-
60  { \
-
61  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C); \
-
62  }
-
63 
-
64 #define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \
-
65  template <typename TMPL_TYPE> \
-
66  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B ## C ## D() CONST \
-
67  { \
-
68  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C, this->D); \
-
69  }
-
70 
-
71 #define GLM_MUTABLE
-
72 
-
73 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
-
74  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
-
75  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A)
-
76 
-
77 #define GLM_SWIZZLE_GEN_REF_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE) \
-
78  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, x, y) \
-
79  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, r, g) \
-
80  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, s, t)
-
81 
-
82 //GLM_SWIZZLE_GEN_REF_FROM_VEC2(valType, detail::vec2, detail::ref2)
-
83 
-
84 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
85  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
-
86  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \
-
87  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \
-
88  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \
-
89  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \
-
90  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B)
-
91 
-
92 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
93  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B, C) \
-
94  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C, B) \
-
95  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A, C) \
-
96  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C, A) \
-
97  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A, B) \
-
98  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B, A)
-
99 
-
100 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
-
101  GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
-
102  GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C)
-
103 
-
104 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE) \
-
105  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, x, y, z) \
-
106  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, r, g, b) \
-
107  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, s, t, p)
-
108 
-
109 //GLM_SWIZZLE_GEN_REF_FROM_VEC3(valType, detail::vec3, detail::ref2, detail::ref3)
+Go to the documentation of this file.
1 
+
39 #pragma once
+
40 
+
41 // Dependencies
+
42 #include "../detail/setup.hpp"
+
43 #include "../detail/precision.hpp"
+
44 #include "../detail/type_int.hpp"
+
45 #include "../detail/_vectorize.hpp"
+
46 #include <limits>
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTC_bitfield extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
60  template <typename genIUType>
+
61  GLM_FUNC_DECL genIUType mask(genIUType Bits);
+
62 
+
66  template <typename T, precision P, template <typename, precision> class vecIUType>
+
67  GLM_FUNC_DECL vecIUType<T, P> mask(vecIUType<T, P> const & v);
+
68 
+
72  template <typename genIUType>
+
73  GLM_FUNC_DECL genIUType bitfieldRotateRight(genIUType In, int Shift);
+
74 
+
78  template <typename T, precision P, template <typename, precision> class vecType>
+
79  GLM_FUNC_DECL vecType<T, P> bitfieldRotateRight(vecType<T, P> const & In, int Shift);
+
80 
+
84  template <typename genIUType>
+
85  GLM_FUNC_DECL genIUType bitfieldRotateLeft(genIUType In, int Shift);
+
86 
+
90  template <typename T, precision P, template <typename, precision> class vecType>
+
91  GLM_FUNC_DECL vecType<T, P> bitfieldRotateLeft(vecType<T, P> const & In, int Shift);
+
92 
+
96  template <typename genIUType>
+
97  GLM_FUNC_DECL genIUType bitfieldFillOne(genIUType Value, int FirstBit, int BitCount);
+
98 
+
102  template <typename T, precision P, template <typename, precision> class vecType>
+
103  GLM_FUNC_DECL vecType<T, P> bitfieldFillOne(vecType<T, P> const & Value, int FirstBit, int BitCount);
+
104 
+
108  template <typename genIUType>
+
109  GLM_FUNC_DECL genIUType bitfieldFillZero(genIUType Value, int FirstBit, int BitCount);
110 
-
111 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
112  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
-
113  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \
-
114  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, D) \
-
115  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \
-
116  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \
-
117  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, D) \
-
118  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \
-
119  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B) \
-
120  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, D) \
-
121  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, A) \
-
122  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, B) \
-
123  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, C)
-
124 
-
125 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
126  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C) \
-
127  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D) \
-
128  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B) \
-
129  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D) \
-
130  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B) \
-
131  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C) \
-
132  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C) \
-
133  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D) \
-
134  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A) \
-
135  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D) \
-
136  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A) \
-
137  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C) \
-
138  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B) \
-
139  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D) \
-
140  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A) \
-
141  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D) \
-
142  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A) \
-
143  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B) \
-
144  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B) \
-
145  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C) \
-
146  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A) \
-
147  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C) \
-
148  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A) \
-
149  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B)
-
150 
-
151 #define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
152  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B, D) \
-
153  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D, B) \
-
154  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B, C) \
-
155  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C, B) \
-
156  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D, C) \
-
157  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C, D) \
-
158  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A, D) \
-
159  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D, A) \
-
160  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A, C) \
-
161  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C, A) \
-
162  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D, C) \
-
163  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C, D) \
-
164  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A, D) \
-
165  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D, A) \
-
166  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A, B) \
-
167  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B, A) \
-
168  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D, B) \
-
169  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B, D) \
-
170  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B, A) \
-
171  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A, B) \
-
172  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B, C) \
-
173  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C, B) \
-
174  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A, C) \
-
175  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C, A)
-
176 
-
177 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \
-
178  GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \
-
179  GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \
-
180  GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)
-
181 
-
182 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
-
183  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \
-
184  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \
-
185  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)
-
186 
-
187 //GLM_SWIZZLE_GEN_REF_FROM_VEC4(valType, detail::vec4, detail::ref2, detail::ref3, detail::ref4)
-
188 
-
189 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
-
190  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
-
191  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
-
192  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
-
193  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B)
-
194 
-
195 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
-
196  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
-
197  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
-
198  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
-
199  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
-
200  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
-
201  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
-
202  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
-
203  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B)
-
204 
-
205 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
-
206  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
-
207  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
-
208  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
-
209  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
-
210  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
-
211  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
-
212  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
-
213  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
-
214  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
-
215  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
-
216  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
-
217  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
-
218  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
-
219  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
-
220  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
-
221  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B)
-
222 
-
223 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B) \
-
224  GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B) \
-
225  GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B) \
-
226  GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B)
-
227 
-
228 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
-
229  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y) \
-
230  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g) \
-
231  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t)
-
232 
-
233 //GLM_SWIZZLE_GEN_VEC_FROM_VEC2(valType, detail::vec2, detail::vec2, detail::vec3, detail::vec4)
-
234 
-
235 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
236  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
-
237  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
-
238  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \
-
239  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
-
240  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \
-
241  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \
-
242  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \
-
243  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \
-
244  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C)
-
245 
-
246 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
247  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
-
248  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
-
249  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \
-
250  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
-
251  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
-
252  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \
-
253  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \
-
254  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \
-
255  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \
-
256  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
-
257  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
-
258  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \
-
259  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
-
260  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \
-
261  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \
-
262  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \
-
263  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \
-
264  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \
-
265  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \
-
266  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \
-
267  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \
-
268  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \
-
269  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \
-
270  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \
-
271  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \
-
272  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \
-
273  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C)
-
274 
-
275 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
276  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
-
277  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
-
278  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \
-
279  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
-
280  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
-
281  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \
-
282  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \
-
283  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \
-
284  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \
-
285  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
-
286  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
-
287  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \
-
288  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
-
289  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
-
290  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \
-
291  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \
-
292  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \
-
293  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \
-
294  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \
-
295  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \
-
296  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \
-
297  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \
-
298  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \
-
299  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \
-
300  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \
-
301  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \
-
302  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \
-
303  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
-
304  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
-
305  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \
-
306  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
-
307  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
-
308  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \
-
309  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \
-
310  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \
-
311  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \
-
312  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
-
313  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
-
314  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \
-
315  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
-
316  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \
-
317  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \
-
318  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \
-
319  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \
-
320  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \
-
321  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \
-
322  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \
-
323  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \
-
324  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \
-
325  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \
-
326  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \
-
327  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \
-
328  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \
-
329  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \
-
330  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \
-
331  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \
-
332  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \
-
333  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \
-
334  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \
-
335  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \
-
336  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \
-
337  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \
-
338  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \
-
339  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \
-
340  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \
-
341  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \
-
342  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \
-
343  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \
-
344  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \
-
345  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \
-
346  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \
-
347  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \
-
348  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \
-
349  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \
-
350  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \
-
351  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \
-
352  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \
-
353  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \
-
354  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \
-
355  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \
-
356  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C)
-
357 
-
358 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C) \
-
359  GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C) \
-
360  GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
-
361  GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C)
-
362 
-
363 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
-
364  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z) \
-
365  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b) \
-
366  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p)
-
367 
-
368 //GLM_SWIZZLE_GEN_VEC_FROM_VEC3(valType, detail::vec3, detail::vec2, detail::vec3, detail::vec4)
-
369 
-
370 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
371  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
-
372  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
-
373  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \
-
374  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D) \
-
375  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
-
376  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \
-
377  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \
-
378  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D) \
-
379  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \
-
380  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \
-
381  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C) \
-
382  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D) \
-
383  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A) \
-
384  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B) \
-
385  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C) \
-
386  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D)
-
387 
-
388 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
389  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
-
390  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
-
391  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \
-
392  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D) \
-
393  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
-
394  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
-
395  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \
-
396  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D) \
-
397  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \
-
398  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \
-
399  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \
-
400  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D) \
-
401  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A) \
-
402  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B) \
-
403  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C) \
-
404  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D) \
-
405  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
-
406  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
-
407  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \
-
408  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D) \
-
409  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
-
410  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \
-
411  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \
-
412  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D) \
-
413  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \
-
414  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \
-
415  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \
-
416  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D) \
-
417  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A) \
-
418  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B) \
-
419  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C) \
-
420  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D) \
-
421  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \
-
422  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \
-
423  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \
-
424  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D) \
-
425  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \
-
426  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \
-
427  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \
-
428  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D) \
-
429  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \
-
430  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \
-
431  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C) \
-
432  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D) \
-
433  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A) \
-
434  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B) \
-
435  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C) \
-
436  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D) \
-
437  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A) \
-
438  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B) \
-
439  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C) \
-
440  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D) \
-
441  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A) \
-
442  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B) \
-
443  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C) \
-
444  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D) \
-
445  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A) \
-
446  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B) \
-
447  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C) \
-
448  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D) \
-
449  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A) \
-
450  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B) \
-
451  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C) \
-
452  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D)
-
453 
-
454 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
455  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
-
456  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
-
457  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \
-
458  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, D) \
-
459  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
-
460  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
-
461  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \
-
462  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, D) \
-
463  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \
-
464  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \
-
465  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \
-
466  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, D) \
-
467  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, A) \
-
468  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, B) \
-
469  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, C) \
-
470  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, D) \
-
471  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
-
472  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
-
473  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \
-
474  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, D) \
-
475  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
-
476  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
-
477  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \
-
478  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, D) \
-
479  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \
-
480  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \
-
481  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \
-
482  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, D) \
-
483  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, A) \
-
484  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, B) \
-
485  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, C) \
-
486  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, D) \
-
487  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \
-
488  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \
-
489  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \
-
490  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, D) \
-
491  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \
-
492  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \
-
493  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \
-
494  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, D) \
-
495  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \
-
496  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \
-
497  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \
-
498  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, D) \
-
499  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, A) \
-
500  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, B) \
-
501  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, C) \
-
502  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, D) \
-
503  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \
-
504  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \
-
505  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \
-
506  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, D) \
-
507  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \
-
508  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \
-
509  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \
-
510  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, D) \
-
511  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \
-
512  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \
-
513  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \
-
514  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, D) \
-
515  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, A) \
-
516  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, B) \
-
517  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, C) \
-
518  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, D) \
-
519  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
-
520  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
-
521  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \
-
522  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, D) \
-
523  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
-
524  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
-
525  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \
-
526  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, D) \
-
527  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \
-
528  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \
-
529  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \
-
530  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, D) \
-
531  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, A) \
-
532  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, B) \
-
533  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, C) \
-
534  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, D) \
-
535  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
-
536  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
-
537  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \
-
538  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, D) \
-
539  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
-
540  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \
-
541  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \
-
542  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, D) \
-
543  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \
-
544  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \
-
545  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \
-
546  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, D) \
-
547  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, A) \
-
548  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, B) \
-
549  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, C) \
-
550  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, D) \
-
551  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \
-
552  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \
-
553  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \
-
554  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, D) \
-
555  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \
-
556  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \
-
557  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \
-
558  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, D) \
-
559  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \
-
560  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \
-
561  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \
-
562  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, D) \
-
563  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, A) \
-
564  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, B) \
-
565  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, C) \
-
566  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, D) \
-
567  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \
-
568  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \
-
569  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \
-
570  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, D) \
-
571  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \
-
572  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \
-
573  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \
-
574  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, D) \
-
575  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \
-
576  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \
-
577  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \
-
578  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, D) \
-
579  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, A) \
-
580  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, B) \
-
581  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, C) \
-
582  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, D) \
-
583  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \
-
584  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \
-
585  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \
-
586  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, D) \
-
587  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \
-
588  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \
-
589  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \
-
590  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, D) \
-
591  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \
-
592  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \
-
593  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \
-
594  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, D) \
-
595  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, A) \
-
596  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, B) \
-
597  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, C) \
-
598  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, D) \
-
599  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \
-
600  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \
-
601  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \
-
602  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, D) \
-
603  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \
-
604  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \
-
605  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \
-
606  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, D) \
-
607  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \
-
608  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \
-
609  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \
-
610  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, D) \
-
611  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, A) \
-
612  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, B) \
-
613  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, C) \
-
614  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, D) \
-
615  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \
-
616  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \
-
617  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \
-
618  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, D) \
-
619  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \
-
620  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \
-
621  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \
-
622  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, D) \
-
623  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \
-
624  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \
-
625  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \
-
626  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, D) \
-
627  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, A) \
-
628  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, B) \
-
629  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, C) \
-
630  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, D) \
-
631  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \
-
632  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \
-
633  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \
-
634  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, D) \
-
635  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \
-
636  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \
-
637  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \
-
638  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, D) \
-
639  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \
-
640  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \
-
641  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \
-
642  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, D) \
-
643  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, A) \
-
644  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, B) \
-
645  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, C) \
-
646  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, D) \
-
647  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \
-
648  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \
-
649  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \
-
650  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, D) \
-
651  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \
-
652  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \
-
653  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \
-
654  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, D) \
-
655  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \
-
656  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \
-
657  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \
-
658  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, D) \
-
659  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, A) \
-
660  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, B) \
-
661  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, C) \
-
662  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, D) \
-
663  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \
-
664  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \
-
665  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \
-
666  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, D) \
-
667  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \
-
668  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \
-
669  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \
-
670  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, D) \
-
671  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \
-
672  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \
-
673  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \
-
674  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, D) \
-
675  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, A) \
-
676  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, B) \
-
677  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, C) \
-
678  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, D) \
-
679  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \
-
680  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \
-
681  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \
-
682  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, D) \
-
683  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \
-
684  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \
-
685  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \
-
686  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, D) \
-
687  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \
-
688  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \
-
689  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \
-
690  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, D) \
-
691  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, A) \
-
692  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, B) \
-
693  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, C) \
-
694  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, D) \
-
695  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \
-
696  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \
-
697  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \
-
698  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, D) \
-
699  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \
-
700  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \
-
701  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \
-
702  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, D) \
-
703  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \
-
704  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \
-
705  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C) \
-
706  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, D) \
-
707  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, A) \
-
708  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, B) \
-
709  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, C) \
-
710  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, D)
-
711 
-
712 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \
-
713  GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \
-
714  GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \
-
715  GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)
-
716 
-
717 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
-
718  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \
-
719  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \
-
720  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)
-
721 
-
722 //GLM_SWIZZLE_GEN_VEC_FROM_VEC4(valType, detail::vec4, detail::vec2, detail::vec3, detail::vec4)
-
723 
-
724 #endif//glm_core_swizzle_func
+
114  template <typename T, precision P, template <typename, precision> class vecType>
+
115  GLM_FUNC_DECL vecType<T, P> bitfieldFillZero(vecType<T, P> const & Value, int FirstBit, int BitCount);
+
116 
+
122  GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y);
+
123 
+
129  GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y);
+
130 
+
136  GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y);
+
137 
+
143  GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y);
+
144 
+
150  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y);
+
151 
+
157  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y);
+
158 
+
164  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z);
+
165 
+
171  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z);
+
172 
+
178  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z);
+
179 
+
185  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z);
+
186 
+
192  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z);
+
193 
+
199  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z);
+
200 
+
206  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w);
+
207 
+
213  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w);
+
214 
+
220  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w);
+
221 
+
227  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w);
+
228 
+
230 } //namespace glm
+
231 
+
232 #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.
+
Definition: _noise.hpp:31
+
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 > bitfieldFillOne(vecType< T, P > const &Value, int FirstBit, int BitCount)
Set to 1 a range of bits.
+
GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight(vecType< T, P > const &In, int Shift)
Rotate all bits to the right.
diff --git a/doc/api/a00010_source.html b/doc/api/a00010_source.html index a6d2c8a6..b2c858ee 100644 --- a/doc/api/a00010_source.html +++ b/doc/api/a00010_source.html @@ -3,8 +3,8 @@ - -GLM: _vectorize.hpp Source File + +0.9.6: closest_point.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,186 +41,50 @@
-
_vectorize.hpp
+
closest_point.hpp
1 
-
29 #ifndef GLM_CORE_DETAIL_INCLUDED
-
30 #define GLM_CORE_DETAIL_INCLUDED
-
31 
-
32 #include "type_vec2.hpp"
-
33 #include "type_vec3.hpp"
-
34 #include "type_vec4.hpp"
-
35 
-
36 #define VECTORIZE2_VEC(func) \
-
37  template <typename T, precision P> \
-
38  GLM_FUNC_QUALIFIER detail::tvec2<T, P> func( \
-
39  detail::tvec2<T, P> const & v) \
-
40  { \
-
41  return detail::tvec2<T, P>( \
-
42  func(v.x), \
-
43  func(v.y)); \
-
44  }
-
45 
-
46 #define VECTORIZE3_VEC(func) \
-
47  template <typename T, precision P> \
-
48  GLM_FUNC_QUALIFIER detail::tvec3<T, P> func( \
-
49  detail::tvec3<T, P> const & v) \
-
50  { \
-
51  return detail::tvec3<T, P>( \
-
52  func(v.x), \
-
53  func(v.y), \
-
54  func(v.z)); \
-
55  }
-
56 
-
57 #define VECTORIZE4_VEC(func) \
-
58  template <typename T, precision P> \
-
59  GLM_FUNC_QUALIFIER detail::tvec4<T, P> func( \
-
60  detail::tvec4<T, P> const & v) \
-
61  { \
-
62  return detail::tvec4<T, P>( \
-
63  func(v.x), \
-
64  func(v.y), \
-
65  func(v.z), \
-
66  func(v.w)); \
-
67  }
-
68 
-
69 #define VECTORIZE_VEC(func) \
-
70  VECTORIZE2_VEC(func) \
-
71  VECTORIZE3_VEC(func) \
-
72  VECTORIZE4_VEC(func)
-
73 
-
74 #define VECTORIZE2_VEC_SCA(func) \
-
75  template <typename T, precision P> \
-
76  GLM_FUNC_QUALIFIER detail::tvec2<T, P> func \
-
77  ( \
-
78  detail::tvec2<T, P> const & x, \
-
79  T const & y \
-
80  ) \
-
81  { \
-
82  return detail::tvec2<T, P>( \
-
83  func(x.x, y), \
-
84  func(x.y, y)); \
-
85  }
-
86 
-
87 #define VECTORIZE3_VEC_SCA(func) \
-
88  template <typename T, precision P> \
-
89  GLM_FUNC_QUALIFIER detail::tvec3<T, P> func \
-
90  ( \
-
91  detail::tvec3<T, P> const & x, \
-
92  T const & y \
-
93  ) \
-
94  { \
-
95  return detail::tvec3<T, P>( \
-
96  func(x.x, y), \
-
97  func(x.y, y), \
-
98  func(x.z, y)); \
-
99  }
-
100 
-
101 #define VECTORIZE4_VEC_SCA(func) \
-
102  template <typename T, precision P> \
-
103  GLM_FUNC_QUALIFIER detail::tvec4<T, P> func \
-
104  ( \
-
105  detail::tvec4<T, P> const & x, \
-
106  T const & y \
-
107  ) \
-
108  { \
-
109  return detail::tvec4<T, P>( \
-
110  func(x.x, y), \
-
111  func(x.y, y), \
-
112  func(x.z, y), \
-
113  func(x.w, y)); \
-
114  }
-
115 
-
116 #define VECTORIZE_VEC_SCA(func) \
-
117  VECTORIZE2_VEC_SCA(func) \
-
118  VECTORIZE3_VEC_SCA(func) \
-
119  VECTORIZE4_VEC_SCA(func)
-
120 
-
121 #define VECTORIZE2_VEC_VEC(func) \
-
122  template <typename T, precision P> \
-
123  GLM_FUNC_QUALIFIER detail::tvec2<T, P> func \
-
124  ( \
-
125  detail::tvec2<T, P> const & x, \
-
126  detail::tvec2<T, P> const & y \
-
127  ) \
-
128  { \
-
129  return detail::tvec2<T, P>( \
-
130  func(x.x, y.x), \
-
131  func(x.y, y.y)); \
-
132  }
-
133 
-
134 #define VECTORIZE3_VEC_VEC(func) \
-
135  template <typename T, precision P> \
-
136  GLM_FUNC_QUALIFIER detail::tvec3<T, P> func \
-
137  ( \
-
138  detail::tvec3<T, P> const & x, \
-
139  detail::tvec3<T, P> const & y \
-
140  ) \
-
141  { \
-
142  return detail::tvec3<T, P>( \
-
143  func(x.x, y.x), \
-
144  func(x.y, y.y), \
-
145  func(x.z, y.z)); \
-
146  }
-
147 
-
148 #define VECTORIZE4_VEC_VEC(func) \
-
149  template <typename T, precision P> \
-
150  GLM_FUNC_QUALIFIER detail::tvec4<T, P> func \
-
151  ( \
-
152  detail::tvec4<T, P> const & x, \
-
153  detail::tvec4<T, P> const & y \
-
154  ) \
-
155  { \
-
156  return detail::tvec4<T, P>( \
-
157  func(x.x, y.x), \
-
158  func(x.y, y.y), \
-
159  func(x.z, y.z), \
-
160  func(x.w, y.w)); \
-
161  }
-
162 
-
163 #define VECTORIZE_VEC_VEC(func) \
-
164  VECTORIZE2_VEC_VEC(func) \
-
165  VECTORIZE3_VEC_VEC(func) \
-
166  VECTORIZE4_VEC_VEC(func)
-
167 
-
168 namespace glm{
-
169 namespace detail
-
170 {
-
171  template<bool C>
-
172  struct If
-
173  {
-
174  template<typename F, typename T>
-
175  static GLM_FUNC_QUALIFIER T apply(F functor, const T& val)
-
176  {
-
177  return functor(val);
-
178  }
-
179  };
-
180 
-
181  template<>
-
182  struct If<false>
-
183  {
-
184  template<typename F, typename T>
-
185  static GLM_FUNC_QUALIFIER T apply(F, const T& val)
-
186  {
-
187  return val;
-
188  }
-
189  };
-
190 }//namespace detail
-
191 }//namespace glm
-
192 
-
193 #endif//GLM_CORE_DETAIL_INCLUDED
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_closest_point extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename T, precision P>
+
55  GLM_FUNC_DECL tvec3<T, P> closestPointOnLine(
+
56  tvec3<T, P> const & point,
+
57  tvec3<T, P> const & a,
+
58  tvec3<T, P> const & b);
+
59 
+
61  template <typename T, precision P>
+
62  GLM_FUNC_DECL tvec2<T, P> closestPointOnLine(
+
63  tvec2<T, P> const & point,
+
64  tvec2<T, P> const & a,
+
65  tvec2<T, P> const & b);
+
66 
+
68 }// namespace glm
+
69 
+
70 #include "closest_point.inl"
+
Definition: _noise.hpp:31
+
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
diff --git a/doc/api/a00011.html b/doc/api/a00011.html index c3eadf0d..dd28b748 100644 --- a/doc/api/a00011.html +++ b/doc/api/a00011.html @@ -3,8 +3,8 @@ - -GLM: associated_min_max.hpp File Reference + +0.9.6: color_space.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,65 +41,58 @@
-Namespaces | Functions
-
associated_min_max.hpp File Reference
+
color_space.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +

Functions

template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
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:

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_GTX_associated_min_max

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

GLM_GTX_color_space

+
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 associated_min_max.hpp.

+

Definition in file color_space.hpp.

diff --git a/doc/api/a00011_source.html b/doc/api/a00011_source.html index 4e04a7bf..ef658ef2 100644 --- a/doc/api/a00011_source.html +++ b/doc/api/a00011_source.html @@ -3,8 +3,8 @@ - -GLM: associated_min_max.hpp Source File + +0.9.6: color_space.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,77 +41,67 @@
-
associated_min_max.hpp
+
color_space.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_associated_min_max
-
39 #define GLM_GTX_associated_min_max
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template<typename genTypeT, typename genTypeU>
-
56  genTypeU associatedMin(
-
57  const genTypeT& x, const genTypeU& a,
-
58  const genTypeT& y, const genTypeU& b);
-
59 
-
62  template<typename genTypeT, typename genTypeU>
-
63  genTypeU associatedMin(
-
64  const genTypeT& x, const genTypeU& a,
-
65  const genTypeT& y, const genTypeU& b,
-
66  const genTypeT& z, const genTypeU& c);
-
67 
-
70  template<typename genTypeT, typename genTypeU>
-
71  genTypeU associatedMin(
-
72  const genTypeT& x, const genTypeU& a,
-
73  const genTypeT& y, const genTypeU& b,
-
74  const genTypeT& z, const genTypeU& c,
-
75  const genTypeT& w, const genTypeU& d);
-
76 
-
79  template<typename genTypeT, typename genTypeU>
-
80  genTypeU associatedMax(
-
81  const genTypeT& x, const genTypeU& a,
-
82  const genTypeT& y, const genTypeU& b);
-
83 
-
86  template<typename genTypeT, typename genTypeU>
-
87  genTypeU associatedMax(
-
88  const genTypeT& x, const genTypeU& a,
-
89  const genTypeT& y, const genTypeU& b,
-
90  const genTypeT& z, const genTypeU& c);
-
91 
-
94  template<typename genTypeT, typename genTypeU>
-
95  genTypeU associatedMax(
-
96  const genTypeT& x, const genTypeU& a,
-
97  const genTypeT& y, const genTypeU& b,
-
98  const genTypeT& z, const genTypeU& c,
-
99  const genTypeT& w, const genTypeU& d);
-
100 
-
102 } //namespace glm
-
103 
-
104 #include "associated_min_max.inl"
-
105 
-
106 #endif//GLM_GTX_associated_min_max
-
genTypeU associatedMax(const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
Max comparison between 2 variables.
-
genTypeU associatedMin(const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
Min comparison between 2 variables.
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_color_space extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename T, precision P>
+
55  GLM_FUNC_DECL tvec3<T, P> rgbColor(
+
56  tvec3<T, P> const & hsvValue);
+
57 
+
60  template <typename T, precision P>
+
61  GLM_FUNC_DECL tvec3<T, P> hsvColor(
+
62  tvec3<T, P> const & rgbValue);
+
63 
+
66  template <typename T>
+
67  GLM_FUNC_DECL tmat4x4<T, defaultp> saturation(
+
68  T const s);
+
69 
+
72  template <typename T, precision P>
+
73  GLM_FUNC_DECL tvec3<T, P> saturation(
+
74  T const s,
+
75  tvec3<T, P> const & color);
+
76 
+
79  template <typename T, precision P>
+
80  GLM_FUNC_DECL tvec4<T, P> saturation(
+
81  T const s,
+
82  tvec4<T, P> const & color);
+
83 
+
86  template <typename T, precision P>
+
87  GLM_FUNC_DECL T luminosity(
+
88  tvec3<T, P> const & color);
+
89 
+
91 }//namespace glm
+
92 
+
93 #include "color_space.inl"
+
Definition: _noise.hpp:31
+
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 T luminosity(tvec3< T, P > const &color)
Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.
+
GLM_FUNC_DECL tvec4< T, P > saturation(T const s, tvec4< T, P > const &color)
Modify the saturation of a color.
+
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.
diff --git a/doc/api/a00012.html b/doc/api/a00012.html index 93b2943b..5c9afcd7 100644 --- a/doc/api/a00012.html +++ b/doc/api/a00012.html @@ -3,8 +3,8 @@ - -GLM: bit.hpp File Reference + +0.9.6: color_space_YCoCg.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,120 +41,51 @@
-Namespaces | Functions
-
bit.hpp File Reference
+
color_space_YCoCg.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

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 genType >
GLM_DEPRECATED GLM_FUNC_DECL
-genType 
bitRevert (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateLeft (genType const &In, std::size_t Shift)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateRight (genType const &In, std::size_t Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genType >
GLM_FUNC_DECL genType highestBitValue (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL bool isPowerOfTwo (genType const &value)
 
template<typename genIType >
GLM_FUNC_DECL genIType mask (genIType const &count)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoAbove (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoBelow (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoNearest (genType const &value)
 
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:

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_GTX_bit

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

GLM_GTX_color_space_YCoCg

+
Date
2008-10-28 / 2011-06-07
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-gtc_half_float (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.

-

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

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

Definition in file bit.hpp.

+

Definition in file color_space_YCoCg.hpp.

diff --git a/doc/api/a00012_source.html b/doc/api/a00012_source.html index bb4748de..c5dd35ed 100644 --- a/doc/api/a00012_source.html +++ b/doc/api/a00012_source.html @@ -3,8 +3,8 @@ - -GLM: bit.hpp Source File + +0.9.6: color_space_YCoCg.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,132 +41,58 @@
-
bit.hpp
+
color_space_YCoCg.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_bit
-
40 #define GLM_GTX_bit
-
41 
-
42 // Dependencies
-
43 #include "../detail/type_int.hpp"
-
44 #include "../detail/setup.hpp"
-
45 #include <cstddef>
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
+
45 #endif
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_bit extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename genIType>
-
59  GLM_FUNC_DECL genIType mask(genIType const & count);
-
60 
-
63  template <typename genType>
-
64  GLM_FUNC_DECL genType highestBitValue(genType const & value);
-
65 
-
68  template <typename genType>
-
69  GLM_FUNC_DECL bool isPowerOfTwo(genType const & value);
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename T, precision P>
+
55  GLM_FUNC_DECL tvec3<T, P> rgb2YCoCg(
+
56  tvec3<T, P> const & rgbColor);
+
57 
+
60  template <typename T, precision P>
+
61  GLM_FUNC_DECL tvec3<T, P> YCoCg2rgb(
+
62  tvec3<T, P> const & YCoCgColor);
+
63 
+
67  template <typename T, precision P>
+
68  GLM_FUNC_DECL tvec3<T, P> rgb2YCoCgR(
+
69  tvec3<T, P> const & rgbColor);
70 
-
73  template <typename genType>
-
74  GLM_FUNC_DECL genType powerOfTwoAbove(genType const & value);
-
75 
-
78  template <typename genType>
-
79  GLM_FUNC_DECL genType powerOfTwoBelow(genType const & value);
+
74  template <typename T, precision P>
+
75  GLM_FUNC_DECL tvec3<T, P> YCoCgR2rgb(
+
76  tvec3<T, P> const & YCoCgColor);
+
77 
+
79 }//namespace glm
80 
-
83  template <typename genType>
-
84  GLM_FUNC_DECL genType powerOfTwoNearest(genType const & value);
-
85 
-
88  template <typename genType>
-
89  GLM_DEPRECATED GLM_FUNC_DECL genType bitRevert(genType const & value);
-
90 
-
93  template <typename genType>
-
94  GLM_FUNC_DECL genType bitRotateRight(genType const & In, std::size_t Shift);
-
95 
-
98  template <typename genType>
-
99  GLM_FUNC_DECL genType bitRotateLeft(genType const & In, std::size_t Shift);
-
100 
-
103  template <typename genIUType>
-
104  GLM_FUNC_DECL genIUType fillBitfieldWithOne(
-
105  genIUType const & Value,
-
106  int const & FromBit,
-
107  int const & ToBit);
-
108 
-
111  template <typename genIUType>
-
112  GLM_FUNC_DECL genIUType fillBitfieldWithZero(
-
113  genIUType const & Value,
-
114  int const & FromBit,
-
115  int const & ToBit);
-
116 
-
122  GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y);
-
123 
-
129  GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y);
-
130 
-
136  GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y);
-
137 
-
143  GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y);
-
144 
-
150  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y);
-
151 
-
157  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y);
-
158 
-
164  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z);
-
165 
-
171  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z);
-
172 
-
178  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z);
-
179 
-
185  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z);
-
186 
-
192  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z);
-
193 
-
199  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z);
-
200 
-
206  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w);
-
207 
-
213  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w);
-
214 
-
220  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w);
-
221 
-
227  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w);
-
228 
-
230 } //namespace glm
-
231 
-
232 #include "bit.inl"
-
233 
-
234 #endif//GLM_GTX_bit
-
GLM_FUNC_DECL genType highestBitValue(genType const &value)
Find the highest bit set to 1 in a integer variable and return its value.
-
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:89
-
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
-
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:90
-
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:92
-
GLM_FUNC_DECL genType powerOfTwoNearest(genType const &value)
Return the power of two number which value is the closet to the input value.
-
GLM_FUNC_DECL genType bitRotateLeft(genType const &In, std::size_t Shift)
Rotate all bits to the left.
-
GLM_FUNC_DECL genIType mask(genIType const &count)
Build a mask of &#39;count&#39; bits.
-
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
-
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:91
-
GLM_FUNC_DECL genIUType fillBitfieldWithOne(genIUType const &Value, int const &FromBit, int const &ToBit)
Set to 1 a range of bits.
-
GLM_FUNC_DECL genType bitRotateRight(genType const &In, std::size_t Shift)
Rotate all bits to the right.
-
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
-
GLM_FUNC_DECL bool isPowerOfTwo(genType const &value)
Return true if the value is a power of two number.
-
GLM_DEPRECATED GLM_FUNC_DECL genType bitRevert(genType const &value)
Revert all bits of any integer based type.
-
GLM_FUNC_DECL genType powerOfTwoBelow(genType const &value)
Return the power of two number which value is just lower the input value.
-
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
-
GLM_FUNC_DECL genIUType fillBitfieldWithZero(genIUType const &Value, int const &FromBit, int const &ToBit)
Set to 0 a range of bits.
-
GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y)
Interleaves the bits of x and y.
-
GLM_FUNC_DECL genType powerOfTwoAbove(genType const &value)
Return the power of two number which value is just higher the input value.
+
81 #include "color_space_YCoCg.inl"
+
GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb(tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCg color space to RGB color space.
+
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:31
+
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.
diff --git a/doc/api/a00064.html b/doc/api/a00013.html similarity index 64% rename from doc/api/a00064.html rename to doc/api/a00013.html index 2d5e254d..171502ab 100644 --- a/doc/api/a00064.html +++ b/doc/api/a00013.html @@ -3,8 +3,8 @@ - -GLM: mat2x4.hpp File Reference + +0.9.6: common.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,32 @@
-
-Namespaces
-
mat2x4.hpp File Reference
+
common.hpp File Reference
-

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
+

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:

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
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat2x4.hpp.

+

Definition in file common.hpp.

diff --git a/doc/api/a00013_source.html b/doc/api/a00013_source.html index bb6f6cfa..497f2072 100644 --- a/doc/api/a00013_source.html +++ b/doc/api/a00013_source.html @@ -3,8 +3,8 @@ - -GLM: closest_point.hpp Source File + +0.9.6: common.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,46 +41,25 @@
-
closest_point.hpp
+
common.hpp
-
1 
-
38 #ifndef GLM_GTX_closest_point
-
39 #define GLM_GTX_closest_point
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_closest_point extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T, precision P>
-
56  detail::tvec3<T, P> closestPointOnLine(
-
57  detail::tvec3<T, P> const & point,
-
58  detail::tvec3<T, P> const & a,
-
59  detail::tvec3<T, P> const & b);
-
60 
-
62 }// namespace glm
-
63 
-
64 #include "closest_point.inl"
-
65 
-
66 #endif//GLM_GTX_closest_point
-
detail::tvec3< T, P > closestPointOnLine(detail::tvec3< T, P > const &point, detail::tvec3< T, P > const &a, detail::tvec3< T, P > const &b)
Find the point on a straight line which is the closet of a point.
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "detail/func_common.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00014.html b/doc/api/a00014.html index cf94ef3f..5cca013f 100644 --- a/doc/api/a00014.html +++ b/doc/api/a00014.html @@ -3,8 +3,8 @@ - -GLM: color_space.hpp File Reference + +0.9.6: common.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,63 +41,44 @@
-Namespaces | Functions
-
color_space.hpp File Reference
+
gtx/common.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T , precision P>
detail::tvec3< T, P > hsvColor (detail::tvec3< T, P > const &rgbValue)
 
template<typename T , precision P>
luminosity (detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec3< T, P > rgbColor (detail::tvec3< T, P > const &hsvValue)
 
template<typename T , precision P>
detail::tmat4x4< T, P > saturation (T const s)
 
template<typename T , precision P>
detail::tvec3< T, P > saturation (T const s, detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec4< T, P > saturation (T const s, detail::tvec4< T, P > const &color)
 
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:

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_GTX_color_space

-
Date
2005-12-21 / 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 color_space.hpp.

+

Definition in file gtx/common.hpp.

diff --git a/doc/api/a00014_source.html b/doc/api/a00014_source.html index 64bb198f..aafe0234 100644 --- a/doc/api/a00014_source.html +++ b/doc/api/a00014_source.html @@ -3,8 +3,8 @@ - -GLM: color_space.hpp Source File + +0.9.6: common.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,69 +41,44 @@
-
color_space.hpp
+
gtx/common.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_color_space
-
39 #define GLM_GTX_color_space
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_color_space extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T, precision P>
-
56  detail::tvec3<T, P> rgbColor(
-
57  detail::tvec3<T, P> const & hsvValue);
-
58 
-
61  template <typename T, precision P>
-
62  detail::tvec3<T, P> hsvColor(
-
63  detail::tvec3<T, P> const & rgbValue);
-
64 
-
67  template <typename T, precision P>
-
68  detail::tmat4x4<T, P> saturation(
-
69  T const s);
-
70 
-
73  template <typename T, precision P>
-
74  detail::tvec3<T, P> saturation(
-
75  T const s,
-
76  detail::tvec3<T, P> const & color);
-
77 
-
80  template <typename T, precision P>
-
81  detail::tvec4<T, P> saturation(
-
82  T const s,
-
83  detail::tvec4<T, P> const & color);
-
84 
-
87  template <typename T, precision P>
-
88  T luminosity(
-
89  detail::tvec3<T, P> const & color);
-
90 
-
92 }//namespace glm
-
93 
-
94 #include "color_space.inl"
-
95 
-
96 #endif//GLM_GTX_color_space
-
detail::tvec3< T, P > hsvColor(detail::tvec3< T, P > const &rgbValue)
Converts a color from RGB color space to its color in HSV color space.
-
detail::tmat4x4< T, P > saturation(T const s)
Build a saturation matrix.
-
detail::tvec3< T, P > rgbColor(detail::tvec3< T, P > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
-
T luminosity(detail::tvec3< T, P > const &color)
Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.
+
39 #pragma once
+
40 
+
41 // Dependencies:
+
42 #include "../vec2.hpp"
+
43 #include "../vec3.hpp"
+
44 #include "../vec4.hpp"
+
45 #include "../gtc/vec1.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_common extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
64  template <typename genType>
+
65  GLM_FUNC_DECL typename genType::bool_type isdenormal(genType const & x);
+
66 
+
68 }//namespace glm
+
69 
+
70 #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...
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00015.html b/doc/api/a00015.html index dc643867..b41a9a17 100644 --- a/doc/api/a00015.html +++ b/doc/api/a00015.html @@ -3,8 +3,8 @@ - -GLM: color_space_YCoCg.hpp File Reference + +0.9.6: compatibility.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,57 +41,292 @@
-Namespaces | +Typedefs | Functions
-
color_space_YCoCg.hpp File Reference
+
compatibility.hpp File Reference

Go to the source code of this file.

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

-Namespaces

 glm
 

+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>
detail::tvec3< T, P > rgb2YCoCg (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCgR (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCg2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCgR2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
+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)
 

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:

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_GTX_color_space_YCoCg

-
Date
2008-10-28 / 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 color_space_YCoCg.hpp.

+

Definition in file compatibility.hpp.

diff --git a/doc/api/a00015_source.html b/doc/api/a00015_source.html index 97caed4f..ccf1acdb 100644 --- a/doc/api/a00015_source.html +++ b/doc/api/a00015_source.html @@ -3,8 +3,8 @@ - -GLM: color_space_YCoCg.hpp Source File + +0.9.6: compatibility.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,60 +41,201 @@
-
color_space_YCoCg.hpp
+
compatibility.hpp
Go to the documentation of this file.
1 
-
38 #ifndef glm_gtx_color_space_YCoCg
-
39 #define glm_gtx_color_space_YCoCg
-
40 
+
39 #pragma once
+
40 
41 // Dependency:
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T, precision P>
-
56  detail::tvec3<T, P> rgb2YCoCg(
-
57  detail::tvec3<T, P> const & rgbColor);
-
58 
-
61  template <typename T, precision P>
-
62  detail::tvec3<T, P> YCoCg2rgb(
-
63  detail::tvec3<T, P> const & YCoCgColor);
-
64 
-
68  template <typename T, precision P>
-
69  detail::tvec3<T, P> rgb2YCoCgR(
-
70  detail::tvec3<T, P> const & rgbColor);
+
43 #include "../gtc/quaternion.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_compatibility extension included")
+
47 #endif
+
48 
+
49 #if(GLM_COMPILER & GLM_COMPILER_VC)
+
50 # include <cfloat>
+
51 #elif(GLM_COMPILER & GLM_COMPILER_GCC)
+
52 # include <cmath>
+
53 # if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+
54 # undef isfinite
+
55 # endif
+
56 #endif//GLM_COMPILER
+
57 
+
58 namespace glm
+
59 {
+
62 
+
63  template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
+
64  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);}
+
65 
+
66  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);}
+
67  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);}
+
68  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);}
+
69  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);}
+
70  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);}
71 
-
75  template <typename T, precision P>
-
76  detail::tvec3<T, P> YCoCgR2rgb(
-
77  detail::tvec3<T, P> const & YCoCgColor);
+
72  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);}
+
73 
+
74  template <typename T, precision P> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));}
+
75  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> saturate(const tvec2<T, P>& x){return clamp(x, T(0), T(1));}
+
76  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> saturate(const tvec3<T, P>& x){return clamp(x, T(0), T(1));}
+
77  template <typename T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> saturate(const tvec4<T, P>& x){return clamp(x, T(0), T(1));}
78 
-
80 }//namespace glm
-
81 
-
82 #include "color_space_YCoCg.inl"
+
79  template <typename T, precision P> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);}
+
80  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);}
+
81  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);}
+
82  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);}
83 
-
84 #endif//glm_gtx_color_space_YCoCg
-
detail::tvec3< T, P > YCoCgR2rgb(detail::tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCgR color space to RGB color space.
-
detail::tvec3< T, P > rgb2YCoCgR(detail::tvec3< T, P > const &rgbColor)
Convert a color from RGB color space to YCoCgR color space.
-
detail::tvec3< T, P > YCoCg2rgb(detail::tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCg color space to RGB color space.
-
detail::tvec3< T, P > rgbColor(detail::tvec3< T, P > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
-
detail::tvec3< T, P > rgb2YCoCg(detail::tvec3< T, P > const &rgbColor)
Convert a color from RGB color space to YCoCg color space.
+
84  template <typename genType> GLM_FUNC_DECL bool isfinite(genType const & x);
+
85  template <typename T, precision P> GLM_FUNC_DECL tvec2<bool, P> isfinite(const tvec2<T, P>& x);
+
86  template <typename T, precision P> GLM_FUNC_DECL tvec3<bool, P> isfinite(const tvec3<T, P>& x);
+
87  template <typename T, precision P> GLM_FUNC_DECL tvec4<bool, P> isfinite(const tvec4<T, P>& x);
+
88 
+
89  typedef bool bool1;
+
90  typedef tvec2<bool, highp> bool2;
+
91  typedef tvec3<bool, highp> bool3;
+
92  typedef tvec4<bool, highp> bool4;
+
93 
+
94  typedef bool bool1x1;
+
95  typedef tmat2x2<bool, highp> bool2x2;
+
96  typedef tmat2x3<bool, highp> bool2x3;
+
97  typedef tmat2x4<bool, highp> bool2x4;
+
98  typedef tmat3x2<bool, highp> bool3x2;
+
99  typedef tmat3x3<bool, highp> bool3x3;
+
100  typedef tmat3x4<bool, highp> bool3x4;
+
101  typedef tmat4x2<bool, highp> bool4x2;
+
102  typedef tmat4x3<bool, highp> bool4x3;
+
103  typedef tmat4x4<bool, highp> bool4x4;
+
104 
+
105  typedef int int1;
+
106  typedef tvec2<int, highp> int2;
+
107  typedef tvec3<int, highp> int3;
+
108  typedef tvec4<int, highp> int4;
+
109 
+
110  typedef int int1x1;
+
111  typedef tmat2x2<int, highp> int2x2;
+
112  typedef tmat2x3<int, highp> int2x3;
+
113  typedef tmat2x4<int, highp> int2x4;
+
114  typedef tmat3x2<int, highp> int3x2;
+
115  typedef tmat3x3<int, highp> int3x3;
+
116  typedef tmat3x4<int, highp> int3x4;
+
117  typedef tmat4x2<int, highp> int4x2;
+
118  typedef tmat4x3<int, highp> int4x3;
+
119  typedef tmat4x4<int, highp> int4x4;
+
120 
+
121  typedef float float1;
+
122  typedef tvec2<float, highp> float2;
+
123  typedef tvec3<float, highp> float3;
+
124  typedef tvec4<float, highp> float4;
+
125 
+
126  typedef float float1x1;
+
127  typedef tmat2x2<float, highp> float2x2;
+
128  typedef tmat2x3<float, highp> float2x3;
+
129  typedef tmat2x4<float, highp> float2x4;
+
130  typedef tmat3x2<float, highp> float3x2;
+
131  typedef tmat3x3<float, highp> float3x3;
+
132  typedef tmat3x4<float, highp> float3x4;
+
133  typedef tmat4x2<float, highp> float4x2;
+
134  typedef tmat4x3<float, highp> float4x3;
+
135  typedef tmat4x4<float, highp> float4x4;
+
136 
+
137  typedef double double1;
+
138  typedef tvec2<double, highp> double2;
+
139  typedef tvec3<double, highp> double3;
+
140  typedef tvec4<double, highp> double4;
+
141 
+
142  typedef double double1x1;
+
143  typedef tmat2x2<double, highp> double2x2;
+
144  typedef tmat2x3<double, highp> double2x3;
+
145  typedef tmat2x4<double, highp> double2x4;
+
146  typedef tmat3x2<double, highp> double3x2;
+
147  typedef tmat3x3<double, highp> double3x3;
+
148  typedef tmat3x4<double, highp> double3x4;
+
149  typedef tmat4x2<double, highp> double4x2;
+
150  typedef tmat4x3<double, highp> double4x3;
+
151  typedef tmat4x4<double, highp> double4x4;
+
152 
+
154 }//namespace glm
+
155 
+
156 #include "compatibility.inl"
+
tmat3x4< float, highp > float3x4
single-precision floating-point matrix with 3 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) ...
+
tmat3x4< double, highp > double3x4
double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
+
tmat2x2< int, highp > int2x2
integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
+
tvec3< int, highp > int3
integer vector with 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...
+
float float1x1
single-precision floating-point matrix with 1 component. (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< bool, highp > bool2x3
boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
+
int int1x1
integer matrix with 1 component. (From GLM_GTX_compatibility extension)
+
tmat4x3< bool, highp > bool4x3
boolean 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) ...
+
tmat2x4< float, highp > float2x4
single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
+
tvec2< bool, highp > bool2
boolean type with 2 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)...
+
tvec4< float, highp > float4
single-precision floating-point vector with 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) ...
+
double double1
double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
+
tvec2< int, highp > int2
integer vector with 2 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) ...
+
tmat3x3< int, highp > int3x3
integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
+
tmat4x4< bool, highp > bool4x4
boolean 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) ...
+
double double1x1
double-precision floating-point matrix with 1 component. (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)
+
tmat2x2< float, highp > float2x2
single-precision floating-point matrix with 2 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)
+
tvec3< bool, highp > bool3
boolean type with 3 components. (From GLM_GTX_compatibility extension)
+
tmat3x2< int, highp > int3x2
integer matrix with 3 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< float, highp > float4x4
single-precision floating-point matrix with 4 x 4 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) ...
+
float float1
single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
+
tvec4< double, highp > double4
double-precision floating-point vector with 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) ...
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL vecType< T, P > atan(vecType< T, P > const &y, vecType< T, P > const &x)
Arc tangent.
+
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_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)
+
tmat4x2< bool, highp > bool4x2
boolean matrix with 4 x 2 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) ...
+
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)
+
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)
+
tmat4x4< int, highp > int4x4
integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
+
int int1
integer 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) ...
+
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...
+
tmat2x2< bool, highp > bool2x2
boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
+
tmat2x3< int, highp > int2x3
integer matrix with 2 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) ...
+
tmat4x4< double, highp > double4x4
double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
+
bool bool1
boolean type with 1 component. (From GLM_GTX_compatibility extension)
+
tvec2< double, highp > double2
double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
+
bool bool1x1
boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
+
tmat3x3< bool, highp > bool3x3
boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
+
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.
+
tmat2x4< int, highp > int2x4
integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
+
tmat3x2< bool, highp > bool3x2
boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
diff --git a/doc/api/a00016.html b/doc/api/a00016.html index dfde7901..e189dfbb 100644 --- a/doc/api/a00016.html +++ b/doc/api/a00016.html @@ -3,8 +3,8 @@ - -GLM: common.hpp File Reference + +0.9.6: component_wise.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,32 +41,51 @@
+
+Functions
-
common.hpp File Reference
+
component_wise.hpp File Reference

Go to the source code of this file.

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

+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)
 

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:

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_component_wise

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

Definition in file common.hpp.

+

Definition in file component_wise.hpp.

diff --git a/doc/api/a00016_source.html b/doc/api/a00016_source.html index 2a985c0d..68014358 100644 --- a/doc/api/a00016_source.html +++ b/doc/api/a00016_source.html @@ -3,8 +3,8 @@ - -GLM: common.hpp Source File + +0.9.6: component_wise.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,57 @@
-
common.hpp
+
component_wise.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_COMMON_INCLUDED
-
30 #define GLM_COMMON_INCLUDED
-
31 
-
32 #include "detail/func_common.hpp"
-
33 
-
34 #endif//GLM_COMMON_INCLUDED
+
38 #pragma once
+
39 
+
40 // Dependencies
+
41 #include "../detail/setup.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_component_wise extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename genType>
+
55  GLM_FUNC_DECL typename genType::value_type compAdd(
+
56  genType const & v);
+
57 
+
60  template <typename genType>
+
61  GLM_FUNC_DECL typename genType::value_type compMul(
+
62  genType const & v);
+
63 
+
66  template <typename genType>
+
67  GLM_FUNC_DECL typename genType::value_type compMin(
+
68  genType const & v);
+
69 
+
72  template <typename genType>
+
73  GLM_FUNC_DECL typename genType::value_type compMax(
+
74  genType const & v);
+
75 
+
77 }//namespace glm
+
78 
+
79 #include "component_wise.inl"
+
GLM_FUNC_DECL genType::value_type compMul(genType const &v)
Multiply all vector components together.
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL genType::value_type compMax(genType const &v)
Find the maximum value between single vector components.
+
GLM_FUNC_DECL genType::value_type compMin(genType const &v)
Find the minimum value between single vector components.
+
GLM_FUNC_DECL genType::value_type compAdd(genType const &v)
Add all vector components together.
diff --git a/doc/api/a00017.html b/doc/api/a00017.html index 961bd50d..64db9e0e 100644 --- a/doc/api/a00017.html +++ b/doc/api/a00017.html @@ -3,8 +3,8 @@ - -GLM: compatibility.hpp File Reference + +0.9.6: constants.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,355 +41,128 @@
-Namespaces | -Typedefs | Functions
-
compatibility.hpp File Reference
+
constants.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef bool bool1
 
-typedef bool bool1x1
 
-typedef detail::tvec2< bool,
-highp > 
bool2
 
-typedef detail::tmat2x2< bool,
-highp > 
bool2x2
 
-typedef detail::tmat2x3< bool,
-highp > 
bool2x3
 
-typedef detail::tmat2x4< bool,
-highp > 
bool2x4
 
-typedef detail::tvec3< bool,
-highp > 
bool3
 
-typedef detail::tmat3x2< bool,
-highp > 
bool3x2
 
-typedef detail::tmat3x3< bool,
-highp > 
bool3x3
 
-typedef detail::tmat3x4< bool,
-highp > 
bool3x4
 
-typedef detail::tvec4< bool,
-highp > 
bool4
 
-typedef detail::tmat4x2< bool,
-highp > 
bool4x2
 
-typedef detail::tmat4x3< bool,
-highp > 
bool4x3
 
-typedef detail::tmat4x4< bool,
-highp > 
bool4x4
 
-typedef double double1
 
-typedef double double1x1
 
-typedef detail::tvec2< double,
-highp > 
double2
 
-typedef detail::tmat2x2
-< double, highp > 
double2x2
 
-typedef detail::tmat2x3
-< double, highp > 
double2x3
 
-typedef detail::tmat2x4
-< double, highp > 
double2x4
 
-typedef detail::tvec3< double,
-highp > 
double3
 
-typedef detail::tmat3x2
-< double, highp > 
double3x2
 
-typedef detail::tmat3x3
-< double, highp > 
double3x3
 
-typedef detail::tmat3x4
-< double, highp > 
double3x4
 
-typedef detail::tvec4< double,
-highp > 
double4
 
-typedef detail::tmat4x2
-< double, highp > 
double4x2
 
-typedef detail::tmat4x3
-< double, highp > 
double4x3
 
-typedef detail::tmat4x4
-< double, highp > 
double4x4
 
-typedef float float1
 
-typedef float float1x1
 
-typedef detail::tvec2< float,
-highp > 
float2
 
-typedef detail::tmat2x2< float,
-highp > 
float2x2
 
-typedef detail::tmat2x3< float,
-highp > 
float2x3
 
-typedef detail::tmat2x4< float,
-highp > 
float2x4
 
-typedef detail::tvec3< float,
-highp > 
float3
 
-typedef detail::tmat3x2< float,
-highp > 
float3x2
 
-typedef detail::tmat3x3< float,
-highp > 
float3x3
 
-typedef detail::tmat3x4< float,
-highp > 
float3x4
 
-typedef detail::tvec4< float,
-highp > 
float4
 
-typedef detail::tmat4x2< float,
-highp > 
float4x2
 
-typedef detail::tmat4x3< float,
-highp > 
float4x3
 
-typedef detail::tmat4x4< float,
-highp > 
float4x4
 
-typedef int int1
 
-typedef int int1x1
 
-typedef detail::tvec2< int, highp > int2
 
-typedef detail::tmat2x2< int,
-highp > 
int2x2
 
-typedef detail::tmat2x3< int,
-highp > 
int2x3
 
-typedef detail::tmat2x4< int,
-highp > 
int2x4
 
-typedef detail::tvec3< int, highp > int3
 
-typedef detail::tmat3x2< int,
-highp > 
int3x2
 
-typedef detail::tmat3x3< int,
-highp > 
int3x3
 
-typedef detail::tmat3x4< int,
-highp > 
int3x4
 
-typedef detail::tvec4< int, highp > int4
 
-typedef detail::tmat4x2< int,
-highp > 
int4x2
 
-typedef detail::tmat4x3< int,
-highp > 
int4x3
 
-typedef detail::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
-detail::tvec2< T, P > 
atan2 (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
atan2 (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
atan2 (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y)
 
-template<typename genType >
bool isfinite (genType const &x)
 
-template<typename T , precision P>
detail::tvec2< bool, P > isfinite (const detail::tvec2< T, P > &x)
 
-template<typename T , precision P>
detail::tvec3< bool, P > isfinite (const detail::tvec3< T, P > &x)
 
-template<typename T , precision P>
detail::tvec4< bool, P > isfinite (const detail::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
-detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, const detail::tvec2< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, const detail::tvec3< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, const detail::tvec4< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec2< T, P > 
saturate (const detail::tvec2< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
saturate (const detail::tvec3< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
saturate (const detail::tvec4< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
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:

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_GTX_compatibility

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

GLM_GTC_constants

+
Date
2011-09-30 / 2012-01-25
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 constants.hpp.

diff --git a/doc/api/a00017_source.html b/doc/api/a00017_source.html index ec349115..7227a721 100644 --- a/doc/api/a00017_source.html +++ b/doc/api/a00017_source.html @@ -3,8 +3,8 @@ - -GLM: compatibility.hpp Source File + +0.9.6: constants.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,204 +41,153 @@
-
compatibility.hpp
+
constants.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_compatibility
-
40 #define GLM_GTX_compatibility
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/quaternion.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_compatibility extension included")
-
48 #endif
-
49 
-
50 #if(GLM_COMPILER & GLM_COMPILER_VC)
-
51 # include <cfloat>
-
52 #elif(GLM_COMPILER & GLM_COMPILER_GCC)
-
53 # include <cmath>
-
54 # if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-
55 # undef isfinite
-
56 # endif
-
57 #endif//GLM_COMPILER
-
58 
-
59 namespace glm
-
60 {
-
63 
-
64  template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
-
65  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> lerp(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y, T a){return mix(x, y, a);}
-
66 
-
67  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> lerp(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y, T a){return mix(x, y, a);}
-
68  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> lerp(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y, T a){return mix(x, y, a);}
-
69  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> lerp(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y, const detail::tvec2<T, P>& a){return mix(x, y, a);}
-
70  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> lerp(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y, const detail::tvec3<T, P>& a){return mix(x, y, a);}
-
71  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> lerp(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y, const detail::tvec4<T, P>& a){return mix(x, y, a);}
+
39 #pragma once
+
40 
+
41 // Dependencies
+
42 #include "../detail/setup.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTC_constants extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename genType>
+
56  GLM_FUNC_DECL genType epsilon();
+
57 
+
60  template <typename genType>
+
61  GLM_FUNC_DECL genType zero();
+
62 
+
65  template <typename genType>
+
66  GLM_FUNC_DECL genType one();
+
67 
+
70  template <typename genType>
+
71  GLM_FUNC_DECL genType pi();
72 
-
73  template <typename T, precision P> GLM_FUNC_QUALIFIER T slerp(detail::tquat<T, P> const & x, detail::tquat<T, P> const & y, T const & a){return mix(x, y, a);}
-
74 
-
75  template <typename T, precision P> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));}
-
76  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> saturate(const detail::tvec2<T, P>& x){return clamp(x, T(0), T(1));}
-
77  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> saturate(const detail::tvec3<T, P>& x){return clamp(x, T(0), T(1));}
-
78  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> saturate(const detail::tvec4<T, P>& x){return clamp(x, T(0), T(1));}
-
79 
-
80  template <typename T, precision P> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);}
-
81  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> atan2(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y){return atan(x, y);}
-
82  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> atan2(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y){return atan(x, y);}
-
83  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> atan2(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y){return atan(x, y);}
-
84 
-
85  template <typename genType> bool isfinite(genType const & x);
-
86  template <typename T, precision P> detail::tvec2<bool, P> isfinite(const detail::tvec2<T, P>& x);
-
87  template <typename T, precision P> detail::tvec3<bool, P> isfinite(const detail::tvec3<T, P>& x);
-
88  template <typename T, precision P> detail::tvec4<bool, P> isfinite(const detail::tvec4<T, P>& x);
-
89 
-
90  typedef bool bool1;
-
91  typedef detail::tvec2<bool, highp> bool2;
-
92  typedef detail::tvec3<bool, highp> bool3;
-
93  typedef detail::tvec4<bool, highp> bool4;
-
94 
-
95  typedef bool bool1x1;
-
96  typedef detail::tmat2x2<bool, highp> bool2x2;
-
97  typedef detail::tmat2x3<bool, highp> bool2x3;
-
98  typedef detail::tmat2x4<bool, highp> bool2x4;
-
99  typedef detail::tmat3x2<bool, highp> bool3x2;
-
100  typedef detail::tmat3x3<bool, highp> bool3x3;
-
101  typedef detail::tmat3x4<bool, highp> bool3x4;
-
102  typedef detail::tmat4x2<bool, highp> bool4x2;
-
103  typedef detail::tmat4x3<bool, highp> bool4x3;
-
104  typedef detail::tmat4x4<bool, highp> bool4x4;
-
105 
-
106  typedef int int1;
-
107  typedef detail::tvec2<int, highp> int2;
-
108  typedef detail::tvec3<int, highp> int3;
-
109  typedef detail::tvec4<int, highp> int4;
-
110 
-
111  typedef int int1x1;
-
112  typedef detail::tmat2x2<int, highp> int2x2;
-
113  typedef detail::tmat2x3<int, highp> int2x3;
-
114  typedef detail::tmat2x4<int, highp> int2x4;
-
115  typedef detail::tmat3x2<int, highp> int3x2;
-
116  typedef detail::tmat3x3<int, highp> int3x3;
-
117  typedef detail::tmat3x4<int, highp> int3x4;
-
118  typedef detail::tmat4x2<int, highp> int4x2;
-
119  typedef detail::tmat4x3<int, highp> int4x3;
-
120  typedef detail::tmat4x4<int, highp> int4x4;
-
121 
-
122  typedef float float1;
-
123  typedef detail::tvec2<float, highp> float2;
-
124  typedef detail::tvec3<float, highp> float3;
-
125  typedef detail::tvec4<float, highp> float4;
-
126 
-
127  typedef float float1x1;
-
128  typedef detail::tmat2x2<float, highp> float2x2;
-
129  typedef detail::tmat2x3<float, highp> float2x3;
-
130  typedef detail::tmat2x4<float, highp> float2x4;
-
131  typedef detail::tmat3x2<float, highp> float3x2;
-
132  typedef detail::tmat3x3<float, highp> float3x3;
-
133  typedef detail::tmat3x4<float, highp> float3x4;
-
134  typedef detail::tmat4x2<float, highp> float4x2;
-
135  typedef detail::tmat4x3<float, highp> float4x3;
-
136  typedef detail::tmat4x4<float, highp> float4x4;
+
75  template <typename genType>
+
76  GLM_FUNC_DECL genType two_pi();
+
77 
+
80  template <typename genType>
+
81  GLM_FUNC_DECL genType root_pi();
+
82 
+
85  template <typename genType>
+
86  GLM_FUNC_DECL genType half_pi();
+
87 
+
90  template <typename genType>
+
91  GLM_FUNC_DECL genType three_over_two_pi();
+
92 
+
95  template <typename genType>
+
96  GLM_FUNC_DECL genType quarter_pi();
+
97 
+
100  template <typename genType>
+
101  GLM_FUNC_DECL genType one_over_pi();
+
102 
+
105  template <typename genType>
+
106  GLM_FUNC_DECL genType one_over_two_pi();
+
107 
+
110  template <typename genType>
+
111  GLM_FUNC_DECL genType two_over_pi();
+
112 
+
115  template <typename genType>
+
116  GLM_FUNC_DECL genType four_over_pi();
+
117 
+
120  template <typename genType>
+
121  GLM_FUNC_DECL genType two_over_root_pi();
+
122 
+
125  template <typename genType>
+
126  GLM_FUNC_DECL genType one_over_root_two();
+
127 
+
130  template <typename genType>
+
131  GLM_FUNC_DECL genType root_half_pi();
+
132 
+
135  template <typename genType>
+
136  GLM_FUNC_DECL genType root_two_pi();
137 
-
138  typedef double double1;
-
139  typedef detail::tvec2<double, highp> double2;
-
140  typedef detail::tvec3<double, highp> double3;
-
141  typedef detail::tvec4<double, highp> double4;
+
140  template <typename genType>
+
141  GLM_FUNC_DECL genType root_ln_four();
142 
-
143  typedef double double1x1;
-
144  typedef detail::tmat2x2<double, highp> double2x2;
-
145  typedef detail::tmat2x3<double, highp> double2x3;
-
146  typedef detail::tmat2x4<double, highp> double2x4;
-
147  typedef detail::tmat3x2<double, highp> double3x2;
-
148  typedef detail::tmat3x3<double, highp> double3x3;
-
149  typedef detail::tmat3x4<double, highp> double3x4;
-
150  typedef detail::tmat4x2<double, highp> double4x2;
-
151  typedef detail::tmat4x3<double, highp> double4x3;
-
152  typedef detail::tmat4x4<double, highp> double4x4;
-
153 
-
155 }//namespace glm
-
156 
-
157 #include "compatibility.inl"
-
158 
-
159 #endif//GLM_GTX_compatibility
-
160 
-
detail::tmat2x2< int, highp > int2x2
integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
-
float float1x1
single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
-
detail::tmat3x4< int, highp > int3x4
integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
-
detail::tmat2x2< float, highp > float2x2
single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
-
GLM_FUNC_DECL genType atan(genType const &y, genType const &x)
Arc tangent.
-
detail::tvec4< float, highp > float4
single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat4x2< bool, highp > bool4x2
boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
-
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
-
detail::tmat4x2< int, highp > int4x2
integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
-
GLM_FUNC_QUALIFIER T saturate(T x)
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
-
detail::tvec3< int, highp > int3
integer vector with 3 components. (From GLM_GTX_compatibility extension)
-
detail::tmat3x3< float, highp > float3x3
single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat4x3< double, highp > double4x3
double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
-
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
-
int int1x1
integer matrix with 1 component. (From GLM_GTX_compatibility extension)
-
bool bool1x1
boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
-
detail::tvec2< int, highp > int2
integer vector with 2 components. (From GLM_GTX_compatibility extension)
-
detail::tmat4x4< double, highp > double4x4
double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat2x2< double, highp > double2x2
double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat2x3< bool, highp > bool2x3
boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
-
int int1
integer vector with 1 component. (From GLM_GTX_compatibility extension)
-
detail::tmat2x4< float, highp > float2x4
single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat3x2< double, highp > double3x2
double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
-
detail::tvec4< bool, highp > bool4
boolean type with 4 components. (From GLM_GTX_compatibility extension)
-
GLM_FUNC_QUALIFIER T atan2(T x, T y)
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...
-
detail::tmat3x2< bool, highp > bool3x2
boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
-
detail::tmat4x4< int, highp > int4x4
integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
-
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) ...
-
detail::tmat4x3< float, highp > float4x3
single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat4x4< bool, highp > bool4x4
boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
-
detail::tmat3x3< bool, highp > bool3x3
boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
-
detail::tmat3x3< int, highp > int3x3
integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
-
detail::tmat3x4< double, highp > double3x4
double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
-
detail::tvec4< int, highp > int4
integer vector with 4 components. (From GLM_GTX_compatibility extension)
-
detail::tmat3x4< bool, highp > bool3x4
boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
-
detail::tmat2x3< double, highp > double2x3
double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat4x2< double, highp > double4x2
double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat2x3< int, highp > int2x3
integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
-
detail::tvec3< double, highp > double3
double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat2x4< int, highp > int2x4
integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
-
detail::tmat2x4< double, highp > double2x4
double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat3x2< float, highp > float3x2
single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat4x3< bool, highp > bool4x3
boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
-
detail::tmat2x3< float, highp > float2x3
single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
-
GLM_FUNC_DECL detail::tquat< T, P > slerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
-
GLM_FUNC_DECL genType clamp(genType const &x, genType const &minVal, genType const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
-
detail::tmat3x2< int, highp > int3x2
integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
-
detail::tmat2x2< bool, highp > bool2x2
boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
-
detail::tmat4x4< float, highp > float4x4
single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
-
detail::tvec2< double, highp > double2
double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
-
detail::tmat4x3< int, highp > int4x3
integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
-
detail::tmat3x3< double, highp > double3x3
double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
-
detail::tvec3< float, highp > float3
single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
-
detail::tvec3< bool, highp > bool3
boolean type with 3 components. (From GLM_GTX_compatibility extension)
-
double double1
double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
-
detail::tmat4x2< float, highp > float4x2
single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
-
bool isfinite(genType const &x)
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...
-
detail::tmat3x4< float, highp > float3x4
single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
-
detail::tvec2< bool, highp > bool2
boolean type with 2 components. (From GLM_GTX_compatibility extension)
-
detail::tmat2x4< bool, highp > bool2x4
boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
-
detail::tvec4< double, highp > double4
double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
-
float float1
single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
-
detail::tvec2< float, highp > float2
single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
+
145  template <typename genType>
+
146  GLM_FUNC_DECL genType e();
+
147 
+
150  template <typename genType>
+
151  GLM_FUNC_DECL genType euler();
+
152 
+
155  template <typename genType>
+
156  GLM_FUNC_DECL genType root_two();
+
157 
+
160  template <typename genType>
+
161  GLM_FUNC_DECL genType root_three();
+
162 
+
165  template <typename genType>
+
166  GLM_FUNC_DECL genType root_five();
+
167 
+
170  template <typename genType>
+
171  GLM_FUNC_DECL genType ln_two();
+
172 
+
175  template <typename genType>
+
176  GLM_FUNC_DECL genType ln_ten();
+
177 
+
180  template <typename genType>
+
181  GLM_FUNC_DECL genType ln_ln_two();
+
182 
+
185  template <typename genType>
+
186  GLM_FUNC_DECL genType third();
+
187 
+
190  template <typename genType>
+
191  GLM_FUNC_DECL genType two_thirds();
+
192 
+
195  template <typename genType>
+
196  GLM_FUNC_DECL genType golden_ratio();
+
197 
+
199 } //namespace glm
+
200 
+
201 #include "constants.inl"
+
GLM_FUNC_DECL genType two_over_pi()
Return 2 / pi.
+
GLM_FUNC_DECL genType half_pi()
Return pi / 2.
+
GLM_FUNC_DECL genType root_ln_four()
Return sqrt(ln(4)).
+
GLM_FUNC_DECL genType two_pi()
Return pi * 2.
+
GLM_FUNC_DECL genType euler()
Return Euler's constant.
+
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 epsilon()
Return the epsilon constant for floating point types.
+
GLM_FUNC_DECL genType root_two()
Return sqrt(2).
+
GLM_FUNC_DECL genType root_five()
Return sqrt(5).
+
GLM_FUNC_DECL genType e()
Return e constant.
+
GLM_FUNC_DECL genType two_thirds()
Return 2 / 3.
+
GLM_FUNC_DECL genType quarter_pi()
Return pi / 4.
+
GLM_FUNC_DECL genType one_over_root_two()
Return 1 / sqrt(2).
+
GLM_FUNC_DECL genType ln_two()
Return ln(2).
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL genType root_half_pi()
Return sqrt(pi / 2).
+
GLM_FUNC_DECL genType root_three()
Return sqrt(3).
+
GLM_FUNC_DECL genType ln_ln_two()
Return ln(ln(2)).
+
GLM_FUNC_DECL genType zero()
Return 0.
+
GLM_FUNC_DECL genType four_over_pi()
Return 4 / pi.
+
GLM_FUNC_DECL genType root_two_pi()
Return sqrt(2 * pi).
+
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 one_over_pi()
Return 1 / 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).
diff --git a/doc/api/a00018.html b/doc/api/a00018.html index bda590c2..49055d63 100644 --- a/doc/api/a00018.html +++ b/doc/api/a00018.html @@ -3,8 +3,8 @@ - -GLM: component_wise.hpp File Reference + +0.9.6: dual_quaternion.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,57 +41,95 @@
-Namespaces | +Typedefs | Functions
-
component_wise.hpp File Reference
+
dual_quaternion.hpp File Reference

Go to the source code of this file.

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

-Namespaces

 glm
 

+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 genType >
genType::value_type compAdd (genType const &v)
 
template<typename genType >
genType::value_type compMax (genType const &v)
 
template<typename genType >
genType::value_type compMin (genType const &v)
 
template<typename genType >
genType::value_type compMul (genType const &v)
 
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:

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_GTX_component_wise

-
Date
2007-05-21 / 2011-06-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_constants (dependence)
+
+GLM_GTC_quaternion (dependence)
-

Definition in file component_wise.hpp.

+

Definition in file dual_quaternion.hpp.

diff --git a/doc/api/a00018_source.html b/doc/api/a00018_source.html index 855e0421..32b4eb51 100644 --- a/doc/api/a00018_source.html +++ b/doc/api/a00018_source.html @@ -3,8 +3,8 @@ - -GLM: component_wise.hpp Source File + +0.9.6: dual_quaternion.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,59 +41,240 @@
-
component_wise.hpp
+
dual_quaternion.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_component_wise
-
39 #define GLM_GTX_component_wise
-
40 
-
41 // Dependencies
-
42 #include "../detail/setup.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_component_wise extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename genType>
-
56  typename genType::value_type compAdd(
-
57  genType const & v);
-
58 
-
61  template <typename genType>
-
62  typename genType::value_type compMul(
-
63  genType const & v);
-
64 
-
67  template <typename genType>
-
68  typename genType::value_type compMin(
-
69  genType const & v);
-
70 
-
73  template <typename genType>
-
74  typename genType::value_type compMax(
-
75  genType const & v);
+
41 #pragma once
+
42 
+
43 // Dependency:
+
44 #include "../glm.hpp"
+
45 #include "../gtc/constants.hpp"
+
46 #include "../gtc/quaternion.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_dual_quaternion extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
57  template <typename T, precision P>
+
58  struct tdualquat
+
59  {
+
60  typedef T value_type;
+
61  typedef glm::tquat<T, P> part_type;
+
62 
+
63  public:
+
64  glm::tquat<T, P> real, dual;
+
65 
+
66 #if GLM_FORCE_SIZE_FUNC
+
67  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
69 #else
+
70  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
72 #endif//GLM_FORCE_SIZE_FUNC
+
73 
+
75  // Implicit basic constructors
76 
-
78 }//namespace glm
-
79 
-
80 #include "component_wise.inl"
-
81 
-
82 #endif//GLM_GTX_component_wise
-
genType::value_type compMin(genType const &v)
Find the minimum value between single vector components.
-
genType::value_type compMul(genType const &v)
Multiply all vector components together.
-
genType::value_type compMax(genType const &v)
Find the maximum value between single vector components.
-
genType::value_type compAdd(genType const &v)
Add all vector components together.
+
77  GLM_FUNC_DECL tdualquat();
+
78  template <precision Q>
+
79  GLM_FUNC_DECL tdualquat(tdualquat<T, Q> const & d);
+
80 
+
82  // Explicit basic constructors
+
83 
+
84  GLM_FUNC_DECL explicit tdualquat(ctor);
+
85  GLM_FUNC_DECL explicit tdualquat(tquat<T, P> const & real);
+
86  GLM_FUNC_DECL tdualquat(tquat<T, P> const & orientation, tvec3<T, P> const & translation);
+
87  GLM_FUNC_DECL tdualquat(tquat<T, P> const & real, tquat<T, P> const & dual);
+
88 
+
90  // tdualquat conversions
+
91 
+
92 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
93  template <typename U, precision Q>
+
94  GLM_FUNC_DECL explicit tdualquat(tdualquat<U, Q> const & q);
+
95 # else
+
96  template <typename U, precision Q>
+
97  GLM_FUNC_DECL tdualquat(tdualquat<U, Q> const & q);
+
98 # endif
+
99 
+
100  GLM_FUNC_DECL explicit tdualquat(tmat2x4<T, P> const & holder_mat);
+
101  GLM_FUNC_DECL explicit tdualquat(tmat3x4<T, P> const & aug_mat);
+
102 
+
103  // Accesses
+
104  GLM_FUNC_DECL part_type & operator[](int i);
+
105  GLM_FUNC_DECL part_type const & operator[](int i) const;
+
106 
+
107  // Operators
+
108  GLM_FUNC_DECL tdualquat<T, P> & operator*=(T const & s);
+
109  GLM_FUNC_DECL tdualquat<T, P> & operator/=(T const & s);
+
110  };
+
111 
+
112  template <typename T, precision P>
+
113  GLM_FUNC_DECL tquat<T, P> operator- (
+
114  tquat<T, P> const & q);
+
115 
+
116  template <typename T, precision P>
+
117  GLM_FUNC_DECL tdualquat<T, P> operator+ (
+
118  tdualquat<T, P> const & q,
+
119  tdualquat<T, P> const & p);
+
120 
+
121  template <typename T, precision P>
+
122  GLM_FUNC_DECL tdualquat<T, P> operator* (
+
123  tdualquat<T, P> const & q,
+
124  tdualquat<T, P> const & p);
+
125 
+
126  template <typename T, precision P>
+
127  GLM_FUNC_DECL tvec3<T, P> operator* (
+
128  tquat<T, P> const & q,
+
129  tvec3<T, P> const & v);
+
130 
+
131  template <typename T, precision P>
+
132  GLM_FUNC_DECL tvec3<T, P> operator* (
+
133  tvec3<T, P> const & v,
+
134  tquat<T, P> const & q);
+
135 
+
136  template <typename T, precision P>
+
137  GLM_FUNC_DECL tvec4<T, P> operator* (
+
138  tquat<T, P> const & q,
+
139  tvec4<T, P> const & v);
+
140 
+
141  template <typename T, precision P>
+
142  GLM_FUNC_DECL tvec4<T, P> operator* (
+
143  tvec4<T, P> const & v,
+
144  tquat<T, P> const & q);
+
145 
+
146  template <typename T, precision P>
+
147  GLM_FUNC_DECL tdualquat<T, P> operator* (
+
148  tdualquat<T, P> const & q,
+
149  T const & s);
+
150 
+
151  template <typename T, precision P>
+
152  GLM_FUNC_DECL tdualquat<T, P> operator* (
+
153  T const & s,
+
154  tdualquat<T, P> const & q);
+
155 
+
156  template <typename T, precision P>
+
157  GLM_FUNC_DECL tdualquat<T, P> operator/ (
+
158  tdualquat<T, P> const & q,
+
159  T const & s);
+
160 
+
164  template <typename T, precision P>
+
165  GLM_FUNC_DECL tdualquat<T, P> normalize(
+
166  tdualquat<T, P> const & q);
+
167 
+
171  template <typename T, precision P>
+
172  GLM_FUNC_DECL tdualquat<T, P> lerp(
+
173  tdualquat<T, P> const & x,
+
174  tdualquat<T, P> const & y,
+
175  T const & a);
+
176 
+
180  template <typename T, precision P>
+
181  GLM_FUNC_DECL tdualquat<T, P> inverse(
+
182  tdualquat<T, P> const & q);
+
183 
+
187  template <typename T, precision P>
+
188  GLM_FUNC_DECL tmat2x4<T, P> mat2x4_cast(
+
189  tdualquat<T, P> const & x);
+
190 
+
194  template <typename T, precision P>
+
195  GLM_FUNC_DECL tmat3x4<T, P> mat3x4_cast(
+
196  tdualquat<T, P> const & x);
+
197 
+
201  template <typename T, precision P>
+
202  GLM_FUNC_DECL tdualquat<T, P> dualquat_cast(
+
203  tmat2x4<T, P> const & x);
+
204 
+
208  template <typename T, precision P>
+
209  GLM_FUNC_DECL tdualquat<T, P> dualquat_cast(
+
210  tmat3x4<T, P> const & x);
+
211 
+
212 
+
216  typedef tdualquat<float, lowp> lowp_dualquat;
+
217 
+
221  typedef tdualquat<float, mediump> mediump_dualquat;
+
222 
+
226  typedef tdualquat<float, highp> highp_dualquat;
+
227 
+
228 
+
232  typedef tdualquat<float, lowp> lowp_fdualquat;
+
233 
+
237  typedef tdualquat<float, mediump> mediump_fdualquat;
+
238 
+
242  typedef tdualquat<float, highp> highp_fdualquat;
+
243 
+
244 
+
248  typedef tdualquat<double, lowp> lowp_ddualquat;
+
249 
+
253  typedef tdualquat<double, mediump> mediump_ddualquat;
+
254 
+
258  typedef tdualquat<double, highp> highp_ddualquat;
+
259 
+
260 
+
261 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
262  typedef highp_fdualquat dualquat;
+
266 
+
270  typedef highp_fdualquat fdualquat;
+
271 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
272  typedef highp_fdualquat dualquat;
+
273  typedef highp_fdualquat fdualquat;
+
274 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
275  typedef mediump_fdualquat dualquat;
+
276  typedef mediump_fdualquat fdualquat;
+
277 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
+
278  typedef lowp_fdualquat dualquat;
+
279  typedef lowp_fdualquat fdualquat;
+
280 #else
+
281 # error "GLM error: multiple default precision requested for single-precision floating-point types"
+
282 #endif
+
283 
+
284 
+
285 #if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
286  typedef highp_ddualquat ddualquat;
+
290 #elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
291  typedef highp_ddualquat ddualquat;
+
292 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
293  typedef mediump_ddualquat ddualquat;
+
294 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
+
295  typedef lowp_ddualquat ddualquat;
+
296 #else
+
297 # error "GLM error: Multiple default precision requested for double-precision floating-point types"
+
298 #endif
+
299 
+
301 } //namespace glm
+
302 
+
303 #include "dual_quaternion.inl"
+
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< double, lowp > lowp_ddualquat
Dual-quaternion of low double-precision floating-point numbers.
+
highp_ddualquat ddualquat
Dual-quaternion of default double-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, highp > highp_ddualquat
Dual-quaternion of high double-precision floating-point numbers.
+
GLM_FUNC_DECL tdualquat< T, P > normalize(tdualquat< T, P > const &q)
Returns the normalized quaternion.
+
GLM_FUNC_DECL tmat2x4< T, P > mat2x4_cast(tdualquat< T, P > const &x)
Converts a quaternion to a 2 * 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.
+
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.
+
Definition: _noise.hpp:31
+
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< float, highp > highp_dualquat
Dual-quaternion of high single-precision floating-point numbers.
+
tdualquat< float, mediump > mediump_fdualquat
Dual-quaternion of medium single-precision floating-point numbers.
+
tdualquat< float, mediump > mediump_dualquat
Dual-quaternion of medium single-precision floating-point numbers.
+
highp_fdualquat fdualquat
Dual-quaternion of single-precision floating-point numbers.
+
tdualquat< float, lowp > lowp_dualquat
Dual-quaternion of low 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.
+
GLM_FUNC_DECL tdualquat< T, P > inverse(tdualquat< T, P > const &q)
Returns the q inverse.
+
tdualquat< double, mediump > mediump_ddualquat
Dual-quaternion of medium double-precision floating-point numbers.
diff --git a/doc/api/a00019.html b/doc/api/a00019.html index 7e8f8f26..6496e36a 100644 --- a/doc/api/a00019.html +++ b/doc/api/a00019.html @@ -3,8 +3,8 @@ - -GLM: constants.hpp File Reference + +0.9.6: epsilon.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,122 +41,55 @@
-Namespaces | Functions
-
gtc/constants.hpp File Reference
+
epsilon.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

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 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 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 two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 
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:

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_GTC_constants

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

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 gtc/constants.hpp.

+

Definition in file epsilon.hpp.

diff --git a/doc/api/a00019_source.html b/doc/api/a00019_source.html index b83646c9..df6278ec 100644 --- a/doc/api/a00019_source.html +++ b/doc/api/a00019_source.html @@ -3,8 +3,8 @@ - -GLM: constants.hpp Source File + +0.9.6: epsilon.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,139 +41,65 @@
-
gtc/constants.hpp
+
epsilon.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTC_constants
-
40 #define GLM_GTC_constants
-
41 
+
40 #pragma once
+
41 
42 // Dependencies
43 #include "../detail/setup.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTC_constants extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
57  template <typename genType>
-
58  GLM_FUNC_DECL genType epsilon();
-
59 
-
62  template <typename genType>
-
63  GLM_FUNC_DECL genType zero();
+
44 #include "../detail/precision.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTC_epsilon extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
59  template <typename T, precision P, template <typename, precision> class vecType>
+
60  GLM_FUNC_DECL vecType<bool, P> epsilonEqual(
+
61  vecType<T, P> const & x,
+
62  vecType<T, P> const & y,
+
63  T const & epsilon);
64 
-
67  template <typename genType>
-
68  GLM_FUNC_DECL genType one();
-
69 
-
72  template <typename genType>
-
73  GLM_FUNC_DECL genType pi();
+
69  template <typename genType>
+
70  GLM_FUNC_DECL bool epsilonEqual(
+
71  genType const & x,
+
72  genType const & y,
+
73  genType const & epsilon);
74 
-
77  template <typename genType>
-
78  GLM_FUNC_DECL genType root_pi();
-
79 
-
82  template <typename genType>
-
83  GLM_FUNC_DECL genType half_pi();
+
79  template <typename genType>
+
80  GLM_FUNC_DECL typename genType::boolType epsilonNotEqual(
+
81  genType const & x,
+
82  genType const & y,
+
83  typename genType::value_type const & epsilon);
84 
-
87  template <typename genType>
-
88  GLM_FUNC_DECL genType quarter_pi();
-
89 
-
92  template <typename genType>
-
93  GLM_FUNC_DECL genType one_over_pi();
+
89  template <typename genType>
+
90  GLM_FUNC_DECL bool epsilonNotEqual(
+
91  genType const & x,
+
92  genType const & y,
+
93  genType const & epsilon);
94 
-
97  template <typename genType>
-
98  GLM_FUNC_DECL genType two_over_pi();
-
99 
-
102  template <typename genType>
-
103  GLM_FUNC_DECL genType two_over_root_pi();
-
104 
-
107  template <typename genType>
-
108  GLM_FUNC_DECL genType one_over_root_two();
-
109 
-
112  template <typename genType>
-
113  GLM_FUNC_DECL genType root_half_pi();
-
114 
-
117  template <typename genType>
-
118  GLM_FUNC_DECL genType root_two_pi();
-
119 
-
122  template <typename genType>
-
123  GLM_FUNC_DECL genType root_ln_four();
-
124 
-
127  template <typename genType>
-
128  GLM_FUNC_DECL genType e();
-
129 
-
132  template <typename genType>
-
133  GLM_FUNC_DECL genType euler();
-
134 
-
137  template <typename genType>
-
138  GLM_FUNC_DECL genType root_two();
-
139 
-
142  template <typename genType>
-
143  GLM_FUNC_DECL genType root_three();
-
144 
-
147  template <typename genType>
-
148  GLM_FUNC_DECL genType root_five();
-
149 
-
152  template <typename genType>
-
153  GLM_FUNC_DECL genType ln_two();
-
154 
-
157  template <typename genType>
-
158  GLM_FUNC_DECL genType ln_ten();
-
159 
-
162  template <typename genType>
-
163  GLM_FUNC_DECL genType ln_ln_two();
-
164 
-
167  template <typename genType>
-
168  GLM_FUNC_DECL genType third();
-
169 
-
172  template <typename genType>
-
173  GLM_FUNC_DECL genType two_thirds();
-
174 
-
177  template <typename genType>
-
178  GLM_FUNC_DECL genType golden_ratio();
-
179 
-
181 } //namespace glm
-
182 
-
183 #include "constants.inl"
-
184 
-
185 #endif//GLM_GTC_constants
-
GLM_FUNC_DECL genType e()
Return e constant.
-
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
-
GLM_FUNC_DECL genType golden_ratio()
Return the golden ratio constant.
-
GLM_FUNC_DECL genType root_ln_four()
Return sqrt(ln(4)).
-
GLM_FUNC_DECL genType root_three()
Return sqrt(3).
-
GLM_FUNC_DECL genType pi()
Return the pi constant.
-
GLM_FUNC_DECL genType root_two_pi()
Return sqrt(2 * pi).
-
GLM_FUNC_DECL genType ln_ten()
Return ln(10).
-
GLM_FUNC_DECL genType one()
Return 1.
-
GLM_FUNC_DECL genType two_thirds()
Return 2 / 3.
-
GLM_FUNC_DECL genType zero()
Return 0.
-
GLM_FUNC_DECL genType one_over_root_two()
Return 1 / sqrt(2).
-
GLM_FUNC_DECL genType ln_two()
Return ln(2).
-
GLM_FUNC_DECL genType two_over_root_pi()
Return 2 / sqrt(pi).
-
GLM_FUNC_DECL genType root_two()
Return sqrt(2).
-
GLM_FUNC_DECL genType two_over_pi()
Return 2 / pi.
-
GLM_FUNC_DECL genType half_pi()
Return pi / 2.
-
GLM_FUNC_DECL genType quarter_pi()
Return pi / 4.
-
GLM_FUNC_DECL genType one_over_pi()
Return 1 / pi.
-
GLM_FUNC_DECL genType euler()
Return Euler&#39;s constant.
-
GLM_FUNC_DECL genType third()
Return 1 / 3.
-
GLM_FUNC_DECL genType root_pi()
Return square root of pi.
-
GLM_FUNC_DECL genType root_half_pi()
Return sqrt(pi / 2).
-
GLM_FUNC_DECL genType root_five()
Return sqrt(5).
-
GLM_FUNC_DECL genType ln_ln_two()
Return ln(ln(2)).
+
96 }//namespace glm
+
97 
+
98 #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:31
diff --git a/doc/api/a00020.html b/doc/api/a00020.html new file mode 100644 index 00000000..603dcd2f --- /dev/null +++ b/doc/api/a00020.html @@ -0,0 +1,139 @@ + + + + + + +0.9.6: euler_angles.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
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 > 
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)
 
+

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:

+

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_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 euler_angles.hpp.

+
+ + + + diff --git a/doc/api/a00020_source.html b/doc/api/a00020_source.html index 2e389a44..714d2290 100644 --- a/doc/api/a00020_source.html +++ b/doc/api/a00020_source.html @@ -3,8 +3,8 @@ - -GLM: constants.hpp Source File + +0.9.6: euler_angles.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,31 +41,121 @@
-
gtx/constants.hpp
+
euler_angles.hpp
-
1 
-
24 #ifndef GLM_GTX_constants
-
25 #define GLM_GTX_constants
-
26 
-
27 #include "../gtc/constants.hpp"
-
28 
-
29 #if(defined(GLM_MESSAGES))
-
30 # pragma message("GLM: GLM_GTX_constants extension is deprecated, include GLM_GTC_constants (glm/gtc/constants.hpp) instead")
-
31 #endif
-
32 
-
33 #endif//GLM_GTX_constants
+Go to the documentation of this file.
1 
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_euler_angles extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T>
+
56  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleX(
+
57  T const & angleX);
+
58 
+
61  template <typename T>
+
62  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleY(
+
63  T const & angleY);
+
64 
+
67  template <typename T>
+
68  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZ(
+
69  T const & angleZ);
+
70 
+
73  template <typename T>
+
74  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXY(
+
75  T const & angleX,
+
76  T const & angleY);
+
77 
+
80  template <typename T>
+
81  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYX(
+
82  T const & angleY,
+
83  T const & angleX);
+
84 
+
87  template <typename T>
+
88  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXZ(
+
89  T const & angleX,
+
90  T const & angleZ);
+
91 
+
94  template <typename T>
+
95  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZX(
+
96  T const & angle,
+
97  T const & angleX);
+
98 
+
101  template <typename T>
+
102  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYZ(
+
103  T const & angleY,
+
104  T const & angleZ);
+
105 
+
108  template <typename T>
+
109  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZY(
+
110  T const & angleZ,
+
111  T const & angleY);
+
112 
+
115  template <typename T>
+
116  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYXZ(
+
117  T const & yaw,
+
118  T const & pitch,
+
119  T const & roll);
+
120 
+
123  template <typename T>
+
124  GLM_FUNC_DECL tmat4x4<T, defaultp> yawPitchRoll(
+
125  T const & yaw,
+
126  T const & pitch,
+
127  T const & roll);
+
128 
+
131  template <typename T>
+
132  GLM_FUNC_DECL tmat2x2<T, defaultp> orientate2(T const & angle);
+
133 
+
136  template <typename T>
+
137  GLM_FUNC_DECL tmat3x3<T, defaultp> orientate3(T const & angle);
+
138 
+
141  template <typename T, precision P>
+
142  GLM_FUNC_DECL tmat3x3<T, P> orientate3(tvec3<T, P> const & angles);
+
143 
+
146  template <typename T, precision P>
+
147  GLM_FUNC_DECL tmat4x4<T, P> orientate4(tvec3<T, P> const & angles);
+
148 
+
150 }//namespace glm
+
151 
+
152 #include "euler_angles.inl"
+
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 > 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 > 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 > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
+
Definition: _noise.hpp:31
+
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 > eulerAngleZY(T const &angleZ, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL T roll(tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians.
+
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 T pitch(tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians.
+
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, 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, 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 > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
+
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
diff --git a/doc/api/a00021.html b/doc/api/a00021.html index 06030164..89f4f421 100644 --- a/doc/api/a00021.html +++ b/doc/api/a00021.html @@ -3,8 +3,8 @@ - -GLM: dual_quaternion.hpp File Reference + +0.9.6: exponential.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,109 +41,32 @@
-
-Namespaces | -Typedefs | -Functions
-
dual_quaternion.hpp File Reference
+
exponential.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

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

-Functions

template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat2x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat3x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > inverse (detail::tdualquat< T, P > const &q)
 
template<typename T , precision P>
detail::tdualquat< T, P > lerp (detail::tdualquat< T, P > const &x, detail::tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tmat2x4< T, P > mat2x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat3x4< T, P > mat3x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > normalize (detail::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:

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.

-

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_constants (dependence)
-
-GLM_GTC_quaternion (dependence)
+

GLM Core

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

Definition in file dual_quaternion.hpp.

+

Definition in file exponential.hpp.

diff --git a/doc/api/a00021_source.html b/doc/api/a00021_source.html index b70355cf..1053d60e 100644 --- a/doc/api/a00021_source.html +++ b/doc/api/a00021_source.html @@ -3,8 +3,8 @@ - -GLM: dual_quaternion.hpp Source File + +0.9.6: exponential.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,231 +41,25 @@
-
dual_quaternion.hpp
+
exponential.hpp
Go to the documentation of this file.
1 
-
41 #ifndef GLM_GTX_dual_quaternion
-
42 #define GLM_GTX_dual_quaternion
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include "../gtc/constants.hpp"
-
47 #include "../gtc/quaternion.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_dual_quaternion extension included")
-
51 #endif
-
52 
-
53 namespace glm{
-
54 namespace detail
-
55 {
-
56  template <typename T, precision P>
-
57  struct tdualquat
-
58  {
-
59  enum ctor{null};
-
60 
-
61  typedef glm::detail::tquat<T, P> part_type;
-
62 
-
63  public:
-
64  glm::detail::tquat<T, P> real, dual;
-
65 
-
66  GLM_FUNC_DECL GLM_CONSTEXPR int length() const;
-
67 
-
68  // Constructors
-
69  tdualquat();
-
70  explicit tdualquat(tquat<T, P> const & real);
-
71  tdualquat(tquat<T, P> const & real,tquat<T, P> const & dual);
-
72  tdualquat(tquat<T, P> const & orientation,tvec3<T, P> const& translation);
-
73 
-
75  // tdualquat conversions
-
76  explicit tdualquat(tmat2x4<T, P> const & holder_mat);
-
77  explicit tdualquat(tmat3x4<T, P> const & aug_mat);
-
78 
-
79  // Accesses
-
80  part_type & operator[](int i);
-
81  part_type const & operator[](int i) const;
-
82 
-
83  // Operators
-
84  tdualquat<T, P> & operator*=(T const & s);
-
85  tdualquat<T, P> & operator/=(T const & s);
-
86  };
-
87 
-
88  template <typename T, precision P>
-
89  detail::tquat<T, P> operator- (
-
90  detail::tquat<T, P> const & q);
-
91 
-
92  template <typename T, precision P>
-
93  detail::tdualquat<T, P> operator+ (
-
94  detail::tdualquat<T, P> const & q,
-
95  detail::tdualquat<T, P> const & p);
-
96 
-
97  template <typename T, precision P>
-
98  detail::tdualquat<T, P> operator* (
-
99  detail::tdualquat<T, P> const & q,
-
100  detail::tdualquat<T, P> const & p);
-
101 
-
102  template <typename T, precision P>
-
103  detail::tvec3<T, P> operator* (
-
104  detail::tquat<T, P> const & q,
-
105  detail::tvec3<T, P> const & v);
-
106 
-
107  template <typename T, precision P>
-
108  detail::tvec3<T, P> operator* (
-
109  detail::tvec3<T, P> const & v,
-
110  detail::tquat<T, P> const & q);
-
111 
-
112  template <typename T, precision P>
-
113  detail::tvec4<T, P> operator* (
-
114  detail::tquat<T, P> const & q,
-
115  detail::tvec4<T, P> const & v);
-
116 
-
117  template <typename T, precision P>
-
118  detail::tvec4<T, P> operator* (
-
119  detail::tvec4<T, P> const & v,
-
120  detail::tquat<T, P> const & q);
-
121 
-
122  template <typename T, precision P>
-
123  detail::tdualquat<T, P> operator* (
-
124  detail::tdualquat<T, P> const & q,
-
125  T const & s);
-
126 
-
127  template <typename T, precision P>
-
128  detail::tdualquat<T, P> operator* (
-
129  T const & s,
-
130  detail::tdualquat<T, P> const & q);
-
131 
-
132  template <typename T, precision P>
-
133  detail::tdualquat<T, P> operator/ (
-
134  detail::tdualquat<T, P> const & q,
-
135  T const & s);
-
136 } //namespace detail
-
137 
-
140 
-
144  template <typename T, precision P>
-
145  detail::tdualquat<T, P> normalize(
-
146  detail::tdualquat<T, P> const & q);
-
147 
-
151  template <typename T, precision P>
-
152  detail::tdualquat<T, P> lerp(
-
153  detail::tdualquat<T, P> const & x,
-
154  detail::tdualquat<T, P> const & y,
-
155  T const & a);
-
156 
-
160  template <typename T, precision P>
-
161  detail::tdualquat<T, P> inverse(
-
162  detail::tdualquat<T, P> const & q);
-
163 
-
164  /*
-
169  template <typename T, precision P>
-
170  detail::tmat3x3<T, P> mat3_cast(
-
171  detail::tdualquat<T, P> const & x);
-
172  */
-
173 
-
177  template <typename T, precision P>
-
178  detail::tmat2x4<T, P> mat2x4_cast(
-
179  detail::tdualquat<T, P> const & x);
-
180 
-
184  template <typename T, precision P>
-
185  detail::tmat3x4<T, P> mat3x4_cast(
-
186  detail::tdualquat<T, P> const & x);
-
187 
-
191  template <typename T, precision P>
-
192  detail::tdualquat<T, P> dualquat_cast(
-
193  detail::tmat2x4<T, P> const & x);
-
194 
-
198  template <typename T, precision P>
-
199  detail::tdualquat<T, P> dualquat_cast(
-
200  detail::tmat3x4<T, P> const & x);
-
201 
-
202 
-
206  typedef detail::tdualquat<float, lowp> lowp_dualquat;
-
207 
-
211  typedef detail::tdualquat<float, mediump> mediump_dualquat;
-
212 
-
216  typedef detail::tdualquat<float, highp> highp_dualquat;
-
217 
-
218 
-
222  typedef detail::tdualquat<float, lowp> lowp_fdualquat;
-
223 
-
227  typedef detail::tdualquat<float, mediump> mediump_fdualquat;
-
228 
-
232  typedef detail::tdualquat<float, highp> highp_fdualquat;
-
233 
-
234 
-
238  typedef detail::tdualquat<double, lowp> lowp_ddualquat;
-
239 
-
243  typedef detail::tdualquat<double, mediump> mediump_ddualquat;
-
244 
-
248  typedef detail::tdualquat<double, highp> highp_ddualquat;
-
249 
-
250 
-
251 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
252  typedef highp_fdualquat dualquat;
-
256 
- -
261 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
262  typedef highp_fdualquat dualquat;
-
263  typedef highp_fdualquat fdualquat;
-
264 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
265  typedef mediump_fdualquat dualquat;
- -
267 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
-
268  typedef lowp_fdualquat dualquat;
-
269  typedef lowp_fdualquat fdualquat;
-
270 #else
-
271 # error "GLM error: multiple default precision requested for single-precision floating-point types"
-
272 #endif
-
273 
-
274 
-
275 #if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
-
276  typedef highp_ddualquat ddualquat;
-
280 #elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
-
281  typedef highp_ddualquat ddualquat;
-
282 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
- -
284 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
-
285  typedef lowp_ddualquat ddualquat;
-
286 #else
-
287 # error "GLM error: Multiple default precision requested for double-precision floating-point types"
-
288 #endif
-
289 
-
291 } //namespace glm
-
292 
-
293 #include "dual_quaternion.inl"
-
294 
-
295 #endif//GLM_GTX_dual_quaternion
-
detail::tdualquat< float, highp > highp_dualquat
Dual-quaternion of high single-precision floating-point numbers.
-
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
-
detail::tmat3x4< T, P > mat3x4_cast(detail::tdualquat< T, P > const &x)
Converts a quaternion to a 3 * 4 matrix.
-
detail::tdualquat< double, highp > highp_ddualquat
Dual-quaternion of high double-precision floating-point numbers.
-
highp_fdualquat fdualquat
Dual-quaternion of single-precision floating-point numbers.
-
detail::tdualquat< double, lowp > lowp_ddualquat
Dual-quaternion of low double-precision floating-point numbers.
-
detail::tmat4x4< T, P > orientation(detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
-
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
-
detail::tdualquat< double, mediump > mediump_ddualquat
Dual-quaternion of medium double-precision floating-point numbers.
-
detail::tdualquat< float, lowp > lowp_dualquat
Dual-quaternion of low single-precision floating-point numbers.
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
-
detail::tdualquat< T, P > dualquat_cast(detail::tmat2x4< T, P > const &x)
Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. ...
-
highp_ddualquat ddualquat
Dual-quaternion of default double-precision floating-point numbers.
-
detail::tmat2x4< T, P > mat2x4_cast(detail::tdualquat< T, P > const &x)
Converts a quaternion to a 2 * 4 matrix.
-
detail::tdualquat< float, mediump > mediump_fdualquat
Dual-quaternion of medium single-precision floating-point numbers.
-
detail::tdualquat< float, lowp > lowp_fdualquat
Dual-quaternion of low single-precision floating-point numbers.
-
detail::tdualquat< float, highp > highp_fdualquat
Dual-quaternion of high single-precision floating-point numbers.
-
detail::tdualquat< float, mediump > mediump_dualquat
Dual-quaternion of medium single-precision floating-point numbers.
-
highp_fdualquat dualquat
Dual-quaternion of floating-point numbers.
-
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
29 #pragma once
+
30 
+ +
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00022.html b/doc/api/a00022.html deleted file mode 100644 index 51fdb454..00000000 --- a/doc/api/a00022.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -GLM: epsilon.hpp File Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-Namespaces | -Functions
-
-
gtc/epsilon.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - -

-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

-

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:

-

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_GTC_epsilon

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

Definition in file gtc/epsilon.hpp.

-
- - - - diff --git a/doc/api/a00022_source.html b/doc/api/a00022_source.html index 70d81122..8f5f8a18 100644 --- a/doc/api/a00022_source.html +++ b/doc/api/a00022_source.html @@ -3,8 +3,8 @@ - -GLM: epsilon.hpp Source File + +0.9.6: ext.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,67 +41,176 @@
-
gtc/epsilon.hpp
+
ext.hpp
-Go to the documentation of this file.
1 
-
40 #ifndef GLM_GTC_epsilon
-
41 #define GLM_GTC_epsilon
-
42 
-
43 // Dependencies
-
44 #include "../detail/setup.hpp"
-
45 #include "../detail/precision.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTC_epsilon extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
60  template <typename T, precision P, template <typename, precision> class vecType>
-
61  GLM_FUNC_DECL vecType<bool, P> epsilonEqual(
-
62  vecType<T, P> const & x,
-
63  vecType<T, P> const & y,
-
64  T const & epsilon);
-
65 
-
70  template <typename genType>
-
71  GLM_FUNC_DECL bool epsilonEqual(
-
72  genType const & x,
-
73  genType const & y,
-
74  genType const & epsilon);
-
75 
-
80  template <typename genType>
-
81  GLM_FUNC_DECL typename genType::boolType epsilonNotEqual(
-
82  genType const & x,
-
83  genType const & y,
-
84  typename genType::value_type const & epsilon);
-
85 
-
90  template <typename genType>
-
91  GLM_FUNC_DECL bool epsilonNotEqual(
-
92  genType const & x,
-
93  genType const & y,
-
94  genType const & epsilon);
-
95 
-
97 }//namespace glm
-
98 
-
99 #include "epsilon.inl"
-
100 
-
101 #endif//GLM_GTC_epsilon
-
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
-
GLM_FUNC_DECL vecType< bool, P > epsilonEqual(vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
Returns the component-wise comparison of |x - y| &lt; epsilon.
-
GLM_FUNC_DECL genType::boolType epsilonNotEqual(genType const &x, genType const &y, typename genType::value_type const &epsilon)
Returns the component-wise comparison of |x - y| &lt; epsilon.
+
1 
+
53 #pragma once
+
54 
+
55 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED))
+
56 # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
+
57 # pragma message("GLM: All extensions included (not recommanded)")
+
58 #endif//GLM_MESSAGES
+
59 
+
60 #include "./gtc/bitfield.hpp"
+
61 #include "./gtc/constants.hpp"
+
62 #include "./gtc/epsilon.hpp"
+
63 #include "./gtc/integer.hpp"
+
64 #include "./gtc/matrix_access.hpp"
+
65 #include "./gtc/matrix_integer.hpp"
+
66 #include "./gtc/matrix_inverse.hpp"
+ +
68 #include "./gtc/noise.hpp"
+
69 #include "./gtc/packing.hpp"
+
70 #include "./gtc/quaternion.hpp"
+
71 #include "./gtc/random.hpp"
+
72 #include "./gtc/reciprocal.hpp"
+
73 #include "./gtc/round.hpp"
+
74 #include "./gtc/type_precision.hpp"
+
75 #include "./gtc/type_ptr.hpp"
+
76 #include "./gtc/ulp.hpp"
+
77 #include "./gtc/vec1.hpp"
+
78 
+ +
80 #include "./gtx/bit.hpp"
+
81 #include "./gtx/closest_point.hpp"
+
82 #include "./gtx/color_space.hpp"
+ +
84 #include "./gtx/compatibility.hpp"
+
85 #include "./gtx/component_wise.hpp"
+ +
87 #include "./gtx/euler_angles.hpp"
+
88 #include "./gtx/extend.hpp"
+ + + + +
93 #include "./gtx/gradient_paint.hpp"
+ +
95 #include "./gtx/inertia.hpp"
+
96 #include "./gtx/integer.hpp"
+
97 #include "./gtx/intersect.hpp"
+
98 #include "./gtx/log_base.hpp"
+ + + + +
103 #include "./gtx/matrix_query.hpp"
+
104 #include "./gtx/mixed_product.hpp"
+
105 #include "./gtx/norm.hpp"
+
106 #include "./gtx/normal.hpp"
+
107 #include "./gtx/normalize_dot.hpp"
+ +
109 #include "./gtx/optimum_pow.hpp"
+
110 #include "./gtx/orthonormalize.hpp"
+
111 #include "./gtx/perpendicular.hpp"
+ +
113 #include "./gtx/projection.hpp"
+
114 #include "./gtx/quaternion.hpp"
+
115 #include "./gtx/raw_data.hpp"
+
116 #include "./gtx/rotate_vector.hpp"
+
117 #include "./gtx/spline.hpp"
+
118 #include "./gtx/std_based_type.hpp"
+
119 #if !(GLM_COMPILER & GLM_COMPILER_CUDA)
+
120 # include "./gtx/string_cast.hpp"
+
121 #endif
+
122 #include "./gtx/transform.hpp"
+
123 #include "./gtx/transform2.hpp"
+
124 #include "./gtx/type_aligned.hpp"
+
125 #include "./gtx/vector_angle.hpp"
+
126 #include "./gtx/vector_query.hpp"
+
127 #include "./gtx/wrap.hpp"
+
128 
+
129 #if GLM_HAS_TEMPLATE_ALIASES
+ +
131 #endif
+
132 
+
133 #if GLM_HAS_RANGE_FOR
+
134 # include "./gtx/range.hpp"
+
135 #endif
+
136 
+
137 #if GLM_ARCH & GLM_ARCH_SSE2
+
138 # include "./gtx/simd_vec4.hpp"
+
139 # include "./gtx/simd_mat4.hpp"
+
140 #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)
diff --git a/doc/api/a00023.html b/doc/api/a00023.html new file mode 100644 index 00000000..c305e72c --- /dev/null +++ b/doc/api/a00023.html @@ -0,0 +1,82 @@ + + + + + + +0.9.6: extend.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
extend.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)
 
+

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:

+

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_GTX_extend

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

Definition in file extend.hpp.

+
+ + + + diff --git a/doc/api/a00023_source.html b/doc/api/a00023_source.html index 7c679bc3..6ef14eb0 100644 --- a/doc/api/a00023_source.html +++ b/doc/api/a00023_source.html @@ -3,8 +3,8 @@ - -GLM: epsilon.hpp Source File + +0.9.6: extend.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,44 @@
-
gtx/epsilon.hpp
+
extend.hpp
-
1 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_epsilon extension is deprecated, include GLM_GTC_epsilon (glm/gtc/epsilon) instead")
-
26 #endif
-
27 
-
28 // Promoted:
-
29 #include "../gtc/epsilon.hpp"
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_extend extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename genType>
+
55  GLM_FUNC_DECL genType extend(
+
56  genType const & Origin,
+
57  genType const & Source,
+
58  typename genType::value_type const Length);
+
59 
+
61 }//namespace glm
+
62 
+
63 #include "extend.inl"
+
Definition: _noise.hpp:31
+
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/a00024.html b/doc/api/a00024.html index 28f7fc26..33909603 100644 --- a/doc/api/a00024.html +++ b/doc/api/a00024.html @@ -3,8 +3,8 @@ - -GLM: euler_angles.hpp File Reference + +0.9.6: extented_min_max.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,92 +41,77 @@
-Namespaces | Functions
-
euler_angles.hpp File Reference
+
extented_min_max.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
detail::tmat2x2< T, defaultp > orientate2 (T const &angle)
 
template<typename T >
detail::tmat3x3< T, defaultp > orientate3 (T const &angle)
 
template<typename T , precision P>
detail::tmat3x3< T, P > orientate3 (detail::tvec3< T, P > const &angles)
 
template<typename T , precision P>
detail::tmat4x4< T, P > orientate4 (detail::tvec3< T, P > const &angles)
 
template<typename T >
detail::tmat4x4< T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
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:

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_GTX_euler_angles

-
Date
2005-12-21 / 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)
-gtc_half_float (dependence)
+gtx_half_float (dependence)
-

Definition in file euler_angles.hpp.

+

Definition in file extented_min_max.hpp.

diff --git a/doc/api/a00024_source.html b/doc/api/a00024_source.html index e295b215..1395b828 100644 --- a/doc/api/a00024_source.html +++ b/doc/api/a00024_source.html @@ -3,8 +3,8 @@ - -GLM: euler_angles.hpp Source File + +0.9.6: extented_min_max.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,123 +41,117 @@
-
euler_angles.hpp
+
extented_min_max.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_euler_angles
-
40 #define GLM_GTX_euler_angles
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_euler_angles extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T>
-
57  detail::tmat4x4<T, defaultp> eulerAngleX(
-
58  T const & angleX);
-
59 
-
62  template <typename T>
-
63  detail::tmat4x4<T, defaultp> eulerAngleY(
-
64  T const & angleY);
-
65 
-
68  template <typename T>
-
69  detail::tmat4x4<T, defaultp> eulerAngleZ(
-
70  T const & angleZ);
-
71 
-
74  template <typename T>
-
75  detail::tmat4x4<T, defaultp> eulerAngleXY(
-
76  T const & angleX,
-
77  T const & angleY);
-
78 
-
81  template <typename T>
-
82  detail::tmat4x4<T, defaultp> eulerAngleYX(
-
83  T const & angleY,
-
84  T const & angleX);
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T>
+
56  GLM_FUNC_DECL T min(
+
57  T const & x,
+
58  T const & y,
+
59  T const & z);
+
60 
+
63  template <typename T, template <typename> class C>
+
64  GLM_FUNC_DECL C<T> min(
+
65  C<T> const & x,
+
66  typename C<T>::T const & y,
+
67  typename C<T>::T const & z);
+
68 
+
71  template <typename T, template <typename> class C>
+
72  GLM_FUNC_DECL C<T> min(
+
73  C<T> const & x,
+
74  C<T> const & y,
+
75  C<T> const & z);
+
76 
+
79  template <typename T>
+
80  GLM_FUNC_DECL T min(
+
81  T const & x,
+
82  T const & y,
+
83  T const & z,
+
84  T const & w);
85 
-
88  template <typename T>
-
89  detail::tmat4x4<T, defaultp> eulerAngleXZ(
-
90  T const & angleX,
-
91  T const & angleZ);
-
92 
-
95  template <typename T>
-
96  detail::tmat4x4<T, defaultp> eulerAngleZX(
-
97  T const & angle,
-
98  T const & angleX);
-
99 
-
102  template <typename T>
-
103  detail::tmat4x4<T, defaultp> eulerAngleYZ(
-
104  T const & angleY,
-
105  T const & angleZ);
-
106 
-
109  template <typename T>
-
110  detail::tmat4x4<T, defaultp> eulerAngleZY(
-
111  T const & angleZ,
-
112  T const & angleY);
-
113 
-
116  template <typename T>
-
117  detail::tmat4x4<T, defaultp> eulerAngleYXZ(
-
118  T const & yaw,
-
119  T const & pitch,
-
120  T const & roll);
-
121 
-
124  template <typename T>
-
125  detail::tmat4x4<T, defaultp> yawPitchRoll(
-
126  T const & yaw,
-
127  T const & pitch,
-
128  T const & roll);
-
129 
-
132  template <typename T>
-
133  detail::tmat2x2<T, defaultp> orientate2(T const & angle);
-
134 
-
137  template <typename T>
-
138  detail::tmat3x3<T, defaultp> orientate3(T const & angle);
-
139 
-
142  template <typename T, precision P>
-
143  detail::tmat3x3<T, P> orientate3(detail::tvec3<T, P> const & angles);
-
144 
-
147  template <typename T, precision P>
-
148  detail::tmat4x4<T, P> orientate4(detail::tvec3<T, P> const & angles);
-
149 
-
151 }//namespace glm
-
152 
-
153 #include "euler_angles.inl"
+
88  template <typename T, template <typename> class C>
+
89  GLM_FUNC_DECL C<T> min(
+
90  C<T> const & x,
+
91  typename C<T>::T const & y,
+
92  typename C<T>::T const & z,
+
93  typename C<T>::T const & w);
+
94 
+
97  template <typename T, template <typename> class C>
+
98  GLM_FUNC_DECL C<T> min(
+
99  C<T> const & x,
+
100  C<T> const & y,
+
101  C<T> const & z,
+
102  C<T> const & w);
+
103 
+
106  template <typename T>
+
107  GLM_FUNC_DECL T max(
+
108  T const & x,
+
109  T const & y,
+
110  T const & z);
+
111 
+
114  template <typename T, template <typename> class C>
+
115  GLM_FUNC_DECL C<T> max(
+
116  C<T> const & x,
+
117  typename C<T>::T const & y,
+
118  typename C<T>::T const & z);
+
119 
+
122  template <typename T, template <typename> class C>
+
123  GLM_FUNC_DECL C<T> max(
+
124  C<T> const & x,
+
125  C<T> const & y,
+
126  C<T> const & z);
+
127 
+
130  template <typename T>
+
131  GLM_FUNC_DECL T max(
+
132  T const & x,
+
133  T const & y,
+
134  T const & z,
+
135  T const & w);
+
136 
+
139  template <typename T, template <typename> class C>
+
140  GLM_FUNC_DECL C<T> max(
+
141  C<T> const & x,
+
142  typename C<T>::T const & y,
+
143  typename C<T>::T const & z,
+
144  typename C<T>::T const & w);
+
145 
+
148  template <typename T, template <typename> class C>
+
149  GLM_FUNC_DECL C<T> max(
+
150  C<T> const & x,
+
151  C<T> const & y,
+
152  C<T> const & z,
+
153  C<T> const & w);
154 
-
155 #endif//GLM_GTX_euler_angles
-
detail::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).
-
detail::tmat4x4< T, defaultp > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
-
detail::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 T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
detail::tmat4x4< T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
-
detail::tmat3x3< T, defaultp > orientate3(T const &angle)
Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.
-
detail::tmat4x4< T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
-
detail::tmat4x4< T, P > orientate4(detail::tvec3< T, P > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
-
GLM_FUNC_DECL T roll(detail::tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees ot...
-
detail::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).
-
detail::tmat4x4< T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
-
detail::tmat4x4< T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
-
detail::tmat4x4< T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
-
detail::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 T pitch(detail::tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees o...
-
detail::tmat2x2< T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
-
GLM_FUNC_DECL T yaw(detail::tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees oth...
-
detail::tmat4x4< T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).
+
156 }//namespace glm
+
157 
+
158 #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:31
+
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.
diff --git a/doc/api/a00025.html b/doc/api/a00025.html index 1374d566..1cbf8f86 100644 --- a/doc/api/a00025.html +++ b/doc/api/a00025.html @@ -3,8 +3,8 @@ - -GLM: exponential.hpp File Reference + +0.9.6: fast_exponential.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,32 +41,77 @@
+
+Functions
-
exponential.hpp File Reference
+
fast_exponential.hpp File Reference

Go to the source code of this file.

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

+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)
 

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:

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_fast_exponential

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

Definition in file exponential.hpp.

+

Definition in file fast_exponential.hpp.

diff --git a/doc/api/a00025_source.html b/doc/api/a00025_source.html index d7f20e73..ac0b25af 100644 --- a/doc/api/a00025_source.html +++ b/doc/api/a00025_source.html @@ -3,8 +3,8 @@ - -GLM: exponential.hpp Source File + +0.9.6: fast_exponential.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,78 @@
-
exponential.hpp
+
fast_exponential.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_EXPONENTIAL_INCLUDED
-
30 #define GLM_EXPONENTIAL_INCLUDED
-
31 
-
32 #include "detail/func_exponential.hpp"
-
33 
-
34 #endif//GLM_EXPONENTIAL_INCLUDED
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename genType>
+
56  GLM_FUNC_DECL genType fastPow(genType x, genType y);
+
57 
+
60  template <typename T, precision P, template <typename, precision> class vecType>
+
61  GLM_FUNC_DECL vecType<T, P> fastPow(vecType<T, P> const & x, vecType<T, P> const & y);
+
62 
+
65  template <typename genTypeT, typename genTypeU>
+
66  GLM_FUNC_DECL genTypeT fastPow(genTypeT x, genTypeU y);
+
67 
+
70  template <typename T, precision P, template <typename, precision> class vecType>
+
71  GLM_FUNC_DECL vecType<T, P> fastPow(vecType<T, P> const & x);
+
72 
+
75  template <typename T>
+
76  GLM_FUNC_DECL T fastExp(T x);
+
77 
+
80  template <typename T, precision P, template <typename, precision> class vecType>
+
81  GLM_FUNC_DECL vecType<T, P> fastExp(vecType<T, P> const & x);
+
82 
+
85  template <typename T>
+
86  GLM_FUNC_DECL T fastLog(T x);
+
87 
+
90  template <typename T, precision P, template <typename, precision> class vecType>
+
91  GLM_FUNC_DECL vecType<T, P> fastLog(vecType<T, P> const & x);
+
92 
+
95  template <typename T>
+
96  GLM_FUNC_DECL T fastExp2(T x);
+
97 
+
100  template <typename T, precision P, template <typename, precision> class vecType>
+
101  GLM_FUNC_DECL vecType<T, P> fastExp2(vecType<T, P> const & x);
+
102 
+
105  template <typename T>
+
106  GLM_FUNC_DECL T fastLog2(T x);
+
107 
+
110  template <typename T, precision P, template <typename, precision> class vecType>
+
111  GLM_FUNC_DECL vecType<T, P> fastLog2(vecType<T, P> const & x);
+
112 
+
114 }//namespace glm
+
115 
+
116 #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 > 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:31
+
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 > fastExp2(vecType< T, P > const &x)
Faster than the common exp2 function but less accurate.
diff --git a/doc/api/a00026.html b/doc/api/a00026.html new file mode 100644 index 00000000..8370def3 --- /dev/null +++ b/doc/api/a00026.html @@ -0,0 +1,100 @@ + + + + + + +0.9.6: fast_square_root.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
fast_square_root.hpp File Reference
+
+
+ +

Go to the source code of this file.

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

+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::value_type fastLength (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType 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:

+

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_GTX_fast_square_root

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

Definition in file fast_square_root.hpp.

+
+ + + + diff --git a/doc/api/a00026_source.html b/doc/api/a00026_source.html index e7835c63..d729df0c 100644 --- a/doc/api/a00026_source.html +++ b/doc/api/a00026_source.html @@ -3,8 +3,8 @@ - -GLM: ext.hpp Source File + +0.9.6: fast_square_root.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,162 +41,63 @@
-
ext.hpp
+
fast_square_root.hpp
-
1 
-
58 #ifndef GLM_EXT_INCLUDED
-
59 #define GLM_EXT_INCLUDED
-
60 
-
61 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED))
-
62 # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
-
63 # pragma message("GLM: All extensions included (not recommanded)")
-
64 #endif//GLM_MESSAGES
-
65 
-
66 #include "./gtc/constants.hpp"
-
67 #include "./gtc/epsilon.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/type_precision.hpp"
-
78 #include "./gtc/type_ptr.hpp"
-
79 #include "./gtc/ulp.hpp"
-
80 
- -
82 #include "./gtx/bit.hpp"
-
83 #include "./gtx/closest_point.hpp"
-
84 #include "./gtx/color_space.hpp"
- -
86 #include "./gtx/compatibility.hpp"
-
87 #include "./gtx/component_wise.hpp"
- -
89 #include "./gtx/euler_angles.hpp"
-
90 #include "./gtx/extend.hpp"
- - - - -
95 #include "./gtx/gradient_paint.hpp"
- -
97 #include "./gtx/inertia.hpp"
-
98 #include "./gtx/int_10_10_10_2.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/multiple.hpp"
-
109 #include "./gtx/norm.hpp"
-
110 #include "./gtx/normal.hpp"
-
111 #include "./gtx/normalize_dot.hpp"
- -
113 #include "./gtx/optimum_pow.hpp"
-
114 #include "./gtx/orthonormalize.hpp"
-
115 #include "./gtx/perpendicular.hpp"
- -
117 #include "./gtx/projection.hpp"
-
118 #include "./gtx/quaternion.hpp"
-
119 #include "./gtx/raw_data.hpp"
-
120 #include "./gtx/rotate_vector.hpp"
-
121 #include "./gtx/spline.hpp"
-
122 #include "./gtx/std_based_type.hpp"
-
123 #include "./gtx/string_cast.hpp"
-
124 #include "./gtx/transform.hpp"
-
125 #include "./gtx/transform2.hpp"
-
126 #include "./gtx/vec1.hpp"
-
127 #include "./gtx/vector_angle.hpp"
-
128 #include "./gtx/vector_query.hpp"
-
129 #include "./gtx/wrap.hpp"
-
130 
-
131 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
132 # include "./gtx/simd_vec4.hpp"
-
133 # include "./gtx/simd_mat4.hpp"
-
134 #endif
-
135 
-
136 #endif //GLM_EXT_INCLUDED
-
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 
+
40 #pragma once
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_fast_square_root extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename genType>
+
57  GLM_FUNC_DECL genType fastSqrt(genType x);
+
58 
+
61  template <typename genType>
+
62  GLM_FUNC_DECL genType fastInverseSqrt(genType x);
+
63 
+
66  template <typename T, precision P, template <typename, precision> class vecType>
+
67  GLM_FUNC_DECL vecType<T, P> fastInverseSqrt(vecType<T, P> const & x);
+
68 
+
71  template <typename genType>
+
72  GLM_FUNC_DECL typename genType::value_type fastLength(genType const & x);
+
73 
+
76  template <typename genType>
+
77  GLM_FUNC_DECL genType fastDistance(genType x, genType y);
+
78 
+
81  template <typename T, precision P, template <typename, precision> class vecType>
+
82  GLM_FUNC_DECL T fastDistance(vecType<T, P> const & x, vecType<T, P> const & y);
+
83 
+
86  template <typename genType>
+
87  GLM_FUNC_DECL genType fastNormalize(genType const & x);
+
88 
+
90 }// namespace glm
+
91 
+
92 #include "fast_square_root.inl"
+
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.
+
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::value_type fastLength(genType const &x)
Faster than the common length function but less accurate.
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL genType fastSqrt(genType x)
Faster than the common sqrt function but less accurate.
diff --git a/doc/api/a00027.html b/doc/api/a00027.html index 21f97e28..97fc15fc 100644 --- a/doc/api/a00027.html +++ b/doc/api/a00027.html @@ -3,8 +3,8 @@ - -GLM: extend.hpp File Reference + +0.9.6: fast_trigonometry.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,48 +41,63 @@
-Namespaces | Functions
-
extend.hpp File Reference
+
fast_trigonometry.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
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:

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_GTX_extend

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

GLM_GTX_fast_trigonometry

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

Definition in file extend.hpp.

+

Definition in file fast_trigonometry.hpp.

diff --git a/doc/api/a00027_source.html b/doc/api/a00027_source.html index 31a8c9bb..3c6f4aa6 100644 --- a/doc/api/a00027_source.html +++ b/doc/api/a00027_source.html @@ -3,8 +3,8 @@ - -GLM: extend.hpp Source File + +0.9.6: fast_trigonometry.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,46 +41,70 @@
-
extend.hpp
+
fast_trigonometry.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_extend
-
39 #define GLM_GTX_extend
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 #include "../gtc/constants.hpp"
43 
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_extend extension included")
-
46 #endif
-
47 
-
48 namespace glm
+
45 # pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
+
46 #endif
+
47 
+
48 namespace glm
49 {
52 
-
55  template <typename genType>
-
56  GLM_FUNC_DECL genType extend(
-
57  genType const & Origin,
-
58  genType const & Source,
-
59  typename genType::value_type const Length);
-
60 
-
62 }//namespace glm
-
63 
-
64 #include "extend.inl"
-
65 
-
66 #endif//GLM_GTX_extend
-
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.
+
55  template <typename T>
+
56  GLM_FUNC_DECL T wrapAngle(T angle);
+
57 
+
60  template <typename T>
+
61  GLM_FUNC_DECL T fastSin(T angle);
+
62 
+
65  template <typename T>
+
66  GLM_FUNC_DECL T fastCos(T angle);
+
67 
+
71  template <typename T>
+
72  GLM_FUNC_DECL T fastTan(T angle);
+
73 
+
77  template <typename T>
+
78  GLM_FUNC_DECL T fastAsin(T angle);
+
79 
+
83  template <typename T>
+
84  GLM_FUNC_DECL T fastAcos(T angle);
+
85 
+
89  template <typename T>
+
90  GLM_FUNC_DECL T fastAtan(T y, T x);
+
91 
+
95  template <typename T>
+
96  GLM_FUNC_DECL T fastAtan(T angle);
+
97 
+
99 }//namespace glm
+
100 
+
101 #include "fast_trigonometry.inl"
+
GLM_FUNC_DECL T fastTan(T angle)
Faster than the common tan function but less accurate.
+
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.
+
GLM_FUNC_DECL T fastCos(T angle)
Faster than the common cos function but less accurate.
+
Definition: _noise.hpp:31
+
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 angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL T fastAsin(T angle)
Faster than the common asin function but less accurate.
diff --git a/doc/api/a00028.html b/doc/api/a00028.html index 7cfaa141..79bcc74b 100644 --- a/doc/api/a00028.html +++ b/doc/api/a00028.html @@ -3,8 +3,8 @@ - -GLM: extented_min_max.hpp File Reference + +0.9.6: func_common.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,83 +41,128 @@
-Namespaces | Functions
-
extented_min_max.hpp File Reference
+
func_common.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
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>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
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>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
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>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
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>
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 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

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:

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_GTX_extented_min_max

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

GLM Core

+
Date
2008-03-08 / 2010-01-26
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-gtx_half_float (dependence)
+
See also
GLSL 4.20.8 specification, section 8.3 Common Functions
-

Definition in file extented_min_max.hpp.

+

Definition in file func_common.hpp.

diff --git a/doc/api/a00028_source.html b/doc/api/a00028_source.html index c60e44f5..c57c3698 100644 --- a/doc/api/a00028_source.html +++ b/doc/api/a00028_source.html @@ -3,8 +3,8 @@ - -GLM: extented_min_max.hpp Source File + +0.9.6: func_common.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,151 +41,198 @@
-
extented_min_max.hpp
+
func_common.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_extented_min_max
-
40 #define GLM_GTX_extented_min_max
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T>
-
57  T min(
-
58  T const & x,
-
59  T const & y,
-
60  T const & z);
-
61 
-
64  template
-
65  <
-
66  typename T,
-
67  template <typename> class C
-
68  >
-
69  C<T> min(
-
70  C<T> const & x,
-
71  typename C<T>::T const & y,
-
72  typename C<T>::T const & z);
-
73 
-
76  template
-
77  <
-
78  typename T,
-
79  template <typename> class C
-
80  >
-
81  C<T> min(
-
82  C<T> const & x,
-
83  C<T> const & y,
-
84  C<T> const & z);
-
85 
-
88  template <typename T>
-
89  T min(
-
90  T const & x,
-
91  T const & y,
-
92  T const & z,
-
93  T const & w);
-
94 
-
97  template
-
98  <
-
99  typename T,
-
100  template <typename> class C
-
101  >
-
102  C<T> min(
-
103  C<T> const & x,
-
104  typename C<T>::T const & y,
-
105  typename C<T>::T const & z,
-
106  typename C<T>::T const & w);
-
107 
-
110  template
-
111  <
-
112  typename T,
-
113  template <typename> class C
-
114  >
-
115  C<T> min(
-
116  C<T> const & x,
-
117  C<T> const & y,
-
118  C<T> const & z,
-
119  C<T> const & w);
-
120 
-
123  template <typename T>
-
124  T max(
-
125  T const & x,
-
126  T const & y,
-
127  T const & z);
-
128 
-
131  template
-
132  <
-
133  typename T,
-
134  template <typename> class C
-
135  >
-
136  C<T> max(
-
137  C<T> const & x,
-
138  typename C<T>::T const & y,
-
139  typename C<T>::T const & z);
-
140 
-
143  template
-
144  <
-
145  typename T,
-
146  template <typename> class C
-
147  >
-
148  C<T> max(
-
149  C<T> const & x,
-
150  C<T> const & y,
-
151  C<T> const & z);
-
152 
-
155  template <typename T>
-
156  T max(
-
157  T const & x,
-
158  T const & y,
-
159  T const & z,
-
160  T const & w);
-
161 
-
164  template
-
165  <
-
166  typename T,
-
167  template <typename> class C
-
168  >
-
169  C<T> max(
-
170  C<T> const & x,
-
171  typename C<T>::T const & y,
-
172  typename C<T>::T const & z,
-
173  typename C<T>::T const & w);
+
36 #pragma once
+
37 
+
38 #include "setup.hpp"
+
39 #include "precision.hpp"
+
40 #include "type_int.hpp"
+
41 #include "_fixes.hpp"
+
42 
+
43 namespace glm
+
44 {
+
47 
+
54  template <typename genType>
+
55  GLM_FUNC_DECL genType abs(genType x);
+
56 
+
57  template <typename T, precision P, template <typename, precision> class vecType>
+
58  GLM_FUNC_DECL vecType<T, P> abs(vecType<T, P> const & x);
+
59 
+
66  template <typename T, precision P, template <typename, precision> class vecType>
+
67  GLM_FUNC_DECL vecType<T, P> sign(vecType<T, P> const & x);
+
68 
+
75  template <typename T, precision P, template <typename, precision> class vecType>
+
76  GLM_FUNC_DECL vecType<T, P> floor(vecType<T, P> const & x);
+
77 
+
85  template <typename T, precision P, template <typename, precision> class vecType>
+
86  GLM_FUNC_DECL vecType<T, P> trunc(vecType<T, P> const & x);
+
87 
+
98  template <typename T, precision P, template <typename, precision> class vecType>
+
99  GLM_FUNC_DECL vecType<T, P> round(vecType<T, P> const & x);
+
100 
+
110  template <typename T, precision P, template <typename, precision> class vecType>
+
111  GLM_FUNC_DECL vecType<T, P> roundEven(vecType<T, P> const & x);
+
112 
+
120  template <typename T, precision P, template <typename, precision> class vecType>
+
121  GLM_FUNC_DECL vecType<T, P> ceil(vecType<T, P> const & x);
+
122 
+
129  template <typename genType>
+
130  GLM_FUNC_DECL genType fract(genType x);
+
131 
+
132  template <typename T, precision P, template <typename, precision> class vecType>
+
133  GLM_FUNC_DECL vecType<T, P> fract(vecType<T, P> const & x);
+
134 
+
142  template <typename genType>
+
143  GLM_FUNC_DECL genType mod(genType x, genType y);
+
144 
+
145  template <typename T, precision P, template <typename, precision> class vecType>
+
146  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, T y);
+
147 
+
148  template <typename T, precision P, template <typename, precision> class vecType>
+
149  GLM_FUNC_DECL vecType<T, P> mod(vecType<T, P> const & x, vecType<T, P> const & y);
+
150 
+
160  template <typename genType>
+
161  GLM_FUNC_DECL genType modf(genType x, genType & i);
+
162 
+
169  template <typename genType>
+
170  GLM_FUNC_DECL genType min(genType x, genType y);
+
171 
+
172  template <typename T, precision P, template <typename, precision> class vecType>
+
173  GLM_FUNC_DECL vecType<T, P> min(vecType<T, P> const & x, T y);
174 
-
177  template
-
178  <
-
179  typename T,
-
180  template <typename> class C
-
181  >
-
182  C<T> max(
-
183  C<T> const & x,
-
184  C<T> const & y,
-
185  C<T> const & z,
-
186  C<T> const & w);
-
187 
-
189 }//namespace glm
-
190 
-
191 #include "extented_min_max.inl"
+
175  template <typename T, precision P, template <typename, precision> class vecType>
+
176  GLM_FUNC_DECL vecType<T, P> min(vecType<T, P> const & x, vecType<T, P> const & y);
+
177 
+
184  template <typename genType>
+
185  GLM_FUNC_DECL genType max(genType x, genType y);
+
186 
+
187  template <typename T, precision P, template <typename, precision> class vecType>
+
188  GLM_FUNC_DECL vecType<T, P> max(vecType<T, P> const & x, T y);
+
189 
+
190  template <typename T, precision P, template <typename, precision> class vecType>
+
191  GLM_FUNC_DECL vecType<T, P> max(vecType<T, P> const & x, vecType<T, P> const & y);
192 
-
193 #endif//GLM_GTX_extented_min_max
-
GLM_FUNC_DECL genType max(genType const &x, genType const &y)
Returns y if x &lt; y; otherwise, it returns x.
-
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
Returns y if y &lt; x; otherwise, it returns x.
+
200  template <typename genType>
+
201  GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal);
+
202 
+
203  template <typename T, precision P, template <typename, precision> class vecType>
+
204  GLM_FUNC_DECL vecType<T, P> clamp(vecType<T, P> const & x, T minVal, T maxVal);
+
205 
+
206  template <typename T, precision P, template <typename, precision> class vecType>
+
207  GLM_FUNC_DECL vecType<T, P> clamp(vecType<T, P> const & x, vecType<T, P> const & minVal, vecType<T, P> const & maxVal);
+
208 
+
251  template <typename T, typename U, precision P, template <typename, precision> class vecType>
+
252  GLM_FUNC_DECL vecType<T, P> mix(vecType<T, P> const & x, vecType<T, P> const & y, vecType<U, P> const & a);
+
253 
+
254  template <typename T, typename U, precision P, template <typename, precision> class vecType>
+
255  GLM_FUNC_DECL vecType<T, P> mix(vecType<T, P> const & x, vecType<T, P> const & y, U a);
+
256 
+
257  template <typename genTypeT, typename genTypeU>
+
258  GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
+
259 
+
264  template <typename genType>
+
265  GLM_FUNC_DECL genType step(genType edge, genType x);
+
266 
+
271  template <template <typename, precision> class vecType, typename T, precision P>
+
272  GLM_FUNC_DECL vecType<T, P> step(T edge, vecType<T, P> const & x);
+
273 
+
278  template <template <typename, precision> class vecType, typename T, precision P>
+
279  GLM_FUNC_DECL vecType<T, P> step(vecType<T, P> const & edge, vecType<T, P> const & x);
+
280 
+
295  template <typename genType>
+
296  GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x);
+
297 
+
298  template <typename T, precision P, template <typename, precision> class vecType>
+
299  GLM_FUNC_DECL vecType<T, P> smoothstep(T edge0, T edge1, vecType<T, P> const & x);
+
300 
+
301  template <typename T, precision P, template <typename, precision> class vecType>
+
302  GLM_FUNC_DECL vecType<T, P> smoothstep(vecType<T, P> const & edge0, vecType<T, P> const & edge1, vecType<T, P> const & x);
+
303 
+
316  template <typename T, precision P, template <typename, precision> class vecType>
+
317  GLM_FUNC_DECL vecType<bool, P> isnan(vecType<T, P> const & x);
+
318 
+
329  template <typename T, precision P, template <typename, precision> class vecType>
+
330  GLM_FUNC_DECL vecType<bool, P> isinf(vecType<T, P> const & x);
+
331 
+
338  GLM_FUNC_DECL int floatBitsToInt(float const & v);
+
339 
+
346  template <template <typename, precision> class vecType, precision P>
+
347  GLM_FUNC_DECL vecType<int, P> floatBitsToInt(vecType<float, P> const & v);
+
348 
+
355  GLM_FUNC_DECL uint floatBitsToUint(float const & v);
+
356 
+
363  template <template <typename, precision> class vecType, precision P>
+
364  GLM_FUNC_DECL vecType<uint, P> floatBitsToUint(vecType<float, P> const & v);
+
365 
+
374  GLM_FUNC_DECL float intBitsToFloat(int const & v);
+
375 
+
384  template <template <typename, precision> class vecType, precision P>
+
385  GLM_FUNC_DECL vecType<float, P> intBitsToFloat(vecType<int, P> const & v);
+
386 
+
395  GLM_FUNC_DECL float uintBitsToFloat(uint const & v);
+
396 
+
405  template <template <typename, precision> class vecType, precision P>
+
406  GLM_FUNC_DECL vecType<float, P> uintBitsToFloat(vecType<uint, P> const & v);
+
407 
+
414  template <typename genType>
+
415  GLM_FUNC_DECL genType fma(genType const & a, genType const & b, genType const & c);
+
416 
+
431  template <typename genType, typename genIType>
+
432  GLM_FUNC_DECL genType frexp(genType const & x, genIType & exp);
+
433 
+
445  template <typename genType, typename genIType>
+
446  GLM_FUNC_DECL genType ldexp(genType const & x, genIType const & exp);
+
447 
+
449 }//namespace glm
+
450 
+
451 #include "func_common.inl"
+
452 
+
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...
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:302
+
GLM_FUNC_DECL genType mod(genType x, genType y)
Modulus.
+
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 > exp(vecType< T, P > const &v)
Returns the natural exponentiation of x, i.e., e^x.
+
GLM_FUNC_DECL genType max(genType x, genType y)
Returns y if x < y; otherwise, it returns x.
+
GLM_FUNC_DECL genType abs(genType x)
Returns x if x >= 0; otherwise, it returns -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...
+
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 min(genType x, genType y)
Returns y if y < x; otherwise, it returns x.
+
Definition: _noise.hpp:31
+
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< 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< 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< 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 > 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 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 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< 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.
+
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 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.
+
OpenGL Mathematics (glm.g-truc.net)
+
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 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...
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL genType fract(genType x)
Return x - floor(x).
+
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...
+
OpenGL Mathematics (glm.g-truc.net)
+
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...
diff --git a/doc/api/a00029.html b/doc/api/a00029.html index 4ff68a11..eceadc06 100644 --- a/doc/api/a00029.html +++ b/doc/api/a00029.html @@ -3,8 +3,8 @@ - -GLM: fast_exponential.hpp File Reference + +0.9.6: func_exponential.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,68 +41,60 @@
-Namespaces | Functions
-
fast_exponential.hpp File Reference
+
func_exponential.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
fastExp (const T &x)
 
template<typename T >
fastExp2 (const T &x)
 
template<typename T >
fastLn (const T &x)
 
template<typename T >
fastLog (const T &x)
 
template<typename T >
fastLog2 (const T &x)
 
template<typename genType >
genType fastPow (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT fastPow (genTypeT const &x, genTypeU const &y)
 
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:

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_GTX_fast_exponential

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

GLM Core

+
Date
2008-08-08 / 2011-06-14
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-gtx_half_float (dependence)
+
See also
GLSL 4.20.8 specification, section 8.2 Exponential Functions
-

Definition in file fast_exponential.hpp.

+

Definition in file func_exponential.hpp.

diff --git a/doc/api/a00029_source.html b/doc/api/a00029_source.html index efa9df68..50faef78 100644 --- a/doc/api/a00029_source.html +++ b/doc/api/a00029_source.html @@ -3,8 +3,8 @@ - -GLM: fast_exponential.hpp Source File + +0.9.6: func_exponential.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,70 +41,70 @@
-
fast_exponential.hpp
+
func_exponential.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_fast_exponential
-
40 #define GLM_GTX_fast_exponential
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename genType>
-
57  genType fastPow(
-
58  genType const & x,
-
59  genType const & y);
-
60 
-
63  template <typename genTypeT, typename genTypeU>
-
64  genTypeT fastPow(
-
65  genTypeT const & x,
-
66  genTypeU const & y);
-
67 
-
70  template <typename T>
-
71  T fastExp(const T& x);
-
72 
-
75  template <typename T>
-
76  T fastLog(const T& x);
-
77 
-
80  template <typename T>
-
81  T fastExp2(const T& x);
-
82 
-
85  template <typename T>
-
86  T fastLog2(const T& x);
-
87 
-
90  template <typename T>
-
91  T fastLn(const T& x);
-
92 
-
94 }//namespace glm
-
95 
-
96 #include "fast_exponential.inl"
-
97 
-
98 #endif//GLM_GTX_fast_exponential
-
T fastLn(const T &x)
Faster than the common ln function but less accurate.
-
T fastLog(const T &x)
Faster than the common log function but less accurate.
-
T fastExp(const T &x)
Faster than the common exp function but less accurate.
-
T fastExp2(const T &x)
Faster than the common exp2 function but less accurate.
-
genType fastPow(genType const &x, genType const &y)
Faster than the common pow function but less accurate.
-
T fastLog2(const T &x)
Faster than the common log2 function but less accurate.
+
36 #pragma once
+
37 
+
38 #include "type_vec1.hpp"
+
39 #include "type_vec2.hpp"
+
40 #include "type_vec3.hpp"
+
41 #include "type_vec4.hpp"
+
42 #include <cmath>
+
43 
+
44 namespace glm
+
45 {
+
48 
+
57  template <typename T, precision P, template <typename, precision> class vecType>
+
58  GLM_FUNC_DECL vecType<T, P> pow(vecType<T, P> const & base, vecType<T, P> const & exponent);
+
59 
+
67  template <typename T, precision P, template <typename, precision> class vecType>
+
68  GLM_FUNC_DECL vecType<T, P> exp(vecType<T, P> const & v);
+
69 
+
79  template <typename T, precision P, template <typename, precision> class vecType>
+
80  GLM_FUNC_DECL vecType<T, P> log(vecType<T, P> const & v);
+
81 
+
89  template <typename T, precision P, template <typename, precision> class vecType>
+
90  GLM_FUNC_DECL vecType<T, P> exp2(vecType<T, P> const & v);
+
91 
+
100  template <typename T, precision P, template <typename, precision> class vecType>
+
101  GLM_FUNC_DECL vecType<T, P> log2(vecType<T, P> const & v);
+
102 
+
110  //template <typename genType>
+
111  //GLM_FUNC_DECL genType sqrt(genType const & x);
+
112  template <typename T, precision P, template <typename, precision> class vecType>
+
113  GLM_FUNC_DECL vecType<T, P> sqrt(vecType<T, P> const & v);
+
114 
+
122  template <typename T, precision P, template <typename, precision> class vecType>
+
123  GLM_FUNC_DECL vecType<T, P> inversesqrt(vecType<T, P> const & v);
+
124 
+
126 }//namespace glm
+
127 
+
128 #include "func_exponential.inl"
+
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 > 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...
+
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 > 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 > sqrt(vecType< T, P > const &v)
Returns 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'.
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
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)
diff --git a/doc/api/a00030.html b/doc/api/a00030.html index 37c4ca1a..44d29256 100644 --- a/doc/api/a00030.html +++ b/doc/api/a00030.html @@ -3,8 +3,8 @@ - -GLM: fast_square_root.hpp File Reference + +0.9.6: func_geometric.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,60 +41,63 @@
-Namespaces | Functions
-
fast_square_root.hpp File Reference
+
func_geometric.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
genType::value_type fastDistance (genType const &x, genType const &y)
 
template<typename genType >
genType fastInverseSqrt (genType const &x)
 
template<typename genType >
genType::value_type fastLength (genType const &x)
 
template<typename genType >
genType fastNormalize (genType const &x)
 
template<typename genType >
genType fastSqrt (genType const &x)
 
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)
 

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:

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_GTX_fast_square_root

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

GLM Core

+
Date
2008-08-03 / 2011-06-14
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
+
See also
GLSL 4.20.8 specification, section 8.5 Geometric Functions
-

Definition in file fast_square_root.hpp.

+

Definition in file func_geometric.hpp.

diff --git a/doc/api/a00030_source.html b/doc/api/a00030_source.html index b1d65f7a..3235d684 100644 --- a/doc/api/a00030_source.html +++ b/doc/api/a00030_source.html @@ -3,8 +3,8 @@ - -GLM: fast_square_root.hpp Source File + +0.9.6: func_geometric.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,59 +41,81 @@
-
fast_square_root.hpp
+
func_geometric.hpp
Go to the documentation of this file.
1 
-
40 #ifndef GLM_GTX_fast_square_root
-
41 #define GLM_GTX_fast_square_root
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_fast_square_root extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
+
36 #pragma once
+
37 
+
38 #include "type_vec3.hpp"
+
39 
+
40 namespace glm
+
41 {
+
44 
+
51  template <typename T, precision P, template <typename, precision> class vecType>
+
52  GLM_FUNC_DECL T length(
+
53  vecType<T, P> const & x);
54 
-
57  template <typename genType>
-
58  genType fastSqrt(genType const & x);
-
59 
-
62  template <typename genType>
-
63  genType fastInverseSqrt(genType const & x);
-
64 
-
67  template <typename genType>
-
68  typename genType::value_type fastLength(genType const & x);
-
69 
-
72  template <typename genType>
-
73  typename genType::value_type fastDistance(genType const & x, genType const & y);
-
74 
-
77  template <typename genType>
-
78  genType fastNormalize(genType const & x);
-
79 
-
81 }// namespace glm
-
82 
-
83 #include "fast_square_root.inl"
-
84 
-
85 #endif//GLM_GTX_fast_square_root
-
genType fastSqrt(genType const &x)
Faster than the common sqrt function but less accurate.
-
genType fastInverseSqrt(genType const &x)
Faster than the common inversesqrt function but less accurate.
-
genType::value_type fastDistance(genType const &x, genType const &y)
Faster than the common distance function but less accurate.
-
genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
-
genType::value_type fastLength(genType const &x)
Faster than the common length function but less accurate.
+
61  template <typename T, precision P, template <typename, precision> class vecType>
+
62  GLM_FUNC_DECL T distance(
+
63  vecType<T, P> const & p0,
+
64  vecType<T, P> const & p1);
+
65 
+
72  template <typename T, precision P, template <typename, precision> class vecType>
+
73  GLM_FUNC_DECL T dot(
+
74  vecType<T, P> const & x,
+
75  vecType<T, P> const & y);
+
76 
+
83  template <typename T, precision P>
+
84  GLM_FUNC_DECL tvec3<T, P> cross(
+
85  tvec3<T, P> const & x,
+
86  tvec3<T, P> const & y);
+
87 
+
93  template <typename T, precision P, template <typename, precision> class vecType>
+
94  GLM_FUNC_DECL vecType<T, P> normalize(
+
95  vecType<T, P> const & x);
+
96 
+
103  template <typename genType>
+
104  GLM_FUNC_DECL genType faceforward(
+
105  genType const & N,
+
106  genType const & I,
+
107  genType const & Nref);
+
108 
+
116  template <typename genType>
+
117  GLM_FUNC_DECL genType reflect(
+
118  genType const & I,
+
119  genType const & N);
+
120 
+
129  template <typename T, precision P, template <typename, precision> class vecType>
+
130  GLM_FUNC_DECL vecType<T, P> refract(
+
131  vecType<T, P> const & I,
+
132  vecType<T, P> const & N,
+
133  T eta);
+
134 
+
136 }//namespace glm
+
137 
+
138 #include "func_geometric.inl"
+
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.
+
OpenGL Mathematics (glm.g-truc.net)
+
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...
+
Definition: _noise.hpp:31
+
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.
+
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/a00031.html b/doc/api/a00031.html index e73f867e..f247ba56 100644 --- a/doc/api/a00031.html +++ b/doc/api/a00031.html @@ -3,8 +3,8 @@ - -GLM: fast_trigonometry.hpp File Reference + +0.9.6: func_integer.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,66 +41,78 @@
-Namespaces | Functions
-
fast_trigonometry.hpp File Reference
+
func_integer.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
fastAcos (const T &angle)
 
template<typename T >
fastAsin (const T &angle)
 
template<typename T >
fastAtan (const T &y, const T &x)
 
template<typename T >
fastAtan (const T &angle)
 
template<typename T >
fastCos (const T &angle)
 
template<typename T >
fastSin (const T &angle)
 
template<typename T >
fastTan (const T &angle)
 
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:

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_GTX_fast_trigonometry

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

GLM Core

+
Date
2010-03-17 / 2011-06-18
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
+
See also
GLSL 4.20.8 specification, section 8.8 Integer Functions
-

Definition in file fast_trigonometry.hpp.

+

Definition in file func_integer.hpp.

diff --git a/doc/api/a00031_source.html b/doc/api/a00031_source.html index ba8da12a..142bd778 100644 --- a/doc/api/a00031_source.html +++ b/doc/api/a00031_source.html @@ -3,8 +3,8 @@ - -GLM: fast_trigonometry.hpp Source File + +0.9.6: func_integer.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,67 +41,109 @@
-
fast_trigonometry.hpp
+
func_integer.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_fast_trigonometry
-
39 #define GLM_GTX_fast_trigonometry
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
56  template <typename T>
-
57  T fastSin(const T& angle);
-
58 
-
62  template <typename T>
-
63  T fastCos(const T& angle);
-
64 
-
68  template <typename T>
-
69  T fastTan(const T& angle);
-
70 
-
74  template <typename T>
-
75  T fastAsin(const T& angle);
-
76 
-
80  template <typename T>
-
81  T fastAcos(const T& angle);
-
82 
-
86  template <typename T>
-
87  T fastAtan(const T& y, const T& x);
-
88 
-
92  template <typename T>
-
93  T fastAtan(const T& angle);
-
94 
-
96 }//namespace glm
-
97 
-
98 #include "fast_trigonometry.inl"
-
99 
-
100 #endif//GLM_GTX_fast_trigonometry
-
T fastAcos(const T &angle)
Faster than the common acos function but less accurate.
-
T fastAtan(const T &y, const T &x)
Faster than the common atan function but less accurate.
-
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
T fastAsin(const T &angle)
Faster than the common asin function but less accurate.
-
T fastTan(const T &angle)
Faster than the common tan function but less accurate.
-
T fastSin(const T &angle)
Faster than the common sin function but less accurate.
-
T fastCos(const T &angle)
Faster than the common cos function but less accurate.
+
38 #pragma once
+
39 
+
40 #include "setup.hpp"
+
41 #include "precision.hpp"
+
42 #include "func_common.hpp"
+ +
44 
+
45 namespace glm
+
46 {
+
49 
+
58  template <precision P, template <typename, precision> class vecType>
+
59  GLM_FUNC_DECL vecType<uint, P> uaddCarry(
+
60  vecType<uint, P> const & x,
+
61  vecType<uint, P> const & y,
+
62  vecType<uint, P> & carry);
+
63 
+
72  template <precision P, template <typename, precision> class vecType>
+
73  GLM_FUNC_DECL vecType<uint, P> usubBorrow(
+
74  vecType<uint, P> const & x,
+
75  vecType<uint, P> const & y,
+
76  vecType<uint, P> & borrow);
+
77 
+
86  template <precision P, template <typename, precision> class vecType>
+
87  GLM_FUNC_DECL void umulExtended(
+
88  vecType<uint, P> const & x,
+
89  vecType<uint, P> const & y,
+
90  vecType<uint, P> & msb,
+
91  vecType<uint, P> & lsb);
+
92 
+
101  template <precision P, template <typename, precision> class vecType>
+
102  GLM_FUNC_DECL void imulExtended(
+
103  vecType<int, P> const & x,
+
104  vecType<int, P> const & y,
+
105  vecType<int, P> & msb,
+
106  vecType<int, P> & lsb);
+
107 
+
123  template <typename T, precision P, template <typename, precision> class vecType>
+
124  GLM_FUNC_DECL vecType<T, P> bitfieldExtract(
+
125  vecType<T, P> const & Value,
+
126  int Offset,
+
127  int Bits);
+
128 
+
143  template <typename T, precision P, template <typename, precision> class vecType>
+
144  GLM_FUNC_DECL vecType<T, P> bitfieldInsert(
+
145  vecType<T, P> const & Base,
+
146  vecType<T, P> const & Insert,
+
147  int Offset,
+
148  int Bits);
+
149 
+
158  template <typename T, precision P, template <typename, precision> class vecType>
+
159  GLM_FUNC_DECL vecType<T, P> bitfieldReverse(vecType<T, P> const & v);
+
160 
+
167  template <typename genType>
+
168  GLM_FUNC_DECL int bitCount(genType v);
+
169 
+
176  template <typename T, precision P, template <typename, precision> class vecType>
+
177  GLM_FUNC_DECL vecType<int, P> bitCount(vecType<T, P> const & v);
+
178 
+
187  template <typename genIUType>
+
188  GLM_FUNC_DECL int findLSB(genIUType x);
+
189 
+
198  template <typename T, precision P, template <typename, precision> class vecType>
+
199  GLM_FUNC_DECL vecType<int, P> findLSB(vecType<T, P> const & v);
+
200 
+
210  template <typename genIUType>
+
211  GLM_FUNC_DECL int findMSB(genIUType x);
+
212 
+
222  template <typename T, precision P, template <typename, precision> class vecType>
+
223  GLM_FUNC_DECL vecType<int, P> findMSB(vecType<T, P> const & v);
+
224 
+
226 }//namespace glm
+
227 
+
228 #include "func_integer.inl"
+
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 > 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 > 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< 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...
+
Definition: _noise.hpp:31
+
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 > bitfieldReverse(vecType< T, P > const &v)
Returns the reversal of the bits of value.
+
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...
+
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)
+
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/a00032.html b/doc/api/a00032.html new file mode 100644 index 00000000..e196c94e --- /dev/null +++ b/doc/api/a00032.html @@ -0,0 +1,93 @@ + + + + + + +0.9.6: func_matrix.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
func_matrix.hpp File Reference
+
+
+ +

Go to the source code of this file.

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

+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)
 
+

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:

+

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
2008-08-03 / 2011-06-15
+
Author
Christophe Riccio
+
See also
GLSL 4.20.8 specification, section 8.6 Matrix Functions
+ +

Definition in file func_matrix.hpp.

+
+ + + + diff --git a/doc/api/a00032_source.html b/doc/api/a00032_source.html index 77dc7e0d..31fbd13d 100644 --- a/doc/api/a00032_source.html +++ b/doc/api/a00032_source.html @@ -3,8 +3,8 @@ - -GLM: func_common.hpp Source File + +0.9.6: func_matrix.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,198 +41,125 @@
-
func_common.hpp
+
func_matrix.hpp
-
1 
-
36 #ifndef GLM_FUNC_COMMON_INCLUDED
-
37 #define GLM_FUNC_COMMON_INCLUDED
-
38 
-
39 #include "setup.hpp"
-
40 #include "precision.hpp"
-
41 #include "type_int.hpp"
-
42 #include "_fixes.hpp"
-
43 
-
44 namespace glm
-
45 {
-
48 
-
55  template <typename genType>
-
56  GLM_FUNC_DECL genType abs(genType const & x);
-
57 
-
64  template <typename genType>
-
65  GLM_FUNC_DECL genType sign(genType const & x);
-
66 
-
73  template <typename genType>
-
74  GLM_FUNC_DECL genType floor(genType const & x);
-
75 
-
83  template <typename genType>
-
84  GLM_FUNC_DECL genType trunc(genType const & x);
+Go to the documentation of this file.
1 
+
40 #pragma once
+
41 
+
42 // Dependencies
+
43 #include "../detail/precision.hpp"
+
44 #include "../detail/setup.hpp"
+
45 #include "../detail/type_mat.hpp"
+
46 #include "../vec2.hpp"
+
47 #include "../vec3.hpp"
+
48 #include "../vec4.hpp"
+
49 #include "../mat2x2.hpp"
+
50 #include "../mat2x3.hpp"
+
51 #include "../mat2x4.hpp"
+
52 #include "../mat3x2.hpp"
+
53 #include "../mat3x3.hpp"
+
54 #include "../mat3x4.hpp"
+
55 #include "../mat4x2.hpp"
+
56 #include "../mat4x3.hpp"
+
57 #include "../mat4x4.hpp"
+
58 
+
59 namespace glm{
+
60 namespace detail
+
61 {
+
62  template <typename T, precision P>
+
63  struct outerProduct_trait<T, P, tvec2, tvec2>
+
64  {
+
65  typedef tmat2x2<T, P> type;
+
66  };
+
67 
+
68  template <typename T, precision P>
+
69  struct outerProduct_trait<T, P, tvec2, tvec3>
+
70  {
+
71  typedef tmat2x3<T, P> type;
+
72  };
+
73 
+
74  template <typename T, precision P>
+
75  struct outerProduct_trait<T, P, tvec2, tvec4>
+
76  {
+
77  typedef tmat2x4<T, P> type;
+
78  };
+
79 
+
80  template <typename T, precision P>
+
81  struct outerProduct_trait<T, P, tvec3, tvec2>
+
82  {
+
83  typedef tmat3x2<T, P> type;
+
84  };
85 
-
96  template <typename genType>
-
97  GLM_FUNC_DECL genType round(genType const & x);
-
98 
-
108  template <typename genType>
-
109  GLM_FUNC_DECL genType roundEven(genType const & x);
-
110 
-
118  template <typename genType>
-
119  GLM_FUNC_DECL genType ceil(genType const & x);
+
86  template <typename T, precision P>
+
87  struct outerProduct_trait<T, P, tvec3, tvec3>
+
88  {
+
89  typedef tmat3x3<T, P> type;
+
90  };
+
91 
+
92  template <typename T, precision P>
+
93  struct outerProduct_trait<T, P, tvec3, tvec4>
+
94  {
+
95  typedef tmat3x4<T, P> type;
+
96  };
+
97 
+
98  template <typename T, precision P>
+
99  struct outerProduct_trait<T, P, tvec4, tvec2>
+
100  {
+
101  typedef tmat4x2<T, P> type;
+
102  };
+
103 
+
104  template <typename T, precision P>
+
105  struct outerProduct_trait<T, P, tvec4, tvec3>
+
106  {
+
107  typedef tmat4x3<T, P> type;
+
108  };
+
109 
+
110  template <typename T, precision P>
+
111  struct outerProduct_trait<T, P, tvec4, tvec4>
+
112  {
+
113  typedef tmat4x4<T, P> type;
+
114  };
+
115 
+
116 }//namespace detail
+
117 
120 
-
127  template <typename genType>
-
128  GLM_FUNC_DECL genType fract(genType const & x);
-
129 
-
137  template <typename genType>
-
138  GLM_FUNC_DECL genType mod(
-
139  genType const & x,
-
140  genType const & y);
+
128  template <typename T, precision P, template <typename, precision> class matType>
+
129  GLM_FUNC_DECL matType<T, P> matrixCompMult(matType<T, P> const & x, matType<T, P> const & y);
+
130 
+
139  template <typename T, precision P, template <typename, precision> class vecTypeA, template <typename, precision> class vecTypeB>
+
140  GLM_FUNC_DECL typename detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type outerProduct(vecTypeA<T, P> const & c, vecTypeB<T, P> const & r);
141 
-
149  template <typename genType>
-
150  GLM_FUNC_DECL genType mod(
-
151  genType const & x,
-
152  typename genType::value_type const & y);
-
153 
-
163  template <typename genType>
-
164  GLM_FUNC_DECL genType modf(
-
165  genType const & x,
-
166  genType & i);
-
167 
-
174  template <typename genType>
-
175  GLM_FUNC_DECL genType min(
-
176  genType const & x,
-
177  genType const & y);
-
178 
-
179  template <typename genType>
-
180  GLM_FUNC_DECL genType min(
-
181  genType const & x,
-
182  typename genType::value_type const & y);
-
183 
-
190  template <typename genType>
-
191  GLM_FUNC_DECL genType max(
-
192  genType const & x,
-
193  genType const & y);
-
194 
-
195  template <typename genType>
-
196  GLM_FUNC_DECL genType max(
-
197  genType const & x,
-
198  typename genType::value_type const & y);
-
199 
-
207  template <typename genType>
-
208  GLM_FUNC_DECL genType clamp(
-
209  genType const & x,
-
210  genType const & minVal,
-
211  genType const & maxVal);
-
212 
-
213  template <typename genType, precision P>
-
214  GLM_FUNC_DECL genType clamp(
-
215  genType const & x,
-
216  typename genType::value_type const & minVal,
-
217  typename genType::value_type const & maxVal);
-
218 
-
261  template <typename genTypeT, typename genTypeU>
-
262  GLM_FUNC_DECL genTypeT mix(
-
263  genTypeT const & x,
-
264  genTypeT const & y,
-
265  genTypeU const & a);
-
266 
-
271  template <typename genType>
-
272  GLM_FUNC_DECL genType step(
-
273  genType const & edge,
-
274  genType const & x);
-
275 
-
280  template <template <typename, precision> class vecType, typename T, precision P>
-
281  GLM_FUNC_DECL vecType<T, P> step(
-
282  T const & edge,
-
283  vecType<T, P> const & x);
-
284 
-
299  template <typename genType>
-
300  GLM_FUNC_DECL genType smoothstep(
-
301  genType const & edge0,
-
302  genType const & edge1,
-
303  genType const & x);
-
304 
-
305  template <typename genType>
-
306  GLM_FUNC_DECL genType smoothstep(
-
307  typename genType::value_type const & edge0,
-
308  typename genType::value_type const & edge1,
-
309  genType const & x);
-
310 
-
323  template <typename genType>
-
324  GLM_FUNC_DECL typename genType::bool_type isnan(genType const & x);
-
325 
-
336  template <typename genType>
-
337  GLM_FUNC_DECL typename genType::bool_type isinf(genType const & x);
-
338 
-
345  GLM_FUNC_DECL int floatBitsToInt(float const & v);
-
346 
-
353  template <template <typename, precision> class vecType, precision P>
-
354  GLM_FUNC_DECL vecType<int, P> floatBitsToInt(vecType<float, P> const & v);
-
355 
-
362  GLM_FUNC_DECL uint floatBitsToUint(float const & v);
-
363 
-
370  template <template <typename, precision> class vecType, precision P>
-
371  GLM_FUNC_DECL vecType<uint, P> floatBitsToUint(vecType<float, P> const & v);
-
372 
-
381  GLM_FUNC_DECL float intBitsToFloat(int const & v);
-
382 
-
391  template <template <typename, precision> class vecType, precision P>
-
392  GLM_FUNC_DECL vecType<float, P> intBitsToFloat(vecType<int, P> const & v);
-
393 
-
402  GLM_FUNC_DECL float uintBitsToFloat(uint const & v);
-
403 
-
412  template <template <typename, precision> class vecType, precision P>
-
413  GLM_FUNC_DECL vecType<float, P> uintBitsToFloat(vecType<uint, P> const & v);
-
414 
-
421  template <typename genType>
-
422  GLM_FUNC_DECL genType fma(genType const & a, genType const & b, genType const & c);
-
423 
-
438  template <typename genType, typename genIType>
-
439  GLM_FUNC_DECL genType frexp(genType const & x, genIType & exp);
-
440 
-
452  template <typename genType, typename genIType>
-
453  GLM_FUNC_DECL genType ldexp(genType const & x, genIType const & exp);
-
454 
-
456 }//namespace glm
-
457 
-
458 #include "func_common.inl"
-
459 
-
460 #endif//GLM_FUNC_COMMON_INCLUDED
-
GLM_FUNC_DECL genType floor(genType const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
-
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
-
GLM_FUNC_DECL genType mod(genType const &x, genType const &y)
Modulus.
-
GLM_FUNC_DECL genType modf(genType const &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 genType exp(genType const &x)
Returns the natural exponentiation of x, i.e., e^x.
-
GLM_FUNC_DECL genType fract(genType const &x)
Return x - floor(x).
-
GLM_FUNC_DECL genType ceil(genType const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
-
GLM_FUNC_DECL genType::bool_type isnan(genType const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...
-
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
-
GLM_FUNC_DECL float intBitsToFloat(int const &v)
Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...
-
GLM_FUNC_DECL genType step(genType const &edge, genType const &x)
Returns 0.0 if x &lt; edge, otherwise it returns 1.0 for each component of a genType.
-
GLM_FUNC_DECL int floatBitsToInt(float const &v)
Returns a signed integer value representing the encoding of a floating-point value.
-
GLM_FUNC_DECL genType trunc(genType 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 roundEven(genType const &x)
Returns a value equal to the nearest integer to x.
-
GLM_FUNC_DECL genType round(genType const &x)
Returns a value equal to the nearest integer to x.
-
GLM_FUNC_DECL float uintBitsToFloat(uint const &v)
Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...
-
GLM_FUNC_DECL uint floatBitsToUint(float const &v)
Returns a unsigned integer value representing the encoding of a floating-point value.
-
GLM_FUNC_DECL genType abs(genType const &x)
Returns x if x &gt;= 0; otherwise, it returns -x.
-
GLM_FUNC_DECL genType::bool_type isinf(genType const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
-
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 smoothstep(genType const &edge0, genType const &edge1, genType const &x)
Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...
-
GLM_FUNC_DECL genType clamp(genType const &x, genType const &minVal, genType const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
-
GLM_FUNC_DECL genType max(genType const &x, genType const &y)
Returns y if x &lt; y; otherwise, it returns x.
-
GLM_FUNC_DECL genType sign(genType const &x)
Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.
-
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
Returns y if y &lt; 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...
+
148 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012))
+
149  template <typename T, precision P, template <typename, precision> class matType>
+
150  GLM_FUNC_DECL typename matType<T, P>::transpose_type transpose(matType<T, P> const & x);
+
151 # endif
+
152 
+
159  template <typename T, precision P, template <typename, precision> class matType>
+
160  GLM_FUNC_DECL T determinant(matType<T, P> const & m);
+
161 
+
168  template <typename T, precision P, template <typename, precision> class matType>
+
169  GLM_FUNC_DECL matType<T, P> inverse(matType<T, P> const & m);
+
170 
+
172 }//namespace glm
+
173 
+
174 #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...
+
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
+
Definition: _noise.hpp:31
+
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.
diff --git a/doc/api/a00033.html b/doc/api/a00033.html new file mode 100644 index 00000000..b786cce4 --- /dev/null +++ b/doc/api/a00033.html @@ -0,0 +1,94 @@ + + + + + + +0.9.6: func_noise.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
func_noise.hpp File Reference
+
+
+ +

Go to the source code of this file.

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

+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)
 
+

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:

+

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
2008-08-01 / 2011-06-18
+
Author
Christophe Riccio
+
See also
GLSL 4.20.8 specification, section 8.13 Noise Functions
+ +

Definition in file func_noise.hpp.

+
+ + + + diff --git a/doc/api/a00033_source.html b/doc/api/a00033_source.html index bb10b784..15648426 100644 --- a/doc/api/a00033_source.html +++ b/doc/api/a00033_source.html @@ -3,8 +3,8 @@ - -GLM: func_exponential.hpp Source File + +0.9.6: func_noise.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,66 +41,55 @@
-
func_exponential.hpp
+
func_noise.hpp
-
1 
-
36 #ifndef glm_core_func_exponential
-
37 #define glm_core_func_exponential
-
38 
-
39 #include "type_vec1.hpp"
-
40 #include "type_vec2.hpp"
-
41 #include "type_vec3.hpp"
-
42 #include "type_vec4.hpp"
-
43 #include <cmath>
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 #include "type_vec1.hpp"
+
41 #include "type_vec2.hpp"
+
42 #include "type_vec3.hpp"
+
43 #include "setup.hpp"
44 
-
45 namespace glm
+
45 namespace glm
46 {
49 
-
58  template <typename genType>
-
59  GLM_FUNC_DECL genType pow(genType const & base, genType const & exponent);
-
60 
-
68  template <typename genType>
-
69  GLM_FUNC_DECL genType exp(genType const & x);
-
70 
-
80  template <typename genType>
-
81  GLM_FUNC_DECL genType log(genType const & x);
-
82 
-
90  template <typename genType>
-
91  GLM_FUNC_DECL genType exp2(genType const & x);
-
92 
-
101  template <typename genType>
-
102  GLM_FUNC_DECL genType log2(genType const & x);
-
103 
-
111  template <typename genType>
-
112  GLM_FUNC_DECL genType sqrt(genType const & x);
-
113 
-
121  template <typename genType>
-
122  GLM_FUNC_DECL genType inversesqrt(genType const & x);
-
123 
-
125 }//namespace glm
-
126 
-
127 #include "func_exponential.inl"
-
128 
-
129 #endif//glm_core_func_exponential
-
GLM_FUNC_DECL genType sqrt(genType const &x)
Returns the positive square root of x.
-
GLM_FUNC_DECL genType inversesqrt(genType const &x)
Returns the reciprocal of the positive square root of x.
-
GLM_FUNC_DECL genType exp(genType const &x)
Returns the natural exponentiation of x, i.e., e^x.
-
GLM_FUNC_DECL genType log2(genType const &x)
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...
-
GLM_FUNC_DECL genType pow(genType const &base, genType const &exponent)
Returns &#39;base&#39; raised to the power &#39;exponent&#39;.
-
GLM_FUNC_DECL genType exp2(genType const &x)
Returns 2 raised to the x power.
-
GLM_FUNC_DECL genType log(genType const &x)
Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y...
+
56  template <typename genType>
+
57  GLM_FUNC_DECL typename genType::value_type noise1(genType const & x);
+
58 
+
65  template <typename genType>
+
66  GLM_FUNC_DECL tvec2<typename genType::value_type, defaultp> noise2(genType const & x);
+
67 
+
74  template <typename genType>
+
75  GLM_FUNC_DECL tvec3<typename genType::value_type, defaultp> noise3(genType const & x);
+
76 
+
83  template <typename genType>
+
84  GLM_FUNC_DECL tvec4<typename genType::value_type, defaultp> noise4(genType const & x);
+
85 
+
87 }//namespace glm
+
88 
+
89 #include "func_noise.inl"
+
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)
+
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.
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
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)
diff --git a/doc/api/a00034.html b/doc/api/a00034.html new file mode 100644 index 00000000..571b9103 --- /dev/null +++ b/doc/api/a00034.html @@ -0,0 +1,105 @@ + + + + + + +0.9.6: func_packing.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
func_packing.hpp File Reference
+
+
+ +

Go to the source code of this file.

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

+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)
 
+

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:

+

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
2010-03-17 / 2011-06-15
+
Author
Christophe Riccio
+
See also
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+
+GLM_GTC_packing
+ +

Definition in file func_packing.hpp.

+
+ + + + diff --git a/doc/api/a00034_source.html b/doc/api/a00034_source.html index f57c5137..7e2a6b5f 100644 --- a/doc/api/a00034_source.html +++ b/doc/api/a00034_source.html @@ -3,8 +3,8 @@ - -GLM: func_geometric.hpp Source File + +0.9.6: func_packing.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,87 +41,75 @@
-
func_geometric.hpp
+
func_packing.hpp
-
1 
-
36 #ifndef glm_core_func_geometric
-
37 #define glm_core_func_geometric
-
38 
-
39 #include "type_vec3.hpp"
-
40 
-
41 namespace glm
-
42 {
-
45 
-
52  template <typename genType>
-
53  GLM_FUNC_DECL typename genType::value_type length(
-
54  genType const & x);
-
55 
-
62  template <typename genType>
-
63  GLM_FUNC_DECL typename genType::value_type distance(
-
64  genType const & p0,
-
65  genType const & p1);
-
66 
-
73  template <typename T, precision P, template <typename, precision> class vecType>
-
74  GLM_FUNC_DECL T dot(
-
75  vecType<T, P> const & x,
-
76  vecType<T, P> const & y);
-
77 
-
84  template <typename genType>
-
85  GLM_FUNC_DECL genType dot(
-
86  genType const & x,
-
87  genType const & y);
-
88 
-
95  template <typename T, precision P>
-
96  GLM_FUNC_DECL detail::tvec3<T, P> cross(
-
97  detail::tvec3<T, P> const & x,
-
98  detail::tvec3<T, P> const & y);
-
99 
-
104  template <typename genType>
-
105  GLM_FUNC_DECL genType normalize(
-
106  genType const & x);
-
107 
-
114  template <typename genType>
-
115  GLM_FUNC_DECL genType faceforward(
-
116  genType const & N,
-
117  genType const & I,
-
118  genType const & Nref);
-
119 
-
127  template <typename genType>
-
128  GLM_FUNC_DECL genType reflect(
-
129  genType const & I,
-
130  genType const & N);
-
131 
-
140  template <typename T, precision P, template <typename, precision> class vecType>
-
141  GLM_FUNC_DECL vecType<T, P> refract(
-
142  vecType<T, P> const & I,
-
143  vecType<T, P> const & N,
-
144  T const & eta);
-
145 
-
147 }//namespace glm
-
148 
-
149 #include "func_geometric.inl"
+Go to the documentation of this file.
1 
+
37 #pragma once
+
38 
+
39 #include "type_vec2.hpp"
+
40 #include "type_vec4.hpp"
+
41 
+
42 namespace glm
+
43 {
+
46 
+
58  GLM_FUNC_DECL uint packUnorm2x16(vec2 const & v);
+
59 
+
71  GLM_FUNC_DECL uint packSnorm2x16(vec2 const & v);
+
72 
+
84  GLM_FUNC_DECL uint packUnorm4x8(vec4 const & v);
+
85 
+
97  GLM_FUNC_DECL uint packSnorm4x8(vec4 const & v);
+
98 
+
110  GLM_FUNC_DECL vec2 unpackUnorm2x16(uint const & p);
+
111 
+
123  GLM_FUNC_DECL vec2 unpackSnorm2x16(uint const & p);
+
124 
+
136  GLM_FUNC_DECL vec4 unpackUnorm4x8(uint const & p);
+
137 
+
149  GLM_FUNC_DECL vec4 unpackSnorm4x8(uint const & p);
150 
-
151 #endif//glm_core_func_geometric
-
GLM_FUNC_DECL genType faceforward(genType const &N, genType const &I, genType const &Nref)
If dot(Nref, I) &lt; 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 detail::tvec3< T, P > cross(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the cross product of x and y.
-
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
-
GLM_FUNC_DECL genType::value_type length(genType 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 const &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 genType::value_type distance(genType const &p0, genType const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
+
159  GLM_FUNC_DECL double packDouble2x32(uvec2 const & v);
+
160 
+
168  GLM_FUNC_DECL uvec2 unpackDouble2x32(double const & v);
+
169 
+
178  GLM_FUNC_DECL uint packHalf2x16(vec2 const & v);
+
179 
+
188  GLM_FUNC_DECL vec2 unpackHalf2x16(uint const & v);
+
189 
+
191 }//namespace glm
+
192 
+
193 #include "func_packing.inl"
+
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...
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:302
+
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 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 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 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.
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
GLM_FUNC_DECL uvec2 unpackDouble2x32(double const &v)
Returns a two-component unsigned integer vector representation of v.
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
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 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 packUnorm4x8(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 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 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.
+
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:472
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00035.html b/doc/api/a00035.html new file mode 100644 index 00000000..88815796 --- /dev/null +++ b/doc/api/a00035.html @@ -0,0 +1,124 @@ + + + + + + +0.9.6: func_trigonometric.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
func_trigonometric.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 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:

+

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
2008-08-01 / 2011-06-15
+
Author
Christophe Riccio
+
See also
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +

Definition in file func_trigonometric.hpp.

+
+ + + + diff --git a/doc/api/a00035_source.html b/doc/api/a00035_source.html index 48dcadb4..f0d18c93 100644 --- a/doc/api/a00035_source.html +++ b/doc/api/a00035_source.html @@ -3,8 +3,8 @@ - -GLM: func_integer.hpp Source File + +0.9.6: func_trigonometric.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,96 +41,95 @@
-
func_integer.hpp
+
func_trigonometric.hpp
-
1 
-
38 #ifndef glm_core_func_integer
-
39 #define glm_core_func_integer
-
40 
-
41 #include "setup.hpp"
-
42 
-
43 namespace glm
-
44 {
-
47 
-
56  template <typename genUType>
-
57  GLM_FUNC_DECL genUType uaddCarry(
-
58  genUType const & x,
-
59  genUType const & y,
-
60  genUType & carry);
-
61 
-
70  template <typename genUType>
-
71  GLM_FUNC_DECL genUType usubBorrow(
-
72  genUType const & x,
-
73  genUType const & y,
-
74  genUType & borrow);
-
75 
-
84  template <typename genUType>
-
85  GLM_FUNC_DECL void umulExtended(
-
86  genUType const & x,
-
87  genUType const & y,
-
88  genUType & msb,
-
89  genUType & lsb);
-
90 
-
99  template <typename genIType>
-
100  GLM_FUNC_DECL void imulExtended(
-
101  genIType const & x,
-
102  genIType const & y,
-
103  genIType & msb,
-
104  genIType & lsb);
-
105 
-
121  template <typename genIUType>
-
122  GLM_FUNC_DECL genIUType bitfieldExtract(
-
123  genIUType const & Value,
-
124  int const & Offset,
-
125  int const & Bits);
-
126 
-
141  template <typename genIUType>
-
142  GLM_FUNC_DECL genIUType bitfieldInsert(
-
143  genIUType const & Base,
-
144  genIUType const & Insert,
-
145  int const & Offset,
-
146  int const & Bits);
-
147 
-
156  template <typename genIUType>
-
157  GLM_FUNC_DECL genIUType bitfieldReverse(genIUType const & Value);
-
158 
-
167  template <typename T, template <typename> class genIUType>
-
168  GLM_FUNC_DECL typename genIUType<T>::signed_type bitCount(genIUType<T> const & Value);
-
169 
-
180  template <typename T, template <typename> class genIUType>
-
181  GLM_FUNC_DECL typename genIUType<T>::signed_type findLSB(genIUType<T> const & Value);
-
182 
-
194  template <typename T, template <typename> class genIUType>
-
195  GLM_FUNC_DECL typename genIUType<T>::signed_type findMSB(genIUType<T> const & Value);
-
196 
-
198 }//namespace glm
-
199 
-
200 #include "func_integer.inl"
-
201 
-
202 #endif//glm_core_func_integer
-
203 
-
GLM_FUNC_DECL genIUType< T >::signed_type findLSB(genIUType< T > const &Value)
Returns the bit number of the least significant bit set to 1 in the binary representation of value...
-
GLM_FUNC_DECL genIUType< T >::signed_type bitCount(genIUType< T > const &Value)
Returns the number of bits set to 1 in the binary representation of value.
-
GLM_FUNC_DECL void imulExtended(genIType const &x, genIType const &y, genIType &msb, genIType &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
-
GLM_FUNC_DECL genIUType bitfieldExtract(genIUType const &Value, int const &Offset, int const &Bits)
Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...
-
GLM_FUNC_DECL genIUType bitfieldReverse(genIUType const &Value)
Returns the reversal of the bits of value.
-
GLM_FUNC_DECL void umulExtended(genUType const &x, genUType const &y, genUType &msb, genUType &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
-
GLM_FUNC_DECL genIUType bitfieldInsert(genIUType const &Base, genIUType const &Insert, int const &Offset, int const &Bits)
Returns the insertion the bits least-significant bits of insert into base.
-
GLM_FUNC_DECL genIUType< T >::signed_type findMSB(genIUType< T > const &Value)
Returns the bit number of the most significant bit in the binary representation of value...
-
GLM_FUNC_DECL genUType uaddCarry(genUType const &x, genUType const &y, genUType &carry)
Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).
-
GLM_FUNC_DECL genUType usubBorrow(genUType const &x, genUType const &y, genUType &borrow)
Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.
+Go to the documentation of this file.
1 
+
40 #pragma once
+
41 
+
42 #include "setup.hpp"
+
43 #include "precision.hpp"
+
44 
+
45 namespace glm
+
46 {
+
49 
+
56  template <typename T, precision P, template <typename, precision> class vecType>
+
57  GLM_FUNC_DECL vecType<T, P> radians(vecType<T, P> const & degrees);
+
58 
+
65  template <typename T, precision P, template <typename, precision> class vecType>
+
66  GLM_FUNC_DECL vecType<T, P> degrees(vecType<T, P> const & radians);
+
67 
+
75  template <typename T, precision P, template <typename, precision> class vecType>
+
76  GLM_FUNC_DECL vecType<T, P> sin(vecType<T, P> const & angle);
+
77 
+
85  template <typename T, precision P, template <typename, precision> class vecType>
+
86  GLM_FUNC_DECL vecType<T, P> cos(vecType<T, P> const & angle);
+
87 
+
94  template <typename T, precision P, template <typename, precision> class vecType>
+
95  GLM_FUNC_DECL vecType<T, P> tan(vecType<T, P> const & angle);
+
96 
+
105  template <typename T, precision P, template <typename, precision> class vecType>
+
106  GLM_FUNC_DECL vecType<T, P> asin(vecType<T, P> const & x);
+
107 
+
116  template <typename T, precision P, template <typename, precision> class vecType>
+
117  GLM_FUNC_DECL vecType<T, P> acos(vecType<T, P> const & x);
+
118 
+
129  template <typename T, precision P, template <typename, precision> class vecType>
+
130  GLM_FUNC_DECL vecType<T, P> atan(vecType<T, P> const & y, vecType<T, P> const & x);
+
131 
+
139  template <typename T, precision P, template <typename, precision> class vecType>
+
140  GLM_FUNC_DECL vecType<T, P> atan(vecType<T, P> const & y_over_x);
+
141 
+
148  template <typename T, precision P, template <typename, precision> class vecType>
+
149  GLM_FUNC_DECL vecType<T, P> sinh(vecType<T, P> const & angle);
+
150 
+
157  template <typename T, precision P, template <typename, precision> class vecType>
+
158  GLM_FUNC_DECL vecType<T, P> cosh(vecType<T, P> const & angle);
+
159 
+
166  template <typename T, precision P, template <typename, precision> class vecType>
+
167  GLM_FUNC_DECL vecType<T, P> tanh(vecType<T, P> const & angle);
+
168 
+
175  template <typename T, precision P, template <typename, precision> class vecType>
+
176  GLM_FUNC_DECL vecType<T, P> asinh(vecType<T, P> const & x);
+
177 
+
185  template <typename T, precision P, template <typename, precision> class vecType>
+
186  GLM_FUNC_DECL vecType<T, P> acosh(vecType<T, P> const & x);
+
187 
+
195  template <typename T, precision P, template <typename, precision> class vecType>
+
196  GLM_FUNC_DECL vecType<T, P> atanh(vecType<T, P> const & x);
+
197 
+
199 }//namespace glm
+
200 
+
201 #include "func_trigonometric.inl"
+
GLM_FUNC_DECL vecType< T, P > acosh(vecType< T, P > const &x)
Arc hyperbolic cosine; returns the non-negative inverse of cosh.
+
GLM_FUNC_DECL vecType< T, P > sin(vecType< T, P > const &angle)
The standard trigonometric sine function.
+
GLM_FUNC_DECL vecType< T, P > atan(vecType< T, P > const &y_over_x)
Arc tangent.
+
GLM_FUNC_DECL vecType< T, P > cosh(vecType< T, P > const &angle)
Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.
+
Definition: _noise.hpp:31
+
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 > asinh(vecType< T, P > const &x)
Arc hyperbolic sine; returns the inverse of sinh.
+
GLM_FUNC_DECL vecType< T, P > atanh(vecType< T, P > const &x)
Arc hyperbolic tangent; returns the inverse of tanh.
+
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 > radians(vecType< T, P > const &degrees)
Converts degrees to radians and returns the result.
+
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 > degrees(vecType< T, P > const &radians)
Converts radians to degrees and returns the result.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL vecType< T, P > tan(vecType< T, P > const &angle)
The standard trigonometric tangent function.
+
GLM_FUNC_DECL vecType< T, P > cos(vecType< T, P > const &angle)
The standard trigonometric cosine function.
diff --git a/doc/api/a00036.html b/doc/api/a00036.html new file mode 100644 index 00000000..d3360b7c --- /dev/null +++ b/doc/api/a00036.html @@ -0,0 +1,106 @@ + + + + + + +0.9.6: func_vector_relational.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
func_vector_relational.hpp File Reference
+
+
+ +

Go to the source code of this file.

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

+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:

+

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
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 func_vector_relational.hpp.

+
+ + + + diff --git a/doc/api/a00036_source.html b/doc/api/a00036_source.html index ac54cfd7..af342ad6 100644 --- a/doc/api/a00036_source.html +++ b/doc/api/a00036_source.html @@ -3,8 +3,8 @@ - -GLM: func_matrix.hpp Source File + +0.9.6: func_vector_relational.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,124 +41,71 @@
-
func_matrix.hpp
+
func_vector_relational.hpp
-
1 
-
40 #ifndef GLM_CORE_func_matrix
-
41 #define GLM_CORE_func_matrix
-
42 
-
43 // Dependencies
-
44 #include "../detail/precision.hpp"
-
45 #include "../detail/setup.hpp"
-
46 #include "../detail/type_mat.hpp"
-
47 #include "../vec2.hpp"
-
48 #include "../vec3.hpp"
-
49 #include "../vec4.hpp"
-
50 #include "../mat2x2.hpp"
-
51 #include "../mat2x3.hpp"
-
52 #include "../mat2x4.hpp"
-
53 #include "../mat3x2.hpp"
-
54 #include "../mat3x3.hpp"
-
55 #include "../mat3x4.hpp"
-
56 #include "../mat4x2.hpp"
-
57 #include "../mat4x3.hpp"
-
58 #include "../mat4x4.hpp"
+Go to the documentation of this file.
1 
+
41 #pragma once
+
42 
+
43 #include "precision.hpp"
+
44 #include "setup.hpp"
+
45 
+
46 namespace glm
+
47 {
+
50 
+
57  template <typename T, precision P, template <typename, precision> class vecType>
+
58  GLM_FUNC_DECL vecType<bool, P> lessThan(vecType<T, P> const & x, vecType<T, P> const & y);
59 
-
60 namespace glm{
-
61 namespace detail
-
62 {
-
63  template <typename T, precision P>
-
64  struct outerProduct_trait<T, P, tvec2, tvec2>
-
65  {
-
66  typedef tmat2x2<T, P> type;
-
67  };
+
66  template <typename T, precision P, template <typename, precision> class vecType>
+
67  GLM_FUNC_DECL vecType<bool, P> lessThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
68 
-
69  template <typename T, precision P>
-
70  struct outerProduct_trait<T, P, tvec2, tvec3>
-
71  {
-
72  typedef tmat2x3<T, P> type;
-
73  };
-
74 
-
75  template <typename T, precision P>
-
76  struct outerProduct_trait<T, P, tvec2, tvec4>
-
77  {
-
78  typedef tmat2x4<T, P> type;
-
79  };
-
80 
-
81  template <typename T, precision P>
-
82  struct outerProduct_trait<T, P, tvec3, tvec2>
-
83  {
-
84  typedef tmat3x2<T, P> type;
-
85  };
+
75  template <typename T, precision P, template <typename, precision> class vecType>
+
76  GLM_FUNC_DECL vecType<bool, P> greaterThan(vecType<T, P> const & x, vecType<T, P> const & y);
+
77 
+
84  template <typename T, precision P, template <typename, precision> class vecType>
+
85  GLM_FUNC_DECL vecType<bool, P> greaterThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
86 
-
87  template <typename T, precision P>
-
88  struct outerProduct_trait<T, P, tvec3, tvec3>
-
89  {
-
90  typedef tmat3x3<T, P> type;
-
91  };
-
92 
-
93  template <typename T, precision P>
-
94  struct outerProduct_trait<T, P, tvec3, tvec4>
-
95  {
-
96  typedef tmat3x4<T, P> type;
-
97  };
-
98 
-
99  template <typename T, precision P>
-
100  struct outerProduct_trait<T, P, tvec4, tvec2>
-
101  {
-
102  typedef tmat4x2<T, P> type;
-
103  };
+
93  template <typename T, precision P, template <typename, precision> class vecType>
+
94  GLM_FUNC_DECL vecType<bool, P> equal(vecType<T, P> const & x, vecType<T, P> const & y);
+
95 
+
102  template <typename T, precision P, template <typename, precision> class vecType>
+
103  GLM_FUNC_DECL vecType<bool, P> notEqual(vecType<T, P> const & x, vecType<T, P> const & y);
104 
-
105  template <typename T, precision P>
-
106  struct outerProduct_trait<T, P, tvec4, tvec3>
-
107  {
-
108  typedef tmat4x3<T, P> type;
-
109  };
-
110 
-
111  template <typename T, precision P>
-
112  struct outerProduct_trait<T, P, tvec4, tvec4>
-
113  {
-
114  typedef tmat4x4<T, P> type;
-
115  };
-
116 
-
117 }//namespace detail
-
118 
-
121 
-
129  template <typename T, precision P, template <typename, precision> class matType>
-
130  GLM_FUNC_DECL matType<T, P> matrixCompMult(matType<T, P> const & x, matType<T, P> const & y);
-
131 
-
142  template <typename T, precision P, template <typename, precision> class vecTypeA, template <typename, precision> class vecTypeB>
-
143  GLM_FUNC_DECL typename detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type outerProduct(vecTypeA<T, P> const & c, vecTypeB<T, P> const & r);
-
144 
-
151 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC11))
-
152  template <typename T, precision P, template <typename, precision> class matType>
-
153  GLM_FUNC_DECL typename matType<T, P>::transpose_type transpose(matType<T, P> const & x);
-
154 # endif
-
155 
-
162  template <typename T, precision P, template <typename, precision> class matType>
-
163  GLM_FUNC_DECL T determinant(matType<T, P> const & m);
-
164 
-
171  template <typename T, precision P, template <typename, precision> class matType>
-
172  GLM_FUNC_DECL matType<T, P> inverse(matType<T, P> const & m);
-
173 
-
175 }//namespace glm
-
176 
-
177 #include "func_matrix.inl"
-
178 
-
179 #endif//GLM_CORE_func_matrix
-
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
111  template <precision P, template <typename, precision> class vecType>
+
112  GLM_FUNC_DECL bool any(vecType<bool, P> const & v);
+
113 
+
120  template <precision P, template <typename, precision> class vecType>
+
121  GLM_FUNC_DECL bool all(vecType<bool, P> const & v);
+
122 
+
130  template <precision P, template <typename, precision> class vecType>
+
131  GLM_FUNC_DECL vecType<bool, P> not_(vecType<bool, P> const & v);
+
132 
+
134 }//namespace glm
+
135 
+
136 #include "func_vector_relational.inl"
+
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.
+
GLM_FUNC_DECL vecType< bool, P > not_(vecType< bool, P > const &v)
Returns the component-wise logical complement of x.
+
Definition: _noise.hpp:31
+
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)
+
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.
+
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 > equal(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.
diff --git a/doc/api/a00037.html b/doc/api/a00037.html new file mode 100644 index 00000000..25f2bb9c --- /dev/null +++ b/doc/api/a00037.html @@ -0,0 +1,985 @@ + + + + + + +0.9.6: fwd.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
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:

+

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
2013-03-30 / 2013-03-31
+
Author
Christophe Riccio
+ +

Definition in file fwd.hpp.

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

+

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
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file geometric.hpp.

+
+ + + + diff --git a/doc/api/a00038_source.html b/doc/api/a00038_source.html index 72fa0e89..066e51e5 100644 --- a/doc/api/a00038_source.html +++ b/doc/api/a00038_source.html @@ -3,8 +3,8 @@ - -GLM: func_packing.hpp Source File + +0.9.6: geometric.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,75 +41,25 @@
-
func_packing.hpp
+
geometric.hpp
-
1 
-
36 #ifndef GLM_CORE_func_packing
-
37 #define GLM_CORE_func_packing
-
38 
-
39 #include "type_vec2.hpp"
-
40 #include "type_vec4.hpp"
-
41 
-
42 namespace glm
-
43 {
-
46 
-
58  GLM_FUNC_DECL uint packUnorm2x16(vec2 const & v);
-
59 
-
71  GLM_FUNC_DECL uint packSnorm2x16(vec2 const & v);
-
72 
-
84  GLM_FUNC_DECL uint packUnorm4x8(vec4 const & v);
-
85 
-
97  GLM_FUNC_DECL uint packSnorm4x8(vec4 const & v);
-
98 
-
110  GLM_FUNC_DECL vec2 unpackUnorm2x16(uint const & p);
-
111 
-
123  GLM_FUNC_DECL vec2 unpackSnorm2x16(uint const & p);
-
124 
-
136  GLM_FUNC_DECL vec4 unpackUnorm4x8(uint const & p);
-
137 
-
149  GLM_FUNC_DECL vec4 unpackSnorm4x8(uint const & p);
-
150 
-
159  GLM_FUNC_DECL double packDouble2x32(uvec2 const & v);
-
160 
-
168  GLM_FUNC_DECL uvec2 unpackDouble2x32(double const & v);
-
169 
-
178  GLM_FUNC_DECL uint packHalf2x16(vec2 const & v);
-
179 
-
188  GLM_FUNC_DECL vec2 unpackHalf2x16(uint const & v);
-
189 
-
191 }//namespace glm
-
192 
-
193 #include "func_packing.inl"
-
194 
-
195 #endif//GLM_CORE_func_packing
-
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 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 vec2 unpackHalf2x16(uint const &v)
Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned...
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
-
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...
-
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 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 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 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 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.
-
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:472
-
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 uint packHalf2x16(vec2 const &v)
Returns an unsigned integer obtained by converting the components of a two-component floating-point v...
-
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:388
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+ +
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00039.html b/doc/api/a00039.html new file mode 100644 index 00000000..733bc21f --- /dev/null +++ b/doc/api/a00039.html @@ -0,0 +1,78 @@ + + + + + + +0.9.6: glm.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
glm.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:

+

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.

+
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.

+

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 glm.hpp.

+
+ + + + diff --git a/doc/api/a00039_source.html b/doc/api/a00039_source.html index 3d4b36b4..709cdebd 100644 --- a/doc/api/a00039_source.html +++ b/doc/api/a00039_source.html @@ -3,8 +3,8 @@ - -GLM: func_trigonometric.hpp Source File + +0.9.6: glm.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,94 +41,79 @@
-
func_trigonometric.hpp
+
glm.hpp
-
1 
-
40 #ifndef GLM_CORE_func_trigonometric
-
41 #define GLM_CORE_func_trigonometric
-
42 
-
43 namespace glm
-
44 {
-
47 
-
54  template <typename genType>
-
55  GLM_FUNC_DECL genType radians(genType const & degrees);
-
56 
-
63  template <typename genType>
-
64  GLM_FUNC_DECL genType degrees(genType const & radians);
-
65 
-
73  template <typename genType>
-
74  GLM_FUNC_DECL genType sin(genType const & angle);
-
75 
-
83  template <typename genType>
-
84  GLM_FUNC_DECL genType cos(genType const & angle);
-
85 
-
92  template <typename genType>
-
93  GLM_FUNC_DECL genType tan(genType const & angle);
-
94 
-
103  template <typename genType>
-
104  GLM_FUNC_DECL genType asin(genType const & x);
+Go to the documentation of this file.
1 
+
77 #include "detail/_fixes.hpp"
+
78 
+
79 #pragma once
+
80 
+
81 #include <cmath>
+
82 #include <climits>
+
83 #include <cfloat>
+
84 #include <limits>
+
85 #include <cassert>
+
86 #include "fwd.hpp"
+
87 
+
88 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))
+
89 # define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED
+
90 # pragma message("GLM: Core library included")
+
91 #endif//GLM_MESSAGE
+
92 
+
93 #include "vec2.hpp"
+
94 #include "vec3.hpp"
+
95 #include "vec4.hpp"
+
96 #include "mat2x2.hpp"
+
97 #include "mat2x3.hpp"
+
98 #include "mat2x4.hpp"
+
99 #include "mat3x2.hpp"
+
100 #include "mat3x3.hpp"
+
101 #include "mat3x4.hpp"
+
102 #include "mat4x2.hpp"
+
103 #include "mat4x3.hpp"
+
104 #include "mat4x4.hpp"
105 
-
114  template <typename genType>
-
115  GLM_FUNC_DECL genType acos(genType const & x);
-
116 
-
127  template <typename genType>
-
128  GLM_FUNC_DECL genType atan(genType const & y, genType const & x);
-
129 
-
137  template <typename genType>
-
138  GLM_FUNC_DECL genType atan(genType const & y_over_x);
-
139 
-
146  template <typename genType>
-
147  GLM_FUNC_DECL genType sinh(genType const & angle);
-
148 
-
155  template <typename genType>
-
156  GLM_FUNC_DECL genType cosh(genType const & angle);
-
157 
-
164  template <typename genType>
-
165  GLM_FUNC_DECL genType tanh(genType const & angle);
-
166 
-
173  template <typename genType>
-
174  GLM_FUNC_DECL genType asinh(genType const & x);
-
175 
-
183  template <typename genType>
-
184  GLM_FUNC_DECL genType acosh(genType const & x);
-
185 
-
193  template <typename genType>
-
194  GLM_FUNC_DECL genType atanh(genType const & x);
-
195 
-
197 }//namespace glm
-
198 
-
199 #include "func_trigonometric.inl"
-
200 
-
201 #endif//GLM_CORE_func_trigonometric
-
202 
-
203 
-
GLM_FUNC_DECL genType sinh(genType const &angle)
Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.
-
GLM_FUNC_DECL genType cos(genType const &angle)
The standard trigonometric cosine function.
-
GLM_FUNC_DECL genType atan(genType const &y, genType const &x)
Arc tangent.
-
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL genType radians(genType const &degrees)
Converts degrees to radians and returns the result.
-
GLM_FUNC_DECL genType tanh(genType const &angle)
Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
-
GLM_FUNC_DECL genType acos(genType const &x)
Arc cosine.
-
GLM_FUNC_DECL genType sin(genType const &angle)
The standard trigonometric sine function.
-
GLM_FUNC_DECL genType cosh(genType const &angle)
Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.
-
GLM_FUNC_DECL genType tan(genType const &angle)
The standard trigonometric tangent function.
-
GLM_FUNC_DECL genType acosh(genType const &x)
Arc hyperbolic cosine; returns the non-negative inverse of cosh.
-
GLM_FUNC_DECL genType asinh(genType const &x)
Arc hyperbolic sine; returns the inverse of sinh.
-
GLM_FUNC_DECL genType asin(genType const &x)
Arc sine.
-
GLM_FUNC_DECL genType degrees(genType const &radians)
Converts radians to degrees and returns the result.
-
GLM_FUNC_DECL genType atanh(genType const &x)
Arc hyperbolic tangent; returns the inverse of tanh.
+
106 #include "trigonometric.hpp"
+
107 #include "exponential.hpp"
+
108 #include "common.hpp"
+
109 #include "packing.hpp"
+
110 #include "geometric.hpp"
+
111 #include "matrix.hpp"
+
112 #include "vector_relational.hpp"
+
113 #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/a00040.html b/doc/api/a00040.html new file mode 100644 index 00000000..439fcf9a --- /dev/null +++ b/doc/api/a00040.html @@ -0,0 +1,87 @@ + + + + + + +0.9.6: gradient_paint.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
gradient_paint.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:

+

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_GTX_gradient_paint

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

Definition in file gradient_paint.hpp.

+
+ + + + diff --git a/doc/api/a00040_source.html b/doc/api/a00040_source.html index b22cc884..252e6eeb 100644 --- a/doc/api/a00040_source.html +++ b/doc/api/a00040_source.html @@ -3,8 +3,8 @@ - -GLM: func_vector_relational.hpp Source File + +0.9.6: gradient_paint.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,75 +41,53 @@
-
func_vector_relational.hpp
+
gradient_paint.hpp
-
1 
-
41 #ifndef GLM_CORE_func_vector_relational
-
42 #define GLM_CORE_func_vector_relational
-
43 
-
44 #include "precision.hpp"
-
45 #include "setup.hpp"
-
46 
-
47 #if !((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER <= GLM_COMPILER_VC10)) // Workaround a Visual C++ bug
-
48 
-
49 namespace glm
-
50 {
-
53 
-
60  // TODO: Mismatched
-
61  //template <typename T, precision P, template <typename, precision> class vecType>
-
62  //GLM_FUNC_DECL typename vecType<T, P>::bool_type 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 typename vecType<T, P>::bool_type lessThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 #include "../gtx/optimum_pow.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_gradient_paint extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  GLM_FUNC_DECL T radialGradient(
+
57  tvec2<T, P> const & Center,
+
58  T const & Radius,
+
59  tvec2<T, P> const & Focal,
+
60  tvec2<T, P> const & Position);
+
61 
+
64  template <typename T, precision P>
+
65  GLM_FUNC_DECL T linearGradient(
+
66  tvec2<T, P> const & Point0,
+
67  tvec2<T, P> const & Point1,
+
68  tvec2<T, P> const & Position);
+
69 
+
71 }// namespace glm
72 
-
79  template <typename T, precision P, template <typename, precision> class vecType>
-
80  GLM_FUNC_DECL typename vecType<T, P>::bool_type greaterThan(vecType<T, P> const & x, vecType<T, P> const & y);
-
81 
-
88  template <typename T, precision P, template <typename, precision> class vecType>
-
89  GLM_FUNC_DECL typename vecType<T, P>::bool_type greaterThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
-
90 
-
97  //TODO: conflicts with definision
-
98  //template <typename T, precision P, template <typename, precision> class vecType>
-
99  //GLM_FUNC_DECL typename vecType<T, P>::bool_type equal(vecType<T, P> const & x, vecType<T, P> const & y);
-
100 
-
107  template <typename T, precision P, template <typename, precision> class vecType>
-
108  GLM_FUNC_DECL typename vecType<T, P>::bool_type notEqual(vecType<T, P> const & x, vecType<T, P> const & y);
-
109 
-
116  template <precision P, template <typename, precision> class vecType>
-
117  GLM_FUNC_DECL bool any(vecType<bool, P> const & v);
-
118 
-
125  template <precision P, template <typename, precision> class vecType>
-
126  GLM_FUNC_DECL bool all(vecType<bool, P> const & v);
-
127 
-
135  template <precision P, template <typename, precision> class vecType>
-
136  GLM_FUNC_DECL vecType<bool, P> not_(vecType<bool, P> const & v);
-
137 
-
139 }//namespace glm
-
140 
-
141 #endif
-
142 
-
143 #include "func_vector_relational.inl"
-
144 
-
145 #endif//GLM_CORE_func_vector_relational
-
GLM_FUNC_DECL vecType< T, P >::bool_type notEqual(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 vecType< T, P >::bool_type greaterThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x &gt;= y.
-
GLM_FUNC_DECL vecType< bool, P > not_(vecType< bool, P > const &v)
Returns the component-wise logical complement of x.
-
GLM_FUNC_DECL vecType< T, P >::bool_type greaterThan(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x &gt; y.
-
GLM_FUNC_DECL vecType< T, P >::bool_type lessThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison result of x &lt; y.
-
GLM_FUNC_DECL bool all(vecType< bool, P > const &v)
Returns true if all components of x are true.
+
73 #include "gradient_paint.inl"
+
Definition: _noise.hpp:31
+
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.
+
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.
diff --git a/doc/api/a00041.html b/doc/api/a00041.html index 9e87fa08..34432cc1 100644 --- a/doc/api/a00041.html +++ b/doc/api/a00041.html @@ -3,8 +3,8 @@ - -GLM: fwd.hpp File Reference + +0.9.6: handed_coordinate_space.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,1095 +41,45 @@
-Namespaces | -Typedefs
+Functions
-
fwd.hpp File Reference
+
handed_coordinate_space.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +

-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 detail::tquat< double,
-highp > 
highp_dquat
 
typedef float32 highp_f32
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef detail::tmat2x2< f32,
-highp > 
highp_f32mat2x2
 
typedef detail::tmat2x3< f32,
-highp > 
highp_f32mat2x3
 
typedef detail::tmat2x4< f32,
-highp > 
highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef detail::tmat3x2< f32,
-highp > 
highp_f32mat3x2
 
typedef detail::tmat3x3< f32,
-highp > 
highp_f32mat3x3
 
typedef detail::tmat3x4< f32,
-highp > 
highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef detail::tmat4x2< f32,
-highp > 
highp_f32mat4x2
 
typedef detail::tmat4x3< f32,
-highp > 
highp_f32mat4x3
 
typedef detail::tmat4x4< f32,
-highp > 
highp_f32mat4x4
 
typedef detail::tquat< f32, highp > highp_f32quat
 
typedef detail::tvec1< f32, highp > highp_f32vec1
 
typedef detail::tvec2< f32, highp > highp_f32vec2
 
typedef detail::tvec3< f32, highp > highp_f32vec3
 
typedef detail::tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef detail::tmat2x2< f64,
-highp > 
highp_f64mat2x2
 
typedef detail::tmat2x3< f64,
-highp > 
highp_f64mat2x3
 
typedef detail::tmat2x4< f64,
-highp > 
highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef detail::tmat3x2< f64,
-highp > 
highp_f64mat3x2
 
typedef detail::tmat3x3< f64,
-highp > 
highp_f64mat3x3
 
typedef detail::tmat3x4< f64,
-highp > 
highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef detail::tmat4x2< f64,
-highp > 
highp_f64mat4x2
 
typedef detail::tmat4x3< f64,
-highp > 
highp_f64mat4x3
 
typedef detail::tmat4x4< f64,
-highp > 
highp_f64mat4x4
 
typedef detail::tquat< f64, highp > highp_f64quat
 
typedef detail::tvec1< f64, highp > highp_f64vec1
 
typedef detail::tvec2< f64, highp > highp_f64vec2
 
typedef detail::tvec3< f64, highp > highp_f64vec3
 
typedef detail::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 detail::tmat2x2< f32,
-highp > 
highp_fmat2x2
 
typedef detail::tmat2x3< f32,
-highp > 
highp_fmat2x3
 
typedef detail::tmat2x4< f32,
-highp > 
highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef detail::tmat3x2< f32,
-highp > 
highp_fmat3x2
 
typedef detail::tmat3x3< f32,
-highp > 
highp_fmat3x3
 
typedef detail::tmat3x4< f32,
-highp > 
highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef detail::tmat4x2< f32,
-highp > 
highp_fmat4x2
 
typedef detail::tmat4x3< f32,
-highp > 
highp_fmat4x3
 
typedef detail::tmat4x4< f32,
-highp > 
highp_fmat4x4
 
typedef highp_quat highp_fquat
 
typedef detail::tvec1< float,
-highp > 
highp_fvec1
 
typedef detail::tvec2< float,
-highp > 
highp_fvec2
 
typedef detail::tvec3< float,
-highp > 
highp_fvec3
 
typedef detail::tvec4< float,
-highp > 
highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef detail::tvec1< i16, highp > highp_i16vec1
 
typedef detail::tvec2< i16, highp > highp_i16vec2
 
typedef detail::tvec3< i16, highp > highp_i16vec3
 
typedef detail::tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef detail::tvec1< i32, highp > highp_i32vec1
 
typedef detail::tvec2< i32, highp > highp_i32vec2
 
typedef detail::tvec3< i32, highp > highp_i32vec3
 
typedef detail::tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef detail::tvec1< i64, highp > highp_i64vec1
 
typedef detail::tvec2< i64, highp > highp_i64vec2
 
typedef detail::tvec3< i64, highp > highp_i64vec3
 
typedef detail::tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef detail::tvec1< i8, highp > highp_i8vec1
 
typedef detail::tvec2< i8, highp > highp_i8vec2
 
typedef detail::tvec3< i8, highp > highp_i8vec3
 
typedef detail::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::tquat< float,
-highp > 
highp_quat
 
typedef detail::uint16 highp_u16
 
typedef detail::tvec1< u16, highp > highp_u16vec1
 
typedef detail::tvec2< u16, highp > highp_u16vec2
 
typedef detail::tvec3< u16, highp > highp_u16vec3
 
typedef detail::tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef detail::tvec1< u32, highp > highp_u32vec1
 
typedef detail::tvec2< u32, highp > highp_u32vec2
 
typedef detail::tvec3< u32, highp > highp_u32vec3
 
typedef detail::tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef detail::tvec1< u64, highp > highp_u64vec1
 
typedef detail::tvec2< u64, highp > highp_u64vec2
 
typedef detail::tvec3< u64, highp > highp_u64vec3
 
typedef detail::tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef detail::tvec1< u8, highp > highp_u8vec1
 
typedef detail::tvec2< u8, highp > highp_u8vec2
 
typedef detail::tvec3< u8, highp > highp_u8vec3
 
typedef detail::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 detail::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 detail::tquat< double,
-lowp > 
lowp_dquat
 
typedef float32 lowp_f32
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef detail::tmat2x2< f32,
-lowp > 
lowp_f32mat2x2
 
typedef detail::tmat2x3< f32,
-lowp > 
lowp_f32mat2x3
 
typedef detail::tmat2x4< f32,
-lowp > 
lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef detail::tmat3x2< f32,
-lowp > 
lowp_f32mat3x2
 
typedef detail::tmat3x3< f32,
-lowp > 
lowp_f32mat3x3
 
typedef detail::tmat3x4< f32,
-lowp > 
lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef detail::tmat4x2< f32,
-lowp > 
lowp_f32mat4x2
 
typedef detail::tmat4x3< f32,
-lowp > 
lowp_f32mat4x3
 
typedef detail::tmat4x4< f32,
-lowp > 
lowp_f32mat4x4
 
typedef detail::tquat< f32, lowp > lowp_f32quat
 
typedef detail::tvec1< f32, lowp > lowp_f32vec1
 
typedef detail::tvec2< f32, lowp > lowp_f32vec2
 
typedef detail::tvec3< f32, lowp > lowp_f32vec3
 
typedef detail::tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef detail::tmat2x2< f64,
-lowp > 
lowp_f64mat2x2
 
typedef detail::tmat2x3< f64,
-lowp > 
lowp_f64mat2x3
 
typedef detail::tmat2x4< f64,
-lowp > 
lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef detail::tmat3x2< f64,
-lowp > 
lowp_f64mat3x2
 
typedef detail::tmat3x3< f64,
-lowp > 
lowp_f64mat3x3
 
typedef detail::tmat3x4< f64,
-lowp > 
lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef detail::tmat4x2< f64,
-lowp > 
lowp_f64mat4x2
 
typedef detail::tmat4x3< f64,
-lowp > 
lowp_f64mat4x3
 
typedef detail::tmat4x4< f64,
-lowp > 
lowp_f64mat4x4
 
typedef detail::tquat< f64, lowp > lowp_f64quat
 
typedef detail::tvec1< f64, lowp > lowp_f64vec1
 
typedef detail::tvec2< f64, lowp > lowp_f64vec2
 
typedef detail::tvec3< f64, lowp > lowp_f64vec3
 
typedef detail::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 detail::tmat2x2< f32,
-lowp > 
lowp_fmat2x2
 
typedef detail::tmat2x3< f32,
-lowp > 
lowp_fmat2x3
 
typedef detail::tmat2x4< f32,
-lowp > 
lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef detail::tmat3x2< f32,
-lowp > 
lowp_fmat3x2
 
typedef detail::tmat3x3< f32,
-lowp > 
lowp_fmat3x3
 
typedef detail::tmat3x4< f32,
-lowp > 
lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef detail::tmat4x2< f32,
-lowp > 
lowp_fmat4x2
 
typedef detail::tmat4x3< f32,
-lowp > 
lowp_fmat4x3
 
typedef detail::tmat4x4< f32,
-lowp > 
lowp_fmat4x4
 
typedef lowp_quat lowp_fquat
 
typedef detail::tvec1< float,
-lowp > 
lowp_fvec1
 
typedef detail::tvec2< float,
-lowp > 
lowp_fvec2
 
typedef detail::tvec3< float,
-lowp > 
lowp_fvec3
 
typedef detail::tvec4< float,
-lowp > 
lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef detail::tvec1< i16, lowp > lowp_i16vec1
 
typedef detail::tvec2< i16, lowp > lowp_i16vec2
 
typedef detail::tvec3< i16, lowp > lowp_i16vec3
 
typedef detail::tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef detail::tvec1< i32, lowp > lowp_i32vec1
 
typedef detail::tvec2< i32, lowp > lowp_i32vec2
 
typedef detail::tvec3< i32, lowp > lowp_i32vec3
 
typedef detail::tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef detail::tvec1< i64, lowp > lowp_i64vec1
 
typedef detail::tvec2< i64, lowp > lowp_i64vec2
 
typedef detail::tvec3< i64, lowp > lowp_i64vec3
 
typedef detail::tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef detail::tvec1< i8, lowp > lowp_i8vec1
 
typedef detail::tvec2< i8, lowp > lowp_i8vec2
 
typedef detail::tvec3< i8, lowp > lowp_i8vec3
 
typedef detail::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::tquat< float,
-lowp > 
lowp_quat
 
typedef detail::uint16 lowp_u16
 
typedef detail::tvec1< u16, lowp > lowp_u16vec1
 
typedef detail::tvec2< u16, lowp > lowp_u16vec2
 
typedef detail::tvec3< u16, lowp > lowp_u16vec3
 
typedef detail::tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef detail::tvec1< u32, lowp > lowp_u32vec1
 
typedef detail::tvec2< u32, lowp > lowp_u32vec2
 
typedef detail::tvec3< u32, lowp > lowp_u32vec3
 
typedef detail::tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef detail::tvec1< u64, lowp > lowp_u64vec1
 
typedef detail::tvec2< u64, lowp > lowp_u64vec2
 
typedef detail::tvec3< u64, lowp > lowp_u64vec3
 
typedef detail::tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef detail::tvec1< u8, lowp > lowp_u8vec1
 
typedef detail::tvec2< u8, lowp > lowp_u8vec2
 
typedef detail::tvec3< u8, lowp > lowp_u8vec3
 
typedef detail::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 detail::tvec1< float,
-lowp > 
lowp_vec1
 
typedef detail::tquat< double,
-mediump > 
mediump_dquat
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef detail::tmat2x2< f32,
-mediump > 
mediump_f32mat2x2
 
typedef detail::tmat2x3< f32,
-mediump > 
mediump_f32mat2x3
 
typedef detail::tmat2x4< f32,
-mediump > 
mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef detail::tmat3x2< f32,
-mediump > 
mediump_f32mat3x2
 
typedef detail::tmat3x3< f32,
-mediump > 
mediump_f32mat3x3
 
typedef detail::tmat3x4< f32,
-mediump > 
mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef detail::tmat4x2< f32,
-mediump > 
mediump_f32mat4x2
 
typedef detail::tmat4x3< f32,
-mediump > 
mediump_f32mat4x3
 
typedef detail::tmat4x4< f32,
-mediump > 
mediump_f32mat4x4
 
typedef detail::tquat< f32,
-mediump > 
mediump_f32quat
 
typedef detail::tvec1< f32,
-mediump > 
mediump_f32vec1
 
typedef detail::tvec2< f32,
-mediump > 
mediump_f32vec2
 
typedef detail::tvec3< f32,
-mediump > 
mediump_f32vec3
 
typedef detail::tvec4< f32,
-mediump > 
mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef detail::tmat2x2< f64,
-mediump > 
mediump_f64mat2x2
 
typedef detail::tmat2x3< f64,
-mediump > 
mediump_f64mat2x3
 
typedef detail::tmat2x4< f64,
-mediump > 
mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef detail::tmat3x2< f64,
-mediump > 
mediump_f64mat3x2
 
typedef detail::tmat3x3< f64,
-mediump > 
mediump_f64mat3x3
 
typedef detail::tmat3x4< f64,
-mediump > 
mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef detail::tmat4x2< f64,
-mediump > 
mediump_f64mat4x2
 
typedef detail::tmat4x3< f64,
-mediump > 
mediump_f64mat4x3
 
typedef detail::tmat4x4< f64,
-mediump > 
mediump_f64mat4x4
 
typedef detail::tquat< f64,
-mediump > 
mediump_f64quat
 
typedef detail::tvec1< f64,
-mediump > 
mediump_f64vec1
 
typedef detail::tvec2< f64,
-mediump > 
mediump_f64vec2
 
typedef detail::tvec3< f64,
-mediump > 
mediump_f64vec3
 
typedef detail::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 detail::tmat2x2< f32,
-mediump > 
mediump_fmat2x2
 
typedef detail::tmat2x3< f32,
-mediump > 
mediump_fmat2x3
 
typedef detail::tmat2x4< f32,
-mediump > 
mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef detail::tmat3x2< f32,
-mediump > 
mediump_fmat3x2
 
typedef detail::tmat3x3< f32,
-mediump > 
mediump_fmat3x3
 
typedef detail::tmat3x4< f32,
-mediump > 
mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef detail::tmat4x2< f32,
-mediump > 
mediump_fmat4x2
 
typedef detail::tmat4x3< f32,
-mediump > 
mediump_fmat4x3
 
typedef detail::tmat4x4< f32,
-mediump > 
mediump_fmat4x4
 
typedef mediump_quat mediump_fquat
 
typedef detail::tvec1< float,
-mediump > 
mediump_fvec1
 
typedef detail::tvec2< float,
-mediump > 
mediump_fvec2
 
typedef detail::tvec3< float,
-mediump > 
mediump_fvec3
 
typedef detail::tvec4< float,
-mediump > 
mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef detail::tvec1< i16,
-mediump > 
mediump_i16vec1
 
typedef detail::tvec2< i16,
-mediump > 
mediump_i16vec2
 
typedef detail::tvec3< i16,
-mediump > 
mediump_i16vec3
 
typedef detail::tvec4< i16,
-mediump > 
mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef detail::tvec1< i32,
-mediump > 
mediump_i32vec1
 
typedef detail::tvec2< i32,
-mediump > 
mediump_i32vec2
 
typedef detail::tvec3< i32,
-mediump > 
mediump_i32vec3
 
typedef detail::tvec4< i32,
-mediump > 
mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef detail::tvec1< i64,
-mediump > 
mediump_i64vec1
 
typedef detail::tvec2< i64,
-mediump > 
mediump_i64vec2
 
typedef detail::tvec3< i64,
-mediump > 
mediump_i64vec3
 
typedef detail::tvec4< i64,
-mediump > 
mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef detail::tvec1< i8,
-mediump > 
mediump_i8vec1
 
typedef detail::tvec2< i8,
-mediump > 
mediump_i8vec2
 
typedef detail::tvec3< i8,
-mediump > 
mediump_i8vec3
 
typedef detail::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::tquat< float,
-mediump > 
mediump_quat
 
typedef detail::uint16 mediump_u16
 
typedef detail::tvec1< u16,
-mediump > 
mediump_u16vec1
 
typedef detail::tvec2< u16,
-mediump > 
mediump_u16vec2
 
typedef detail::tvec3< u16,
-mediump > 
mediump_u16vec3
 
typedef detail::tvec4< u16,
-mediump > 
mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef detail::tvec1< u32,
-mediump > 
mediump_u32vec1
 
typedef detail::tvec2< u32,
-mediump > 
mediump_u32vec2
 
typedef detail::tvec3< u32,
-mediump > 
mediump_u32vec3
 
typedef detail::tvec4< u32,
-mediump > 
mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef detail::tvec1< u64,
-mediump > 
mediump_u64vec1
 
typedef detail::tvec2< u64,
-mediump > 
mediump_u64vec2
 
typedef detail::tvec3< u64,
-mediump > 
mediump_u64vec3
 
typedef detail::tvec4< u64,
-mediump > 
mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef detail::tvec1< u8,
-mediump > 
mediump_u8vec1
 
typedef detail::tvec2< u8,
-mediump > 
mediump_u8vec2
 
typedef detail::tvec3< u8,
-mediump > 
mediump_u8vec3
 
typedef detail::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 detail::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<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:

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
2013-03-30 / 2013-03-31
-
Author
Christophe Riccio
+

GLM_GTX_handed_coordinate_space

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

Definition in file fwd.hpp.

+

Definition in file handed_coordinate_space.hpp.

diff --git a/doc/api/a00041_source.html b/doc/api/a00041_source.html index cfc889b2..86c46c0d 100644 --- a/doc/api/a00041_source.html +++ b/doc/api/a00041_source.html @@ -3,8 +3,8 @@ - -GLM: fwd.hpp Source File + +0.9.6: handed_coordinate_space.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,1951 +41,51 @@
-
fwd.hpp
+
handed_coordinate_space.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_FWD_INCLUDED
-
30 #define GLM_FWD_INCLUDED
-
31 
-
32 #include "detail/type_int.hpp"
-
33 #include "detail/type_float.hpp"
-
34 #include "detail/type_vec.hpp"
-
35 #include "detail/type_mat.hpp"
-
36 
-
38 // GLM_GTC_quaternion
-
39 namespace glm{
-
40 namespace detail
-
41 {
-
42  template <typename T, precision P> struct tquat;
-
43 }//namespace detail
-
44 
-
45 
-
49  typedef detail::tquat<float, lowp> lowp_quat;
-
50 
-
54  typedef detail::tquat<float, mediump> mediump_quat;
-
55 
-
59  typedef detail::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 
- -
76 
- -
81 
- -
86 
-
90  typedef quat fquat;
-
91 
-
92 
-
96  typedef detail::tquat<double, lowp> lowp_dquat;
-
97 
-
101  typedef detail::tquat<double, mediump> mediump_dquat;
-
102 
-
106  typedef detail::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 
-
293  typedef detail::int8 int8_t;
-
294 
-
297  typedef detail::int16 int16_t;
-
298 
-
301  typedef detail::int32 int32_t;
-
302 
-
305  typedef detail::int64 int64_t;
-
306 
-
309  typedef detail::int8 i8;
-
310 
-
313  typedef detail::int16 i16;
-
314 
-
317  typedef detail::int32 i32;
-
318 
-
321  typedef detail::int64 i64;
-
322 
-
323 
-
324 
-
327  typedef detail::tvec1<i8, lowp> lowp_i8vec1;
-
328 
-
331  typedef detail::tvec2<i8, lowp> lowp_i8vec2;
-
332 
-
335  typedef detail::tvec3<i8, lowp> lowp_i8vec3;
-
336 
-
339  typedef detail::tvec4<i8, lowp> lowp_i8vec4;
-
340 
-
341 
-
344  typedef detail::tvec1<i8, mediump> mediump_i8vec1;
-
345 
-
348  typedef detail::tvec2<i8, mediump> mediump_i8vec2;
-
349 
-
352  typedef detail::tvec3<i8, mediump> mediump_i8vec3;
-
353 
-
356  typedef detail::tvec4<i8, mediump> mediump_i8vec4;
-
357 
-
358 
-
361  typedef detail::tvec1<i8, highp> highp_i8vec1;
-
362 
-
365  typedef detail::tvec2<i8, highp> highp_i8vec2;
-
366 
-
369  typedef detail::tvec3<i8, highp> highp_i8vec3;
-
370 
-
373  typedef detail::tvec4<i8, highp> highp_i8vec4;
-
374 
-
375 #if(defined(GLM_PRECISION_LOWP_INT))
-
376  typedef lowp_i8vec1 i8vec1;
-
377  typedef lowp_i8vec2 i8vec2;
-
378  typedef lowp_i8vec3 i8vec3;
-
379  typedef lowp_i8vec4 i8vec4;
-
380 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
381  typedef mediump_i8vec1 i8vec1;
-
382  typedef mediump_i8vec2 i8vec2;
-
383  typedef mediump_i8vec3 i8vec3;
-
384  typedef mediump_i8vec4 i8vec4;
-
385 #else
-
386  typedef highp_i8vec1 i8vec1;
-
389 
- -
393 
- -
397 
- -
401 #endif
-
402 
-
403 
-
406  typedef detail::tvec1<i16, lowp> lowp_i16vec1;
-
407 
-
410  typedef detail::tvec2<i16, lowp> lowp_i16vec2;
-
411 
-
414  typedef detail::tvec3<i16, lowp> lowp_i16vec3;
-
415 
-
418  typedef detail::tvec4<i16, lowp> lowp_i16vec4;
-
419 
-
420 
-
423  typedef detail::tvec1<i16, mediump> mediump_i16vec1;
-
424 
-
427  typedef detail::tvec2<i16, mediump> mediump_i16vec2;
-
428 
-
431  typedef detail::tvec3<i16, mediump> mediump_i16vec3;
-
432 
-
435  typedef detail::tvec4<i16, mediump> mediump_i16vec4;
-
436 
-
437 
-
440  typedef detail::tvec1<i16, highp> highp_i16vec1;
-
441 
-
444  typedef detail::tvec2<i16, highp> highp_i16vec2;
-
445 
-
448  typedef detail::tvec3<i16, highp> highp_i16vec3;
-
449 
-
452  typedef detail::tvec4<i16, highp> highp_i16vec4;
-
453 
-
454 
-
455 #if(defined(GLM_PRECISION_LOWP_INT))
-
456  typedef lowp_i16vec1 i16vec1;
-
457  typedef lowp_i16vec2 i16vec2;
-
458  typedef lowp_i16vec3 i16vec3;
-
459  typedef lowp_i16vec4 i16vec4;
-
460 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
461  typedef mediump_i16vec1 i16vec1;
-
462  typedef mediump_i16vec2 i16vec2;
-
463  typedef mediump_i16vec3 i16vec3;
-
464  typedef mediump_i16vec4 i16vec4;
-
465 #else
-
466  typedef highp_i16vec1 i16vec1;
-
469 
- -
473 
- -
477 
- -
481 #endif
-
482 
-
483 
-
486  typedef detail::tvec1<i32, lowp> lowp_i32vec1;
-
487 
-
490  typedef detail::tvec2<i32, lowp> lowp_i32vec2;
-
491 
-
494  typedef detail::tvec3<i32, lowp> lowp_i32vec3;
-
495 
-
498  typedef detail::tvec4<i32, lowp> lowp_i32vec4;
-
499 
-
500 
-
503  typedef detail::tvec1<i32, mediump> mediump_i32vec1;
-
504 
-
507  typedef detail::tvec2<i32, mediump> mediump_i32vec2;
-
508 
-
511  typedef detail::tvec3<i32, mediump> mediump_i32vec3;
-
512 
-
515  typedef detail::tvec4<i32, mediump> mediump_i32vec4;
-
516 
-
517 
-
520  typedef detail::tvec1<i32, highp> highp_i32vec1;
-
521 
-
524  typedef detail::tvec2<i32, highp> highp_i32vec2;
-
525 
-
528  typedef detail::tvec3<i32, highp> highp_i32vec3;
-
529 
-
532  typedef detail::tvec4<i32, highp> highp_i32vec4;
-
533 
-
534 #if(defined(GLM_PRECISION_LOWP_INT))
-
535  typedef lowp_i32vec1 i32vec1;
-
536  typedef lowp_i32vec2 i32vec2;
-
537  typedef lowp_i32vec3 i32vec3;
-
538  typedef lowp_i32vec4 i32vec4;
-
539 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
540  typedef mediump_i32vec1 i32vec1;
-
541  typedef mediump_i32vec2 i32vec2;
-
542  typedef mediump_i32vec3 i32vec3;
-
543  typedef mediump_i32vec4 i32vec4;
-
544 #else
-
545  typedef highp_i32vec1 i32vec1;
-
548 
- -
552 
- -
556 
- -
560 #endif
-
561 
-
562 
-
565  typedef detail::tvec1<i32, lowp> lowp_i32vec1;
-
566 
-
569  typedef detail::tvec2<i32, lowp> lowp_i32vec2;
-
570 
-
573  typedef detail::tvec3<i32, lowp> lowp_i32vec3;
-
574 
-
577  typedef detail::tvec4<i32, lowp> lowp_i32vec4;
-
578 
-
579 
-
582  typedef detail::tvec1<i32, mediump> mediump_i32vec1;
-
583 
-
586  typedef detail::tvec2<i32, mediump> mediump_i32vec2;
-
587 
-
590  typedef detail::tvec3<i32, mediump> mediump_i32vec3;
-
591 
-
594  typedef detail::tvec4<i32, mediump> mediump_i32vec4;
-
595 
-
596 
-
599  typedef detail::tvec1<i32, highp> highp_i32vec1;
-
600 
-
603  typedef detail::tvec2<i32, highp> highp_i32vec2;
-
604 
-
607  typedef detail::tvec3<i32, highp> highp_i32vec3;
-
608 
-
611  typedef detail::tvec4<i32, highp> highp_i32vec4;
-
612 
-
613 #if(defined(GLM_PRECISION_LOWP_INT))
-
614  typedef lowp_i32vec1 i32vec1;
-
615  typedef lowp_i32vec2 i32vec2;
-
616  typedef lowp_i32vec3 i32vec3;
-
617  typedef lowp_i32vec4 i32vec4;
-
618 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
619  typedef mediump_i32vec1 i32vec1;
-
620  typedef mediump_i32vec2 i32vec2;
-
621  typedef mediump_i32vec3 i32vec3;
-
622  typedef mediump_i32vec4 i32vec4;
-
623 #else
-
624  typedef highp_i32vec1 i32vec1;
-
627 
-
630  typedef highp_i32vec2 i32vec2;
-
631 
-
634  typedef highp_i32vec3 i32vec3;
-
635 
-
638  typedef highp_i32vec4 i32vec4;
-
639 #endif
-
640 
-
641 
-
642 
-
645  typedef detail::tvec1<i64, lowp> lowp_i64vec1;
-
646 
-
649  typedef detail::tvec2<i64, lowp> lowp_i64vec2;
-
650 
-
653  typedef detail::tvec3<i64, lowp> lowp_i64vec3;
-
654 
-
657  typedef detail::tvec4<i64, lowp> lowp_i64vec4;
-
658 
-
659 
-
662  typedef detail::tvec1<i64, mediump> mediump_i64vec1;
-
663 
-
666  typedef detail::tvec2<i64, mediump> mediump_i64vec2;
-
667 
-
670  typedef detail::tvec3<i64, mediump> mediump_i64vec3;
-
671 
-
674  typedef detail::tvec4<i64, mediump> mediump_i64vec4;
-
675 
-
676 
-
679  typedef detail::tvec1<i64, highp> highp_i64vec1;
-
680 
-
683  typedef detail::tvec2<i64, highp> highp_i64vec2;
-
684 
-
687  typedef detail::tvec3<i64, highp> highp_i64vec3;
-
688 
-
691  typedef detail::tvec4<i64, highp> highp_i64vec4;
-
692 
-
693 #if(defined(GLM_PRECISION_LOWP_INT))
-
694  typedef lowp_i64vec1 i64vec1;
-
695  typedef lowp_i64vec2 i64vec2;
-
696  typedef lowp_i64vec3 i64vec3;
-
697  typedef lowp_i64vec4 i64vec4;
-
698 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
699  typedef mediump_i64vec1 i64vec1;
-
700  typedef mediump_i64vec2 i64vec2;
-
701  typedef mediump_i64vec3 i64vec3;
-
702  typedef mediump_i64vec4 i64vec4;
-
703 #else
-
704  typedef highp_i64vec1 i64vec1;
-
707 
- -
711 
- -
715 
- -
719 #endif
-
720 
-
721 
-
723  // Unsigned int vector types
-
724 
-
727  typedef detail::uint8 lowp_uint8;
-
728 
-
731  typedef detail::uint16 lowp_uint16;
-
732 
-
735  typedef detail::uint32 lowp_uint32;
-
736 
-
739  typedef detail::uint64 lowp_uint64;
-
740 
-
741 
-
744  typedef detail::uint8 lowp_uint8_t;
-
745 
-
748  typedef detail::uint16 lowp_uint16_t;
-
749 
-
752  typedef detail::uint32 lowp_uint32_t;
-
753 
-
756  typedef detail::uint64 lowp_uint64_t;
-
757 
-
758 
-
761  typedef detail::uint8 lowp_u8;
-
762 
-
765  typedef detail::uint16 lowp_u16;
-
766 
-
769  typedef detail::uint32 lowp_u32;
-
770 
-
773  typedef detail::uint64 lowp_u64;
-
774 
-
775 
-
776 
-
779  typedef detail::uint8 mediump_uint8;
-
780 
-
783  typedef detail::uint16 mediump_uint16;
-
784 
-
787  typedef detail::uint32 mediump_uint32;
-
788 
-
791  typedef detail::uint64 mediump_uint64;
-
792 
-
795  typedef detail::uint8 mediump_uint8_t;
-
796 
-
799  typedef detail::uint16 mediump_uint16_t;
-
800 
-
803  typedef detail::uint32 mediump_uint32_t;
-
804 
-
807  typedef detail::uint64 mediump_uint64_t;
-
808 
-
811  typedef detail::uint8 mediump_u8;
-
812 
-
815  typedef detail::uint16 mediump_u16;
-
816 
-
819  typedef detail::uint32 mediump_u32;
-
820 
-
823  typedef detail::uint64 mediump_u64;
-
824 
-
825 
-
826 
-
829  typedef detail::uint8 highp_uint8;
-
830 
-
833  typedef detail::uint16 highp_uint16;
-
834 
-
837  typedef detail::uint32 highp_uint32;
-
838 
-
841  typedef detail::uint64 highp_uint64;
-
842 
-
845  typedef detail::uint8 highp_uint8_t;
-
846 
-
849  typedef detail::uint16 highp_uint16_t;
-
850 
-
853  typedef detail::uint32 highp_uint32_t;
-
854 
-
857  typedef detail::uint64 highp_uint64_t;
-
858 
-
861  typedef detail::uint8 highp_u8;
-
862 
-
865  typedef detail::uint16 highp_u16;
-
866 
-
869  typedef detail::uint32 highp_u32;
-
870 
-
873  typedef detail::uint64 highp_u64;
-
874 
-
875 
-
876 
-
879  typedef detail::uint8 uint8;
-
880 
-
883  typedef detail::uint16 uint16;
-
884 
-
887  typedef detail::uint32 uint32;
-
888 
-
891  typedef detail::uint64 uint64;
-
892 
-
895  typedef detail::uint8 uint8_t;
-
896 
-
899  typedef detail::uint16 uint16_t;
-
900 
-
903  typedef detail::uint32 uint32_t;
-
904 
-
907  typedef detail::uint64 uint64_t;
-
908 
-
911  typedef detail::uint8 u8;
-
912 
-
915  typedef detail::uint16 u16;
-
916 
-
919  typedef detail::uint32 u32;
-
920 
-
923  typedef detail::uint64 u64;
-
924 
-
925 
-
926 
-
927 
-
930  typedef detail::tvec1<u8, lowp> lowp_u8vec1;
-
931 
-
934  typedef detail::tvec2<u8, lowp> lowp_u8vec2;
-
935 
-
938  typedef detail::tvec3<u8, lowp> lowp_u8vec3;
-
939 
-
942  typedef detail::tvec4<u8, lowp> lowp_u8vec4;
-
943 
-
944 
-
947  typedef detail::tvec1<u8, mediump> mediump_u8vec1;
-
948 
-
951  typedef detail::tvec2<u8, mediump> mediump_u8vec2;
-
952 
-
955  typedef detail::tvec3<u8, mediump> mediump_u8vec3;
-
956 
-
959  typedef detail::tvec4<u8, mediump> mediump_u8vec4;
-
960 
-
961 
-
964  typedef detail::tvec1<u8, highp> highp_u8vec1;
-
965 
-
968  typedef detail::tvec2<u8, highp> highp_u8vec2;
-
969 
-
972  typedef detail::tvec3<u8, highp> highp_u8vec3;
-
973 
-
976  typedef detail::tvec4<u8, highp> highp_u8vec4;
-
977 
-
978 #if(defined(GLM_PRECISION_LOWP_INT))
-
979  typedef lowp_u8vec1 u8vec1;
-
980  typedef lowp_u8vec2 u8vec2;
-
981  typedef lowp_u8vec3 u8vec3;
-
982  typedef lowp_u8vec4 u8vec4;
-
983 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
984  typedef mediump_u8vec1 u8vec1;
-
985  typedef mediump_u8vec2 u8vec2;
-
986  typedef mediump_u8vec3 u8vec3;
-
987  typedef mediump_u8vec4 u8vec4;
-
988 #else
-
989  typedef highp_u8vec1 u8vec1;
-
992 
- -
996 
- -
1000 
- -
1004 #endif
-
1005 
-
1006 
-
1009  typedef detail::tvec1<u16, lowp> lowp_u16vec1;
-
1010 
-
1013  typedef detail::tvec2<u16, lowp> lowp_u16vec2;
-
1014 
-
1017  typedef detail::tvec3<u16, lowp> lowp_u16vec3;
-
1018 
-
1021  typedef detail::tvec4<u16, lowp> lowp_u16vec4;
-
1022 
-
1023 
-
1026  typedef detail::tvec1<u16, mediump> mediump_u16vec1;
-
1027 
-
1030  typedef detail::tvec2<u16, mediump> mediump_u16vec2;
-
1031 
-
1034  typedef detail::tvec3<u16, mediump> mediump_u16vec3;
-
1035 
-
1038  typedef detail::tvec4<u16, mediump> mediump_u16vec4;
-
1039 
-
1040 
-
1043  typedef detail::tvec1<u16, highp> highp_u16vec1;
-
1044 
-
1047  typedef detail::tvec2<u16, highp> highp_u16vec2;
-
1048 
-
1051  typedef detail::tvec3<u16, highp> highp_u16vec3;
-
1052 
-
1055  typedef detail::tvec4<u16, highp> highp_u16vec4;
-
1056 
-
1057 
-
1058 #if(defined(GLM_PRECISION_LOWP_INT))
-
1059  typedef lowp_u16vec1 u16vec1;
-
1060  typedef lowp_u16vec2 u16vec2;
-
1061  typedef lowp_u16vec3 u16vec3;
-
1062  typedef lowp_u16vec4 u16vec4;
-
1063 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
1064  typedef mediump_u16vec1 u16vec1;
-
1065  typedef mediump_u16vec2 u16vec2;
-
1066  typedef mediump_u16vec3 u16vec3;
-
1067  typedef mediump_u16vec4 u16vec4;
-
1068 #else
-
1069  typedef highp_u16vec1 u16vec1;
-
1072 
- -
1076 
- -
1080 
- -
1084 #endif
-
1085 
-
1086 
-
1089  typedef detail::tvec1<u32, lowp> lowp_u32vec1;
-
1090 
-
1093  typedef detail::tvec2<u32, lowp> lowp_u32vec2;
-
1094 
-
1097  typedef detail::tvec3<u32, lowp> lowp_u32vec3;
-
1098 
-
1101  typedef detail::tvec4<u32, lowp> lowp_u32vec4;
-
1102 
-
1103 
-
1106  typedef detail::tvec1<u32, mediump> mediump_u32vec1;
-
1107 
-
1110  typedef detail::tvec2<u32, mediump> mediump_u32vec2;
-
1111 
-
1114  typedef detail::tvec3<u32, mediump> mediump_u32vec3;
-
1115 
-
1118  typedef detail::tvec4<u32, mediump> mediump_u32vec4;
-
1119 
-
1120 
-
1123  typedef detail::tvec1<u32, highp> highp_u32vec1;
-
1124 
-
1127  typedef detail::tvec2<u32, highp> highp_u32vec2;
-
1128 
-
1131  typedef detail::tvec3<u32, highp> highp_u32vec3;
-
1132 
-
1135  typedef detail::tvec4<u32, highp> highp_u32vec4;
-
1136 
-
1137 #if(defined(GLM_PRECISION_LOWP_INT))
-
1138  typedef lowp_u32vec1 u32vec1;
-
1139  typedef lowp_u32vec2 u32vec2;
-
1140  typedef lowp_u32vec3 u32vec3;
-
1141  typedef lowp_u32vec4 u32vec4;
-
1142 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
1143  typedef mediump_u32vec1 u32vec1;
-
1144  typedef mediump_u32vec2 u32vec2;
-
1145  typedef mediump_u32vec3 u32vec3;
-
1146  typedef mediump_u32vec4 u32vec4;
-
1147 #else
-
1148  typedef highp_u32vec1 u32vec1;
-
1151 
- -
1155 
- -
1159 
- -
1163 #endif
-
1164 
-
1165 
-
1168  typedef detail::tvec1<u32, lowp> lowp_u32vec1;
-
1169 
-
1172  typedef detail::tvec2<u32, lowp> lowp_u32vec2;
-
1173 
-
1176  typedef detail::tvec3<u32, lowp> lowp_u32vec3;
-
1177 
-
1180  typedef detail::tvec4<u32, lowp> lowp_u32vec4;
-
1181 
-
1182 
-
1185  typedef detail::tvec1<u32, mediump> mediump_u32vec1;
-
1186 
-
1189  typedef detail::tvec2<u32, mediump> mediump_u32vec2;
-
1190 
-
1193  typedef detail::tvec3<u32, mediump> mediump_u32vec3;
-
1194 
-
1197  typedef detail::tvec4<u32, mediump> mediump_u32vec4;
-
1198 
-
1199 
-
1202  typedef detail::tvec1<u32, highp> highp_u32vec1;
-
1203 
-
1206  typedef detail::tvec2<u32, highp> highp_u32vec2;
-
1207 
-
1210  typedef detail::tvec3<u32, highp> highp_u32vec3;
-
1211 
-
1214  typedef detail::tvec4<u32, highp> highp_u32vec4;
-
1215 
-
1216 #if(defined(GLM_PRECISION_LOWP_INT))
-
1217  typedef lowp_u32vec1 u32vec1;
-
1218  typedef lowp_u32vec2 u32vec2;
-
1219  typedef lowp_u32vec3 u32vec3;
-
1220  typedef lowp_u32vec4 u32vec4;
-
1221 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
1222  typedef mediump_u32vec1 u32vec1;
-
1223  typedef mediump_u32vec2 u32vec2;
-
1224  typedef mediump_u32vec3 u32vec3;
-
1225  typedef mediump_u32vec4 u32vec4;
-
1226 #else
-
1227  typedef highp_u32vec1 u32vec1;
-
1230 
-
1233  typedef highp_u32vec2 u32vec2;
-
1234 
-
1237  typedef highp_u32vec3 u32vec3;
-
1238 
-
1241  typedef highp_u32vec4 u32vec4;
-
1242 #endif
-
1243 
-
1244 
-
1245 
-
1248  typedef detail::tvec1<u64, lowp> lowp_u64vec1;
-
1249 
-
1252  typedef detail::tvec2<u64, lowp> lowp_u64vec2;
-
1253 
-
1256  typedef detail::tvec3<u64, lowp> lowp_u64vec3;
-
1257 
-
1260  typedef detail::tvec4<u64, lowp> lowp_u64vec4;
-
1261 
-
1262 
-
1265  typedef detail::tvec1<u64, mediump> mediump_u64vec1;
-
1266 
-
1269  typedef detail::tvec2<u64, mediump> mediump_u64vec2;
-
1270 
-
1273  typedef detail::tvec3<u64, mediump> mediump_u64vec3;
-
1274 
-
1277  typedef detail::tvec4<u64, mediump> mediump_u64vec4;
-
1278 
-
1279 
-
1282  typedef detail::tvec1<u64, highp> highp_u64vec1;
-
1283 
-
1286  typedef detail::tvec2<u64, highp> highp_u64vec2;
-
1287 
-
1290  typedef detail::tvec3<u64, highp> highp_u64vec3;
-
1291 
-
1294  typedef detail::tvec4<u64, highp> highp_u64vec4;
-
1295 
-
1296 #if(defined(GLM_PRECISION_LOWP_UINT))
-
1297  typedef lowp_u64vec1 u64vec1;
-
1298  typedef lowp_u64vec2 u64vec2;
-
1299  typedef lowp_u64vec3 u64vec3;
-
1300  typedef lowp_u64vec4 u64vec4;
-
1301 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
-
1302  typedef mediump_u64vec1 u64vec1;
-
1303  typedef mediump_u64vec2 u64vec2;
-
1304  typedef mediump_u64vec3 u64vec3;
-
1305  typedef mediump_u64vec4 u64vec4;
-
1306 #else
-
1307  typedef highp_u64vec1 u64vec1;
-
1310 
- -
1314 
- -
1318 
- -
1322 #endif
-
1323 
-
1324 
-
1326  // Float vector types
-
1327 
-
1330  typedef detail::float32 lowp_float32;
-
1331 
-
1334  typedef detail::float64 lowp_float64;
-
1335 
-
1338  typedef detail::float32 lowp_float32_t;
-
1339 
-
1342  typedef detail::float64 lowp_float64_t;
-
1343 
- -
1347 
- -
1351 
-
1354  typedef detail::float32 lowp_float32;
-
1355 
-
1358  typedef detail::float64 lowp_float64;
-
1359 
-
1362  typedef detail::float32 lowp_float32_t;
-
1363 
-
1366  typedef detail::float64 lowp_float64_t;
-
1367 
-
1370  typedef float32 lowp_f32;
-
1371 
-
1374  typedef float64 lowp_f64;
-
1375 
-
1376 
-
1379  typedef detail::float32 lowp_float32;
-
1380 
-
1383  typedef detail::float64 lowp_float64;
-
1384 
-
1387  typedef detail::float32 lowp_float32_t;
-
1388 
-
1391  typedef detail::float64 lowp_float64_t;
-
1392 
-
1395  typedef float32 lowp_f32;
-
1396 
-
1399  typedef float64 lowp_f64;
-
1400 
-
1401 
-
1404  typedef detail::float32 mediump_float32;
-
1405 
-
1408  typedef detail::float64 mediump_float64;
-
1409 
-
1412  typedef detail::float32 mediump_float32_t;
-
1413 
-
1416  typedef detail::float64 mediump_float64_t;
-
1417 
- -
1421 
- -
1425 
-
1426 
-
1429  typedef detail::float32 highp_float32;
-
1430 
-
1433  typedef detail::float64 highp_float64;
-
1434 
-
1437  typedef detail::float32 highp_float32_t;
-
1438 
-
1441  typedef detail::float64 highp_float64_t;
-
1442 
- -
1446 
- -
1450 
-
1451 
-
1452 #if(defined(GLM_PRECISION_LOWP_FLOAT))
-
1453  typedef lowp_float32 float32;
-
1456 
-
1459  typedef lowp_float64 float64;
-
1460 
-
1463  typedef lowp_float32_t float32_t;
-
1464 
-
1467  typedef lowp_float64_t float64_t;
-
1468 
-
1471  typedef lowp_f32 f32;
-
1472 
-
1475  typedef lowp_f64 f64;
-
1476 
-
1477 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
1478 
-
1481  typedef mediump_float32 float32;
-
1482 
-
1485  typedef mediump_float64 float64;
-
1486 
-
1489  typedef mediump_float32 float32_t;
-
1490 
-
1493  typedef mediump_float64 float64_t;
-
1494 
-
1497  typedef mediump_float32 f32;
-
1498 
-
1501  typedef mediump_float64 f64;
-
1502 
-
1503 #else//(defined(GLM_PRECISION_HIGHP_FLOAT))
-
1504 
-
1507  typedef highp_float32 float32;
-
1508 
-
1511  typedef highp_float64 float64;
-
1512 
- -
1516 
- -
1520 
- -
1524 
- -
1528 #endif
-
1529 
-
1530 
-
1533  typedef detail::tvec1<float, lowp> lowp_vec1;
-
1534 
-
1537  typedef detail::tvec2<float, lowp> lowp_vec2;
-
1538 
-
1541  typedef detail::tvec3<float, lowp> lowp_vec3;
-
1542 
-
1545  typedef detail::tvec4<float, lowp> lowp_vec4;
-
1546 
-
1549  typedef detail::tvec1<float, lowp> lowp_fvec1;
-
1550 
-
1553  typedef detail::tvec2<float, lowp> lowp_fvec2;
-
1554 
-
1557  typedef detail::tvec3<float, lowp> lowp_fvec3;
-
1558 
-
1561  typedef detail::tvec4<float, lowp> lowp_fvec4;
-
1562 
-
1563 
-
1564 
-
1567  typedef detail::tvec1<float, mediump> mediump_vec1;
-
1568 
-
1571  typedef detail::tvec2<float, mediump> mediump_vec2;
-
1572 
-
1575  typedef detail::tvec3<float, mediump> mediump_vec3;
-
1576 
-
1579  typedef detail::tvec4<float, mediump> mediump_vec4;
-
1580 
-
1583  typedef detail::tvec1<float, mediump> mediump_fvec1;
-
1584 
-
1587  typedef detail::tvec2<float, mediump> mediump_fvec2;
-
1588 
-
1591  typedef detail::tvec3<float, mediump> mediump_fvec3;
-
1592 
-
1595  typedef detail::tvec4<float, mediump> mediump_fvec4;
-
1596 
-
1597 
-
1598 
-
1601  typedef detail::tvec1<float, highp> highp_vec1;
-
1602 
-
1605  typedef detail::tvec2<float, highp> highp_vec2;
-
1606 
-
1609  typedef detail::tvec3<float, highp> highp_vec3;
-
1610 
-
1613  typedef detail::tvec4<float, highp> highp_vec4;
-
1614 
-
1617  typedef detail::tvec1<float, highp> highp_fvec1;
-
1618 
-
1621  typedef detail::tvec2<float, highp> highp_fvec2;
-
1622 
-
1625  typedef detail::tvec3<float, highp> highp_fvec3;
-
1626 
-
1629  typedef detail::tvec4<float, highp> highp_fvec4;
-
1630 
-
1631 
-
1634  typedef detail::tvec1<f32, lowp> lowp_f32vec1;
-
1635 
-
1638  typedef detail::tvec2<f32, lowp> lowp_f32vec2;
-
1639 
-
1642  typedef detail::tvec3<f32, lowp> lowp_f32vec3;
-
1643 
-
1646  typedef detail::tvec4<f32, lowp> lowp_f32vec4;
-
1647 
-
1650  typedef detail::tvec1<f32, mediump> mediump_f32vec1;
-
1651 
-
1654  typedef detail::tvec2<f32, mediump> mediump_f32vec2;
-
1655 
-
1658  typedef detail::tvec3<f32, mediump> mediump_f32vec3;
-
1659 
-
1662  typedef detail::tvec4<f32, mediump> mediump_f32vec4;
-
1663 
-
1666  typedef detail::tvec1<f32, highp> highp_f32vec1;
-
1667 
-
1670  typedef detail::tvec2<f32, highp> highp_f32vec2;
-
1671 
-
1674  typedef detail::tvec3<f32, highp> highp_f32vec3;
-
1675 
-
1678  typedef detail::tvec4<f32, highp> highp_f32vec4;
-
1679 
-
1680 
-
1683  typedef detail::tvec1<f64, lowp> lowp_f64vec1;
-
1684 
-
1687  typedef detail::tvec2<f64, lowp> lowp_f64vec2;
-
1688 
-
1691  typedef detail::tvec3<f64, lowp> lowp_f64vec3;
-
1692 
-
1695  typedef detail::tvec4<f64, lowp> lowp_f64vec4;
-
1696 
-
1699  typedef detail::tvec1<f64, mediump> mediump_f64vec1;
-
1700 
-
1703  typedef detail::tvec2<f64, mediump> mediump_f64vec2;
-
1704 
-
1707  typedef detail::tvec3<f64, mediump> mediump_f64vec3;
-
1708 
-
1711  typedef detail::tvec4<f64, mediump> mediump_f64vec4;
-
1712 
-
1715  typedef detail::tvec1<f64, highp> highp_f64vec1;
-
1716 
-
1719  typedef detail::tvec2<f64, highp> highp_f64vec2;
-
1720 
-
1723  typedef detail::tvec3<f64, highp> highp_f64vec3;
-
1724 
-
1727  typedef detail::tvec4<f64, highp> highp_f64vec4;
-
1728 
-
1729 
-
1731  // Float matrix types
-
1732 
-
1735  //typedef lowp_f32 lowp_fmat1x1;
-
1736 
-
1739  typedef detail::tmat2x2<f32, lowp> lowp_fmat2x2;
-
1740 
-
1743  typedef detail::tmat2x3<f32, lowp> lowp_fmat2x3;
-
1744 
-
1747  typedef detail::tmat2x4<f32, lowp> lowp_fmat2x4;
-
1748 
-
1751  typedef detail::tmat3x2<f32, lowp> lowp_fmat3x2;
-
1752 
-
1755  typedef detail::tmat3x3<f32, lowp> lowp_fmat3x3;
-
1756 
-
1759  typedef detail::tmat3x4<f32, lowp> lowp_fmat3x4;
-
1760 
-
1763  typedef detail::tmat4x2<f32, lowp> lowp_fmat4x2;
-
1764 
-
1767  typedef detail::tmat4x3<f32, lowp> lowp_fmat4x3;
-
1768 
-
1771  typedef detail::tmat4x4<f32, lowp> lowp_fmat4x4;
-
1772 
-
1775  //typedef lowp_fmat1x1 lowp_fmat1;
-
1776 
- -
1780 
- -
1784 
- -
1788 
-
1789 
-
1792  //typedef mediump_f32 mediump_fmat1x1;
-
1793 
-
1796  typedef detail::tmat2x2<f32, mediump> mediump_fmat2x2;
-
1797 
-
1800  typedef detail::tmat2x3<f32, mediump> mediump_fmat2x3;
-
1801 
-
1804  typedef detail::tmat2x4<f32, mediump> mediump_fmat2x4;
-
1805 
-
1808  typedef detail::tmat3x2<f32, mediump> mediump_fmat3x2;
-
1809 
-
1812  typedef detail::tmat3x3<f32, mediump> mediump_fmat3x3;
-
1813 
-
1816  typedef detail::tmat3x4<f32, mediump> mediump_fmat3x4;
-
1817 
-
1820  typedef detail::tmat4x2<f32, mediump> mediump_fmat4x2;
-
1821 
-
1824  typedef detail::tmat4x3<f32, mediump> mediump_fmat4x3;
-
1825 
-
1828  typedef detail::tmat4x4<f32, mediump> mediump_fmat4x4;
-
1829 
-
1832  //typedef mediump_fmat1x1 mediump_fmat1;
-
1833 
- -
1837 
- -
1841 
- -
1845 
-
1846 
-
1847 
-
1850  //typedef highp_f32 highp_fmat1x1;
-
1851 
-
1854  typedef detail::tmat2x2<f32, highp> highp_fmat2x2;
-
1855 
-
1858  typedef detail::tmat2x3<f32, highp> highp_fmat2x3;
-
1859 
-
1862  typedef detail::tmat2x4<f32, highp> highp_fmat2x4;
-
1863 
-
1866  typedef detail::tmat3x2<f32, highp> highp_fmat3x2;
-
1867 
-
1870  typedef detail::tmat3x3<f32, highp> highp_fmat3x3;
-
1871 
-
1874  typedef detail::tmat3x4<f32, highp> highp_fmat3x4;
-
1875 
-
1878  typedef detail::tmat4x2<f32, highp> highp_fmat4x2;
-
1879 
-
1882  typedef detail::tmat4x3<f32, highp> highp_fmat4x3;
-
1883 
-
1886  typedef detail::tmat4x4<f32, highp> highp_fmat4x4;
-
1887 
-
1890  //typedef highp_fmat1x1 highp_fmat1;
-
1891 
- -
1895 
- -
1899 
- -
1903 
-
1904 
-
1907  //typedef f32 lowp_f32mat1x1;
-
1908 
-
1911  typedef detail::tmat2x2<f32, lowp> lowp_f32mat2x2;
-
1912 
-
1915  typedef detail::tmat2x3<f32, lowp> lowp_f32mat2x3;
-
1916 
-
1919  typedef detail::tmat2x4<f32, lowp> lowp_f32mat2x4;
-
1920 
-
1923  typedef detail::tmat3x2<f32, lowp> lowp_f32mat3x2;
-
1924 
-
1927  typedef detail::tmat3x3<f32, lowp> lowp_f32mat3x3;
-
1928 
-
1931  typedef detail::tmat3x4<f32, lowp> lowp_f32mat3x4;
-
1932 
-
1935  typedef detail::tmat4x2<f32, lowp> lowp_f32mat4x2;
-
1936 
-
1939  typedef detail::tmat4x3<f32, lowp> lowp_f32mat4x3;
-
1940 
-
1943  typedef detail::tmat4x4<f32, lowp> lowp_f32mat4x4;
-
1944 
-
1947  //typedef detail::tmat1x1<f32, lowp> lowp_f32mat1;
-
1948 
- -
1952 
- -
1956 
- -
1960 
-
1961 
-
1962 
-
1965  //typedef f32 mediump_f32mat1x1;
-
1966 
-
1969  typedef detail::tmat2x2<f32, mediump> mediump_f32mat2x2;
-
1970 
-
1973  typedef detail::tmat2x3<f32, mediump> mediump_f32mat2x3;
-
1974 
-
1977  typedef detail::tmat2x4<f32, mediump> mediump_f32mat2x4;
-
1978 
-
1981  typedef detail::tmat3x2<f32, mediump> mediump_f32mat3x2;
-
1982 
-
1985  typedef detail::tmat3x3<f32, mediump> mediump_f32mat3x3;
-
1986 
-
1989  typedef detail::tmat3x4<f32, mediump> mediump_f32mat3x4;
-
1990 
-
1993  typedef detail::tmat4x2<f32, mediump> mediump_f32mat4x2;
-
1994 
-
1997  typedef detail::tmat4x3<f32, mediump> mediump_f32mat4x3;
-
1998 
-
2001  typedef detail::tmat4x4<f32, mediump> mediump_f32mat4x4;
-
2002 
-
2005  //typedef detail::tmat1x1<f32, mediump> f32mat1;
-
2006 
- -
2010 
- -
2014 
- -
2018 
-
2019 
-
2020 
-
2021 
-
2024  //typedef f32 highp_f32mat1x1;
-
2025 
-
2028  typedef detail::tmat2x2<f32, highp> highp_f32mat2x2;
-
2029 
-
2032  typedef detail::tmat2x3<f32, highp> highp_f32mat2x3;
-
2033 
-
2036  typedef detail::tmat2x4<f32, highp> highp_f32mat2x4;
-
2037 
-
2040  typedef detail::tmat3x2<f32, highp> highp_f32mat3x2;
-
2041 
-
2044  typedef detail::tmat3x3<f32, highp> highp_f32mat3x3;
-
2045 
-
2048  typedef detail::tmat3x4<f32, highp> highp_f32mat3x4;
-
2049 
-
2052  typedef detail::tmat4x2<f32, highp> highp_f32mat4x2;
-
2053 
-
2056  typedef detail::tmat4x3<f32, highp> highp_f32mat4x3;
-
2057 
-
2060  typedef detail::tmat4x4<f32, highp> highp_f32mat4x4;
-
2061 
-
2064  //typedef detail::tmat1x1<f32, highp> f32mat1;
-
2065 
- -
2069 
- -
2073 
- -
2077 
-
2078 
-
2079 
-
2082  //typedef f64 lowp_f64mat1x1;
-
2083 
-
2086  typedef detail::tmat2x2<f64, lowp> lowp_f64mat2x2;
-
2087 
-
2090  typedef detail::tmat2x3<f64, lowp> lowp_f64mat2x3;
-
2091 
-
2094  typedef detail::tmat2x4<f64, lowp> lowp_f64mat2x4;
-
2095 
-
2098  typedef detail::tmat3x2<f64, lowp> lowp_f64mat3x2;
-
2099 
-
2102  typedef detail::tmat3x3<f64, lowp> lowp_f64mat3x3;
-
2103 
-
2106  typedef detail::tmat3x4<f64, lowp> lowp_f64mat3x4;
-
2107 
-
2110  typedef detail::tmat4x2<f64, lowp> lowp_f64mat4x2;
-
2111 
-
2114  typedef detail::tmat4x3<f64, lowp> lowp_f64mat4x3;
-
2115 
-
2118  typedef detail::tmat4x4<f64, lowp> lowp_f64mat4x4;
-
2119 
-
2122  //typedef lowp_f64mat1x1 lowp_f64mat1;
-
2123 
- -
2127 
- -
2131 
- -
2135 
-
2136 
-
2137 
-
2140  //typedef f64 Highp_f64mat1x1;
-
2141 
-
2144  typedef detail::tmat2x2<f64, mediump> mediump_f64mat2x2;
-
2145 
-
2148  typedef detail::tmat2x3<f64, mediump> mediump_f64mat2x3;
-
2149 
-
2152  typedef detail::tmat2x4<f64, mediump> mediump_f64mat2x4;
-
2153 
-
2156  typedef detail::tmat3x2<f64, mediump> mediump_f64mat3x2;
-
2157 
-
2160  typedef detail::tmat3x3<f64, mediump> mediump_f64mat3x3;
-
2161 
-
2164  typedef detail::tmat3x4<f64, mediump> mediump_f64mat3x4;
-
2165 
-
2168  typedef detail::tmat4x2<f64, mediump> mediump_f64mat4x2;
-
2169 
-
2172  typedef detail::tmat4x3<f64, mediump> mediump_f64mat4x3;
-
2173 
-
2176  typedef detail::tmat4x4<f64, mediump> mediump_f64mat4x4;
-
2177 
-
2180  //typedef mediump_f64mat1x1 mediump_f64mat1;
-
2181 
- -
2185 
- -
2189 
- -
2193 
-
2196  //typedef f64 highp_f64mat1x1;
-
2197 
-
2200  typedef detail::tmat2x2<f64, highp> highp_f64mat2x2;
-
2201 
-
2204  typedef detail::tmat2x3<f64, highp> highp_f64mat2x3;
-
2205 
-
2208  typedef detail::tmat2x4<f64, highp> highp_f64mat2x4;
-
2209 
-
2212  typedef detail::tmat3x2<f64, highp> highp_f64mat3x2;
-
2213 
-
2216  typedef detail::tmat3x3<f64, highp> highp_f64mat3x3;
-
2217 
-
2220  typedef detail::tmat3x4<f64, highp> highp_f64mat3x4;
-
2221 
-
2224  typedef detail::tmat4x2<f64, highp> highp_f64mat4x2;
-
2225 
-
2228  typedef detail::tmat4x3<f64, highp> highp_f64mat4x3;
-
2229 
-
2232  typedef detail::tmat4x4<f64, highp> highp_f64mat4x4;
-
2233 
-
2236  //typedef highp_f64mat1x1 highp_f64mat1;
-
2237 
- -
2241 
- -
2245 
- -
2249 
-
2251  // Quaternion types
-
2252 
-
2255  typedef detail::tquat<f32, lowp> lowp_f32quat;
-
2256 
-
2259  typedef detail::tquat<f64, lowp> lowp_f64quat;
-
2260 
-
2263  typedef detail::tquat<f32, mediump> mediump_f32quat;
-
2264 
-
2267  typedef detail::tquat<f64, mediump> mediump_f64quat;
-
2268 
-
2271  typedef detail::tquat<f32, highp> highp_f32quat;
-
2272 
-
2275  typedef detail::tquat<f64, highp> highp_f64quat;
-
2276 
-
2277 
-
2278 #if(defined(GLM_PRECISION_LOWP_FLOAT))
-
2279  typedef lowp_f32vec1 fvec1;
-
2280  typedef lowp_f32vec2 fvec2;
-
2281  typedef lowp_f32vec3 fvec3;
-
2282  typedef lowp_f32vec4 fvec4;
-
2283  typedef lowp_f32mat2 fmat2;
-
2284  typedef lowp_f32mat3 fmat3;
-
2285  typedef lowp_f32mat4 fmat4;
-
2286  typedef lowp_f32mat2x2 fmat2x2;
-
2287  typedef lowp_f32mat3x2 fmat3x2;
-
2288  typedef lowp_f32mat4x2 fmat4x2;
-
2289  typedef lowp_f32mat2x3 fmat2x3;
-
2290  typedef lowp_f32mat3x3 fmat3x3;
-
2291  typedef lowp_f32mat4x3 fmat4x3;
-
2292  typedef lowp_f32mat2x4 fmat2x4;
-
2293  typedef lowp_f32mat3x4 fmat3x4;
-
2294  typedef lowp_f32mat4x4 fmat4x4;
-
2295  typedef lowp_f32quat fquat;
-
2296 
-
2297  typedef lowp_f32vec1 f32vec1;
-
2298  typedef lowp_f32vec2 f32vec2;
-
2299  typedef lowp_f32vec3 f32vec3;
-
2300  typedef lowp_f32vec4 f32vec4;
-
2301  typedef lowp_f32mat2 f32mat2;
-
2302  typedef lowp_f32mat3 f32mat3;
-
2303  typedef lowp_f32mat4 f32mat4;
-
2304  typedef lowp_f32mat2x2 f32mat2x2;
-
2305  typedef lowp_f32mat3x2 f32mat3x2;
-
2306  typedef lowp_f32mat4x2 f32mat4x2;
-
2307  typedef lowp_f32mat2x3 f32mat2x3;
-
2308  typedef lowp_f32mat3x3 f32mat3x3;
-
2309  typedef lowp_f32mat4x3 f32mat4x3;
-
2310  typedef lowp_f32mat2x4 f32mat2x4;
-
2311  typedef lowp_f32mat3x4 f32mat3x4;
-
2312  typedef lowp_f32mat4x4 f32mat4x4;
-
2313  typedef lowp_f32quat f32quat;
-
2314 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
2315  typedef mediump_f32vec1 fvec1;
-
2316  typedef mediump_f32vec2 fvec2;
-
2317  typedef mediump_f32vec3 fvec3;
-
2318  typedef mediump_f32vec4 fvec4;
-
2319  typedef mediump_f32mat2 fmat2;
-
2320  typedef mediump_f32mat3 fmat3;
-
2321  typedef mediump_f32mat4 fmat4;
-
2322  typedef mediump_f32mat2x2 fmat2x2;
-
2323  typedef mediump_f32mat3x2 fmat3x2;
-
2324  typedef mediump_f32mat4x2 fmat4x2;
-
2325  typedef mediump_f32mat2x3 fmat2x3;
-
2326  typedef mediump_f32mat3x3 fmat3x3;
-
2327  typedef mediump_f32mat4x3 fmat4x3;
-
2328  typedef mediump_f32mat2x4 fmat2x4;
-
2329  typedef mediump_f32mat3x4 fmat3x4;
-
2330  typedef mediump_f32mat4x4 fmat4x4;
-
2331  typedef mediump_f32quat fquat;
-
2332 
-
2333  typedef mediump_f32vec1 f32vec1;
-
2334  typedef mediump_f32vec2 f32vec2;
-
2335  typedef mediump_f32vec3 f32vec3;
-
2336  typedef mediump_f32vec4 f32vec4;
-
2337  typedef mediump_f32mat2 f32mat2;
-
2338  typedef mediump_f32mat3 f32mat3;
-
2339  typedef mediump_f32mat4 f32mat4;
-
2340  typedef mediump_f32mat2x2 f32mat2x2;
-
2341  typedef mediump_f32mat3x2 f32mat3x2;
-
2342  typedef mediump_f32mat4x2 f32mat4x2;
-
2343  typedef mediump_f32mat2x3 f32mat2x3;
-
2344  typedef mediump_f32mat3x3 f32mat3x3;
-
2345  typedef mediump_f32mat4x3 f32mat4x3;
-
2346  typedef mediump_f32mat2x4 f32mat2x4;
-
2347  typedef mediump_f32mat3x4 f32mat3x4;
-
2348  typedef mediump_f32mat4x4 f32mat4x4;
-
2349  typedef mediump_f32quat f32quat;
-
2350 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT))
-
2351  typedef highp_f32vec1 fvec1;
-
2354 
- -
2358 
- -
2362 
- -
2366 
- -
2370 
- -
2374 
- -
2378 
- -
2382 
- -
2386 
- -
2390 
- -
2394 
- -
2398 
- -
2402 
-
2405  typedef fmat2x2 fmat2;
-
2406 
-
2409  typedef fmat3x3 fmat3;
-
2410 
-
2413  typedef fmat4x4 fmat4;
-
2414 
-
2417  typedef highp_fquat fquat;
-
2418 
-
2419 
-
2420 
- -
2424 
- -
2428 
- -
2432 
- -
2436 
- -
2440 
- -
2444 
- -
2448 
- -
2452 
- -
2456 
- -
2460 
- -
2464 
- -
2468 
- -
2472 
- -
2476 
- -
2480 
- -
2484 
- -
2488 #endif
-
2489 
-
2490 
-
2491 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
-
2492  typedef lowp_f64vec1 f64vec1;
-
2493  typedef lowp_f64vec2 f64vec2;
-
2494  typedef lowp_f64vec3 f64vec3;
-
2495  typedef lowp_f64vec4 f64vec4;
-
2496  typedef lowp_f64mat2 f64mat2;
-
2497  typedef lowp_f64mat3 f64mat3;
-
2498  typedef lowp_f64mat4 f64mat4;
-
2499  typedef lowp_f64mat2x2 f64mat2x2;
-
2500  typedef lowp_f64mat3x2 f64mat3x2;
-
2501  typedef lowp_f64mat4x2 f64mat4x2;
-
2502  typedef lowp_f64mat2x3 f64mat2x3;
-
2503  typedef lowp_f64mat3x3 f64mat3x3;
-
2504  typedef lowp_f64mat4x3 f64mat4x3;
-
2505  typedef lowp_f64mat2x4 f64mat2x4;
-
2506  typedef lowp_f64mat3x4 f64mat3x4;
-
2507  typedef lowp_f64mat4x4 f64mat4x4;
-
2508  typedef lowp_f64quat f64quat;
-
2509 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
-
2510  typedef mediump_f64vec1 f64vec1;
-
2511  typedef mediump_f64vec2 f64vec2;
-
2512  typedef mediump_f64vec3 f64vec3;
-
2513  typedef mediump_f64vec4 f64vec4;
-
2514  typedef mediump_f64mat2 f64mat2;
-
2515  typedef mediump_f64mat3 f64mat3;
-
2516  typedef mediump_f64mat4 f64mat4;
-
2517  typedef mediump_f64mat2x2 f64mat2x2;
-
2518  typedef mediump_f64mat3x2 f64mat3x2;
-
2519  typedef mediump_f64mat4x2 f64mat4x2;
-
2520  typedef mediump_f64mat2x3 f64mat2x3;
-
2521  typedef mediump_f64mat3x3 f64mat3x3;
-
2522  typedef mediump_f64mat4x3 f64mat4x3;
-
2523  typedef mediump_f64mat2x4 f64mat2x4;
-
2524  typedef mediump_f64mat3x4 f64mat3x4;
-
2525  typedef mediump_f64mat4x4 f64mat4x4;
-
2526  typedef mediump_f64quat f64quat;
-
2527 #else
-
2528  typedef highp_f64vec1 f64vec1;
-
2531 
- -
2535 
- -
2539 
- -
2543 
- -
2547 
- -
2551 
- -
2555 
- -
2559 
- -
2563 
- -
2567 
- -
2571 
- -
2575 
- -
2579 
- -
2583 
- -
2587 
- -
2591 
- -
2595 #endif
-
2596 }//namespace glm
-
2597 
-
2598 #endif//GLM_FWD_INCLUDED
-
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:468
-
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1071
-
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:196
-
highp_fmat4x4 highp_fmat4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1902
-
detail::tmat4x4< f32, lowp > lowp_fmat4x4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1771
-
lowp_fmat2x2 lowp_fmat2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1779
-
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2397
-
detail::tvec4< float, mediump > mediump_fvec4
Medium Single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1595
-
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:845
-
detail::tvec1< f64, lowp > lowp_f64vec1
Low double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1683
-
detail::tmat3x4< f32, mediump > mediump_fmat3x4
Medium single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1816
-
mediump_fmat2x2 mediump_fmat2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1836
-
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2353
-
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:999
-
detail::tvec3< float, lowp > lowp_fvec3
Low single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1557
-
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:89
-
detail::tvec1< u16, highp > highp_u16vec1
High precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1043
-
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:710
-
detail::float32 highp_float32_t
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1437
-
float32 mediump_f32
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1420
-
detail::tvec1< i16, lowp > lowp_i16vec1
Low precision 16 bit signed integer scalar type.
Definition: fwd.hpp:406
-
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1317
-
detail::tvec2< i16, mediump > mediump_i16vec2
Medium precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:427
-
detail::tquat< f64, lowp > lowp_f64quat
Low double-precision floating-point quaternion.
Definition: fwd.hpp:2259
-
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:815
-
detail::tmat2x4< f32, mediump > mediump_fmat2x4
Medium single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1804
-
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:739
-
detail::tvec3< i8, highp > highp_i8vec3
High precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:369
-
detail::tvec3< i32, mediump > mediump_i32vec3
Medium precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:511
-
detail::tvec2< u8, lowp > lowp_u8vec2
Low precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:934
-
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:787
-
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
-
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:90
-
detail::tvec1< u64, highp > highp_u64vec1
High precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1282
-
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:551
-
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:744
-
mediump_f64mat3x3 mediump_f64mat3
Medium double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2188
-
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:81
-
detail::tvec2< u32, lowp > lowp_u32vec2
Low precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1093
-
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1079
-
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:236
-
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:895
-
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2431
-
detail::tvec4< i64, lowp > lowp_i64vec4
Low precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:657
-
detail::tquat< f32, highp > highp_f32quat
High single-precision floating-point quaternion.
Definition: fwd.hpp:2271
-
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1309
-
detail::float32 mediump_float32
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1404
-
highp_fmat2x2 highp_fmat2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1894
-
detail::tvec3< i16, lowp > lowp_i16vec3
Low precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:414
-
detail::tvec1< u8, lowp > lowp_u8vec1
Low precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:930
-
detail::tmat2x4< f64, mediump > mediump_f64mat2x4
Medium double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2152
-
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:248
-
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1003
-
detail::tmat4x2< f32, mediump > mediump_f32mat4x2
Medium single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1993
-
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:208
-
detail::tmat2x2< f32, mediump > mediump_f32mat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1969
-
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:140
-
detail::tvec3< float, mediump > mediump_fvec3
Medium Single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1591
-
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:305
-
detail::tvec3< f64, lowp > lowp_f64vec3
Low double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1691
-
detail::tmat4x3< f32, lowp > lowp_fmat4x3
Low single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1767
-
detail::tvec1< i8, mediump > mediump_i8vec1
Medium precision 8 bit signed integer scalar type.
Definition: fwd.hpp:344
-
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1523
-
detail::tvec3< u64, lowp > lowp_u64vec3
Low precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1256
-
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:903
-
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:911
-
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:92
-
detail::float32 lowp_float32
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1330
-
detail::tvec3< i16, highp > highp_i16vec3
High precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:448
-
detail::tvec2< i64, lowp > lowp_i64vec2
Low precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:649
-
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:765
-
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1515
-
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:252
-
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2357
-
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:472
-
detail::tvec4< u64, highp > highp_u64vec4
High precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1294
-
detail::float32 highp_float32
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1429
-
detail::tmat3x2< f32, mediump > mediump_fmat3x2
Medium single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1808
-
detail::tvec3< i64, highp > highp_i64vec3
High precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:687
-
lowp_f64mat3x3 lowp_f64mat3
Low double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2130
-
detail::tvec4< f64, lowp > lowp_f64vec4
Low double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1695
-
detail::tmat4x3< f32, mediump > mediump_f32mat4x3
Medium single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1997
-
detail::tmat4x2< f32, lowp > lowp_fmat4x2
Low single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1763
-
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:803
-
lowp_quat lowp_fquat
Quaternion of low single-precision floating-point numbers.
Definition: fwd.hpp:75
-
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:837
-
detail::tvec1< float, lowp > lowp_fvec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1549
-
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:783
-
detail::tvec3< i64, lowp > lowp_i64vec3
Low precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:653
-
detail::tmat4x4< f32, mediump > mediump_f32mat4x4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2001
-
detail::tmat4x3< f32, mediump > mediump_fmat4x3
Medium single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1824
-
detail::tmat3x4< f64, lowp > lowp_f64mat3x4
Low double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2106
-
detail::tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:288
-
detail::tvec3< i32, lowp > lowp_i32vec3
Low precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:494
-
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:748
-
detail::tvec2< u64, mediump > mediump_u64vec2
Medium precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1269
-
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:184
-
detail::tvec4< u16, highp > highp_u16vec4
High precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1055
-
detail::tquat< f64, highp > highp_f64quat
High double-precision floating-point quaternion.
Definition: fwd.hpp:2275
-
detail::tvec2< u16, lowp > lowp_u16vec2
Low precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1013
-
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2566
-
lowp_fmat3x3 lowp_fmat3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1783
-
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:795
-
detail::tmat2x2< f32, lowp > lowp_fmat2x2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1739
-
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:317
-
float64 lowp_f64
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1350
-
mediump_f64mat4x4 mediump_f64mat4
Medium double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2192
-
detail::tmat3x3< f32, mediump > mediump_fmat3x3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1812
-
detail::tmat4x3< f64, highp > highp_f64mat4x3
High double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2228
-
detail::tvec3< u32, highp > highp_u32vec3
High precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1131
-
mediump_f32mat2x2 mediump_f32mat2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2009
-
quat fquat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:90
-
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2530
-
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:148
-
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:833
-
detail::tvec3< u16, mediump > mediump_u16vec3
Medium precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1034
-
detail::tmat4x2< f32, highp > highp_fmat4x2
High single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1878
-
detail::tmat2x3< f64, lowp > lowp_f64mat2x3
Low double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2090
-
detail::tvec4< float, highp > highp_fvec4
High Single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1629
-
detail::tmat3x2< f64, mediump > mediump_f64mat3x2
Medium double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2156
-
highp_f64mat3x3 highp_f64mat3
High double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2244
-
detail::tvec4< u64, lowp > lowp_u64vec4
Low precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1260
-
detail::tmat3x3< f64, highp > highp_f64mat3x3
High double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2216
-
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:823
-
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:907
-
detail::tvec2< i32, mediump > mediump_i32vec2
Medium precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:507
-
detail::tvec1< i8, highp > highp_i8vec1
High precision 8 bit signed integer scalar type.
Definition: fwd.hpp:361
-
detail::tvec1< i32, mediump > mediump_i32vec1
Medium precision 32 bit signed integer scalar type.
Definition: fwd.hpp:503
-
float64 highp_f64
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1449
-
detail::tvec2< f64, lowp > lowp_f64vec2
Low double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1687
-
detail::tmat2x4< f32, mediump > mediump_f32mat2x4
Medium single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1977
-
detail::float64 mediump_float64_t
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1416
-
detail::tvec1< i64, mediump > mediump_i64vec1
Medium precision 64 bit signed integer scalar type.
Definition: fwd.hpp:662
-
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:706
-
detail::tmat3x4< f64, mediump > mediump_f64mat3x4
Medium double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2164
-
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:297
-
detail::tvec1< f32, highp > highp_f32vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1666
-
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2427
-
detail::tmat4x2< f32, lowp > lowp_f32mat4x2
Low single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1935
-
detail::tvec2< float, highp > highp_fvec2
High Single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1621
-
detail::tvec1< float, highp > highp_vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1601
-
detail::tvec4< u32, highp > highp_u32vec4
High precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1135
-
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:865
-
detail::tvec4< i8, lowp > lowp_i8vec4
Low precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:339
-
detail::tvec4< u32, lowp > lowp_u32vec4
Low precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1101
-
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2578
-
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2570
-
detail::tvec2< i8, mediump > mediump_i8vec2
Medium precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:348
-
detail::float64 highp_float64_t
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1441
-
detail::tvec4< u16, lowp > lowp_u16vec4
Low precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1021
-
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2361
-
detail::tvec3< u8, mediump > mediump_u8vec3
Medium precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:955
-
detail::tmat2x2< f64, lowp > lowp_f64mat2x2
Low double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2086
-
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:321
-
detail::tvec2< f32, highp > highp_f32vec2
High single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1670
-
detail::tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:190
-
detail::tvec2< u8, highp > highp_u8vec2
High precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:968
-
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:188
-
detail::tmat4x4< f32, highp > highp_fmat4x4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1886
-
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2483
-
detail::tmat2x4< f32, lowp > lowp_fmat2x4
Low single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1747
-
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:176
-
detail::tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:176
-
detail::tvec4< i16, mediump > mediump_i16vec4
Medium precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:435
-
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
-
highp_quat highp_fquat
Quaternion of high single-precision floating-point numbers.
Definition: fwd.hpp:85
-
detail::tvec2< i32, highp > highp_i32vec2
High precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:524
-
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:240
-
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:853
-
lowp_f64mat4x4 lowp_f64mat4
Low double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2134
-
detail::tquat< float, mediump > mediump_quat
Quaternion of medium single-precision floating-point numbers.
Definition: fwd.hpp:54
-
detail::tvec4< float, lowp > lowp_fvec4
Low single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1561
-
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:200
-
detail::tmat3x3< f32, lowp > lowp_f32mat3x3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1927
-
detail::tvec3< u8, highp > highp_u8vec3
High precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:972
-
detail::tvec2< u64, highp > highp_u64vec2
High precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1286
-
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:152
-
detail::tmat2x3< f64, highp > highp_f64mat2x3
High double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2204
-
detail::tvec1< i16, highp > highp_i16vec1
High precision 16 bit signed integer scalar type.
Definition: fwd.hpp:440
-
detail::tvec3< u64, highp > highp_u64vec3
High precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1290
-
detail::tmat3x2< f32, highp > highp_fmat3x2
High single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1866
-
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:400
-
detail::tmat4x3< f32, highp > highp_f32mat4x3
High single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2056
-
detail::tvec1< i32, lowp > lowp_i32vec1
Low precision 32 bit signed integer scalar type.
Definition: fwd.hpp:486
-
detail::tmat3x3< f64, lowp > lowp_f64mat3x3
Low double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2102
-
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:204
-
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2467
-
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:731
-
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2459
-
mediump_f32mat4x4 mediump_f32mat4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2017
-
detail::tmat3x3< f32, highp > highp_fmat3x3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1870
-
detail::float32 mediump_float32_t
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1412
-
detail::tvec4< i16, lowp > lowp_i16vec4
Low precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:418
-
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:192
-
detail::tvec4< u8, highp > highp_u8vec4
High precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:976
-
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1154
-
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:156
-
detail::float64 lowp_float64_t
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1342
-
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2550
-
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:849
-
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2435
-
detail::tmat4x4< f64, mediump > mediump_f64mat4x4
Medium double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2176
-
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2586
-
detail::tvec3< i64, mediump > mediump_i64vec3
Medium precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:670
-
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:841
-
detail::tvec1< float, mediump > mediump_vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1567
-
detail::tvec4< i32, lowp > lowp_i32vec4
Low precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:498
-
highp_dquat dquat
Quaternion of default double-precision floating-point numbers.
Definition: fwd.hpp:118
-
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:873
-
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:727
-
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:476
-
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:313
-
detail::tvec1< u16, mediump > mediump_u16vec1
Medium precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1026
-
detail::tvec1< u32, lowp > lowp_u32vec1
Low precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1089
-
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:773
-
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:756
-
detail::tvec1< i16, mediump > mediump_i16vec1
Medium precision 16 bit signed integer scalar type.
Definition: fwd.hpp:423
-
detail::tquat< f32, lowp > lowp_f32quat
Low single-precision floating-point quaternion.
Definition: fwd.hpp:2255
-
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:293
-
detail::tvec1< float, lowp > lowp_vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1533
-
detail::tvec4< u8, mediump > mediump_u8vec4
Medium precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:959
-
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2538
-
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2413
-
detail::tmat4x3< f32, lowp > lowp_f32mat4x3
Low single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1939
-
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:899
-
detail::tmat2x3< f64, mediump > mediump_f64mat2x3
Medium double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2148
-
detail::tmat2x2< f32, lowp > lowp_f32mat2x2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1911
-
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:761
-
detail::tmat3x2< f64, highp > highp_f64mat3x2
High double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2212
-
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:309
-
detail::tvec1< i8, lowp > lowp_i8vec1
Low precision 8 bit signed integer scalar type.
Definition: fwd.hpp:327
-
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2463
-
detail::tmat3x3< f32, lowp > lowp_fmat3x3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1755
-
detail::tmat2x3< f32, mediump > mediump_f32mat2x3
Medium single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1973
-
highp_quat quat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:69
-
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:752
-
mediump_fmat4x4 mediump_fmat4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1844
-
detail::tvec2< f64, mediump > mediump_f64vec2
Medium double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1703
-
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:91
-
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:718
-
detail::tvec3< u16, lowp > lowp_u16vec3
Low precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1017
-
detail::tvec2< u16, highp > highp_u16vec2
High precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1047
-
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2590
-
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2554
-
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2393
-
detail::tvec1< float, highp > highp_fvec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1617
-
detail::tmat2x2< f32, mediump > mediump_fmat2x2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1796
-
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2369
-
detail::tmat4x3< f64, lowp > lowp_f64mat4x3
Low double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2114
-
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:268
-
detail::tvec1< f64, highp > highp_f64vec1
High double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1715
-
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2405
-
detail::tmat2x2< f32, highp > highp_fmat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1854
-
detail::tquat< float, highp > highp_quat
Quaternion of high single-precision floating-point numbers.
Definition: fwd.hpp:59
-
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1313
-
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:256
-
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:301
-
detail::tvec1< u8, highp > highp_u8vec1
High precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:964
-
detail::tvec3< u8, lowp > lowp_u8vec3
Low precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:938
-
detail::tmat2x4< f64, highp > highp_f64mat2x4
High double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2208
-
detail::tvec4< f32, mediump > mediump_f32vec4
Medium single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1662
-
lowp_f32mat4x4 lowp_f32mat4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1959
-
detail::tvec3< f32, lowp > lowp_f32vec3
Low single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1642
-
detail::tvec3< u64, mediump > mediump_u64vec3
Medium precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1273
-
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2451
-
detail::tvec4< u32, mediump > mediump_u32vec4
Medium precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1118
-
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2574
-
float32 highp_f32
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1445
-
detail::tmat4x4< f32, lowp > lowp_f32mat4x4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1943
-
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:160
-
detail::tquat< f64, mediump > mediump_f64quat
Medium double-precision floating-point quaternion.
Definition: fwd.hpp:2267
-
detail::tvec2< u8, mediump > mediump_u8vec2
Medium precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:951
-
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:180
-
detail::tvec3< i8, lowp > lowp_i8vec3
Low precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:335
-
detail::tvec2< u32, mediump > mediump_u32vec2
Medium precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1110
-
detail::float64 lowp_float64
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1334
-
detail::float32 lowp_float32_t
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1338
-
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:869
-
detail::tquat< f32, mediump > mediump_f32quat
Medium single-precision floating-point quaternion.
Definition: fwd.hpp:2263
-
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1083
-
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:136
-
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:807
-
highp_f32mat3x3 highp_f32mat3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2072
-
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1075
-
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:923
-
detail::tvec1< i32, highp > highp_i32vec1
High precision 32 bit signed integer scalar type.
Definition: fwd.hpp:520
-
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2582
-
detail::tmat4x2< f32, highp > highp_f32mat4x2
High single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2052
-
lowp_fmat4x4 lowp_fmat4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1787
-
detail::tmat2x3< f32, highp > highp_f32mat2x3
High single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2032
-
detail::float64 mediump_float64
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1408
-
detail::tvec1< u64, lowp > lowp_u64vec1
Low precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1248
-
detail::tvec1< u8, mediump > mediump_u8vec1
Medium precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:947
-
lowp_f64mat2x2 lowp_f64mat2
Low double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2126
-
detail::tvec1< i64, lowp > lowp_i64vec1
Low precision 64 bit signed integer scalar type.
Definition: fwd.hpp:645
-
detail::tvec2< i8, lowp > lowp_i8vec2
Low precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:331
-
detail::tvec4< i8, mediump > mediump_i8vec4
Medium precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:356
-
detail::tmat3x2< f64, lowp > lowp_f64mat3x2
Low double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2098
-
mediump_f64mat2x2 mediump_f64mat2
Medium double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2184
-
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1321
-
detail::tquat< double, lowp > lowp_dquat
Quaternion of low double-precision floating-point numbers.
Definition: fwd.hpp:96
-
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:811
-
detail::tvec2< u32, highp > highp_u32vec2
High precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1127
-
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2471
-
detail::float64 highp_float64
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1433
-
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2373
-
detail::tvec4< i8, highp > highp_i8vec4
High precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:373
-
detail::tvec4< f64, highp > highp_f64vec4
High double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1727
-
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2401
-
detail::tquat< double, highp > highp_dquat
Quaternion of high double-precision floating-point numbers.
Definition: fwd.hpp:106
-
highp_f32mat4x4 highp_f32mat4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2076
-
detail::tmat3x2< f32, lowp > lowp_fmat3x2
Low single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1751
-
detail::tvec2< f32, lowp > lowp_f32vec2
Low single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1638
-
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:995
-
detail::tvec4< f32, lowp > lowp_f32vec4
Low single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1646
-
detail::tvec3< f32, highp > highp_f32vec3
High single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1674
-
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1158
-
detail::tvec1< f32, mediump > mediump_f32vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1650
-
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
-
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:132
-
detail::tmat3x3< f32, highp > highp_f32mat3x3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2044
-
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:819
-
detail::tvec2< i64, mediump > mediump_i64vec2
Medium precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:666
-
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:735
-
highp_f64mat2x2 highp_f64mat2
High double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2240
-
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:172
-
detail::tmat3x2< f32, lowp > lowp_f32mat3x2
Low single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1923
-
lowp_f32mat3x3 lowp_f32mat3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1955
-
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:919
-
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:392
-
detail::tmat4x4< f32, highp > highp_f32mat4x4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2060
-
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:555
-
detail::tmat2x2< f64, mediump > mediump_f64mat2x2
Medium double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2144
-
detail::tmat2x4< f32, lowp > lowp_f32mat2x4
Low single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1919
-
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2546
-
highp_f64mat4x4 highp_f64mat4
High double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2248
-
detail::tmat2x3< f32, lowp > lowp_f32mat2x3
Low single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1915
-
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2423
-
detail::tmat2x3< f32, highp > highp_fmat2x3
High single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1858
-
detail::tmat4x4< f32, mediump > mediump_fmat4x4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1828
-
detail::tmat4x3< f64, mediump > mediump_f64mat4x3
Medium double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2172
-
detail::tvec3< float, highp > highp_fvec3
High Single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1625
-
detail::tvec3< f64, mediump > mediump_f64vec3
Medium double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1707
-
detail::tvec1< u16, lowp > lowp_u16vec1
Low precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1009
-
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2377
-
highp_fmat3x3 highp_fmat3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1898
-
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:272
-
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1519
-
detail::tmat4x2< f64, highp > highp_f64mat4x2
High double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2224
-
detail::tvec4< f32, highp > highp_f32vec4
High single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1678
-
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2479
-
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:260
-
detail::tvec4< u64, mediump > mediump_u64vec4
Medium precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1277
-
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:396
-
detail::tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:65
-
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:220
-
detail::tvec2< u64, lowp > lowp_u64vec2
Low precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1252
-
detail::tvec2< i16, highp > highp_i16vec2
High precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:444
-
detail::tvec1< u64, mediump > mediump_u64vec1
Medium precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1265
-
detail::tvec2< float, mediump > mediump_fvec2
Medium Single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1587
-
detail::tmat3x2< f32, highp > highp_f32mat3x2
High single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2040
-
detail::tvec2< i8, highp > highp_i8vec2
High precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:365
-
detail::tmat3x4< f32, lowp > lowp_f32mat3x4
Low single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1931
-
detail::tmat4x4< f64, lowp > lowp_f64mat4x4
Low double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2118
-
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2487
-
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:991
-
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:791
-
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:547
-
detail::tvec2< float, lowp > lowp_fvec2
Low single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1553
-
detail::tmat2x2< f32, highp > highp_f32mat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2028
-
detail::tvec4< f64, mediump > mediump_f64vec4
Medium double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1711
-
lowp_f32mat2x2 lowp_f32mat2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1951
-
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1162
-
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:861
-
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2439
-
detail::tmat3x2< f32, mediump > mediump_f32mat3x2
Medium single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1981
-
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:559
-
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:779
-
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:480
-
detail::tvec3< f32, mediump > mediump_f32vec3
Medium single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1658
-
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1527
-
detail::tmat3x4< f32, highp > highp_fmat3x4
High single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1874
-
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:212
-
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:224
-
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:232
-
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2534
-
mediump_fmat3x3 mediump_fmat3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1840
-
detail::tvec3< f64, highp > highp_f64vec3
High double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1723
-
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:388
-
detail::tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:79
-
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2558
-
detail::tmat3x4< f32, mediump > mediump_f32mat3x4
Medium single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1989
-
float64 mediump_f64
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1424
-
detail::tmat2x3< f32, lowp > lowp_fmat2x3
Low single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1743
-
highp_f32mat2x2 highp_f32mat2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2068
-
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:769
-
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:264
-
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:228
-
detail::tvec2< i64, highp > highp_i64vec2
High precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:683
-
float32 lowp_f32
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1346
-
detail::tvec4< u16, mediump > mediump_u16vec4
Medium precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1038
-
detail::tvec3< i8, mediump > mediump_i8vec3
Medium precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:352
-
detail::tmat2x3< f32, mediump > mediump_fmat2x3
Medium single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1800
-
detail::tmat3x4< f64, highp > highp_f64mat3x4
High double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2220
-
detail::tmat4x3< f32, highp > highp_fmat4x3
High single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1882
-
detail::tvec1< i64, highp > highp_i64vec1
High precision 64 bit signed integer scalar type.
Definition: fwd.hpp:679
-
detail::tmat4x2< f32, mediump > mediump_fmat4x2
Medium single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1820
-
detail::tvec4< i32, highp > highp_i32vec4
High precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:532
-
detail::tmat2x4< f32, highp > highp_f32mat2x4
High single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2036
-
detail::tmat3x3< f32, mediump > mediump_f32mat3x3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1985
-
detail::tvec3< i16, mediump > mediump_i16vec3
Medium precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:431
-
mediump_quat mediump_fquat
Quaternion of medium single-precision floating-point numbers.
Definition: fwd.hpp:80
-
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1150
-
detail::tmat3x4< f32, highp > highp_f32mat3x4
High single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2048
-
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:915
-
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2409
-
detail::tvec1< f64, mediump > mediump_f64vec1
Medium double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1699
-
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:168
-
detail::tmat2x4< f64, lowp > lowp_f64mat2x4
Low double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2094
-
detail::tvec3< i32, highp > highp_i32vec3
High precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:528
-
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2443
-
mediump_f32mat3x3 mediump_f32mat3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2013
-
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
-
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2365
-
detail::tmat3x4< f32, lowp > lowp_fmat3x4
Low single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1759
-
detail::tmat4x4< f64, highp > highp_f64mat4x4
High double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2232
-
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2594
-
detail::tvec2< i16, lowp > lowp_i16vec2
Low precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:410
-
detail::tquat< float, lowp > lowp_quat
Quaternion of low single-precision floating-point numbers.
Definition: fwd.hpp:49
-
detail::tvec1< u32, highp > highp_u32vec1
High precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1123
-
detail::tvec4< i32, mediump > mediump_i32vec4
Medium precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:515
-
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:244
-
detail::tvec3< u32, lowp > lowp_u32vec3
Low precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1097
-
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2447
-
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2475
-
detail::tvec2< u16, mediump > mediump_u16vec2
Medium precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1030
-
detail::tvec3< u32, mediump > mediump_u32vec3
Medium precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1114
-
detail::tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:294
-
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2542
-
detail::tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:72
-
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:144
-
detail::tmat3x3< f64, mediump > mediump_f64mat3x3
Medium double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2160
-
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:857
-
detail::tquat< double, mediump > mediump_dquat
Quaternion of medium double-precision floating-point numbers.
Definition: fwd.hpp:101
-
detail::tmat2x4< f32, highp > highp_fmat2x4
High single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1862
-
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:82
-
detail::tvec2< f32, mediump > mediump_f32vec2
Medium single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1654
-
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2385
-
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:829
-
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:164
-
detail::tmat2x2< f64, highp > highp_f64mat2x2
High double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2200
-
detail::tvec2< f64, highp > highp_f64vec2
High double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1719
-
detail::tvec3< u16, highp > highp_u16vec3
High precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1051
-
detail::tvec1< float, mediump > mediump_fvec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1583
-
detail::tvec1< f32, lowp > lowp_f32vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1634
-
detail::tvec4< i16, highp > highp_i16vec4
High precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:452
-
detail::tvec4< i64, highp > highp_i64vec4
High precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:691
-
detail::tvec1< u32, mediump > mediump_u32vec1
Medium precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1106
-
detail::tvec4< i64, mediump > mediump_i64vec4
Medium precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:674
-
detail::tvec2< i32, lowp > lowp_i32vec2
Low precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:490
-
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2455
-
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2562
-
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2389
-
detail::tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:282
-
detail::tvec4< u8, lowp > lowp_u8vec4
Low precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:942
-
detail::tmat4x2< f64, lowp > lowp_f64mat4x2
Low double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2110
-
detail::tmat4x2< f64, mediump > mediump_f64mat4x2
Medium double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2168
-
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2381
-
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:216
-
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:714
-
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:799
-
detail::tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:183
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename T, precision P>
+
55  GLM_FUNC_DECL bool rightHanded(
+
56  tvec3<T, P> const & tangent,
+
57  tvec3<T, P> const & binormal,
+
58  tvec3<T, P> const & normal);
+
59 
+
62  template <typename T, precision P>
+
63  GLM_FUNC_DECL bool leftHanded(
+
64  tvec3<T, P> const & tangent,
+
65  tvec3<T, P> const & binormal,
+
66  tvec3<T, P> const & normal);
+
67 
+
69 }// namespace glm
+
70 
+
71 #include "handed_coordinate_space.inl"
+
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:31
+
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.
diff --git a/doc/api/a00042.html b/doc/api/a00042.html index 67521fe5..7c49379c 100644 --- a/doc/api/a00042.html +++ b/doc/api/a00042.html @@ -3,8 +3,8 @@ - -GLM: geometric.hpp File Reference + +0.9.6: inertia.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,12 +41,12 @@
-
geometric.hpp File Reference
+
inertia.hpp File Reference
@@ -58,17 +56,20 @@

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_inertia

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

Definition in file geometric.hpp.

+

Definition in file inertia.hpp.

diff --git a/doc/api/a00042_source.html b/doc/api/a00042_source.html index 0a2989c3..1ebc8a24 100644 --- a/doc/api/a00042_source.html +++ b/doc/api/a00042_source.html @@ -3,8 +3,8 @@ - -GLM: geometric.hpp Source File + +0.9.6: inertia.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,78 @@
-
geometric.hpp
+
inertia.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_GEOMETRIC_INCLUDED
-
30 #define GLM_GEOMETRIC_INCLUDED
-
31 
-
32 #include "detail/func_geometric.hpp"
-
33 
-
34 #endif//GLM_GEOMETRIC_INCLUDED
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_inertia extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
50  /*
+
53 
+
56  template <typename T, precision P>
+
57  tmat3x3<T, P> boxInertia3(
+
58  T const & Mass,
+
59  tvec3<T, P> const & Scale);
+
60 
+
63  template <typename T, precision P>
+
64  tmat4x4<T, P> boxInertia4(
+
65  T const & Mass,
+
66  tvec3<T, P> const & Scale);
+
67 
+
70  template <typename T, precision P>
+
71  tmat3x3<T, P> diskInertia3(
+
72  T const & Mass,
+
73  T const & Radius);
+
74 
+
77  template <typename T, precision P>
+
78  tmat4x4<T, P> diskInertia4(
+
79  T const & Mass,
+
80  T const & Radius);
+
81 
+
84  template <typename T, precision P>
+
85  tmat3x3<T, P> ballInertia3(
+
86  T const & Mass,
+
87  T const & Radius);
+
88 
+
91  template <typename T, precision P>
+
92  tmat4x4<T, P> ballInertia4(
+
93  T const & Mass,
+
94  T const & Radius);
+
95 
+
98  template <typename T, precision P>
+
99  tmat3x3<T, P> sphereInertia3(
+
100  T const & Mass,
+
101  T const & Radius);
+
102 
+
105  template <typename T, precision P>
+
106  tmat4x4<T, P> sphereInertia4(
+
107  T const & Mass,
+
108  T const & Radius);
+
109  */
+
111 }// namespace glm
+
112 
+
113 #include "inertia.inl"
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00043.html b/doc/api/a00043.html index 66e956ed..aebb82d3 100644 --- a/doc/api/a00043.html +++ b/doc/api/a00043.html @@ -3,8 +3,8 @@ - -GLM: glm.hpp File Reference + +0.9.6: integer.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,38 +41,44 @@
+
+Functions
-
glm.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)
 

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:

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.

-
Date
2009-05-01 / 2011-05-16
+

GLM_GTC_integer

+
Date
2014-11-17 / 2014-11-17
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.

-

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
+
See also
GLM Core (dependence)
+
+GLM_GTC_integer (dependence)
-

Definition in file glm.hpp.

+

Definition in file gtc/integer.hpp.

diff --git a/doc/api/a00043_source.html b/doc/api/a00043_source.html index a8a518be..70b8beb7 100644 --- a/doc/api/a00043_source.html +++ b/doc/api/a00043_source.html @@ -3,8 +3,8 @@ - -GLM: glm.hpp Source File + +0.9.6: integer.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,81 +41,45 @@
-
glm.hpp
+
gtc/integer.hpp
Go to the documentation of this file.
1 
-
78 #include "detail/_fixes.hpp"
-
79 
-
80 #ifndef GLM_INCLUDED
-
81 #define GLM_INCLUDED
-
82 
-
83 #include <cmath>
-
84 #include <climits>
-
85 #include <cfloat>
-
86 #include <limits>
-
87 #include <cassert>
-
88 #include "fwd.hpp"
-
89 
-
90 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))
-
91 # define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED
-
92 # pragma message("GLM: Core library included")
-
93 #endif//GLM_MESSAGE
-
94 
-
95 #include "vec2.hpp"
-
96 #include "vec3.hpp"
-
97 #include "vec4.hpp"
-
98 #include "mat2x2.hpp"
-
99 #include "mat2x3.hpp"
-
100 #include "mat2x4.hpp"
-
101 #include "mat3x2.hpp"
-
102 #include "mat3x3.hpp"
-
103 #include "mat3x4.hpp"
-
104 #include "mat4x2.hpp"
-
105 #include "mat4x3.hpp"
-
106 #include "mat4x4.hpp"
-
107 
-
108 #include "trigonometric.hpp"
-
109 #include "exponential.hpp"
-
110 #include "common.hpp"
-
111 #include "packing.hpp"
-
112 #include "geometric.hpp"
-
113 #include "matrix.hpp"
-
114 #include "vector_relational.hpp"
-
115 #include "integer.hpp"
-
116 
-
117 #endif//GLM_INCLUDED
-
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)
+
39 #pragma once
+
40 
+
41 // Dependencies
+
42 #include "../detail/setup.hpp"
+
43 #include "../detail/precision.hpp"
+
44 #include "../detail/func_integer.hpp"
+
45 #include "../detail/func_exponential.hpp"
+
46 #include <limits>
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTC_integer extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  template <typename genIUType>
+
60  GLM_FUNC_DECL genIUType log2(genIUType x);
+
61 
+
63 } //namespace glm
+
64 
+
65 #include "integer.inl"
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL genIUType log2(genIUType x)
Returns the log2 of x.
diff --git a/doc/api/a00044.html b/doc/api/a00044.html index ac2b3516..038b470f 100644 --- a/doc/api/a00044.html +++ b/doc/api/a00044.html @@ -3,8 +3,8 @@ - -GLM: gradient_paint.hpp File Reference + +0.9.6: integer.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,53 +41,64 @@
-Namespaces | +Typedefs | Functions
-
gradient_paint.hpp File Reference
+
gtx/integer.hpp File Reference

Go to the source code of this file.

- - - + + +

-Namespaces

 glm
 

+Typedefs

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

Functions

template<typename T , precision P>
linearGradient (detail::tvec2< T, P > const &Point0, detail::tvec2< T, P > const &Point1, detail::tvec2< T, P > const &Position)
 
template<typename T , precision P>
radialGradient (detail::tvec2< T, P > const &Center, T const &Radius, detail::tvec2< T, P > const &Focal, detail::tvec2< T, P > const &Position)
 
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:

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_GTX_gradient_paint

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

GLM_GTX_integer

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

Definition in file gradient_paint.hpp.

+

Definition in file gtx/integer.hpp.

diff --git a/doc/api/a00044_source.html b/doc/api/a00044_source.html index f26b6a08..d163d532 100644 --- a/doc/api/a00044_source.html +++ b/doc/api/a00044_source.html @@ -3,8 +3,8 @@ - -GLM: gradient_paint.hpp Source File + +0.9.6: integer.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,55 +41,67 @@
-
gradient_paint.hpp
+
gtx/integer.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_gradient_paint
-
39 #define GLM_GTX_gradient_paint
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include "../gtx/optimum_pow.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_gradient_paint extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T, precision P>
- -
58  detail::tvec2<T, P> const & Center,
-
59  T const & Radius,
-
60  detail::tvec2<T, P> const & Focal,
-
61  detail::tvec2<T, P> const & Position);
-
62 
-
65  template <typename T, precision P>
- -
67  detail::tvec2<T, P> const & Point0,
-
68  detail::tvec2<T, P> const & Point1,
-
69  detail::tvec2<T, P> const & Position);
-
70 
-
72 }// namespace glm
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 #include "../gtc/integer.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_integer extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  GLM_FUNC_DECL int pow(int x, int y);
+
56 
+
59  GLM_FUNC_DECL int sqrt(int x);
+
60 
+
63  GLM_FUNC_DECL unsigned int floor_log2(unsigned int x);
+
64 
+
67  GLM_FUNC_DECL int mod(int x, int y);
+
68 
+
71  template <typename genType>
+
72  GLM_FUNC_DECL genType factorial(genType const & x);
73 
-
74 #include "gradient_paint.inl"
-
75 
-
76 #endif//GLM_GTX_gradient_paint
-
T radialGradient(detail::tvec2< T, P > const &Center, T const &Radius, detail::tvec2< T, P > const &Focal, detail::tvec2< T, P > const &Position)
Return a color from a radial gradient.
-
T linearGradient(detail::tvec2< T, P > const &Point0, detail::tvec2< T, P > const &Point1, detail::tvec2< T, P > const &Position)
Return a color from a linear gradient.
+
76  typedef signed int sint;
+
77 
+
80  GLM_FUNC_DECL uint pow(uint x, uint y);
+
81 
+
84  GLM_FUNC_DECL uint sqrt(uint x);
+
85 
+
88  GLM_FUNC_DECL uint mod(uint x, uint y);
+
89 
+
92  GLM_FUNC_DECL uint nlz(uint x);
+
93 
+
95 }//namespace glm
+
96 
+
97 #include "integer.inl"
+
GLM_FUNC_DECL uint sqrt(uint x)
Returns the positive square root of x.
+
GLM_FUNC_DECL uint mod(uint x, uint y)
Modulus.
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:302
+
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.
+
Definition: _noise.hpp:31
+
signed int sint
32bit signed integer.
Definition: gtx/integer.hpp:76
+
GLM_FUNC_DECL uint pow(uint x, uint y)
Returns x raised to the y power.
+
GLM_FUNC_DECL genType factorial(genType const &x)
Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...
diff --git a/doc/api/a00045.html b/doc/api/a00045.html index 350df17f..32c1b6b0 100644 --- a/doc/api/a00045.html +++ b/doc/api/a00045.html @@ -3,8 +3,8 @@ - -GLM: handed_coordinate_space.hpp File Reference + +0.9.6: integer.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,51 +41,32 @@
-
-Namespaces | -Functions
-
handed_coordinate_space.hpp File Reference
+
integer.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - -

-Functions

template<typename T , precision P>
bool leftHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
bool rightHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::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:

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_GTX_handed_coordinate_space

-
Date
2005-12-21 / 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 handed_coordinate_space.hpp.

+

Definition in file integer.hpp.

diff --git a/doc/api/a00045_source.html b/doc/api/a00045_source.html index 34418437..24fbdb54 100644 --- a/doc/api/a00045_source.html +++ b/doc/api/a00045_source.html @@ -3,8 +3,8 @@ - -GLM: handed_coordinate_space.hpp Source File + +0.9.6: integer.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,53 +41,25 @@
-
handed_coordinate_space.hpp
+
integer.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_handed_coordinate_space
-
39 #define GLM_GTX_handed_coordinate_space
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T, precision P>
-
56  bool rightHanded(
-
57  detail::tvec3<T, P> const & tangent,
-
58  detail::tvec3<T, P> const & binormal,
-
59  detail::tvec3<T, P> const & normal);
-
60 
-
63  template <typename T, precision P>
-
64  bool leftHanded(
-
65  detail::tvec3<T, P> const & tangent,
-
66  detail::tvec3<T, P> const & binormal,
-
67  detail::tvec3<T, P> const & normal);
-
68 
-
70 }// namespace glm
-
71 
-
72 #include "handed_coordinate_space.inl"
-
73 
-
74 #endif//GLM_GTX_handed_coordinate_space
-
bool leftHanded(detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
Return if a trihedron left handed or not.
-
bool rightHanded(detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
Return if a trihedron right handed or not.
+
29 #pragma once
+
30 
+
31 #include "detail/func_integer.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00046.html b/doc/api/a00046.html new file mode 100644 index 00000000..482990a5 --- /dev/null +++ b/doc/api/a00046.html @@ -0,0 +1,99 @@ + + + + + + +0.9.6: intersect.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
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:

+

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_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 intersect.hpp.

+
+ + + + diff --git a/doc/api/a00046_source.html b/doc/api/a00046_source.html index 1ecd183f..dc5a6ddc 100644 --- a/doc/api/a00046_source.html +++ b/doc/api/a00046_source.html @@ -3,8 +3,8 @@ - -GLM: hint.hpp Source File + +0.9.6: intersect.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,33 +41,80 @@
-
hint.hpp
+
intersect.hpp
-
1 
-
29 #ifndef glm_core_type
-
30 #define glm_core_type
-
31 
-
32 namespace glm
-
33 {
-
34  // Use dont_care, nicest and fastest to optimize implementations.
-
35  class dont_care {};
-
36  class nicest {};
-
37  class fastest {};
-
38 }//namespace glm
-
39 
-
40 #endif//glm_core_type
+Go to the documentation of this file.
1 
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include "../gtx/closest_point.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_closest_point extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
57  template <typename genType>
+
58  GLM_FUNC_DECL bool intersectRayPlane(
+
59  genType const & orig, genType const & dir,
+
60  genType const & planeOrig, genType const & planeNormal,
+
61  typename genType::value_type & intersectionDistance);
+
62 
+
65  template <typename genType>
+
66  GLM_FUNC_DECL bool intersectRayTriangle(
+
67  genType const & orig, genType const & dir,
+
68  genType const & vert0, genType const & vert1, genType const & vert2,
+
69  genType & baryPosition);
+
70 
+
73  template <typename genType>
+
74  GLM_FUNC_DECL bool intersectLineTriangle(
+
75  genType const & orig, genType const & dir,
+
76  genType const & vert0, genType const & vert1, genType const & vert2,
+
77  genType & position);
+
78 
+
82  template <typename genType>
+
83  GLM_FUNC_DECL bool intersectRaySphere(
+
84  genType const & rayStarting, genType const & rayNormalizedDirection,
+
85  genType const & sphereCenter, typename genType::value_type const sphereRadiusSquered,
+
86  typename genType::value_type & intersectionDistance);
+
87 
+
90  template <typename genType>
+
91  GLM_FUNC_DECL bool intersectRaySphere(
+
92  genType const & rayStarting, genType const & rayNormalizedDirection,
+
93  genType const & sphereCenter, const typename genType::value_type sphereRadius,
+
94  genType & intersectionPosition, genType & intersectionNormal);
+
95 
+
98  template <typename genType>
+
99  GLM_FUNC_DECL bool intersectLineSphere(
+
100  genType const & point0, genType const & point1,
+
101  genType const & sphereCenter, typename genType::value_type sphereRadius,
+
102  genType & intersectionPosition1, genType & intersectionNormal1,
+
103  genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType());
+
104 
+
106 }//namespace glm
+
107 
+
108 #include "intersect.inl"
+
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.
+
Definition: _noise.hpp:31
+
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 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.
+
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 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.
diff --git a/doc/api/a00047.html b/doc/api/a00047.html index fe93462e..546c5bed 100644 --- a/doc/api/a00047.html +++ b/doc/api/a00047.html @@ -3,8 +3,8 @@ - -GLM: inertia.hpp File Reference + +0.9.6: intrinsic_common.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,43 +41,38 @@
-
-Namespaces
-
inertia.hpp File Reference
+
intrinsic_common.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 

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:

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_GTX_inertia

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

GLM Core

+
Date
2009-05-11 / 2011-06-15
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (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.

+

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 inertia.hpp.

+

Definition in file intrinsic_common.hpp.

diff --git a/doc/api/a00047_source.html b/doc/api/a00047_source.html index f56a9492..bb1047da 100644 --- a/doc/api/a00047_source.html +++ b/doc/api/a00047_source.html @@ -3,8 +3,8 @@ - -GLM: inertia.hpp Source File + +0.9.6: intrinsic_common.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,80 +41,82 @@
-
inertia.hpp
+
intrinsic_common.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_inertia
-
40 #define GLM_GTX_inertia
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_inertia extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
51  /*
-
54 
-
57  template <typename T, precision P>
-
58  detail::tmat3x3<T, P> boxInertia3(
-
59  T const & Mass,
-
60  detail::tvec3<T, P> const & Scale);
-
61 
-
64  template <typename T, precision P>
-
65  detail::tmat4x4<T, P> boxInertia4(
-
66  T const & Mass,
-
67  detail::tvec3<T, P> const & Scale);
-
68 
-
71  template <typename T, precision P>
-
72  detail::tmat3x3<T, P> diskInertia3(
-
73  T const & Mass,
-
74  T const & Radius);
-
75 
-
78  template <typename T, precision P>
-
79  detail::tmat4x4<T, P> diskInertia4(
-
80  T const & Mass,
-
81  T const & Radius);
-
82 
-
85  template <typename T, precision P>
-
86  detail::tmat3x3<T, P> ballInertia3(
-
87  T const & Mass,
-
88  T const & Radius);
-
89 
-
92  template <typename T, precision P>
-
93  detail::tmat4x4<T, P> ballInertia4(
-
94  T const & Mass,
-
95  T const & Radius);
-
96 
-
99  template <typename T, precision P>
-
100  detail::tmat3x3<T, P> sphereInertia3(
-
101  T const & Mass,
-
102  T const & Radius);
-
103 
-
106  template <typename T, precision P>
-
107  detail::tmat4x4<T, P> sphereInertia4(
-
108  T const & Mass,
-
109  T const & Radius);
-
110  */
-
112 }// namespace glm
-
113 
-
114 #include "inertia.inl"
-
115 
-
116 #endif//GLM_GTX_inertia
+
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:31
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00048.html b/doc/api/a00048.html new file mode 100644 index 00000000..6b2f085f --- /dev/null +++ b/doc/api/a00048.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: intrinsic_exponential.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
intrinsic_exponential.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:

+

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-11 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file intrinsic_exponential.hpp.

+
+ + + + diff --git a/doc/api/a00048_source.html b/doc/api/a00048_source.html index 26150855..92e95637 100644 --- a/doc/api/a00048_source.html +++ b/doc/api/a00048_source.html @@ -3,8 +3,8 @@ - -GLM: int_10_10_10_2.hpp Source File + +0.9.6: intrinsic_exponential.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,44 +41,72 @@
-
int_10_10_10_2.hpp
+
intrinsic_exponential.hpp
-
1 
-
24 #ifndef GLM_GTX_int_10_10_10_2
-
25 #define GLM_GTX_int_10_10_10_2
-
26 
-
27 // Dependency:
-
28 #include "../glm.hpp"
-
29 #include "../gtx/raw_data.hpp"
+Go to the documentation of this file.
1 
+
29 #pragma once
30 
-
31 #if(defined(GLM_MESSAGES))
-
32 # pragma message("GLM: GLM_GTX_int_10_10_10_2 extension is deprecated, include GLM_GTC_packing (glm/gtc/packing.hpp) instead")
-
33 #endif
-
34 
-
35 namespace glm
-
36 {
-
38  GLM_DEPRECATED dword uint10_10_10_2_cast(glm::vec4 const & v);
-
39 
-
40 }//namespace glm
-
41 
-
42 #include "int_10_10_10_2.inl"
-
43 
-
44 #endif//GLM_GTX_int_10_10_10_2
-
detail::uint32 dword
Type for dword numbers.
Definition: raw_data.hpp:63
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
-
GLM_DEPRECATED dword uint10_10_10_2_cast(glm::vec4 const &v)
Deprecated, use packUnorm3x10_1x2 instead.
+
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:31
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00049.html b/doc/api/a00049.html index fc82dad3..485df174 100644 --- a/doc/api/a00049.html +++ b/doc/api/a00049.html @@ -3,8 +3,8 @@ - -GLM: integer.hpp File Reference + +0.9.6: intrinsic_geometric.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,73 +41,32 @@
-
-Namespaces | -Typedefs | -Functions
-
gtx/integer.hpp File Reference
+
intrinsic_geometric.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - -

-Typedefs

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

-Functions

template<typename genType >
genType factorial (genType const &x)
 
unsigned int floor_log2 (unsigned int x)
 
template<typename genIUType >
genIUType log2 (genIUType const &x)
 
int mod (int x, int y)
 
uint mod (uint x, uint y)
 
uint nlz (uint x)
 
int pow (int x, int y)
 
uint pow (uint x, uint y)
 
int sqrt (int x)
 
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:

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_GTX_integer

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

GLM Core

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

Definition in file gtx/integer.hpp.

+

Definition in file intrinsic_geometric.hpp.

diff --git a/doc/api/a00049_source.html b/doc/api/a00049_source.html index 6c5bb318..63f85fe4 100644 --- a/doc/api/a00049_source.html +++ b/doc/api/a00049_source.html @@ -3,8 +3,8 @@ - -GLM: integer.hpp Source File + +0.9.6: intrinsic_geometric.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,72 +41,70 @@
-
gtx/integer.hpp
+
intrinsic_geometric.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_integer
-
39 #define GLM_GTX_integer
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_integer extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  int pow(int x, int y);
+
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 #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 
-
59  int sqrt(int x);
-
60 
-
63  template <typename genIUType>
-
64  genIUType log2(genIUType const & x);
+
57  //normalize
+
58  __m128 sse_nrm_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);
65 
-
68  unsigned int floor_log2(unsigned int x);
-
69 
-
72  int mod(int x, int y);
+
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 
-
76  template <typename genType>
-
77  genType factorial(genType const & x);
-
78 
-
81  typedef signed int sint;
-
82 
-
85  uint pow(uint x, uint y);
-
86 
-
89  uint sqrt(uint x);
-
90 
-
93  uint mod(uint x, uint y);
-
94 
-
97  uint nlz(uint x);
-
98 
-
100 }//namespace glm
-
101 
-
102 #include "integer.inl"
-
103 
-
104 #endif//GLM_GTX_integer
-
GLM_FUNC_DECL genType sqrt(genType const &x)
Returns the positive square root of x.
-
unsigned int floor_log2(unsigned int x)
Returns the floor log2 of x.
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
-
signed int sint
32bit signed integer.
Definition: gtx/integer.hpp:81
-
GLM_FUNC_DECL genType mod(genType const &x, genType const &y)
Modulus.
-
GLM_FUNC_DECL genType log2(genType const &x)
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...
-
genType factorial(genType const &x)
Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...
-
GLM_FUNC_DECL genType pow(genType const &base, genType const &exponent)
Returns &#39;base&#39; raised to the power &#39;exponent&#39;.
-
uint nlz(uint x)
Returns the number of leading zeros.
+
74 #endif//GLM_ARCH
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00050.html b/doc/api/a00050.html index 223e01e0..292f1f6e 100644 --- a/doc/api/a00050.html +++ b/doc/api/a00050.html @@ -3,8 +3,8 @@ - -GLM: integer.hpp File Reference + +0.9.6: intrinsic_integer.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,32 +41,32 @@
-
integer.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
2013-12-24 / 2013-12-24
+

GLM Core

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

Definition in file integer.hpp.

+

Definition in file intrinsic_integer.hpp.

diff --git a/doc/api/a00050_source.html b/doc/api/a00050_source.html index b92d295c..392664ef 100644 --- a/doc/api/a00050_source.html +++ b/doc/api/a00050_source.html @@ -3,8 +3,8 @@ - -GLM: integer.hpp Source File + +0.9.6: intrinsic_integer.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,43 @@
-
integer.hpp
+
intrinsic_integer.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_INTEGER_INCLUDED
-
30 #define GLM_INTEGER_INCLUDED
-
31 
-
32 #include "detail/func_integer.hpp"
-
33 
-
34 #endif//GLM_INTEGER_INCLUDED
+
29 #pragma once
+
30 
+
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{
+
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:31
diff --git a/doc/api/a00051.html b/doc/api/a00051.html deleted file mode 100644 index 32f88c89..00000000 --- a/doc/api/a00051.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -GLM: intersect.hpp File Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-Namespaces | -Functions
-
-
intersect.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
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 >
bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
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 >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
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:

-

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_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 intersect.hpp.

-
- - - - diff --git a/doc/api/a00051_source.html b/doc/api/a00051_source.html index df8fa596..632ee19b 100644 --- a/doc/api/a00051_source.html +++ b/doc/api/a00051_source.html @@ -3,8 +3,8 @@ - -GLM: intersect.hpp Source File + +0.9.6: intrinsic_matrix.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,82 +41,63 @@
-
intersect.hpp
+
intrinsic_matrix.hpp
-Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_intersect
-
40 #define GLM_GTX_intersect
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/closest_point.hpp"
+
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 #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  void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_closest_point extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
58  template <typename genType>
-
59  bool intersectRayPlane(
-
60  genType const & orig, genType const & dir,
-
61  genType const & planeOrig, genType const & planeNormal,
-
62  typename genType::value_type & intersectionDistance);
-
63 
-
66  template <typename genType>
- -
68  genType const & orig, genType const & dir,
-
69  genType const & vert0, genType const & vert1, genType const & vert2,
-
70  genType & baryPosition);
-
71 
-
74  template <typename genType>
- -
76  genType const & orig, genType const & dir,
-
77  genType const & vert0, genType const & vert1, genType const & vert2,
-
78  genType & position);
-
79 
-
83  template <typename genType>
-
84  bool intersectRaySphere(
-
85  genType const & rayStarting, genType const & rayNormalizedDirection,
-
86  genType const & sphereCenter, typename genType::value_type const sphereRadiusSquered,
-
87  typename genType::value_type & intersectionDistance);
-
88 
-
91  template <typename genType>
-
92  bool intersectRaySphere(
-
93  genType const & rayStarting, genType const & rayNormalizedDirection,
-
94  genType const & sphereCenter, const typename genType::value_type sphereRadius,
-
95  genType & intersectionPosition, genType & intersectionNormal);
-
96 
-
99  template <typename genType>
-
100  bool intersectLineSphere(
-
101  genType const & point0, genType const & point1,
-
102  genType const & sphereCenter, typename genType::value_type sphereRadius,
-
103  genType & intersectionPosition1, genType & intersectionNormal1,
-
104  genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType());
-
105 
-
107 }//namespace glm
-
108 
-
109 #include "intersect.inl"
-
110 
-
111 #endif//GLM_GTX_intersect
-
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.
-
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.
-
bool 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.
-
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.
-
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.
+
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
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00052.html b/doc/api/a00052.html new file mode 100644 index 00000000..c818da28 --- /dev/null +++ b/doc/api/a00052.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: intrinsic_trigonometric.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
intrinsic_trigonometric.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:

+

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
+
Author
Christophe Riccio
+ +

Definition in file intrinsic_trigonometric.hpp.

+
+ + + + diff --git a/doc/api/a00052_source.html b/doc/api/a00052_source.html index c7a53107..af32bbdf 100644 --- a/doc/api/a00052_source.html +++ b/doc/api/a00052_source.html @@ -3,8 +3,8 @@ - -GLM: intrinsic_common.hpp Source File + +0.9.6: intrinsic_trigonometric.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,82 +41,41 @@
-
intrinsic_common.hpp
+
intrinsic_trigonometric.hpp
-
1 
-
29 #ifndef glm_detail_intrinsic_common
-
30 #define glm_detail_intrinsic_common
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  __m128 sse_abs_ps(__m128 x);
-
42 
-
43  __m128 sse_sgn_ps(__m128 x);
-
44 
-
45  //floor
-
46  __m128 sse_flr_ps(__m128 v);
-
47 
-
48  //trunc
-
49  __m128 sse_trc_ps(__m128 v);
-
50 
-
51  //round
-
52  __m128 sse_nd_ps(__m128 v);
-
53 
-
54  //roundEven
-
55  __m128 sse_rde_ps(__m128 v);
-
56 
-
57  __m128 sse_rnd_ps(__m128 x);
-
58 
-
59  __m128 sse_ceil_ps(__m128 v);
-
60 
-
61  __m128 sse_frc_ps(__m128 x);
-
62 
-
63  __m128 sse_mod_ps(__m128 x, __m128 y);
-
64 
-
65  __m128 sse_modf_ps(__m128 x, __m128i & i);
-
66 
-
67  //GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)
-
68 
-
69  //GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)
-
70 
-
71  __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
-
72 
-
73  __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
-
74 
-
75  __m128 sse_stp_ps(__m128 edge, __m128 x);
-
76 
-
77  __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
-
78 
-
79  __m128 sse_nan_ps(__m128 x);
-
80 
-
81  __m128 sse_inf_ps(__m128 x);
-
82 
-
83 }//namespace detail
-
84 }//namespace glm
-
85 
-
86 #include "intrinsic_common.inl"
-
87 
-
88 #endif//GLM_ARCH
-
89 #endif//glm_detail_intrinsic_common
+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 }//namespace detail
+
42 }//namespace glm
+
43 
+
44 #include "intrinsic_trigonometric.inl"
+
45 
+
46 #endif//GLM_ARCH
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00053.html b/doc/api/a00053.html new file mode 100644 index 00000000..2635f3e4 --- /dev/null +++ b/doc/api/a00053.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: intrinsic_vector_relational.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
intrinsic_vector_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:

+

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
+
Author
Christophe Riccio
+ +

Definition in file intrinsic_vector_relational.hpp.

+
+ + + + diff --git a/doc/api/a00053_source.html b/doc/api/a00053_source.html index 2f65e069..6d115b5a 100644 --- a/doc/api/a00053_source.html +++ b/doc/api/a00053_source.html @@ -3,8 +3,8 @@ - -GLM: intrinsic_exponential.hpp Source File + +0.9.6: intrinsic_vector_relational.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,72 +41,41 @@
-
intrinsic_exponential.hpp
+
intrinsic_vector_relational.hpp
-
1 
-
29 #ifndef glm_detail_intrinsic_exponential
-
30 #define glm_detail_intrinsic_exponential
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41 /*
-
42 GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)
-
43 {
-
44  __m128 recip = _mm_rsqrt_ss( x ); // "estimate" opcode
-
45  const static __m128 three = { 3, 3, 3, 3 }; // aligned consts for fast load
-
46  const static __m128 half = { 0.5,0.5,0.5,0.5 };
-
47  __m128 halfrecip = _mm_mul_ss( half, recip );
-
48  __m128 threeminus_xrr = _mm_sub_ss( three, _mm_mul_ss( x, _mm_mul_ss ( recip, recip ) ) );
-
49  return _mm_mul_ss( halfrecip, threeminus_xrr );
-
50 }
-
51 
-
52 GLM_FUNC_QUALIFIER __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )
-
53 {
-
54  __m128 x = _mm_load_ss(&vIn[0]);
-
55  __m128 y = _mm_load_ss(&vIn[1]);
-
56  __m128 z = _mm_load_ss(&vIn[2]);
-
57 
-
58  const __m128 l = // compute x*x + y*y + z*z
-
59  _mm_add_ss(
-
60  _mm_add_ss( _mm_mul_ss(x,x),
-
61  _mm_mul_ss(y,y)
-
62  ),
-
63  _mm_mul_ss( z, z )
-
64  );
-
65 
-
66 
-
67  const __m128 rsqt = _mm_rsqrt_nr_ss( l );
-
68  _mm_store_ss( &vOut[0] , _mm_mul_ss( rsqt, x ) );
-
69  _mm_store_ss( &vOut[1] , _mm_mul_ss( rsqt, y ) );
-
70  _mm_store_ss( &vOut[2] , _mm_mul_ss( rsqt, z ) );
-
71 
-
72  return _mm_mul_ss( l , rsqt );
-
73 }
-
74 */
-
75 }//namespace detail
-
76 }//namespace glm
-
77 
-
78 #endif//GLM_ARCH
-
79 #endif//glm_detail_intrinsic_exponential
+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 }//namespace detail
+
42 }//namespace glm
+
43 
+
44 #include "intrinsic_vector_relational.inl"
+
45 
+
46 #endif//GLM_ARCH
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00054.html b/doc/api/a00054.html new file mode 100644 index 00000000..f76989f9 --- /dev/null +++ b/doc/api/a00054.html @@ -0,0 +1,75 @@ + + + + + + +0.9.6: io.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
io.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:

+

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_GTX_io

+
Date
2013-11-22
+
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 io.hpp.

+
+ + + + diff --git a/doc/api/a00054_source.html b/doc/api/a00054_source.html index 3cfa1ee8..922e3039 100644 --- a/doc/api/a00054_source.html +++ b/doc/api/a00054_source.html @@ -3,8 +3,8 @@ - -GLM: intrinsic_geometric.hpp Source File + +0.9.6: io.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,69 +41,197 @@
-
intrinsic_geometric.hpp
+
io.hpp
-
1 
-
29 #ifndef glm_core_intrinsic_geometric
-
30 #define glm_core_intrinsic_geometric
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 #include "intrinsic_common.hpp"
-
39 
-
40 namespace glm{
-
41 namespace detail
-
42 {
-
43  //length
-
44  __m128 sse_len_ps(__m128 x);
-
45 
-
46  //distance
-
47  __m128 sse_dst_ps(__m128 p0, __m128 p1);
+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  //dot
-
50  __m128 sse_dot_ps(__m128 v1, __m128 v2);
-
51 
-
52  // SSE1
-
53  __m128 sse_dot_ss(__m128 v1, __m128 v2);
-
54 
-
55  //cross
-
56  __m128 sse_xpd_ps(__m128 v1, __m128 v2);
-
57 
-
58  //normalize
-
59  __m128 sse_nrm_ps(__m128 v);
-
60 
-
61  //faceforward
-
62  __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
-
63 
-
64  //reflect
-
65  __m128 sse_rfe_ps(__m128 I, __m128 N);
-
66 
-
67  //refract
-
68  __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
-
69 
-
70 }//namespace detail
-
71 }//namespace glm
+
49 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
+
50 # pragma message("GLM: GLM_GTX_io extension included")
+
51 #endif
+
52 
+
53 #include <iosfwd> // std::basic_ostream<> (fwd)
+
54 #include <locale> // std::locale, std::locale::facet, std::locale::id
+
55 #include <utility> // std::pair<>
+
56 
+
57 namespace glm
+
58 {
+
61 
+
62  namespace io
+
63  {
+
64  enum order_type { column_major, row_major};
+
65 
+
66  template <typename CTy>
+
67  class format_punct : public std::locale::facet
+
68  {
+
69  typedef CTy char_type;
+
70 
+
71  public:
72 
-
73 #include "intrinsic_geometric.inl"
+
73  static std::locale::id id;
74 
-
75 #endif//GLM_ARCH
-
76 #endif//glm_core_intrinsic_geometric
+
75  bool formatted;
+
76  unsigned precision;
+
77  unsigned width;
+
78  char_type separator;
+
79  char_type delim_left;
+
80  char_type delim_right;
+
81  char_type space;
+
82  char_type newline;
+
83  order_type order;
+
84 
+
85  explicit format_punct(size_t a = 0);
+
86  explicit format_punct(format_punct const&);
+
87  };
+
88 
+
89  template <typename CTy, typename CTr = std::char_traits<CTy> >
+
90  class basic_state_saver {
+
91 
+
92  public:
+
93 
+
94  explicit basic_state_saver(std::basic_ios<CTy,CTr>&);
+
95  ~basic_state_saver();
+
96 
+
97  private:
+
98 
+
99  typedef ::std::basic_ios<CTy,CTr> state_type;
+
100  typedef typename state_type::char_type char_type;
+
101  typedef ::std::ios_base::fmtflags flags_type;
+
102  typedef ::std::streamsize streamsize_type;
+
103  typedef ::std::locale const locale_type;
+
104 
+
105  state_type& state_;
+
106  flags_type flags_;
+
107  streamsize_type precision_;
+
108  streamsize_type width_;
+
109  char_type fill_;
+
110  locale_type locale_;
+
111 
+
112  basic_state_saver& operator=(basic_state_saver const&);
+
113  };
+
114 
+
115  typedef basic_state_saver<char> state_saver;
+
116  typedef basic_state_saver<wchar_t> wstate_saver;
+
117 
+
118  template <typename CTy, typename CTr = std::char_traits<CTy> >
+
119  class basic_format_saver
+
120  {
+
121  public:
+
122 
+
123  explicit basic_format_saver(std::basic_ios<CTy,CTr>&);
+
124  ~basic_format_saver();
+
125 
+
126  private:
+
127 
+
128  basic_state_saver<CTy> const bss_;
+
129 
+
130  basic_format_saver& operator=(basic_format_saver const&);
+
131  };
+
132 
+
133  typedef basic_format_saver<char> format_saver;
+
134  typedef basic_format_saver<wchar_t> wformat_saver;
+
135 
+
136  struct precision
+
137  {
+
138  unsigned value;
+
139 
+
140  explicit precision(unsigned);
+
141  };
+
142 
+
143  struct width
+
144  {
+
145  unsigned value;
+
146 
+
147  explicit width(unsigned);
+
148  };
+
149 
+
150  template <typename CTy>
+
151  struct delimeter
+
152  {
+
153  CTy value[3];
+
154 
+
155  explicit delimeter(CTy /* left */, CTy /* right */, CTy /* separator */ = ',');
+
156  };
+
157 
+
158  struct order
+
159  {
+
160  order_type value;
+
161 
+
162  explicit order(order_type);
+
163  };
+
164 
+
165  // functions, inlined (inline)
+
166 
+
167  template <typename FTy, typename CTy, typename CTr>
+
168  FTy const& get_facet(std::basic_ios<CTy,CTr>&);
+
169  template <typename FTy, typename CTy, typename CTr>
+
170  std::basic_ios<CTy,CTr>& formatted(std::basic_ios<CTy,CTr>&);
+
171  template <typename FTy, typename CTy, typename CTr>
+
172  std::basic_ios<CTy,CTr>& unformattet(std::basic_ios<CTy,CTr>&);
+
173 
+
174  template <typename CTy, typename CTr>
+
175  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, precision const&);
+
176  template <typename CTy, typename CTr>
+
177  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, width const&);
+
178  template <typename CTy, typename CTr>
+
179  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, delimeter<CTy> const&);
+
180  template <typename CTy, typename CTr>
+
181  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, order const&);
+
182  }//namespace io
+
183 
+
184  template <typename CTy, typename CTr, typename T, precision P>
+
185  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tquat<T,P> const&);
+
186  template <typename CTy, typename CTr, typename T, precision P>
+
187  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec2<T,P> const&);
+
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>&, tvec3<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>&, tvec4<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>&, tmat2x2<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>&, tmat2x3<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>&, tmat2x4<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>&, tmat3x2<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>&, tmat3x3<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>&, tmat3x4<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>&, tmat4x2<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>&, tmat4x3<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>&, tmat4x4<T,P> const&);
+
210 
+
211  template <typename CTy, typename CTr, typename T, precision P>
+
212  GLM_FUNC_DECL std::basic_ostream<CTy,CTr> & operator<<(
+
213  std::basic_ostream<CTy,CTr> &,
+
214  std::pair<tmat4x4<T,P> const,
+
215  tmat4x4<T,P> const> const &);
+
216 
+
218 }//namespace glm
+
219 
+
220 #include "io.inl"
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00055.html b/doc/api/a00055.html new file mode 100644 index 00000000..52a52c7e --- /dev/null +++ b/doc/api/a00055.html @@ -0,0 +1,85 @@ + + + + + + +0.9.6: log_base.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
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:

+

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_GTX_log_base

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

Definition in file log_base.hpp.

+
+ + + + diff --git a/doc/api/a00055_source.html b/doc/api/a00055_source.html index 4eb3c5a2..8ed33583 100644 --- a/doc/api/a00055_source.html +++ b/doc/api/a00055_source.html @@ -3,8 +3,8 @@ - -GLM: intrinsic_integer.hpp Source File + +0.9.6: log_base.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,44 +41,49 @@
-
intrinsic_integer.hpp
+
log_base.hpp
-
1 
-
29 #ifndef glm_detail_intrinsic_integer
-
30 #define glm_detail_intrinsic_integer
-
31 
-
32 #include "glm/glm.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  __m128i _mm_bit_interleave_si128(__m128i x);
-
42  __m128i _mm_bit_interleave_si128(__m128i x, __m128i y);
-
43 
-
44 }//namespace detail
-
45 }//namespace glm
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_log_base extension included")
+
45 #endif
46 
-
47 #include "intrinsic_integer.inl"
-
48 
-
49 #endif//GLM_ARCH
-
50 #endif//glm_detail_intrinsic_integer
-
OpenGL Mathematics (glm.g-truc.net)
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename genType>
+
55  GLM_FUNC_DECL genType log(
+
56  genType x,
+
57  genType base);
+
58 
+
61  template <typename T, precision P, template <typename, precision> class vecType>
+
62  GLM_FUNC_DECL vecType<T, P> sign(
+
63  vecType<T, P> const & x,
+
64  vecType<T, P> const & base);
+
65 
+
67 }//namespace glm
+
68 
+
69 #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:31
diff --git a/doc/api/a00056_source.html b/doc/api/a00056_source.html index 6168368e..cb813c8e 100644 --- a/doc/api/a00056_source.html +++ b/doc/api/a00056_source.html @@ -3,8 +3,8 @@ - -GLM: intrinsic_matrix.hpp Source File + +0.9.6: man.doxy Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,62 +41,2383 @@
-
intrinsic_matrix.hpp
+
man.doxy
-
1 
-
29 #ifndef glm_detail_intrinsic_matrix
-
30 #define glm_detail_intrinsic_matrix
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 #include "intrinsic_geometric.hpp"
-
39 
-
40 namespace glm{
-
41 namespace detail
-
42 {
-
43  void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
-
44 
-
45  void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
+
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  __m128 sse_mul_ps(__m128 m[4], __m128 v);
+
47 PROJECT_BRIEF =
48 
-
49  __m128 sse_mul_ps(__m128 v, __m128 m[4]);
-
50 
-
51  void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4]);
-
52 
-
53  void sse_transpose_ps(__m128 const in[4], __m128 out[4]);
-
54 
-
55  void sse_inverse_ps(__m128 const in[4], __m128 out[4]);
-
56 
-
57  void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m128 out[4]);
-
58 
-
59  __m128 sse_det_ps(__m128 const m[4]);
+
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.
60 
-
61  __m128 sse_slow_det_ps(__m128 const m[4]);
+
61 OUTPUT_DIRECTORY = .
62 
-
63 }//namespace detail
-
64 }//namespace glm
-
65 
-
66 #include "intrinsic_matrix.inl"
-
67 
-
68 #endif//GLM_ARCH
-
69 #endif//glm_detail_intrinsic_matrix
+
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
+
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.
+
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 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:31
diff --git a/doc/api/a00057.html b/doc/api/a00057.html new file mode 100644 index 00000000..75f3a641 --- /dev/null +++ b/doc/api/a00057.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: mat2x2.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat2x2.hpp.

+
+ + + + diff --git a/doc/api/a00057_source.html b/doc/api/a00057_source.html index 2c774b08..a7414c07 100644 --- a/doc/api/a00057_source.html +++ b/doc/api/a00057_source.html @@ -3,8 +3,8 @@ - -GLM: intrinsic_trigonometric.hpp Source File + +0.9.6: mat2x2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,41 +41,48 @@
-
intrinsic_trigonometric.hpp
+
mat2x2.hpp
-
1 
-
29 #ifndef glm_detail_intrinsic_trigonometric
-
30 #define glm_detail_intrinsic_trigonometric
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41 
-
42 }//namespace detail
-
43 }//namespace glm
-
44 
-
45 #include "intrinsic_trigonometric.inl"
-
46 
-
47 #endif//GLM_ARCH
-
48 #endif//glm_detail_intrinsic_trigonometric
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "detail/type_mat2x2.hpp"
+
32 
+
33 namespace glm
+
34 {
+
40  typedef tmat2x2<float, lowp> lowp_mat2;
+
41 
+
47  typedef tmat2x2<float, mediump> mediump_mat2;
+
48 
+
54  typedef tmat2x2<float, highp> highp_mat2;
+
55 
+
61  typedef tmat2x2<float, lowp> lowp_mat2x2;
+
62 
+
68  typedef tmat2x2<float, mediump> mediump_mat2x2;
+
69 
+
75  typedef tmat2x2<float, highp> highp_mat2x2;
+
76 
+
77 }//namespace glm
+
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:68
+
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:82
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:96
+
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:89
+
Definition: _noise.hpp:31
+
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:61
+
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:75
diff --git a/doc/api/a00058.html b/doc/api/a00058.html new file mode 100644 index 00000000..b7a63ed6 --- /dev/null +++ b/doc/api/a00058.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: mat2x3.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat2x3.hpp.

+
+ + + + diff --git a/doc/api/a00058_source.html b/doc/api/a00058_source.html index 664447a7..c2d61da3 100644 --- a/doc/api/a00058_source.html +++ b/doc/api/a00058_source.html @@ -3,8 +3,8 @@ - -GLM: intrinsic_vector_relational.hpp Source File + +0.9.6: mat2x3.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,41 +41,40 @@
-
intrinsic_vector_relational.hpp
+
mat2x3.hpp
-
1 
-
29 #ifndef glm_detail_intrinsic_vector_relational
-
30 #define glm_detail_intrinsic_vector_relational
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "detail/type_mat2x3.hpp"
+
32 
+
33 namespace glm
+
34 {
+
40  typedef tmat2x3<float, lowp> lowp_mat2x3;
41 
-
42 }//namespace detail
-
43 }//namespace glm
-
44 
-
45 #include "intrinsic_vector_relational.inl"
-
46 
-
47 #endif//GLM_ARCH
-
48 #endif//glm_detail_intrinsic_vector_relational
+
47  typedef tmat2x3<float, mediump> mediump_mat2x3;
+
48 
+
54  typedef tmat2x3<float, highp> highp_mat2x3;
+
55 
+
56 }//namespace glm
+
57 
+
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:122
+
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:108
+
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:115
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00059.html b/doc/api/a00059.html index e7283997..3ebc81df 100644 --- a/doc/api/a00059.html +++ b/doc/api/a00059.html @@ -3,8 +3,8 @@ - -GLM: io.hpp File Reference + +0.9.6: mat2x4.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,43 +41,32 @@
-
-Namespaces
-
io.hpp File Reference
+
mat2x4.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 

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:

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_GTX_io

-
Date
2013-11-22
-
Author
Jan P Springer (regni.nosp@m.rpsj.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)
-
See Also
GLM Core (dependence)
-
-GLM_GTX_quaternion (dependence)
+

GLM Core

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

Definition in file io.hpp.

+

Definition in file mat2x4.hpp.

diff --git a/doc/api/a00059_source.html b/doc/api/a00059_source.html index 7dab7195..33da3bb6 100644 --- a/doc/api/a00059_source.html +++ b/doc/api/a00059_source.html @@ -3,8 +3,8 @@ - -GLM: io.hpp Source File + +0.9.6: mat2x4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,130 +41,39 @@
-
io.hpp
+
mat2x4.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_io
-
40 #define GLM_GTX_io
-
41 
-
42 // Dependency:
-
43 #include "../detail/setup.hpp"
-
44 #include "../gtc/quaternion.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_io extension included")
-
48 #endif
-
49 
-
50 #include <iosfwd> // std::basic_ostream<> (fwd)
-
51 #include <utility> // std::pair<>
-
52 
-
53 namespace glm
-
54 {
-
57 
-
58  namespace io
-
59  {
-
60 
-
61  class precision_guard {
-
62 
-
63  public:
-
64 
-
65  GLM_FUNC_DECL explicit precision_guard();
-
66  GLM_FUNC_DECL ~precision_guard();
-
67 
-
68  private:
-
69 
-
70  unsigned precision_;
-
71  unsigned value_width_;
-
72 
-
73  };
-
74 
-
75  class format_guard
-
76  {
-
77  public:
-
78  enum order_t { column_major, row_major, };
-
79 
-
80  GLM_FUNC_DECL explicit format_guard();
-
81  GLM_FUNC_DECL ~format_guard();
-
82 
-
83  private:
-
84 
-
85  order_t order_;
-
86  char cr_;
-
87  };
-
88 
-
89  // decimal places (dflt: 3)
-
90  GLM_FUNC_DECL unsigned& precision();
-
91 
-
92  // sign + value + '.' + decimals (dflt: 1 + 4 + 1 + precision())
-
93  GLM_FUNC_DECL unsigned& value_width();
-
94 
-
95  // matrix output order (dflt: row_major)
-
96  GLM_FUNC_DECL format_guard::order_t& order();
-
97 
-
98  // carriage/return char (dflt: '\n')
-
99  GLM_FUNC_DECL char& cr();
-
100 
-
101  // matrix output order -> column_major
-
102  GLM_FUNC_DECL std::ios_base& column_major(std::ios_base&);
-
103 
-
104  // matrix output order -> row_major
-
105  GLM_FUNC_DECL std::ios_base& row_major (std::ios_base&);
-
106 
-
107  // carriage/return char -> '\n'
-
108  GLM_FUNC_DECL std::ios_base& formatted (std::ios_base&);
-
109 
-
110  // carriage/return char -> ' '
-
111  GLM_FUNC_DECL std::ios_base& unformatted (std::ios_base&);
-
112 
-
113  }//namespace io
-
114 
-
115  namespace detail
-
116  {
-
117  template <typename CTy, typename CTr, typename T, precision P>
-
118  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tquat<T,P> const&);
-
119  template <typename CTy, typename CTr, typename T, precision P>
-
120  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec2<T,P> const&);
-
121  template <typename CTy, typename CTr, typename T, precision P>
-
122  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec3<T,P> const&);
-
123  template <typename CTy, typename CTr, typename T, precision P>
-
124  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec4<T,P> const&);
-
125  template <typename CTy, typename CTr, typename T, precision P>
-
126  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x2<T,P> const&);
-
127  template <typename CTy, typename CTr, typename T, precision P>
-
128  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x3<T,P> const&);
-
129  template <typename CTy, typename CTr, typename T, precision P>
-
130  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x4<T,P> const&);
-
131  template <typename CTy, typename CTr, typename T, precision P>
-
132  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x2<T,P> const&);
-
133  template <typename CTy, typename CTr, typename T, precision P>
-
134  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x3<T,P> const&);
-
135  template <typename CTy, typename CTr, typename T, precision P>
-
136  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x4<T,P> const&);
-
137  template <typename CTy, typename CTr, typename T, precision P>
-
138  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x2<T,P> const&);
-
139  template <typename CTy, typename CTr, typename T, precision P>
-
140  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x3<T,P> const&);
-
141  template <typename CTy, typename CTr, typename T, precision P>
-
142  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x4<T,P> const&);
-
143 
-
145 }//namespace detail
-
146 }//namespace glm
-
147 
-
148 #include "io.inl"
-
149 
-
150 #endif//GLM_GTX_io
+
29 #pragma once
+
30 
+
31 #include "detail/type_mat2x4.hpp"
+
32 
+
33 namespace glm
+
34 {
+
40  typedef tmat2x4<float, lowp> lowp_mat2x4;
+
41 
+
47  typedef tmat2x4<float, mediump> mediump_mat2x4;
+
48 
+
54  typedef tmat2x4<float, highp> highp_mat2x4;
+
55 
+
56 }//namespace glm
+
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:134
+
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:148
+
Definition: _noise.hpp:31
+
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:141
diff --git a/doc/api/a00060.html b/doc/api/a00060.html index f0698738..7d74f2c6 100644 --- a/doc/api/a00060.html +++ b/doc/api/a00060.html @@ -3,8 +3,8 @@ - -GLM: log_base.hpp File Reference + +0.9.6: mat3x2.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,48 +41,32 @@
-
-Namespaces | -Functions
-
log_base.hpp File Reference
+
mat3x2.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - -

-Functions

template<typename genType >
genType log (genType const &x, genType 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:

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_GTX_log_base

-
Date
2008-10-24 / 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 log_base.hpp.

+

Definition in file mat3x2.hpp.

diff --git a/doc/api/a00060_source.html b/doc/api/a00060_source.html index 75b7b0fe..c03796a1 100644 --- a/doc/api/a00060_source.html +++ b/doc/api/a00060_source.html @@ -3,8 +3,8 @@ - -GLM: log_base.hpp Source File + +0.9.6: mat3x2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,45 +41,39 @@
-
log_base.hpp
+
mat3x2.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_log_base
-
39 #define GLM_GTX_log_base
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_log_base extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename genType>
-
56  genType log(
-
57  genType const & x,
-
58  genType const & base);
-
59 
-
61 }//namespace glm
-
62 
-
63 #include "log_base.inl"
-
64 
-
65 #endif//GLM_GTX_log_base
-
GLM_FUNC_DECL genType log(genType const &x)
Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y...
+
29 #pragma once
+
30 
+
31 #include "detail/type_mat3x2.hpp"
+
32 
+
33 namespace glm
+
34 {
+
40  typedef tmat3x2<float, lowp> lowp_mat3x2;
+
41 
+
47  typedef tmat3x2<float, mediump> mediump_mat3x2;
+
48 
+
54  typedef tmat3x2<float, highp> highp_mat3x2;
+
55 
+
56 }//namespace
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:160
+
Definition: _noise.hpp:31
+
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:167
+
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:174
diff --git a/doc/api/a00061.html b/doc/api/a00061.html new file mode 100644 index 00000000..4b0c83a1 --- /dev/null +++ b/doc/api/a00061.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: mat3x3.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat3x3.hpp.

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

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 

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:

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
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat2x2.hpp.

+

Definition in file mat3x4.hpp.

diff --git a/doc/api/a00062_source.html b/doc/api/a00062_source.html index 98aea962..b943933e 100644 --- a/doc/api/a00062_source.html +++ b/doc/api/a00062_source.html @@ -3,8 +3,8 @@ - -GLM: mat2x2.hpp Source File + +0.9.6: mat3x4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,49 +41,39 @@
-
mat2x2.hpp
+
mat3x4.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_MAT2X2_INCLUDED
-
30 #define GLM_MAT2X2_INCLUDED
-
31 
-
32 #include "detail/type_mat2x2.hpp"
-
33 
-
34 namespace glm
-
35 {
-
41  typedef detail::tmat2x2<float, lowp> lowp_mat2;
-
42 
-
48  typedef detail::tmat2x2<float, mediump> mediump_mat2;
-
49 
-
55  typedef detail::tmat2x2<float, highp> highp_mat2;
-
56 
-
62  typedef detail::tmat2x2<float, lowp> lowp_mat2x2;
-
63 
-
69  typedef detail::tmat2x2<float, mediump> mediump_mat2x2;
-
70 
-
76  typedef detail::tmat2x2<float, highp> highp_mat2x2;
-
77 
-
78 }//namespace glm
-
79 
-
80 #endif//GLM_MAT2X2_INCLUDED
-
detail::tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:79
-
detail::tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:72
-
detail::tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
-
detail::tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:65
-
detail::tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
-
detail::tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
+
29 #pragma once
+
30 
+
31 #include "detail/type_mat3x4.hpp"
+
32 
+
33 namespace glm
+
34 {
+
40  typedef tmat3x4<float, lowp> lowp_mat3x4;
+
41 
+
47  typedef tmat3x4<float, mediump> mediump_mat3x4;
+
48 
+
54  typedef tmat3x4<float, highp> highp_mat3x4;
+
55 
+
56 }//namespace glm
+
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:233
+
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:247
+
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:240
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00063.html b/doc/api/a00063.html index f1228929..f5662748 100644 --- a/doc/api/a00063.html +++ b/doc/api/a00063.html @@ -3,8 +3,8 @@ - -GLM: mat2x3.hpp File Reference + +0.9.6: mat4x2.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,32 @@
-
-Namespaces
-
mat2x3.hpp File Reference
+
mat4x2.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 

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:

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
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat2x3.hpp.

+

Definition in file mat4x2.hpp.

diff --git a/doc/api/a00063_source.html b/doc/api/a00063_source.html index e091dace..281c4c0d 100644 --- a/doc/api/a00063_source.html +++ b/doc/api/a00063_source.html @@ -3,8 +3,8 @@ - -GLM: mat2x3.hpp Source File + +0.9.6: mat4x2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,39 @@
-
mat2x3.hpp
+
mat4x2.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_MAT2X3_INCLUDED
-
30 #define GLM_MAT2X3_INCLUDED
-
31 
-
32 #include "detail/type_mat2x3.hpp"
-
33 
-
34 namespace glm
-
35 {
-
41  typedef detail::tmat2x3<float, lowp> lowp_mat2x3;
-
42 
-
48  typedef detail::tmat2x3<float, mediump> mediump_mat2x3;
-
49 
-
55  typedef detail::tmat2x3<float, highp> highp_mat2x3;
-
56 
-
57 }//namespace glm
-
58 
-
59 #endif//GLM_MAT2X3_INCLUDED
-
detail::tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
-
detail::tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
-
detail::tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
+
29 #pragma once
+
30 
+
31 #include "detail/type_mat4x2.hpp"
+
32 
+
33 namespace glm
+
34 {
+
40  typedef tmat4x2<float, lowp> lowp_mat4x2;
+
41 
+
47  typedef tmat4x2<float, mediump> mediump_mat4x2;
+
48 
+
54  typedef tmat4x2<float, highp> highp_mat4x2;
+
55 
+
56 }//namespace glm
+
OpenGL Mathematics (glm.g-truc.net)
+
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:273
+
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:259
+
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:266
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00064_source.html b/doc/api/a00064_source.html index 9a1c409f..42e9a34b 100644 --- a/doc/api/a00064_source.html +++ b/doc/api/a00064_source.html @@ -3,8 +3,8 @@ - -GLM: mat2x4.hpp Source File + +0.9.6: mat4x3.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,39 @@
-
mat2x4.hpp
+
mat4x3.hpp
-Go to the documentation of this file.
1 
-
29 #ifndef GLM_MAT2X4_INCLUDED
-
30 #define GLM_MAT2X4_INCLUDED
-
31 
-
32 #include "detail/type_mat2x4.hpp"
-
33 
-
34 namespace glm
-
35 {
-
41  typedef detail::tmat2x4<float, lowp> lowp_mat2x4;
-
42 
-
48  typedef detail::tmat2x4<float, mediump> mediump_mat2x4;
-
49 
-
55  typedef detail::tmat2x4<float, highp> highp_mat2x4;
-
56 
-
57 }//namespace glm
-
58 
-
59 #endif//GLM_MAT2X4_INCLUDED
-
detail::tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
-
detail::tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
-
detail::tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
+
1 
+
29 #pragma once
+
30 
+
31 #include "detail/type_mat4x3.hpp"
+
32 
+
33 namespace glm
+
34 {
+
40  typedef tmat4x3<float, lowp> lowp_mat4x3;
+
41 
+
47  typedef tmat4x3<float, mediump> mediump_mat4x3;
+
48 
+
54  typedef tmat4x3<float, highp> highp_mat4x3;
+
55 
+
56 }//namespace glm
+
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:292
+
Definition: _noise.hpp:31
+
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:299
+
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:285
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00065.html b/doc/api/a00065.html index 29acf56a..8f7248e2 100644 --- a/doc/api/a00065.html +++ b/doc/api/a00065.html @@ -3,8 +3,8 @@ - -GLM: mat3x2.hpp File Reference + +0.9.6: mat4x4.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,32 @@
-
-Namespaces
-
mat3x2.hpp File Reference
+
mat4x4.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 

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:

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
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat3x2.hpp.

+

Definition in file mat4x4.hpp.

diff --git a/doc/api/a00065_source.html b/doc/api/a00065_source.html index d7d2a5bb..dcacd2fe 100644 --- a/doc/api/a00065_source.html +++ b/doc/api/a00065_source.html @@ -3,8 +3,8 @@ - -GLM: mat3x2.hpp Source File + +0.9.6: mat4x4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,48 @@
-
mat3x2.hpp
+
mat4x4.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_MAT3X2_INCLUDED
-
30 #define GLM_MAT3X2_INCLUDED
-
31 
-
32 #include "detail/type_mat3x2.hpp"
-
33 
-
34 namespace glm
-
35 {
-
41  typedef detail::tmat3x2<float, lowp> lowp_mat3x2;
-
42 
-
48  typedef detail::tmat3x2<float, mediump> mediump_mat3x2;
-
49 
-
55  typedef detail::tmat3x2<float, highp> highp_mat3x2;
-
56 
-
57 }//namespace
-
58 
-
59 #endif//GLM_MAT3X2_INCLUDED
-
detail::tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
-
detail::tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
-
detail::tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
+
29 #pragma once
+
30 
+
31 #include "detail/type_mat4x4.hpp"
+
32 
+
33 namespace glm
+
34 {
+
40  typedef tmat4x4<float, lowp> lowp_mat4;
+
41 
+
47  typedef tmat4x4<float, mediump> mediump_mat4;
+
48 
+
54  typedef tmat4x4<float, highp> highp_mat4;
+
55 
+
61  typedef tmat4x4<float, lowp> lowp_mat4x4;
+
62 
+
68  typedef tmat4x4<float, mediump> mediump_mat4x4;
+
69 
+
75  typedef tmat4x4<float, highp> highp_mat4x4;
+
76 
+
77 }//namespace glm
+
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:347
+
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:312
+
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:333
+
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:340
+
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:326
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
+
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:319
diff --git a/doc/api/a00066.html b/doc/api/a00066.html index 52b2f3e4..84cbeb49 100644 --- a/doc/api/a00066.html +++ b/doc/api/a00066.html @@ -3,8 +3,8 @@ - -GLM: mat3x3.hpp File Reference + +0.9.6: matrix.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,32 @@
-
-Namespaces
-
mat3x3.hpp File Reference
+
matrix.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 

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:

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
2013-12-24 / 2013-12-24
Author
Christophe Riccio
-

Definition in file mat3x3.hpp.

+

Definition in file matrix.hpp.

diff --git a/doc/api/a00066_source.html b/doc/api/a00066_source.html index 9249f981..2bfcb41a 100644 --- a/doc/api/a00066_source.html +++ b/doc/api/a00066_source.html @@ -3,8 +3,8 @@ - -GLM: mat3x3.hpp Source File + +0.9.6: matrix.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,49 +41,25 @@
-
mat3x3.hpp
+
matrix.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_MAT3X3_INCLUDED
-
30 #define GLM_MAT3X3_INCLUDED
-
31 
-
32 #include "detail/type_mat3x3.hpp"
-
33 
-
34 namespace glm
-
35 {
-
41  typedef detail::tmat3x3<float, lowp> lowp_mat3;
-
42 
-
48  typedef detail::tmat3x3<float, mediump> mediump_mat3;
-
49 
-
55  typedef detail::tmat3x3<float, highp> highp_mat3;
-
56 
-
62  typedef detail::tmat3x3<float, lowp> lowp_mat3x3;
-
63 
-
69  typedef detail::tmat3x3<float, mediump> mediump_mat3x3;
-
70 
-
76  typedef detail::tmat3x3<float, highp> highp_mat3x3;
-
77 
-
78 }//namespace glm
-
79 
-
80 #endif//GLM_MAT3X3_INCLUDED
-
detail::tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:197
-
detail::tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
-
detail::tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:204
-
detail::tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:190
-
detail::tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
-
detail::tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
+
29 #pragma once
+
30 
+
31 #include "detail/func_matrix.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00067.html b/doc/api/a00067.html index 0cf3079b..8bc2f3b9 100644 --- a/doc/api/a00067.html +++ b/doc/api/a00067.html @@ -3,8 +3,8 @@ - -GLM: mat3x4.hpp File Reference + +0.9.6: matrix_access.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,51 @@
-Namespaces
+Functions
-
mat3x4.hpp File Reference
+
matrix_access.hpp File Reference

Go to the source code of this file.

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

-Namespaces

 glm
 

+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:

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTC_matrix_access

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

Definition in file mat3x4.hpp.

+

Definition in file matrix_access.hpp.

diff --git a/doc/api/a00067_source.html b/doc/api/a00067_source.html index f6ef93b1..a3cca494 100644 --- a/doc/api/a00067_source.html +++ b/doc/api/a00067_source.html @@ -3,8 +3,8 @@ - -GLM: mat3x4.hpp Source File + +0.9.6: matrix_access.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,61 @@
-
mat3x4.hpp
+
matrix_access.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_MAT3X4_INCLUDED
-
30 #define GLM_MAT3X4_INCLUDED
-
31 
-
32 #include "detail/type_mat3x4.hpp"
-
33 
-
34 namespace glm
-
35 {
-
41  typedef detail::tmat3x4<float, lowp> lowp_mat3x4;
-
42 
-
48  typedef detail::tmat3x4<float, mediump> mediump_mat3x4;
-
49 
-
55  typedef detail::tmat3x4<float, highp> highp_mat3x4;
-
56 
-
57 }//namespace glm
-
58 
-
59 #endif//GLM_MAT3X4_INCLUDED
-
detail::tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
-
detail::tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
-
detail::tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
+
37 #pragma once
+
38 
+
39 // Dependency:
+
40 #include "../detail/setup.hpp"
+
41 
+
42 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
43 # pragma message("GLM: GLM_GTC_matrix_access extension included")
+
44 #endif
+
45 
+
46 namespace glm
+
47 {
+
50 
+
53  template <typename genType>
+
54  GLM_FUNC_DECL typename genType::row_type row(
+
55  genType const & m,
+
56  length_t index);
+
57 
+
60  template <typename genType>
+
61  GLM_FUNC_DECL genType row(
+
62  genType const & m,
+
63  length_t index,
+
64  typename genType::row_type const & x);
+
65 
+
68  template <typename genType>
+
69  GLM_FUNC_DECL typename genType::col_type column(
+
70  genType const & m,
+
71  length_t index);
+
72 
+
75  template <typename genType>
+
76  GLM_FUNC_DECL genType column(
+
77  genType const & m,
+
78  length_t index,
+
79  typename genType::col_type const & x);
+
80 
+
82 }//namespace glm
+
83 
+
84 #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.
+
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:31
diff --git a/doc/api/a00068.html b/doc/api/a00068.html index bed87518..f06c4a7a 100644 --- a/doc/api/a00068.html +++ b/doc/api/a00068.html @@ -3,8 +3,8 @@ - -GLM: mat4x2.hpp File Reference + +0.9.6: matrix_cross_product.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,47 @@
-Namespaces
+Functions
-
mat4x2.hpp File Reference
+
matrix_cross_product.hpp File Reference

Go to the source code of this file.

- - - + + + + + + +

-Namespaces

 glm
 

+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:

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

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)
-

Definition in file mat4x2.hpp.

+

Definition in file matrix_cross_product.hpp.

diff --git a/doc/api/a00068_source.html b/doc/api/a00068_source.html index d8531a81..5d78cf50 100644 --- a/doc/api/a00068_source.html +++ b/doc/api/a00068_source.html @@ -3,8 +3,8 @@ - -GLM: mat4x2.hpp Source File + +0.9.6: matrix_cross_product.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,47 @@
-
mat4x2.hpp
+
matrix_cross_product.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_MAT4X2_INCLUDED
-
30 #define GLM_MAT4X2_INCLUDED
-
31 
-
32 #include "detail/type_mat4x2.hpp"
-
33 
-
34 namespace glm
-
35 {
-
41  typedef detail::tmat4x2<float, lowp> lowp_mat4x2;
-
42 
-
48  typedef detail::tmat4x2<float, mediump> mediump_mat4x2;
-
49 
-
55  typedef detail::tmat4x2<float, highp> highp_mat4x2;
-
56 
-
57 }//namespace glm
-
58 
-
59 #endif//GLM_MAT4X2_INCLUDED
-
detail::tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
-
detail::tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
-
detail::tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  GLM_FUNC_DECL tmat3x3<T, P> matrixCross3(
+
57  tvec3<T, P> const & x);
+
58 
+
61  template <typename T, precision P>
+
62  GLM_FUNC_DECL tmat4x4<T, P> matrixCross4(
+
63  tvec3<T, P> const & x);
+
64 
+
66 }//namespace glm
+
67 
+
68 #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:31
diff --git a/doc/api/a00069.html b/doc/api/a00069.html new file mode 100644 index 00000000..dabb9bee --- /dev/null +++ b/doc/api/a00069.html @@ -0,0 +1,82 @@ + + + + + + +0.9.6: matrix_decompose.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
matrix_decompose.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+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)
 
+

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:

+

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_GTX_matrix_decompose

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

Definition in file matrix_decompose.hpp.

+
+ + + + diff --git a/doc/api/a00069_source.html b/doc/api/a00069_source.html index 2fea425b..9d035ade 100644 --- a/doc/api/a00069_source.html +++ b/doc/api/a00069_source.html @@ -3,8 +3,8 @@ - -GLM: mat4x3.hpp Source File + +0.9.6: matrix_decompose.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,50 @@
-
mat4x3.hpp
+
matrix_decompose.hpp
-
1 
-
29 #ifndef GLM_MAT4X3_INCLUDED
-
30 #define GLM_MAT4X3_INCLUDED
-
31 
-
32 #include "detail/type_mat4x3.hpp"
-
33 
-
34 namespace glm
-
35 {
-
41  typedef detail::tmat4x3<float, lowp> lowp_mat4x3;
-
42 
-
48  typedef detail::tmat4x3<float, mediump> mediump_mat4x3;
-
49 
-
55  typedef detail::tmat4x3<float, highp> highp_mat4x3;
-
56 
-
57 }//namespace glm
-
58 
-
59 #endif//GLM_MAT4X3_INCLUDED
-
detail::tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:296
-
detail::tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:303
-
detail::tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:289
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 // Dependencies
+
41 #include "../mat4x4.hpp"
+
42 #include "../vec3.hpp"
+
43 #include "../vec4.hpp"
+
44 #include "../gtc/quaternion.hpp"
+
45 #include "../gtc/matrix_transform.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_matrix_decompose extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename T, precision P>
+
59  GLM_FUNC_DECL bool decompose(
+
60  tmat4x4<T, P> const & modelMatrix,
+
61  tvec3<T, P> & scale, tquat<T, P> & orientation, tvec3<T, P> & translation, tvec3<T, P> & skew, tvec4<T, P> & perspective);
+
62 
+
64 }//namespace glm
+
65 
+
66 #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.
+
Definition: _noise.hpp:31
+
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.
+
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.
diff --git a/doc/api/a00070.html b/doc/api/a00070.html index 1b3f7cfb..3c0ea641 100644 --- a/doc/api/a00070.html +++ b/doc/api/a00070.html @@ -3,8 +3,8 @@ - -GLM: mat4x4.hpp File Reference + +0.9.6: matrix_integer.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,40 +41,231 @@
-Namespaces
+Typedefs
-
mat4x4.hpp File Reference
+
matrix_integer.hpp File Reference

Go to the source code of this file.

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

-Namespaces

 glm
 

+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:

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTC_matrix_integer

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

Definition in file mat4x4.hpp.

+

Definition in file matrix_integer.hpp.

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

Go to the source code of this file.

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

+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

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:

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

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.hpp.

+

Definition in file matrix_interpolation.hpp.

diff --git a/doc/api/a00071_source.html b/doc/api/a00071_source.html index 8279eddc..20a45925 100644 --- a/doc/api/a00071_source.html +++ b/doc/api/a00071_source.html @@ -3,8 +3,8 @@ - -GLM: matrix.hpp Source File + +0.9.6: matrix_interpolation.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,64 @@
-
matrix.hpp
+
matrix_interpolation.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_MATRIX_INCLUDED
-
30 #define GLM_MATRIX_INCLUDED
-
31 
-
32 #include "detail/func_matrix.hpp"
-
33 
-
34 #endif//GLM_MATRIX_INCLUDED
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename T, precision P>
+
55  GLM_FUNC_DECL void axisAngle(
+
56  tmat4x4<T, P> const & mat,
+
57  tvec3<T, P> & axis,
+
58  T & angle);
+
59 
+
62  template <typename T, precision P>
+
63  GLM_FUNC_DECL tmat4x4<T, P> axisAngleMatrix(
+
64  tvec3<T, P> const & axis,
+
65  T const angle);
+
66 
+
69  template <typename T, precision P>
+
70  GLM_FUNC_DECL tmat4x4<T, P> extractMatrixRotation(
+
71  tmat4x4<T, P> const & mat);
+
72 
+
76  template <typename T, precision P>
+
77  GLM_FUNC_DECL tmat4x4<T, P> interpolate(
+
78  tmat4x4<T, P> const & m1,
+
79  tmat4x4<T, P> const & m2,
+
80  T const delta);
+
81 
+
83 }//namespace glm
+
84 
+
85 #include "matrix_interpolation.inl"
+
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.
+
Definition: _noise.hpp:31
+
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 tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
+
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 tmat4x4< T, P > extractMatrixRotation(tmat4x4< T, P > const &mat)
Extracts the rotation part of a matrix.
diff --git a/doc/api/a00072.html b/doc/api/a00072.html index d14b7a16..7e0add14 100644 --- a/doc/api/a00072.html +++ b/doc/api/a00072.html @@ -3,8 +3,8 @@ - -GLM: matrix_access.hpp File Reference + +0.9.6: matrix_inverse.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,57 +41,45 @@
-Namespaces | Functions
-
matrix_access.hpp File Reference
+
matrix_inverse.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - + + + + + +

Functions

template<typename genType >
genType::col_type column (genType const &m, length_t const &index)
 
template<typename genType >
genType column (genType const &m, length_t const &index, typename genType::col_type const &x)
 
template<typename genType >
genType::row_type row (genType const &m, length_t const &index)
 
template<typename genType >
genType row (genType const &m, length_t const &index, typename genType::row_type const &x)
 
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:

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_GTC_matrix_access

-
Date
2005-12-27 / 2011-05-16
+

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_access.hpp.

+

Definition in file matrix_inverse.hpp.

diff --git a/doc/api/a00072_source.html b/doc/api/a00072_source.html index 5fa38a6b..8f9b2b26 100644 --- a/doc/api/a00072_source.html +++ b/doc/api/a00072_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_access.hpp Source File + +0.9.6: matrix_inverse.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,63 +41,45 @@
-
matrix_access.hpp
+
matrix_inverse.hpp
Go to the documentation of this file.
1 
-
37 #ifndef GLM_GTC_matrix_access
-
38 #define GLM_GTC_matrix_access
-
39 
-
40 // Dependency:
-
41 #include "../detail/setup.hpp"
-
42 
-
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
44 # pragma message("GLM: GLM_GTC_matrix_access extension included")
-
45 #endif
-
46 
-
47 namespace glm
-
48 {
-
51 
-
54  template <typename genType>
-
55  typename genType::row_type row(
-
56  genType const & m,
-
57  length_t const & index);
+
37 #pragma once
+
38 
+
39 // Dependencies
+
40 #include "../detail/setup.hpp"
+
41 
+
42 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
43 # pragma message("GLM: GLM_GTC_matrix_inverse extension included")
+
44 #endif
+
45 
+
46 namespace glm
+
47 {
+
50 
+
56  template <typename genType>
+
57  GLM_FUNC_DECL genType affineInverse(genType const & m);
58 
-
61  template <typename genType>
-
62  genType row(
-
63  genType const & m,
-
64  length_t const & index,
-
65  typename genType::row_type const & x);
+
64  template <typename genType>
+
65  GLM_FUNC_DECL genType inverseTranspose(genType const & m);
66 
-
69  template <typename genType>
-
70  typename genType::col_type column(
-
71  genType const & m,
-
72  length_t const & index);
-
73 
-
76  template <typename genType>
-
77  genType column(
-
78  genType const & m,
-
79  length_t const & index,
-
80  typename genType::col_type const & x);
-
81 
-
83 }//namespace glm
-
84 
-
85 #include "matrix_access.inl"
-
86 
-
87 #endif//GLM_GTC_matrix_access
-
genType::col_type column(genType const &m, length_t const &index)
Get a specific column of a matrix.
-
genType::row_type row(genType const &m, length_t const &index)
Get a specific row of a matrix.
+
68 }//namespace glm
+
69 
+
70 #include "matrix_inverse.inl"
+
GLM_FUNC_DECL genType inverseTranspose(genType const &m)
Compute the inverse transpose of a matrix.
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL genType affineInverse(genType const &m)
Fast matrix inverse for affine matrix.
diff --git a/doc/api/a00073.html b/doc/api/a00073.html index 4bbe0b23..a41d4347 100644 --- a/doc/api/a00073.html +++ b/doc/api/a00073.html @@ -3,8 +3,8 @@ - -GLM: matrix_cross_product.hpp File Reference + +0.9.6: matrix_major_storage.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,53 +41,77 @@
-Namespaces | Functions
-
matrix_cross_product.hpp File Reference
+
matrix_major_storage.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tmat3x3< T, P > matrixCross3 (detail::tvec3< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > matrixCross4 (detail::tvec3< T, P > const &x)
 
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:

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_GTX_matrix_cross_product

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

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_extented_min_max (dependence)
+GLM_GTX_extented_min_max (dependence)
-

Definition in file matrix_cross_product.hpp.

+

Definition in file matrix_major_storage.hpp.

diff --git a/doc/api/a00073_source.html b/doc/api/a00073_source.html index 27c9e1b0..9820b0f1 100644 --- a/doc/api/a00073_source.html +++ b/doc/api/a00073_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_cross_product.hpp Source File + +0.9.6: matrix_major_storage.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,49 +41,103 @@
-
matrix_cross_product.hpp
+
matrix_major_storage.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_matrix_cross_product
-
40 #define GLM_GTX_matrix_cross_product
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T, precision P>
-
57  detail::tmat3x3<T, P> matrixCross3(
-
58  detail::tvec3<T, P> const & x);
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  GLM_FUNC_DECL tmat2x2<T, P> rowMajor2(
+
57  tvec2<T, P> const & v1,
+
58  tvec2<T, P> const & v2);
59 
62  template <typename T, precision P>
-
63  detail::tmat4x4<T, P> matrixCross4(
-
64  detail::tvec3<T, P> const & x);
+
63  GLM_FUNC_DECL tmat2x2<T, P> rowMajor2(
+
64  tmat2x2<T, P> const & m);
65 
-
67 }//namespace glm
-
68 
-
69 #include "matrix_cross_product.inl"
-
70 
-
71 #endif//GLM_GTX_matrix_cross_product
-
detail::tmat4x4< T, P > matrixCross4(detail::tvec3< T, P > const &x)
Build a cross product matrix.
-
detail::tmat3x3< T, P > matrixCross3(detail::tvec3< T, P > const &x)
Build a cross product matrix.
+
68  template <typename T, precision P>
+
69  GLM_FUNC_DECL tmat3x3<T, P> rowMajor3(
+
70  tvec3<T, P> const & v1,
+
71  tvec3<T, P> const & v2,
+
72  tvec3<T, P> const & v3);
+
73 
+
76  template <typename T, precision P>
+
77  GLM_FUNC_DECL tmat3x3<T, P> rowMajor3(
+
78  tmat3x3<T, P> const & m);
+
79 
+
82  template <typename T, precision P>
+
83  GLM_FUNC_DECL tmat4x4<T, P> rowMajor4(
+
84  tvec4<T, P> const & v1,
+
85  tvec4<T, P> const & v2,
+
86  tvec4<T, P> const & v3,
+
87  tvec4<T, P> const & v4);
+
88 
+
91  template <typename T, precision P>
+
92  GLM_FUNC_DECL tmat4x4<T, P> rowMajor4(
+
93  tmat4x4<T, P> const & m);
+
94 
+
97  template <typename T, precision P>
+
98  GLM_FUNC_DECL tmat2x2<T, P> colMajor2(
+
99  tvec2<T, P> const & v1,
+
100  tvec2<T, P> const & v2);
+
101 
+
104  template <typename T, precision P>
+
105  GLM_FUNC_DECL tmat2x2<T, P> colMajor2(
+
106  tmat2x2<T, P> const & m);
+
107 
+
110  template <typename T, precision P>
+
111  GLM_FUNC_DECL tmat3x3<T, P> colMajor3(
+
112  tvec3<T, P> const & v1,
+
113  tvec3<T, P> const & v2,
+
114  tvec3<T, P> const & v3);
+
115 
+
118  template <typename T, precision P>
+
119  GLM_FUNC_DECL tmat3x3<T, P> colMajor3(
+
120  tmat3x3<T, P> const & m);
+
121 
+
124  template <typename T, precision P>
+
125  GLM_FUNC_DECL tmat4x4<T, P> colMajor4(
+
126  tvec4<T, P> const & v1,
+
127  tvec4<T, P> const & v2,
+
128  tvec4<T, P> const & v3,
+
129  tvec4<T, P> const & v4);
+
130 
+
133  template <typename T, precision P>
+
134  GLM_FUNC_DECL tmat4x4<T, P> colMajor4(
+
135  tmat4x4<T, P> const & m);
+
136 
+
138 }//namespace glm
+
139 
+
140 #include "matrix_major_storage.inl"
+
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4(tmat4x4< 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 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 tmat2x2< T, P > colMajor2(tmat2x2< T, P > const &m)
Build a column major matrix from other matrix.
+
Definition: _noise.hpp:31
+
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/a00074.html b/doc/api/a00074.html index fe3f1d7d..f10b840a 100644 --- a/doc/api/a00074.html +++ b/doc/api/a00074.html @@ -3,8 +3,8 @@ - -GLM: matrix_integer.hpp File Reference + +0.9.6: matrix_operation.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,309 +41,66 @@
-Namespaces | -Typedefs
+Functions
-
matrix_integer.hpp File Reference
+
matrix_operation.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef detail::tmat2x2< int,
-highp > 
highp_imat2
 
typedef detail::tmat2x2< int,
-highp > 
highp_imat2x2
 
typedef detail::tmat2x3< int,
-highp > 
highp_imat2x3
 
typedef detail::tmat2x4< int,
-highp > 
highp_imat2x4
 
typedef detail::tmat3x3< int,
-highp > 
highp_imat3
 
typedef detail::tmat3x2< int,
-highp > 
highp_imat3x2
 
typedef detail::tmat3x3< int,
-highp > 
highp_imat3x3
 
typedef detail::tmat3x4< int,
-highp > 
highp_imat3x4
 
typedef detail::tmat4x4< int,
-highp > 
highp_imat4
 
typedef detail::tmat4x2< int,
-highp > 
highp_imat4x2
 
typedef detail::tmat4x3< int,
-highp > 
highp_imat4x3
 
typedef detail::tmat4x4< int,
-highp > 
highp_imat4x4
 
typedef detail::tmat2x2< uint,
-highp > 
highp_umat2
 
typedef detail::tmat2x2< uint,
-highp > 
highp_umat2x2
 
typedef detail::tmat2x3< uint,
-highp > 
highp_umat2x3
 
typedef detail::tmat2x4< uint,
-highp > 
highp_umat2x4
 
typedef detail::tmat3x3< uint,
-highp > 
highp_umat3
 
typedef detail::tmat3x2< uint,
-highp > 
highp_umat3x2
 
typedef detail::tmat3x3< uint,
-highp > 
highp_umat3x3
 
typedef detail::tmat3x4< uint,
-highp > 
highp_umat3x4
 
typedef detail::tmat4x4< uint,
-highp > 
highp_umat4
 
typedef detail::tmat4x2< uint,
-highp > 
highp_umat4x2
 
typedef detail::tmat4x3< uint,
-highp > 
highp_umat4x3
 
typedef detail::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 detail::tmat2x2< int,
-lowp > 
lowp_imat2
 
typedef detail::tmat2x2< int,
-lowp > 
lowp_imat2x2
 
typedef detail::tmat2x3< int,
-lowp > 
lowp_imat2x3
 
typedef detail::tmat2x4< int,
-lowp > 
lowp_imat2x4
 
typedef detail::tmat3x3< int,
-lowp > 
lowp_imat3
 
typedef detail::tmat3x2< int,
-lowp > 
lowp_imat3x2
 
typedef detail::tmat3x3< int,
-lowp > 
lowp_imat3x3
 
typedef detail::tmat3x4< int,
-lowp > 
lowp_imat3x4
 
typedef detail::tmat4x4< int,
-lowp > 
lowp_imat4
 
typedef detail::tmat4x2< int,
-lowp > 
lowp_imat4x2
 
typedef detail::tmat4x3< int,
-lowp > 
lowp_imat4x3
 
typedef detail::tmat4x4< int,
-lowp > 
lowp_imat4x4
 
typedef detail::tmat2x2< uint,
-lowp > 
lowp_umat2
 
typedef detail::tmat2x2< uint,
-lowp > 
lowp_umat2x2
 
typedef detail::tmat2x3< uint,
-lowp > 
lowp_umat2x3
 
typedef detail::tmat2x4< uint,
-lowp > 
lowp_umat2x4
 
typedef detail::tmat3x3< uint,
-lowp > 
lowp_umat3
 
typedef detail::tmat3x2< uint,
-lowp > 
lowp_umat3x2
 
typedef detail::tmat3x3< uint,
-lowp > 
lowp_umat3x3
 
typedef detail::tmat3x4< uint,
-lowp > 
lowp_umat3x4
 
typedef detail::tmat4x4< uint,
-lowp > 
lowp_umat4
 
typedef detail::tmat4x2< uint,
-lowp > 
lowp_umat4x2
 
typedef detail::tmat4x3< uint,
-lowp > 
lowp_umat4x3
 
typedef detail::tmat4x4< uint,
-lowp > 
lowp_umat4x4
 
typedef detail::tmat2x2< int,
-mediump > 
mediump_imat2
 
typedef detail::tmat2x2< int,
-mediump > 
mediump_imat2x2
 
typedef detail::tmat2x3< int,
-mediump > 
mediump_imat2x3
 
typedef detail::tmat2x4< int,
-mediump > 
mediump_imat2x4
 
typedef detail::tmat3x3< int,
-mediump > 
mediump_imat3
 
typedef detail::tmat3x2< int,
-mediump > 
mediump_imat3x2
 
typedef detail::tmat3x3< int,
-mediump > 
mediump_imat3x3
 
typedef detail::tmat3x4< int,
-mediump > 
mediump_imat3x4
 
typedef detail::tmat4x4< int,
-mediump > 
mediump_imat4
 
typedef detail::tmat4x2< int,
-mediump > 
mediump_imat4x2
 
typedef detail::tmat4x3< int,
-mediump > 
mediump_imat4x3
 
typedef detail::tmat4x4< int,
-mediump > 
mediump_imat4x4
 
typedef detail::tmat2x2< uint,
-mediump > 
mediump_umat2
 
typedef detail::tmat2x2< uint,
-mediump > 
mediump_umat2x2
 
typedef detail::tmat2x3< uint,
-mediump > 
mediump_umat2x3
 
typedef detail::tmat2x4< uint,
-mediump > 
mediump_umat2x4
 
typedef detail::tmat3x3< uint,
-mediump > 
mediump_umat3
 
typedef detail::tmat3x2< uint,
-mediump > 
mediump_umat3x2
 
typedef detail::tmat3x3< uint,
-mediump > 
mediump_umat3x3
 
typedef detail::tmat3x4< uint,
-mediump > 
mediump_umat3x4
 
typedef detail::tmat4x4< uint,
-mediump > 
mediump_umat4
 
typedef detail::tmat4x2< uint,
-mediump > 
mediump_umat4x2
 
typedef detail::tmat4x3< uint,
-mediump > 
mediump_umat4x3
 
typedef detail::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 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:

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_GTC_matrix_integer

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

GLM_GTX_matrix_operation

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

Definition in file matrix_integer.hpp.

+

Definition in file matrix_operation.hpp.

diff --git a/doc/api/a00074_source.html b/doc/api/a00074_source.html index 02b9e3dd..d0cca31e 100644 --- a/doc/api/a00074_source.html +++ b/doc/api/a00074_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_integer.hpp Source File + +0.9.6: matrix_operation.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,400 +41,82 @@
-
matrix_integer.hpp
+
matrix_operation.hpp
Go to the documentation of this file.
1 
-
37 #ifndef GLM_GTC_matrix_integer
-
38 #define GLM_GTC_matrix_integer
-
39 
+
38 #pragma once
+
39 
40 // Dependency:
-
41 #include "../mat2x2.hpp"
-
42 #include "../mat2x3.hpp"
-
43 #include "../mat2x4.hpp"
-
44 #include "../mat3x2.hpp"
-
45 #include "../mat3x3.hpp"
-
46 #include "../mat3x4.hpp"
-
47 #include "../mat4x2.hpp"
-
48 #include "../mat4x3.hpp"
-
49 #include "../mat4x4.hpp"
-
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
52 # pragma message("GLM: GLM_GTC_matrix_integer extension included")
-
53 #endif
-
54 
-
55 namespace glm
-
56 {
-
59 
-
62  typedef detail::tmat2x2<int, highp> highp_imat2;
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename T, precision P>
+
55  GLM_FUNC_DECL tmat2x2<T, P> diagonal2x2(
+
56  tvec2<T, P> const & v);
+
57 
+
60  template <typename T, precision P>
+
61  GLM_FUNC_DECL tmat2x3<T, P> diagonal2x3(
+
62  tvec2<T, P> const & v);
63 
-
66  typedef detail::tmat3x3<int, highp> highp_imat3;
-
67 
-
70  typedef detail::tmat4x4<int, highp> highp_imat4;
-
71 
-
74  typedef detail::tmat2x2<int, highp> highp_imat2x2;
+
66  template <typename T, precision P>
+
67  GLM_FUNC_DECL tmat2x4<T, P> diagonal2x4(
+
68  tvec2<T, P> const & v);
+
69 
+
72  template <typename T, precision P>
+
73  GLM_FUNC_DECL tmat3x2<T, P> diagonal3x2(
+
74  tvec2<T, P> const & v);
75 
-
78  typedef detail::tmat2x3<int, highp> highp_imat2x3;
-
79 
-
82  typedef detail::tmat2x4<int, highp> highp_imat2x4;
-
83 
-
86  typedef detail::tmat3x2<int, highp> highp_imat3x2;
+
78  template <typename T, precision P>
+
79  GLM_FUNC_DECL tmat3x3<T, P> diagonal3x3(
+
80  tvec3<T, P> const & v);
+
81 
+
84  template <typename T, precision P>
+
85  GLM_FUNC_DECL tmat3x4<T, P> diagonal3x4(
+
86  tvec3<T, P> const & v);
87 
-
90  typedef detail::tmat3x3<int, highp> highp_imat3x3;
-
91 
-
94  typedef detail::tmat3x4<int, highp> highp_imat3x4;
-
95 
-
98  typedef detail::tmat4x2<int, highp> highp_imat4x2;
+
90  template <typename T, precision P>
+
91  GLM_FUNC_DECL tmat4x2<T, P> diagonal4x2(
+
92  tvec2<T, P> const & v);
+
93 
+
96  template <typename T, precision P>
+
97  GLM_FUNC_DECL tmat4x3<T, P> diagonal4x3(
+
98  tvec3<T, P> const & v);
99 
-
102  typedef detail::tmat4x3<int, highp> highp_imat4x3;
-
103 
-
106  typedef detail::tmat4x4<int, highp> highp_imat4x4;
-
107 
+
102  template <typename T, precision P>
+
103  GLM_FUNC_DECL tmat4x4<T, P> diagonal4x4(
+
104  tvec4<T, P> const & v);
+
105 
+
107 }//namespace glm
108 
-
111  typedef detail::tmat2x2<int, mediump> mediump_imat2;
-
112 
-
115  typedef detail::tmat3x3<int, mediump> mediump_imat3;
-
116 
-
119  typedef detail::tmat4x4<int, mediump> mediump_imat4;
-
120 
-
121 
-
124  typedef detail::tmat2x2<int, mediump> mediump_imat2x2;
-
125 
-
128  typedef detail::tmat2x3<int, mediump> mediump_imat2x3;
-
129 
-
132  typedef detail::tmat2x4<int, mediump> mediump_imat2x4;
-
133 
-
136  typedef detail::tmat3x2<int, mediump> mediump_imat3x2;
-
137 
-
140  typedef detail::tmat3x3<int, mediump> mediump_imat3x3;
-
141 
-
144  typedef detail::tmat3x4<int, mediump> mediump_imat3x4;
-
145 
-
148  typedef detail::tmat4x2<int, mediump> mediump_imat4x2;
-
149 
-
152  typedef detail::tmat4x3<int, mediump> mediump_imat4x3;
-
153 
-
156  typedef detail::tmat4x4<int, mediump> mediump_imat4x4;
-
157 
-
158 
-
161  typedef detail::tmat2x2<int, lowp> lowp_imat2;
-
162 
-
165  typedef detail::tmat3x3<int, lowp> lowp_imat3;
-
166 
-
169  typedef detail::tmat4x4<int, lowp> lowp_imat4;
-
170 
-
171 
-
174  typedef detail::tmat2x2<int, lowp> lowp_imat2x2;
-
175 
-
178  typedef detail::tmat2x3<int, lowp> lowp_imat2x3;
-
179 
-
182  typedef detail::tmat2x4<int, lowp> lowp_imat2x4;
-
183 
-
186  typedef detail::tmat3x2<int, lowp> lowp_imat3x2;
-
187 
-
190  typedef detail::tmat3x3<int, lowp> lowp_imat3x3;
-
191 
-
194  typedef detail::tmat3x4<int, lowp> lowp_imat3x4;
-
195 
-
198  typedef detail::tmat4x2<int, lowp> lowp_imat4x2;
-
199 
-
202  typedef detail::tmat4x3<int, lowp> lowp_imat4x3;
-
203 
-
206  typedef detail::tmat4x4<int, lowp> lowp_imat4x4;
-
207 
-
208 
-
211  typedef detail::tmat2x2<uint, highp> highp_umat2;
-
212 
-
215  typedef detail::tmat3x3<uint, highp> highp_umat3;
-
216 
-
219  typedef detail::tmat4x4<uint, highp> highp_umat4;
-
220 
-
223  typedef detail::tmat2x2<uint, highp> highp_umat2x2;
-
224 
-
227  typedef detail::tmat2x3<uint, highp> highp_umat2x3;
-
228 
-
231  typedef detail::tmat2x4<uint, highp> highp_umat2x4;
-
232 
-
235  typedef detail::tmat3x2<uint, highp> highp_umat3x2;
-
236 
-
239  typedef detail::tmat3x3<uint, highp> highp_umat3x3;
-
240 
-
243  typedef detail::tmat3x4<uint, highp> highp_umat3x4;
-
244 
-
247  typedef detail::tmat4x2<uint, highp> highp_umat4x2;
-
248 
-
251  typedef detail::tmat4x3<uint, highp> highp_umat4x3;
-
252 
-
255  typedef detail::tmat4x4<uint, highp> highp_umat4x4;
-
256 
-
257 
-
260  typedef detail::tmat2x2<uint, mediump> mediump_umat2;
-
261 
-
264  typedef detail::tmat3x3<uint, mediump> mediump_umat3;
-
265 
-
268  typedef detail::tmat4x4<uint, mediump> mediump_umat4;
-
269 
-
270 
-
273  typedef detail::tmat2x2<uint, mediump> mediump_umat2x2;
-
274 
-
277  typedef detail::tmat2x3<uint, mediump> mediump_umat2x3;
-
278 
-
281  typedef detail::tmat2x4<uint, mediump> mediump_umat2x4;
-
282 
-
285  typedef detail::tmat3x2<uint, mediump> mediump_umat3x2;
-
286 
-
289  typedef detail::tmat3x3<uint, mediump> mediump_umat3x3;
-
290 
-
293  typedef detail::tmat3x4<uint, mediump> mediump_umat3x4;
-
294 
-
297  typedef detail::tmat4x2<uint, mediump> mediump_umat4x2;
-
298 
-
301  typedef detail::tmat4x3<uint, mediump> mediump_umat4x3;
-
302 
-
305  typedef detail::tmat4x4<uint, mediump> mediump_umat4x4;
-
306 
-
307 
-
310  typedef detail::tmat2x2<uint, lowp> lowp_umat2;
-
311 
-
314  typedef detail::tmat3x3<uint, lowp> lowp_umat3;
-
315 
-
318  typedef detail::tmat4x4<uint, lowp> lowp_umat4;
-
319 
-
320 
-
323  typedef detail::tmat2x2<uint, lowp> lowp_umat2x2;
-
324 
-
327  typedef detail::tmat2x3<uint, lowp> lowp_umat2x3;
-
328 
-
331  typedef detail::tmat2x4<uint, lowp> lowp_umat2x4;
-
332 
-
335  typedef detail::tmat3x2<uint, lowp> lowp_umat3x2;
-
336 
-
339  typedef detail::tmat3x3<uint, lowp> lowp_umat3x3;
-
340 
-
343  typedef detail::tmat3x4<uint, lowp> lowp_umat3x4;
-
344 
-
347  typedef detail::tmat4x2<uint, lowp> lowp_umat4x2;
-
348 
-
351  typedef detail::tmat4x3<uint, lowp> lowp_umat4x3;
-
352 
-
355  typedef detail::tmat4x4<uint, lowp> lowp_umat4x4;
-
356 
-
357 #if(defined(GLM_PRECISION_HIGHP_INT))
-
358  typedef highp_imat2 imat2;
-
359  typedef highp_imat3 imat3;
-
360  typedef highp_imat4 imat4;
-
361  typedef highp_imat2x2 imat2x2;
-
362  typedef highp_imat2x3 imat2x3;
-
363  typedef highp_imat2x4 imat2x4;
-
364  typedef highp_imat3x2 imat3x2;
-
365  typedef highp_imat3x3 imat3x3;
-
366  typedef highp_imat3x4 imat3x4;
-
367  typedef highp_imat4x2 imat4x2;
-
368  typedef highp_imat4x3 imat4x3;
-
369  typedef highp_imat4x4 imat4x4;
-
370 #elif(defined(GLM_PRECISION_LOWP_INT))
-
371  typedef lowp_imat2 imat2;
-
372  typedef lowp_imat3 imat3;
-
373  typedef lowp_imat4 imat4;
-
374  typedef lowp_imat2x2 imat2x2;
-
375  typedef lowp_imat2x3 imat2x3;
-
376  typedef lowp_imat2x4 imat2x4;
-
377  typedef lowp_imat3x2 imat3x2;
-
378  typedef lowp_imat3x3 imat3x3;
-
379  typedef lowp_imat3x4 imat3x4;
-
380  typedef lowp_imat4x2 imat4x2;
-
381  typedef lowp_imat4x3 imat4x3;
-
382  typedef lowp_imat4x4 imat4x4;
-
383 #else //if(defined(GLM_PRECISION_MEDIUMP_INT))
-
384 
- -
388 
- -
392 
- -
396 
- -
400 
- -
404 
- -
408 
- -
412 
- -
416 
- -
420 
- -
424 
- -
428 
- -
432 #endif//GLM_PRECISION
-
433 
-
434 #if(defined(GLM_PRECISION_HIGHP_UINT))
-
435  typedef highp_umat2 umat2;
-
436  typedef highp_umat3 umat3;
-
437  typedef highp_umat4 umat4;
-
438  typedef highp_umat2x2 umat2x2;
-
439  typedef highp_umat2x3 umat2x3;
-
440  typedef highp_umat2x4 umat2x4;
-
441  typedef highp_umat3x2 umat3x2;
-
442  typedef highp_umat3x3 umat3x3;
-
443  typedef highp_umat3x4 umat3x4;
-
444  typedef highp_umat4x2 umat4x2;
-
445  typedef highp_umat4x3 umat4x3;
-
446  typedef highp_umat4x4 umat4x4;
-
447 #elif(defined(GLM_PRECISION_LOWP_UINT))
-
448  typedef lowp_umat2 umat2;
-
449  typedef lowp_umat3 umat3;
-
450  typedef lowp_umat4 umat4;
-
451  typedef lowp_umat2x2 umat2x2;
-
452  typedef lowp_umat2x3 umat2x3;
-
453  typedef lowp_umat2x4 umat2x4;
-
454  typedef lowp_umat3x2 umat3x2;
-
455  typedef lowp_umat3x3 umat3x3;
-
456  typedef lowp_umat3x4 umat3x4;
-
457  typedef lowp_umat4x2 umat4x2;
-
458  typedef lowp_umat4x3 umat4x3;
-
459  typedef lowp_umat4x4 umat4x4;
-
460 #else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
-
461 
- -
465 
- -
469 
- -
473 
- -
477 
- -
481 
- -
485 
- -
489 
- -
493 
- -
497 
- -
501 
- -
505 
- -
509 #endif//GLM_PRECISION
-
510 
-
512 }//namespace glm
-
513 
-
514 #endif//GLM_GTC_matrix_integer
-
detail::tmat4x2< int, mediump > mediump_imat4x2
Medium-precision signed integer 4x2 matrix.
-
detail::tmat3x3< uint, lowp > lowp_umat3x3
Low-precision unsigned integer 3x3 matrix.
-
detail::tmat4x3< int, mediump > mediump_imat4x3
Medium-precision signed integer 4x3 matrix.
-
detail::tmat3x3< uint, highp > highp_umat3
High-precision unsigned integer 3x3 matrix.
-
detail::tmat2x2< int, lowp > lowp_imat2x2
Low-precision signed integer 2x2 matrix.
-
detail::tmat3x3< uint, lowp > lowp_umat3
Low-precision unsigned integer 3x3 matrix.
-
mediump_umat3x2 umat3x2
Unsigned integer 3x2 matrix.
-
detail::tmat2x2< uint, lowp > lowp_umat2
Low-precision unsigned integer 2x2 matrix.
-
detail::tmat2x4< uint, highp > highp_umat2x4
High-precision unsigned integer 2x4 matrix.
-
detail::tmat3x2< uint, lowp > lowp_umat3x2
Low-precision unsigned integer 3x2 matrix.
-
detail::tmat4x4< int, mediump > mediump_imat4x4
Medium-precision signed integer 4x4 matrix.
-
mediump_imat4x2 imat4x2
Signed integer 4x2 matrix.
-
detail::tmat2x2< uint, highp > highp_umat2
High-precision unsigned integer 2x2 matrix.
-
detail::tmat3x2< int, mediump > mediump_imat3x2
Medium-precision signed integer 3x2 matrix.
-
mediump_imat4x3 imat4x3
Signed integer 4x3 matrix.
-
mediump_imat2x4 imat2x4
Signed integer 2x4 matrix.
-
detail::tmat3x4< int, highp > highp_imat3x4
High-precision signed integer 3x4 matrix.
-
mediump_umat3x4 umat3x4
Unsigned integer 3x4 matrix.
-
mediump_imat2 imat2
Signed integer 2x2 matrix.
-
detail::tmat2x3< int, mediump > mediump_imat2x3
Medium-precision signed integer 2x3 matrix.
-
detail::tmat2x3< uint, mediump > mediump_umat2x3
Medium-precision unsigned integer 2x3 matrix.
-
detail::tmat2x2< int, highp > highp_imat2
High-precision signed integer 2x2 matrix.
-
detail::tmat2x4< uint, mediump > mediump_umat2x4
Medium-precision unsigned integer 2x4 matrix.
-
detail::tmat4x4< int, highp > highp_imat4
High-precision signed integer 4x4 matrix.
-
detail::tmat4x4< uint, highp > highp_umat4
High-precision unsigned integer 4x4 matrix.
-
detail::tmat2x2< uint, lowp > lowp_umat2x2
Low-precision unsigned integer 2x2 matrix.
-
detail::tmat4x3< uint, highp > highp_umat4x3
High-precision unsigned integer 4x3 matrix.
-
detail::tmat2x2< uint, mediump > mediump_umat2
Medium-precision unsigned integer 2x2 matrix.
-
detail::tmat3x4< int, mediump > mediump_imat3x4
Medium-precision signed integer 3x4 matrix.
-
detail::tmat2x4< uint, lowp > lowp_umat2x4
Low-precision unsigned integer 2x4 matrix.
-
detail::tmat3x3< uint, mediump > mediump_umat3
Medium-precision unsigned integer 3x3 matrix.
-
detail::tmat4x2< uint, highp > highp_umat4x2
High-precision unsigned integer 4x2 matrix.
-
mediump_umat4x3 umat4x3
Unsigned integer 4x3 matrix.
-
detail::tmat2x2< uint, mediump > mediump_umat2x2
Medium-precision unsigned integer 2x2 matrix.
-
detail::tmat4x2< uint, mediump > mediump_umat4x2
Medium-precision unsigned integer 4x2 matrix.
-
detail::tmat4x4< int, lowp > lowp_imat4x4
Low-precision signed integer 4x4 matrix.
-
mediump_imat3x2 imat3x2
Signed integer 3x2 matrix.
-
detail::tmat3x4< uint, lowp > lowp_umat3x4
Low-precision unsigned integer 3x4 matrix.
-
detail::tmat3x2< int, lowp > lowp_imat3x2
Low-precision signed integer 3x2 matrix.
-
detail::tmat4x4< uint, lowp > lowp_umat4
Low-precision unsigned integer 4x4 matrix.
-
detail::tmat3x2< uint, highp > highp_umat3x2
High-precision unsigned integer 3x2 matrix.
-
detail::tmat4x2< uint, lowp > lowp_umat4x2
Low-precision unsigned integer 4x2 matrix.
-
detail::tmat3x3< uint, mediump > mediump_umat3x3
Medium-precision unsigned integer 3x3 matrix.
-
detail::tmat4x4< int, highp > highp_imat4x4
High-precision signed integer 4x4 matrix.
-
detail::tmat2x2< int, mediump > mediump_imat2
Medium-precision signed integer 2x2 matrix.
-
mediump_imat4x4 imat4x4
Signed integer 4x4 matrix.
-
mediump_umat4 umat4
Unsigned integer 4x4 matrix.
-
detail::tmat4x3< int, lowp > lowp_imat4x3
Low-precision signed integer 4x3 matrix.
-
detail::tmat2x3< int, lowp > lowp_imat2x3
Low-precision signed integer 2x3 matrix.
-
mediump_imat3x3 imat3x3
Signed integer 3x3 matrix.
-
mediump_umat3 umat3
Unsigned integer 3x3 matrix.
-
detail::tmat2x3< uint, highp > highp_umat2x3
High-precision unsigned integer 2x3 matrix.
-
detail::tmat4x3< uint, lowp > lowp_umat4x3
Low-precision unsigned integer 4x3 matrix.
-
detail::tmat3x4< int, lowp > lowp_imat3x4
Low-precision signed integer 3x4 matrix.
-
mediump_umat4x2 umat4x2
Unsigned integer 4x2 matrix.
-
detail::tmat2x4< int, lowp > lowp_imat2x4
Low-precision signed integer 2x4 matrix.
-
mediump_imat4 imat4
Signed integer 4x4 matrix.
-
detail::tmat2x4< int, highp > highp_imat2x4
High-precision signed integer 2x4 matrix.
-
detail::tmat4x4< int, mediump > mediump_imat4
Medium-precision signed integer 4x4 matrix.
-
detail::tmat3x3< int, lowp > lowp_imat3
Low-precision signed integer 3x3 matrix.
-
detail::tmat4x4< uint, highp > highp_umat4x4
High-precision unsigned integer 4x4 matrix.
-
detail::tmat4x2< int, highp > highp_imat4x2
High-precision signed integer 4x2 matrix.
-
detail::tmat2x2< int, mediump > mediump_imat2x2
Medium-precision signed integer 2x2 matrix.
-
mediump_imat2x3 imat2x3
Signed integer 2x3 matrix.
-
detail::tmat2x2< int, lowp > lowp_imat2
Low-precision signed integer 2x2 matrix.
-
detail::tmat2x4< int, mediump > mediump_imat2x4
Medium-precision signed integer 2x4 matrix.
-
detail::tmat2x2< int, highp > highp_imat2x2
High-precision signed integer 2x2 matrix.
-
detail::tmat3x2< uint, mediump > mediump_umat3x2
Medium-precision unsigned integer 3x2 matrix.
-
mediump_umat3x3 umat3x3
Unsigned integer 3x3 matrix.
-
detail::tmat3x2< int, highp > highp_imat3x2
High-precision signed integer 3x2 matrix.
-
mediump_umat2 umat2
Unsigned integer 2x2 matrix.
-
detail::tmat3x3< int, mediump > mediump_imat3
Medium-precision signed integer 3x3 matrix.
-
mediump_umat2x2 umat2x2
Unsigned integer 2x2 matrix.
-
detail::tmat3x3< int, highp > highp_imat3
High-precision signed integer 3x3 matrix.
-
detail::tmat3x3< int, mediump > mediump_imat3x3
Medium-precision signed integer 3x3 matrix.
-
detail::tmat4x3< uint, mediump > mediump_umat4x3
Medium-precision unsigned integer 4x3 matrix.
-
mediump_umat4x4 umat4x4
Unsigned integer 4x4 matrix.
-
mediump_imat3 imat3
Signed integer 3x3 matrix.
-
mediump_imat2x2 imat2x2
Signed integer 2x2 matrix.
-
detail::tmat3x3< int, highp > highp_imat3x3
High-precision signed integer 3x3 matrix.
-
detail::tmat4x4< uint, mediump > mediump_umat4
Medium-precision unsigned integer 4x4 matrix.
-
detail::tmat3x4< uint, mediump > mediump_umat3x4
Medium-precision unsigned integer 3x4 matrix.
-
detail::tmat4x3< int, highp > highp_imat4x3
High-precision signed integer 4x3 matrix.
-
detail::tmat4x4< uint, lowp > lowp_umat4x4
Low-precision unsigned integer 4x4 matrix.
-
detail::tmat2x2< uint, highp > highp_umat2x2
High-precision unsigned integer 2x2 matrix.
-
detail::tmat4x4< uint, mediump > mediump_umat4x4
Medium-precision unsigned integer 4x4 matrix.
-
detail::tmat4x2< int, lowp > lowp_imat4x2
Low-precision signed integer 4x2 matrix.
-
detail::tmat2x3< uint, lowp > lowp_umat2x3
Low-precision unsigned integer 2x3 matrix.
-
detail::tmat3x3< int, lowp > lowp_imat3x3
Low-precision signed integer 3x3 matrix.
-
mediump_umat2x4 umat2x4
Unsigned integer 2x4 matrix.
-
mediump_umat2x3 umat2x3
Unsigned integer 2x3 matrix.
-
detail::tmat3x4< uint, highp > highp_umat3x4
High-precision unsigned integer 3x4 matrix.
-
detail::tmat4x4< int, lowp > lowp_imat4
Low-precision signed integer 4x4 matrix.
-
detail::tmat3x3< uint, highp > highp_umat3x3
High-precision unsigned integer 3x3 matrix.
-
detail::tmat2x3< int, highp > highp_imat2x3
High-precision signed integer 2x3 matrix.
-
mediump_imat3x4 imat3x4
Signed integer 3x4 matrix.
+
109 #include "matrix_operation.inl"
+
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.
+
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.
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL tmat2x3< T, P > diagonal2x3(tvec2< 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 tmat3x2< T, P > diagonal3x2(tvec2< T, P > const &v)
Build a diagonal matrix.
diff --git a/doc/api/a00075.html b/doc/api/a00075.html index d4a8f038..023eca0e 100644 --- a/doc/api/a00075.html +++ b/doc/api/a00075.html @@ -3,8 +3,8 @@ - -GLM: matrix_interpolation.hpp File Reference + +0.9.6: matrix_query.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,57 +41,65 @@
-Namespaces | Functions
-
matrix_interpolation.hpp File Reference
+
matrix_query.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
void axisAngle (detail::tmat4x4< T, P > const &mat, detail::tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > axisAngleMatrix (detail::tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > extractMatrixRotation (detail::tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
detail::tmat4x4< T, P > interpolate (detail::tmat4x4< T, P > const &m1, detail::tmat4x4< T, P > const &m2, T const delta)
 
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:

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_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_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_interpolation.hpp.

+

Definition in file matrix_query.hpp.

diff --git a/doc/api/a00075_source.html b/doc/api/a00075_source.html index 558af6fc..f87cbf57 100644 --- a/doc/api/a00075_source.html +++ b/doc/api/a00075_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_interpolation.hpp Source File + +0.9.6: matrix_query.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,66 +41,68 @@
-
matrix_interpolation.hpp
+
matrix_query.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_matrix_interpolation
-
39 #define GLM_GTX_matrix_interpolation
-
40 
+
39 #pragma once
+
40 
41 // Dependency:
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T, precision P>
-
56  void axisAngle(
-
57  detail::tmat4x4<T, P> const & mat,
-
58  detail::tvec3<T, P> & axis,
-
59  T & angle);
-
60 
-
63  template <typename T, precision P>
-
64  detail::tmat4x4<T, P> axisAngleMatrix(
-
65  detail::tvec3<T, P> const & axis,
-
66  T const angle);
-
67 
-
70  template <typename T, precision P>
-
71  detail::tmat4x4<T, P> extractMatrixRotation(
-
72  detail::tmat4x4<T, P> const & mat);
-
73 
-
77  template <typename T, precision P>
-
78  detail::tmat4x4<T, P> interpolate(
-
79  detail::tmat4x4<T, P> const & m1,
-
80  detail::tmat4x4<T, P> const & m2,
-
81  T const delta);
-
82 
-
84 }//namespace glm
-
85 
-
86 #include "matrix_interpolation.inl"
-
87 
-
88 #endif//GLM_GTX_matrix_interpolation
-
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
detail::tmat4x4< T, P > extractMatrixRotation(detail::tmat4x4< T, P > const &mat)
Extracts the rotation part of a matrix.
-
void axisAngle(detail::tmat4x4< T, P > const &mat, detail::tvec3< T, P > &axis, T &angle)
Get the axis and angle of the rotation from a matrix.
-
detail::tmat4x4< T, P > interpolate(detail::tmat4x4< T, P > const &m1, detail::tmat4x4< T, P > const &m2, T const delta)
Build a interpolation of 4 * 4 matrixes.
-
detail::tmat4x4< T, P > axisAngleMatrix(detail::tvec3< T, P > const &axis, T const angle)
Build a matrix from axis and angle.
-
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
+
43 #include "../gtx/vector_query.hpp"
+
44 #include <limits>
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_matrix_query extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
57  template<typename T, precision P>
+
58  GLM_FUNC_DECL bool isNull(tmat2x2<T, P> const & m, T const & epsilon);
+
59 
+
62  template<typename T, precision P>
+
63  GLM_FUNC_DECL bool isNull(tmat3x3<T, P> const & m, T const & epsilon);
+
64 
+
67  template<typename T, precision P>
+
68  GLM_FUNC_DECL bool isNull(tmat4x4<T, P> const & m, T const & epsilon);
+
69 
+
72  template<typename T, precision P, template <typename, precision> class matType>
+
73  GLM_FUNC_DECL bool isIdentity(matType<T, P> const & m, T const & epsilon);
+
74 
+
77  template<typename T, precision P>
+
78  GLM_FUNC_DECL bool isNormalized(tmat2x2<T, P> const & m, T const & epsilon);
+
79 
+
82  template<typename T, precision P>
+
83  GLM_FUNC_DECL bool isNormalized(tmat3x3<T, P> const & m, T const & epsilon);
+
84 
+
87  template<typename T, precision P>
+
88  GLM_FUNC_DECL bool isNormalized(tmat4x4<T, P> const & m, T const & epsilon);
+
89 
+
92  template<typename T, precision P, template <typename, precision> class matType>
+
93  GLM_FUNC_DECL bool isOrthogonal(matType<T, P> const & m, T const & epsilon);
+
94 
+
96 }//namespace glm
+
97 
+
98 #include "matrix_query.inl"
+
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 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:31
+
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 isOrthogonal(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an orthonormalized matrix.
diff --git a/doc/api/a00076.html b/doc/api/a00076.html index 4479d163..bea02102 100644 --- a/doc/api/a00076.html +++ b/doc/api/a00076.html @@ -3,8 +3,8 @@ - -GLM: matrix_inverse.hpp File Reference + +0.9.6: matrix_transform.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,52 +41,96 @@
-Namespaces | Functions
-
matrix_inverse.hpp File Reference
+
matrix_transform.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_QUALIFIER genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_QUALIFIER
-genType::value_type 
inverseTranspose (genType const &m)
 
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)
 

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:

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_GTC_matrix_inverse

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

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 matrix_inverse.hpp.

+

Definition in file matrix_transform.hpp.

diff --git a/doc/api/a00076_source.html b/doc/api/a00076_source.html index 4107b9a1..caacced2 100644 --- a/doc/api/a00076_source.html +++ b/doc/api/a00076_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_inverse.hpp Source File + +0.9.6: matrix_transform.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,48 +41,151 @@
-
matrix_inverse.hpp
+
matrix_transform.hpp
Go to the documentation of this file.
1 
-
37 #ifndef GLM_GTC_matrix_inverse
-
38 #define GLM_GTC_matrix_inverse
-
39 
-
40 // Dependencies
-
41 #include "../detail/setup.hpp"
-
42 
-
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
44 # pragma message("GLM: GLM_GTC_matrix_inverse extension included")
-
45 #endif
-
46 
-
47 namespace glm
-
48 {
-
51 
-
57  template <typename genType>
-
58  GLM_FUNC_QUALIFIER genType affineInverse(genType const & m);
-
59 
-
65  template <typename genType>
-
66  GLM_FUNC_QUALIFIER typename genType::value_type inverseTranspose(
-
67  genType const & m);
-
68 
-
70 }//namespace glm
-
71 
-
72 #include "matrix_inverse.inl"
-
73 
-
74 #endif//GLM_GTC_matrix_inverse
-
GLM_FUNC_QUALIFIER genType affineInverse(genType const &m)
Fast matrix inverse for affine matrix.
-
GLM_FUNC_QUALIFIER genType::value_type inverseTranspose(genType const &m)
Compute the inverse transpose of a matrix.
+
46 #pragma once
+
47 
+
48 // Dependencies
+
49 #include "../mat4x4.hpp"
+
50 #include "../vec2.hpp"
+
51 #include "../vec3.hpp"
+
52 #include "../vec4.hpp"
+
53 #include "../gtc/constants.hpp"
+
54 
+
55 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
56 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
+
57 #endif
+
58 
+
59 namespace glm
+
60 {
+
63 
+
82  template <typename T, precision P>
+
83  GLM_FUNC_DECL tmat4x4<T, P> translate(
+
84  tmat4x4<T, P> const & m,
+
85  tvec3<T, P> const & v);
+
86 
+
96  template <typename T, precision P>
+
97  GLM_FUNC_DECL tmat4x4<T, P> rotate(
+
98  tmat4x4<T, P> const & m,
+
99  T angle,
+
100  tvec3<T, P> const & axis);
+
101 
+
110  template <typename T, precision P>
+
111  GLM_FUNC_DECL tmat4x4<T, P> scale(
+
112  tmat4x4<T, P> const & m,
+
113  tvec3<T, P> const & v);
+
114 
+
126  template <typename T>
+
127  GLM_FUNC_DECL tmat4x4<T, defaultp> ortho(
+
128  T left,
+
129  T right,
+
130  T bottom,
+
131  T top,
+
132  T zNear,
+
133  T zFar);
+
134 
+
144  template <typename T>
+
145  GLM_FUNC_DECL tmat4x4<T, defaultp> ortho(
+
146  T left,
+
147  T right,
+
148  T bottom,
+
149  T top);
+
150 
+
161  template <typename T>
+
162  GLM_FUNC_DECL tmat4x4<T, defaultp> frustum(
+
163  T left,
+
164  T right,
+
165  T bottom,
+
166  T top,
+
167  T near,
+
168  T far);
+
169 
+
178  template <typename T>
+
179  GLM_FUNC_DECL tmat4x4<T, defaultp> perspective(
+
180  T fovy,
+
181  T aspect,
+
182  T near,
+
183  T far);
+
184 
+
194  template <typename T>
+
195  GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveFov(
+
196  T fov,
+
197  T width,
+
198  T height,
+
199  T near,
+
200  T far);
+
201 
+
209  template <typename T>
+
210  GLM_FUNC_DECL tmat4x4<T, defaultp> infinitePerspective(
+
211  T fovy, T aspect, T near);
+
212 
+
220  template <typename T>
+
221  GLM_FUNC_DECL tmat4x4<T, defaultp> tweakedInfinitePerspective(
+
222  T fovy, T aspect, T near);
+
223 
+
232  template <typename T>
+
233  GLM_FUNC_DECL tmat4x4<T, defaultp> tweakedInfinitePerspective(
+
234  T fovy, T aspect, T near, T ep);
+
235 
+
246  template <typename T, typename U, precision P>
+
247  GLM_FUNC_DECL tvec3<T, P> project(
+
248  tvec3<T, P> const & obj,
+
249  tmat4x4<T, P> const & model,
+
250  tmat4x4<T, P> const & proj,
+
251  tvec4<U, P> const & viewport);
+
252 
+
263  template <typename T, typename U, precision P>
+
264  GLM_FUNC_DECL tvec3<T, P> unProject(
+
265  tvec3<T, P> const & win,
+
266  tmat4x4<T, P> const & model,
+
267  tmat4x4<T, P> const & proj,
+
268  tvec4<U, P> const & viewport);
+
269 
+
278  template <typename T, precision P, typename U>
+
279  GLM_FUNC_DECL tmat4x4<T, P> pickMatrix(
+
280  tvec2<T, P> const & center,
+
281  tvec2<T, P> const & delta,
+
282  tvec4<U, P> const & viewport);
+
283 
+
291  template <typename T, precision P>
+
292  GLM_FUNC_DECL tmat4x4<T, P> lookAt(
+
293  tvec3<T, P> const & eye,
+
294  tvec3<T, P> const & center,
+
295  tvec3<T, P> const & up);
+
296 
+
298 }//namespace glm
+
299 
+
300 #include "matrix_transform.inl"
+
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 > lookAt(tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
Build a look at view matrix.
+
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, 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, 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 > 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 > ortho(T left, T right, T bottom, T top)
Creates a matrix for projecting two-dimensional coordinates onto the screen.
+
GLM_FUNC_DECL vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
+
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.
+
Definition: _noise.hpp:31
+
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 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 T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
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.
diff --git a/doc/api/a00077.html b/doc/api/a00077.html index e1701842..81e6a0f7 100644 --- a/doc/api/a00077.html +++ b/doc/api/a00077.html @@ -3,8 +3,8 @@ - -GLM: matrix_major_storage.hpp File Reference + +0.9.6: matrix_transform_2d.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,83 +41,54 @@
-Namespaces | Functions
-
matrix_major_storage.hpp File Reference
+
matrix_transform_2d.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tmat4x4< T, P > const &m)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tmat4x4< T, P > const &m)
 
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:

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_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_transform_2d

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

Definition in file matrix_major_storage.hpp.

+

Definition in file matrix_transform_2d.hpp.

diff --git a/doc/api/a00077_source.html b/doc/api/a00077_source.html index dc6a851a..24e5f4f8 100644 --- a/doc/api/a00077_source.html +++ b/doc/api/a00077_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_major_storage.hpp Source File + +0.9.6: matrix_transform_2d.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,105 +41,70 @@
-
matrix_major_storage.hpp
+
matrix_transform_2d.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_matrix_major_storage
-
40 #define GLM_GTX_matrix_major_storage
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../mat3x3.hpp"
+
42 #include "../vec2.hpp"
+
43 
44 
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
-
47 #endif
-
48 
-
49 namespace glm
+
46 # pragma message("GLM: GLM_GTX_matrix_transform_2d extension included")
+
47 #endif
+
48 
+
49 namespace glm
50 {
-
53 
-
56  template <typename T, precision P>
-
57  detail::tmat2x2<T, P> rowMajor2(
-
58  detail::tvec2<T, P> const & v1,
-
59  detail::tvec2<T, P> const & v2);
-
60 
-
63  template <typename T, precision P>
-
64  detail::tmat2x2<T, P> rowMajor2(
-
65  detail::tmat2x2<T, P> const & m);
-
66 
-
69  template <typename T, precision P>
-
70  detail::tmat3x3<T, P> rowMajor3(
-
71  detail::tvec3<T, P> const & v1,
-
72  detail::tvec3<T, P> const & v2,
-
73  detail::tvec3<T, P> const & v3);
-
74 
-
77  template <typename T, precision P>
-
78  detail::tmat3x3<T, P> rowMajor3(
-
79  detail::tmat3x3<T, P> const & m);
+
53 
+
58  template <typename T, precision P>
+
59  GLM_FUNC_QUALIFIER tmat3x3<T, P> translate(
+
60  tmat3x3<T, P> const & m,
+
61  tvec2<T, P> const & v);
+
62 
+
67  template <typename T, precision P>
+
68  GLM_FUNC_QUALIFIER tmat3x3<T, P> rotate(
+
69  tmat3x3<T, P> const & m,
+
70  T angle);
+
71 
+
76  template <typename T, precision P>
+
77  GLM_FUNC_QUALIFIER tmat3x3<T, P> scale(
+
78  tmat3x3<T, P> const & m,
+
79  tvec2<T, P> const & v);
80 
-
83  template <typename T, precision P>
-
84  detail::tmat4x4<T, P> rowMajor4(
-
85  detail::tvec4<T, P> const & v1,
-
86  detail::tvec4<T, P> const & v2,
-
87  detail::tvec4<T, P> const & v3,
-
88  detail::tvec4<T, P> const & v4);
+
85  template <typename T, precision P>
+
86  GLM_FUNC_QUALIFIER tmat3x3<T, P> shearX(
+
87  tmat3x3<T, P> const & m,
+
88  T y);
89 
-
92  template <typename T, precision P>
-
93  detail::tmat4x4<T, P> rowMajor4(
-
94  detail::tmat4x4<T, P> const & m);
-
95 
-
98  template <typename T, precision P>
-
99  detail::tmat2x2<T, P> colMajor2(
-
100  detail::tvec2<T, P> const & v1,
-
101  detail::tvec2<T, P> const & v2);
-
102 
-
105  template <typename T, precision P>
-
106  detail::tmat2x2<T, P> colMajor2(
-
107  detail::tmat2x2<T, P> const & m);
-
108 
-
111  template <typename T, precision P>
-
112  detail::tmat3x3<T, P> colMajor3(
-
113  detail::tvec3<T, P> const & v1,
-
114  detail::tvec3<T, P> const & v2,
-
115  detail::tvec3<T, P> const & v3);
-
116 
-
119  template <typename T, precision P>
-
120  detail::tmat3x3<T, P> colMajor3(
-
121  detail::tmat3x3<T, P> const & m);
-
122 
-
125  template <typename T, precision P>
-
126  detail::tmat4x4<T, P> colMajor4(
-
127  detail::tvec4<T, P> const & v1,
-
128  detail::tvec4<T, P> const & v2,
-
129  detail::tvec4<T, P> const & v3,
-
130  detail::tvec4<T, P> const & v4);
-
131 
-
134  template <typename T, precision P>
-
135  detail::tmat4x4<T, P> colMajor4(
-
136  detail::tmat4x4<T, P> const & m);
-
137 
-
139 }//namespace glm
-
140 
-
141 #include "matrix_major_storage.inl"
-
142 
-
143 #endif//GLM_GTX_matrix_major_storage
-
detail::tmat4x4< T, P > rowMajor4(detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
Build a row major matrix from row vectors.
-
detail::tmat2x2< T, P > rowMajor2(detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
Build a row major matrix from row vectors.
-
detail::tmat3x3< T, P > rowMajor3(detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
Build a row major matrix from row vectors.
-
detail::tmat2x2< T, P > colMajor2(detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
Build a column major matrix from column vectors.
-
detail::tmat3x3< T, P > colMajor3(detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
Build a column major matrix from column vectors.
-
detail::tmat4x4< T, P > colMajor4(detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
Build a column major matrix from column vectors.
+
94  template <typename T, precision P>
+
95  GLM_FUNC_QUALIFIER tmat3x3<T, P> shearY(
+
96  tmat3x3<T, P> const & m,
+
97  T x);
+
98 
+
100 }//namespace glm
+
101 
+
102 #include "matrix_transform_2d.inl"
+
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.
+
Definition: _noise.hpp:31
+
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.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation 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.
diff --git a/doc/api/a00078.html b/doc/api/a00078.html index f8088e02..b8af7f9b 100644 --- a/doc/api/a00078.html +++ b/doc/api/a00078.html @@ -3,8 +3,8 @@ - -GLM: matrix_operation.hpp File Reference + +0.9.6: mixed_product.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,72 +41,43 @@
-Namespaces | Functions
-
matrix_operation.hpp File Reference
+
mixed_product.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T , precision P>
detail::tmat2x2< T, P > diagonal2x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x3< T, P > diagonal2x3 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x4< T, P > diagonal2x4 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x2< T, P > diagonal3x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x3< T, P > diagonal3x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x4< T, P > diagonal3x4 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x2< T, P > diagonal4x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x3< T, P > diagonal4x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > diagonal4x4 (detail::tvec4< T, P > const &v)
 
+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:

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_GTX_matrix_operation

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

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 matrix_operation.hpp.

+

Definition in file mixed_product.hpp.

diff --git a/doc/api/a00078_source.html b/doc/api/a00078_source.html index d39a15b4..819b75a2 100644 --- a/doc/api/a00078_source.html +++ b/doc/api/a00078_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_operation.hpp Source File + +0.9.6: mixed_product.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,84 +41,44 @@
-
matrix_operation.hpp
+
mixed_product.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_matrix_operation
-
39 #define GLM_GTX_matrix_operation
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T, precision P>
-
56  detail::tmat2x2<T, P> diagonal2x2(
-
57  detail::tvec2<T, P> const & v);
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_mixed_product extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
53  template <typename T, precision P>
+
54  GLM_FUNC_DECL T mixedProduct(
+
55  tvec3<T, P> const & v1,
+
56  tvec3<T, P> const & v2,
+
57  tvec3<T, P> const & v3);
58 
-
61  template <typename T, precision P>
-
62  detail::tmat2x3<T, P> diagonal2x3(
-
63  detail::tvec2<T, P> const & v);
-
64 
-
67  template <typename T, precision P>
-
68  detail::tmat2x4<T, P> diagonal2x4(
-
69  detail::tvec2<T, P> const & v);
-
70 
-
73  template <typename T, precision P>
-
74  detail::tmat3x2<T, P> diagonal3x2(
-
75  detail::tvec2<T, P> const & v);
-
76 
-
79  template <typename T, precision P>
-
80  detail::tmat3x3<T, P> diagonal3x3(
-
81  detail::tvec3<T, P> const & v);
-
82 
-
85  template <typename T, precision P>
-
86  detail::tmat3x4<T, P> diagonal3x4(
-
87  detail::tvec3<T, P> const & v);
-
88 
-
91  template <typename T, precision P>
-
92  detail::tmat4x2<T, P> diagonal4x2(
-
93  detail::tvec2<T, P> const & v);
-
94 
-
97  template <typename T, precision P>
-
98  detail::tmat4x3<T, P> diagonal4x3(
-
99  detail::tvec3<T, P> const & v);
-
100 
-
103  template <typename T, precision P>
-
104  detail::tmat4x4<T, P> diagonal4x4(
-
105  detail::tvec4<T, P> const & v);
-
106 
-
108 }//namespace glm
-
109 
-
110 #include "matrix_operation.inl"
-
111 
-
112 #endif//GLM_GTX_matrix_operation
-
detail::tmat4x3< T, P > diagonal4x3(detail::tvec3< T, P > const &v)
Build a diagonal matrix.
-
detail::tmat2x3< T, P > diagonal2x3(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
-
detail::tmat3x4< T, P > diagonal3x4(detail::tvec3< T, P > const &v)
Build a diagonal matrix.
-
detail::tmat3x2< T, P > diagonal3x2(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
-
detail::tmat4x4< T, P > diagonal4x4(detail::tvec4< T, P > const &v)
Build a diagonal matrix.
-
detail::tmat3x3< T, P > diagonal3x3(detail::tvec3< T, P > const &v)
Build a diagonal matrix.
-
detail::tmat2x4< T, P > diagonal2x4(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
-
detail::tmat4x2< T, P > diagonal4x2(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
-
detail::tmat2x2< T, P > diagonal2x2(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
+
60 }// namespace glm
+
61 
+
62 #include "mixed_product.inl"
+
Definition: _noise.hpp:31
+
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)
diff --git a/doc/api/a00079.html b/doc/api/a00079.html index 3c8ad56b..4c27cdcc 100644 --- a/doc/api/a00079.html +++ b/doc/api/a00079.html @@ -3,8 +3,8 @@ - -GLM: matrix_query.hpp File Reference + +0.9.6: multiple.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,71 +41,57 @@
-Namespaces | Functions
-
matrix_query.hpp File Reference
+
multiple.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class matType>
bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
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)
 

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:

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_GTX_matrix_query

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

GLM_GTX_multiple

+
Date
2009-10-26 / 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 multiple.hpp.

diff --git a/doc/api/a00079_source.html b/doc/api/a00079_source.html index c32d3575..73774273 100644 --- a/doc/api/a00079_source.html +++ b/doc/api/a00079_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_query.hpp Source File + +0.9.6: multiple.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,70 +41,57 @@
-
matrix_query.hpp
+
multiple.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_matrix_query
-
40 #define GLM_GTX_matrix_query
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/vector_query.hpp"
-
45 #include <limits>
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_matrix_query extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template<typename T, precision P>
-
59  bool isNull(detail::tmat2x2<T, P> const & m, T const & epsilon);
-
60 
-
63  template<typename T, precision P>
-
64  bool isNull(detail::tmat3x3<T, P> const & m, T const & epsilon);
-
65 
-
68  template<typename T, precision P>
-
69  bool isNull(detail::tmat4x4<T, P> const & m, T const & epsilon);
-
70 
-
73  template<typename T, precision P, template <typename, precision> class matType>
-
74  bool isIdentity(matType<T, P> const & m, T const & epsilon);
-
75 
-
78  template<typename T, precision P>
-
79  bool isNormalized(detail::tmat2x2<T, P> const & m, T const & epsilon);
-
80 
-
83  template<typename T, precision P>
-
84  bool isNormalized(detail::tmat3x3<T, P> const & m, T const & epsilon);
-
85 
-
88  template<typename T, precision P>
-
89  bool isNormalized(detail::tmat4x4<T, P> const & m, T const & epsilon);
-
90 
-
93  template<typename T, precision P, template <typename, precision> class matType>
-
94  bool isOrthogonal(matType<T, P> const & m, T const & epsilon);
-
95 
-
97 }//namespace glm
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../gtc/round.hpp"
+
43 
+
44 #pragma message("GLM: GLM_GTX_multiple extension is deprecated, use GLM_GTC_round instead.")
+
45 
+
46 namespace glm
+
47 {
+
50 
+
58  template <typename genType>
+
59  GLM_DEPRECATED GLM_FUNC_DECL genType higherMultiple(
+
60  genType Source,
+
61  genType Multiple);
+
62 
+
70  template <typename T, precision P, template <typename, precision> class vecType>
+
71  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> higherMultiple(
+
72  vecType<T, P> const & Source,
+
73  vecType<T, P> const & Multiple);
+
74 
+
82  template <typename genType>
+
83  GLM_DEPRECATED GLM_FUNC_DECL genType lowerMultiple(
+
84  genType Source,
+
85  genType Multiple);
+
86 
+
94  template <typename T, precision P, template <typename, precision> class vecType>
+
95  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> lowerMultiple(
+
96  vecType<T, P> const & Source,
+
97  vecType<T, P> const & Multiple);
98 
-
99 #include "matrix_query.inl"
-
100 
-
101 #endif//GLM_GTX_matrix_query
-
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
-
bool isOrthogonal(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an orthonormalized matrix.
-
bool isNormalized(detail::tmat2x2< T, P > const &m, T const &epsilon)
Return whether a matrix is a normalized matrix.
-
bool isNull(detail::tmat2x2< T, P > const &m, T const &epsilon)
Return whether a matrix a null matrix.
-
bool isIdentity(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an identity matrix.
+
100 }//namespace glm
+
101 
+
102 #include "multiple.inl"
+
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > lowerMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Lower multiple number of Source.
+
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > higherMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Higher multiple number of Source.
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00080.html b/doc/api/a00080.html index eced8059..11c15fa3 100644 --- a/doc/api/a00080.html +++ b/doc/api/a00080.html @@ -3,8 +3,8 @@ - -GLM: matrix_transform.hpp File Reference + +0.9.6: noise.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,103 +41,48 @@
-Namespaces | Functions
-
matrix_transform.hpp File Reference
+
noise.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
infinitePerspective (T fovy, T aspect, T near)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
lookAt (detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
perspective (T const &fovy, T const &aspect, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
perspectiveFov (T const &fov, T const &width, T const &height, T const &near, T const &far)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
pickMatrix (detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > project (detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
rotate (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
scale (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
translate (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > unProject (detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
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:

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_GTC_matrix_transform

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

GLM_GTC_noise

+
Date
2011-04-21 / 2011-09-27
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 noise.hpp.

diff --git a/doc/api/a00080_source.html b/doc/api/a00080_source.html index f290beb0..bfcf0aa3 100644 --- a/doc/api/a00080_source.html +++ b/doc/api/a00080_source.html @@ -3,8 +3,8 @@ - -GLM: matrix_transform.hpp Source File + +0.9.6: noise.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,148 +41,53 @@
-
matrix_transform.hpp
+
noise.hpp
Go to the documentation of this file.
1 
-
46 #ifndef GLM_GTC_matrix_transform
-
47 #define GLM_GTC_matrix_transform
-
48 
-
49 // Dependency:
-
50 #include "../mat4x4.hpp"
-
51 #include "../vec2.hpp"
-
52 #include "../vec3.hpp"
-
53 #include "../vec4.hpp"
-
54 
-
55 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
56 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
-
57 #endif
-
58 
-
59 namespace glm
-
60 {
-
63 
-
84  template <typename T, precision P>
-
85  GLM_FUNC_DECL detail::tmat4x4<T, P> translate(
-
86  detail::tmat4x4<T, P> const & m,
-
87  detail::tvec3<T, P> const & v);
-
88 
-
100  template <typename T, precision P>
-
101  GLM_FUNC_DECL detail::tmat4x4<T, P> rotate(
-
102  detail::tmat4x4<T, P> const & m,
-
103  T const & angle,
-
104  detail::tvec3<T, P> const & axis);
-
105 
-
116  template <typename T, precision P>
-
117  GLM_FUNC_DECL detail::tmat4x4<T, P> scale(
-
118  detail::tmat4x4<T, P> const & m,
-
119  detail::tvec3<T, P> const & v);
-
120 
-
132  template <typename T>
-
133  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> ortho(
-
134  T const & left,
-
135  T const & right,
-
136  T const & bottom,
-
137  T const & top,
-
138  T const & zNear,
-
139  T const & zFar);
-
140 
-
150  template <typename T>
-
151  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> ortho(
-
152  T const & left,
-
153  T const & right,
-
154  T const & bottom,
-
155  T const & top);
-
156 
-
167  template <typename T, precision P>
-
168  GLM_FUNC_DECL detail::tmat4x4<T, P> frustum(
-
169  T const & left,
-
170  T const & right,
-
171  T const & bottom,
-
172  T const & top,
-
173  T const & near,
-
174  T const & far);
-
175 
-
184  template <typename T, precision P>
-
185  GLM_FUNC_DECL detail::tmat4x4<T, P> perspective(
-
186  T const & fovy,
-
187  T const & aspect,
-
188  T const & near,
-
189  T const & far);
-
190 
-
200  template <typename T, precision P>
-
201  GLM_FUNC_DECL detail::tmat4x4<T, P> perspectiveFov(
-
202  T const & fov,
-
203  T const & width,
-
204  T const & height,
-
205  T const & near,
-
206  T const & far);
-
207 
-
215  template <typename T, precision P>
-
216  GLM_FUNC_DECL detail::tmat4x4<T, P> infinitePerspective(
-
217  T fovy, T aspect, T near);
-
218 
-
226  template <typename T, precision P>
-
227  GLM_FUNC_DECL detail::tmat4x4<T, P> tweakedInfinitePerspective(
-
228  T fovy, T aspect, T near);
-
229 
-
239  template <typename T, typename U, precision P>
-
240  GLM_FUNC_DECL detail::tvec3<T, P> project(
-
241  detail::tvec3<T, P> const & obj,
-
242  detail::tmat4x4<T, P> const & model,
-
243  detail::tmat4x4<T, P> const & proj,
-
244  detail::tvec4<U, P> const & viewport);
-
245 
-
255  template <typename T, typename U, precision P>
-
256  GLM_FUNC_DECL detail::tvec3<T, P> unProject(
-
257  detail::tvec3<T, P> const & win,
-
258  detail::tmat4x4<T, P> const & model,
-
259  detail::tmat4x4<T, P> const & proj,
-
260  detail::tvec4<U, P> const & viewport);
-
261 
-
270  template <typename T, precision P, typename U>
-
271  GLM_FUNC_DECL detail::tmat4x4<T, P> pickMatrix(
-
272  detail::tvec2<T, P> const & center,
-
273  detail::tvec2<T, P> const & delta,
-
274  detail::tvec4<U, P> const & viewport);
-
275 
-
283  template <typename T, precision P>
-
284  GLM_FUNC_DECL detail::tmat4x4<T, P> lookAt(
-
285  detail::tvec3<T, P> const & eye,
-
286  detail::tvec3<T, P> const & center,
-
287  detail::tvec3<T, P> const & up);
-
288 
-
290 }//namespace glm
-
291 
-
292 #include "matrix_transform.inl"
-
293 
-
294 #endif//GLM_GTC_matrix_transform
-
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
-
vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
-
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > scale(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > tweakedInfinitePerspective(T fovy, T aspect, T near)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics har...
-
GLM_FUNC_DECL detail::tmat4x4< T, P > translate(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a translation 4 * 4 matrix created from a vector of 3 components.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > perspective(T const &fovy, T const &aspect, T const &near, T const &far)
Creates a matrix for a symetric perspective-view frustum.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > pickMatrix(detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
Define a picking region.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > infinitePerspective(T fovy, T aspect, T near)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.
-
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > ortho(T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
Creates a matrix for an orthographic parallel viewing volume.
-
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
-
GLM_FUNC_DECL detail::tvec3< T, P > unProject(detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > perspectiveFov(T const &fov, T const &width, T const &height, T const &near, T const &far)
Builds a perspective projection matrix based on a field of view.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > lookAt(detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
Build a look at view matrix.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > frustum(T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
Creates a frustum matrix.
-
GLM_FUNC_DECL detail::tvec3< T, P > project(detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
+
41 #pragma once
+
42 
+
43 // Dependencies
+
44 #include "../detail/setup.hpp"
+
45 #include "../detail/precision.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTC_noise extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename T, precision P, template<typename, precision> class vecType>
+
59  GLM_FUNC_DECL T perlin(
+
60  vecType<T, P> const & p);
+
61 
+
64  template <typename T, precision P, template<typename, precision> class vecType>
+
65  GLM_FUNC_DECL T perlin(
+
66  vecType<T, P> const & p,
+
67  vecType<T, P> const & rep);
+
68 
+
71  template <typename T, precision P, template<typename, precision> class vecType>
+
72  GLM_FUNC_DECL T simplex(
+
73  vecType<T, P> const & p);
+
74 
+
76 }//namespace glm
+
77 
+
78 #include "noise.inl"
+
GLM_FUNC_DECL T simplex(vecType< T, P > const &p)
Simplex noise.
+
Definition: _noise.hpp:31
+
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 af3aa450..73e8d628 100644 --- a/doc/api/a00081.html +++ b/doc/api/a00081.html @@ -3,8 +3,8 @@ - -GLM: mixed_product.hpp File Reference + +0.9.6: norm.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,49 +41,71 @@
-Namespaces | Functions
-
mixed_product.hpp File Reference
+
norm.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

-template<typename T , precision P>
mixedProduct (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
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:

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_GTX_mixed_producte

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

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_quaternion (dependence)
-

Definition in file mixed_product.hpp.

+

Definition in file norm.hpp.

diff --git a/doc/api/a00081_source.html b/doc/api/a00081_source.html index 12b4f139..99fc8c7f 100644 --- a/doc/api/a00081_source.html +++ b/doc/api/a00081_source.html @@ -3,8 +3,8 @@ - -GLM: mixed_product.hpp Source File + +0.9.6: norm.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,46 +41,90 @@
-
mixed_product.hpp
+
norm.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_mixed_product
-
39 #define GLM_GTX_mixed_product
-
40 
+
39 #pragma once
+
40 
41 // Dependency:
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_mixed_product extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
54  template <typename T, precision P>
-
55  T mixedProduct(
-
56  detail::tvec3<T, P> const & v1,
-
57  detail::tvec3<T, P> const & v2,
-
58  detail::tvec3<T, P> const & v3);
+
43 #include "../gtx/quaternion.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_norm extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T>
+
57  GLM_FUNC_DECL T length2(
+
58  T const & x);
59 
-
61 }// namespace glm
-
62 
-
63 #include "mixed_product.inl"
-
64 
-
65 #endif//GLM_GTX_mixed_product
-
T mixedProduct(detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
+
62  template <typename genType>
+
63  GLM_FUNC_DECL typename genType::value_type length2(
+
64  genType const & x);
+
65 
+
68  template <typename T>
+
69  GLM_FUNC_DECL T distance2(
+
70  T const & p0,
+
71  T const & p1);
+
72 
+
75  template <typename genType>
+
76  GLM_FUNC_DECL typename genType::value_type distance2(
+
77  genType const & p0,
+
78  genType const & p1);
+
79 
+
82  template <typename T, precision P>
+
83  GLM_FUNC_DECL T l1Norm(
+
84  tvec3<T, P> const & x,
+
85  tvec3<T, P> const & y);
+
86 
+
89  template <typename T, precision P>
+
90  GLM_FUNC_DECL T l1Norm(
+
91  tvec3<T, P> const & v);
+
92 
+
95  template <typename T, precision P>
+
96  GLM_FUNC_DECL T l2Norm(
+
97  tvec3<T, P> const & x,
+
98  tvec3<T, P> const & y);
+
99 
+
102  template <typename T, precision P>
+
103  GLM_FUNC_DECL T l2Norm(
+
104  tvec3<T, P> const & x);
+
105 
+
108  template <typename T, precision P>
+
109  GLM_FUNC_DECL T lxNorm(
+
110  tvec3<T, P> const & x,
+
111  tvec3<T, P> const & y,
+
112  unsigned int Depth);
+
113 
+
116  template <typename T, precision P>
+
117  GLM_FUNC_DECL T lxNorm(
+
118  tvec3<T, P> const & x,
+
119  unsigned int Depth);
+
120 
+
122 }//namespace glm
+
123 
+
124 #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 lxNorm(tvec3< T, P > const &x, unsigned int Depth)
Returns the L norm of v.
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL T l1Norm(tvec3< T, P > const &v)
Returns the L1 norm of v.
+
GLM_FUNC_DECL T l2Norm(tvec3< T, P > const &x)
Returns the L2 norm of v.
diff --git a/doc/api/a00082.html b/doc/api/a00082.html index 3c2889b3..28d83bf0 100644 --- a/doc/api/a00082.html +++ b/doc/api/a00082.html @@ -3,8 +3,8 @@ - -GLM: multiple.hpp File Reference + +0.9.6: normal.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,53 +41,44 @@
-Namespaces | Functions
-
multiple.hpp File Reference
+
normal.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - + + +

Functions

template<typename genType >
genType higherMultiple (genType const &Source, genType const &Multiple)
 
template<typename genType >
genType lowerMultiple (genType const &Source, genType const &Multiple)
 
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:

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_GTX_multiple

-
Date
2009-10-26 / 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_extented_min_max (dependence)
+GLM_GTX_extented_min_max (dependence)
-

Definition in file multiple.hpp.

+

Definition in file normal.hpp.

diff --git a/doc/api/a00082_source.html b/doc/api/a00082_source.html index b8639ee5..ab4ae800 100644 --- a/doc/api/a00082_source.html +++ b/doc/api/a00082_source.html @@ -3,8 +3,8 @@ - -GLM: multiple.hpp Source File + +0.9.6: normal.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,51 +41,44 @@
-
multiple.hpp
+
normal.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_multiple
-
40 #define GLM_GTX_multiple
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_multiple extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
61  template <typename genType>
-
62  genType higherMultiple(
-
63  genType const & Source,
-
64  genType const & Multiple);
-
65 
-
73  template <typename genType>
-
74  genType lowerMultiple(
-
75  genType const & Source,
-
76  genType const & Multiple);
-
77 
-
79 }//namespace glm
-
80 
-
81 #include "multiple.inl"
-
82 
-
83 #endif//GLM_GTX_multiple
-
genType lowerMultiple(genType const &Source, genType const &Multiple)
Lower multiple number of Source.
-
genType higherMultiple(genType const &Source, genType const &Multiple)
Higher multiple number of Source.
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_normal extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  GLM_FUNC_DECL tvec3<T, P> triangleNormal(
+
57  tvec3<T, P> const & p1,
+
58  tvec3<T, P> const & p2,
+
59  tvec3<T, P> const & p3);
+
60 
+
62 }//namespace glm
+
63 
+
64 #include "normal.inl"
+
Definition: _noise.hpp:31
+
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.
diff --git a/doc/api/a00083.html b/doc/api/a00083.html index b9501bb0..a892af6d 100644 --- a/doc/api/a00083.html +++ b/doc/api/a00083.html @@ -3,8 +3,8 @@ - -GLM: noise.hpp File Reference + +0.9.6: normalize_dot.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,54 +41,47 @@
-Namespaces | Functions
-
gtc/noise.hpp File Reference
+
normalize_dot.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
simplex (vecType< T, P > const &p)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type normalizeDot (genType const &x, genType 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:

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_GTC_noise

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

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_GTX_fast_square_root (dependence)
-

Definition in file gtc/noise.hpp.

+

Definition in file normalize_dot.hpp.

diff --git a/doc/api/a00083_source.html b/doc/api/a00083_source.html index d819247f..3cb5a0c8 100644 --- a/doc/api/a00083_source.html +++ b/doc/api/a00083_source.html @@ -3,8 +3,8 @@ - -GLM: noise.hpp Source File + +0.9.6: normalize_dot.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,55 +41,50 @@
-
gtc/noise.hpp
+
normalize_dot.hpp
Go to the documentation of this file.
1 
-
41 #ifndef GLM_GTC_noise
-
42 #define GLM_GTC_noise
-
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_noise extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename T, precision P, template<typename, precision> class vecType>
-
60  T perlin(
-
61  vecType<T, P> const & p);
-
62 
-
65  template <typename T, precision P, template<typename, precision> class vecType>
-
66  T perlin(
-
67  vecType<T, P> const & p,
-
68  vecType<T, P> const & rep);
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include "../gtx/fast_square_root.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_normalize_dot extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
57  template <typename genType>
+
58  GLM_FUNC_DECL typename genType::value_type normalizeDot(
+
59  genType const & x,
+
60  genType const & y);
+
61 
+
65  template <typename genType>
+
66  GLM_FUNC_DECL typename genType::value_type fastNormalizeDot(
+
67  genType const & x,
+
68  genType const & y);
69 
-
72  template <typename T, precision P, template<typename, precision> class vecType>
-
73  T simplex(
-
74  vecType<T, P> const & p);
-
75 
-
77 }//namespace glm
-
78 
-
79 #include "noise.inl"
-
80 
-
81 #endif//GLM_GTC_noise
-
T simplex(vecType< T, P > const &p)
Simplex noise.
-
T perlin(vecType< T, P > const &p)
Classic perlin noise.
+
71 }//namespace glm
+
72 
+
73 #include "normalize_dot.inl"
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL genType::value_type normalizeDot(genType const &x, genType const &y)
Normalize parameters and returns the dot product of x and y.
+
GLM_FUNC_DECL genType::value_type fastNormalizeDot(genType const &x, genType 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 new file mode 100644 index 00000000..a04c8093 --- /dev/null +++ b/doc/api/a00084.html @@ -0,0 +1,113 @@ + + + + + + +0.9.6: number_precision.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Typedefs
+
+
number_precision.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
 
+

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:

+

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_GTX_number_precision

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

Definition in file number_precision.hpp.

+
+ + + + diff --git a/doc/api/a00084_source.html b/doc/api/a00084_source.html index df2858f0..6e520352 100644 --- a/doc/api/a00084_source.html +++ b/doc/api/a00084_source.html @@ -3,8 +3,8 @@ - -GLM: noise.hpp Source File + +0.9.6: number_precision.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,75 @@
-
gtx/noise.hpp
+
number_precision.hpp
-
1 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_random extension is deprecated, include GLM_GTC_random (glm/gtc/noise.hpp) instead")
-
26 #endif
-
27 
-
28 // Promoted:
-
29 #include "../gtc/noise.hpp"
+Go to the documentation of this file.
1 
+
40 #pragma once
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtc/type_precision.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_number_precision extension included")
+
48 #endif
+
49 
+
50 namespace glm{
+
51 namespace gtx
+
52 {
+
54  // Unsigned int vector types
+
55 
+
58 
+
59  typedef u8 u8vec1;
+
60  typedef u16 u16vec1;
+
61  typedef u32 u32vec1;
+
62  typedef u64 u64vec1;
+
63 
+
65  // Float vector types
+
66 
+
67  typedef f32 f32vec1;
+
68  typedef f64 f64vec1;
+
69 
+
71  // Float matrix types
+
72 
+
73  typedef f32 f32mat1;
+
74  typedef f32 f32mat1x1;
+
75  typedef f64 f64mat1;
+
76  typedef f64 f64mat1x1;
+
77 
+
79 }//namespace gtx
+
80 }//namespace glm
+
81 
+
82 #include "number_precision.inl"
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:934
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:930
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:926
+
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1537
+
u16 u16vec1
16bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:922
+
u8 u8vec1
8bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
+
Definition: _noise.hpp:31
+
u64 u64vec1
64bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
+
f32 f32mat1x1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
u32 u32vec1
32bit 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) ...
+
f64 f64mat1
Double-precision floating-point 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) ...
+
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1533
diff --git a/doc/api/a00085.html b/doc/api/a00085.html index b0938931..372740b6 100644 --- a/doc/api/a00085.html +++ b/doc/api/a00085.html @@ -3,8 +3,8 @@ - -GLM: norm.hpp File Reference + +0.9.6: optimum_pow.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,77 +41,59 @@
-Namespaces | Functions
-
norm.hpp File Reference
+
optimum_pow.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
distance2 (T const &p0, T const &p1)
 
template<typename genType >
genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x)
 
template<typename T >
length2 (T const &x)
 
template<typename genType >
genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, unsigned int Depth)
 
template<typename genType >
GLM_FUNC_DECL genType pow2 (const genType &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow3 (const genType &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow4 (const genType &x)
 
GLM_FUNC_DECL bool powOfTwo (int num)
 
template<precision P>
GLM_FUNC_DECL tvec2< bool, P > powOfTwo (tvec2< int, P > const &x)
 
template<precision P>
GLM_FUNC_DECL tvec3< bool, P > powOfTwo (tvec3< int, P > const &x)
 
template<precision P>
GLM_FUNC_DECL tvec4< bool, P > powOfTwo (tvec4< int, 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:

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_GTX_norm

+

GLM_GTX_optimum_pow

Date
2005-12-21 / 2011-06-07
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 optimum_pow.hpp.

diff --git a/doc/api/a00085_source.html b/doc/api/a00085_source.html index d339c0c7..56d9eda7 100644 --- a/doc/api/a00085_source.html +++ b/doc/api/a00085_source.html @@ -3,8 +3,8 @@ - -GLM: norm.hpp Source File + +0.9.6: optimum_pow.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,92 +41,63 @@
-
norm.hpp
+
optimum_pow.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_norm
-
40 #define GLM_GTX_norm
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/quaternion.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_norm extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename T>
-
58  T length2(
-
59  T const & x);
-
60 
-
63  template <typename genType>
-
64  typename genType::value_type length2(
-
65  genType const & x);
-
66 
-
69  template <typename T>
-
70  T distance2(
-
71  T const & p0,
-
72  T const & p1);
-
73 
-
76  template <typename genType>
-
77  typename genType::value_type distance2(
-
78  genType const & p0,
-
79  genType const & p1);
-
80 
-
83  template <typename T, precision P>
-
84  T l1Norm(
-
85  detail::tvec3<T, P> const & x,
-
86  detail::tvec3<T, P> const & y);
-
87 
-
90  template <typename T, precision P>
-
91  T l1Norm(
-
92  detail::tvec3<T, P> const & v);
-
93 
-
96  template <typename T, precision P>
-
97  T l2Norm(
-
98  detail::tvec3<T, P> const & x,
-
99  detail::tvec3<T, P> const & y);
-
100 
-
103  template <typename T, precision P>
-
104  T l2Norm(
-
105  detail::tvec3<T, P> const & x);
-
106 
-
109  template <typename T, precision P>
-
110  T lxNorm(
-
111  detail::tvec3<T, P> const & x,
-
112  detail::tvec3<T, P> const & y,
-
113  unsigned int Depth);
-
114 
-
117  template <typename T, precision P>
-
118  T lxNorm(
-
119  detail::tvec3<T, P> const & x,
-
120  unsigned int Depth);
-
121 
-
123 }//namespace glm
-
124 
-
125 #include "norm.inl"
-
126 
-
127 #endif//GLM_GTX_norm
-
T distance2(T const &p0, T const &p1)
Returns the squared distance between p0 and p1, i.e., length(p0 - p1).
-
T l1Norm(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the L1 norm between x and y.
-
T l2Norm(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the L2 norm between x and y.
-
T length2(T const &x)
Returns the squared length of x.
-
T lxNorm(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, unsigned int Depth)
Returns the L norm between x and y.
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_optimum_pow extension included")
+
45 #endif
+
46 
+
47 namespace glm{
+
48 namespace gtx
+
49 {
+
52 
+
55  template <typename genType>
+
56  GLM_FUNC_DECL genType pow2(const genType& x);
+
57 
+
60  template <typename genType>
+
61  GLM_FUNC_DECL genType pow3(const genType& x);
+
62 
+
65  template <typename genType>
+
66  GLM_FUNC_DECL genType pow4(const genType& x);
+
67 
+
70  GLM_FUNC_DECL bool powOfTwo(int num);
+
71 
+
74  template <precision P>
+
75  GLM_FUNC_DECL tvec2<bool, P> powOfTwo(tvec2<int, P> const & x);
+
76 
+
79  template <precision P>
+
80  GLM_FUNC_DECL tvec3<bool, P> powOfTwo(tvec3<int, P> const & x);
+
81 
+
84  template <precision P>
+
85  GLM_FUNC_DECL tvec4<bool, P> powOfTwo(tvec4<int, P> const & x);
+
86 
+
88 }//namespace gtx
+
89 }//namespace glm
+
90 
+
91 #include "optimum_pow.inl"
+
GLM_FUNC_DECL genType pow3(const genType &x)
Returns x raised to the power of 3.
+
GLM_FUNC_DECL genType pow4(const genType &x)
Returns x raised to the power of 4.
+
GLM_FUNC_DECL tvec4< bool, P > powOfTwo(tvec4< int, P > const &x)
Checks to determine if the parameter component are power of 2 numbers.
+
GLM_FUNC_DECL genType pow2(const genType &x)
Returns x raised to the power of 2.
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00086.html b/doc/api/a00086.html index 7c149730..a1990be3 100644 --- a/doc/api/a00086.html +++ b/doc/api/a00086.html @@ -3,8 +3,8 @@ - -GLM: normal.hpp File Reference + +0.9.6: orthonormalize.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,50 +41,47 @@
-Namespaces | Functions
-
normal.hpp File Reference
+
orthonormalize.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - + + + + + +

Functions

template<typename T , precision P>
detail::tvec3< T, P > triangleNormal (detail::tvec3< T, P > const &p1, detail::tvec3< T, P > const &p2, detail::tvec3< T, P > const &p3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orthonormalize (const tmat3x3< T, P > &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > orthonormalize (const tvec3< T, P > &x, const tvec3< T, P > &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:

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_GTX_normal

+

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)
+GLM_GTX_extented_min_max (dependence)
-

Definition in file normal.hpp.

+

Definition in file orthonormalize.hpp.

diff --git a/doc/api/a00086_source.html b/doc/api/a00086_source.html index 7d39e47b..b72f78fe 100644 --- a/doc/api/a00086_source.html +++ b/doc/api/a00086_source.html @@ -3,8 +3,8 @@ - -GLM: normal.hpp Source File + +0.9.6: orthonormalize.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,46 +41,47 @@
-
normal.hpp
+
orthonormalize.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_normal
-
40 #define GLM_GTX_normal
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_normal extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T, precision P>
-
57  detail::tvec3<T, P> triangleNormal(
-
58  detail::tvec3<T, P> const & p1,
-
59  detail::tvec3<T, P> const & p2,
-
60  detail::tvec3<T, P> const & p3);
-
61 
-
63 }//namespace glm
-
64 
-
65 #include "normal.inl"
-
66 
-
67 #endif//GLM_GTX_normal
-
detail::tvec3< T, P > triangleNormal(detail::tvec3< T, P > const &p1, detail::tvec3< T, P > const &p2, detail::tvec3< T, P > const &p3)
Computes triangle normal from triangle points.
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_orthonormalize extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  GLM_FUNC_DECL tmat3x3<T, P> orthonormalize(
+
57  const tmat3x3<T, P>& m);
+
58 
+
61  template <typename T, precision P>
+
62  GLM_FUNC_DECL tvec3<T, P> orthonormalize(
+
63  const tvec3<T, P>& x,
+
64  const tvec3<T, P>& y);
+
65 
+
67 }//namespace glm
+
68 
+
69 #include "orthonormalize.inl"
+
GLM_FUNC_DECL tvec3< T, P > orthonormalize(const tvec3< T, P > &x, const tvec3< T, P > &y)
Orthonormalizes x according y.
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00087.html b/doc/api/a00087.html index b9030f1f..6d05a3ab 100644 --- a/doc/api/a00087.html +++ b/doc/api/a00087.html @@ -3,8 +3,8 @@ - -GLM: normalize_dot.hpp File Reference + +0.9.6: packing.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,53 +41,99 @@
-Namespaces | Functions
-
normalize_dot.hpp File Reference
+
gtc/packing.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
genType::value_type normalizeDot (genType const &x, genType const &y)
 
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)
 

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:

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_GTX_normalize_dot

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

GLM_GTC_packing

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

Definition in file normalize_dot.hpp.

+

Definition in file gtc/packing.hpp.

diff --git a/doc/api/a00087_source.html b/doc/api/a00087_source.html index cad118a4..28505795 100644 --- a/doc/api/a00087_source.html +++ b/doc/api/a00087_source.html @@ -3,8 +3,8 @@ - -GLM: normalize_dot.hpp Source File + +0.9.6: packing.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,52 +41,133 @@
-
normalize_dot.hpp
+
gtc/packing.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_normalize_dot
-
40 #define GLM_GTX_normalize_dot
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/fast_square_root.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_normalize_dot extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
58  template <typename genType>
-
59  typename genType::value_type normalizeDot(
-
60  genType const & x,
-
61  genType const & y);
-
62 
-
66  template <typename genType>
-
67  typename genType::value_type fastNormalizeDot(
-
68  genType const & x,
-
69  genType const & y);
-
70 
-
72 }//namespace glm
-
73 
-
74 #include "normalize_dot.inl"
-
75 
-
76 #endif//GLM_GTX_normalize_dot
-
genType::value_type fastNormalizeDot(genType const &x, genType const &y)
Normalize parameters and returns the dot product of x and y.
-
genType::value_type normalizeDot(genType const &x, genType const &y)
Normalize parameters and returns the dot product of x and y.
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "type_precision.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTC_packing extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
64  GLM_FUNC_DECL uint8 packUnorm1x8(float v);
+
65 
+
76  GLM_FUNC_DECL float unpackUnorm1x8(uint8 p);
+
77 
+
92  GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const & v);
+
93 
+
108  GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p);
+
109 
+
121  GLM_FUNC_DECL uint8 packSnorm1x8(float s);
+
122 
+
134  GLM_FUNC_DECL float unpackSnorm1x8(uint8 p);
+
135 
+
150  GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const & v);
+
151 
+
166  GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p);
+
167 
+
179  GLM_FUNC_DECL uint16 packUnorm1x16(float v);
+
180 
+
192  GLM_FUNC_DECL float unpackUnorm1x16(uint16 p);
+
193 
+
208  GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const & v);
+
209 
+
224  GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p);
+
225 
+
237  GLM_FUNC_DECL uint16 packSnorm1x16(float v);
+
238 
+
250  GLM_FUNC_DECL float unpackSnorm1x16(uint16 p);
+
251 
+
266  GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const & v);
+
267 
+
282  GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 const & p);
+
283 
+
293  GLM_FUNC_DECL uint16 packHalf1x16(float v);
+
294 
+
304  GLM_FUNC_DECL float unpackHalf1x16(uint16 v);
+
305 
+
317  GLM_FUNC_DECL uint64 packHalf4x16(vec4 const & v);
+
318 
+
330  GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p);
+
331 
+
343  GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const & v);
+
344 
+
354  GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p);
+
355 
+
367  GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const & v);
+
368 
+
378  GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p);
+
379 
+
396  GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const & v);
+
397 
+
413  GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p);
+
414 
+
431  GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const & v);
+
432 
+
448  GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p);
+
449 
+
459  GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const & v);
+
460 
+
469  GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p);
+
470 
+
472 }// namespace glm
+
473 
+
474 #include "packing.inl"
+
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 uint8 packSnorm1x8(float s)
First, converts the normalized floating-point value v into 8-bit integer value.
+
OpenGL Mathematics (glm.g-truc.net)
+
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 vec4 unpackUnorm4x16(uint64 p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.
+
GLM_FUNC_DECL uint16 packSnorm1x16(float v)
First, converts the normalized floating-point value v into 16-bit integer value.
+
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 uint32 packU3x10_1x2(uvec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component unsigned intege...
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
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 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.
+
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:482
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
GLM_FUNC_DECL float unpackUnorm1x8(uint8 p)
Convert a single 8-bit integer to a normalized floating-point value.
+
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 float unpackSnorm1x16(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
GLM_FUNC_DECL uint16 packUnorm1x16(float v)
First, converts the normalized floating-point value v into a 16-bit integer value.
+
Definition: _noise.hpp:31
+
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 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 float unpackUnorm1x16(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned 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 uint64 packHalf4x16(vec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component floating-point ...
+
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 packSnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-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 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 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 uint16 packUnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
+
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:454
+
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...
diff --git a/doc/api/a00088.html b/doc/api/a00088.html index 92cb8634..9518b77c 100644 --- a/doc/api/a00088.html +++ b/doc/api/a00088.html @@ -3,8 +3,8 @@ - -GLM: number_precision.hpp File Reference + +0.9.6: packing.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,79 +41,32 @@
-
-Namespaces | -Typedefs
-
number_precision.hpp File Reference
+
packing.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - -

-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:

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_GTX_number_precision

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

GLM Core

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

Definition in file number_precision.hpp.

+

Definition in file packing.hpp.

diff --git a/doc/api/a00088_source.html b/doc/api/a00088_source.html index 0d344c67..497e07b8 100644 --- a/doc/api/a00088_source.html +++ b/doc/api/a00088_source.html @@ -3,8 +3,8 @@ - -GLM: number_precision.hpp Source File + +0.9.6: packing.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,77 +41,25 @@
-
number_precision.hpp
+
packing.hpp
Go to the documentation of this file.
1 
-
40 #ifndef GLM_GTX_number_precision
-
41 #define GLM_GTX_number_precision
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../gtc/type_precision.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTX_number_precision extension included")
-
49 #endif
-
50 
-
51 namespace glm{
-
52 namespace gtx
-
53 {
-
55  // Unsigned int vector types
-
56 
-
59 
-
60  typedef u8 u8vec1;
-
61  typedef u16 u16vec1;
-
62  typedef u32 u32vec1;
-
63  typedef u64 u64vec1;
-
64 
-
66  // Float vector types
-
67 
-
68  typedef f32 f32vec1;
-
69  typedef f64 f64vec1;
-
70 
-
72  // Float matrix types
-
73 
-
74  typedef f32 f32mat1;
-
75  typedef f32 f32mat1x1;
-
76  typedef f64 f64mat1;
-
77  typedef f64 f64mat1x1;
-
78 
-
80 }//namespace gtx
-
81 }//namespace glm
-
82 
-
83 #include "number_precision.inl"
-
84 
-
85 #endif//GLM_GTX_number_precision
-
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1071
-
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1309
-
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1523
-
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:911
-
f32 f32mat1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2530
-
f64 f64mat1x1
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
f64 f64mat1
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
-
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:923
-
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:919
-
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2423
-
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:991
-
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1527
-
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1150
-
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:915
-
f32 f32mat1x1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
29 #pragma once
+
30 
+
31 #include "detail/func_packing.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00089.html b/doc/api/a00089.html deleted file mode 100644 index 041f67bd..00000000 --- a/doc/api/a00089.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -GLM: optimum_pow.hpp File Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-Namespaces | -Functions
-
-
optimum_pow.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType pow2 (const genType &x)
 
template<typename genType >
genType pow3 (const genType &x)
 
template<typename genType >
genType pow4 (const genType &x)
 
bool powOfTwo (int num)
 
template<precision P>
detail::tvec2< bool, P > powOfTwo (detail::tvec2< int, P > const &x)
 
template<precision P>
detail::tvec3< bool, P > powOfTwo (detail::tvec3< int, P > const &x)
 
template<precision P>
detail::tvec4< bool, P > powOfTwo (detail::tvec4< int, 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:

-

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_GTX_optimum_pow

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

Definition in file optimum_pow.hpp.

-
- - - - diff --git a/doc/api/a00089_source.html b/doc/api/a00089_source.html index 05129d81..1a7ece45 100644 --- a/doc/api/a00089_source.html +++ b/doc/api/a00089_source.html @@ -3,8 +3,8 @@ - -GLM: optimum_pow.hpp Source File + +0.9.6: pages.doxy Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,65 +41,21 @@
-
optimum_pow.hpp
+
pages.doxy
-Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_optimum_pow
-
39 #define GLM_GTX_optimum_pow
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_optimum_pow extension included")
-
46 #endif
-
47 
-
48 namespace glm{
-
49 namespace gtx
-
50 {
-
53 
-
56  template <typename genType>
-
57  genType pow2(const genType& x);
-
58 
-
61  template <typename genType>
-
62  genType pow3(const genType& x);
-
63 
-
66  template <typename genType>
-
67  genType pow4(const genType& x);
-
68 
-
71  bool powOfTwo(int num);
-
72 
-
75  template <precision P>
-
76  detail::tvec2<bool, P> powOfTwo(detail::tvec2<int, P> const & x);
-
77 
-
80  template <precision P>
-
81  detail::tvec3<bool, P> powOfTwo(detail::tvec3<int, P> const & x);
-
82 
-
85  template <precision P>
-
86  detail::tvec4<bool, P> powOfTwo(detail::tvec4<int, P> const & x);
-
87 
-
89 }//namespace gtx
-
90 }//namespace glm
-
91 
-
92 #include "optimum_pow.inl"
-
93 
-
94 #endif//GLM_GTX_optimum_pow
-
genType pow3(const genType &x)
Returns x raised to the power of 3.
-
genType pow4(const genType &x)
Returns x raised to the power of 4.
-
genType pow2(const genType &x)
Returns x raised to the power of 2.
-
bool powOfTwo(int num)
Checks if the parameter is a power of 2 number.
+
1 
diff --git a/doc/api/a00090.html b/doc/api/a00090.html index a0b9b8aa..d4bc77b3 100644 --- a/doc/api/a00090.html +++ b/doc/api/a00090.html @@ -3,8 +3,8 @@ - -GLM: orthonormalize.hpp File Reference + +0.9.6: perpendicular.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,53 +41,44 @@
-Namespaces | Functions
-
orthonormalize.hpp File Reference
+
perpendicular.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - + + +

Functions

template<typename T , precision P>
detail::tmat3x3< T, P > orthonormalize (const detail::tmat3x3< T, P > &m)
 
template<typename T , precision P>
detail::tvec3< T, P > orthonormalize (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
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:

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_GTX_orthonormalize

+

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_extented_min_max (dependence)
+GLM_GTX_projection (dependence)
-

Definition in file orthonormalize.hpp.

+

Definition in file perpendicular.hpp.

diff --git a/doc/api/a00090_source.html b/doc/api/a00090_source.html index 9e016ecf..098cfcfb 100644 --- a/doc/api/a00090_source.html +++ b/doc/api/a00090_source.html @@ -3,8 +3,8 @@ - -GLM: orthonormalize.hpp Source File + +0.9.6: perpendicular.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,49 +41,44 @@
-
orthonormalize.hpp
+
perpendicular.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_orthonormalize
-
40 #define GLM_GTX_orthonormalize
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include "../gtx/projection.hpp"
44 
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_orthonormalize extension included")
-
47 #endif
-
48 
-
49 namespace glm
+
46 # pragma message("GLM: GLM_GTX_perpendicular extension included")
+
47 #endif
+
48 
+
49 namespace glm
50 {
53 
-
56  template <typename T, precision P>
-
57  detail::tmat3x3<T, P> orthonormalize(
-
58  const detail::tmat3x3<T, P>& m);
-
59 
-
62  template <typename T, precision P>
-
63  detail::tvec3<T, P> orthonormalize(
-
64  const detail::tvec3<T, P>& x,
-
65  const detail::tvec3<T, P>& y);
-
66 
-
68 }//namespace glm
-
69 
-
70 #include "orthonormalize.inl"
-
71 
-
72 #endif//GLM_GTX_orthonormalize
-
detail::tmat3x3< T, P > orthonormalize(const detail::tmat3x3< T, P > &m)
Returns the orthonormalized matrix of m.
+
56  template <typename vecType>
+
57  GLM_FUNC_DECL vecType perp(
+
58  vecType const & x,
+
59  vecType const & Normal);
+
60 
+
62 }//namespace glm
+
63 
+
64 #include "perpendicular.inl"
+
GLM_FUNC_DECL vecType perp(vecType const &x, vecType const &Normal)
Projects x a perpendicular axis of Normal.
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00091.html b/doc/api/a00091.html index 60e765f3..ebf6e91f 100644 --- a/doc/api/a00091.html +++ b/doc/api/a00091.html @@ -3,8 +3,8 @@ - -GLM: packing.hpp File Reference + +0.9.6: polar_coordinates.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,105 +41,45 @@
-Namespaces | Functions
-
gtc/packing.hpp File Reference
+
polar_coordinates.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float const &v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float const &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 const &v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float const &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 const &p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 const &v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 const &p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 const &p)
 
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:

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_GTC_packing

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

GLM_GTX_polar_coordinates

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

Definition in file gtc/packing.hpp.

+

Definition in file polar_coordinates.hpp.

diff --git a/doc/api/a00091_source.html b/doc/api/a00091_source.html index b2a39f44..88b18540 100644 --- a/doc/api/a00091_source.html +++ b/doc/api/a00091_source.html @@ -3,8 +3,8 @@ - -GLM: packing.hpp Source File + +0.9.6: polar_coordinates.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,140 +41,47 @@
-
gtc/packing.hpp
+
polar_coordinates.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTC_packing
-
40 #define GLM_GTC_packing
-
41 
-
42 // Dependency:
-
43 #include "type_precision.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTC_packing extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
65  GLM_FUNC_DECL uint8 packUnorm1x8(float const & v);
-
66 
-
77  GLM_FUNC_DECL float unpackUnorm1x8(uint8 const & p);
-
78 
-
93  GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const & v);
-
94 
-
109  GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 const & p);
-
110 
-
122  GLM_FUNC_DECL uint8 packSnorm1x8(float const & s);
-
123 
-
135  GLM_FUNC_DECL float unpackSnorm1x8(uint8 const & p);
-
136 
-
151  GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const & v);
-
152 
-
167  GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 const & p);
-
168 
-
180  GLM_FUNC_DECL uint16 packUnorm1x16(float const & v);
-
181 
-
193  GLM_FUNC_DECL float unpackUnorm1x16(uint16 const & p);
-
194 
-
209  GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const & v);
-
210 
-
225  GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 const & p);
-
226 
-
238  GLM_FUNC_DECL uint16 packSnorm1x16(float const & v);
-
239 
-
251  GLM_FUNC_DECL float unpackSnorm1x16(uint16 const & p);
-
252 
-
267  GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const & v);
-
268 
-
283  GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 const & p);
-
284 
-
294  GLM_FUNC_DECL uint16 packHalf1x16(float const & v);
-
295 
-
305  GLM_FUNC_DECL float unpackHalf1x16(uint16 const & v);
-
306 
-
318  GLM_FUNC_DECL uint64 packHalf4x16(vec4 const & v);
-
319 
-
331  GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 const & p);
-
332 
-
344  GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const & v);
-
345 
-
355  GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 const & p);
-
356 
-
368  GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const & v);
-
369 
-
379  GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 const & p);
-
380 
-
397  GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const & v);
-
398 
-
414  GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 const & p);
-
415 
-
432  GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const & v);
-
433 
-
449  GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 const & p);
-
450 
-
460  GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const & v);
-
461 
-
470  GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 const & p);
-
471 
-
473 }// namespace glm
-
474 
-
475 #include "packing.inl"
-
476 
-
477 #endif//GLM_GTC_packing
-
478 
-
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
-
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
-
GLM_FUNC_DECL float unpackUnorm1x16(uint16 const &p)
First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.
-
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 uint16 packSnorm1x16(float const &v)
First, converts the normalized floating-point value v into 16-bit integer value.
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
-
GLM_FUNC_DECL uint8 packSnorm1x8(float const &s)
First, converts the normalized floating-point value v into 8-bit integer value.
-
GLM_FUNC_DECL float unpackUnorm1x8(uint8 const &p)
Convert a single 8-bit integer to a normalized floating-point value.
-
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 uint64 packSnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
-
GLM_FUNC_DECL float unpackSnorm1x16(uint16 const &p)
First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed 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 ...
-
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
-
GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 const &p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.
-
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 const &p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
-
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 vec3 unpackF2x11_1x10(uint32 const &p)
First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and ...
-
GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component unsigned intege...
-
OpenGL Mathematics (glm.g-truc.net)
-
GLM_FUNC_DECL float unpackSnorm1x8(uint8 const &p)
First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.
-
GLM_FUNC_DECL uint16 packHalf1x16(float const &v)
Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 1...
-
GLM_FUNC_DECL uint16 packUnorm1x16(float const &v)
First, converts the normalized floating-point value v into a 16-bit integer value.
-
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
-
GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
-
GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 const &p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-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 vec4 unpackSnorm3x10_1x2(uint32 const &p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
-
GLM_FUNC_DECL uint64 packHalf4x16(vec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component floating-point ...
-
GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 const &p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers...
-
GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 const &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:482
-
GLM_FUNC_DECL float unpackHalf1x16(uint16 const &v)
Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into ...
-
GLM_FUNC_DECL uint8 packUnorm1x8(float const &v)
First, converts the normalized floating-point value v into a 8-bit integer value. ...
-
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
-
GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 const &p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed 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...
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
-
GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 const &p)
Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigne...
-
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...
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
55  template <typename T, precision P>
+
56  GLM_FUNC_DECL tvec3<T, P> polar(
+
57  tvec3<T, P> const & euclidean);
+
58 
+
62  template <typename T, precision P>
+
63  GLM_FUNC_DECL tvec3<T, P> euclidean(
+
64  tvec2<T, P> const & polar);
+
65 
+
67 }//namespace glm
+
68 
+
69 #include "polar_coordinates.inl"
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL tvec3< T, P > euclidean(tvec2< T, P > const &polar)
Convert Polar to Euclidean coordinates.
+
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 25ea59da..f75771a6 100644 --- a/doc/api/a00092.html +++ b/doc/api/a00092.html @@ -3,8 +3,8 @@ - -GLM: packing.hpp File Reference + +0.9.6: precision.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,12 +41,12 @@
-
packing.hpp File Reference
+
precision.hpp File Reference
@@ -58,17 +56,17 @@

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
2013-12-24 / 2013-12-24
+

GLM Core

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

Definition in file packing.hpp.

+

Definition in file precision.hpp.

diff --git a/doc/api/a00092_source.html b/doc/api/a00092_source.html index f66ce4f9..b485ef3c 100644 --- a/doc/api/a00092_source.html +++ b/doc/api/a00092_source.html @@ -3,8 +3,8 @@ - -GLM: packing.hpp Source File + +0.9.6: precision.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,34 @@
-
packing.hpp
+
precision.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_PACKING_INCLUDED
-
30 #define GLM_PACKING_INCLUDED
-
31 
-
32 #include "detail/func_packing.hpp"
-
33 
-
34 #endif//GLM_PACKING_INCLUDED
+
29 #pragma once
+
30 
+
31 namespace glm
+
32 {
+
33  enum precision
+
34  {
+
35  highp,
+
36  mediump,
+
37  lowp,
+
38  defaultp = highp
+
39  };
+
40 }//namespace glm
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00093.html b/doc/api/a00093.html new file mode 100644 index 00000000..b7d62d1f --- /dev/null +++ b/doc/api/a00093.html @@ -0,0 +1,82 @@ + + + + + + +0.9.6: projection.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
projection.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:

+

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_GTX_projection

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

Definition in file projection.hpp.

+
+ + + + diff --git a/doc/api/a00093_source.html b/doc/api/a00093_source.html index 5c60406f..71ad17f4 100644 --- a/doc/api/a00093_source.html +++ b/doc/api/a00093_source.html @@ -3,8 +3,8 @@ - -GLM: pages.doxy Source File + +0.9.6: projection.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,21 +41,43 @@
-
pages.doxy
+
projection.hpp
-
1 
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_projection extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename vecType>
+
55  GLM_FUNC_DECL vecType proj(
+
56  vecType const & x,
+
57  vecType const & Normal);
+
58 
+
60 }//namespace glm
+
61 
+
62 #include "projection.inl"
+
GLM_FUNC_DECL vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00094.html b/doc/api/a00094.html index 11fc0aa4..8f431252 100644 --- a/doc/api/a00094.html +++ b/doc/api/a00094.html @@ -3,8 +3,8 @@ - -GLM: perpendicular.hpp File Reference + +0.9.6: quaternion.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,50 +41,121 @@
-Namespaces | Functions
-
perpendicular.hpp File Reference
+
gtc/quaternion.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename vecType >
vecType perp (vecType const &x, vecType const &Normal)
 
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)
 

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:

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_GTX_perpendicular

-
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_projection (dependence)
+gtc_half_float (dependence) +
+GLM_GTC_constants (dependence)
-

Definition in file perpendicular.hpp.

+

Definition in file gtc/quaternion.hpp.

diff --git a/doc/api/a00094_source.html b/doc/api/a00094_source.html index 5507394a..308d5428 100644 --- a/doc/api/a00094_source.html +++ b/doc/api/a00094_source.html @@ -3,8 +3,8 @@ - -GLM: perpendicular.hpp Source File + +0.9.6: quaternion.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,46 +41,232 @@
-
perpendicular.hpp
+
gtc/quaternion.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_perpendicular
-
40 #define GLM_GTX_perpendicular
-
41 
+
40 #pragma once
+
41 
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/projection.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_perpendicular extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename vecType>
-
58  vecType perp(
-
59  vecType const & x,
-
60  vecType const & Normal);
-
61 
-
63 }//namespace glm
-
64 
-
65 #include "perpendicular.inl"
+
43 #include "../mat3x3.hpp"
+
44 #include "../mat4x4.hpp"
+
45 #include "../vec3.hpp"
+
46 #include "../vec4.hpp"
+
47 #include "../gtc/constants.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTC_quaternion extension included")
+
51 #endif
+
52 
+
53 namespace glm
+
54 {
+
57 
+
58  template <typename T, precision P>
+
59  struct tquat
+
60  {
+
61  typedef T value_type;
+
62  typedef tvec4<bool, P> bool_type;
+
63 
+
64  public:
+
65  T x, y, z, w;
66 
-
67 #endif//GLM_GTX_perpendicular
-
vecType perp(vecType const &x, vecType const &Normal)
Projects x a perpendicular axis of Normal.
+
67 #if GLM_FORCE_SIZE_FUNC
+
68  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
70 #else
+
71  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
73 #endif//GLM_FORCE_SIZE_FUNC
+
74 
+
76  // Accesses
+
77 
+
78  GLM_FUNC_DECL T & operator[](length_t i);
+
79  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
80 
+
82  // Implicit basic constructors
+
83 
+
84  GLM_FUNC_DECL tquat();
+
85  template <precision Q>
+
86  GLM_FUNC_DECL tquat(tquat<T, Q> const & q);
+
87 
+
89  // Explicit basic constructors
+
90 
+
91  GLM_FUNC_DECL explicit tquat(ctor);
+
92  GLM_FUNC_DECL explicit tquat(T const & s, tvec3<T, P> const & v);
+
93  GLM_FUNC_DECL tquat(T const & w, T const & x, T const & y, T const & z);
+
94 
+
96  // Convertions
+
97 
+
98 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
99  template <typename U, precision Q>
+
100  GLM_FUNC_DECL explicit tquat(tquat<U, Q> const & q);
+
101 # else
+
102  template <typename U, precision Q>
+
103  GLM_FUNC_DECL tquat(tquat<U, Q> const & q);
+
104 # endif
+
105 
+
106  // explicit conversion operators
+
107  GLM_FUNC_DECL explicit operator tmat3x3<T, P>();
+
108  GLM_FUNC_DECL explicit operator tmat4x4<T, P>();
+
109 
+
116  GLM_FUNC_DECL explicit tquat(tvec3<T, P> const & u, tvec3<T, P> const & v);
+
117 
+
119  GLM_FUNC_DECL explicit tquat(tvec3<T, P> const & eulerAngles);
+
120  GLM_FUNC_DECL explicit tquat(tmat3x3<T, P> const & m);
+
121  GLM_FUNC_DECL explicit tquat(tmat4x4<T, P> const & m);
+
122 
+
124  // Operators
+
125  GLM_FUNC_DECL tquat<T, P> & operator+=(tquat<T, P> const & q);
+
126  GLM_FUNC_DECL tquat<T, P> & operator*=(tquat<T, P> const & q);
+
127  GLM_FUNC_DECL tquat<T, P> & operator*=(T const & s);
+
128  GLM_FUNC_DECL tquat<T, P> & operator/=(T const & s);
+
129  };
+
130 
+
131  template <typename T, precision P>
+
132  GLM_FUNC_DECL tquat<T, P> operator-(tquat<T, P> const & q);
+
133 
+
134  template <typename T, precision P>
+
135  GLM_FUNC_DECL tquat<T, P> operator+(tquat<T, P> const & q, tquat<T, P> const & p);
+
136 
+
137  template <typename T, precision P>
+
138  GLM_FUNC_DECL tquat<T, P> operator*(tquat<T, P> const & q, tquat<T, P> const & p);
+
139 
+
140  template <typename T, precision P>
+
141  GLM_FUNC_DECL tvec3<T, P> operator*(tquat<T, P> const & q, tvec3<T, P> const & v);
+
142 
+
143  template <typename T, precision P>
+
144  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, tquat<T, P> const & q);
+
145 
+
146  template <typename T, precision P>
+
147  GLM_FUNC_DECL tvec4<T, P> operator*(tquat<T, P> const & q, tvec4<T, P> const & v);
+
148 
+
149  template <typename T, precision P>
+
150  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, tquat<T, P> const & q);
+
151 
+
152  template <typename T, precision P>
+
153  GLM_FUNC_DECL tquat<T, P> operator*(tquat<T, P> const & q, T const & s);
+
154 
+
155  template <typename T, precision P>
+
156  GLM_FUNC_DECL tquat<T, P> operator*(T const & s, tquat<T, P> const & q);
+
157 
+
158  template <typename T, precision P>
+
159  GLM_FUNC_DECL tquat<T, P> operator/(tquat<T, P> const & q, T const & s);
+
160 
+
164  template <typename T, precision P>
+
165  GLM_FUNC_DECL T length(tquat<T, P> const & q);
+
166 
+
170  template <typename T, precision P>
+
171  GLM_FUNC_DECL tquat<T, P> normalize(tquat<T, P> const & q);
+
172 
+
176  template <typename T, precision P, template <typename, precision> class quatType>
+
177  GLM_FUNC_DECL T dot(quatType<T, P> const & x, quatType<T, P> const & y);
+
178 
+
189  template <typename T, precision P>
+
190  GLM_FUNC_DECL tquat<T, P> mix(tquat<T, P> const & x, tquat<T, P> const & y, T const & a);
+
191 
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL tquat<T, P> lerp(tquat<T, P> const & x, tquat<T, P> const & y, T const & a);
+
202 
+
211  template <typename T, precision P>
+
212  GLM_FUNC_DECL tquat<T, P> slerp(tquat<T, P> const & x, tquat<T, P> const & y, T const & a);
+
213 
+
217  template <typename T, precision P>
+
218  GLM_FUNC_DECL tquat<T, P> conjugate(tquat<T, P> const & q);
+
219 
+
223  template <typename T, precision P>
+
224  GLM_FUNC_DECL tquat<T, P> inverse(tquat<T, P> const & q);
+
225 
+
233  template <typename T, precision P>
+
234  GLM_FUNC_DECL tquat<T, P> rotate(tquat<T, P> const & q, T const & angle, tvec3<T, P> const & axis);
+
235 
+
240  template <typename T, precision P>
+
241  GLM_FUNC_DECL tvec3<T, P> eulerAngles(tquat<T, P> const & x);
+
242 
+
246  template <typename T, precision P>
+
247  GLM_FUNC_DECL T roll(tquat<T, P> const & x);
+
248 
+
252  template <typename T, precision P>
+
253  GLM_FUNC_DECL T pitch(tquat<T, P> const & x);
+
254 
+
258  template <typename T, precision P>
+
259  GLM_FUNC_DECL T yaw(tquat<T, P> const & x);
+
260 
+
264  template <typename T, precision P>
+
265  GLM_FUNC_DECL tmat3x3<T, P> mat3_cast(tquat<T, P> const & x);
+
266 
+
270  template <typename T, precision P>
+
271  GLM_FUNC_DECL tmat4x4<T, P> mat4_cast(tquat<T, P> const & x);
+
272 
+
276  template <typename T, precision P>
+
277  GLM_FUNC_DECL tquat<T, P> quat_cast(tmat3x3<T, P> const & x);
+
278 
+
282  template <typename T, precision P>
+
283  GLM_FUNC_DECL tquat<T, P> quat_cast(tmat4x4<T, P> const & x);
+
284 
+
288  template <typename T, precision P>
+
289  GLM_FUNC_DECL T angle(tquat<T, P> const & x);
+
290 
+
294  template <typename T, precision P>
+
295  GLM_FUNC_DECL tvec3<T, P> axis(tquat<T, P> const & x);
+
296 
+
303  template <typename T, precision P>
+
304  GLM_FUNC_DECL tquat<T, P> angleAxis(T const & angle, tvec3<T, P> const & axis);
+
305 
+
311  template <typename T, precision P>
+
312  GLM_FUNC_DECL tvec4<bool, P> lessThan(tquat<T, P> const & x, tquat<T, P> const & y);
+
313 
+
319  template <typename T, precision P>
+
320  GLM_FUNC_DECL tvec4<bool, P> lessThanEqual(tquat<T, P> const & x, tquat<T, P> const & y);
+
321 
+
327  template <typename T, precision P>
+
328  GLM_FUNC_DECL tvec4<bool, P> greaterThan(tquat<T, P> const & x, tquat<T, P> const & y);
+
329 
+
335  template <typename T, precision P>
+
336  GLM_FUNC_DECL tvec4<bool, P> greaterThanEqual(tquat<T, P> const & x, tquat<T, P> const & y);
+
337 
+
343  template <typename T, precision P>
+
344  GLM_FUNC_DECL tvec4<bool, P> equal(tquat<T, P> const & x, tquat<T, P> const & y);
+
345 
+
351  template <typename T, precision P>
+
352  GLM_FUNC_DECL tvec4<bool, P> notEqual(tquat<T, P> const & x, tquat<T, P> const & y);
+
354 } //namespace glm
+
355 
+
356 #include "quaternion.inl"
+
GLM_FUNC_DECL tquat< T, P > normalize(tquat< T, P > const &q)
Returns the normalized quaternion.
+
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 yaw(tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians.
+
GLM_FUNC_DECL tquat< T, P > inverse(tquat< T, P > const &q)
Returns the q inverse.
+
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 > lerp(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
+
GLM_FUNC_DECL tquat< T, P > quat_cast(tmat4x4< T, P > const &x)
Converts a 4 * 4 matrix to a quaternion.
+
Definition: _noise.hpp:31
+
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 tvec3< T, P > eulerAngles(tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
+
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 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 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 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 tmat3x3< T, P > mat3_cast(tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL T roll(tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians.
+
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
+
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 T length(tquat< T, P > const &q)
Returns the length of the quaternion.
+
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.
diff --git a/doc/api/a00095.html b/doc/api/a00095.html index dca96884..68cdfaf3 100644 --- a/doc/api/a00095.html +++ b/doc/api/a00095.html @@ -3,8 +3,8 @@ - -GLM: polar_coordinates.hpp File Reference + +0.9.6: quaternion.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,51 +41,95 @@
-Namespaces | Functions
-
polar_coordinates.hpp File Reference
+
gtx/quaternion.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tvec3< T, P > euclidean (detail::tvec2< T, P > const &polar)
 
template<typename T , precision P>
detail::tvec3< T, P > polar (detail::tvec3< T, P > const &euclidean)
 
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:

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_GTX_polar_coordinates

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

GLM_GTX_quaternion

+
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 polar_coordinates.hpp.

+

Definition in file gtx/quaternion.hpp.

diff --git a/doc/api/a00095_source.html b/doc/api/a00095_source.html index 96c878c8..c7e8a9d1 100644 --- a/doc/api/a00095_source.html +++ b/doc/api/a00095_source.html @@ -3,8 +3,8 @@ - -GLM: polar_coordinates.hpp Source File + +0.9.6: quaternion.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,49 +41,149 @@
-
polar_coordinates.hpp
+
gtx/quaternion.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_polar_coordinates
-
39 #define GLM_GTX_polar_coordinates
-
40 
+
39 #pragma once
+
40 
41 // Dependency:
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
56  template <typename T, precision P>
-
57  detail::tvec3<T, P> polar(
-
58  detail::tvec3<T, P> const & euclidean);
-
59 
-
63  template <typename T, precision P>
-
64  detail::tvec3<T, P> euclidean(
-
65  detail::tvec2<T, P> const & polar);
-
66 
-
68 }//namespace glm
-
69 
-
70 #include "polar_coordinates.inl"
+
43 #include "../gtc/constants.hpp"
+
44 #include "../gtc/quaternion.hpp"
+
45 #include "../gtx/norm.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_quaternion extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
59  template<typename T, precision P>
+
60  GLM_FUNC_DECL tvec3<T, P> cross(
+
61  tquat<T, P> const & q,
+
62  tvec3<T, P> const & v);
+
63 
+
67  template<typename T, precision P>
+
68  GLM_FUNC_DECL tvec3<T, P> cross(
+
69  tvec3<T, P> const & v,
+
70  tquat<T, P> const & q);
71 
-
72 #endif//GLM_GTX_polar_coordinates
-
detail::tvec3< T, P > euclidean(detail::tvec2< T, P > const &polar)
Convert Polar to Euclidean coordinates.
-
detail::tvec3< T, P > polar(detail::tvec3< T, P > const &euclidean)
Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude...
+
76  template<typename T, precision P>
+
77  GLM_FUNC_DECL tquat<T, P> squad(
+
78  tquat<T, P> const & q1,
+
79  tquat<T, P> const & q2,
+
80  tquat<T, P> const & s1,
+
81  tquat<T, P> const & s2,
+
82  T const & h);
+
83 
+
87  template<typename T, precision P>
+
88  GLM_FUNC_DECL tquat<T, P> intermediate(
+
89  tquat<T, P> const & prev,
+
90  tquat<T, P> const & curr,
+
91  tquat<T, P> const & next);
+
92 
+
96  template<typename T, precision P>
+
97  GLM_FUNC_DECL tquat<T, P> exp(
+
98  tquat<T, P> const & q);
+
99 
+
103  template<typename T, precision P>
+
104  GLM_FUNC_DECL tquat<T, P> log(
+
105  tquat<T, P> const & q);
+
106 
+
110  template<typename T, precision P>
+
111  GLM_FUNC_DECL tquat<T, P> pow(
+
112  tquat<T, P> const & x,
+
113  T const & y);
+
114 
+
118  //template<typename T, precision P>
+
119  //tquat<T, P> sqrt(
+
120  // tquat<T, P> const & q);
+
121 
+
125  template<typename T, precision P>
+
126  GLM_FUNC_DECL tvec3<T, P> rotate(
+
127  tquat<T, P> const & q,
+
128  tvec3<T, P> const & v);
+
129 
+
133  template<typename T, precision P>
+
134  GLM_FUNC_DECL tvec4<T, P> rotate(
+
135  tquat<T, P> const & q,
+
136  tvec4<T, P> const & v);
+
137 
+
141  template<typename T, precision P>
+
142  GLM_FUNC_DECL T extractRealComponent(
+
143  tquat<T, P> const & q);
+
144 
+
148  template<typename T, precision P>
+
149  GLM_FUNC_DECL tmat3x3<T, P> toMat3(
+
150  tquat<T, P> const & x){return mat3_cast(x);}
+
151 
+
155  template<typename T, precision P>
+
156  GLM_FUNC_DECL tmat4x4<T, P> toMat4(
+
157  tquat<T, P> const & x){return mat4_cast(x);}
+
158 
+
162  template<typename T, precision P>
+
163  GLM_FUNC_DECL tquat<T, P> toQuat(
+
164  tmat3x3<T, P> const & x){return quat_cast(x);}
+
165 
+
169  template<typename T, precision P>
+
170  GLM_FUNC_DECL tquat<T, P> toQuat(
+
171  tmat4x4<T, P> const & x){return quat_cast(x);}
+
172 
+
176  template<typename T, precision P>
+
177  GLM_FUNC_DECL tquat<T, P> shortMix(
+
178  tquat<T, P> const & x,
+
179  tquat<T, P> const & y,
+
180  T const & a);
+
181 
+
185  template<typename T, precision P>
+
186  GLM_FUNC_DECL tquat<T, P> fastMix(
+
187  tquat<T, P> const & x,
+
188  tquat<T, P> const & y,
+
189  T const & a);
+
190 
+
196  template<typename T, precision P>
+
197  GLM_FUNC_DECL tquat<T, P> rotation(
+
198  tvec3<T, P> const & orig,
+
199  tvec3<T, P> const & dest);
+
200 
+
204  template<typename T, precision P>
+
205  GLM_FUNC_DECL T length2(tquat<T, P> const & q);
+
206 
+
208 }//namespace glm
+
209 
+
210 #include "quaternion.inl"
+
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 tmat3x3< T, P > toMat3(tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
+
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 tquat< T, P > pow(tquat< T, P > const &x, T const &y)
Returns x raised to the y power.
+
GLM_FUNC_DECL T length2(tquat< T, P > const &q)
Returns the squared length of x.
+
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 > toQuat(tmat4x4< T, P > const &x)
Converts a 4 * 4 matrix to a quaternion.
+
Definition: _noise.hpp:31
+
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.
+
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.
+
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 > exp(tquat< T, P > const &q)
Returns a exp of a quaternion.
+
GLM_FUNC_DECL T extractRealComponent(tquat< T, P > const &q)
Extract the real component of a quaternion.
+
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 > 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 tquat< T, P > quat_cast(tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
+
GLM_FUNC_DECL tquat< T, P > log(tquat< T, P > const &q)
Returns a log of a quaternion.
diff --git a/doc/api/a00096.html b/doc/api/a00096.html new file mode 100644 index 00000000..63ef1db8 --- /dev/null +++ b/doc/api/a00096.html @@ -0,0 +1,101 @@ + + + + + + +0.9.6: random.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
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:

+

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_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 random.hpp.

+
+ + + + diff --git a/doc/api/a00096_source.html b/doc/api/a00096_source.html index cf2d1aa2..511e7c3c 100644 --- a/doc/api/a00096_source.html +++ b/doc/api/a00096_source.html @@ -3,8 +3,8 @@ - -GLM: precision.hpp Source File + +0.9.6: random.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,36 +41,75 @@
-
precision.hpp
+
random.hpp
-
1 
-
29 #ifndef GLM_CORE_PRECISION_INCLUDED
-
30 #define GLM_CORE_PRECISION_INCLUDED
-
31 
-
32 namespace glm
-
33 {
-
34  enum precision
-
35  {
-
36  highp,
-
37  mediump,
-
38  lowp,
-
39  defaultp = highp
-
40  };
-
41 }//namespace glm
-
42 
-
43 #endif//GLM_CORE_PRECISION_INCLUDED
+Go to the documentation of this file.
1 
+
40 #pragma once
+
41 
+
42 // Dependency:
+
43 #include "../vec2.hpp"
+
44 #include "../vec3.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTC_random extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
61  template <typename genTYpe>
+
62  GLM_FUNC_DECL genTYpe linearRand(
+
63  genTYpe Min,
+
64  genTYpe Max);
+
65 
+
66  template <typename T, precision P, template <typename, precision> class vecType>
+
67  GLM_FUNC_DECL vecType<T, P> linearRand(
+
68  vecType<T, P> const & Min,
+
69  vecType<T, P> const & Max);
+
70 
+
76  template <typename genType>
+
77  GLM_FUNC_DECL genType gaussRand(
+
78  genType Mean,
+
79  genType Deviation);
+
80 
+
85  template <typename T>
+
86  GLM_FUNC_DECL tvec2<T, defaultp> circularRand(
+
87  T Radius);
+
88 
+
93  template <typename T>
+
94  GLM_FUNC_DECL tvec3<T, defaultp> sphericalRand(
+
95  T Radius);
+
96 
+
101  template <typename T>
+
102  GLM_FUNC_DECL tvec2<T, defaultp> diskRand(
+
103  T Radius);
+
104 
+
109  template <typename T>
+
110  GLM_FUNC_DECL tvec3<T, defaultp> ballRand(
+
111  T Radius);
+
112 
+
114 }//namespace glm
+
115 
+
116 #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...
+
GLM_FUNC_DECL genType gaussRand(genType Mean, genType Deviation)
Generate random numbers in the interval [Min, Max], according a gaussian distribution.
+
Definition: _noise.hpp:31
+
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 f7dc68ad..40ee8abe 100644 --- a/doc/api/a00097.html +++ b/doc/api/a00097.html @@ -3,8 +3,8 @@ - -GLM: projection.hpp File Reference + +0.9.6: range.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,48 +41,32 @@
-
-Namespaces | -Functions
-
projection.hpp File Reference
+
range.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - -

-Functions

template<typename vecType >
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:

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_GTX_projection

-
Date
2005-12-21 / 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 projection.hpp.

+

Definition in file range.hpp.

diff --git a/doc/api/a00097_source.html b/doc/api/a00097_source.html index eef59d8e..e614e5ac 100644 --- a/doc/api/a00097_source.html +++ b/doc/api/a00097_source.html @@ -3,8 +3,8 @@ - -GLM: projection.hpp Source File + +0.9.6: range.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,45 +41,82 @@
-
projection.hpp
+
range.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_projection
-
39 #define GLM_GTX_projection
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_projection extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename vecType>
-
56  vecType proj(
-
57  vecType const & x,
-
58  vecType const & Normal);
-
59 
-
61 }//namespace glm
+
37 #pragma once
+
38 
+
39 // Dependencies
+
40 #include "../detail/setup.hpp"
+
41 
+
42 #if !GLM_HAS_RANGE_FOR
+
43 # error "GLM_GTX_range requires C++11 suppport or 'range for'"
+
44 #endif
+
45 
+
46 #include "../gtc/type_ptr.hpp"
+
47 
+
48 namespace glm{
+
49 namespace detail
+
50 {
+
51  /* The glm types provide a .length() member, but for matrices
+
52  this only defines the number of columns, so we need to work around this */
+
53  template <typename T, precision P>
+
54  detail::component_count_t number_of_elements_(tvec2<T, P> const & v){
+
55  return detail::component_count(v);
+
56  }
+
57 
+
58  template <typename T, precision P>
+
59  detail::component_count_t number_of_elements_(tvec3<T, P> const & v){
+
60  return detail::component_count(v);
+
61  }
62 
-
63 #include "projection.inl"
-
64 
-
65 #endif//GLM_GTX_projection
-
vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
+
63  template <typename T, precision P>
+
64  detail::component_count_t number_of_elements_(tvec4<T, P> const & v){
+
65  return detail::component_count(v);
+
66  }
+
67 
+
68  template <typename genType>
+
69  detail::component_count_t number_of_elements_(genType const & m){
+
70  return detail::component_count(m) * detail::component_count(m[0]);
+
71  }
+
72 }//namespace
+
73 
+
76 
+
77  template <typename genType>
+
78  const typename genType::value_type * begin(genType const & v){
+
79  return value_ptr(v);
+
80  }
+
81 
+
82  template <typename genType>
+
83  const typename genType::value_type * end(genType const & v){
+
84  return begin(v) + detail::number_of_elements_(v);
+
85  }
+
86 
+
87  template <typename genType>
+
88  typename genType::value_type * begin(genType& v){
+
89  return value_ptr(v);
+
90  }
+
91 
+
92  template <typename genType>
+
93  typename genType::value_type * end(genType& v){
+
94  return begin(v) + detail::number_of_elements_(v);
+
95  }
+
96 
+
98 }//namespace glm
+
Definition: _noise.hpp:31
+
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 0720d17e..23f6b355 100644 --- a/doc/api/a00098.html +++ b/doc/api/a00098.html @@ -3,8 +3,8 @@ - -GLM: quaternion.hpp File Reference + +0.9.6: raw_data.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,135 +41,47 @@
-Namespaces | -Functions
+Typedefs
-
gtc/quaternion.hpp File Reference
+
raw_data.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

-Functions

template<typename T , precision P>
GLM_FUNC_DECL T angle (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > angleAxis (T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > axis (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > conjugate (detail::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 detail::tvec4
-< bool, P > 
equal (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
greaterThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
greaterThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > inverse (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > lerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
lessThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
lessThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat3x3
-< T, P > 
mat3_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
mat4_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > mix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > normalize (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
notEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > rotate (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (detail::tquat< T, P > const &x)
 

+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:

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_GTC_quaternion

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

GLM_GTX_raw_data

+
Date
2008-11-19 / 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 raw_data.hpp.

diff --git a/doc/api/a00098_source.html b/doc/api/a00098_source.html index 71b41d5e..fb37a78f 100644 --- a/doc/api/a00098_source.html +++ b/doc/api/a00098_source.html @@ -3,8 +3,8 @@ - -GLM: quaternion.hpp Source File + +0.9.6: raw_data.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,290 +41,50 @@
-
gtc/quaternion.hpp
+
raw_data.hpp
Go to the documentation of this file.
1 
-
40 #ifndef GLM_GTC_quaternion
-
41 #define GLM_GTC_quaternion
-
42 
-
43 // Dependency:
-
44 #include "../mat3x3.hpp"
-
45 #include "../mat4x4.hpp"
-
46 #include "../vec3.hpp"
-
47 #include "../vec4.hpp"
-
48 #include "../gtc/constants.hpp"
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTC_quaternion extension included")
-
52 #endif
-
53 
-
54 namespace glm{
-
55 namespace detail
-
56 {
-
57  template <typename T, precision P>
-
58  struct tquat
-
59  {
-
60  enum ctor{null};
-
61 
-
62  typedef tvec4<bool, P> bool_type;
-
63 
-
64  public:
-
65  T x, y, z, w;
-
66 
-
67  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
38 #pragma once
+
39 
+
40 // Dependencies
+
41 #include "../detail/setup.hpp"
+
42 #include "../detail/type_int.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_raw_data extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  typedef detail::uint8 byte;
+
56 
+
59  typedef detail::uint16 word;
+
60 
+
63  typedef detail::uint32 dword;
+
64 
+
67  typedef detail::uint64 qword;
68 
-
69  // Constructors
-
70  GLM_FUNC_DECL tquat();
-
71  template <typename U, precision Q>
-
72  GLM_FUNC_DECL explicit tquat(
-
73  tquat<U, Q> const & q);
-
74  GLM_FUNC_DECL explicit tquat(
-
75  T const & s,
-
76  tvec3<T, P> const & v);
-
77  GLM_FUNC_DECL explicit tquat(
-
78  T const & w,
-
79  T const & x,
-
80  T const & y,
-
81  T const & z);
-
82 
-
83 #if(GLM_HAS_INITIALIZER_LISTS)
-
84  template <typename U>
-
85  GLM_FUNC_DECL tquat(std::initializer_list<U> l);
-
86 #endif//GLM_HAS_INITIALIZER_LISTS
-
87 
-
88  // Convertions
-
89 
-
96  GLM_FUNC_DECL explicit tquat(
-
97  detail::tvec3<T, P> const & u,
-
98  detail::tvec3<T, P> const & v);
-
100  GLM_FUNC_DECL explicit tquat(
-
101  tvec3<T, P> const & eulerAngles);
-
102  GLM_FUNC_DECL explicit tquat(
-
103  tmat3x3<T, P> const & m);
-
104  GLM_FUNC_DECL explicit tquat(
-
105  tmat4x4<T, P> const & m);
-
106 
-
107  // Accesses
-
108  GLM_FUNC_DECL T & operator[](length_t i);
-
109  GLM_FUNC_DECL T const & operator[](length_t i) const;
-
110 
-
111  // Operators
-
112  GLM_FUNC_DECL tquat<T, P> & operator+=(tquat<T, P> const & q);
-
113  GLM_FUNC_DECL tquat<T, P> & operator*=(tquat<T, P> const & q);
-
114  GLM_FUNC_DECL tquat<T, P> & operator*=(T const & s);
-
115  GLM_FUNC_DECL tquat<T, P> & operator/=(T const & s);
-
116  };
-
117 
-
118  template <typename T, precision P>
-
119  GLM_FUNC_DECL detail::tquat<T, P> operator- (
-
120  detail::tquat<T, P> const & q);
-
121 
-
122  template <typename T, precision P>
-
123  GLM_FUNC_DECL detail::tquat<T, P> operator+ (
-
124  detail::tquat<T, P> const & q,
-
125  detail::tquat<T, P> const & p);
-
126 
-
127  template <typename T, precision P>
-
128  GLM_FUNC_DECL detail::tquat<T, P> operator* (
-
129  detail::tquat<T, P> const & q,
-
130  detail::tquat<T, P> const & p);
-
131 
-
132  template <typename T, precision P>
-
133  GLM_FUNC_DECL detail::tvec3<T, P> operator* (
-
134  detail::tquat<T, P> const & q,
-
135  detail::tvec3<T, P> const & v);
-
136 
-
137  template <typename T, precision P>
-
138  GLM_FUNC_DECL detail::tvec3<T, P> operator* (
-
139  detail::tvec3<T, P> const & v,
-
140  detail::tquat<T, P> const & q);
-
141 
-
142  template <typename T, precision P>
-
143  GLM_FUNC_DECL detail::tvec4<T, P> operator* (
-
144  detail::tquat<T, P> const & q,
-
145  detail::tvec4<T, P> const & v);
-
146 
-
147  template <typename T, precision P>
-
148  GLM_FUNC_DECL detail::tvec4<T, P> operator* (
-
149  detail::tvec4<T, P> const & v,
-
150  detail::tquat<T, P> const & q);
-
151 
-
152  template <typename T, precision P>
-
153  GLM_FUNC_DECL detail::tquat<T, P> operator* (
-
154  detail::tquat<T, P> const & q,
-
155  T const & s);
-
156 
-
157  template <typename T, precision P>
-
158  GLM_FUNC_DECL detail::tquat<T, P> operator* (
-
159  T const & s,
-
160  detail::tquat<T, P> const & q);
-
161 
-
162  template <typename T, precision P>
-
163  GLM_FUNC_DECL detail::tquat<T, P> operator/ (
-
164  detail::tquat<T, P> const & q,
-
165  T const & s);
-
166 
-
167 } //namespace detail
-
168 
-
171 
-
175  template <typename T, precision P>
-
176  GLM_FUNC_DECL T length(
-
177  detail::tquat<T, P> const & q);
-
178 
-
182  template <typename T, precision P>
-
183  GLM_FUNC_DECL detail::tquat<T, P> normalize(
-
184  detail::tquat<T, P> const & q);
-
185 
-
189  template <typename T, precision P, template <typename, precision> class quatType>
-
190  GLM_FUNC_DECL T dot(
-
191  quatType<T, P> const & x,
-
192  quatType<T, P> const & y);
-
193 
-
204  template <typename T, precision P>
-
205  GLM_FUNC_DECL detail::tquat<T, P> mix(
-
206  detail::tquat<T, P> const & x,
-
207  detail::tquat<T, P> const & y,
-
208  T const & a);
-
209 
-
218  template <typename T, precision P>
-
219  GLM_FUNC_DECL detail::tquat<T, P> lerp(
-
220  detail::tquat<T, P> const & x,
-
221  detail::tquat<T, P> const & y,
-
222  T const & a);
-
223 
-
232  template <typename T, precision P>
-
233  GLM_FUNC_DECL detail::tquat<T, P> slerp(
-
234  detail::tquat<T, P> const & x,
-
235  detail::tquat<T, P> const & y,
-
236  T const & a);
-
237 
-
241  template <typename T, precision P>
-
242  GLM_FUNC_DECL detail::tquat<T, P> conjugate(
-
243  detail::tquat<T, P> const & q);
-
244 
-
248  template <typename T, precision P>
-
249  GLM_FUNC_DECL detail::tquat<T, P> inverse(
-
250  detail::tquat<T, P> const & q);
-
251 
-
259  template <typename T, precision P>
-
260  GLM_FUNC_DECL detail::tquat<T, P> rotate(
-
261  detail::tquat<T, P> const & q,
-
262  T const & angle,
-
263  detail::tvec3<T, P> const & axis);
-
264 
-
269  template <typename T, precision P>
-
270  GLM_FUNC_DECL detail::tvec3<T, P> eulerAngles(
-
271  detail::tquat<T, P> const & x);
-
272 
-
276  template <typename T, precision P>
-
277  GLM_FUNC_DECL T roll(detail::tquat<T, P> const & x);
-
278 
-
282  template <typename T, precision P>
-
283  GLM_FUNC_DECL T pitch(detail::tquat<T, P> const & x);
-
284 
-
288  template <typename T, precision P>
-
289  GLM_FUNC_DECL T yaw(detail::tquat<T, P> const & x);
-
290 
-
294  template <typename T, precision P>
-
295  GLM_FUNC_DECL detail::tmat3x3<T, P> mat3_cast(
-
296  detail::tquat<T, P> const & x);
-
297 
-
301  template <typename T, precision P>
-
302  GLM_FUNC_DECL detail::tmat4x4<T, P> mat4_cast(
-
303  detail::tquat<T, P> const & x);
-
304 
-
308  template <typename T, precision P>
-
309  GLM_FUNC_DECL detail::tquat<T, P> quat_cast(
-
310  detail::tmat3x3<T, P> const & x);
-
311 
-
315  template <typename T, precision P>
-
316  GLM_FUNC_DECL detail::tquat<T, P> quat_cast(
-
317  detail::tmat4x4<T, P> const & x);
-
318 
-
322  template <typename T, precision P>
-
323  GLM_FUNC_DECL T angle(detail::tquat<T, P> const & x);
-
324 
-
328  template <typename T, precision P>
-
329  GLM_FUNC_DECL detail::tvec3<T, P> axis(
-
330  detail::tquat<T, P> const & x);
-
331 
-
338  template <typename T, precision P>
-
339  GLM_FUNC_DECL detail::tquat<T, P> angleAxis(
-
340  T const & angle,
-
341  detail::tvec3<T, P> const & axis);
-
342 
-
348  template <typename T, precision P>
-
349  GLM_FUNC_DECL detail::tvec4<bool, P> lessThan(
-
350  detail::tquat<T, P> const & x,
-
351  detail::tquat<T, P> const & y);
-
352 
-
358  template <typename T, precision P>
-
359  GLM_FUNC_DECL detail::tvec4<bool, P> lessThanEqual(
-
360  detail::tquat<T, P> const & x,
-
361  detail::tquat<T, P> const & y);
-
362 
-
368  template <typename T, precision P>
-
369  GLM_FUNC_DECL detail::tvec4<bool, P> greaterThan(
-
370  detail::tquat<T, P> const & x,
-
371  detail::tquat<T, P> const & y);
-
372 
-
378  template <typename T, precision P>
-
379  GLM_FUNC_DECL detail::tvec4<bool, P> greaterThanEqual(
-
380  detail::tquat<T, P> const & x,
-
381  detail::tquat<T, P> const & y);
-
382 
-
388  template <typename T, precision P>
-
389  GLM_FUNC_DECL detail::tvec4<bool, P> equal(
-
390  detail::tquat<T, P> const & x,
-
391  detail::tquat<T, P> const & y);
-
392 
-
398  template <typename T, precision P>
-
399  GLM_FUNC_DECL detail::tvec4<bool, P> notEqual(
-
400  detail::tquat<T, P> const & x,
-
401  detail::tquat<T, P> const & y);
-
402 
-
404 } //namespace glm
-
405 
-
406 #include "quaternion.inl"
-
407 
-
408 #endif//GLM_GTC_quaternion
-
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 >::bool_type notEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x == y.
-
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
-
GLM_FUNC_DECL detail::tquat< T, P > angleAxis(T const &angle, detail::tvec3< T, P > const &axis)
Build a quaternion from an angle and a normalized axis.
-
GLM_FUNC_DECL detail::tquat< T, P > quat_cast(detail::tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
-
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU 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 T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles(detail::tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
-
GLM_FUNC_DECL vecType< T, P >::bool_type greaterThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x &gt;= y.
-
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > mat4_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
-
GLM_FUNC_DECL T roll(detail::tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees ot...
-
GLM_FUNC_DECL detail::tvec4< bool, P > lessThan(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
Returns the component-wise comparison result of x &lt; y.
-
GLM_FUNC_DECL detail::tmat3x3< T, P > mat3_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
-
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
-
GLM_FUNC_DECL detail::tvec4< bool, P > equal(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
Returns the component-wise comparison of result x == y.
-
GLM_FUNC_DECL detail::tquat< T, P > slerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
-
GLM_FUNC_DECL T pitch(detail::tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees o...
-
GLM_FUNC_DECL detail::tquat< T, P > conjugate(detail::tquat< T, P > const &q)
Returns the q conjugate.
-
GLM_FUNC_DECL vecType< T, P >::bool_type greaterThan(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x &gt; y.
-
GLM_FUNC_DECL T yaw(detail::tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees oth...
-
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
-
GLM_FUNC_DECL vecType< T, P >::bool_type lessThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison result of x &lt; y.
+
70 }// namespace glm
+
71 
+
72 #include "raw_data.inl"
+
detail::uint32 dword
Type for dword numbers.
Definition: raw_data.hpp:63
+
detail::uint64 qword
Type for qword numbers.
Definition: raw_data.hpp:67
+
Definition: _noise.hpp:31
+
detail::uint16 word
Type for word numbers.
Definition: raw_data.hpp:59
+
detail::uint8 byte
Type for byte numbers.
Definition: raw_data.hpp:55
diff --git a/doc/api/a00099.html b/doc/api/a00099.html index 26a7a3a5..5433db41 100644 --- a/doc/api/a00099.html +++ b/doc/api/a00099.html @@ -3,8 +3,8 @@ - -GLM: quaternion.hpp File Reference + +0.9.6: reciprocal.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,101 +41,75 @@
-Namespaces | Functions
-
gtx/quaternion.hpp File Reference
+
reciprocal.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tvec3< T, P > const &v, detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > exp (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
extractRealComponent (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > fastMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tquat< T, P > intermediate (detail::tquat< T, P > const &prev, detail::tquat< T, P > const &curr, detail::tquat< T, P > const &next)
 
template<typename T , precision P>
length2 (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > log (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > pow (detail::tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec4< T, P > const &v)
 
template<typename T , precision P>
detail::tquat< T, P > rotation (detail::tvec3< T, P > const &orig, detail::tvec3< T, P > const &dest)
 
template<typename T , precision P>
detail::tquat< T, P > shortMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tquat< T, P > squad (detail::tquat< T, P > const &q1, detail::tquat< T, P > const &q2, detail::tquat< T, P > const &s1, detail::tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
detail::tmat3x3< T, P > toMat3 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > toMat4 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat4x4< T, P > const &x)
 
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 - 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_GTX_quaternion

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

GLM_GTC_reciprocal

+
Date
2008-10-09 / 2012-01-25
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
+
See also
GLM Core (dependence)
-

Definition in file gtx/quaternion.hpp.

+

Definition in file reciprocal.hpp.

diff --git a/doc/api/a00099_source.html b/doc/api/a00099_source.html index f5508854..b793dabb 100644 --- a/doc/api/a00099_source.html +++ b/doc/api/a00099_source.html @@ -3,8 +3,8 @@ - -GLM: quaternion.hpp Source File + +0.9.6: reciprocal.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,151 +41,86 @@
-
gtx/quaternion.hpp
+
reciprocal.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_quaternion
-
40 #define GLM_GTX_quaternion
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/constants.hpp"
-
45 #include "../gtc/quaternion.hpp"
-
46 #include "../gtx/norm.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_quaternion extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
60  template<typename T, precision P>
-
61  detail::tvec3<T, P> cross(
-
62  detail::tquat<T, P> const & q,
-
63  detail::tvec3<T, P> const & v);
-
64 
-
68  template<typename T, precision P>
-
69  detail::tvec3<T, P> cross(
-
70  detail::tvec3<T, P> const & v,
-
71  detail::tquat<T, P> const & q);
+
38 #pragma once
+
39 
+
40 // Dependencies
+
41 #include "../detail/setup.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTC_reciprocal extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
56  template <typename genType>
+
57  GLM_FUNC_DECL genType sec(genType const & angle);
+
58 
+
63  template <typename genType>
+
64  GLM_FUNC_DECL genType csc(genType const & angle);
+
65 
+
70  template <typename genType>
+
71  GLM_FUNC_DECL genType cot(genType const & angle);
72 
-
77  template<typename T, precision P>
-
78  detail::tquat<T, P> squad(
-
79  detail::tquat<T, P> const & q1,
-
80  detail::tquat<T, P> const & q2,
-
81  detail::tquat<T, P> const & s1,
-
82  detail::tquat<T, P> const & s2,
-
83  T const & h);
-
84 
-
88  template<typename T, precision P>
-
89  detail::tquat<T, P> intermediate(
-
90  detail::tquat<T, P> const & prev,
-
91  detail::tquat<T, P> const & curr,
-
92  detail::tquat<T, P> const & next);
-
93 
-
97  template<typename T, precision P>
-
98  detail::tquat<T, P> exp(
-
99  detail::tquat<T, P> const & q);
-
100 
-
104  template<typename T, precision P>
-
105  detail::tquat<T, P> log(
-
106  detail::tquat<T, P> const & q);
-
107 
-
111  template<typename T, precision P>
-
112  detail::tquat<T, P> pow(
-
113  detail::tquat<T, P> const & x,
-
114  T const & y);
-
115 
-
119  //template<typename T, precision P>
-
120  //detail::tquat<T, P> sqrt(
-
121  // detail::tquat<T, P> const & q);
-
122 
-
126  template<typename T, precision P>
-
127  detail::tvec3<T, P> rotate(
-
128  detail::tquat<T, P> const & q,
-
129  detail::tvec3<T, P> const & v);
-
130 
-
134  template<typename T, precision P>
-
135  detail::tvec4<T, P> rotate(
-
136  detail::tquat<T, P> const & q,
-
137  detail::tvec4<T, P> const & v);
-
138 
-
142  template<typename T, precision P>
- -
144  detail::tquat<T, P> const & q);
-
145 
-
149  template<typename T, precision P>
-
150  detail::tmat3x3<T, P> toMat3(
-
151  detail::tquat<T, P> const & x){return mat3_cast(x);}
-
152 
-
156  template<typename T, precision P>
-
157  detail::tmat4x4<T, P> toMat4(
-
158  detail::tquat<T, P> const & x){return mat4_cast(x);}
-
159 
-
163  template<typename T, precision P>
-
164  detail::tquat<T, P> toQuat(
-
165  detail::tmat3x3<T, P> const & x){return quat_cast(x);}
-
166 
-
170  template<typename T, precision P>
-
171  detail::tquat<T, P> toQuat(
-
172  detail::tmat4x4<T, P> const & x){return quat_cast(x);}
-
173 
-
177  template<typename T, precision P>
-
178  detail::tquat<T, P> shortMix(
-
179  detail::tquat<T, P> const & x,
-
180  detail::tquat<T, P> const & y,
-
181  T const & a);
-
182 
-
186  template<typename T, precision P>
-
187  detail::tquat<T, P> fastMix(
-
188  detail::tquat<T, P> const & x,
-
189  detail::tquat<T, P> const & y,
-
190  T const & a);
-
191 
-
197  template<typename T, precision P>
-
198  detail::tquat<T, P> rotation(
-
199  detail::tvec3<T, P> const & orig,
-
200  detail::tvec3<T, P> const & dest);
-
201 
-
205  template<typename T, precision P>
-
206  T length2(detail::tquat<T, P> const & q);
-
207 
-
209 }//namespace glm
-
210 
-
211 #include "quaternion.inl"
-
212 
-
213 #endif//GLM_GTX_quaternion
-
detail::tquat< T, P > toQuat(detail::tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
-
T extractRealComponent(detail::tquat< T, P > const &q)
Extract the real component of a quaternion.
-
GLM_FUNC_DECL detail::tvec3< T, P > cross(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the cross product of x and y.
-
GLM_FUNC_DECL detail::tquat< T, P > quat_cast(detail::tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
-
detail::tmat4x4< T, P > toMat4(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL genType exp(genType const &x)
Returns the natural exponentiation of x, i.e., e^x.
-
detail::tquat< T, P > intermediate(detail::tquat< T, P > const &prev, detail::tquat< T, P > const &curr, detail::tquat< T, P > const &next)
Returns an intermediate control point for squad interpolation.
-
detail::tquat< T, P > shortMix(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Quaternion interpolation using the rotation short path.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > mat4_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
T length2(T const &x)
Returns the squared length of x.
-
detail::tmat3x3< T, P > toMat3(detail::tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
-
detail::tquat< T, P > squad(detail::tquat< T, P > const &q1, detail::tquat< T, P > const &q2, detail::tquat< T, P > const &s1, detail::tquat< T, P > const &s2, T const &h)
Compute a point on a path according squad equation.
-
GLM_FUNC_DECL genType pow(genType const &base, genType const &exponent)
Returns &#39;base&#39; raised to the power &#39;exponent&#39;.
-
GLM_FUNC_DECL detail::tmat3x3< T, P > mat3_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
-
detail::tquat< T, P > fastMix(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Quaternion normalized linear interpolation.
-
detail::tquat< T, P > rotation(detail::tvec3< T, P > const &orig, detail::tvec3< T, P > const &dest)
Compute the rotation between two vectors.
-
GLM_FUNC_DECL genType log(genType const &x)
Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y...
+
76  template <typename genType>
+
77  GLM_FUNC_DECL genType asec(genType const & x);
+
78 
+
82  template <typename genType>
+
83  GLM_FUNC_DECL genType acsc(genType const & x);
+
84 
+
88  template <typename genType>
+
89  GLM_FUNC_DECL genType acot(genType const & x);
+
90 
+
94  template <typename genType>
+
95  GLM_FUNC_DECL genType sech(genType const & angle);
+
96 
+
100  template <typename genType>
+
101  GLM_FUNC_DECL genType csch(genType const & angle);
+
102 
+
106  template <typename genType>
+
107  GLM_FUNC_DECL genType coth(genType const & angle);
+
108 
+
112  template <typename genType>
+
113  GLM_FUNC_DECL genType asech(genType const & x);
+
114 
+
118  template <typename genType>
+
119  GLM_FUNC_DECL genType acsch(genType const & x);
+
120 
+
124  template <typename genType>
+
125  GLM_FUNC_DECL genType acoth(genType const & x);
+
126 
+
128 }//namespace glm
+
129 
+
130 #include "reciprocal.inl"
+
GLM_FUNC_DECL genType sech(genType const &angle)
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 asech(genType const &x)
Inverse secant hyperbolic function.
+
GLM_FUNC_DECL genType asec(genType const &x)
Inverse secant function.
+
GLM_FUNC_DECL genType csc(genType const &angle)
Cosecant function.
+
Definition: _noise.hpp:31
+
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 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 acsc(genType const &x)
Inverse cosecant function.
+
GLM_FUNC_DECL genType acsch(genType const &x)
Inverse cosecant hyperbolic function.
+
GLM_FUNC_DECL genType coth(genType const &angle)
Cotangent hyperbolic function.
diff --git a/doc/api/a00100.html b/doc/api/a00100.html index 9eda22b9..9d8b52cb 100644 --- a/doc/api/a00100.html +++ b/doc/api/a00100.html @@ -3,8 +3,8 @@ - -GLM: random.hpp File Reference + +0.9.6: rotate_normalized_axis.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,71 +41,49 @@
-Namespaces | Functions
-
gtc/random.hpp File Reference
+
rotate_normalized_axis.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
ballRand (T const &Radius)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
circularRand (T const &Radius)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
diskRand (T const &Radius)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType const &Mean, genType const &Deviation)
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType const &Min, genType const &Max)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
sphericalRand (T const &Radius)
 
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.

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_rotate_normalized_axis

+
Date
2012-12-13 / 2012-12-13
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-gtc_half_float (dependence)
+GLM_GTC_matrix_transform
-gtx_random (extended)
+GLM_GTC_quaternion
-

Definition in file gtc/random.hpp.

+

Definition in file rotate_normalized_axis.hpp.

diff --git a/doc/api/a00100_source.html b/doc/api/a00100_source.html index 9b3fcab7..4e588286 100644 --- a/doc/api/a00100_source.html +++ b/doc/api/a00100_source.html @@ -3,8 +3,8 @@ - -GLM: random.hpp Source File + +0.9.6: rotate_normalized_axis.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,72 +41,54 @@
-
gtc/random.hpp
+
rotate_normalized_axis.hpp
Go to the documentation of this file.
1 
-
40 #ifndef GLM_GTC_random
-
41 #define GLM_GTC_random
-
42 
-
43 // Dependency:
-
44 #include "../vec2.hpp"
-
45 #include "../vec3.hpp"
+
40 #pragma once
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtc/epsilon.hpp"
+
45 #include "../gtc/quaternion.hpp"
46 
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTC_random extension included")
-
49 #endif
-
50 
-
51 namespace glm
+
48 # pragma message("GLM: GLM_GTX_rotate_normalized_axis extension included")
+
49 #endif
+
50 
+
51 namespace glm
52 {
-
55 
-
62  template <typename genType>
-
63  GLM_FUNC_DECL genType linearRand(
-
64  genType const & Min,
-
65  genType const & Max);
-
66 
-
72  template <typename genType>
-
73  GLM_FUNC_DECL genType gaussRand(
-
74  genType const & Mean,
-
75  genType const & Deviation);
-
76 
-
81  template <typename T>
-
82  GLM_FUNC_DECL detail::tvec2<T, defaultp> circularRand(
-
83  T const & Radius);
-
84 
-
89  template <typename T>
-
90  GLM_FUNC_DECL detail::tvec3<T, defaultp> sphericalRand(
-
91  T const & Radius);
-
92 
-
97  template <typename T>
-
98  GLM_FUNC_DECL detail::tvec2<T, defaultp> diskRand(
-
99  T const & Radius);
-
100 
-
105  template <typename T>
-
106  GLM_FUNC_DECL detail::tvec3<T, defaultp> ballRand(
-
107  T const & Radius);
-
108 
-
110 }//namespace glm
-
111 
-
112 #include "random.inl"
-
113 
-
114 #endif//GLM_GTC_random
-
GLM_FUNC_DECL detail::tvec2< T, defaultp > circularRand(T const &Radius)
Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius...
-
GLM_FUNC_DECL detail::tvec3< T, defaultp > sphericalRand(T const &Radius)
Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius...
-
GLM_FUNC_DECL genType gaussRand(genType const &Mean, genType const &Deviation)
Generate random numbers in the interval [Min, Max], according a gaussian distribution.
-
GLM_FUNC_DECL detail::tvec3< T, defaultp > ballRand(T const &Radius)
Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of...
-
GLM_FUNC_DECL genType linearRand(genType const &Min, genType const &Max)
Generate random numbers in the interval [Min, Max], according a linear distribution.
-
GLM_FUNC_DECL detail::tvec2< T, defaultp > diskRand(T const &Radius)
Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a...
+
55 
+
67  template <typename T, precision P>
+
68  GLM_FUNC_DECL tmat4x4<T, P> rotateNormalizedAxis(
+
69  tmat4x4<T, P> const & m,
+
70  T const & angle,
+
71  tvec3<T, P> const & axis);
+
72 
+
80  template <typename T, precision P>
+
81  GLM_FUNC_DECL tquat<T, P> rotateNormalizedAxis(
+
82  tquat<T, P> const & q,
+
83  T const & angle,
+
84  tvec3<T, P> const & axis);
+
85 
+
87 }//namespace glm
+
88 
+
89 #include "rotate_normalized_axis.inl"
+
Definition: _noise.hpp:31
+
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 T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
diff --git a/doc/api/a00101.html b/doc/api/a00101.html new file mode 100644 index 00000000..6c6ea654 --- /dev/null +++ b/doc/api/a00101.html @@ -0,0 +1,114 @@ + + + + + + +0.9.6: rotate_vector.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+Functions
+
+
rotate_vector.hpp File Reference
+
+
+ +

Go to the source code of this file.

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

+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

+

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:

+

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_GTX_rotate_vector

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

Definition in file rotate_vector.hpp.

+
+ + + + diff --git a/doc/api/a00101_source.html b/doc/api/a00101_source.html index 212305c6..ee571932 100644 --- a/doc/api/a00101_source.html +++ b/doc/api/a00101_source.html @@ -3,8 +3,8 @@ - -GLM: random.hpp Source File + +0.9.6: rotate_vector.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,103 @@
-
gtx/random.hpp
+
rotate_vector.hpp
-
1 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_random extension is deprecated, include GLM_GTC_random instead")
-
26 #endif
-
27 
-
28 // Promoted:
-
29 #include "../gtc/random.hpp"
+Go to the documentation of this file.
1 
+
39 #pragma once
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include "../gtx/transform.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
61  template <typename T, precision P>
+
62  GLM_FUNC_DECL tvec3<T, P> slerp(
+
63  tvec3<T, P> const & x,
+
64  tvec3<T, P> const & y,
+
65  T const & a);
+
66 
+
69  template <typename T, precision P>
+
70  GLM_FUNC_DECL tvec2<T, P> rotate(
+
71  tvec2<T, P> const & v,
+
72  T const & angle);
+
73 
+
76  template <typename T, precision P>
+
77  GLM_FUNC_DECL tvec3<T, P> rotate(
+
78  tvec3<T, P> const & v,
+
79  T const & angle,
+
80  tvec3<T, P> const & normal);
+
81 
+
84  template <typename T, precision P>
+
85  GLM_FUNC_DECL tvec4<T, P> rotate(
+
86  tvec4<T, P> const & v,
+
87  T const & angle,
+
88  tvec3<T, P> const & normal);
+
89 
+
92  template <typename T, precision P>
+
93  GLM_FUNC_DECL tvec3<T, P> rotateX(
+
94  tvec3<T, P> const & v,
+
95  T const & angle);
+
96 
+
99  template <typename T, precision P>
+
100  GLM_FUNC_DECL tvec3<T, P> rotateY(
+
101  tvec3<T, P> const & v,
+
102  T const & angle);
+
103 
+
106  template <typename T, precision P>
+
107  GLM_FUNC_DECL tvec3<T, P> rotateZ(
+
108  tvec3<T, P> const & v,
+
109  T const & angle);
+
110 
+
113  template <typename T, precision P>
+
114  GLM_FUNC_DECL tvec4<T, P> rotateX(
+
115  tvec4<T, P> const & v,
+
116  T const & angle);
+
117 
+
120  template <typename T, precision P>
+
121  GLM_FUNC_DECL tvec4<T, P> rotateY(
+
122  tvec4<T, P> const & v,
+
123  T const & angle);
+
124 
+
127  template <typename T, precision P>
+
128  GLM_FUNC_DECL tvec4<T, P> rotateZ(
+
129  tvec4<T, P> const & v,
+
130  T const & angle);
+
131 
+
134  template <typename T, precision P>
+
135  GLM_FUNC_DECL tmat4x4<T, P> orientation(
+
136  tvec3<T, P> const & Normal,
+
137  tvec3<T, P> const & Up);
+
138 
+
140 }//namespace glm
+
141 
+
142 #include "rotate_vector.inl"
+
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 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 > rotateX(tvec4< T, P > const &v, T const &angle)
Rotate a four dimentionnals vector around the X axis.
+
Definition: _noise.hpp:31
+
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 tvec4< T, P > rotateY(tvec4< T, P > const &v, T const &angle)
Rotate a four dimensional vector around the X axis.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
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.
diff --git a/doc/api/a00102.html b/doc/api/a00102.html index ef91f47a..bcd804b1 100644 --- a/doc/api/a00102.html +++ b/doc/api/a00102.html @@ -3,8 +3,8 @@ - -GLM: raw_data.hpp File Reference + +0.9.6: round.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,53 +41,92 @@
-Namespaces | -Typedefs
+Functions
-
raw_data.hpp File Reference
+
round.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 

+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:

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_GTX_raw_data

-
Date
2008-11-19 / 2011-06-07
+

GLM_GTC_round

+
Date
2014-11-03 / 2014-11-03
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
+
See also
GLM Core (dependence)
+
+GLM_GTC_round (dependence)
-

Definition in file raw_data.hpp.

+

Definition in file round.hpp.

diff --git a/doc/api/a00102_source.html b/doc/api/a00102_source.html index 4440b39b..fa666d1d 100644 --- a/doc/api/a00102_source.html +++ b/doc/api/a00102_source.html @@ -3,8 +3,8 @@ - -GLM: raw_data.hpp Source File + +0.9.6: round.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,51 +41,109 @@
-
raw_data.hpp
+
round.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_raw_data
-
39 #define GLM_GTX_raw_data
-
40 
+
39 #pragma once
+
40 
41 // Dependencies
42 #include "../detail/setup.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_raw_data extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
+
43 #include "../detail/precision.hpp"
+
44 #include "../detail/_vectorize.hpp"
+
45 #include "../vector_relational.hpp"
+
46 #include "../common.hpp"
+
47 #include <limits>
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTC_integer extension included")
+
51 #endif
52 
-
55  typedef detail::uint8 byte;
-
56 
-
59  typedef detail::uint16 word;
-
60 
-
63  typedef detail::uint32 dword;
-
64 
-
67  typedef detail::uint64 qword;
-
68 
-
70 }// namespace glm
-
71 
-
72 #include "raw_data.inl"
-
73 
-
74 #endif//GLM_GTX_raw_data
-
detail::uint32 dword
Type for dword numbers.
Definition: raw_data.hpp:63
-
detail::uint64 qword
Type for qword numbers.
Definition: raw_data.hpp:67
-
detail::uint16 word
Type for word numbers.
Definition: raw_data.hpp:59
-
detail::uint8 byte
Type for byte numbers.
Definition: raw_data.hpp:55
+
53 namespace glm
+
54 {
+
57 
+
61  template <typename genIUType>
+
62  GLM_FUNC_DECL bool isPowerOfTwo(genIUType Value);
+
63 
+
67  template <typename T, precision P, template <typename, precision> class vecType>
+
68  GLM_FUNC_DECL vecType<bool, P> isPowerOfTwo(vecType<T, P> const & value);
+
69 
+
74  template <typename genIUType>
+
75  GLM_FUNC_DECL genIUType ceilPowerOfTwo(genIUType Value);
+
76 
+
81  template <typename T, precision P, template <typename, precision> class vecType>
+
82  GLM_FUNC_DECL vecType<T, P> ceilPowerOfTwo(vecType<T, P> const & value);
+
83 
+
88  template <typename genIUType>
+
89  GLM_FUNC_DECL genIUType floorPowerOfTwo(genIUType Value);
+
90 
+
95  template <typename T, precision P, template <typename, precision> class vecType>
+
96  GLM_FUNC_DECL vecType<T, P> floorPowerOfTwo(vecType<T, P> const & value);
+
97 
+
101  template <typename genIUType>
+
102  GLM_FUNC_DECL genIUType roundPowerOfTwo(genIUType Value);
+
103 
+
107  template <typename T, precision P, template <typename, precision> class vecType>
+
108  GLM_FUNC_DECL vecType<T, P> roundPowerOfTwo(vecType<T, P> const & value);
+
109 
+
113  template <typename genIUType>
+
114  GLM_FUNC_DECL bool isMultiple(genIUType Value, genIUType Multiple);
+
115 
+
119  template <typename T, precision P, template <typename, precision> class vecType>
+
120  GLM_FUNC_DECL vecType<bool, P> isMultiple(vecType<T, P> const & Value, T Multiple);
+
121 
+
125  template <typename T, precision P, template <typename, precision> class vecType>
+
126  GLM_FUNC_DECL vecType<bool, P> isMultiple(vecType<T, P> const & Value, vecType<T, P> const & Multiple);
+
127 
+
135  template <typename genType>
+
136  GLM_FUNC_DECL genType ceilMultiple(genType Source, genType Multiple);
+
137 
+
145  template <typename T, precision P, template <typename, precision> class vecType>
+
146  GLM_FUNC_DECL vecType<T, P> ceilMultiple(vecType<T, P> const & Source, vecType<T, P> const & Multiple);
+
147 
+
155  template <typename genType>
+
156  GLM_FUNC_DECL genType floorMultiple(
+
157  genType Source,
+
158  genType Multiple);
+
159 
+
167  template <typename T, precision P, template <typename, precision> class vecType>
+
168  GLM_FUNC_DECL vecType<T, P> floorMultiple(
+
169  vecType<T, P> const & Source,
+
170  vecType<T, P> const & Multiple);
+
171 
+
179  template <typename genType>
+
180  GLM_FUNC_DECL genType roundMultiple(
+
181  genType Source,
+
182  genType Multiple);
+
183 
+
191  template <typename T, precision P, template <typename, precision> class vecType>
+
192  GLM_FUNC_DECL vecType<T, P> roundMultiple(
+
193  vecType<T, P> const & Source,
+
194  vecType<T, P> const & Multiple);
+
195 
+
197 } //namespace glm
+
198 
+
199 #include "round.inl"
+
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 > 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 > floorMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Lower multiple number of Source.
+
Definition: _noise.hpp:31
+
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< 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 > ceilMultiple(vecType< T, P > const &Source, vecType< T, P > const &Multiple)
Higher multiple number of Source.
+
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.
diff --git a/doc/api/a00103.html b/doc/api/a00103.html index 51e0206e..ef40ed34 100644 --- a/doc/api/a00103.html +++ b/doc/api/a00103.html @@ -3,8 +3,8 @@ - -GLM: reciprocal.hpp File Reference + +0.9.6: scalar_multiplication.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,81 +41,34 @@
-
-Namespaces | -Functions
-
gtc/reciprocal.hpp File Reference
+
scalar_multiplication.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-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)
 

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:

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_GTC_reciprocal

-
Date
2008-10-09 / 2012-01-25
-
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 gtc/reciprocal.hpp.

+

Definition in file scalar_multiplication.hpp.

diff --git a/doc/api/a00103_source.html b/doc/api/a00103_source.html index 07400363..d398971b 100644 --- a/doc/api/a00103_source.html +++ b/doc/api/a00103_source.html @@ -3,8 +3,8 @@ - -GLM: reciprocal.hpp Source File + +0.9.6: scalar_multiplication.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,88 +41,91 @@
-
gtc/reciprocal.hpp
+
scalar_multiplication.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTC_reciprocal
-
39 #define GLM_GTC_reciprocal
-
40 
-
41 // Dependencies
-
42 #include "../detail/setup.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTC_reciprocal extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
57  template <typename genType>
-
58  GLM_FUNC_DECL genType sec(genType const & angle);
+
38 #pragma once
+
39 
+
40 #include "../detail/setup.hpp"
+
41 
+
42 #if !GLM_HAS_TEMPLATE_ALIASES
+
43 # error "GLM_GTX_scalar_multiplication requires C++11 suppport or alias templates"
+
44 #endif
+
45 
+
46 #include "../vec2.hpp"
+
47 #include "../vec3.hpp"
+
48 #include "../vec4.hpp"
+
49 #include "../mat2x2.hpp"
+
50 #include <type_traits>
+
51 
+
52 namespace glm
+
53 {
+
54  template <typename T, typename Vec>
+
55  using return_type_scalar_multiplication = typename std::enable_if<
+
56  !std::is_same<T, float>::value // T may not be a float
+
57  && std::is_arithmetic<T>::value, Vec // But it may be an int or double (no vec3 or mat3, ...)
+
58  >::type;
59 
-
64  template <typename genType>
-
65  GLM_FUNC_DECL genType csc(genType const & angle);
-
66 
-
71  template <typename genType>
-
72  GLM_FUNC_DECL genType cot(genType const & angle);
-
73 
-
77  template <typename genType>
-
78  GLM_FUNC_DECL genType asec(genType const & x);
-
79 
-
83  template <typename genType>
-
84  GLM_FUNC_DECL genType acsc(genType const & x);
-
85 
-
89  template <typename genType>
-
90  GLM_FUNC_DECL genType acot(genType const & x);
-
91 
-
95  template <typename genType>
-
96  GLM_FUNC_DECL genType sech(genType const & angle);
-
97 
-
101  template <typename genType>
-
102  GLM_FUNC_DECL genType csch(genType const & angle);
-
103 
-
107  template <typename genType>
-
108  GLM_FUNC_DECL genType coth(genType const & angle);
-
109 
-
113  template <typename genType>
-
114  GLM_FUNC_DECL genType asech(genType const & x);
-
115 
-
119  template <typename genType>
-
120  GLM_FUNC_DECL genType acsch(genType const & x);
-
121 
-
125  template <typename genType>
-
126  GLM_FUNC_DECL genType acoth(genType const & x);
-
127 
-
129 }//namespace glm
-
130 
-
131 #include "reciprocal.inl"
-
132 
-
133 #endif//GLM_GTC_reciprocal
-
GLM_FUNC_DECL genType acot(genType const &x)
Inverse cotangent 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 sech(genType const &angle)
Secant hyperbolic function.
-
GLM_FUNC_DECL T angle(detail::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 csch(genType const &angle)
Cosecant hyperbolic function.
-
GLM_FUNC_DECL genType asech(genType const &x)
Inverse secant hyperbolic function.
-
GLM_FUNC_DECL genType sec(genType const &angle)
Secant function.
-
GLM_FUNC_DECL genType acsc(genType const &x)
Inverse cosecant function.
-
GLM_FUNC_DECL genType asec(genType const &x)
Inverse secant function.
-
GLM_FUNC_DECL genType csc(genType const &angle)
Cosecant function.
-
GLM_FUNC_DECL genType cot(genType const &angle)
Cotangent function.
+
60 #define GLM_IMPLEMENT_SCAL_MULT(Vec) \
+
61  template <typename T> \
+
62  return_type_scalar_multiplication<T, Vec> \
+
63  operator*(T const & s, Vec rh){ \
+
64  return rh *= static_cast<float>(s); \
+
65  } \
+
66  \
+
67  template <typename T> \
+
68  return_type_scalar_multiplication<T, Vec> \
+
69  operator*(Vec lh, T const & s){ \
+
70  return lh *= static_cast<float>(s); \
+
71  } \
+
72  \
+
73  template <typename T> \
+
74  return_type_scalar_multiplication<T, Vec> \
+
75  operator/(Vec lh, T const & s){ \
+
76  return lh *= 1.0f / s; \
+
77  }
+
78 
+
79 GLM_IMPLEMENT_SCAL_MULT(vec2)
+
80 GLM_IMPLEMENT_SCAL_MULT(vec3)
+
81 GLM_IMPLEMENT_SCAL_MULT(vec4)
+
82 
+
83 GLM_IMPLEMENT_SCAL_MULT(mat2)
+
84 GLM_IMPLEMENT_SCAL_MULT(mat2x3)
+
85 GLM_IMPLEMENT_SCAL_MULT(mat2x4)
+
86 GLM_IMPLEMENT_SCAL_MULT(mat3x2)
+
87 GLM_IMPLEMENT_SCAL_MULT(mat3)
+
88 GLM_IMPLEMENT_SCAL_MULT(mat3x4)
+
89 GLM_IMPLEMENT_SCAL_MULT(mat4x2)
+
90 GLM_IMPLEMENT_SCAL_MULT(mat4x3)
+
91 GLM_IMPLEMENT_SCAL_MULT(mat4)
+
92 
+
93 #undef GLM_IMPLEMENT_SCAL_MULT
+
94 } // namespace glm
+
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:433
+
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:428
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:438
+
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:391
+
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:396
+
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:416
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:411
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:386
+
Definition: _noise.hpp:31
+
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:406
diff --git a/doc/api/a00104.html b/doc/api/a00104.html new file mode 100644 index 00000000..76dd38d7 --- /dev/null +++ b/doc/api/a00104.html @@ -0,0 +1,73 @@ + + + + + + +0.9.6: scalar_relational.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
scalar_relational.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:

+

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_GTX_scalar_relational

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

Definition in file scalar_relational.hpp.

+
+ + + + diff --git a/doc/api/a00104_source.html b/doc/api/a00104_source.html index 3baeb6f2..565b081c 100644 --- a/doc/api/a00104_source.html +++ b/doc/api/a00104_source.html @@ -3,8 +3,8 @@ - -GLM: reciprocal.hpp Source File + +0.9.6: scalar_relational.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,24 +41,39 @@
-
gtx/reciprocal.hpp
+
scalar_relational.hpp
-
1 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_reciprocal extension is deprecated, include GLM_GTC_reciprocal instead")
-
26 #endif
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_extend extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
52 
+
53 
+
55 }//namespace glm
+
56 
+
57 #include "scalar_relational.inl"
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00105.html b/doc/api/a00105.html index 0ed1bc58..a27a61e6 100644 --- a/doc/api/a00105.html +++ b/doc/api/a00105.html @@ -3,8 +3,8 @@ - -GLM: rotate_normalized_axis.hpp File Reference + +0.9.6: setup.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,55 +41,32 @@
-
-Namespaces | -Functions
-
rotate_normalized_axis.hpp File Reference
+
setup.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - -

-Functions

template<typename T , precision P>
detail::tmat4x4< T, P > rotateNormalizedAxis (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tquat< T, P > rotateNormalizedAxis (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 

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 - 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_GTX_rotate_normalized_axis

-
Date
2012-12-13 / 2012-12-13
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_matrix_transform
-
-GLM_GTC_quaternion
+

GLM Core

+
Date
2006-11-13 / 2014-10-05
+
Author
Christophe Riccio
-

Definition in file rotate_normalized_axis.hpp.

+

Definition in file setup.hpp.

diff --git a/doc/api/a00105_source.html b/doc/api/a00105_source.html index 11af5886..5bb1296a 100644 --- a/doc/api/a00105_source.html +++ b/doc/api/a00105_source.html @@ -3,8 +3,8 @@ - -GLM: rotate_normalized_axis.hpp Source File + +0.9.6: setup.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,56 +41,803 @@
-
rotate_normalized_axis.hpp
+
setup.hpp
Go to the documentation of this file.
1 
-
40 #ifndef GLM_GTX_rotate_normalized_axis
-
41 #define GLM_GTX_rotate_normalized_axis
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../gtc/epsilon.hpp"
-
46 #include "../gtc/quaternion.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_rotate_normalized_axis extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
+
29 #pragma once
+
30 
+
31 #include <cassert>
+
32 #include <cstddef>
+
33 
+
35 // Version
+
36 
+
37 #define GLM_VERSION 96
+
38 #define GLM_VERSION_MAJOR 0
+
39 #define GLM_VERSION_MINOR 9
+
40 #define GLM_VERSION_PATCH 6
+
41 #define GLM_VERSION_REVISION 0
+
42 
+
44 // Platform
+
45 
+
46 #define GLM_PLATFORM_UNKNOWN 0x00000000
+
47 #define GLM_PLATFORM_WINDOWS 0x00010000
+
48 #define GLM_PLATFORM_LINUX 0x00020000
+
49 #define GLM_PLATFORM_APPLE 0x00040000
+
50 //#define GLM_PLATFORM_IOS 0x00080000
+
51 #define GLM_PLATFORM_ANDROID 0x00100000
+
52 #define GLM_PLATFORM_CHROME_NACL 0x00200000
+
53 #define GLM_PLATFORM_UNIX 0x00400000
+
54 #define GLM_PLATFORM_QNXNTO 0x00800000
+
55 #define GLM_PLATFORM_WINCE 0x01000000
56 
-
68  template <typename T, precision P>
-
69  detail::tmat4x4<T, P> rotateNormalizedAxis(
-
70  detail::tmat4x4<T, P> const & m,
-
71  T const & angle,
-
72  detail::tvec3<T, P> const & axis);
-
73 
-
81  template <typename T, precision P>
-
82  detail::tquat<T, P> rotateNormalizedAxis(
-
83  detail::tquat<T, P> const & q,
-
84  T const & angle,
-
85  detail::tvec3<T, P> const & axis);
-
86 
-
88 }//namespace glm
-
89 
-
90 #include "rotate_normalized_axis.inl"
-
91 
-
92 #endif//GLM_GTX_rotate_normalized_axis
-
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
detail::tmat4x4< T, P > rotateNormalizedAxis(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from a normalized axis and an angle.
-
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
+
57 #ifdef GLM_FORCE_PLATFORM_UNKNOWN
+
58 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
+
59 #elif defined(__QNXNTO__)
+
60 # define GLM_PLATFORM GLM_PLATFORM_QNXNTO
+
61 #elif defined(__APPLE__)
+
62 # define GLM_PLATFORM GLM_PLATFORM_APPLE
+
63 #elif defined(WINCE)
+
64 # define GLM_PLATFORM GLM_PLATFORM_WINCE
+
65 #elif defined(_WIN32)
+
66 # define GLM_PLATFORM GLM_PLATFORM_WINDOWS
+
67 #elif defined(__native_client__)
+
68 # define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL
+
69 #elif defined(__ANDROID__)
+
70 # define GLM_PLATFORM GLM_PLATFORM_ANDROID
+
71 #elif defined(__linux)
+
72 # define GLM_PLATFORM GLM_PLATFORM_LINUX
+
73 #elif defined(__unix)
+
74 # define GLM_PLATFORM GLM_PLATFORM_UNIX
+
75 #else
+
76 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
+
77 #endif//
+
78 
+
79 // Report platform detection
+
80 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_PLATFORM_DISPLAYED))
+
81 # define GLM_MESSAGE_PLATFORM_DISPLAYED
+
82 # if(GLM_PLATFORM & GLM_PLATFORM_QNXNTO)
+
83 # pragma message("GLM: QNX platform detected")
+
84 //# elif(GLM_PLATFORM & GLM_PLATFORM_IOS)
+
85 //# pragma message("GLM: iOS platform detected")
+
86 # elif(GLM_PLATFORM & GLM_PLATFORM_APPLE)
+
87 # pragma message("GLM: Apple platform detected")
+
88 # elif(GLM_PLATFORM & GLM_PLATFORM_WINCE)
+
89 # pragma message("GLM: WinCE platform detected")
+
90 # elif(GLM_PLATFORM & GLM_PLATFORM_WINDOWS)
+
91 # pragma message("GLM: Windows platform detected")
+
92 # elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL)
+
93 # pragma message("GLM: Native Client detected")
+
94 # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+
95 # pragma message("GLM: Android platform detected")
+
96 # elif(GLM_PLATFORM & GLM_PLATFORM_LINUX)
+
97 # pragma message("GLM: Linux platform detected")
+
98 # elif(GLM_PLATFORM & GLM_PLATFORM_UNIX)
+
99 # pragma message("GLM: UNIX platform detected")
+
100 # elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN)
+
101 # pragma message("GLM: platform unknown")
+
102 # else
+
103 # pragma message("GLM: platform not detected")
+
104 # endif
+
105 #endif//GLM_MESSAGE
+
106 
+
108 // Compiler
+
109 
+
110 // User defines: GLM_FORCE_COMPILER_UNKNOWN
+
111 // TODO ? __llvm__
+
112 
+
113 #define GLM_COMPILER_UNKNOWN 0x00000000
+
114 
+
115 // Intel
+
116 #define GLM_COMPILER_INTEL 0x00100000
+
117 #define GLM_COMPILER_INTEL12 0x00100010
+
118 #define GLM_COMPILER_INTEL12_1 0x00100020
+
119 #define GLM_COMPILER_INTEL13 0x00100030
+
120 #define GLM_COMPILER_INTEL14 0x00100040
+
121 #define GLM_COMPILER_INTEL15 0x00100050
+
122 
+
123 // Visual C++ defines
+
124 #define GLM_COMPILER_VC 0x01000000
+
125 #define GLM_COMPILER_VC2010 0x01000090
+
126 #define GLM_COMPILER_VC2012 0x010000A0
+
127 #define GLM_COMPILER_VC2013 0x010000B0
+
128 #define GLM_COMPILER_VC2015 0x010000C0
+
129 
+
130 // GCC defines
+
131 #define GLM_COMPILER_GCC 0x02000000
+
132 #define GLM_COMPILER_GCC42 0x02000090
+
133 #define GLM_COMPILER_GCC43 0x020000A0
+
134 #define GLM_COMPILER_GCC44 0x020000B0
+
135 #define GLM_COMPILER_GCC45 0x020000C0
+
136 #define GLM_COMPILER_GCC46 0x020000D0
+
137 #define GLM_COMPILER_GCC47 0x020000E0
+
138 #define GLM_COMPILER_GCC48 0x020000F0
+
139 #define GLM_COMPILER_GCC49 0x02000100
+
140 #define GLM_COMPILER_GCC50 0x02000200
+
141 
+
142 // CUDA
+
143 #define GLM_COMPILER_CUDA 0x10000000
+
144 #define GLM_COMPILER_CUDA30 0x10000010
+
145 #define GLM_COMPILER_CUDA31 0x10000020
+
146 #define GLM_COMPILER_CUDA32 0x10000030
+
147 #define GLM_COMPILER_CUDA40 0x10000040
+
148 #define GLM_COMPILER_CUDA41 0x10000050
+
149 #define GLM_COMPILER_CUDA42 0x10000060
+
150 #define GLM_COMPILER_CUDA50 0x10000070
+
151 #define GLM_COMPILER_CUDA60 0x10000080
+
152 #define GLM_COMPILER_CUDA65 0x10000090
+
153 
+
154 // LLVM
+
155 #define GLM_COMPILER_LLVM 0x20000000
+
156 #define GLM_COMPILER_LLVM30 0x20000010
+
157 #define GLM_COMPILER_LLVM31 0x20000020
+
158 #define GLM_COMPILER_LLVM32 0x20000030
+
159 #define GLM_COMPILER_LLVM33 0x20000040
+
160 #define GLM_COMPILER_LLVM34 0x20000050
+
161 #define GLM_COMPILER_LLVM35 0x20000060
+
162 
+
163 // Apple Clang
+
164 #define GLM_COMPILER_APPLE_CLANG 0x40000000
+
165 #define GLM_COMPILER_APPLE_CLANG40 0x40000010
+
166 #define GLM_COMPILER_APPLE_CLANG41 0x40000020
+
167 #define GLM_COMPILER_APPLE_CLANG42 0x40000030
+
168 #define GLM_COMPILER_APPLE_CLANG50 0x40000040
+
169 #define GLM_COMPILER_APPLE_CLANG51 0x40000050
+
170 #define GLM_COMPILER_APPLE_CLANG60 0x40000060
+
171 
+
172 // Build model
+
173 #define GLM_MODEL_32 0x00000010
+
174 #define GLM_MODEL_64 0x00000020
+
175 
+
176 // Force generic C++ compiler
+
177 #ifdef GLM_FORCE_COMPILER_UNKNOWN
+
178 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
+
179 
+
180 #elif defined(__INTEL_COMPILER)
+
181 # if __INTEL_COMPILER == 1200
+
182 # define GLM_COMPILER GLM_COMPILER_INTEL12
+
183 # elif __INTEL_COMPILER == 1210
+
184 # define GLM_COMPILER GLM_COMPILER_INTEL12_1
+
185 # elif __INTEL_COMPILER == 1300
+
186 # define GLM_COMPILER GLM_COMPILER_INTEL13
+
187 # elif __INTEL_COMPILER == 1400
+
188 # define GLM_COMPILER GLM_COMPILER_INTEL14
+
189 # elif __INTEL_COMPILER >= 1500
+
190 # define GLM_COMPILER GLM_COMPILER_INTEL15
+
191 # else
+
192 # define GLM_COMPILER GLM_COMPILER_INTEL
+
193 # endif
+
194 
+
195 // CUDA
+
196 #elif defined(__CUDACC__)
+
197 # if !defined(CUDA_VERSION) && !defined(GLM_FORCE_CUDA)
+
198 # include <cuda.h> // make sure version is defined since nvcc does not define it itself!
+
199 # endif
+
200 # if CUDA_VERSION < 3000
+
201 # error "GLM requires CUDA 3.0 or higher"
+
202 # else
+
203 # define GLM_COMPILER GLM_COMPILER_CUDA
+
204 # endif
+
205 
+
206 // Visual C++
+
207 #elif defined(_MSC_VER)
+
208 # if _MSC_VER < 1600
+
209 # error "GLM requires Visual C++ 2010 or higher"
+
210 # elif _MSC_VER == 1600
+
211 # define GLM_COMPILER GLM_COMPILER_VC2010
+
212 # elif _MSC_VER == 1700
+
213 # define GLM_COMPILER GLM_COMPILER_VC2012
+
214 # elif _MSC_VER == 1800
+
215 # define GLM_COMPILER GLM_COMPILER_VC2013
+
216 # elif _MSC_VER >= 1900
+
217 # define GLM_COMPILER GLM_COMPILER_VC2015
+
218 # else//_MSC_VER
+
219 # define GLM_COMPILER GLM_COMPILER_VC
+
220 # endif//_MSC_VER
+
221 
+
222 // Clang
+
223 #elif defined(__clang__)
+
224 # if GLM_PLATFORM & GLM_PLATFORM_APPLE
+
225 # if __clang_major__ == 4 && __clang_minor__ == 0
+
226 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG40
+
227 # elif __clang_major__ == 4 && __clang_minor__ == 1
+
228 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG41
+
229 # elif __clang_major__ == 4 && __clang_minor__ == 2
+
230 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG42
+
231 # elif __clang_major__ == 5 && __clang_minor__ == 0
+
232 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG50
+
233 # elif __clang_major__ == 5 && __clang_minor__ == 1
+
234 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG51
+
235 # elif __clang_major__ >= 6
+
236 # define GLM_COMPILER GLM_COMPILER_APPLE_CLANG60
+
237 # endif
+
238 # else
+
239 # if __clang_major__ == 3 && __clang_minor__ == 0
+
240 # define GLM_COMPILER GLM_COMPILER_LLVM30
+
241 # elif __clang_major__ == 3 && __clang_minor__ == 1
+
242 # define GLM_COMPILER GLM_COMPILER_LLVM31
+
243 # elif __clang_major__ == 3 && __clang_minor__ == 2
+
244 # define GLM_COMPILER GLM_COMPILER_LLVM32
+
245 # elif __clang_major__ == 3 && __clang_minor__ == 3
+
246 # define GLM_COMPILER GLM_COMPILER_LLVM33
+
247 # elif __clang_major__ == 3 && __clang_minor__ == 4
+
248 # define GLM_COMPILER GLM_COMPILER_LLVM34
+
249 # elif __clang_major__ == 3 && __clang_minor__ == 5
+
250 # define GLM_COMPILER GLM_COMPILER_LLVM35
+
251 # else
+
252 # define GLM_COMPILER GLM_COMPILER_LLVM35
+
253 # endif
+
254 # endif
+
255 
+
256 // G++
+
257 #elif defined(__GNUC__) || defined(__MINGW32__)
+
258 # if (__GNUC__ == 4) && (__GNUC_MINOR__ == 2)
+
259 # define GLM_COMPILER (GLM_COMPILER_GCC42)
+
260 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
+
261 # define GLM_COMPILER (GLM_COMPILER_GCC43)
+
262 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 4)
+
263 # define GLM_COMPILER (GLM_COMPILER_GCC44)
+
264 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 5)
+
265 # define GLM_COMPILER (GLM_COMPILER_GCC45)
+
266 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 6)
+
267 # define GLM_COMPILER (GLM_COMPILER_GCC46)
+
268 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 7)
+
269 # define GLM_COMPILER (GLM_COMPILER_GCC47)
+
270 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
+
271 # define GLM_COMPILER (GLM_COMPILER_GCC48)
+
272 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)
+
273 # define GLM_COMPILER (GLM_COMPILER_GCC49)
+
274 # elif (__GNUC__ > 4 )
+
275 # define GLM_COMPILER (GLM_COMPILER_GCC50)
+
276 # else
+
277 # define GLM_COMPILER (GLM_COMPILER_GCC)
+
278 # endif
+
279 
+
280 #else
+
281 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
+
282 #endif
+
283 
+
284 #ifndef GLM_COMPILER
+
285 #error "GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message."
+
286 #endif//GLM_COMPILER
+
287 
+
288 // Report compiler detection
+
289 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED)
+
290 # define GLM_MESSAGE_COMPILER_DISPLAYED
+
291 # if GLM_COMPILER & GLM_COMPILER_CUDA
+
292 # pragma message("GLM: CUDA compiler detected")
+
293 # elif GLM_COMPILER & GLM_COMPILER_VC
+
294 # pragma message("GLM: Visual C++ compiler detected")
+
295 # elif GLM_COMPILER & GLM_COMPILER_APPLE_CLANG
+
296 # pragma message("GLM: Clang compiler detected")
+
297 # elif GLM_COMPILER & GLM_COMPILER_LLVM
+
298 # pragma message("GLM: LLVM compiler detected")
+
299 # elif GLM_COMPILER & GLM_COMPILER_INTEL
+
300 # pragma message("GLM: Intel Compiler detected")
+
301 # elif GLM_COMPILER & GLM_COMPILER_GCC
+
302 # pragma message("GLM: GCC compiler detected")
+
303 # else
+
304 # pragma message("GLM: Compiler not detected")
+
305 # endif
+
306 #endif//GLM_MESSAGE
+
307 
+
309 // Build model
+
310 
+
311 #if defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__)
+
312 # define GLM_MODEL GLM_MODEL_64
+
313 #elif defined(__i386__) || defined(__ppc__)
+
314 # define GLM_MODEL GLM_MODEL_32
+
315 #else
+
316 # define GLM_MODEL GLM_MODEL_32
+
317 #endif//
+
318 
+
319 #if !defined(GLM_MODEL) && GLM_COMPILER != 0
+
320 # error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message."
+
321 #endif//GLM_MODEL
+
322 
+
323 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_MODEL_DISPLAYED)
+
324 # define GLM_MESSAGE_MODEL_DISPLAYED
+
325 # if(GLM_MODEL == GLM_MODEL_64)
+
326 # pragma message("GLM: 64 bits model")
+
327 # elif(GLM_MODEL == GLM_MODEL_32)
+
328 # pragma message("GLM: 32 bits model")
+
329 # endif//GLM_MODEL
+
330 #endif//GLM_MESSAGE
+
331 
+
333 // C++ Version
+
334 
+
335 // User defines: GLM_FORCE_CXX98
+
336 
+
337 #define GLM_LANG_CXX98_FLAG (1 << 1)
+
338 #define GLM_LANG_CXX03_FLAG (1 << 2)
+
339 #define GLM_LANG_CXX0X_FLAG (1 << 3)
+
340 #define GLM_LANG_CXX11_FLAG (1 << 4)
+
341 #define GLM_LANG_CXX1Y_FLAG (1 << 5)
+
342 #define GLM_LANG_CXXMS_FLAG (1 << 6)
+
343 #define GLM_LANG_CXXGNU_FLAG (1 << 7)
+
344 
+
345 #define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG
+
346 #define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG)
+
347 #define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG)
+
348 #define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG)
+
349 #define GLM_LANG_CXX1Y (GLM_LANG_CXX11 | GLM_LANG_CXX1Y_FLAG)
+
350 #define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG
+
351 #define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG
+
352 
+
353 #if defined(GLM_FORCE_CXX1Y)
+
354 # define GLM_LANG GLM_LANG_CXX1Y
+
355 #elif defined(GLM_FORCE_CXX11)
+
356 # define GLM_LANG GLM_LANG_CXX11
+
357 #elif defined(GLM_FORCE_CXX03)
+
358 # define GLM_LANG GLM_LANG_CXX03
+
359 #elif defined(GLM_FORCE_CXX98)
+
360 # define GLM_LANG GLM_LANG_CXX98
+
361 #else
+
362 # if __cplusplus >= 201103L
+
363 # define GLM_LANG GLM_LANG_CXX11
+
364 # elif GLM_COMPILER & GLM_COMPILER_CLANG
+
365 # if(GLM_PLATFORM == GLM_PLATFORM_APPLE)
+
366 # define GLM_DETAIL_MAJOR 1
+
367 # else
+
368 # define GLM_DETAIL_MAJOR 0
+
369 # endif
+
370 # if __clang_major__ < (2 + GLM_DETAIL_MAJOR)
+
371 # define GLM_LANG GLM_LANG_CXX
+
372 # elif __has_feature(cxx_auto_type)
+
373 # define GLM_LANG GLM_LANG_CXX0X
+
374 # else
+
375 # define GLM_LANG GLM_LANG_CXX98
+
376 # endif
+
377 # elif GLM_COMPILER & GLM_COMPILER_GCC
+
378 # ifdef __GXX_EXPERIMENTAL_CXX0X__
+
379 # define GLM_LANG GLM_LANG_CXX0X
+
380 # else
+
381 # define GLM_LANG GLM_LANG_CXX98
+
382 # endif
+
383 # elif GLM_COMPILER & GLM_COMPILER_VC
+
384 # ifdef _MSC_EXTENSIONS
+
385 # if GLM_COMPILER >= GLM_COMPILER_VC2010
+
386 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
+
387 # else
+
388 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
+
389 # endif
+
390 # else
+
391 # if GLM_COMPILER >= GLM_COMPILER_VC2010
+
392 # define GLM_LANG GLM_LANG_CXX0X
+
393 # else
+
394 # define GLM_LANG GLM_LANG_CXX98
+
395 # endif
+
396 # endif
+
397 # elif GLM_COMPILER & GLM_COMPILER_INTEL
+
398 # ifdef _MSC_EXTENSIONS
+
399 # if GLM_COMPILER >= GLM_COMPILER_INTEL13
+
400 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
+
401 # else
+
402 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
+
403 # endif
+
404 # else
+
405 # if GLM_COMPILER >= GLM_COMPILER_INTEL13
+
406 # define GLM_LANG (GLM_LANG_CXX0X)
+
407 # else
+
408 # define GLM_LANG (GLM_LANG_CXX98)
+
409 # endif
+
410 # endif
+
411 # else
+
412 # if __cplusplus >= 199711L
+
413 # define GLM_LANG GLM_LANG_CXX98
+
414 # endif
+
415 # ifndef GLM_FORCE_CXX98
+
416 # define GLM_FORCE_CXX98
+
417 # endif
+
418 # ifndef GLM_FORCE_PURE
+
419 # define GLM_FORCE_PURE
+
420 # endif
+
421 # endif
+
422 #endif
+
423 
+
424 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED)
+
425 # define GLM_MESSAGE_LANG_DISPLAYED
+
426 # if(GLM_LANG & GLM_LANG_CXXGNU_FLAG)
+
427 # pragma message("GLM: C++ with language extensions")
+
428 # elif(GLM_LANG & GLM_LANG_CXXMS_FLAG)
+
429 # pragma message("GLM: C++ with language extensions")
+
430 # elif(GLM_LANG & GLM_LANG_CXX11_FLAG)
+
431 # pragma message("GLM: C++11")
+
432 # elif(GLM_LANG & GLM_LANG_CXX0X_FLAG)
+
433 # pragma message("GLM: C++0x")
+
434 # elif(GLM_LANG & GLM_LANG_CXX03_FLAG)
+
435 # pragma message("GLM: C++03")
+
436 # elif(GLM_LANG & GLM_LANG_CXX98_FLAG)
+
437 # pragma message("GLM: C++98")
+
438 # else
+
439 # pragma message("GLM: C++ language undetected")
+
440 # endif//GLM_MODEL
+
441 # 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")
+
442 #endif//GLM_MESSAGE
+
443 
+
445 // Has of C++ features
+
446 
+
447 #ifndef __has_feature
+
448 # define __has_feature(x) 0 // Compatibility with non-clang compilers.
+
449 #endif
+
450 #ifndef __has_extension
+
451 # define __has_extension __has_feature // Compatibility with pre-3.0 compilers.
+
452 #endif
+
453 
+
454 // http://clang.llvm.org/cxx_status.html
+
455 // http://gcc.gnu.org/projects/cxx0x.html
+
456 // http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
+
457 
+
458 // N1720
+
459 #define GLM_HAS_CXX11_STL ( \
+
460  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
461  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2015)))
+
462 
+
463 // N1720
+
464 #define GLM_HAS_STATIC_ASSERT ( \
+
465  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
466  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2010)) || \
+
467  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
+
468  __has_feature(cxx_static_assert))
+
469 
+
470 // N1988
+
471 #define GLM_HAS_EXTENDED_INTEGER_TYPE ( \
+
472  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
473  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012)) || \
+
474  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
+
475  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_LLVM) && (GLM_COMPILER >= GLM_COMPILER_LLVM30)) || \
+
476  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_APPLE_CLANG) && (GLM_COMPILER >= GLM_COMPILER_APPLE_CLANG40)))
+
477 
+
478 // N2235
+
479 #define GLM_HAS_CONSTEXPR ( \
+
480  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
481  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
+
482  __has_feature(cxx_constexpr))
+
483 
+
484 // N2672
+
485 #define GLM_HAS_INITIALIZER_LISTS ( \
+
486  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
487  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) || \
+
488  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
+
489  __has_feature(cxx_generalized_initializers))
+
490 
+
491 // N2544 Unrestricted unions
+
492 #define GLM_HAS_UNRESTRICTED_UNIONS ( \
+
493  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
494  (GLM_LANG & GLM_LANG_CXXMS_FLAG) || \
+
495  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
+
496  __has_feature(cxx_unrestricted_unions))
+
497 
+
498 // N2346
+
499 #define GLM_HAS_DEFAULTED_FUNCTIONS ( \
+
500  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
501  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) || \
+
502  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
+
503  __has_feature(cxx_defaulted_functions))
+
504 
+
505 // N2118
+
506 #define GLM_HAS_RVALUE_REFERENCES ( \
+
507  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
508  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012))) || \
+
509  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
+
510  __has_feature(cxx_rvalue_references))
+
511 
+
512 #define GLM_HAS_STL_ARRAY ( \
+
513  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
514  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2010))) || \
+
515  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)))
+
516 
+
517 #define GLM_HAS_TEMPLATE_ALIASES ( \
+
518  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) || \
+
519  __has_feature(cxx_alias_templates))
+
520 
+
521 #define GLM_HAS_RANGE_FOR ( \
+
522  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
523  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012))) || \
+
524  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
+
525  __has_feature(cxx_range_for))
+
526 
+
527 #define GLM_HAS_ASSIGNABLE ( \
+
528  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
529  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC49)))
+
530 
+
531 #define GLM_HAS_TRIVIAL_QUERIES (\
+
532  ((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_COMPILER & GLM_COMPILER_GCC)) || \
+
533  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)))
+
534 
+
535 #define GLM_HAS_MAKE_SIGNED (\
+
536  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
537  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)))
+
538 
+
539 // OpenMP
+
540 #ifdef _OPENMP
+
541 # if GLM_COMPILER & GLM_COMPILER_GCC
+
542 # if GLM_COMPILER >= GLM_COMPILER_GCC47
+
543 # define GLM_HAS_OPENMP 31
+
544 # elif GLM_COMPILER >= GLM_COMPILER_GCC44
+
545 # define GLM_HAS_OPENMP 30
+
546 # elif GLM_COMPILER >= GLM_COMPILER_GCC42
+
547 # define GLM_HAS_OPENMP 25
+
548 # endif
+
549 # endif// GLM_COMPILER & GLM_COMPILER_GCC
+
550 
+
551 # if GLM_COMPILER & GLM_COMPILER_VC
+
552 # if GLM_COMPILER >= GLM_COMPILER_VC2010
+
553 # define GLM_HAS_OPENMP 20
+
554 # endif
+
555 # endif// GLM_COMPILER & GLM_COMPILER_VC
+
556 #endif
+
557 
+
558 // Not standard
+
559 #define GLM_HAS_ANONYMOUS_UNION (GLM_LANG & GLM_LANG_CXXMS_FLAG)
+
560 
+
562 // Platform
+
563 
+
564 // User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_SSE3 GLM_FORCE_AVX GLM_FORCE_AVX2
+
565 
+
566 #define GLM_ARCH_PURE 0x0000
+
567 #define GLM_ARCH_X86 0x0001
+
568 #define GLM_ARCH_SSE2 0x0002
+
569 #define GLM_ARCH_SSE3 0x0004
+
570 #define GLM_ARCH_SSE4 0x0008
+
571 #define GLM_ARCH_AVX 0x0010
+
572 #define GLM_ARCH_AVX2 0x0020
+
573 
+
574 #if defined(GLM_FORCE_PURE)
+
575 # define GLM_ARCH GLM_ARCH_PURE
+
576 #elif defined(GLM_FORCE_AVX2)
+
577 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
578 #elif defined(GLM_FORCE_AVX)
+
579 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
580 #elif defined(GLM_FORCE_SSE4)
+
581 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
582 #elif defined(GLM_FORCE_SSE3)
+
583 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
584 #elif defined(GLM_FORCE_SSE2)
+
585 # define GLM_ARCH (GLM_ARCH_SSE2)
+
586 #elif GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_GCC)
+
587 # if(__AVX2__)
+
588 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
589 # elif(__AVX__)
+
590 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
591 # elif(__SSE3__)
+
592 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
593 # elif(__SSE2__)
+
594 # define GLM_ARCH (GLM_ARCH_SSE2)
+
595 # else
+
596 # define GLM_ARCH GLM_ARCH_PURE
+
597 # endif
+
598 #elif GLM_COMPILER & GLM_COMPILER_VC
+
599 # if defined(__AVX2__)
+
600 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
601 # elif defined(__AVX__)
+
602 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
603 # elif _M_IX86_FP == 2
+
604 # define GLM_ARCH (GLM_ARCH_SSE2)
+
605 # else
+
606 # define GLM_ARCH (GLM_ARCH_PURE)
+
607 # endif
+
608 #elif (GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))
+
609 # if defined(__AVX2__)
+
610 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
611 # elif defined(__AVX__)
+
612 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
613 # elif defined(__SSE4_1__ )
+
614 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
615 # elif defined(__SSE3__)
+
616 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
617 # elif defined(__SSE2__)
+
618 # define GLM_ARCH (GLM_ARCH_SSE2)
+
619 # else
+
620 # define GLM_ARCH (GLM_ARCH_PURE)
+
621 # endif
+
622 #else
+
623 # define GLM_ARCH GLM_ARCH_PURE
+
624 #endif
+
625 
+
626 // With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is
+
627 // that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems.
+
628 // To fix, we just explicitly include intrin.h here.
+
629 #if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE)
+
630 # include <intrin.h>
+
631 #endif
+
632 
+
633 #if GLM_ARCH & GLM_ARCH_AVX2
+
634 # include <immintrin.h>
+
635 #endif//GLM_ARCH
+
636 #if GLM_ARCH & GLM_ARCH_AVX
+
637 # include <immintrin.h>
+
638 #endif//GLM_ARCH
+
639 #if GLM_ARCH & GLM_ARCH_SSE4
+
640 # include <smmintrin.h>
+
641 #endif//GLM_ARCH
+
642 #if GLM_ARCH & GLM_ARCH_SSE3
+
643 # include <pmmintrin.h>
+
644 #endif//GLM_ARCH
+
645 #if GLM_ARCH & GLM_ARCH_SSE2
+
646 # include <emmintrin.h>
+
647 # if(GLM_COMPILER == GLM_COMPILER_VC2005) // VC2005 is missing some intrinsics, workaround
+
648  inline float _mm_cvtss_f32(__m128 A) { return A.m128_f32[0]; }
+
649  inline __m128 _mm_castpd_ps(__m128d PD) { union { __m128 ps; __m128d pd; } c; c.pd = PD; return c.ps; }
+
650  inline __m128d _mm_castps_pd(__m128 PS) { union { __m128 ps; __m128d pd; } c; c.ps = PS; return c.pd; }
+
651  inline __m128i _mm_castps_si128(__m128 PS) { union { __m128 ps; __m128i pi; } c; c.ps = PS; return c.pi; }
+
652  inline __m128 _mm_castsi128_ps(__m128i PI) { union { __m128 ps; __m128i pi; } c; c.pi = PI; return c.ps; }
+
653 # endif
+
654 #endif//GLM_ARCH
+
655 
+
656 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED)
+
657 # define GLM_MESSAGE_ARCH_DISPLAYED
+
658 # if(GLM_ARCH == GLM_ARCH_PURE)
+
659 # pragma message("GLM: Platform independent code")
+
660 # elif(GLM_ARCH & GLM_ARCH_AVX2)
+
661 # pragma message("GLM: AVX2 instruction set")
+
662 # elif(GLM_ARCH & GLM_ARCH_AVX)
+
663 # pragma message("GLM: AVX instruction set")
+
664 # elif(GLM_ARCH & GLM_ARCH_SSE3)
+
665 # pragma message("GLM: SSE3 instruction set")
+
666 # elif(GLM_ARCH & GLM_ARCH_SSE2)
+
667 # pragma message("GLM: SSE2 instruction set")
+
668 # endif//GLM_ARCH
+
669 # pragma message("GLM: #define GLM_FORCE_PURE to avoid using platform specific instruction sets")
+
670 #endif//GLM_MESSAGE
+
671 
+
673 // Static assert
+
674 
+
675 #if GLM_HAS_STATIC_ASSERT
+
676 # define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
+
677 #elif defined(BOOST_STATIC_ASSERT)
+
678 # define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)
+
679 #elif GLM_COMPILER & GLM_COMPILER_VC
+
680 # define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
+
681 #else
+
682 # define GLM_STATIC_ASSERT(x, message)
+
683 # define GLM_STATIC_ASSERT_NULL
+
684 #endif//GLM_LANG
+
685 
+
687 // Qualifiers
+
688 
+
689 #if GLM_COMPILER & GLM_COMPILER_CUDA
+
690 # define GLM_CUDA_FUNC_DEF __device__ __host__
+
691 # define GLM_CUDA_FUNC_DECL __device__ __host__
+
692 #else
+
693 # define GLM_CUDA_FUNC_DEF
+
694 # define GLM_CUDA_FUNC_DECL
+
695 #endif
+
696 
+
697 #if GLM_COMPILER & GLM_COMPILER_GCC
+
698 # define GLM_VAR_USED __attribute__ ((unused))
+
699 #else
+
700 # define GLM_VAR_USED
+
701 #endif
+
702 
+
703 #if defined(GLM_FORCE_INLINE)
+
704 # if GLM_COMPILER & GLM_COMPILER_VC
+
705 # define GLM_INLINE __forceinline
+
706 # define GLM_NEVER_INLINE __declspec((noinline))
+
707 # elif GLM_COMPILER & GLM_COMPILER_GCC
+
708 # define GLM_INLINE inline __attribute__((__always_inline__))
+
709 # define GLM_NEVER_INLINE __attribute__((__noinline__))
+
710 # elif GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM)
+
711 # define GLM_INLINE __attribute__((__always_inline__))
+
712 # define GLM_NEVER_INLINE __attribute__((__noinline__))
+
713 # else
+
714 # define GLM_INLINE inline
+
715 # define GLM_NEVER_INLINE
+
716 # endif//GLM_COMPILER
+
717 #else
+
718 # define GLM_INLINE inline
+
719 # define GLM_NEVER_INLINE
+
720 #endif//defined(GLM_FORCE_INLINE)
+
721 
+
722 #define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL
+
723 #define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE
+
724 
+
726 // Swizzle operators
+
727 
+
728 // User defines: GLM_SWIZZLE
+
729 
+
730 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED)
+
731 # define GLM_MESSAGE_SWIZZLE_DISPLAYED
+
732 # if defined(GLM_SWIZZLE)
+
733 # pragma message("GLM: Swizzling operators enabled")
+
734 # else
+
735 # pragma message("GLM: Swizzling operators disabled, #define GLM_SWIZZLE to enable swizzle operators")
+
736 # endif
+
737 #endif//GLM_MESSAGE
+
738 
+
740 // Qualifiers
+
741 
+
742 #if (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))
+
743 # define GLM_DEPRECATED __declspec(deprecated)
+
744 # define GLM_ALIGN(x) __declspec(align(x))
+
745 # define GLM_ALIGNED_STRUCT(x) struct __declspec(align(x))
+
746 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name
+
747 # define GLM_RESTRICT __declspec(restrict)
+
748 # define GLM_RESTRICT_VAR __restrict
+
749 #elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_CUDA | GLM_COMPILER_INTEL)
+
750 # define GLM_DEPRECATED __attribute__((__deprecated__))
+
751 # define GLM_ALIGN(x) __attribute__((aligned(x)))
+
752 # define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
+
753 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment)))
+
754 # define GLM_RESTRICT __restrict__
+
755 # define GLM_RESTRICT_VAR __restrict__
+
756 #else
+
757 # define GLM_DEPRECATED
+
758 # define GLM_ALIGN
+
759 # define GLM_ALIGNED_STRUCT(x) struct
+
760 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name
+
761 # define GLM_RESTRICT
+
762 # define GLM_RESTRICT_VAR
+
763 #endif//GLM_COMPILER
+
764 
+
765 #if GLM_HAS_CONSTEXPR
+
766 # define GLM_CONSTEXPR constexpr
+
767 #else
+
768 # define GLM_CONSTEXPR
+
769 #endif
+
770 
+
772 // Length type
+
773 
+
774 // User defines: GLM_FORCE_SIZE_T_LENGTH GLM_FORCE_SIZE_FUNC
+
775 
+
776 namespace glm
+
777 {
+
778  using std::size_t;
+
779 #if defined(GLM_FORCE_SIZE_T_LENGTH) || defined(GLM_FORCE_SIZE_FUNC)
+
780  typedef size_t length_t;
+
781 #else
+
782  typedef int length_t;
+
783 #endif
+
784 
+
785 namespace detail
+
786 {
+
787 # ifdef GLM_FORCE_SIZE_FUNC
+
788  typedef size_t component_count_t;
+
789 # else
+
790  typedef length_t component_count_t;
+
791 # endif
+
792 
+
793  template <typename genType>
+
794  GLM_FUNC_QUALIFIER GLM_CONSTEXPR component_count_t component_count(genType const & m)
+
795  {
+
796 # ifdef GLM_FORCE_SIZE_FUNC
+
797  return m.size();
+
798 # else
+
799  return m.length();
+
800 # endif
+
801  }
+
802 }//namespace detail
+
803 }//namespace glm
+
804 
+
805 #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH)
+
806 # define GLM_MESSAGE_FORCE_SIZE_T_LENGTH
+
807 # if defined(GLM_FORCE_SIZE_T_LENGTH)
+
808 # pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t")
+
809 # else
+
810 # pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification")
+
811 # pragma message("GLM: #define GLM_FORCE_SIZE_T_LENGTH for .length() to return a size_t")
+
812 # endif
+
813 #endif//GLM_MESSAGE
+
814 
+
816 // Uninitialize constructors
+
817 
+
818 namespace glm
+
819 {
+
820  enum ctor{uninitialize};
+
821 }//namespace glm
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL genType pi()
Return the pi constant.
diff --git a/doc/api/a00106.html b/doc/api/a00106.html deleted file mode 100644 index f43ebdcb..00000000 --- a/doc/api/a00106.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - -GLM: rotate_vector.hpp File Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-Namespaces | -Functions
-
-
rotate_vector.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T , precision P>
detail::tmat4x4< T, P > orientation (detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
 
template<typename T , precision P>
detail::tvec2< T, P > rotate (detail::tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tvec3< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tvec4< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateX (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateX (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateY (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateY (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateZ (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateZ (detail::tvec4< T, P > const &v, T 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:

-

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_GTX_rotate_vector

-
Date
2006-11-02 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_transform (dependence)
- -

Definition in file rotate_vector.hpp.

-
- - - - diff --git a/doc/api/a00106_source.html b/doc/api/a00106_source.html index 3f869bda..df0427b5 100644 --- a/doc/api/a00106_source.html +++ b/doc/api/a00106_source.html @@ -3,8 +3,8 @@ - -GLM: rotate_vector.hpp Source File + +0.9.6: simd_mat4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,98 +41,173 @@
-
rotate_vector.hpp
+
simd_mat4.hpp
-Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_rotate_vector
-
40 #define GLM_GTX_rotate_vector
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/transform.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename T, precision P>
-
58  detail::tvec2<T, P> rotate(
-
59  detail::tvec2<T, P> const & v,
-
60  T const & angle);
-
61 
-
64  template <typename T, precision P>
-
65  detail::tvec3<T, P> rotate(
-
66  detail::tvec3<T, P> const & v,
-
67  T const & angle,
-
68  detail::tvec3<T, P> const & normal);
-
69 
-
72  template <typename T, precision P>
-
73  detail::tvec4<T, P> rotate(
-
74  detail::tvec4<T, P> const & v,
-
75  T const & angle,
-
76  detail::tvec3<T, P> const & normal);
-
77 
-
80  template <typename T, precision P>
-
81  detail::tvec3<T, P> rotateX(
-
82  detail::tvec3<T, P> const & v,
-
83  T const & angle);
-
84 
-
87  template <typename T, precision P>
-
88  detail::tvec3<T, P> rotateY(
-
89  detail::tvec3<T, P> const & v,
-
90  T const & angle);
-
91 
-
94  template <typename T, precision P>
-
95  detail::tvec3<T, P> rotateZ(
-
96  detail::tvec3<T, P> const & v,
-
97  T const & angle);
-
98 
-
101  template <typename T, precision P>
-
102  detail::tvec4<T, P> rotateX(
-
103  detail::tvec4<T, P> const & v,
-
104  T const & angle);
-
105 
-
108  template <typename T, precision P>
-
109  detail::tvec4<T, P> rotateY(
-
110  detail::tvec4<T, P> const & v,
-
111  T const & angle);
-
112 
-
115  template <typename T, precision P>
-
116  detail::tvec4<T, P> rotateZ(
-
117  detail::tvec4<T, P> const & v,
-
118  T const & angle);
-
119 
-
122  template <typename T, precision P>
-
123  detail::tmat4x4<T, P> orientation(
-
124  detail::tvec3<T, P> const & Normal,
-
125  detail::tvec3<T, P> const & Up);
-
126 
-
128 }//namespace glm
+
1 
+
38 #pragma once
+
39 
+
40 // Dependencies
+
41 #include "../detail/setup.hpp"
+
42 
+
43 #if(GLM_ARCH != GLM_ARCH_PURE)
+
44 
+
45 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
46 # include "../detail/intrinsic_matrix.hpp"
+
47 # include "../gtx/simd_vec4.hpp"
+
48 #else
+
49 # error "GLM: GLM_GTX_simd_mat4 requires compiler support of SSE2 through intrinsics"
+
50 #endif
+
51 
+
52 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
53 # pragma message("GLM: GLM_GTX_simd_mat4 extension included")
+
54 #endif
+
55 
+
56 namespace glm{
+
57 namespace detail
+
58 {
+
61  GLM_ALIGNED_STRUCT(16) fmat4x4SIMD
+
62  {
+
63  typedef float value_type;
+
64  typedef fvec4SIMD col_type;
+
65  typedef fvec4SIMD row_type;
+
66  typedef std::size_t size_type;
+
67  typedef fmat4x4SIMD type;
+
68  typedef fmat4x4SIMD transpose_type;
+
69 
+
70  GLM_FUNC_DECL length_t length() const;
+
71 
+
72  fvec4SIMD Data[4];
+
73 
+
75  // Constructors
+
76 
+
77  fmat4x4SIMD();
+
78  explicit fmat4x4SIMD(float const & s);
+
79  explicit fmat4x4SIMD(
+
80  float const & x0, float const & y0, float const & z0, float const & w0,
+
81  float const & x1, float const & y1, float const & z1, float const & w1,
+
82  float const & x2, float const & y2, float const & z2, float const & w2,
+
83  float const & x3, float const & y3, float const & z3, float const & w3);
+
84  explicit fmat4x4SIMD(
+
85  fvec4SIMD const & v0,
+
86  fvec4SIMD const & v1,
+
87  fvec4SIMD const & v2,
+
88  fvec4SIMD const & v3);
+
89  explicit fmat4x4SIMD(
+
90  mat4x4 const & m);
+
91  explicit fmat4x4SIMD(
+
92  __m128 const in[4]);
+
93 
+
94  // Conversions
+
95  //template <typename U>
+
96  //explicit tmat4x4(tmat4x4<U> const & m);
+
97 
+
98  //explicit tmat4x4(tmat2x2<T> const & x);
+
99  //explicit tmat4x4(tmat3x3<T> const & x);
+
100  //explicit tmat4x4(tmat2x3<T> const & x);
+
101  //explicit tmat4x4(tmat3x2<T> const & x);
+
102  //explicit tmat4x4(tmat2x4<T> const & x);
+
103  //explicit tmat4x4(tmat4x2<T> const & x);
+
104  //explicit tmat4x4(tmat3x4<T> const & x);
+
105  //explicit tmat4x4(tmat4x3<T> const & x);
+
106 
+
107  // Accesses
+
108  fvec4SIMD & operator[](length_t i);
+
109  fvec4SIMD const & operator[](length_t i) const;
+
110 
+
111  // Unary updatable operators
+
112  fmat4x4SIMD & operator= (fmat4x4SIMD const & m);
+
113  fmat4x4SIMD & operator+= (float const & s);
+
114  fmat4x4SIMD & operator+= (fmat4x4SIMD const & m);
+
115  fmat4x4SIMD & operator-= (float const & s);
+
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++ ();
+
122  fmat4x4SIMD & operator-- ();
+
123  };
+
124 
+
125  // Binary operators
+
126  fmat4x4SIMD operator+ (fmat4x4SIMD const & m, float const & s);
+
127  fmat4x4SIMD operator+ (float const & s, fmat4x4SIMD const & m);
+
128  fmat4x4SIMD operator+ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
129 
-
130 #include "rotate_vector.inl"
-
131 
-
132 #endif//GLM_GTX_rotate_vector
-
detail::tvec3< T, P > rotateX(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the X axis.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
-
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
detail::tmat4x4< T, P > orientation(detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
-
detail::tvec3< T, P > rotateY(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the Y axis.
-
detail::tvec3< T, P > rotateZ(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the Z axis.
+
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 
+
137  fvec4SIMD operator* (fmat4x4SIMD const & m, fvec4SIMD const & v);
+
138  fvec4SIMD operator* (fvec4SIMD const & v, fmat4x4SIMD const & m);
+
139 
+
140  fmat4x4SIMD operator* (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
141 
+
142  fmat4x4SIMD operator/ (fmat4x4SIMD const & m, float const & s);
+
143  fmat4x4SIMD operator/ (float const & s, fmat4x4SIMD const & m);
+
144 
+
145  fvec4SIMD operator/ (fmat4x4SIMD const & m, fvec4SIMD const & v);
+
146  fvec4SIMD operator/ (fvec4SIMD const & v, fmat4x4SIMD const & m);
+
147 
+
148  fmat4x4SIMD operator/ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
149 
+
150  // Unary constant operators
+
151  fmat4x4SIMD const operator- (fmat4x4SIMD const & m);
+
152  fmat4x4SIMD const operator-- (fmat4x4SIMD const & m, int);
+
153  fmat4x4SIMD const operator++ (fmat4x4SIMD const & m, int);
+
154 }//namespace detail
+
155 
+
156  typedef detail::fmat4x4SIMD simdMat4;
+
157 
+
160 
+
163  mat4 mat4_cast(
+
164  detail::fmat4x4SIMD const & x);
+
165 
+
169  detail::fmat4x4SIMD matrixCompMult(
+
170  detail::fmat4x4SIMD const & x,
+
171  detail::fmat4x4SIMD const & y);
+
172 
+
177  detail::fmat4x4SIMD outerProduct(
+
178  detail::fvec4SIMD const & c,
+
179  detail::fvec4SIMD const & r);
+
180 
+
183  detail::fmat4x4SIMD transpose(
+
184  detail::fmat4x4SIMD const & x);
+
185 
+
188  float determinant(
+
189  detail::fmat4x4SIMD const & m);
+
190 
+
193  detail::fmat4x4SIMD inverse(
+
194  detail::fmat4x4SIMD const & m);
+
195 
+
197 }// namespace glm
+
198 
+
199 #include "simd_mat4.inl"
+
200 
+
201 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:421
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:438
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
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 > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
+
Definition: _noise.hpp:31
+
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.
diff --git a/doc/api/a00107.html b/doc/api/a00107.html index 6413b0a3..500bdfa5 100644 --- a/doc/api/a00107.html +++ b/doc/api/a00107.html @@ -3,8 +3,8 @@ - -GLM: scalar_relational.hpp File Reference + +0.9.6: simd_quat.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,41 +41,33 @@
-
-Namespaces
-
scalar_relational.hpp File Reference
+
simd_quat.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 

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 - 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.

-

Gtx_scalar_relational

-
Date
2013-02-04 / 2013-02-04
+

GLM_GTX_simd_quat

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

Definition in file scalar_relational.hpp.

+

Definition in file simd_quat.hpp.

diff --git a/doc/api/a00107_source.html b/doc/api/a00107_source.html index 14cd4a44..099a1913 100644 --- a/doc/api/a00107_source.html +++ b/doc/api/a00107_source.html @@ -3,8 +3,8 @@ - -GLM: scalar_relational.hpp Source File + +0.9.6: simd_quat.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,41 +41,241 @@
-
scalar_relational.hpp
+
simd_quat.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_scalar_relational
-
39 #define GLM_GTX_scalar_relational
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_extend extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 #include "../gtc/quaternion.hpp"
+
43 #include "../gtx/fast_trigonometry.hpp"
+
44 
+
45 #if(GLM_ARCH != GLM_ARCH_PURE)
+
46 
+
47 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
48 # include "../gtx/simd_mat4.hpp"
+
49 #else
+
50 # error "GLM: GLM_GTX_simd_quat requires compiler support of SSE2 through intrinsics"
+
51 #endif
52 
-
53 
-
54 
-
56 }//namespace glm
-
57 
-
58 #include "scalar_relational.inl"
-
59 
-
60 #endif//GLM_GTX_scalar_relational
+
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
54 # pragma message("GLM: GLM_GTX_simd_quat extension included")
+
55 #endif
+
56 
+
57 // Warning silencer for nameless struct/union.
+
58 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
59 # pragma warning(push)
+
60 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
+
61 #endif
+
62 
+
63 namespace glm{
+
64 namespace detail
+
65 {
+
66  GLM_ALIGNED_STRUCT(16) fquatSIMD
+
67  {
+
68  typedef __m128 value_type;
+
69  typedef std::size_t size_type;
+
70  static size_type value_size();
+
71 
+
72  typedef fquatSIMD type;
+
73  typedef tquat<bool, defaultp> bool_type;
+
74 
+
75 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
+
76  union
+
77  {
+
78  __m128 Data;
+
79  struct {float x, y, z, w;};
+
80  };
+
81 #else
+
82  __m128 Data;
+
83 #endif
+
84 
+
86  // Implicit basic constructors
+
87 
+
88  fquatSIMD();
+
89  fquatSIMD(__m128 const & Data);
+
90  fquatSIMD(fquatSIMD const & q);
+
91 
+
93  // Explicit basic constructors
+
94 
+
95  explicit fquatSIMD(
+
96  ctor);
+
97  explicit fquatSIMD(
+
98  float const & w,
+
99  float const & x,
+
100  float const & y,
+
101  float const & z);
+
102  explicit fquatSIMD(
+
103  quat const & v);
+
104  explicit fquatSIMD(
+
105  vec3 const & eulerAngles);
+
106 
+
107 
+
109  // Unary arithmetic operators
+
110 
+
111  fquatSIMD& operator =(fquatSIMD const & q);
+
112  fquatSIMD& operator*=(float const & s);
+
113  fquatSIMD& operator/=(float const & s);
+
114  };
+
115 
+
116 
+
118  // Arithmetic operators
+
119 
+
120  detail::fquatSIMD operator- (
+
121  detail::fquatSIMD const & q);
+
122 
+
123  detail::fquatSIMD operator+ (
+
124  detail::fquatSIMD const & q,
+
125  detail::fquatSIMD const & p);
+
126 
+
127  detail::fquatSIMD operator* (
+
128  detail::fquatSIMD const & q,
+
129  detail::fquatSIMD const & p);
+
130 
+
131  detail::fvec4SIMD operator* (
+
132  detail::fquatSIMD const & q,
+
133  detail::fvec4SIMD const & v);
+
134 
+
135  detail::fvec4SIMD operator* (
+
136  detail::fvec4SIMD const & v,
+
137  detail::fquatSIMD const & q);
+
138 
+
139  detail::fquatSIMD operator* (
+
140  detail::fquatSIMD const & q,
+
141  float s);
+
142 
+
143  detail::fquatSIMD operator* (
+
144  float s,
+
145  detail::fquatSIMD const & q);
+
146 
+
147  detail::fquatSIMD operator/ (
+
148  detail::fquatSIMD const & q,
+
149  float s);
+
150 
+
151 }//namespace detail
+
152 
+
155 
+
156  typedef glm::detail::fquatSIMD simdQuat;
+
157 
+
160  quat quat_cast(
+
161  detail::fquatSIMD const & x);
+
162 
+
165  detail::fquatSIMD quatSIMD_cast(
+
166  detail::fmat4x4SIMD const & m);
+
167 
+
170  template <typename T, precision P>
+
171  detail::fquatSIMD quatSIMD_cast(
+
172  tmat4x4<T, P> const & m);
+
173 
+
176  template <typename T, precision P>
+
177  detail::fquatSIMD quatSIMD_cast(
+
178  tmat3x3<T, P> const & m);
+
179 
+
182  detail::fmat4x4SIMD mat4SIMD_cast(
+
183  detail::fquatSIMD const & q);
+
184 
+
187  mat4 mat4_cast(
+
188  detail::fquatSIMD const & q);
+
189 
+
190 
+
194  float length(
+
195  detail::fquatSIMD const & x);
+
196 
+
200  detail::fquatSIMD normalize(
+
201  detail::fquatSIMD const & x);
+
202 
+
206  float dot(
+
207  detail::fquatSIMD const & q1,
+
208  detail::fquatSIMD const & q2);
+
209 
+
220  detail::fquatSIMD mix(
+
221  detail::fquatSIMD const & x,
+
222  detail::fquatSIMD const & y,
+
223  float const & a);
+
224 
+
233  detail::fquatSIMD lerp(
+
234  detail::fquatSIMD const & x,
+
235  detail::fquatSIMD const & y,
+
236  float const & a);
+
237 
+
246  detail::fquatSIMD slerp(
+
247  detail::fquatSIMD const & x,
+
248  detail::fquatSIMD const & y,
+
249  float const & a);
+
250 
+
251 
+
262  detail::fquatSIMD fastMix(
+
263  detail::fquatSIMD const & x,
+
264  detail::fquatSIMD const & y,
+
265  float const & a);
+
266 
+
274  detail::fquatSIMD fastSlerp(
+
275  detail::fquatSIMD const & x,
+
276  detail::fquatSIMD const & y,
+
277  float const & a);
+
278 
+
279 
+
283  detail::fquatSIMD conjugate(
+
284  detail::fquatSIMD const & q);
+
285 
+
289  detail::fquatSIMD inverse(
+
290  detail::fquatSIMD const & q);
+
291 
+
298  detail::fquatSIMD angleAxisSIMD(
+
299  float const & angle,
+
300  vec3 const & axis);
+
301 
+
310  detail::fquatSIMD angleAxisSIMD(
+
311  float const & angle,
+
312  float const & x,
+
313  float const & y,
+
314  float const & z);
+
315 
+
316  // TODO: Move this to somewhere more appropriate. Used with fastMix() and fastSlerp().
+
318  __m128 fastSin(__m128 x);
+
319 
+
321 }//namespace glm
+
322 
+
323 #include "simd_quat.inl"
+
324 
+
325 
+
326 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
327 # pragma warning(pop)
+
328 #endif
+
329 
+
330 
+
331 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:438
+
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 matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix.
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
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.
+
Definition: _noise.hpp:31
+
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 tvec3< T, P > eulerAngles(tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
+
GLM_FUNC_DECL tquat< T, P > conjugate(tquat< T, P > const &q)
Returns the q conjugate.
+
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 > slerp(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
+
GLM_FUNC_DECL T fastSin(T angle)
Faster than the common sin function but less accurate.
+
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)
Returns the q rotation axis.
+
GLM_FUNC_DECL tquat< T, P > quat_cast(tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
+
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.
diff --git a/doc/api/a00108.html b/doc/api/a00108.html new file mode 100644 index 00000000..5dbd70f8 --- /dev/null +++ b/doc/api/a00108.html @@ -0,0 +1,73 @@ + + + + + + +0.9.6: simd_vec4.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
simd_vec4.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:

+

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_GTX_simd_vec4

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

Definition in file simd_vec4.hpp.

+
+ + + + diff --git a/doc/api/a00108_source.html b/doc/api/a00108_source.html index 40a7402d..4102b9ef 100644 --- a/doc/api/a00108_source.html +++ b/doc/api/a00108_source.html @@ -3,8 +3,8 @@ - -GLM: setup.hpp Source File + +0.9.6: simd_vec4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,771 +41,361 @@
-
setup.hpp
+
simd_vec4.hpp
-
1 
-
29 #ifndef GLM_SETUP_INCLUDED
-
30 #define GLM_SETUP_INCLUDED
-
31 
-
32 #include <cassert>
-
33 
-
35 // Version
-
36 
-
37 #define GLM_VERSION 95
-
38 #define GLM_VERSION_MAJOR 0
-
39 #define GLM_VERSION_MINOR 9
-
40 #define GLM_VERSION_PATCH 5
-
41 #define GLM_VERSION_REVISION 1
-
42 
-
44 // Platform
-
45 
-
46 #define GLM_PLATFORM_UNKNOWN 0x00000000
-
47 #define GLM_PLATFORM_WINDOWS 0x00010000
-
48 #define GLM_PLATFORM_LINUX 0x00020000
-
49 #define GLM_PLATFORM_APPLE 0x00040000
-
50 //#define GLM_PLATFORM_IOS 0x00080000
-
51 #define GLM_PLATFORM_ANDROID 0x00100000
-
52 #define GLM_PLATFORM_CHROME_NACL 0x00200000
-
53 #define GLM_PLATFORM_UNIX 0x00400000
-
54 #define GLM_PLATFORM_QNXNTO 0x00800000
-
55 #define GLM_PLATFORM_WINCE 0x01000000
-
56 
-
57 #ifdef GLM_FORCE_PLATFORM_UNKNOWN
-
58 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
-
59 #elif defined(__QNXNTO__)
-
60 # define GLM_PLATFORM GLM_PLATFORM_QNXNTO
-
61 #elif defined(__APPLE__)
-
62 # define GLM_PLATFORM GLM_PLATFORM_APPLE
-
63 #elif defined(WINCE)
-
64 # define GLM_PLATFORM GLM_PLATFORM_WINCE
-
65 #elif defined(_WIN32)
-
66 # define GLM_PLATFORM GLM_PLATFORM_WINDOWS
-
67 #elif defined(__native_client__)
-
68 # define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL
-
69 #elif defined(__ANDROID__)
-
70 # define GLM_PLATFORM GLM_PLATFORM_ANDROID
-
71 #elif defined(__linux)
-
72 # define GLM_PLATFORM GLM_PLATFORM_LINUX
-
73 #elif defined(__unix)
-
74 # define GLM_PLATFORM GLM_PLATFORM_UNIX
-
75 #else
-
76 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
-
77 #endif//
-
78 
-
79 // Report platform detection
-
80 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_PLATFORM_DISPLAYED))
-
81 # define GLM_MESSAGE_PLATFORM_DISPLAYED
-
82 # if(GLM_PLATFORM & GLM_PLATFORM_QNXNTO)
-
83 # pragma message("GLM: QNX platform detected")
-
84 //# elif(GLM_PLATFORM & GLM_PLATFORM_IOS)
-
85 //# pragma message("GLM: iOS platform detected")
-
86 # elif(GLM_PLATFORM & GLM_PLATFORM_APPLE)
-
87 # pragma message("GLM: Apple platform detected")
-
88 # elif(GLM_PLATFORM & GLM_PLATFORM_WINCE)
-
89 # pragma message("GLM: WinCE platform detected")
-
90 # elif(GLM_PLATFORM & GLM_PLATFORM_WINDOWS)
-
91 # pragma message("GLM: Windows platform detected")
-
92 # elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL)
-
93 # pragma message("GLM: Native Client detected")
-
94 # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-
95 # pragma message("GLM: Android platform detected")
-
96 # elif(GLM_PLATFORM & GLM_PLATFORM_LINUX)
-
97 # pragma message("GLM: Linux platform detected")
-
98 # elif(GLM_PLATFORM & GLM_PLATFORM_UNIX)
-
99 # pragma message("GLM: UNIX platform detected")
-
100 # elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN)
-
101 # pragma message("GLM: platform unknown")
-
102 # else
-
103 # pragma message("GLM: platform not detected")
-
104 # endif
-
105 #endif//GLM_MESSAGE
-
106 
-
108 // Compiler
-
109 
-
110 // User defines: GLM_FORCE_COMPILER_UNKNOWN
-
111 // TODO ? __llvm__
-
112 
-
113 #define GLM_COMPILER_UNKNOWN 0x00000000
-
114 
-
115 // Intel
-
116 #define GLM_COMPILER_INTEL 0x00100000
-
117 #define GLM_COMPILER_INTEL9 0x00100010
-
118 #define GLM_COMPILER_INTEL10_0 0x00100020
-
119 #define GLM_COMPILER_INTEL10_1 0x00100030
-
120 #define GLM_COMPILER_INTEL11_0 0x00100040
-
121 #define GLM_COMPILER_INTEL11_1 0x00100050
-
122 #define GLM_COMPILER_INTEL12_0 0x00100060
-
123 #define GLM_COMPILER_INTEL12_1 0x00100070
-
124 #define GLM_COMPILER_INTEL13_0 0x00100080
-
125 
-
126 // Visual C++ defines
-
127 #define GLM_COMPILER_VC 0x01000000
-
128 #define GLM_COMPILER_VC8 0x01000070
-
129 #define GLM_COMPILER_VC9 0x01000080
-
130 #define GLM_COMPILER_VC10 0x01000090
-
131 #define GLM_COMPILER_VC11 0x010000A0
-
132 #define GLM_COMPILER_VC12 0x010000B0
-
133 
-
134 // GCC defines
-
135 #define GLM_COMPILER_GCC 0x02000000
-
136 #define GLM_COMPILER_GCC34 0x02000050
-
137 #define GLM_COMPILER_GCC35 0x02000060
-
138 #define GLM_COMPILER_GCC40 0x02000070
-
139 #define GLM_COMPILER_GCC41 0x02000080
-
140 #define GLM_COMPILER_GCC42 0x02000090
-
141 #define GLM_COMPILER_GCC43 0x020000A0
-
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 
-
149 // Borland C++
-
150 #define GLM_COMPILER_BC 0x04000000
-
151 
-
152 // CodeWarrior
-
153 #define GLM_COMPILER_CODEWARRIOR 0x08000000
-
154 
-
155 // CUDA
-
156 #define GLM_COMPILER_CUDA 0x10000000
-
157 #define GLM_COMPILER_CUDA30 0x10000010
-
158 #define GLM_COMPILER_CUDA31 0x10000020
-
159 #define GLM_COMPILER_CUDA32 0x10000030
-
160 #define GLM_COMPILER_CUDA40 0x10000040
-
161 #define GLM_COMPILER_CUDA41 0x10000050
-
162 #define GLM_COMPILER_CUDA42 0x10000060
-
163 
-
164 // Clang
-
165 #define GLM_COMPILER_CLANG 0x20000000
-
166 #define GLM_COMPILER_CLANG26 0x20000010
-
167 #define GLM_COMPILER_CLANG27 0x20000020
-
168 #define GLM_COMPILER_CLANG28 0x20000030
-
169 #define GLM_COMPILER_CLANG29 0x20000040
-
170 #define GLM_COMPILER_CLANG30 0x20000050
-
171 #define GLM_COMPILER_CLANG31 0x20000060
-
172 #define GLM_COMPILER_CLANG32 0x20000070
-
173 #define GLM_COMPILER_CLANG33 0x20000080
-
174 #define GLM_COMPILER_CLANG40 0x20000090
-
175 #define GLM_COMPILER_CLANG41 0x200000A0
-
176 #define GLM_COMPILER_CLANG42 0x200000B0
-
177 #define GLM_COMPILER_CLANG43 0x200000C0
-
178 #define GLM_COMPILER_CLANG50 0x200000D0
-
179 
-
180 // LLVM GCC
-
181 #define GLM_COMPILER_LLVM_GCC 0x40000000
-
182 
-
183 // Build model
-
184 #define GLM_MODEL_32 0x00000010
-
185 #define GLM_MODEL_64 0x00000020
-
186 
-
187 // Force generic C++ compiler
-
188 #ifdef GLM_FORCE_COMPILER_UNKNOWN
-
189 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
-
190 
-
191 #elif defined(__INTEL_COMPILER)
-
192 # if __INTEL_COMPILER == 900
-
193 # define GLM_COMPILER GLM_COMPILER_INTEL9
-
194 # elif __INTEL_COMPILER == 1000
-
195 # define GLM_COMPILER GLM_COMPILER_INTEL10_0
-
196 # elif __INTEL_COMPILER == 1010
-
197 # define GLM_COMPILER GLM_COMPILER_INTEL10_1
-
198 # elif __INTEL_COMPILER == 1100
-
199 # define GLM_COMPILER GLM_COMPILER_INTEL11_0
-
200 # elif __INTEL_COMPILER == 1110
-
201 # define GLM_COMPILER GLM_COMPILER_INTEL11_1
-
202 # elif __INTEL_COMPILER == 1200
-
203 # define GLM_COMPILER GLM_COMPILER_INTEL12_0
-
204 # elif __INTEL_COMPILER == 1210
-
205 # define GLM_COMPILER GLM_COMPILER_INTEL12_1
-
206 # elif __INTEL_COMPILER >= 1300
-
207 # define GLM_COMPILER GLM_COMPILER_INTEL13_0
-
208 # else
-
209 # define GLM_COMPILER GLM_COMPILER_INTEL
-
210 # endif
-
211 
-
212 // CUDA
-
213 #elif defined(__CUDACC__)
-
214 # if CUDA_VERSION < 3000
-
215 # error "GLM requires CUDA 3.0 or higher"
-
216 # else
-
217 # define GLM_COMPILER GLM_COMPILER_CUDA
-
218 # endif
-
219 
-
220 // Visual C++
-
221 #elif defined(_MSC_VER)
-
222 # if _MSC_VER < 1400
-
223 # error "GLM requires Visual C++ 2005 or higher"
-
224 # elif _MSC_VER == 1400
-
225 # define GLM_COMPILER GLM_COMPILER_VC8
-
226 # elif _MSC_VER == 1500
-
227 # define GLM_COMPILER GLM_COMPILER_VC9
-
228 # elif _MSC_VER == 1600
-
229 # define GLM_COMPILER GLM_COMPILER_VC10
-
230 # elif _MSC_VER == 1700
-
231 # define GLM_COMPILER GLM_COMPILER_VC11
-
232 # elif _MSC_VER >= 1800
-
233 # define GLM_COMPILER GLM_COMPILER_VC12
-
234 # else//_MSC_VER
-
235 # define GLM_COMPILER GLM_COMPILER_VC
-
236 # endif//_MSC_VER
-
237 
-
238 // Clang
-
239 #elif defined(__clang__)
-
240 # if (__clang_major__ <= 1) || ((__clang_major__ == 2) && (__clang_minor__ < 6))
-
241 # error "GLM requires Clang 2.6 or higher"
-
242 # elif(__clang_major__ == 2) && (__clang_minor__ == 6)
-
243 # define GLM_COMPILER GLM_COMPILER_CLANG26
-
244 # elif(__clang_major__ == 2) && (__clang_minor__ == 7)
-
245 # define GLM_COMPILER GLM_COMPILER_CLANG27
-
246 # elif(__clang_major__ == 2) && (__clang_minor__ == 8)
-
247 # define GLM_COMPILER GLM_COMPILER_CLANG28
-
248 # elif(__clang_major__ == 2) && (__clang_minor__ == 9)
-
249 # define GLM_COMPILER GLM_COMPILER_CLANG29
-
250 # elif(__clang_major__ == 3) && (__clang_minor__ == 0)
-
251 # define GLM_COMPILER GLM_COMPILER_CLANG30
-
252 # elif(__clang_major__ == 3) && (__clang_minor__ == 1)
-
253 # define GLM_COMPILER GLM_COMPILER_CLANG31
-
254 # elif(__clang_major__ == 3) && (__clang_minor__ == 2)
-
255 # define GLM_COMPILER GLM_COMPILER_CLANG32
-
256 # elif(__clang_major__ == 3) && (__clang_minor__ == 3)
-
257 # define GLM_COMPILER GLM_COMPILER_CLANG33
-
258 # elif(__clang_major__ == 4) && (__clang_minor__ == 0)
-
259 # define GLM_COMPILER GLM_COMPILER_CLANG40
-
260 # elif(__clang_major__ == 4) && (__clang_minor__ == 1)
-
261 # define GLM_COMPILER GLM_COMPILER_CLANG41
-
262 # elif(__clang_major__ == 4) && (__clang_minor__ == 2)
-
263 # define GLM_COMPILER GLM_COMPILER_CLANG42
-
264 # elif(__clang_major__ == 4) && (__clang_minor__ >= 3)
-
265 # define GLM_COMPILER GLM_COMPILER_CLANG43
-
266 # elif(__clang_major__ > 4)
-
267 # define GLM_COMPILER GLM_COMPILER_CLANG50
-
268 # else
-
269 # define GLM_COMPILER GLM_COMPILER_CLANG
-
270 # endif
-
271 
-
272 // G++
-
273 #elif(defined(__GNUC__) || defined(__MINGW32__))// || defined(__llvm__) || defined(__clang__)
-
274 # if (__GNUC__ == 3) && (__GNUC_MINOR__ == 4)
-
275 # define GLM_COMPILER GLM_COMPILER_GCC34
-
276 # elif (__GNUC__ == 3) && (__GNUC_MINOR__ == 5)
-
277 # define GLM_COMPILER GLM_COMPILER_GCC35
-
278 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 0)
-
279 # define GLM_COMPILER (GLM_COMPILER_GCC40)
-
280 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 1)
-
281 # define GLM_COMPILER (GLM_COMPILER_GCC41)
-
282 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 2)
-
283 # define GLM_COMPILER (GLM_COMPILER_GCC42)
-
284 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
-
285 # define GLM_COMPILER (GLM_COMPILER_GCC43)
-
286 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 4)
-
287 # define GLM_COMPILER (GLM_COMPILER_GCC44)
-
288 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 5)
-
289 # define GLM_COMPILER (GLM_COMPILER_GCC45)
-
290 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 6)
-
291 # define GLM_COMPILER (GLM_COMPILER_GCC46)
-
292 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 7)
-
293 # define GLM_COMPILER (GLM_COMPILER_GCC47)
-
294 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
-
295 # define GLM_COMPILER (GLM_COMPILER_GCC48)
-
296 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)
-
297 # define GLM_COMPILER (GLM_COMPILER_GCC49)
-
298 # elif (__GNUC__ > 4 )
-
299 # define GLM_COMPILER (GLM_COMPILER_GCC49)
-
300 # else
-
301 # define GLM_COMPILER (GLM_COMPILER_GCC)
-
302 # endif
-
303 
-
304 // Borland C++
-
305 #elif defined(_BORLANDC_)
-
306 # define GLM_COMPILER GLM_COMPILER_BC
-
307 
-
308 // Codewarrior
-
309 #elif defined(__MWERKS__)
-
310 # define GLM_COMPILER GLM_COMPILER_CODEWARRIOR
-
311 
-
312 #else
-
313 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
-
314 #endif
-
315 
-
316 #ifndef GLM_COMPILER
-
317 #error "GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message."
-
318 #endif//GLM_COMPILER
-
319 
-
320 // Report compiler detection
-
321 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED))
-
322 # define GLM_MESSAGE_COMPILER_DISPLAYED
-
323 # if(GLM_COMPILER & GLM_COMPILER_CUDA)
-
324 # pragma message("GLM: CUDA compiler detected")
-
325 # elif(GLM_COMPILER & GLM_COMPILER_VC)
-
326 # pragma message("GLM: Visual C++ compiler detected")
-
327 # elif(GLM_COMPILER & GLM_COMPILER_CLANG)
-
328 # pragma message("GLM: Clang compiler detected")
-
329 # elif(GLM_COMPILER & GLM_COMPILER_LLVM_GCC)
-
330 # pragma message("GLM: LLVM GCC compiler detected")
-
331 # elif(GLM_COMPILER & GLM_COMPILER_INTEL)
-
332 # pragma message("GLM: Intel Compiler detected")
-
333 # elif(GLM_COMPILER & GLM_COMPILER_GCC)
-
334 # if(GLM_COMPILER == GLM_COMPILER_GCC_LLVM)
-
335 # pragma message("GLM: LLVM GCC compiler detected")
-
336 # elif(GLM_COMPILER == GLM_COMPILER_GCC_CLANG)
-
337 # pragma message("GLM: CLANG compiler detected")
-
338 # else
-
339 # pragma message("GLM: GCC compiler detected")
-
340 # endif
-
341 # elif(GLM_COMPILER & GLM_COMPILER_BC)
-
342 # pragma message("GLM: Borland compiler detected but not supported")
-
343 # elif(GLM_COMPILER & GLM_COMPILER_CODEWARRIOR)
-
344 # pragma message("GLM: Codewarrior compiler detected but not supported")
-
345 # else
-
346 # pragma message("GLM: Compiler not detected")
-
347 # endif
-
348 #endif//GLM_MESSAGE
-
349 
-
351 // Build model //
-
352 
-
353 #if(defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__))
-
354 # define GLM_MODEL GLM_MODEL_64
-
355 #elif(defined(__i386__) || defined(__ppc__))
-
356 # define GLM_MODEL GLM_MODEL_32
-
357 #else
-
358 # define GLM_MODEL GLM_MODEL_32
-
359 #endif//
-
360 
-
361 #if(!defined(GLM_MODEL) && GLM_COMPILER != 0)
-
362 # error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message."
-
363 #endif//GLM_MODEL
-
364 
-
365 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_MODEL_DISPLAYED))
-
366 # define GLM_MESSAGE_MODEL_DISPLAYED
-
367 # if(GLM_MODEL == GLM_MODEL_64)
-
368 # pragma message("GLM: 64 bits model")
-
369 # elif(GLM_MODEL == GLM_MODEL_32)
-
370 # pragma message("GLM: 32 bits model")
-
371 # endif//GLM_MODEL
-
372 #endif//GLM_MESSAGE
-
373 
-
375 // C++ Version //
-
376 
-
377 // User defines: GLM_FORCE_CXX98
-
378 
-
379 #define GLM_LANG_CXX_FLAG (1 << 0)
-
380 #define GLM_LANG_CXX98_FLAG (1 << 1)
-
381 #define GLM_LANG_CXX03_FLAG (1 << 2)
-
382 #define GLM_LANG_CXX0X_FLAG (1 << 3)
-
383 #define GLM_LANG_CXX11_FLAG (1 << 4)
-
384 #define GLM_LANG_CXX1Y_FLAG (1 << 5)
-
385 #define GLM_LANG_CXXMS_FLAG (1 << 6)
-
386 #define GLM_LANG_CXXGNU_FLAG (1 << 7)
-
387 
-
388 #define GLM_LANG_CXX GLM_LANG_CXX_FLAG
-
389 #define GLM_LANG_CXX98 (GLM_LANG_CXX | GLM_LANG_CXX98_FLAG)
-
390 #define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG)
-
391 #define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG)
-
392 #define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG)
-
393 #define GLM_LANG_CXX1Y (GLM_LANG_CXX11 | GLM_LANG_CXX1Y_FLAG)
-
394 #define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG
-
395 #define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG
-
396 
-
397 #if(defined(GLM_FORCE_CXX1Y))
-
398 # define GLM_LANG GLM_LANG_CXX1Y
-
399 #elif(defined(GLM_FORCE_CXX11))
-
400 # define GLM_LANG GLM_LANG_CXX11
-
401 #elif(defined(GLM_FORCE_CXX03))
-
402 # define GLM_LANG GLM_LANG_CXX03
-
403 #elif(defined(GLM_FORCE_CXX98))
-
404 # define GLM_LANG GLM_LANG_CXX98
-
405 #else
-
406 # if(__cplusplus >= 201103L)
-
407 # define GLM_LANG GLM_LANG_CXX11
-
408 # elif((GLM_COMPILER & GLM_COMPILER_CLANG) == GLM_COMPILER_CLANG)
-
409 # if(GLM_PLATFORM == GLM_PLATFORM_APPLE)
-
410 # define GLM_DETAIL_MAJOR 1
-
411 # else
-
412 # define GLM_DETAIL_MAJOR 0
-
413 # endif
-
414 # if(__clang_major__ < (2 + GLM_DETAIL_MAJOR))
-
415 # define GLM_LANG GLM_LANG_CXX
-
416 # elif(__has_feature(cxx_auto_type))
-
417 # define GLM_LANG GLM_LANG_CXX0X
-
418 # else
-
419 # define GLM_LANG GLM_LANG_CXX98
-
420 # endif
-
421 # elif((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC)
-
422 # if defined(__GXX_EXPERIMENTAL_CXX0X__)
-
423 # define GLM_LANG GLM_LANG_CXX0X
-
424 # else
-
425 # define GLM_LANG GLM_LANG_CXX98
-
426 # endif
-
427 # elif(GLM_COMPILER & GLM_COMPILER_VC)
-
428 # if(defined(_MSC_EXTENSIONS))
-
429 # if(GLM_COMPILER >= GLM_COMPILER_VC10)
-
430 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
-
431 # else
-
432 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
-
433 # endif
-
434 # else
-
435 # if(GLM_COMPILER >= GLM_COMPILER_VC10)
-
436 # define GLM_LANG GLM_LANG_CXX0X
-
437 # else
-
438 # define GLM_LANG GLM_LANG_CXX98
-
439 # endif
-
440 # endif
-
441 # elif(GLM_COMPILER & GLM_COMPILER_INTEL)
-
442 # if(defined(_MSC_EXTENSIONS))
-
443 # if(GLM_COMPILER >= GLM_COMPILER_INTEL13_0)
-
444 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
-
445 # else
-
446 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
-
447 # endif
-
448 # else
-
449 # if(GLM_COMPILER >= GLM_COMPILER_INTEL13_0)
-
450 # define GLM_LANG (GLM_LANG_CXX0X)
-
451 # else
-
452 # define GLM_LANG (GLM_LANG_CXX98)
-
453 # endif
-
454 # endif
-
455 # elif(__cplusplus >= 199711L)
-
456 # define GLM_LANG GLM_LANG_CXX98
-
457 # else
-
458 # define GLM_LANG GLM_LANG_CXX
-
459 # endif
-
460 #endif
-
461 
-
462 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED))
-
463 # define GLM_MESSAGE_LANG_DISPLAYED
-
464 # if(GLM_LANG & GLM_LANG_CXXGNU_FLAG)
-
465 # pragma message("GLM: C++ with language extensions")
-
466 # elif(GLM_LANG & GLM_LANG_CXXMS_FLAG)
-
467 # pragma message("GLM: C++ with language extensions")
-
468 # elif(GLM_LANG & GLM_LANG_CXX11_FLAG)
-
469 # pragma message("GLM: C++11")
-
470 # elif(GLM_LANG & GLM_LANG_CXX0X_FLAG)
-
471 # pragma message("GLM: C++0x")
-
472 # elif(GLM_LANG & GLM_LANG_CXX03_FLAG)
-
473 # pragma message("GLM: C++03")
-
474 # elif(GLM_LANG & GLM_LANG_CXX98_FLAG)
-
475 # pragma message("GLM: C++98")
-
476 # else
-
477 # pragma message("GLM: C++ language undetected")
-
478 # endif//GLM_MODEL
-
479 # 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")
-
480 #endif//GLM_MESSAGE
-
481 
-
483 // Has of C++ features
-
484 
-
485 #ifndef __has_feature
-
486 # define __has_feature(x) 0 // Compatibility with non-clang compilers.
-
487 #endif
-
488 #ifndef __has_extension
-
489 # define __has_extension __has_feature // Compatibility with pre-3.0 compilers.
-
490 #endif
-
491 
-
492 // http://clang.llvm.org/cxx_status.html
-
493 // http://gcc.gnu.org/projects/cxx0x.html
-
494 // http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
-
495 
-
496 // N1720
-
497 #define GLM_HAS_STATIC_ASSERT ( \
-
498  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
499  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC10)) || \
-
500  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
-
501  __has_feature(cxx_static_assert))
-
502 
-
503 // N1988
-
504 #define GLM_HAS_EXTENDED_INTEGER_TYPE ( \
-
505  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
506  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC11)) || \
-
507  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
-
508  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER >= GLM_COMPILER_CLANG29)))
-
509 
-
510 // N2235
-
511 #define GLM_HAS_CONSTEXPR ( \
-
512  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
513  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
-
514  __has_feature(cxx_constexpr))
-
515 
-
516 // N2672
-
517 #define GLM_HAS_INITIALIZER_LISTS ( \
-
518  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
-
519  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12))) || \
-
520  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
-
521  __has_feature(cxx_generalized_initializers))
-
522 
-
523 // OpenMP
-
524 #ifdef _OPENMP
-
525 # if(GLM_COMPILER & GLM_COMPILER_GCC)
-
526 # if(GLM_COMPILER > GLM_COMPILER_GCC47)
-
527 # define GLM_HAS_OPENMP 31
-
528 # elif(GLM_COMPILER > GLM_COMPILER_GCC44)
-
529 # define GLM_HAS_OPENMP 30
-
530 # elif(GLM_COMPILER > GLM_COMPILER_GCC42)
-
531 # define GLM_HAS_OPENMP 25
-
532 # endif
-
533 # endif//(GLM_COMPILER & GLM_COMPILER_GCC)
-
534 
-
535 # if(GLM_COMPILER & GLM_COMPILER_VC)
-
536 # if(GLM_COMPILER > GLM_COMPILER_VC8)
-
537 # define GLM_HAS_OPENMP 20
-
538 # endif
-
539 # endif//(GLM_COMPILER & GLM_COMPILER_GCC)
-
540 #endif
-
541 
-
542 // Not standard
-
543 #define GLM_HAS_ANONYMOUS_UNION (GLM_LANG & GLM_LANG_CXXMS_FLAG)
-
544 
-
546 // Platform
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(GLM_ARCH != GLM_ARCH_PURE)
+
44 
+
45 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
46 # include "../detail/intrinsic_common.hpp"
+
47 # include "../detail/intrinsic_geometric.hpp"
+
48 # include "../detail/intrinsic_integer.hpp"
+
49 #else
+
50 # error "GLM: GLM_GTX_simd_vec4 requires compiler support of SSE2 through intrinsics"
+
51 #endif
+
52 
+
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
54 # pragma message("GLM: GLM_GTX_simd_vec4 extension included")
+
55 #endif
+
56 
+
57 
+
58 // Warning silencer for nameless struct/union.
+
59 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
60 # pragma warning(push)
+
61 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
+
62 #endif
+
63 
+
64 namespace glm
+
65 {
+
66  enum comp
+
67  {
+
68  X = 0,
+
69  R = 0,
+
70  S = 0,
+
71  Y = 1,
+
72  G = 1,
+
73  T = 1,
+
74  Z = 2,
+
75  B = 2,
+
76  P = 2,
+
77  W = 3,
+
78  A = 3,
+
79  Q = 3
+
80  };
+
81 
+
82 }//namespace glm
+
83 
+
84 namespace glm{
+
85 namespace detail
+
86 {
+
89  GLM_ALIGNED_STRUCT(16) fvec4SIMD
+
90  {
+
91  typedef __m128 value_type;
+
92  typedef std::size_t size_type;
+
93  static size_type value_size();
+
94 
+
95  typedef fvec4SIMD type;
+
96  typedef tvec4<bool, highp> bool_type;
+
97 
+
98 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
+
99  union
+
100  {
+
101  __m128 Data;
+
102  struct {float x, y, z, w;};
+
103  };
+
104 #else
+
105  __m128 Data;
+
106 #endif
+
107 
+
109  // Implicit basic constructors
+
110 
+
111  fvec4SIMD();
+
112  fvec4SIMD(__m128 const & Data);
+
113  fvec4SIMD(fvec4SIMD const & v);
+
114 
+
116  // Explicit basic constructors
+
117 
+
118  explicit fvec4SIMD(
+
119  ctor);
+
120  explicit fvec4SIMD(
+
121  float const & s);
+
122  explicit fvec4SIMD(
+
123  float const & x,
+
124  float const & y,
+
125  float const & z,
+
126  float const & w);
+
127  explicit fvec4SIMD(
+
128  vec4 const & v);
+
129 
+
132 
+
133  fvec4SIMD(vec2 const & v, float const & s1, float const & s2);
+
134  fvec4SIMD(float const & s1, vec2 const & v, float const & s2);
+
135  fvec4SIMD(float const & s1, float const & s2, vec2 const & v);
+
136  fvec4SIMD(vec3 const & v, float const & s);
+
137  fvec4SIMD(float const & s, vec3 const & v);
+
138  fvec4SIMD(vec2 const & v1, vec2 const & v2);
+
139  //fvec4SIMD(ivec4SIMD const & v);
+
140 
+
142  // Unary arithmetic operators
+
143 
+
144  fvec4SIMD& operator= (fvec4SIMD const & v);
+
145  fvec4SIMD& operator+=(fvec4SIMD const & v);
+
146  fvec4SIMD& operator-=(fvec4SIMD const & v);
+
147  fvec4SIMD& operator*=(fvec4SIMD const & v);
+
148  fvec4SIMD& operator/=(fvec4SIMD const & v);
+
149 
+
150  fvec4SIMD& operator+=(float const & s);
+
151  fvec4SIMD& operator-=(float const & s);
+
152  fvec4SIMD& operator*=(float const & s);
+
153  fvec4SIMD& operator/=(float const & s);
+
154 
+
155  fvec4SIMD& operator++();
+
156  fvec4SIMD& operator--();
+
157 
+
159  // Swizzle operators
+
160 
+
161  template <comp X, comp Y, comp Z, comp W>
+
162  fvec4SIMD& swizzle();
+
163  template <comp X, comp Y, comp Z, comp W>
+
164  fvec4SIMD swizzle() const;
+
165  template <comp X, comp Y, comp Z>
+
166  fvec4SIMD swizzle() const;
+
167  template <comp X, comp Y>
+
168  fvec4SIMD swizzle() const;
+
169  template <comp X>
+
170  fvec4SIMD swizzle() const;
+
171  };
+
172 }//namespace detail
+
173 
+
174  typedef glm::detail::fvec4SIMD simdVec4;
+
175 
+
178 
+
181  vec4 vec4_cast(
+
182  detail::fvec4SIMD const & x);
+
183 
+
186  detail::fvec4SIMD abs(detail::fvec4SIMD const & x);
+
187 
+
190  detail::fvec4SIMD sign(detail::fvec4SIMD const & x);
+
191 
+
194  detail::fvec4SIMD floor(detail::fvec4SIMD const & x);
+
195 
+
199  detail::fvec4SIMD trunc(detail::fvec4SIMD const & x);
+
200 
+
208  detail::fvec4SIMD round(detail::fvec4SIMD const & x);
+
209 
+
215  //detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);
+
216 
+
220  detail::fvec4SIMD ceil(detail::fvec4SIMD const & x);
+
221 
+
225  detail::fvec4SIMD fract(detail::fvec4SIMD const & x);
+
226 
+
231  detail::fvec4SIMD mod(
+
232  detail::fvec4SIMD const & x,
+
233  detail::fvec4SIMD const & y);
+
234 
+
239  detail::fvec4SIMD mod(
+
240  detail::fvec4SIMD const & x,
+
241  float const & y);
+
242 
+
248  //detail::fvec4SIMD modf(
+
249  // detail::fvec4SIMD const & x,
+
250  // detail::fvec4SIMD & i);
+
251 
+
255  detail::fvec4SIMD min(
+
256  detail::fvec4SIMD const & x,
+
257  detail::fvec4SIMD const & y);
+
258 
+
259  detail::fvec4SIMD min(
+
260  detail::fvec4SIMD const & x,
+
261  float const & y);
+
262 
+
266  detail::fvec4SIMD max(
+
267  detail::fvec4SIMD const & x,
+
268  detail::fvec4SIMD const & y);
+
269 
+
270  detail::fvec4SIMD max(
+
271  detail::fvec4SIMD const & x,
+
272  float const & y);
+
273 
+
278  detail::fvec4SIMD clamp(
+
279  detail::fvec4SIMD const & x,
+
280  detail::fvec4SIMD const & minVal,
+
281  detail::fvec4SIMD const & maxVal);
+
282 
+
283  detail::fvec4SIMD clamp(
+
284  detail::fvec4SIMD const & x,
+
285  float const & minVal,
+
286  float const & maxVal);
+
287 
+
314  detail::fvec4SIMD mix(
+
315  detail::fvec4SIMD const & x,
+
316  detail::fvec4SIMD const & y,
+
317  detail::fvec4SIMD const & a);
+
318 
+
322  detail::fvec4SIMD step(
+
323  detail::fvec4SIMD const & edge,
+
324  detail::fvec4SIMD const & x);
+
325 
+
326  detail::fvec4SIMD step(
+
327  float const & edge,
+
328  detail::fvec4SIMD const & x);
+
329 
+
341  detail::fvec4SIMD smoothstep(
+
342  detail::fvec4SIMD const & edge0,
+
343  detail::fvec4SIMD const & edge1,
+
344  detail::fvec4SIMD const & x);
+
345 
+
346  detail::fvec4SIMD smoothstep(
+
347  float const & edge0,
+
348  float const & edge1,
+
349  detail::fvec4SIMD const & x);
+
350 
+
358  //bvec4 isnan(detail::fvec4SIMD const & x);
+
359 
+
367  //bvec4 isinf(detail::fvec4SIMD const & x);
+
368 
+
374  //detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);
+
375 
+
383  //detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);
+
384 
+
388  detail::fvec4SIMD fma(
+
389  detail::fvec4SIMD const & a,
+
390  detail::fvec4SIMD const & b,
+
391  detail::fvec4SIMD const & c);
+
392 
+
403  //detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);
+
404 
+
412  //detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);
+
413 
+
417  float length(
+
418  detail::fvec4SIMD const & x);
+
419 
+
424  float fastLength(
+
425  detail::fvec4SIMD const & x);
+
426 
+
431  float niceLength(
+
432  detail::fvec4SIMD const & x);
+
433 
+
437  detail::fvec4SIMD length4(
+
438  detail::fvec4SIMD const & x);
+
439 
+
444  detail::fvec4SIMD fastLength4(
+
445  detail::fvec4SIMD const & x);
+
446 
+
451  detail::fvec4SIMD niceLength4(
+
452  detail::fvec4SIMD const & x);
+
453 
+
457  float distance(
+
458  detail::fvec4SIMD const & p0,
+
459  detail::fvec4SIMD const & p1);
+
460 
+
464  detail::fvec4SIMD distance4(
+
465  detail::fvec4SIMD const & p0,
+
466  detail::fvec4SIMD const & p1);
+
467 
+
471  float simdDot(
+
472  detail::fvec4SIMD const & x,
+
473  detail::fvec4SIMD const & y);
+
474 
+
478  detail::fvec4SIMD dot4(
+
479  detail::fvec4SIMD const & x,
+
480  detail::fvec4SIMD const & y);
+
481 
+
485  detail::fvec4SIMD cross(
+
486  detail::fvec4SIMD const & x,
+
487  detail::fvec4SIMD const & y);
+
488 
+
492  detail::fvec4SIMD normalize(
+
493  detail::fvec4SIMD const & x);
+
494 
+
499  detail::fvec4SIMD fastNormalize(
+
500  detail::fvec4SIMD const & x);
+
501 
+
505  detail::fvec4SIMD simdFaceforward(
+
506  detail::fvec4SIMD const & N,
+
507  detail::fvec4SIMD const & I,
+
508  detail::fvec4SIMD const & Nref);
+
509 
+
514  detail::fvec4SIMD reflect(
+
515  detail::fvec4SIMD const & I,
+
516  detail::fvec4SIMD const & N);
+
517 
+
523  detail::fvec4SIMD refract(
+
524  detail::fvec4SIMD const & I,
+
525  detail::fvec4SIMD const & N,
+
526  float const & eta);
+
527 
+
531  detail::fvec4SIMD sqrt(
+
532  detail::fvec4SIMD const & x);
+
533 
+
538  detail::fvec4SIMD niceSqrt(
+
539  detail::fvec4SIMD const & x);
+
540 
+
545  detail::fvec4SIMD fastSqrt(
+
546  detail::fvec4SIMD const & x);
547 
-
548 // User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_AVX
-
549 
-
550 #define GLM_ARCH_PURE 0x0000
-
551 #define GLM_ARCH_SSE2 0x0001
-
552 #define GLM_ARCH_SSE3 0x0002// | GLM_ARCH_SSE2
-
553 #define GLM_ARCH_SSE4 0x0004// | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
-
554 #define GLM_ARCH_AVX 0x0008// | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
-
555 #define GLM_ARCH_AVX2 0x0010// | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
-
556 
-
557 #if(defined(GLM_FORCE_PURE))
-
558 # define GLM_ARCH GLM_ARCH_PURE
-
559 #elif(defined(GLM_FORCE_AVX2))
-
560 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
561 #elif(defined(GLM_FORCE_AVX))
-
562 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
563 #elif(defined(GLM_FORCE_SSE4))
-
564 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
565 #elif(defined(GLM_FORCE_SSE3))
-
566 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
567 #elif(defined(GLM_FORCE_SSE2))
-
568 # define GLM_ARCH (GLM_ARCH_SSE2)
-
569 #elif((GLM_COMPILER & GLM_COMPILER_VC) && (defined(_M_IX86) || defined(_M_X64)))
-
570 # if(GLM_PLATFORM == GLM_PLATFORM_WINCE)
-
571 # define GLM_ARCH GLM_ARCH_PURE
-
572 # elif(defined(_M_CEE_PURE))
-
573 # define GLM_ARCH GLM_ARCH_PURE
-
574 /* TODO: Explore auto detection of instruction set support
-
575 # elif(defined(_M_IX86_FP))
-
576 # if(_M_IX86_FP >= 3)
-
577 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
578 # elif(_M_IX86_FP >= 2)
-
579 # define GLM_ARCH (GLM_ARCH_SSE2)
-
580 # else
-
581 # define GLM_ARCH GLM_ARCH_PURE
-
582 # endif
-
583 */
-
584 # elif(GLM_COMPILER >= GLM_COMPILER_VC11)
-
585 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
586 # elif(GLM_COMPILER >= GLM_COMPILER_VC10)
-
587 # if(_MSC_FULL_VER >= 160031118) //160031118: VC2010 SP1 beta full version
-
588 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)//GLM_ARCH_AVX (Require SP1)
-
589 # else
-
590 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
591 # endif
-
592 # elif(GLM_COMPILER >= GLM_COMPILER_VC9)
-
593 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
594 # elif(GLM_COMPILER >= GLM_COMPILER_VC8)
-
595 # define GLM_ARCH GLM_ARCH_SSE2
-
596 # else
-
597 # define GLM_ARCH GLM_ARCH_PURE
-
598 # endif
-
599 #elif((GLM_PLATFORM & GLM_PLATFORM_APPLE) && (GLM_COMPILER & GLM_COMPILER_GCC))
-
600 # define GLM_ARCH GLM_ARCH_PURE
-
601 #elif(((GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))) || (GLM_COMPILER & GLM_COMPILER_LLVM_GCC))
-
602 # define GLM_ARCH (GLM_ARCH_PURE \
-
603 | (defined(__AVX2__) ? GLM_ARCH_AVX2 : 0) \
-
604 | (defined(__AVX__) ? GLM_ARCH_AVX : 0) \
-
605 | (defined(__SSE4__) ? GLM_ARCH_SSE4 : 0) \
-
606 | (defined(__SSE3__) ? GLM_ARCH_SSE3 : 0) \
-
607 | (defined(__SSE2__) ? GLM_ARCH_SSE2 : 0))
-
608 #else
-
609 # define GLM_ARCH GLM_ARCH_PURE
-
610 #endif
-
611 
-
612 // With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is
-
613 // that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems.
-
614 // To fix, we just explicitly include intrin.h here.
-
615 #if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE)
-
616 # include <intrin.h>
-
617 #endif
-
618 
-
619 //#if(GLM_ARCH != GLM_ARCH_PURE)
-
620 #if(GLM_ARCH & GLM_ARCH_AVX2)
-
621 # include <immintrin.h>
-
622 #endif//GLM_ARCH
-
623 #if(GLM_ARCH & GLM_ARCH_AVX)
-
624 # include <immintrin.h>
-
625 #endif//GLM_ARCH
-
626 #if(GLM_ARCH & GLM_ARCH_SSE4)
-
627 # include <smmintrin.h>
-
628 #endif//GLM_ARCH
-
629 #if(GLM_ARCH & GLM_ARCH_SSE3)
-
630 # include <pmmintrin.h>
-
631 #endif//GLM_ARCH
-
632 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
633 # include <emmintrin.h>
-
634 # if(GLM_COMPILER == GLM_COMPILER_VC8) // VC8 is missing some intrinsics, workaround
-
635  inline float _mm_cvtss_f32(__m128 A) { return A.m128_f32[0]; }
-
636  inline __m128 _mm_castpd_ps(__m128d PD) { union { __m128 ps; __m128d pd; } c; c.pd = PD; return c.ps; }
-
637  inline __m128d _mm_castps_pd(__m128 PS) { union { __m128 ps; __m128d pd; } c; c.ps = PS; return c.pd; }
-
638  inline __m128i _mm_castps_si128(__m128 PS) { union { __m128 ps; __m128i pi; } c; c.ps = PS; return c.pi; }
-
639  inline __m128 _mm_castsi128_ps(__m128i PI) { union { __m128 ps; __m128i pi; } c; c.pi = PI; return c.ps; }
-
640 # endif
-
641 #endif//GLM_ARCH
-
642 //#endif//(GLM_ARCH != GLM_ARCH_PURE)
-
643 
-
644 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED))
-
645 # define GLM_MESSAGE_ARCH_DISPLAYED
-
646 # if(GLM_ARCH == GLM_ARCH_PURE)
-
647 # pragma message("GLM: Platform independent")
-
648 # elif(GLM_ARCH & GLM_ARCH_SSE2)
-
649 # pragma message("GLM: SSE2 instruction set")
-
650 # elif(GLM_ARCH & GLM_ARCH_SSE3)
-
651 # pragma message("GLM: SSE3 instruction set")
-
652 # elif(GLM_ARCH & GLM_ARCH_SSE4)
-
653 # pragma message("GLM: SSE4 instruction set")
-
654 # elif(GLM_ARCH & GLM_ARCH_AVX)
-
655 # pragma message("GLM: AVX instruction set")
-
656 # elif(GLM_ARCH & GLM_ARCH_AVX2)
-
657 # pragma message("GLM: AVX2 instruction set")
-
658 # endif//GLM_ARCH
-
659 # pragma message("GLM: #define GLM_FORCE_PURE to avoid using platform specific instruction sets")
-
660 #endif//GLM_MESSAGE
-
661 
-
663 // Radians
-
664 
-
665 //#define GLM_FORCE_RADIANS
-
666 
-
668 // Static assert
-
669 
-
670 #if GLM_HAS_STATIC_ASSERT
-
671 # define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
-
672 #elif(defined(BOOST_STATIC_ASSERT))
-
673 # define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)
-
674 #elif(GLM_COMPILER & GLM_COMPILER_VC)
-
675 # define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
-
676 #else
-
677 # define GLM_STATIC_ASSERT(x, message)
-
678 # define GLM_STATIC_ASSERT_NULL
-
679 #endif//GLM_LANG
-
680 
-
682 // Qualifiers
-
683 
-
684 // User defines: GLM_FORCE_INLINE GLM_FORCE_CUDA
-
685 
-
686 #if(defined(GLM_FORCE_CUDA) || (GLM_COMPILER & GLM_COMPILER_CUDA))
-
687 # define GLM_CUDA_FUNC_DEF __device__ __host__
-
688 # define GLM_CUDA_FUNC_DECL __device__ __host__
-
689 #else
-
690 # define GLM_CUDA_FUNC_DEF
-
691 # define GLM_CUDA_FUNC_DECL
-
692 #endif
-
693 
-
694 #if GLM_COMPILER & GLM_COMPILER_GCC
-
695 # define GLM_VAR_USED __attribute__ ((unused))
-
696 #else
-
697 # define GLM_VAR_USED
-
698 #endif
-
699 
-
700 #if(defined(GLM_FORCE_INLINE))
-
701 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC8))
-
702 # define GLM_INLINE __forceinline
-
703 # elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC34))
-
704 # define GLM_INLINE __attribute__((always_inline)) inline
-
705 # elif(GLM_COMPILER & GLM_COMPILER_CLANG)
-
706 # define GLM_INLINE __attribute__((always_inline))
-
707 # else
-
708 # define GLM_INLINE inline
-
709 # endif//GLM_COMPILER
-
710 #else
-
711 # define GLM_INLINE inline
-
712 #endif//defined(GLM_FORCE_INLINE)
-
713 
-
714 #define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL
-
715 #define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE
-
716 
-
718 // Swizzle operators
-
719 
-
720 // User defines: GLM_SWIZZLE
-
721 
-
722 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED))
-
723 # define GLM_MESSAGE_SWIZZLE_DISPLAYED
-
724 # if defined(GLM_SWIZZLE)
-
725 # pragma message("GLM: Swizzling operators enabled")
-
726 # else
-
727 # pragma message("GLM: Swizzling operators disabled, #define GLM_SWIZZLE to enable swizzle operators")
-
728 # endif
-
729 #endif//GLM_MESSAGE
-
730 
-
732 // Length type
-
733 
-
734 // User defines: GLM_FORCE_SIZE_T_LENGTH
-
735 
-
736 namespace glm
-
737 {
-
738 #if defined(GLM_FORCE_SIZE_T_LENGTH)
-
739  typedef std::size_t length_t;
-
740 #else
-
741  typedef int length_t;
-
742 #endif
-
743 }//namespace glm
-
744 
-
745 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH))
-
746 # define GLM_MESSAGE_FORCE_SIZE_T_LENGTH
-
747 # if defined(GLM_FORCE_SIZE_T_LENGTH)
-
748 # pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t")
-
749 # else
-
750 # pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification")
-
751 # pragma message("GLM: #define GLM_FORCE_SIZE_T_LENGTH for .length() to return a std::size_t")
-
752 # endif
-
753 #endif//GLM_MESSAGE
-
754 
-
756 // Qualifiers
-
757 
-
758 #if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC8))
-
759 # define GLM_DEPRECATED __declspec(deprecated)
-
760 # define GLM_ALIGN(x) __declspec(align(x))
-
761 # define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
-
762 # define GLM_RESTRICT __declspec(restrict)
-
763 # define GLM_RESTRICT_VAR __restrict
-
764 #elif(GLM_COMPILER & GLM_COMPILER_INTEL)
-
765 # define GLM_DEPRECATED
-
766 # define GLM_ALIGN(x) __declspec(align(x))
-
767 # define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
-
768 # define GLM_RESTRICT
-
769 # define GLM_RESTRICT_VAR __restrict
-
770 #elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG))
-
771 # define GLM_DEPRECATED __attribute__((__deprecated__))
-
772 # define GLM_ALIGN(x) __attribute__((aligned(x)))
-
773 # define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
-
774 # define GLM_RESTRICT __restrict__
-
775 # define GLM_RESTRICT_VAR __restrict__
-
776 #else
-
777 # define GLM_DEPRECATED
-
778 # define GLM_ALIGN
-
779 # define GLM_ALIGNED_STRUCT(x)
-
780 # define GLM_RESTRICT
-
781 # define GLM_RESTRICT_VAR
-
782 #endif//GLM_COMPILER
-
783 
-
784 #if GLM_HAS_CONSTEXPR
-
785 # define GLM_CONSTEXPR constexpr
-
786 #else
-
787 # define GLM_CONSTEXPR
-
788 #endif
-
789 
-
790 #endif//GLM_SETUP_INCLUDED
-
GLM_FUNC_DECL genType pi()
Return the pi constant.
+
551  detail::fvec4SIMD inversesqrt(
+
552  detail::fvec4SIMD const & x);
+
553 
+
558  detail::fvec4SIMD fastInversesqrt(
+
559  detail::fvec4SIMD const & x);
+
560 
+
562 }//namespace glm
+
563 
+
564 #include "simd_vec4.inl"
+
565 
+
566 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
567 # pragma warning(pop)
+
568 #endif
+
569 
+
570 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
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 genType mod(genType x, genType y)
Modulus.
+
GLM_FUNC_DECL genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
+
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.
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
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:393
+
GLM_FUNC_DECL genType::value_type fastLength(genType const &x)
Faster than the common length function but less accurate.
+
GLM_FUNC_DECL genType abs(genType x)
Returns x if x >= 0; 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 > sqrt(vecType< T, P > const &v)
Returns the positive square root of v.
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
GLM_FUNC_DECL genType min(genType x, genType y)
Returns y if y < x; otherwise, it returns 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...
+
Definition: _noise.hpp:31
+
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 > 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< 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 > 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 fastSqrt(genType x)
Faster than the common sqrt function but less accurate.
+
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< T, P > round(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 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 > 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 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 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 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/a00149.html b/doc/api/a00109.html similarity index 58% rename from doc/api/a00149.html rename to doc/api/a00109.html index 0273e741..f40b812f 100644 --- a/doc/api/a00149.html +++ b/doc/api/a00109.html @@ -3,8 +3,8 @@ - -GLM: wrap.hpp File Reference + +0.9.6: spline.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,54 +41,48 @@
-Namespaces | Functions
-
wrap.hpp File Reference
+
spline.hpp File Reference
-

Go to the source code of this file.

+

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - + + + + + + + + +

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)
 
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:

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_GTX_wrap

-
Date
2009-11-25 / 2011-06-07
+

GLM_GTX_spline

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

Definition in file wrap.hpp.

+

Definition in file spline.hpp.

diff --git a/doc/api/a00109_source.html b/doc/api/a00109_source.html index a3384a69..015f9cb3 100644 --- a/doc/api/a00109_source.html +++ b/doc/api/a00109_source.html @@ -3,8 +3,8 @@ - -GLM: simd_mat4.hpp Source File + +0.9.6: spline.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,173 +41,65 @@
-
simd_mat4.hpp
+
spline.hpp
-
1 
-
38 #ifndef GLM_GTX_simd_mat4
-
39 #define GLM_GTX_simd_mat4
-
40 
-
41 // Dependencies
-
42 #include "../detail/setup.hpp"
+Go to the documentation of this file.
1 
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 #include "../gtx/optimum_pow.hpp"
43 
-
44 #if(GLM_ARCH != GLM_ARCH_PURE)
-
45 
-
46 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
47 # include "../detail/intrinsic_matrix.hpp"
-
48 # include "../gtx/simd_vec4.hpp"
-
49 #else
-
50 # error "GLM: GLM_GTX_simd_mat4 requires compiler support of SSE2 through intrinsics"
-
51 #endif
-
52 
-
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
54 # pragma message("GLM: GLM_GTX_simd_mat4 extension included")
-
55 #endif
-
56 
-
57 namespace glm{
-
58 namespace detail
-
59 {
-
62  GLM_ALIGNED_STRUCT(16) fmat4x4SIMD
-
63  {
-
64  enum ctor{_null};
-
65  typedef float value_type;
-
66  typedef fvec4SIMD col_type;
-
67  typedef fvec4SIMD row_type;
-
68  typedef std::size_t size_type;
-
69  typedef fmat4x4SIMD type;
-
70  typedef fmat4x4SIMD transpose_type;
-
71 
-
72  GLM_FUNC_DECL length_t length() const;
-
73 
-
74  fvec4SIMD Data[4];
-
75 
-
77  // Constructors
-
78 
-
79  fmat4x4SIMD();
-
80  explicit fmat4x4SIMD(float const & s);
-
81  explicit fmat4x4SIMD(
-
82  float const & x0, float const & y0, float const & z0, float const & w0,
-
83  float const & x1, float const & y1, float const & z1, float const & w1,
-
84  float const & x2, float const & y2, float const & z2, float const & w2,
-
85  float const & x3, float const & y3, float const & z3, float const & w3);
-
86  explicit fmat4x4SIMD(
-
87  fvec4SIMD const & v0,
-
88  fvec4SIMD const & v1,
-
89  fvec4SIMD const & v2,
-
90  fvec4SIMD const & v3);
-
91  explicit fmat4x4SIMD(
-
92  mat4x4 const & m);
-
93  explicit fmat4x4SIMD(
-
94  __m128 const in[4]);
-
95 
-
96  // Conversions
-
97  //template <typename U>
-
98  //explicit tmat4x4(tmat4x4<U> const & m);
-
99 
-
100  //explicit tmat4x4(tmat2x2<T> const & x);
-
101  //explicit tmat4x4(tmat3x3<T> const & x);
-
102  //explicit tmat4x4(tmat2x3<T> const & x);
-
103  //explicit tmat4x4(tmat3x2<T> const & x);
-
104  //explicit tmat4x4(tmat2x4<T> const & x);
-
105  //explicit tmat4x4(tmat4x2<T> const & x);
-
106  //explicit tmat4x4(tmat3x4<T> const & x);
-
107  //explicit tmat4x4(tmat4x3<T> const & x);
-
108 
-
109  // Accesses
-
110  fvec4SIMD & operator[](length_t i);
-
111  fvec4SIMD const & operator[](length_t i) const;
-
112 
-
113  // Unary updatable operators
-
114  fmat4x4SIMD & operator= (fmat4x4SIMD const & m);
-
115  fmat4x4SIMD & operator+= (float const & s);
-
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++ ();
-
124  fmat4x4SIMD & operator-- ();
-
125  };
-
126 
-
127  // Binary operators
-
128  fmat4x4SIMD operator+ (fmat4x4SIMD const & m, float const & s);
-
129  fmat4x4SIMD operator+ (float const & s, fmat4x4SIMD const & m);
-
130  fmat4x4SIMD operator+ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
131 
-
132  fmat4x4SIMD operator- (fmat4x4SIMD const & m, float const & s);
-
133  fmat4x4SIMD operator- (float const & s, fmat4x4SIMD const & m);
-
134  fmat4x4SIMD operator- (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
135 
-
136  fmat4x4SIMD operator* (fmat4x4SIMD const & m, float const & s);
-
137  fmat4x4SIMD operator* (float const & s, fmat4x4SIMD const & m);
-
138 
-
139  fvec4SIMD operator* (fmat4x4SIMD const & m, fvec4SIMD const & v);
-
140  fvec4SIMD operator* (fvec4SIMD const & v, fmat4x4SIMD const & m);
-
141 
-
142  fmat4x4SIMD operator* (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
143 
-
144  fmat4x4SIMD operator/ (fmat4x4SIMD const & m, float const & s);
-
145  fmat4x4SIMD operator/ (float const & s, fmat4x4SIMD const & m);
-
146 
-
147  fvec4SIMD operator/ (fmat4x4SIMD const & m, fvec4SIMD const & v);
-
148  fvec4SIMD operator/ (fvec4SIMD const & v, fmat4x4SIMD const & m);
-
149 
-
150  fmat4x4SIMD operator/ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
151 
-
152  // Unary constant operators
-
153  fmat4x4SIMD const operator- (fmat4x4SIMD const & m);
-
154  fmat4x4SIMD const operator-- (fmat4x4SIMD const & m, int);
-
155  fmat4x4SIMD const operator++ (fmat4x4SIMD const & m, int);
-
156 }//namespace detail
-
157 
-
158  typedef detail::fmat4x4SIMD simdMat4;
-
159 
-
162 
-
165  mat4 mat4_cast(
-
166  detail::fmat4x4SIMD const & x);
-
167 
-
171  detail::fmat4x4SIMD matrixCompMult(
-
172  detail::fmat4x4SIMD const & x,
-
173  detail::fmat4x4SIMD const & y);
-
174 
-
179  detail::fmat4x4SIMD outerProduct(
-
180  detail::fvec4SIMD const & c,
-
181  detail::fvec4SIMD const & r);
-
182 
-
185  detail::fmat4x4SIMD transpose(
-
186  detail::fmat4x4SIMD const & x);
-
187 
-
190  float determinant(
-
191  detail::fmat4x4SIMD const & m);
-
192 
-
195  detail::fmat4x4SIMD inverse(
-
196  detail::fmat4x4SIMD const & m);
-
197 
-
199 }// namespace glm
-
200 
-
201 #include "simd_mat4.inl"
-
202 
-
203 #endif//(GLM_ARCH != GLM_ARCH_PURE)
-
204 
-
205 #endif//GLM_GTX_simd_mat4
-
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
-
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
-
GLM_FUNC_DECL detail::tmat4x4< T, P > mat4_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
-
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_spline extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename genType>
+
56  GLM_FUNC_DECL genType catmullRom(
+
57  genType const & v1,
+
58  genType const & v2,
+
59  genType const & v3,
+
60  genType const & v4,
+
61  typename genType::value_type const & s);
+
62 
+
65  template <typename genType>
+
66  GLM_FUNC_DECL genType hermite(
+
67  genType const & v1,
+
68  genType const & t1,
+
69  genType const & v2,
+
70  genType const & t2,
+
71  typename genType::value_type const & s);
+
72 
+
75  template <typename genType>
+
76  GLM_FUNC_DECL genType cubic(
+
77  genType const & v1,
+
78  genType const & v2,
+
79  genType const & v3,
+
80  genType const & v4,
+
81  typename genType::value_type const & s);
+
82 
+
84 }//namespace glm
+
85 
+
86 #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:31
+
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 d7858be6..85a31363 100644 --- a/doc/api/a00110.html +++ b/doc/api/a00110.html @@ -3,8 +3,8 @@ - -GLM: simd_quat.hpp File Reference + +0.9.6: std_based_type.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,33 +41,65 @@
+
+Typedefs
-
simd_quat.hpp File Reference
+
std_based_type.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
 

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:

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.

-

gtx_simd_quat

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

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)
+
+GLM_GTX_extented_min_max (dependence)
-

Definition in file simd_quat.hpp.

+

Definition in file std_based_type.hpp.

diff --git a/doc/api/a00110_source.html b/doc/api/a00110_source.html index e30c8532..08521d76 100644 --- a/doc/api/a00110_source.html +++ b/doc/api/a00110_source.html @@ -3,8 +3,8 @@ - -GLM: simd_quat.hpp Source File + +0.9.6: std_based_type.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,251 +41,62 @@
-
simd_quat.hpp
+
std_based_type.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_simd_quat
-
39 #define GLM_GTX_simd_quat
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include "../gtc/quaternion.hpp"
-
44 #include "../gtx/fast_trigonometry.hpp"
-
45 
-
46 #if(GLM_ARCH != GLM_ARCH_PURE)
-
47 
-
48 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
49 # include "../core/intrinsic_common.hpp"
-
50 # include "../core/intrinsic_geometric.hpp"
-
51 # include "../gtx/simd_mat4.hpp"
-
52 #else
-
53 # error "GLM: GLM_GTX_simd_quat 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_quat extension included")
-
58 #endif
-
59 
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 #include <cstdlib>
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_std_based_type extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  typedef tvec1<std::size_t, defaultp> size1;
+
56 
+
59  typedef tvec2<std::size_t, defaultp> size2;
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 
-
68 namespace glm{
-
69 namespace detail
-
70 {
-
73  GLM_ALIGNED_STRUCT(16) fquatSIMD
-
74  {
-
75  enum ctor{null};
-
76  typedef __m128 value_type;
-
77  typedef std::size_t size_type;
-
78  static size_type value_size();
-
79 
-
80  typedef fquatSIMD type;
-
81  typedef tquat<bool, defaultp> bool_type;
-
82 
-
83 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
-
84  union
-
85  {
-
86  __m128 Data;
-
87  struct {float x, y, z, w;};
-
88  };
-
89 #else
-
90  __m128 Data;
-
91 #endif
-
92 
-
94  // Implicit basic constructors
-
95 
-
96  fquatSIMD();
-
97  fquatSIMD(__m128 const & Data);
-
98  fquatSIMD(fquatSIMD const & q);
-
99 
-
101  // Explicit basic constructors
-
102 
-
103  explicit fquatSIMD(
-
104  ctor);
-
105  explicit fquatSIMD(
-
106  float const & w,
-
107  float const & x,
-
108  float const & y,
-
109  float const & z);
-
110  explicit fquatSIMD(
-
111  quat const & v);
-
112  explicit fquatSIMD(
-
113  vec3 const & eulerAngles);
-
114 
-
115 
-
117  // Unary arithmetic operators
-
118 
-
119  fquatSIMD& operator =(fquatSIMD const & q);
-
120  fquatSIMD& operator*=(float const & s);
-
121  fquatSIMD& operator/=(float const & s);
-
122  };
-
123 
-
124 
-
126  // Arithmetic operators
-
127 
-
128  detail::fquatSIMD operator- (
-
129  detail::fquatSIMD const & q);
-
130 
-
131  detail::fquatSIMD operator+ (
-
132  detail::fquatSIMD const & q,
-
133  detail::fquatSIMD const & p);
-
134 
-
135  detail::fquatSIMD operator* (
-
136  detail::fquatSIMD const & q,
-
137  detail::fquatSIMD const & p);
-
138 
-
139  detail::fvec4SIMD operator* (
-
140  detail::fquatSIMD const & q,
-
141  detail::fvec4SIMD const & v);
-
142 
-
143  detail::fvec4SIMD operator* (
-
144  detail::fvec4SIMD const & v,
-
145  detail::fquatSIMD const & q);
-
146 
-
147  detail::fquatSIMD operator* (
-
148  detail::fquatSIMD const & q,
-
149  float s);
-
150 
-
151  detail::fquatSIMD operator* (
-
152  float s,
-
153  detail::fquatSIMD const & q);
-
154 
-
155  detail::fquatSIMD operator/ (
-
156  detail::fquatSIMD const & q,
-
157  float s);
-
158 
-
159 }//namespace detail
-
160 
-
161  typedef glm::detail::fquatSIMD simdQuat;
-
162 
-
165 
-
168  quat quat_cast(
-
169  detail::fquatSIMD const & x);
-
170 
-
173  detail::fquatSIMD quatSIMD_cast(
-
174  detail::fmat4x4SIMD const & m);
-
175 
-
178  template <typename T, precision P>
-
179  detail::fquatSIMD quatSIMD_cast(
-
180  detail::tmat4x4<T, P> const & m);
-
181 
-
184  template <typename T, precision P>
-
185  detail::fquatSIMD quatSIMD_cast(
-
186  detail::tmat3x3<T, P> const & m);
-
187 
-
190  detail::fmat4x4SIMD mat4SIMD_cast(
-
191  detail::fquatSIMD const & q);
-
192 
-
195  mat4 mat4_cast(
-
196  detail::fquatSIMD const & q);
-
197 
-
198 
-
202  float length(
-
203  detail::fquatSIMD const & x);
-
204 
-
208  detail::fquatSIMD normalize(
-
209  detail::fquatSIMD const & x);
-
210 
-
214  float dot(
-
215  detail::fquatSIMD const & q1,
-
216  detail::fquatSIMD const & q2);
-
217 
-
228  detail::fquatSIMD mix(
-
229  detail::fquatSIMD const & x,
-
230  detail::fquatSIMD const & y,
-
231  float const & a);
-
232 
-
241  detail::fquatSIMD lerp(
-
242  detail::fquatSIMD const & x,
-
243  detail::fquatSIMD const & y,
-
244  float const & a);
-
245 
-
254  detail::fquatSIMD slerp(
-
255  detail::fquatSIMD const & x,
-
256  detail::fquatSIMD const & y,
-
257  float const & a);
-
258 
-
259 
-
270  detail::fquatSIMD fastMix(
-
271  detail::fquatSIMD const & x,
-
272  detail::fquatSIMD const & y,
-
273  float const & a);
-
274 
-
282  detail::fquatSIMD fastSlerp(
-
283  detail::fquatSIMD const & x,
-
284  detail::fquatSIMD const & y,
-
285  float const & a);
-
286 
-
287 
-
291  detail::fquatSIMD conjugate(
-
292  detail::fquatSIMD const & q);
-
293 
-
297  detail::fquatSIMD inverse(
-
298  detail::fquatSIMD const & q);
-
299 
-
306  detail::fquatSIMD angleAxisSIMD(
-
307  float const & angle,
-
308  vec3 const & axis);
-
309 
-
318  detail::fquatSIMD angleAxisSIMD(
-
319  float const & angle,
-
320  float const & x,
-
321  float const & y,
-
322  float const & z);
-
323 
-
324 
-
325  // TODO: Move this to somewhere more appropriate. Used with fastMix() and fastSlerp().
-
327  __m128 fastSin(__m128 x);
-
328 
-
329 
-
331 }//namespace glm
-
332 
-
333 #include "simd_quat.inl"
-
334 
-
335 
-
336 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
337 # pragma warning(pop)
-
338 #endif
-
339 
-
340 
-
341 #endif//(GLM_ARCH != GLM_ARCH_PURE)
-
342 
-
343 #endif//GLM_GTX_simd_quat
-
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.
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
-
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
-
GLM_FUNC_DECL detail::tquat< T, P > quat_cast(detail::tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
-
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU 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 T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles(detail::tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
-
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
-
T fastSin(const T &angle)
Faster than the common sin function but less accurate.
-
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > mat4_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
-
highp_quat quat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:69
-
detail::tquat< T, P > fastMix(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Quaternion normalized linear interpolation.
-
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
-
GLM_FUNC_DECL detail::tquat< T, P > slerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
-
GLM_FUNC_DECL detail::tquat< T, P > conjugate(detail::tquat< T, P > const &q)
Returns the q conjugate.
-
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
63  typedef tvec3<std::size_t, defaultp> size3;
+
64 
+
67  typedef tvec4<std::size_t, defaultp> size4;
+
68 
+
71  typedef tvec1<std::size_t, defaultp> size1_t;
+
72 
+
75  typedef tvec2<std::size_t, defaultp> size2_t;
+
76 
+
79  typedef tvec3<std::size_t, defaultp> size3_t;
+
80 
+
83  typedef tvec4<std::size_t, defaultp> size4_t;
+
84 
+
86 }//namespace glm
+
87 
+
88 #include "std_based_type.inl"
+
tvec4< std::size_t, defaultp > size4
Vector type based of four std::size_t components.
+
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.
+
tvec1< std::size_t, defaultp > size1_t
Vector type based of one std::size_t component.
+
tvec1< std::size_t, defaultp > size1
Vector type based of one std::size_t component.
+
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.
+
Definition: _noise.hpp:31
+
tvec2< std::size_t, defaultp > size2_t
Vector type based of two std::size_t components.
diff --git a/doc/api/a00111.html b/doc/api/a00111.html index 850209c5..a647e237 100644 --- a/doc/api/a00111.html +++ b/doc/api/a00111.html @@ -3,8 +3,8 @@ - -GLM: simd_vec4.hpp File Reference + +0.9.6: string_cast.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,33 +41,48 @@
+
+Functions
-
simd_vec4.hpp File Reference
+
string_cast.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)
 

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:

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_GTX_simd_quat

-
Date
2009-05-07 / 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)
+
+gtc_half_float (dependence)
+
+GLM_GTX_integer (dependence)
+
+GLM_GTX_quaternion (dependence)
-

Definition in file simd_vec4.hpp.

+

Definition in file string_cast.hpp.

diff --git a/doc/api/a00111_source.html b/doc/api/a00111_source.html index d35b87b9..a23c2f2d 100644 --- a/doc/api/a00111_source.html +++ b/doc/api/a00111_source.html @@ -3,8 +3,8 @@ - -GLM: simd_vec4.hpp Source File + +0.9.6: string_cast.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,364 +41,47 @@
-
simd_vec4.hpp
+
string_cast.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_simd_vec4
-
39 #define GLM_GTX_simd_vec4
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
+
42 #pragma once
43 
-
44 #if(GLM_ARCH != GLM_ARCH_PURE)
-
45 
-
46 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
47 # include "../detail/intrinsic_common.hpp"
-
48 # include "../detail/intrinsic_geometric.hpp"
-
49 # include "../detail/intrinsic_integer.hpp"
-
50 #else
-
51 # error "GLM: GLM_GTX_simd_vec4 requires compiler support of SSE2 through intrinsics"
-
52 #endif
-
53 
-
54 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
55 # pragma message("GLM: GLM_GTX_simd_vec4 extension included")
-
56 #endif
-
57 
-
58 
-
59 // Warning silencer for nameless struct/union.
-
60 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
61 # pragma warning(push)
-
62 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
-
63 #endif
-
64 
-
65 namespace glm
-
66 {
-
67  enum comp
-
68  {
-
69  X = 0,
-
70  R = 0,
-
71  S = 0,
-
72  Y = 1,
-
73  G = 1,
-
74  T = 1,
-
75  Z = 2,
-
76  B = 2,
-
77  P = 2,
-
78  W = 3,
-
79  A = 3,
-
80  Q = 3
-
81  };
-
82 
-
83 }//namespace glm
-
84 
-
85 namespace glm{
-
86 namespace detail
-
87 {
-
90  GLM_ALIGNED_STRUCT(16) fvec4SIMD
-
91  {
-
92  enum ctor{null};
-
93  typedef __m128 value_type;
-
94  typedef std::size_t size_type;
-
95  static size_type value_size();
-
96 
-
97  typedef fvec4SIMD type;
-
98  typedef tvec4<bool, highp> bool_type;
-
99 
-
100 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
-
101  union
-
102  {
-
103  __m128 Data;
-
104  struct {float x, y, z, w;};
-
105  };
-
106 #else
-
107  __m128 Data;
-
108 #endif
-
109 
-
111  // Implicit basic constructors
-
112 
-
113  fvec4SIMD();
-
114  fvec4SIMD(__m128 const & Data);
-
115  fvec4SIMD(fvec4SIMD const & v);
-
116 
-
118  // Explicit basic constructors
-
119 
-
120  explicit fvec4SIMD(
-
121  ctor);
-
122  explicit fvec4SIMD(
-
123  float const & s);
-
124  explicit fvec4SIMD(
-
125  float const & x,
-
126  float const & y,
-
127  float const & z,
-
128  float const & w);
-
129  explicit fvec4SIMD(
-
130  vec4 const & v);
-
131 
-
134 
-
135  fvec4SIMD(vec2 const & v, float const & s1, float const & s2);
-
136  fvec4SIMD(float const & s1, vec2 const & v, float const & s2);
-
137  fvec4SIMD(float const & s1, float const & s2, vec2 const & v);
-
138  fvec4SIMD(vec3 const & v, float const & s);
-
139  fvec4SIMD(float const & s, vec3 const & v);
-
140  fvec4SIMD(vec2 const & v1, vec2 const & v2);
-
141  //fvec4SIMD(ivec4SIMD const & v);
-
142 
-
144  // Unary arithmetic operators
-
145 
-
146  fvec4SIMD& operator= (fvec4SIMD const & v);
-
147  fvec4SIMD& operator+=(fvec4SIMD const & v);
-
148  fvec4SIMD& operator-=(fvec4SIMD const & v);
-
149  fvec4SIMD& operator*=(fvec4SIMD const & v);
-
150  fvec4SIMD& operator/=(fvec4SIMD const & v);
-
151 
-
152  fvec4SIMD& operator+=(float const & s);
-
153  fvec4SIMD& operator-=(float const & s);
-
154  fvec4SIMD& operator*=(float const & s);
-
155  fvec4SIMD& operator/=(float const & s);
-
156 
-
157  fvec4SIMD& operator++();
-
158  fvec4SIMD& operator--();
-
159 
-
161  // Swizzle operators
-
162 
-
163  template <comp X, comp Y, comp Z, comp W>
-
164  fvec4SIMD& swizzle();
-
165  template <comp X, comp Y, comp Z, comp W>
-
166  fvec4SIMD swizzle() const;
-
167  template <comp X, comp Y, comp Z>
-
168  fvec4SIMD swizzle() const;
-
169  template <comp X, comp Y>
-
170  fvec4SIMD swizzle() const;
-
171  template <comp X>
-
172  fvec4SIMD swizzle() const;
-
173  };
-
174 }//namespace detail
-
175 
-
176  typedef glm::detail::fvec4SIMD simdVec4;
-
177 
-
180 
-
183  vec4 vec4_cast(
-
184  detail::fvec4SIMD const & x);
-
185 
-
188  detail::fvec4SIMD abs(detail::fvec4SIMD const & x);
-
189 
-
192  detail::fvec4SIMD sign(detail::fvec4SIMD const & x);
-
193 
-
196  detail::fvec4SIMD floor(detail::fvec4SIMD const & x);
-
197 
-
201  detail::fvec4SIMD trunc(detail::fvec4SIMD const & x);
-
202 
-
210  detail::fvec4SIMD round(detail::fvec4SIMD const & x);
-
211 
-
217  //detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);
-
218 
-
222  detail::fvec4SIMD ceil(detail::fvec4SIMD const & x);
-
223 
-
227  detail::fvec4SIMD fract(detail::fvec4SIMD const & x);
-
228 
-
233  detail::fvec4SIMD mod(
-
234  detail::fvec4SIMD const & x,
-
235  detail::fvec4SIMD const & y);
-
236 
-
241  detail::fvec4SIMD mod(
-
242  detail::fvec4SIMD const & x,
-
243  float const & y);
-
244 
-
250  //detail::fvec4SIMD modf(
-
251  // detail::fvec4SIMD const & x,
-
252  // detail::fvec4SIMD & i);
-
253 
-
257  detail::fvec4SIMD min(
-
258  detail::fvec4SIMD const & x,
-
259  detail::fvec4SIMD const & y);
-
260 
-
261  detail::fvec4SIMD min(
-
262  detail::fvec4SIMD const & x,
-
263  float const & y);
-
264 
-
268  detail::fvec4SIMD max(
-
269  detail::fvec4SIMD const & x,
-
270  detail::fvec4SIMD const & y);
-
271 
-
272  detail::fvec4SIMD max(
-
273  detail::fvec4SIMD const & x,
-
274  float const & y);
-
275 
-
280  detail::fvec4SIMD clamp(
-
281  detail::fvec4SIMD const & x,
-
282  detail::fvec4SIMD const & minVal,
-
283  detail::fvec4SIMD const & maxVal);
-
284 
-
285  detail::fvec4SIMD clamp(
-
286  detail::fvec4SIMD const & x,
-
287  float const & minVal,
-
288  float const & maxVal);
-
289 
-
316  detail::fvec4SIMD mix(
-
317  detail::fvec4SIMD const & x,
-
318  detail::fvec4SIMD const & y,
-
319  detail::fvec4SIMD const & a);
-
320 
-
324  detail::fvec4SIMD step(
-
325  detail::fvec4SIMD const & edge,
-
326  detail::fvec4SIMD const & x);
-
327 
-
328  detail::fvec4SIMD step(
-
329  float const & edge,
-
330  detail::fvec4SIMD const & x);
-
331 
-
343  detail::fvec4SIMD smoothstep(
-
344  detail::fvec4SIMD const & edge0,
-
345  detail::fvec4SIMD const & edge1,
-
346  detail::fvec4SIMD const & x);
-
347 
-
348  detail::fvec4SIMD smoothstep(
-
349  float const & edge0,
-
350  float const & edge1,
-
351  detail::fvec4SIMD const & x);
-
352 
-
360  //bvec4 isnan(detail::fvec4SIMD const & x);
-
361 
-
369  //bvec4 isinf(detail::fvec4SIMD const & x);
-
370 
-
376  //detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);
-
377 
-
385  //detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);
-
386 
-
390  detail::fvec4SIMD fma(
-
391  detail::fvec4SIMD const & a,
-
392  detail::fvec4SIMD const & b,
-
393  detail::fvec4SIMD const & c);
-
394 
-
405  //detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);
-
406 
-
414  //detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);
-
415 
-
419  float length(
-
420  detail::fvec4SIMD const & x);
-
421 
-
426  float fastLength(
-
427  detail::fvec4SIMD const & x);
-
428 
-
433  float niceLength(
-
434  detail::fvec4SIMD const & x);
-
435 
-
439  detail::fvec4SIMD length4(
-
440  detail::fvec4SIMD const & x);
-
441 
-
446  detail::fvec4SIMD fastLength4(
-
447  detail::fvec4SIMD const & x);
-
448 
-
453  detail::fvec4SIMD niceLength4(
-
454  detail::fvec4SIMD const & x);
-
455 
-
459  float distance(
-
460  detail::fvec4SIMD const & p0,
-
461  detail::fvec4SIMD const & p1);
-
462 
-
466  detail::fvec4SIMD distance4(
-
467  detail::fvec4SIMD const & p0,
-
468  detail::fvec4SIMD const & p1);
-
469 
-
473  float simdDot(
-
474  detail::fvec4SIMD const & x,
-
475  detail::fvec4SIMD const & y);
-
476 
-
480  detail::fvec4SIMD dot4(
-
481  detail::fvec4SIMD const & x,
-
482  detail::fvec4SIMD const & y);
-
483 
-
487  detail::fvec4SIMD cross(
-
488  detail::fvec4SIMD const & x,
-
489  detail::fvec4SIMD const & y);
-
490 
-
494  detail::fvec4SIMD normalize(
-
495  detail::fvec4SIMD const & x);
-
496 
-
501  detail::fvec4SIMD fastNormalize(
-
502  detail::fvec4SIMD const & x);
-
503 
-
507  detail::fvec4SIMD simdFaceforward(
-
508  detail::fvec4SIMD const & N,
-
509  detail::fvec4SIMD const & I,
-
510  detail::fvec4SIMD const & Nref);
-
511 
-
516  detail::fvec4SIMD reflect(
-
517  detail::fvec4SIMD const & I,
-
518  detail::fvec4SIMD const & N);
-
519 
-
525  detail::fvec4SIMD refract(
-
526  detail::fvec4SIMD const & I,
-
527  detail::fvec4SIMD const & N,
-
528  float const & eta);
-
529 
-
533  detail::fvec4SIMD sqrt(
-
534  detail::fvec4SIMD const & x);
-
535 
-
540  detail::fvec4SIMD niceSqrt(
-
541  detail::fvec4SIMD const & x);
-
542 
-
547  detail::fvec4SIMD fastSqrt(
-
548  detail::fvec4SIMD const & x);
-
549 
-
553  detail::fvec4SIMD inversesqrt(
-
554  detail::fvec4SIMD const & x);
-
555 
-
560  detail::fvec4SIMD fastInversesqrt(
-
561  detail::fvec4SIMD const & x);
-
562 
-
564 }//namespace glm
-
565 
-
566 #include "simd_vec4.inl"
-
567 
-
568 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
569 # pragma warning(pop)
-
570 #endif
-
571 
-
572 #endif//(GLM_ARCH != GLM_ARCH_PURE)
-
573 
-
574 #endif//GLM_GTX_simd_vec4
-
GLM_FUNC_DECL genType sqrt(genType const &x)
Returns the positive square root of x.
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
-
GLM_FUNC_DECL genType floor(genType const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
-
GLM_FUNC_DECL detail::tvec3< T, P > cross(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the cross product of x and y.
-
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
-
genType fastSqrt(genType const &x)
Faster than the common sqrt function but less accurate.
-
GLM_FUNC_DECL genType mod(genType const &x, genType const &y)
Modulus.
-
GLM_FUNC_DECL genType inversesqrt(genType const &x)
Returns the reciprocal of the positive square root of x.
-
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
-
GLM_FUNC_DECL genType fract(genType const &x)
Return x - floor(x).
-
GLM_FUNC_DECL genType ceil(genType const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
-
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
-
genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
-
GLM_FUNC_DECL genType step(genType const &edge, genType const &x)
Returns 0.0 if x &lt; edge, otherwise it returns 1.0 for each component of a genType.
-
GLM_FUNC_DECL genType trunc(genType 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::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
-
GLM_FUNC_DECL genType round(genType const &x)
Returns a value equal to the nearest integer to x.
-
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T const &eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
-
GLM_FUNC_DECL genType abs(genType const &x)
Returns x if x &gt;= 0; otherwise, it returns -x.
-
GLM_FUNC_DECL genType smoothstep(genType const &edge0, genType const &edge1, genType const &x)
Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...
-
GLM_FUNC_DECL genType clamp(genType const &x, genType const &minVal, genType const &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 genType max(genType const &x, genType const &y)
Returns y if x &lt; y; otherwise, it returns x.
-
GLM_FUNC_DECL genType::value_type distance(genType const &p0, genType const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
-
GLM_FUNC_DECL genType sign(genType const &x)
Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.
-
genType::value_type fastLength(genType const &x)
Faster than the common length function but less accurate.
-
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
Returns y if y &lt; x; otherwise, it returns x.
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 #include "../gtc/type_precision.hpp"
+
47 #include <string>
+
48 
+
49 #if(GLM_COMPILER & GLM_COMPILER_CUDA)
+
50 # error "GLM_GTX_string_cast is not supported on CUDA compiler"
+
51 #endif
+
52 
+
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
54 # pragma message("GLM: GLM_GTX_string_cast extension included")
+
55 #endif
+
56 
+
57 namespace glm
+
58 {
+
61 
+
64  template <template <typename, precision> class matType, typename T, precision P>
+
65  GLM_FUNC_DECL std::string to_string(matType<T, P> const & x);
+
66 
+
68 }//namespace glm
+
69 
+
70 #include "string_cast.inl"
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL std::string to_string(matType< T, P > const &x)
Create a string from a GLM vector or matrix typed variable.
diff --git a/doc/api/a00112.html b/doc/api/a00112.html index 83bd954e..c0406711 100644 --- a/doc/api/a00112.html +++ b/doc/api/a00112.html @@ -3,8 +3,8 @@ - -GLM: spline.hpp File Reference + +0.9.6: transform.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,54 +41,54 @@
-Namespaces | Functions
-
spline.hpp File Reference
+
transform.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - + + + + + + + + +

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)
 
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:

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_GTX_spline

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

GLM_GTX_transform

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

Definition in file spline.hpp.

+

Definition in file transform.hpp.

diff --git a/doc/api/a00112_source.html b/doc/api/a00112_source.html index 2d7f5f86..75c5ad58 100644 --- a/doc/api/a00112_source.html +++ b/doc/api/a00112_source.html @@ -3,8 +3,8 @@ - -GLM: spline.hpp Source File + +0.9.6: transform.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,68 +41,55 @@
-
spline.hpp
+
transform.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_spline
-
39 #define GLM_GTX_spline
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include "../gtx/optimum_pow.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_spline extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename genType>
-
57  GLM_FUNC_DECL genType catmullRom(
-
58  genType const & v1,
-
59  genType const & v2,
-
60  genType const & v3,
-
61  genType const & v4,
-
62  typename genType::value_type const & s);
-
63 
-
66  template <typename genType>
-
67  GLM_FUNC_DECL genType hermite(
-
68  genType const & v1,
-
69  genType const & t1,
-
70  genType const & v2,
-
71  genType const & t2,
-
72  typename genType::value_type const & s);
-
73 
-
76  template <typename genType>
-
77  GLM_FUNC_DECL genType cubic(
-
78  genType const & v1,
-
79  genType const & v2,
-
80  genType const & v3,
-
81  genType const & v4,
-
82  typename genType::value_type const & s);
-
83 
-
85 }//namespace glm
-
86 
-
87 #include "spline.inl"
-
88 
-
89 #endif//GLM_GTX_spline
-
90 
-
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.
-
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.
+
41 #pragma once
+
42 
+
43 // Dependency:
+
44 #include "../glm.hpp"
+
45 #include "../gtc/matrix_transform.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_transform extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
59  template <typename T, precision P>
+
60  GLM_FUNC_DECL tmat4x4<T, P> translate(
+
61  tvec3<T, P> const & v);
+
62 
+
66  template <typename T, precision P>
+
67  GLM_FUNC_DECL tmat4x4<T, P> rotate(
+
68  T angle,
+
69  tvec3<T, P> const & v);
+
70 
+
74  template <typename T, precision P>
+
75  GLM_FUNC_DECL tmat4x4<T, P> scale(
+
76  tvec3<T, P> const & v);
+
77 
+
79 }// namespace glm
+
80 
+
81 #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 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:31
+
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.
+
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
diff --git a/doc/api/a00113.html b/doc/api/a00113.html index 5680b5c8..873e5fdd 100644 --- a/doc/api/a00113.html +++ b/doc/api/a00113.html @@ -3,8 +3,8 @@ - -GLM: std_based_type.hpp File Reference + +0.9.6: transform2.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,65 +41,68 @@
-Namespaces | -Typedefs
+Functions
-
std_based_type.hpp File Reference
+
transform2.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef detail::tvec2
-< std::size_t, defaultp > 
size2
 
typedef detail::tvec2
-< std::size_t, defaultp > 
size2_t
 
typedef detail::tvec3
-< std::size_t, defaultp > 
size3
 
typedef detail::tvec3
-< std::size_t, defaultp > 
size3_t
 
typedef detail::tvec4
-< std::size_t, defaultp > 
size4
 
typedef detail::tvec4
-< std::size_t, defaultp > 
size4_t
 

+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:

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_GTX_std_based_type

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

GLM_GTX_transform2

+
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_transform (dependence)
-

Definition in file std_based_type.hpp.

+

Definition in file transform2.hpp.

diff --git a/doc/api/a00113_source.html b/doc/api/a00113_source.html index 8de7cba8..813da5e0 100644 --- a/doc/api/a00113_source.html +++ b/doc/api/a00113_source.html @@ -3,8 +3,8 @@ - -GLM: std_based_type.hpp Source File + +0.9.6: transform2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,58 +41,104 @@
-
std_based_type.hpp
+
transform2.hpp
Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_std_based_type
-
39 #define GLM_GTX_std_based_type
-
40 
+
39 #pragma once
+
40 
41 // Dependency:
42 #include "../glm.hpp"
-
43 #include <cstdlib>
+
43 #include "../gtx/transform.hpp"
44 
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
46 # pragma message("GLM: GLM_GTX_std_based_type extension included")
-
47 #endif
-
48 
-
49 namespace glm
+
46 # pragma message("GLM: GLM_GTX_transform2 extension included")
+
47 #endif
+
48 
+
49 namespace glm
50 {
-
53 
-
56  typedef detail::tvec2<std::size_t, defaultp> size2;
-
57 
-
60  typedef detail::tvec3<std::size_t, defaultp> size3;
-
61 
-
64  typedef detail::tvec4<std::size_t, defaultp> size4;
-
65 
-
68  typedef detail::tvec2<std::size_t, defaultp> size2_t;
-
69 
-
72  typedef detail::tvec3<std::size_t, defaultp> size3_t;
-
73 
-
76  typedef detail::tvec4<std::size_t, defaultp> size4_t;
-
77 
-
79 }//namespace glm
-
80 
-
81 #include "std_based_type.inl"
-
82 
-
83 #endif//GLM_GTX_std_based_type
-
detail::tvec4< std::size_t, defaultp > size4
Vector type based of four std::size_t components.
-
detail::tvec4< std::size_t, defaultp > size4_t
Vector type based of four std::size_t components.
-
detail::tvec3< std::size_t, defaultp > size3_t
Vector type based of three std::size_t components.
-
detail::tvec3< std::size_t, defaultp > size3
Vector type based of three std::size_t components.
-
detail::tvec2< std::size_t, defaultp > size2_t
Vector type based of two std::size_t components.
-
detail::tvec2< std::size_t, defaultp > size2
Vector type based of two std::size_t components.
+
53 
+
56  template <typename T, precision P>
+
57  GLM_FUNC_DECL tmat3x3<T, P> shearX2D(
+
58  tmat3x3<T, P> const & m,
+
59  T y);
+
60 
+
63  template <typename T, precision P>
+
64  GLM_FUNC_DECL tmat3x3<T, P> shearY2D(
+
65  tmat3x3<T, P> const & m,
+
66  T x);
+
67 
+
70  template <typename T, precision P>
+
71  GLM_FUNC_DECL tmat4x4<T, P> shearX3D(
+
72  const tmat4x4<T, P> & m,
+
73  T y,
+
74  T z);
+
75 
+
78  template <typename T, precision P>
+
79  GLM_FUNC_DECL tmat4x4<T, P> shearY3D(
+
80  const tmat4x4<T, P> & m,
+
81  T x,
+
82  T z);
+
83 
+
86  template <typename T, precision P>
+
87  GLM_FUNC_DECL tmat4x4<T, P> shearZ3D(
+
88  const tmat4x4<T, P> & m,
+
89  T x,
+
90  T y);
+
91 
+
92  //template <typename T> GLM_FUNC_QUALIFIER tmat4x4<T, P> shear(const tmat4x4<T, P> & m, shearPlane, planePoint, angle)
+
93  // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0
+
94  // - dot(PointOnPlane, normal) * OnPlaneVector 1
+
95 
+
96  // Reflect functions seem to don't work
+
97  //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)
+
98  //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)
+
99 
+
102  template <typename T, precision P>
+
103  GLM_FUNC_DECL tmat3x3<T, P> proj2D(
+
104  const tmat3x3<T, P> & m,
+
105  const tvec3<T, P>& normal);
+
106 
+
109  template <typename T, precision P>
+
110  GLM_FUNC_DECL tmat4x4<T, P> proj3D(
+
111  const tmat4x4<T, P> & m,
+
112  const tvec3<T, P>& normal);
+
113 
+
116  template <typename valType, precision P>
+
117  GLM_FUNC_DECL tmat4x4<valType, P> scaleBias(
+
118  valType scale,
+
119  valType bias);
+
120 
+
123  template <typename valType, precision P>
+
124  GLM_FUNC_DECL tmat4x4<valType, P> scaleBias(
+
125  tmat4x4<valType, P> const & m,
+
126  valType scale,
+
127  valType bias);
+
128 
+
130 }// namespace glm
+
131 
+
132 #include "transform2.inl"
+
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.
+
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.
+
Definition: _noise.hpp:31
+
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 > scale(tmat4x4< T, P > const &m, tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
+
GLM_FUNC_DECL tmat4x4< T, P > proj3D(const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
Build planar projection matrix along normal 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 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.
diff --git a/doc/api/a00114.html b/doc/api/a00114.html index 4da289d4..188f5285 100644 --- a/doc/api/a00114.html +++ b/doc/api/a00114.html @@ -3,8 +3,8 @@ - -GLM: string_cast.hpp File Reference + +0.9.6: trigonometric.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,54 +41,32 @@
-
-Namespaces | -Functions
-
string_cast.hpp File Reference
+
trigonometric.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - -

-Functions

template<typename genType >
std::string to_string (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:

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_GTX_string_cast

-
Date
2008-04-26 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-gtc_half_float (dependence)
-
-GLM_GTX_integer (dependence)
-
-GLM_GTX_quaternion (dependence)
+

GLM Core

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

Definition in file string_cast.hpp.

+

Definition in file trigonometric.hpp.

diff --git a/doc/api/a00114_source.html b/doc/api/a00114_source.html index 51b49154..0064de2c 100644 --- a/doc/api/a00114_source.html +++ b/doc/api/a00114_source.html @@ -3,8 +3,8 @@ - -GLM: string_cast.hpp Source File + +0.9.6: trigonometric.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,46 +41,25 @@
-
string_cast.hpp
+
trigonometric.hpp
Go to the documentation of this file.
1 
-
41 #ifndef GLM_GTX_string_cast
-
42 #define GLM_GTX_string_cast
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include "../gtx/integer.hpp"
-
47 #include "../gtx/quaternion.hpp"
-
48 #include <string>
-
49 
-
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
51 # pragma message("GLM: GLM_GTX_string_cast extension included")
-
52 #endif
-
53 
-
54 namespace glm
-
55 {
-
58 
-
61  template <typename genType>
-
62  std::string to_string(genType const & x);
-
63 
-
65 }//namespace glm
-
66 
-
67 #include "string_cast.inl"
-
68 
-
69 #endif//GLM_GTX_string_cast
-
std::string to_string(genType const &x)
Create a string from a GLM type value.
+
29 #pragma once
+
30 
+ +
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00115.html b/doc/api/a00115.html index 7c26c868..5cce0d6c 100644 --- a/doc/api/a00115.html +++ b/doc/api/a00115.html @@ -3,8 +3,8 @@ - -GLM: transform.hpp File Reference + +0.9.6: type_aligned.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,60 +41,459 @@
-Namespaces | Functions
-
transform.hpp File Reference
+
type_aligned.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tmat4x4< T, P > rotate (T angle, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > scale (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > translate (detail::tvec3< T, P > const &v)
 
 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:

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_GTX_transform

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

GLM_GTX_type_aligned

+
Date
2014-11-23 / 2014-12-23
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
+
See also
GLM Core (dependence)
-GLM_GTC_matrix_transform (dependence)
-
-GLM_GTX_transform
-
-GLM_GTX_transform2
+GLM_GTC_quaternion (dependence)
-

Definition in file transform.hpp.

+

Definition in file type_aligned.hpp.

diff --git a/doc/api/a00115_source.html b/doc/api/a00115_source.html index 1be83a0c..3573175d 100644 --- a/doc/api/a00115_source.html +++ b/doc/api/a00115_source.html @@ -3,8 +3,8 @@ - -GLM: transform.hpp Source File + +0.9.6: type_aligned.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,57 +41,714 @@
-
transform.hpp
+
type_aligned.hpp
Go to the documentation of this file.
1 
-
41 #ifndef GLM_GTX_transform
-
42 #define GLM_GTX_transform
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include "../gtc/matrix_transform.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
49 # pragma message("GLM: GLM_GTX_transform extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
60  template <typename T, precision P>
-
61  detail::tmat4x4<T, P> translate(
-
62  detail::tvec3<T, P> const & v);
-
63 
-
67  template <typename T, precision P>
-
68  detail::tmat4x4<T, P> rotate(
-
69  T angle,
-
70  detail::tvec3<T, P> const & v);
-
71 
-
75  template <typename T, precision P>
-
76  detail::tmat4x4<T, P> scale(
-
77  detail::tvec3<T, P> const & v);
+
41 #pragma once
+
42 
+
43 // Dependency:
+
44 #include "../gtc/type_precision.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_type_aligned extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
53  // Signed int vector types
+
54 
+
57 
+
60  GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1);
+
61 
+
64  GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2);
+
65 
+
68  GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4);
+
69 
+
72  GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8);
+
73 
+
74 
+
77  GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1);
78 
-
80 }// namespace glm
-
81 
-
82 #include "transform.inl"
-
83 
-
84 #endif//GLM_GTX_transform
-
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
-
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > scale(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > translate(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a translation 4 * 4 matrix created from a vector of 3 components.
+
81  GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2);
+
82 
+
85  GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4);
+
86 
+
89  GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8);
+
90 
+
91 
+
94  GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1);
+
95 
+
98  GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2);
+
99 
+
102  GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4);
+
103 
+
106  GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8);
+
107 
+
108 
+
111  GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1);
+
112 
+
115  GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2);
+
116 
+
119  GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4);
+
120 
+
123  GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8);
+
124 
+
125 
+
128  GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1);
+
129 
+
132  GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2);
+
133 
+
136  GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4);
+
137 
+
140  GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8);
+
141 
+
142 
+
145  GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1);
+
146 
+
149  GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2);
+
150 
+
153  GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4);
+
154 
+
157  GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8);
+
158 
+
159 
+
162  GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1);
+
163 
+
166  GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2);
+
167 
+
170  GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4);
+
171 
+
174  GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8);
+
175 
+
176 
+
179  GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1);
+
180 
+
183  GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2);
+
184 
+
187  GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4);
+
188 
+
191  GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8);
+
192 
+
193 
+
196  GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1);
+
197 
+
200  GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2);
+
201 
+
204  GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4);
+
205 
+
208  GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8);
+
209 
+
210 
+
213  GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1);
+
214 
+
217  GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2);
+
218 
+
221  GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4);
+
222 
+
225  GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8);
+
226 
+
227 
+
230  GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1);
+
231 
+
234  GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2);
+
235 
+
238  GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4);
+
239 
+
242  GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8);
+
243 
+
244 
+
247  GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1);
+
248 
+
251  GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2);
+
252 
+
255  GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4);
+
256 
+
259  GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8);
+
260 
+
261 
+
264  GLM_ALIGNED_TYPEDEF(ivec1, aligned_ivec1, 4);
+
265 
+
268  GLM_ALIGNED_TYPEDEF(ivec2, aligned_ivec2, 8);
+
269 
+
272  GLM_ALIGNED_TYPEDEF(ivec3, aligned_ivec3, 16);
+
273 
+
276  GLM_ALIGNED_TYPEDEF(ivec4, aligned_ivec4, 16);
+
277 
+
278 
+
281  GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1);
+
282 
+
285  GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2);
+
286 
+
289  GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4);
+
290 
+
293  GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4);
+
294 
+
295 
+
298  GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2);
+
299 
+
302  GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4);
+
303 
+
306  GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8);
+
307 
+
310  GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8);
+
311 
+
312 
+
315  GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4);
+
316 
+
319  GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8);
+
320 
+
323  GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16);
+
324 
+
327  GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16);
+
328 
+
329 
+
332  GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8);
+
333 
+
336  GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16);
+
337 
+
340  GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32);
+
341 
+
344  GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32);
+
345 
+
346 
+
348  // Unsigned int vector types
+
349 
+
352  GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1);
+
353 
+
356  GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2);
+
357 
+
360  GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4);
+
361 
+
364  GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8);
+
365 
+
366 
+
369  GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1);
+
370 
+
373  GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2);
+
374 
+
377  GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4);
+
378 
+
381  GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8);
+
382 
+
383 
+
386  GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1);
+
387 
+
390  GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2);
+
391 
+
394  GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4);
+
395 
+
398  GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8);
+
399 
+
400 
+
403  GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1);
+
404 
+
407  GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2);
+
408 
+
411  GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4);
+
412 
+
415  GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8);
+
416 
+
417 
+
420  GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1);
+
421 
+
424  GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2);
+
425 
+
428  GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4);
+
429 
+
432  GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8);
+
433 
+
434 
+
437  GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1);
+
438 
+
441  GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2);
+
442 
+
445  GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4);
+
446 
+
449  GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8);
+
450 
+
451 
+
454  GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1);
+
455 
+
458  GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2);
+
459 
+
462  GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4);
+
463 
+
466  GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8);
+
467 
+
468 
+
471  GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1);
+
472 
+
475  GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2);
+
476 
+
479  GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4);
+
480 
+
483  GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8);
+
484 
+
485 
+
488  GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1);
+
489 
+
492  GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2);
+
493 
+
496  GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4);
+
497 
+
500  GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8);
+
501 
+
502 
+
505  GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1);
+
506 
+
509  GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2);
+
510 
+
513  GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4);
+
514 
+
517  GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8);
+
518 
+
519 
+
522  GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1);
+
523 
+
526  GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2);
+
527 
+
530  GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4);
+
531 
+
534  GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8);
+
535 
+
536 
+
539  GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1);
+
540 
+
543  GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2);
+
544 
+
547  GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4);
+
548 
+
551  GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8);
+
552 
+
553 
+
556  GLM_ALIGNED_TYPEDEF(uvec1, aligned_uvec1, 4);
+
557 
+
560  GLM_ALIGNED_TYPEDEF(uvec2, aligned_uvec2, 8);
+
561 
+
564  GLM_ALIGNED_TYPEDEF(uvec3, aligned_uvec3, 16);
+
565 
+
568  GLM_ALIGNED_TYPEDEF(uvec4, aligned_uvec4, 16);
+
569 
+
570 
+
573  GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1);
+
574 
+
577  GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2);
+
578 
+
581  GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4);
+
582 
+
585  GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4);
+
586 
+
587 
+
590  GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2);
+
591 
+
594  GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4);
+
595 
+
598  GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8);
+
599 
+
602  GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8);
+
603 
+
604 
+
607  GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4);
+
608 
+
611  GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8);
+
612 
+
615  GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16);
+
616 
+
619  GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16);
+
620 
+
621 
+
624  GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8);
+
625 
+
628  GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16);
+
629 
+
632  GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32);
+
633 
+
636  GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32);
+
637 
+
638 
+
640  // Float vector types
+
641 
+
644  GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4);
+
645 
+
648  GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8);
+
649 
+
650 
+
653  GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4);
+
654 
+
657  GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8);
+
658 
+
659 
+
662  GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4);
+
663 
+
666  GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8);
+
667 
+
668 
+
671  GLM_ALIGNED_TYPEDEF(vec1, aligned_vec1, 4);
+
672 
+
675  GLM_ALIGNED_TYPEDEF(vec2, aligned_vec2, 8);
+
676 
+
679  GLM_ALIGNED_TYPEDEF(vec3, aligned_vec3, 16);
+
680 
+
683  GLM_ALIGNED_TYPEDEF(vec4, aligned_vec4, 16);
+
684 
+
685 
+
688  GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4);
+
689 
+
692  GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8);
+
693 
+
696  GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16);
+
697 
+
700  GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16);
+
701 
+
702 
+
705  GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4);
+
706 
+
709  GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8);
+
710 
+
713  GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16);
+
714 
+
717  GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16);
+
718 
+
719 
+
722  GLM_ALIGNED_TYPEDEF(dvec1, aligned_dvec1, 8);
+
723 
+
726  GLM_ALIGNED_TYPEDEF(dvec2, aligned_dvec2, 16);
+
727 
+
730  GLM_ALIGNED_TYPEDEF(dvec3, aligned_dvec3, 32);
+
731 
+
734  GLM_ALIGNED_TYPEDEF(dvec4, aligned_dvec4, 32);
+
735 
+
736 
+
739  GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8);
+
740 
+
743  GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16);
+
744 
+
747  GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32);
+
748 
+
751  GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32);
+
752 
+
753 
+
755  // Float matrix types
+
756 
+
759  //typedef detail::tmat1<f32> mat1;
+
760 
+
763  GLM_ALIGNED_TYPEDEF(mat2, aligned_mat2, 16);
+
764 
+
767  GLM_ALIGNED_TYPEDEF(mat3, aligned_mat3, 16);
+
768 
+
771  GLM_ALIGNED_TYPEDEF(mat4, aligned_mat4, 16);
+
772 
+
773 
+
776  //typedef detail::tmat1x1<f32> mat1;
+
777 
+
780  GLM_ALIGNED_TYPEDEF(mat2x2, aligned_mat2x2, 16);
+
781 
+
784  GLM_ALIGNED_TYPEDEF(mat3x3, aligned_mat3x3, 16);
+
785 
+
788  GLM_ALIGNED_TYPEDEF(mat4x4, aligned_mat4x4, 16);
+
789 
+
790 
+
793  //typedef detail::tmat1x1<f32> fmat1;
+
794 
+
797  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16);
+
798 
+
801  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16);
+
802 
+
805  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16);
+
806 
+
807 
+
810  //typedef f32 fmat1x1;
+
811 
+
814  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16);
+
815 
+
818  GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16);
+
819 
+
822  GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16);
+
823 
+
826  GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16);
+
827 
+
830  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16);
+
831 
+
834  GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16);
+
835 
+
838  GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16);
+
839 
+
842  GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16);
+
843 
+
846  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16);
+
847 
+
848 
+
851  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
+
852 
+
855  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16);
+
856 
+
859  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16);
+
860 
+
863  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16);
+
864 
+
865 
+
868  //typedef f32 f32mat1x1;
+
869 
+
872  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16);
+
873 
+
876  GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16);
+
877 
+
880  GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16);
+
881 
+
884  GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16);
+
885 
+
888  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16);
+
889 
+
892  GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16);
+
893 
+
896  GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16);
+
897 
+
900  GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16);
+
901 
+
904  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16);
+
905 
+
906 
+
909  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
+
910 
+
913  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32);
+
914 
+
917  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32);
+
918 
+
921  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32);
+
922 
+
923 
+
926  //typedef f64 f64mat1x1;
+
927 
+
930  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32);
+
931 
+
934  GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32);
+
935 
+
938  GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32);
+
939 
+
942  GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32);
+
943 
+
946  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32);
+
947 
+
950  GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32);
+
951 
+
954  GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32);
+
955 
+
958  GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32);
+
959 
+
962  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32);
+
963 
+
964 
+
966  // Quaternion types
+
967 
+
970  GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16);
+
971 
+
974  GLM_ALIGNED_TYPEDEF(fquat, aligned_fquat, 16);
+
975 
+
978  GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32);
+
979 
+
982  GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16);
+
983 
+
986  GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32);
+
987 
+
989 }//namespace glm
+
990 
+
991 #include "type_aligned.inl"
+
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1168
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:934
+
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:433
+
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2457
+
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:220
+
highp_uvec3 uvec3
3 components vector of unsigned integer numbers.
Definition: type_vec.hpp:477
+
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:877
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:300
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:308
+
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:321
+
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:756
+
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:428
+
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:228
+
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:128
+
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:132
+
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2489
+
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2535
+
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:317
+
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2559
+
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:325
+
highp_dvec2 dvec2
2 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:416
+
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2555
+
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:244
+
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:833
+
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:240
+
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:783
+
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:815
+
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:421
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:438
+
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:472
+
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2425
+
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2449
+
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2543
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:930
+
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2579
+
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:176
+
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:208
+
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:861
+
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:739
+
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:401
+
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:196
+
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:714
+
detail::uint16 lowp_uint16
Low precision 16 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:1009
+
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1093
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:926
+
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2531
+
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2367
+
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1331
+
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1164
+
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:184
+
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:484
+
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:168
+
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:260
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:905
+
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:152
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:264
+
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2375
+
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1525
+
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2465
+
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:869
+
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:873
+
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:760
+
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:551
+
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:482
+
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:773
+
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:224
+
quat fquat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:86
+
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2551
+
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1089
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2429
+
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:748
+
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:476
+
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:722
+
highp_dvec3 dvec3
3 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:421
+
highp_ivec3 ivec3
3 components vector of signed integer numbers.
Definition: type_vec.hpp:449
+
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2359
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:296
+
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2437
+
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:777
+
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2371
+
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:718
+
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:795
+
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2399
+
highp_ivec2 ivec2
2 components vector of signed integer numbers.
Definition: type_vec.hpp:444
+
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2441
+
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2453
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:922
+
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:849
+
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2571
+
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2567
+
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:156
+
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:769
+
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1085
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2403
+
highp_dvec4 dvec4
4 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:426
+
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:845
+
GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)
Double-precision floating-point aligned quaternion.
+
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1319
+
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:381
+
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:172
+
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2539
+
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:136
+
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:752
+
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:268
+
Definition: _noise.hpp:31
+
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:232
+
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1172
+
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1005
+
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:480
+
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:200
+
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:819
+
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:853
+
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:791
+
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:313
+
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2575
+
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2379
+
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2391
+
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:164
+
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:555
+
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:743
+
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:236
+
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:823
+
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:400
+
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2547
+
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:204
+
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:807
+
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1081
+
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2433
+
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2355
+
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1327
+
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2595
+
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:212
+
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1323
+
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2445
+
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2395
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:913
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:304
+
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2461
+
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:787
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:917
+
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:396
+
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2469
+
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:140
+
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:148
+
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:799
+
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:180
+
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1529
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:909
+
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2473
+
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:392
+
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2563
+
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:563
+
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2383
+
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1001
+
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:160
+
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:144
+
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
+
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:248
+
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:188
+
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:827
+
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:731
+
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2387
+
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:404
+
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2363
+
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1160
+
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:765
+
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:841
+
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:803
+
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:811
+
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:559
+
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:865
+
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1013
+
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:252
+
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:192
+
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:837
+
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:710
+
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:472
+
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:857
+
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:216
+
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:256
diff --git a/doc/api/a00116.html b/doc/api/a00116.html index e7b1afcb..ca92068e 100644 --- a/doc/api/a00116.html +++ b/doc/api/a00116.html @@ -3,8 +3,8 @@ - -GLM: transform2.hpp File Reference + +0.9.6: type_float.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,74 +41,48 @@
-Namespaces | -Functions
+Typedefs
-
transform2.hpp File Reference
+
type_float.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + +

-Functions

template<typename T , precision P>
detail::tmat3x3< T, P > proj2D (const detail::tmat3x3< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename T , precision P>
detail::tmat4x4< T, P > proj3D (const detail::tmat4x4< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (detail::tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearX2D (detail::tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearX3D (const detail::tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearY2D (detail::tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearY3D (const detail::tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearZ3D (const detail::tmat4x4< T, P > &m, T x, T y)
 

+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:

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_GTX_transform2

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

GLM Core

+
Date
2008-08-22 / 2011-06-15
+
Author
Christophe Riccio
-

Definition in file transform2.hpp.

+

Definition in file type_float.hpp.

diff --git a/doc/api/a00116_source.html b/doc/api/a00116_source.html index 3049a1ab..c19a8793 100644 --- a/doc/api/a00116_source.html +++ b/doc/api/a00116_source.html @@ -3,8 +3,8 @@ - -GLM: transform2.hpp Source File + +0.9.6: type_float.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,106 +41,73 @@
-
transform2.hpp
+
type_float.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTX_transform2
-
40 #define GLM_GTX_transform2
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/transform.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_transform2 extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename T, precision P>
-
58  detail::tmat3x3<T, P> shearX2D(
-
59  detail::tmat3x3<T, P> const & m,
-
60  T y);
-
61 
-
64  template <typename T, precision P>
-
65  detail::tmat3x3<T, P> shearY2D(
-
66  detail::tmat3x3<T, P> const & m,
-
67  T x);
-
68 
-
71  template <typename T, precision P>
-
72  detail::tmat4x4<T, P> shearX3D(
-
73  const detail::tmat4x4<T, P> & m,
-
74  T y,
-
75  T z);
-
76 
-
79  template <typename T, precision P>
-
80  detail::tmat4x4<T, P> shearY3D(
-
81  const detail::tmat4x4<T, P> & m,
-
82  T x,
-
83  T z);
-
84 
-
87  template <typename T, precision P>
-
88  detail::tmat4x4<T, P> shearZ3D(
-
89  const detail::tmat4x4<T, P> & m,
-
90  T x,
-
91  T y);
-
92 
-
93  //template <typename T> GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> shear(const detail::tmat4x4<T, P> & m, shearPlane, planePoint, angle)
-
94  // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0
-
95  // - dot(PointOnPlane, normal) * OnPlaneVector 1
-
96 
-
97  // Reflect functions seem to don't work
-
98  //template <typename T> detail::tmat3x3<T, P> reflect2D(const detail::tmat3x3<T, P> & m, const detail::tvec3<T, P>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
-
99  //template <typename T> detail::tmat4x4<T, P> reflect3D(const detail::tmat4x4<T, P> & m, const detail::tvec3<T, P>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
-
100 
-
103  template <typename T, precision P>
-
104  detail::tmat3x3<T, P> proj2D(
-
105  const detail::tmat3x3<T, P> & m,
-
106  const detail::tvec3<T, P>& normal);
-
107 
-
110  template <typename T, precision P>
-
111  detail::tmat4x4<T, P> proj3D(
-
112  const detail::tmat4x4<T, P> & m,
-
113  const detail::tvec3<T, P>& normal);
-
114 
-
117  template <typename valType, precision P>
-
118  detail::tmat4x4<valType, P> scaleBias(
-
119  valType scale,
-
120  valType bias);
-
121 
-
124  template <typename valType, precision P>
-
125  detail::tmat4x4<valType, P> scaleBias(
-
126  detail::tmat4x4<valType, P> const & m,
-
127  valType scale,
-
128  valType bias);
-
129 
-
131 }// namespace glm
-
132 
-
133 #include "transform2.inl"
-
134 
-
135 #endif//GLM_GTX_transform2
-
detail::tmat4x4< valType, P > scaleBias(valType scale, valType bias)
Build a scale bias matrix.
-
detail::tmat3x3< T, P > shearX2D(detail::tmat3x3< T, P > const &m, T y)
Transforms a matrix with a shearing on X axis.
-
detail::tmat3x3< T, P > proj2D(const detail::tmat3x3< T, P > &m, const detail::tvec3< T, P > &normal)
Build planar projection matrix along normal axis.
-
GLM_FUNC_DECL detail::tmat4x4< T, P > scale(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
-
detail::tmat4x4< T, P > shearY3D(const detail::tmat4x4< T, P > &m, T x, T z)
Transforms a matrix with a shearing on Y axis.
-
detail::tmat4x4< T, P > proj3D(const detail::tmat4x4< T, P > &m, const detail::tvec3< T, P > &normal)
Build planar projection matrix along normal axis.
-
detail::tmat4x4< T, P > shearZ3D(const detail::tmat4x4< T, P > &m, T x, T y)
Transforms a matrix with a shearing on Z axis.
-
detail::tmat3x3< T, P > shearY2D(detail::tmat3x3< T, P > const &m, T x)
Transforms a matrix with a shearing on Y axis.
-
detail::tmat4x4< T, P > shearX3D(const detail::tmat4x4< T, P > &m, T y, T z)
Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.
+
29 #pragma once
+
30 
+
31 #include "setup.hpp"
+
32 
+
33 namespace glm{
+
34 namespace detail
+
35 {
+
36  typedef float float32;
+
37  typedef double float64;
+
38 }//namespace detail
+
39 
+
40  typedef float lowp_float_t;
+
41  typedef float mediump_float_t;
+
42  typedef double highp_float_t;
+
43 
+
46 
+
52  typedef lowp_float_t lowp_float;
+
53 
+
59  typedef mediump_float_t mediump_float;
+
60 
+
66  typedef highp_float_t highp_float;
+
67 
+
68 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
69  typedef mediump_float float_t;
+
70 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
71  typedef highp_float float_t;
+
72 #elif(!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 lowp_float float_t;
+
76 #else
+
77 # error "GLM error: multiple default precision requested for floating-point types"
+
78 #endif
+
79 
+
80  typedef float float32;
+
81  typedef double float64;
+
82 
+
84 // check type sizes
+
85 #ifndef GLM_STATIC_ASSERT_NULL
+
86  GLM_STATIC_ASSERT(sizeof(glm::float32) == 4, "float32 size isn't 4 bytes on this platform");
+
87  GLM_STATIC_ASSERT(sizeof(glm::float64) == 8, "float64 size isn't 8 bytes on this platform");
+
88 #endif//GLM_STATIC_ASSERT_NULL
+
89 
+
91 
+
92 }//namespace glm
+
highp_float_t highp_float
High precision floating-point numbers.
Definition: type_float.hpp:66
+
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:81
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
lowp_float_t lowp_float
Low precision floating-point numbers.
Definition: type_float.hpp:52
+
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:80
+
mediump_float_t mediump_float
Medium precision floating-point numbers.
Definition: type_float.hpp:59
diff --git a/doc/api/a00117.html b/doc/api/a00117.html index 6449c4b8..0deb346c 100644 --- a/doc/api/a00117.html +++ b/doc/api/a00117.html @@ -3,8 +3,8 @@ - -GLM: trigonometric.hpp File Reference + +0.9.6: type_gentype.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,12 +41,12 @@
-
trigonometric.hpp File Reference
+
type_gentype.hpp File Reference
@@ -58,17 +56,17 @@

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
2013-12-24 / 2013-12-24
+

GLM Core

+
Date
2008-10-05 / 2011-06-15
Author
Christophe Riccio
-

Definition in file trigonometric.hpp.

+

Definition in file type_gentype.hpp.

diff --git a/doc/api/a00117_source.html b/doc/api/a00117_source.html index 94a51a1d..1bdb1c2a 100644 --- a/doc/api/a00117_source.html +++ b/doc/api/a00117_source.html @@ -3,8 +3,8 @@ - -GLM: trigonometric.hpp Source File + +0.9.6: type_gentype.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,208 @@
-
trigonometric.hpp
+
type_gentype.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_TRIGONOMETRIC_INCLUDED
-
30 #define GLM_TRIGONOMETRIC_INCLUDED
-
31 
-
32 #include "detail/func_trigonometric.hpp"
-
33 
-
34 #endif//GLM_TRIGONOMETRIC_INCLUDED
+
29 #pragma once
+
30 
+
31 namespace glm
+
32 {
+
33  enum profile
+
34  {
+
35  nice,
+
36  fast,
+
37  simd
+
38  };
+
39 
+
40  typedef std::size_t sizeType;
+
41 
+
42 namespace detail
+
43 {
+
44  template
+
45  <
+
46  typename VALTYPE,
+
47  template <typename> class TYPE
+
48  >
+
49  struct genType
+
50  {
+
51  public:
+
52  enum ctor{null};
+
53 
+
54  typedef VALTYPE value_type;
+
55  typedef VALTYPE & value_reference;
+
56  typedef VALTYPE * value_pointer;
+
57  typedef VALTYPE const * value_const_pointer;
+
58  typedef TYPE<bool> bool_type;
+
59 
+
60  typedef sizeType size_type;
+
61  static bool is_vector();
+
62  static bool is_matrix();
+
63 
+
64  typedef TYPE<VALTYPE> type;
+
65  typedef TYPE<VALTYPE> * pointer;
+
66  typedef TYPE<VALTYPE> const * const_pointer;
+
67  typedef TYPE<VALTYPE> const * const const_pointer_const;
+
68  typedef TYPE<VALTYPE> * const pointer_const;
+
69  typedef TYPE<VALTYPE> & reference;
+
70  typedef TYPE<VALTYPE> const & const_reference;
+
71  typedef TYPE<VALTYPE> const & param_type;
+
72 
+
74  // Address (Implementation details)
+
75 
+
76  value_const_pointer value_address() const{return value_pointer(this);}
+
77  value_pointer value_address(){return value_pointer(this);}
+
78 
+
79  //protected:
+
80  // enum kind
+
81  // {
+
82  // GEN_TYPE,
+
83  // VEC_TYPE,
+
84  // MAT_TYPE
+
85  // };
+
86 
+
87  // typedef typename TYPE::kind kind;
+
88  };
+
89 
+
90  template
+
91  <
+
92  typename VALTYPE,
+
93  template <typename> class TYPE
+
94  >
+
95  bool genType<VALTYPE, TYPE>::is_vector()
+
96  {
+
97  return true;
+
98  }
+
99 /*
+
100  template <typename valTypeT, unsigned int colT, unsigned int rowT, profile proT = nice>
+
101  class base
+
102  {
+
103  public:
+
105  // Traits
+
106 
+
107  typedef sizeType size_type;
+
108  typedef valTypeT value_type;
+
109 
+
110  typedef base<value_type, colT, rowT> class_type;
+
111 
+
112  typedef base<bool, colT, rowT> bool_type;
+
113  typedef base<value_type, rowT, 1> col_type;
+
114  typedef base<value_type, colT, 1> row_type;
+
115  typedef base<value_type, rowT, colT> transpose_type;
+
116 
+
117  static size_type col_size();
+
118  static size_type row_size();
+
119  static size_type value_size();
+
120  static bool is_scalar();
+
121  static bool is_vector();
+
122  static bool is_matrix();
+
123 
+
124  private:
+
125  // Data
+
126  col_type value[colT];
+
127 
+
128  public:
+
130  // Constructors
+
131  base();
+
132  base(class_type const & m);
+
133 
+
134  explicit base(T const & x);
+
135  explicit base(value_type const * const x);
+
136  explicit base(col_type const * const x);
+
137 
+
139  // Conversions
+
140  template <typename vU, uint cU, uint rU, profile pU>
+
141  explicit base(base<vU, cU, rU, pU> const & m);
+
142 
+
144  // Accesses
+
145  col_type& operator[](size_type i);
+
146  col_type const & operator[](size_type i) const;
+
147 
+
149  // Unary updatable operators
+
150  class_type& operator= (class_type const & x);
+
151  class_type& operator+= (T const & x);
+
152  class_type& operator+= (class_type const & x);
+
153  class_type& operator-= (T const & x);
+
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++ ();
+
160  class_type& operator-- ();
+
161  };
+
162 */
+
163 
+
164  //template <typename T>
+
165  //struct traits
+
166  //{
+
167  // static const bool is_signed = false;
+
168  // static const bool is_float = false;
+
169  // static const bool is_vector = false;
+
170  // static const bool is_matrix = false;
+
171  // static const bool is_genType = false;
+
172  // static const bool is_genIType = false;
+
173  // static const bool is_genUType = false;
+
174  //};
+
175 
+
176  //template <>
+
177  //struct traits<half>
+
178  //{
+
179  // static const bool is_float = true;
+
180  // static const bool is_genType = true;
+
181  //};
+
182 
+
183  //template <>
+
184  //struct traits<float>
+
185  //{
+
186  // static const bool is_float = true;
+
187  // static const bool is_genType = true;
+
188  //};
+
189 
+
190  //template <>
+
191  //struct traits<double>
+
192  //{
+
193  // static const bool is_float = true;
+
194  // static const bool is_genType = true;
+
195  //};
+
196 
+
197  //template <typename genType>
+
198  //struct desc
+
199  //{
+
200  // typedef genType type;
+
201  // typedef genType * pointer;
+
202  // typedef genType const* const_pointer;
+
203  // typedef genType const *const const_pointer_const;
+
204  // typedef genType *const pointer_const;
+
205  // typedef genType & reference;
+
206  // typedef genType const& const_reference;
+
207  // typedef genType const& param_type;
+
208 
+
209  // typedef typename genType::value_type value_type;
+
210  // typedef typename genType::size_type size_type;
+
211  // static const typename size_type value_size;
+
212  //};
+
213 
+
214  //template <typename genType>
+
215  //const typename desc<genType>::size_type desc<genType>::value_size = genType::value_size();
+
216 
+
217 }//namespace detail
+
218 }//namespace glm
+
219 
+
220 //#include "type_gentype.inl"
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00118.html b/doc/api/a00118.html new file mode 100644 index 00000000..9251c30b --- /dev/null +++ b/doc/api/a00118.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_half.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
type_half.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:

+

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
2008-08-17 / 2011-09-20
+
Author
Christophe Riccio
+ +

Definition in file type_half.hpp.

+
+ + + + diff --git a/doc/api/a00118_source.html b/doc/api/a00118_source.html index 12eaa785..0d52ed6d 100644 --- a/doc/api/a00118_source.html +++ b/doc/api/a00118_source.html @@ -3,8 +3,8 @@ - -GLM: type_float.hpp Source File + +0.9.6: type_half.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,74 +41,39 @@
-
type_float.hpp
+
type_half.hpp
-
1 
-
29 #ifndef glm_core_type_float
-
30 #define glm_core_type_float
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  typedef float float32;
-
38  typedef double float64;
-
39 }//namespace detail
-
40 
-
41  typedef float lowp_float_t;
-
42  typedef float mediump_float_t;
-
43  typedef double highp_float_t;
-
44 
-
47 
-
53  typedef lowp_float_t lowp_float;
-
54 
-
60  typedef mediump_float_t mediump_float;
-
61 
-
67  typedef highp_float_t highp_float;
-
68 
-
69 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
70  typedef mediump_float float_t;
-
71 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
72  typedef highp_float float_t;
-
73 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
74  typedef mediump_float float_t;
-
75 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
-
76  typedef lowp_float float_t;
-
77 #else
-
78 # error "GLM error: multiple default precision requested for floating-point types"
-
79 #endif
-
80 
-
81  typedef float float32;
-
82  typedef double float64;
-
83 
-
85 // check type sizes
-
86 #ifndef GLM_STATIC_ASSERT_NULL
-
87  GLM_STATIC_ASSERT(sizeof(glm::float32) == 4, "float32 size isn't 4 bytes on this platform");
-
88  GLM_STATIC_ASSERT(sizeof(glm::float64) == 8, "float64 size isn't 8 bytes on this platform");
-
89 #endif//GLM_STATIC_ASSERT_NULL
-
90 
-
92 
-
93 }//namespace glm
-
94 
-
95 #endif//glm_core_type_float
-
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:81
-
highp_float_t highp_float
High precision floating-point numbers.
Definition: type_float.hpp:67
-
mediump_float_t mediump_float
Medium precision floating-point numbers.
Definition: type_float.hpp:60
-
lowp_float_t lowp_float
Low precision floating-point numbers.
Definition: type_float.hpp:53
-
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:82
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "setup.hpp"
+
32 
+
33 namespace glm{
+
34 namespace detail
+
35 {
+
36  typedef short hdata;
+
37 
+
38  GLM_FUNC_DECL float toFloat32(hdata value);
+
39  GLM_FUNC_DECL hdata toFloat16(float const & value);
+
40 
+
41 }//namespace detail
+
42 }//namespace glm
+
43 
+
44 #include "type_half.inl"
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00119.html b/doc/api/a00119.html new file mode 100644 index 00000000..ad6bc371 --- /dev/null +++ b/doc/api/a00119.html @@ -0,0 +1,108 @@ + + + + + + +0.9.6: type_int.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
type_int.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:

+

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
2008-08-22 / 2013-03-30
+
Author
Christophe Riccio
+ +

Definition in file type_int.hpp.

+
+ + + + diff --git a/doc/api/a00119_source.html b/doc/api/a00119_source.html index 9354b449..cf8ceeeb 100644 --- a/doc/api/a00119_source.html +++ b/doc/api/a00119_source.html @@ -3,8 +3,8 @@ - -GLM: type_gentype.hpp Source File + +0.9.6: type_int.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,210 +41,301 @@
-
type_gentype.hpp
+
type_int.hpp
-
1 
-
29 #ifndef glm_core_type_gentype
-
30 #define glm_core_type_gentype
-
31 
-
32 namespace glm
-
33 {
-
34  enum profile
-
35  {
-
36  nice,
-
37  fast,
-
38  simd
-
39  };
-
40 
-
41  typedef std::size_t sizeType;
-
42 
-
43 namespace detail
-
44 {
-
45  template
-
46  <
-
47  typename VALTYPE,
-
48  template <typename> class TYPE
-
49  >
-
50  struct genType
-
51  {
-
52  public:
-
53  enum ctor{null};
-
54 
-
55  typedef VALTYPE value_type;
-
56  typedef VALTYPE & value_reference;
-
57  typedef VALTYPE * value_pointer;
-
58  typedef VALTYPE const * value_const_pointer;
-
59  typedef TYPE<bool> bool_type;
-
60 
-
61  typedef sizeType size_type;
-
62  static bool is_vector();
-
63  static bool is_matrix();
-
64 
-
65  typedef TYPE<VALTYPE> type;
-
66  typedef TYPE<VALTYPE> * pointer;
-
67  typedef TYPE<VALTYPE> const * const_pointer;
-
68  typedef TYPE<VALTYPE> const * const const_pointer_const;
-
69  typedef TYPE<VALTYPE> * const pointer_const;
-
70  typedef TYPE<VALTYPE> & reference;
-
71  typedef TYPE<VALTYPE> const & const_reference;
-
72  typedef TYPE<VALTYPE> const & param_type;
-
73 
-
75  // Address (Implementation details)
-
76 
-
77  value_const_pointer value_address() const{return value_pointer(this);}
-
78  value_pointer value_address(){return value_pointer(this);}
-
79 
-
80  //protected:
-
81  // enum kind
-
82  // {
-
83  // GEN_TYPE,
-
84  // VEC_TYPE,
-
85  // MAT_TYPE
-
86  // };
-
87 
-
88  // typedef typename TYPE::kind kind;
-
89  };
-
90 
-
91  template
-
92  <
-
93  typename VALTYPE,
-
94  template <typename> class TYPE
-
95  >
-
96  bool genType<VALTYPE, TYPE>::is_vector()
-
97  {
-
98  return true;
-
99  }
-
100 /*
-
101  template <typename valTypeT, unsigned int colT, unsigned int rowT, profile proT = nice>
-
102  class base
-
103  {
-
104  public:
-
106  // Traits
-
107 
-
108  typedef sizeType size_type;
-
109  typedef valTypeT value_type;
-
110 
-
111  typedef base<value_type, colT, rowT> class_type;
-
112 
-
113  typedef base<bool, colT, rowT> bool_type;
-
114  typedef base<value_type, rowT, 1> col_type;
-
115  typedef base<value_type, colT, 1> row_type;
-
116  typedef base<value_type, rowT, colT> transpose_type;
-
117 
-
118  static size_type col_size();
-
119  static size_type row_size();
-
120  static size_type value_size();
-
121  static bool is_scalar();
-
122  static bool is_vector();
-
123  static bool is_matrix();
-
124 
-
125  private:
-
126  // Data
-
127  col_type value[colT];
-
128 
-
129  public:
-
131  // Constructors
-
132  base();
-
133  base(class_type const & m);
-
134 
-
135  explicit base(T const & x);
-
136  explicit base(value_type const * const x);
-
137  explicit base(col_type const * const x);
-
138 
-
140  // Conversions
-
141  template <typename vU, uint cU, uint rU, profile pU>
-
142  explicit base(base<vU, cU, rU, pU> const & m);
-
143 
-
145  // Accesses
-
146  col_type& operator[](size_type i);
-
147  col_type const & operator[](size_type i) const;
-
148 
-
150  // Unary updatable operators
-
151  class_type& operator= (class_type const & x);
-
152  class_type& operator+= (T const & x);
-
153  class_type& operator+= (class_type const & x);
-
154  class_type& operator-= (T const & x);
-
155  class_type& operator-= (class_type const & x);
-
156  class_type& operator*= (T const & x);
-
157  class_type& operator*= (class_type const & x);
-
158  class_type& operator/= (T const & x);
-
159  class_type& operator/= (class_type const & x);
-
160  class_type& operator++ ();
-
161  class_type& operator-- ();
-
162  };
-
163 */
-
164 
-
165  //template <typename T>
-
166  //struct traits
-
167  //{
-
168  // static const bool is_signed = false;
-
169  // static const bool is_float = false;
-
170  // static const bool is_vector = false;
-
171  // static const bool is_matrix = false;
-
172  // static const bool is_genType = false;
-
173  // static const bool is_genIType = false;
-
174  // static const bool is_genUType = false;
-
175  //};
-
176 
-
177  //template <>
-
178  //struct traits<half>
-
179  //{
-
180  // static const bool is_float = true;
-
181  // static const bool is_genType = true;
-
182  //};
-
183 
-
184  //template <>
-
185  //struct traits<float>
-
186  //{
-
187  // static const bool is_float = true;
-
188  // static const bool is_genType = true;
-
189  //};
-
190 
-
191  //template <>
-
192  //struct traits<double>
-
193  //{
-
194  // static const bool is_float = true;
-
195  // static const bool is_genType = true;
-
196  //};
-
197 
-
198  //template <typename genType>
-
199  //struct desc
-
200  //{
-
201  // typedef genType type;
-
202  // typedef genType * pointer;
-
203  // typedef genType const* const_pointer;
-
204  // typedef genType const *const const_pointer_const;
-
205  // typedef genType *const pointer_const;
-
206  // typedef genType & reference;
-
207  // typedef genType const& const_reference;
-
208  // typedef genType const& param_type;
-
209 
-
210  // typedef typename genType::value_type value_type;
-
211  // typedef typename genType::size_type size_type;
-
212  // static const typename size_type value_size;
-
213  //};
-
214 
-
215  //template <typename genType>
-
216  //const typename desc<genType>::size_type desc<genType>::value_size = genType::value_size();
-
217 
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "setup.hpp"
+
32 #include <type_traits>
+
33 
+
34 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
35 # include <cstdint>
+
36 #endif
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41 # if GLM_HAS_EXTENDED_INTEGER_TYPE
+
42  typedef std::int8_t int8;
+
43  typedef std::int16_t int16;
+
44  typedef std::int32_t int32;
+
45  typedef std::int64_t int64;
+
46 
+
47  typedef std::uint8_t uint8;
+
48  typedef std::uint16_t uint16;
+
49  typedef std::uint32_t uint32;
+
50  typedef std::uint64_t uint64;
+
51 # else
+
52 # if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
+
53  typedef int64_t sint64;
+
54  typedef uint64_t uint64;
+
55 # elif GLM_COMPILER & GLM_COMPILER_VC
+
56  typedef signed __int64 sint64;
+
57  typedef unsigned __int64 uint64;
+
58 # elif GLM_COMPILER & GLM_COMPILER_GCC
+
59  __extension__ typedef signed long long sint64;
+
60  __extension__ typedef unsigned long long uint64;
+
61 # else//unknown compiler
+
62  typedef signed long long sint64;
+
63  typedef unsigned long long uint64;
+
64 # endif//GLM_COMPILER
+
65 
+
66  typedef signed char int8;
+
67  typedef signed short int16;
+
68  typedef signed int int32;
+
69  typedef sint64 int64;
+
70 
+
71  typedef unsigned char uint8;
+
72  typedef unsigned short uint16;
+
73  typedef unsigned int uint32;
+
74  typedef uint64 uint64;
+
75 #endif//
+
76 
+
77  typedef signed int lowp_int_t;
+
78  typedef signed int mediump_int_t;
+
79  typedef signed int highp_int_t;
+
80 
+
81  typedef unsigned int lowp_uint_t;
+
82  typedef unsigned int mediump_uint_t;
+
83  typedef unsigned int highp_uint_t;
+
84 
+
85 # if GLM_HAS_MAKE_SIGNED
+
86  using std::make_signed;
+
87  using std::make_unsigned;
+
88 
+
89 # else//GLM_HAS_MAKE_SIGNED
+
90  template <typename genType>
+
91  struct make_signed
+
92  {};
+
93 
+
94  template <>
+
95  struct make_signed<char>
+
96  {
+
97  typedef char type;
+
98  };
+
99 
+
100  template <>
+
101  struct make_signed<short>
+
102  {
+
103  typedef short type;
+
104  };
+
105 
+
106  template <>
+
107  struct make_signed<int>
+
108  {
+
109  typedef int type;
+
110  };
+
111 
+
112  template <>
+
113  struct make_signed<long>
+
114  {
+
115  typedef long type;
+
116  };
+
117 
+
118  template <>
+
119  struct make_signed<long long>
+
120  {
+
121  typedef long long type;
+
122  };
+
123 
+
124  template <>
+
125  struct make_signed<unsigned char>
+
126  {
+
127  typedef char type;
+
128  };
+
129 
+
130  template <>
+
131  struct make_signed<unsigned short>
+
132  {
+
133  typedef short type;
+
134  };
+
135 
+
136  template <>
+
137  struct make_signed<unsigned int>
+
138  {
+
139  typedef int type;
+
140  };
+
141 
+
142  template <>
+
143  struct make_signed<unsigned long>
+
144  {
+
145  typedef long type;
+
146  };
+
147 
+
148  template <>
+
149  struct make_signed<unsigned long long>
+
150  {
+
151  typedef long long type;
+
152  };
+
153 
+
154  template <typename genType>
+
155  struct make_unsigned
+
156  {};
+
157 
+
158  template <>
+
159  struct make_unsigned<char>
+
160  {
+
161  typedef unsigned char type;
+
162  };
+
163 
+
164  template <>
+
165  struct make_unsigned<short>
+
166  {
+
167  typedef unsigned short type;
+
168  };
+
169 
+
170  template <>
+
171  struct make_unsigned<int>
+
172  {
+
173  typedef unsigned int type;
+
174  };
+
175 
+
176  template <>
+
177  struct make_unsigned<long>
+
178  {
+
179  typedef unsigned long type;
+
180  };
+
181 
+
182  template <>
+
183  struct make_unsigned<long long>
+
184  {
+
185  typedef unsigned long long type;
+
186  };
+
187 
+
188  template <>
+
189  struct make_unsigned<unsigned char>
+
190  {
+
191  typedef unsigned char type;
+
192  };
+
193 
+
194  template <>
+
195  struct make_unsigned<unsigned short>
+
196  {
+
197  typedef unsigned short type;
+
198  };
+
199 
+
200  template <>
+
201  struct make_unsigned<unsigned int>
+
202  {
+
203  typedef unsigned int type;
+
204  };
+
205 
+
206  template <>
+
207  struct make_unsigned<unsigned long>
+
208  {
+
209  typedef unsigned long type;
+
210  };
+
211 
+
212  template <>
+
213  struct make_unsigned<unsigned long long>
+
214  {
+
215  typedef unsigned long long type;
+
216  };
+
217 # endif//GLM_HAS_MAKE_SIGNED
218 }//namespace detail
-
219 }//namespace glm
-
220 
-
221 //#include "type_gentype.inl"
-
222 
-
223 #endif//glm_core_type_gentype
+
219 
+
220  typedef detail::int8 int8;
+
221  typedef detail::int16 int16;
+
222  typedef detail::int32 int32;
+
223  typedef detail::int64 int64;
+
224 
+
225  typedef detail::uint8 uint8;
+
226  typedef detail::uint16 uint16;
+
227  typedef detail::uint32 uint32;
+
228  typedef detail::uint64 uint64;
+
229 
+
232 
+
238  typedef detail::lowp_int_t lowp_int;
+
239 
+
245  typedef detail::mediump_int_t mediump_int;
+
246 
+
252  typedef detail::highp_int_t highp_int;
+
253 
+
259  typedef detail::lowp_uint_t lowp_uint;
+
260 
+
266  typedef detail::mediump_uint_t mediump_uint;
+
267 
+
273  typedef detail::highp_uint_t highp_uint;
+
274 
+
275 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
+
276  typedef mediump_int int_t;
+
277 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
+
278  typedef highp_int int_t;
+
279 #elif(!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 lowp_int int_t;
+
283 #else
+
284 # error "GLM error: multiple default precision requested for signed interger types"
+
285 #endif
+
286 
+
287 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
+
288  typedef mediump_uint uint_t;
+
289 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
+
290  typedef highp_uint uint_t;
+
291 #elif(!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 lowp_uint uint_t;
+
295 #else
+
296 # error "GLM error: multiple default precision requested for unsigned interger types"
+
297 #endif
+
298 
+
302  typedef unsigned int uint;
+
303 
+
305 
+
307 // check type sizes
+
308 #ifndef GLM_STATIC_ASSERT_NULL
+
309  GLM_STATIC_ASSERT(sizeof(glm::int8) == 1, "int8 size isn't 1 byte on this platform");
+
310  GLM_STATIC_ASSERT(sizeof(glm::int16) == 2, "int16 size isn't 2 bytes on this platform");
+
311  GLM_STATIC_ASSERT(sizeof(glm::int32) == 4, "int32 size isn't 4 bytes on this platform");
+
312  GLM_STATIC_ASSERT(sizeof(glm::int64) == 8, "int64 size isn't 8 bytes on this platform");
+
313 
+
314  GLM_STATIC_ASSERT(sizeof(glm::uint8) == 1, "uint8 size isn't 1 byte on this platform");
+
315  GLM_STATIC_ASSERT(sizeof(glm::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
+
316  GLM_STATIC_ASSERT(sizeof(glm::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
+
317  GLM_STATIC_ASSERT(sizeof(glm::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
+
318 #endif//GLM_STATIC_ASSERT_NULL
+
319 
+
320 }//namespace glm
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:300
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:308
+
detail::mediump_int_t mediump_int
Medium precision signed integer.
Definition: type_int.hpp:245
+
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:220
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:302
+
detail::lowp_uint_t lowp_uint
Low precision unsigned integer.
Definition: type_int.hpp:259
+
detail::highp_int_t highp_int
High precision signed integer.
Definition: type_int.hpp:252
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:905
+
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:221
+
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:223
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:296
+
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:226
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
detail::lowp_int_t lowp_int
Low precision signed integer.
Definition: type_int.hpp:238
+
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:228
+
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:225
+
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:227
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:913
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:304
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:917
+
detail::mediump_uint_t mediump_uint
Medium precision unsigned integer.
Definition: type_int.hpp:266
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:909
+
detail::highp_uint_t highp_uint
High precision unsigned integer.
Definition: type_int.hpp:273
+
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:222
diff --git a/doc/api/a00120.html b/doc/api/a00120.html new file mode 100644 index 00000000..5f0cac00 --- /dev/null +++ b/doc/api/a00120.html @@ -0,0 +1,270 @@ + + + + + + +0.9.6: type_mat.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
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:

+

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
2010-01-26 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat.hpp.

+
+ + + + diff --git a/doc/api/a00120_source.html b/doc/api/a00120_source.html index 51802882..57cece76 100644 --- a/doc/api/a00120_source.html +++ b/doc/api/a00120_source.html @@ -3,8 +3,8 @@ - -GLM: type_half.hpp Source File + +0.9.6: type_mat.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,43 +41,425 @@
-
type_half.hpp
+
type_mat.hpp
-
1 
-
29 #ifndef glm_core_type_half
-
30 #define glm_core_type_half
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  typedef short hdata;
-
38 
-
39  GLM_FUNC_DECL float toFloat32(hdata value);
-
40  GLM_FUNC_DECL hdata toFloat16(float const & value);
-
41 
-
42 }//namespace detail
-
43 
-
45  //typedef detail::hdata half;
-
46 
-
47 }//namespace glm
-
48 
-
49 #include "type_half.inl"
-
50 
-
51 #endif//glm_core_type_half
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "precision.hpp"
+
32 
+
33 namespace glm{
+
34 namespace detail
+
35 {
+
36  template <typename T, precision P, template <class, precision> class colType, template <class, precision> class rowType>
+
37  struct outerProduct_trait{};
+
38 }//namespace detail
+
39 
+
40  template <typename T, precision P> struct tvec2;
+
41  template <typename T, precision P> struct tvec3;
+
42  template <typename T, precision P> struct tvec4;
+
43  template <typename T, precision P> struct tmat2x2;
+
44  template <typename T, precision P> struct tmat2x3;
+
45  template <typename T, precision P> struct tmat2x4;
+
46  template <typename T, precision P> struct tmat3x2;
+
47  template <typename T, precision P> struct tmat3x3;
+
48  template <typename T, precision P> struct tmat3x4;
+
49  template <typename T, precision P> struct tmat4x2;
+
50  template <typename T, precision P> struct tmat4x3;
+
51  template <typename T, precision P> struct tmat4x4;
+
52 
+
55 
+
61  typedef tmat2x2<float, lowp> lowp_mat2;
+
62 
+
68  typedef tmat2x2<float, mediump> mediump_mat2;
+
69 
+
75  typedef tmat2x2<float, highp> highp_mat2;
+
76 
+
82  typedef tmat2x2<float, lowp> lowp_mat2x2;
+
83 
+
89  typedef tmat2x2<float, mediump> mediump_mat2x2;
+
90 
+
96  typedef tmat2x2<float, highp> highp_mat2x2;
+
97 
+
99 
+
102 
+
108  typedef tmat2x3<float, lowp> lowp_mat2x3;
+
109 
+
115  typedef tmat2x3<float, mediump> mediump_mat2x3;
+
116 
+
122  typedef tmat2x3<float, highp> highp_mat2x3;
+
123 
+
125 
+
128 
+
134  typedef tmat2x4<float, lowp> lowp_mat2x4;
+
135 
+
141  typedef tmat2x4<float, mediump> mediump_mat2x4;
+
142 
+
148  typedef tmat2x4<float, highp> highp_mat2x4;
+
149 
+
151 
+
154 
+
160  typedef tmat3x2<float, lowp> lowp_mat3x2;
+
161 
+
167  typedef tmat3x2<float, mediump> mediump_mat3x2;
+
168 
+
174  typedef tmat3x2<float, highp> highp_mat3x2;
+
175 
+
177 
+
180 
+
186  typedef tmat3x3<float, lowp> lowp_mat3;
+
187 
+
193  typedef tmat3x3<float, mediump> mediump_mat3;
+
194 
+
200  typedef tmat3x3<float, highp> highp_mat3;
+
201 
+
207  typedef tmat3x3<float, lowp> lowp_mat3x3;
+
208 
+
214  typedef tmat3x3<float, mediump> mediump_mat3x3;
+
215 
+
221  typedef tmat3x3<float, highp> highp_mat3x3;
+
222 
+
224 
+
227 
+
233  typedef tmat3x4<float, lowp> lowp_mat3x4;
+
234 
+
240  typedef tmat3x4<float, mediump> mediump_mat3x4;
+
241 
+
247  typedef tmat3x4<float, highp> highp_mat3x4;
+
248 
+
250 
+
253 
+
259  typedef tmat4x2<float, lowp> lowp_mat4x2;
+
260 
+
266  typedef tmat4x2<float, mediump> mediump_mat4x2;
+
267 
+
273  typedef tmat4x2<float, highp> highp_mat4x2;
+
274 
+
276 
+
279 
+
285  typedef tmat4x3<float, lowp> lowp_mat4x3;
+
286 
+
292  typedef tmat4x3<float, mediump> mediump_mat4x3;
+
293 
+
299  typedef tmat4x3<float, highp> highp_mat4x3;
+
300 
+
302 
+
303 
+
306 
+
312  typedef tmat4x4<float, lowp> lowp_mat4;
+
313 
+
319  typedef tmat4x4<float, mediump> mediump_mat4;
+
320 
+
326  typedef tmat4x4<float, highp> highp_mat4;
+
327 
+
333  typedef tmat4x4<float, lowp> lowp_mat4x4;
+
334 
+
340  typedef tmat4x4<float, mediump> mediump_mat4x4;
+
341 
+
347  typedef tmat4x4<float, highp> highp_mat4x4;
+
348 
+
350 
+
353 
+
355  // Float definition
+
356 
+
357 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
358  typedef lowp_mat2x2 mat2x2;
+
359  typedef lowp_mat2x3 mat2x3;
+
360  typedef lowp_mat2x4 mat2x4;
+
361  typedef lowp_mat3x2 mat3x2;
+
362  typedef lowp_mat3x3 mat3x3;
+
363  typedef lowp_mat3x4 mat3x4;
+
364  typedef lowp_mat4x2 mat4x2;
+
365  typedef lowp_mat4x3 mat4x3;
+
366  typedef lowp_mat4x4 mat4x4;
+
367 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
368  typedef mediump_mat2x2 mat2x2;
+
369  typedef mediump_mat2x3 mat2x3;
+
370  typedef mediump_mat2x4 mat2x4;
+
371  typedef mediump_mat3x2 mat3x2;
+
372  typedef mediump_mat3x3 mat3x3;
+
373  typedef mediump_mat3x4 mat3x4;
+
374  typedef mediump_mat4x2 mat4x2;
+
375  typedef mediump_mat4x3 mat4x3;
+
376  typedef mediump_mat4x4 mat4x4;
+
377 #else
+
378  typedef highp_mat2x2 mat2x2;
+
382 
+
386  typedef highp_mat2x3 mat2x3;
+
387 
+
391  typedef highp_mat2x4 mat2x4;
+
392 
+
396  typedef highp_mat3x2 mat3x2;
+
397 
+
401  typedef highp_mat3x3 mat3x3;
+
402 
+
406  typedef highp_mat3x4 mat3x4;
+
407 
+
411  typedef highp_mat4x2 mat4x2;
+
412 
+
416  typedef highp_mat4x3 mat4x3;
+
417 
+
421  typedef highp_mat4x4 mat4x4;
+
422 
+
423 #endif//GLM_PRECISION
+
424 
+
428  typedef mat2x2 mat2;
+
429 
+
433  typedef mat3x3 mat3;
+
434 
+
438  typedef mat4x4 mat4;
+
439 
+
441  // Double definition
+
442 
+
445 
+
450  typedef tmat2x2<double, lowp> lowp_dmat2;
+
451 
+
456  typedef tmat2x2<double, mediump> mediump_dmat2;
+
457 
+
462  typedef tmat2x2<double, highp> highp_dmat2;
+
463 
+
468  typedef tmat2x2<double, lowp> lowp_dmat2x2;
+
469 
+
474  typedef tmat2x2<double, mediump> mediump_dmat2x2;
+
475 
+
480  typedef tmat2x2<double, highp> highp_dmat2x2;
+
481 
+
483 
+
486 
+
491  typedef tmat2x3<double, lowp> lowp_dmat2x3;
+
492 
+
497  typedef tmat2x3<double, mediump> mediump_dmat2x3;
+
498 
+
503  typedef tmat2x3<double, highp> highp_dmat2x3;
+
504 
+
506 
+
509 
+
514  typedef tmat2x4<double, lowp> lowp_dmat2x4;
+
515 
+
520  typedef tmat2x4<double, mediump> mediump_dmat2x4;
+
521 
+
526  typedef tmat2x4<double, highp> highp_dmat2x4;
+
527 
+
529 
+
532 
+
537  typedef tmat3x2<double, lowp> lowp_dmat3x2;
+
538 
+
543  typedef tmat3x2<double, mediump> mediump_dmat3x2;
+
544 
+
549  typedef tmat3x2<double, highp> highp_dmat3x2;
+
550 
+
552 
+
555 
+
560  typedef tmat3x3<float, lowp> lowp_dmat3;
+
561 
+
566  typedef tmat3x3<double, mediump> mediump_dmat3;
+
567 
+
572  typedef tmat3x3<double, highp> highp_dmat3;
+
573 
+
578  typedef tmat3x3<double, lowp> lowp_dmat3x3;
+
579 
+
584  typedef tmat3x3<double, mediump> mediump_dmat3x3;
+
585 
+
590  typedef tmat3x3<double, highp> highp_dmat3x3;
+
591 
+
593 
+
596 
+
601  typedef tmat3x4<double, lowp> lowp_dmat3x4;
+
602 
+
607  typedef tmat3x4<double, mediump> mediump_dmat3x4;
+
608 
+
613  typedef tmat3x4<double, highp> highp_dmat3x4;
+
614 
+
616 
+
619 
+
624  typedef tmat4x2<double, lowp> lowp_dmat4x2;
+
625 
+
630  typedef tmat4x2<double, mediump> mediump_dmat4x2;
+
631 
+
636  typedef tmat4x2<double, highp> highp_dmat4x2;
+
637 
+
639 
+
642 
+
647  typedef tmat4x3<double, lowp> lowp_dmat4x3;
+
648 
+
653  typedef tmat4x3<double, mediump> mediump_dmat4x3;
+
654 
+
659  typedef tmat4x3<double, highp> highp_dmat4x3;
+
660 
+
662 
+
665 
+
670  typedef tmat4x4<double, lowp> lowp_dmat4;
+
671 
+
676  typedef tmat4x4<double, mediump> mediump_dmat4;
+
677 
+
682  typedef tmat4x4<double, highp> highp_dmat4;
+
683 
+
688  typedef tmat4x4<double, lowp> lowp_dmat4x4;
+
689 
+
694  typedef tmat4x4<double, mediump> mediump_dmat4x4;
+
695 
+
700  typedef tmat4x4<double, highp> highp_dmat4x4;
+
701 
+
703 
+
704 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
+
705  typedef lowp_dmat2x2 dmat2x2;
+
706  typedef lowp_dmat2x3 dmat2x3;
+
707  typedef lowp_dmat2x4 dmat2x4;
+
708  typedef lowp_dmat3x2 dmat3x2;
+
709  typedef lowp_dmat3x3 dmat3x3;
+
710  typedef lowp_dmat3x4 dmat3x4;
+
711  typedef lowp_dmat4x2 dmat4x2;
+
712  typedef lowp_dmat4x3 dmat4x3;
+
713  typedef lowp_dmat4x4 dmat4x4;
+
714 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
715  typedef mediump_dmat2x2 dmat2x2;
+
716  typedef mediump_dmat2x3 dmat2x3;
+
717  typedef mediump_dmat2x4 dmat2x4;
+
718  typedef mediump_dmat3x2 dmat3x2;
+
719  typedef mediump_dmat3x3 dmat3x3;
+
720  typedef mediump_dmat3x4 dmat3x4;
+
721  typedef mediump_dmat4x2 dmat4x2;
+
722  typedef mediump_dmat4x3 dmat4x3;
+
723  typedef mediump_dmat4x4 dmat4x4;
+
724 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+
725 
+
729  typedef highp_dmat2x2 dmat2;
+
730 
+
734  typedef highp_dmat3x3 dmat3;
+
735 
+
739  typedef highp_dmat4x4 dmat4;
+
740 
+
744  typedef highp_dmat2x2 dmat2x2;
+
745 
+
749  typedef highp_dmat2x3 dmat2x3;
+
750 
+
754  typedef highp_dmat2x4 dmat2x4;
+
755 
+
759  typedef highp_dmat3x2 dmat3x2;
+
760 
+
764  typedef highp_dmat3x3 dmat3x3;
+
765 
+
769  typedef highp_dmat3x4 dmat3x4;
+
770 
+
774  typedef highp_dmat4x2 dmat4x2;
+
775 
+
779  typedef highp_dmat4x3 dmat4x3;
+
780 
+
784  typedef highp_dmat4x4 dmat4x4;
+
785 
+
786 #endif//GLM_PRECISION
+
787 
+
789 }//namespace glm
+
tmat2x2< double, lowp > lowp_dmat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:450
+
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:433
+
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:200
+
tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:186
+
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:233
+
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:428
+
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:134
+
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:744
+
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:247
+
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:421
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:438
+
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:779
+
tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:456
+
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:391
+
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:347
+
tmat4x4< double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:688
+
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:240
+
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:68
+
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:396
+
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:401
+
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:160
+
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:312
+
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:416
+
tmat3x4< double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:607
+
tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:462
+
tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:647
+
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:122
+
tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:543
+
tmat4x4< double, highp > highp_dmat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:682
+
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:82
+
tmat2x3< double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:491
+
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:273
+
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:769
+
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:292
+
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:108
+
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:333
+
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:148
+
tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:670
+
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:96
+
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:340
+
tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:636
+
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:411
+
tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:700
+
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:89
+
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:115
+
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:754
+
tmat2x3< double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:497
+
tmat3x3< double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:584
+
tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:537
+
tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:624
+
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:729
+
tmat4x4< double, mediump > mediump_dmat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:676
+
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:259
+
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:266
+
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:784
+
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:326
+
tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:630
+
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:381
+
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:221
+
tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:514
+
tmat2x2< double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:474
+
tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:520
+
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:386
+
Definition: _noise.hpp:31
+
highp_dmat3x2 dmat3x2
3 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:759
+
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:764
+
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:167
+
tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:653
+
tmat3x3< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:560
+
tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:613
+
tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:480
+
tmat3x3< double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:578
+
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:749
+
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:299
+
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:61
+
tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:566
+
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:285
+
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:174
+
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:75
+
tmat2x4< double, highp > highp_dmat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:526
+
tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:601
+
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:141
+
tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:214
+
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:406
+
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:319
+
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:207
+
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:193
+
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:734
+
tmat3x2< double, highp > highp_dmat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:549
+
OpenGL Mathematics (glm.g-truc.net)
+
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:739
+
tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:694
+
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:774
+
tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:572
+
tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:590
+
tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:659
+
tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:468
+
tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:503
diff --git a/doc/api/a00121.html b/doc/api/a00121.html new file mode 100644 index 00000000..df89a1ab --- /dev/null +++ b/doc/api/a00121.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat2x2.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2005-01-27 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat2x2.hpp.

+
+ + + + diff --git a/doc/api/a00121_source.html b/doc/api/a00121_source.html index 79da92bc..241dc0b1 100644 --- a/doc/api/a00121_source.html +++ b/doc/api/a00121_source.html @@ -3,8 +3,8 @@ - -GLM: type_int.hpp Source File + +0.9.6: type_mat2x2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,170 +41,199 @@
-
type_int.hpp
+
type_mat2x2.hpp
-
1 
-
29 #ifndef glm_core_type_int
-
30 #define glm_core_type_int
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if GLM_HAS_EXTENDED_INTEGER_TYPE
-
35 # include <cstdint>
-
36 #endif
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41 # if GLM_HAS_EXTENDED_INTEGER_TYPE
-
42  typedef std::int8_t int8;
-
43  typedef std::int16_t int16;
-
44  typedef std::int32_t int32;
-
45  typedef std::int64_t int64;
-
46 
-
47  typedef std::uint8_t uint8;
-
48  typedef std::uint16_t uint16;
-
49  typedef std::uint32_t uint32;
-
50  typedef std::uint64_t uint64;
-
51 # else
-
52 # if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
-
53  typedef int64_t sint64;
-
54  typedef uint64_t uint64;
-
55 # elif(GLM_COMPILER & GLM_COMPILER_VC)
-
56  typedef signed __int64 sint64;
-
57  typedef unsigned __int64 uint64;
-
58 # elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC | GLM_COMPILER_CLANG))
-
59  __extension__ typedef signed long long sint64;
-
60  __extension__ typedef unsigned long long uint64;
-
61 # elif(GLM_COMPILER & GLM_COMPILER_BC)
-
62  typedef Int64 sint64;
-
63  typedef Uint64 uint64;
-
64 # else//unknown compiler
-
65  typedef signed long long sint64;
-
66  typedef unsigned long long uint64;
-
67 # endif//GLM_COMPILER
-
68 
-
69  typedef signed char int8;
-
70  typedef signed short int16;
-
71  typedef signed int int32;
-
72  typedef sint64 int64;
-
73 
-
74  typedef unsigned char uint8;
-
75  typedef unsigned short uint16;
-
76  typedef unsigned int uint32;
-
77  typedef uint64 uint64;
-
78 #endif//
-
79 
-
80  typedef signed int lowp_int_t;
-
81  typedef signed int mediump_int_t;
-
82  typedef signed int highp_int_t;
-
83 
-
84  typedef unsigned int lowp_uint_t;
-
85  typedef unsigned int mediump_uint_t;
-
86  typedef unsigned int highp_uint_t;
-
87 }//namespace detail
-
88 
-
89  typedef detail::int8 int8;
-
90  typedef detail::int16 int16;
-
91  typedef detail::int32 int32;
-
92  typedef detail::int64 int64;
-
93 
-
94  typedef detail::uint8 uint8;
-
95  typedef detail::uint16 uint16;
-
96  typedef detail::uint32 uint32;
-
97  typedef detail::uint64 uint64;
-
98 
-
101 
-
107  typedef detail::lowp_int_t lowp_int;
-
108 
-
114  typedef detail::mediump_int_t mediump_int;
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec2.hpp"
+
33 #include "type_mat.hpp"
+
34 #include <limits>
+
35 #include <cstddef>
+
36 
+
37 namespace glm
+
38 {
+
39  template <typename T, precision P = defaultp>
+
40  struct tmat2x2
+
41  {
+
42  typedef T value_type;
+
43  typedef std::size_t size_type;
+
44  typedef tvec2<T, P> col_type;
+
45  typedef tvec2<T, P> row_type;
+
46  typedef tmat2x2<T, P> type;
+
47  typedef tmat2x2<T, P> transpose_type;
+
48 
+
49 # ifdef GLM_FORCE_SIZE_FUNC
+
50  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
51 # else
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 # endif//GLM_FORCE_SIZE_FUNC
+
54 
+
55  template <typename U, precision Q>
+
56  friend tvec2<U, Q> operator/(tmat2x2<U, Q> const & m, tvec2<U, Q> const & v);
+
57  template <typename U, precision Q>
+
58  friend tvec2<U, Q> operator/(tvec2<U, Q> const & v, tmat2x2<U, Q> const & m);
+
59 
+
60  private:
+
62  col_type value[2];
+
64 
+
65  public:
+
67  // Constructors
+
68  GLM_FUNC_DECL tmat2x2();
+
69  template <precision Q>
+
70  GLM_FUNC_DECL tmat2x2(tmat2x2<T, Q> const & m);
+
71 
+
72  GLM_FUNC_DECL explicit tmat2x2(ctor);
+
73  GLM_FUNC_DECL explicit tmat2x2(T const & x);
+
74  GLM_FUNC_DECL tmat2x2(
+
75  T const & x1, T const & y1,
+
76  T const & x2, T const & y2);
+
77  GLM_FUNC_DECL tmat2x2(
+
78  col_type const & v1,
+
79  col_type const & v2);
+
80 
+
82  // Conversions
+
83  template <typename U, typename V, typename M, typename N>
+
84  GLM_FUNC_DECL tmat2x2(
+
85  U const & x1, V const & y1,
+
86  M const & x2, N const & y2);
+
87 
+
88  template <typename U, typename V>
+
89  GLM_FUNC_DECL tmat2x2(
+
90  tvec2<U, P> const & v1,
+
91  tvec2<V, P> const & v2);
+
92 
+
94  // Matrix conversions
+
95 
+
96 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
97  template <typename U, precision Q>
+
98  GLM_FUNC_DECL explicit tmat2x2(tmat2x2<U, Q> const & m);
+
99 # else
+
100  template <typename U, precision Q>
+
101  GLM_FUNC_DECL tmat2x2(tmat2x2<U, Q> const & m);
+
102 # endif
+
103 
+
104  GLM_FUNC_DECL explicit tmat2x2(tmat3x3<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat2x2(tmat4x4<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat2x2(tmat2x3<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat2x2(tmat3x2<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat2x2(tmat2x4<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat2x2(tmat4x2<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat2x2(tmat3x4<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat2x2(tmat4x3<T, P> const & x);
+
112 
+
114  // Accesses
115 
-
121  typedef detail::highp_int_t highp_int;
-
122 
-
128  typedef detail::lowp_uint_t lowp_uint;
-
129 
-
135  typedef detail::mediump_uint_t mediump_uint;
-
136 
-
142  typedef detail::highp_uint_t highp_uint;
-
143 
-
144 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
145  typedef mediump_int int_t;
-
146 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
147  typedef highp_int int_t;
-
148 #elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
149  typedef mediump_int int_t;
-
150 #elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT))
-
151  typedef lowp_int int_t;
-
152 #else
-
153 # error "GLM error: multiple default precision requested for signed interger types"
-
154 #endif
-
155 
-
156 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
157  typedef mediump_uint uint_t;
-
158 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
159  typedef highp_uint uint_t;
-
160 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
161  typedef mediump_uint uint_t;
-
162 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT))
-
163  typedef lowp_uint uint_t;
-
164 #else
-
165 # error "GLM error: multiple default precision requested for unsigned interger types"
-
166 #endif
-
167 
-
171  typedef unsigned int uint;
-
172 
+
116  GLM_FUNC_DECL col_type & operator[](length_t i);
+
117  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
118 
+
119  template <typename U>
+
120  GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<U, P> const & m);
+
121  template <typename U>
+
122  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(U s);
+
123  template <typename U>
+
124  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(tmat2x2<U, P> const & m);
+
125  template <typename U>
+
126  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(U s);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(tmat2x2<U, P> const & m);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(U s);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(tmat2x2<U, P> const & m);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(U s);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(tmat2x2<U, P> const & m);
+
137 
+
139  // Increment and decrement operators
+
140 
+
141  GLM_FUNC_DECL tmat2x2<T, P> & operator++ ();
+
142  GLM_FUNC_DECL tmat2x2<T, P> & operator-- ();
+
143  GLM_FUNC_DECL tmat2x2<T, P> operator++(int);
+
144  GLM_FUNC_DECL tmat2x2<T, P> operator--(int);
+
145  };
+
146 
+
147  // Binary operators
+
148  template <typename T, precision P>
+
149  GLM_FUNC_DECL tmat2x2<T, P> operator+(tmat2x2<T, P> const & m, T const & s);
+
150 
+
151  template <typename T, precision P>
+
152  GLM_FUNC_DECL tmat2x2<T, P> operator+(T const & s, tmat2x2<T, P> const & m);
+
153 
+
154  template <typename T, precision P>
+
155  GLM_FUNC_DECL tmat2x2<T, P> operator+(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
+
156 
+
157  template <typename T, precision P>
+
158  GLM_FUNC_DECL tmat2x2<T, P> operator-(tmat2x2<T, P> const & m, T const & s);
+
159 
+
160  template <typename T, precision P>
+
161  GLM_FUNC_DECL tmat2x2<T, P> operator-(T const & s, tmat2x2<T, P> const & m);
+
162 
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tmat2x2<T, P> operator-(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
+
165 
+
166  template <typename T, precision P>
+
167  GLM_FUNC_DECL tmat2x2<T, P> operator*(tmat2x2<T, P> const & m, T const & s);
+
168 
+
169  template <typename T, precision P>
+
170  GLM_FUNC_DECL tmat2x2<T, P> operator*(T const & s, tmat2x2<T, P> const & m);
+
171 
+
172  template <typename T, precision P>
+
173  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator*(tmat2x2<T, P> const & m, typename tmat2x2<T, P>::row_type const & v);
174 
-
176 // check type sizes
-
177 #ifndef GLM_STATIC_ASSERT_NULL
-
178  GLM_STATIC_ASSERT(sizeof(glm::int8) == 1, "int8 size isn't 1 byte on this platform");
-
179  GLM_STATIC_ASSERT(sizeof(glm::int16) == 2, "int16 size isn't 2 bytes on this platform");
-
180  GLM_STATIC_ASSERT(sizeof(glm::int32) == 4, "int32 size isn't 4 bytes on this platform");
-
181  GLM_STATIC_ASSERT(sizeof(glm::int64) == 8, "int64 size isn't 8 bytes on this platform");
-
182 
-
183  GLM_STATIC_ASSERT(sizeof(glm::uint8) == 1, "uint8 size isn't 1 byte on this platform");
-
184  GLM_STATIC_ASSERT(sizeof(glm::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
-
185  GLM_STATIC_ASSERT(sizeof(glm::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
-
186  GLM_STATIC_ASSERT(sizeof(glm::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
-
187 #endif//GLM_STATIC_ASSERT_NULL
-
188 
-
189 }//namespace glm
-
190 
-
191 #endif//glm_core_type_int
-
detail::highp_int_t highp_int
High precision signed integer.
Definition: type_int.hpp:121
-
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:89
-
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
-
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:90
-
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:895
-
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:305
-
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:903
-
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:92
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
-
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:907
-
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:297
-
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
-
detail::lowp_uint_t lowp_uint
Low precision unsigned integer.
Definition: type_int.hpp:128
-
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:293
-
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:899
-
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:91
-
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:301
-
detail::mediump_uint_t mediump_uint
Medium precision unsigned integer.
Definition: type_int.hpp:135
-
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
-
detail::mediump_int_t mediump_int
Medium precision signed integer.
Definition: type_int.hpp:114
-
detail::highp_uint_t highp_uint
High precision unsigned integer.
Definition: type_int.hpp:142
-
detail::lowp_int_t lowp_int
Low precision signed integer.
Definition: type_int.hpp:107
-
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
+
175  template <typename T, precision P>
+
176  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator*(typename tmat2x2<T, P>::col_type const & v, tmat2x2<T, P> const & m);
+
177 
+
178  template <typename T, precision P>
+
179  GLM_FUNC_DECL tmat2x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
+
180 
+
181  template <typename T, precision P>
+
182  GLM_FUNC_DECL tmat3x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat3x2<T, P> const & m2);
+
183 
+
184  template <typename T, precision P>
+
185  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat2x2<T, P> const & m1, tmat4x2<T, P> const & m2);
+
186 
+
187  template <typename T, precision P>
+
188  GLM_FUNC_DECL tmat2x2<T, P> operator/(tmat2x2<T, P> const & m, T const & s);
+
189 
+
190  template <typename T, precision P>
+
191  GLM_FUNC_DECL tmat2x2<T, P> operator/(T const & s, tmat2x2<T, P> const & m);
+
192 
+
193  template <typename T, precision P>
+
194  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator/(tmat2x2<T, P> const & m, typename tmat2x2<T, P>::row_type const & v);
+
195 
+
196  template <typename T, precision P>
+
197  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator/(typename tmat2x2<T, P>::col_type const & v, tmat2x2<T, P> const & m);
+
198 
+
199  template <typename T, precision P>
+
200  GLM_FUNC_DECL tmat2x2<T, P> operator/(tmat2x2<T, P> const & m1, tmat2x2<T, P> const & m2);
+
201 
+
202  // Unary constant operators
+
203  template <typename T, precision P>
+
204  GLM_FUNC_DECL tmat2x2<T, P> const operator-(tmat2x2<T, P> const & m);
+
205 } //namespace glm
+
206 
+
207 #ifndef GLM_EXTERNAL_TEMPLATE
+
208 #include "type_mat2x2.inl"
+
209 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00122.html b/doc/api/a00122.html new file mode 100644 index 00000000..ea24d801 --- /dev/null +++ b/doc/api/a00122.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat2x3.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2006-10-01 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat2x3.hpp.

+
+ + + + diff --git a/doc/api/a00122_source.html b/doc/api/a00122_source.html index ba2c4d08..e0504094 100644 --- a/doc/api/a00122_source.html +++ b/doc/api/a00122_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat.hpp Source File + +0.9.6: type_mat2x3.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,429 +41,205 @@
-
type_mat.hpp
+
type_mat2x3.hpp
-
1 
-
29 #ifndef glm_core_type_mat
-
30 #define glm_core_type_mat
-
31 
-
32 #include "precision.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T, precision P> struct tvec2;
-
38  template <typename T, precision P> struct tvec3;
-
39  template <typename T, precision P> struct tvec4;
-
40  template <typename T, precision P> struct tmat2x2;
-
41  template <typename T, precision P> struct tmat2x3;
-
42  template <typename T, precision P> struct tmat2x4;
-
43  template <typename T, precision P> struct tmat3x2;
-
44  template <typename T, precision P> struct tmat3x3;
-
45  template <typename T, precision P> struct tmat3x4;
-
46  template <typename T, precision P> struct tmat4x2;
-
47  template <typename T, precision P> struct tmat4x3;
-
48  template <typename T, precision P> struct tmat4x4;
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec2.hpp"
+
33 #include "type_vec3.hpp"
+
34 #include "type_mat.hpp"
+
35 #include <limits>
+
36 #include <cstddef>
+
37 
+
38 namespace glm
+
39 {
+
40  template <typename T, precision P = defaultp>
+
41  struct tmat2x3
+
42  {
+
43  typedef T value_type;
+
44  typedef std::size_t size_type;
+
45  typedef tvec3<T, P> col_type;
+
46  typedef tvec2<T, P> row_type;
+
47  typedef tmat2x3<T, P> type;
+
48  typedef tmat3x2<T, P> transpose_type;
49 
-
50  template <typename T, precision P, template <class, precision> class colType, template <class, precision> class rowType>
-
51  struct outerProduct_trait{};
-
52 
-
53  template <template <class, precision> class matType, typename T, precision P>
-
54  struct compute_inverse{};
-
55 }//namespace detail
-
56 
-
59 
-
65  typedef detail::tmat2x2<float, lowp> lowp_mat2;
-
66 
-
72  typedef detail::tmat2x2<float, mediump> mediump_mat2;
-
73 
-
79  typedef detail::tmat2x2<float, highp> highp_mat2;
-
80 
-
86  typedef detail::tmat2x2<float, lowp> lowp_mat2x2;
-
87 
-
93  typedef detail::tmat2x2<float, mediump> mediump_mat2x2;
-
94 
-
100  typedef detail::tmat2x2<float, highp> highp_mat2x2;
-
101 
-
103 
-
106 
-
112  typedef detail::tmat2x3<float, lowp> lowp_mat2x3;
-
113 
-
119  typedef detail::tmat2x3<float, mediump> mediump_mat2x3;
-
120 
-
126  typedef detail::tmat2x3<float, highp> highp_mat2x3;
-
127 
-
129 
-
132 
-
138  typedef detail::tmat2x4<float, lowp> lowp_mat2x4;
-
139 
-
145  typedef detail::tmat2x4<float, mediump> mediump_mat2x4;
-
146 
-
152  typedef detail::tmat2x4<float, highp> highp_mat2x4;
-
153 
-
155 
-
158 
-
164  typedef detail::tmat3x2<float, lowp> lowp_mat3x2;
-
165 
-
171  typedef detail::tmat3x2<float, mediump> mediump_mat3x2;
-
172 
-
178  typedef detail::tmat3x2<float, highp> highp_mat3x2;
-
179 
-
181 
-
184 
-
190  typedef detail::tmat3x3<float, lowp> lowp_mat3;
-
191 
-
197  typedef detail::tmat3x3<float, mediump> mediump_mat3;
-
198 
-
204  typedef detail::tmat3x3<float, highp> highp_mat3;
-
205 
-
211  typedef detail::tmat3x3<float, lowp> lowp_mat3x3;
-
212 
-
218  typedef detail::tmat3x3<float, mediump> mediump_mat3x3;
-
219 
-
225  typedef detail::tmat3x3<float, highp> highp_mat3x3;
-
226 
-
228 
-
231 
-
237  typedef detail::tmat3x4<float, lowp> lowp_mat3x4;
-
238 
-
244  typedef detail::tmat3x4<float, mediump> mediump_mat3x4;
-
245 
-
251  typedef detail::tmat3x4<float, highp> highp_mat3x4;
-
252 
-
254 
-
257 
-
263  typedef detail::tmat4x2<float, lowp> lowp_mat4x2;
-
264 
-
270  typedef detail::tmat4x2<float, mediump> mediump_mat4x2;
-
271 
-
277  typedef detail::tmat4x2<float, highp> highp_mat4x2;
-
278 
-
280 
-
283 
-
289  typedef detail::tmat4x3<float, lowp> lowp_mat4x3;
-
290 
-
296  typedef detail::tmat4x3<float, mediump> mediump_mat4x3;
-
297 
-
303  typedef detail::tmat4x3<float, highp> highp_mat4x3;
-
304 
-
306 
-
307 
-
310 
-
316  typedef detail::tmat4x4<float, lowp> lowp_mat4;
-
317 
-
323  typedef detail::tmat4x4<float, mediump> mediump_mat4;
-
324 
-
330  typedef detail::tmat4x4<float, highp> highp_mat4;
-
331 
-
337  typedef detail::tmat4x4<float, lowp> lowp_mat4x4;
-
338 
-
344  typedef detail::tmat4x4<float, mediump> mediump_mat4x4;
-
345 
-
351  typedef detail::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 
- -
391 
- -
396 
- -
401 
- -
406 
- -
411 
- -
416 
- -
421 
- -
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 detail::tmat2x2<double, lowp> lowp_dmat2;
-
455 
-
460  typedef detail::tmat2x2<double, mediump> mediump_dmat2;
-
461 
-
466  typedef detail::tmat2x2<double, highp> highp_dmat2;
-
467 
-
472  typedef detail::tmat2x2<double, lowp> lowp_dmat2x2;
-
473 
-
478  typedef detail::tmat2x2<double, mediump> mediump_dmat2x2;
-
479 
-
484  typedef detail::tmat2x2<double, highp> highp_dmat2x2;
-
485 
-
487 
-
490 
-
495  typedef detail::tmat2x3<double, lowp> lowp_dmat2x3;
-
496 
-
501  typedef detail::tmat2x3<double, mediump> mediump_dmat2x3;
-
502 
-
507  typedef detail::tmat2x3<double, highp> highp_dmat2x3;
-
508 
-
510 
-
513 
-
518  typedef detail::tmat2x4<double, lowp> lowp_dmat2x4;
-
519 
-
524  typedef detail::tmat2x4<double, mediump> mediump_dmat2x4;
-
525 
-
530  typedef detail::tmat2x4<double, highp> highp_dmat2x4;
-
531 
-
533 
-
536 
-
541  typedef detail::tmat3x2<double, lowp> lowp_dmat3x2;
-
542 
-
547  typedef detail::tmat3x2<double, mediump> mediump_dmat3x2;
-
548 
-
553  typedef detail::tmat3x2<double, highp> highp_dmat3x2;
-
554 
-
556 
-
559 
-
564  typedef detail::tmat3x3<float, lowp> lowp_dmat3;
-
565 
-
570  typedef detail::tmat3x3<double, mediump> mediump_dmat3;
-
571 
-
576  typedef detail::tmat3x3<double, highp> highp_dmat3;
-
577 
-
582  typedef detail::tmat3x3<double, lowp> lowp_dmat3x3;
-
583 
-
588  typedef detail::tmat3x3<double, mediump> mediump_dmat3x3;
-
589 
-
594  typedef detail::tmat3x3<double, highp> highp_dmat3x3;
-
595 
-
597 
-
600 
-
605  typedef detail::tmat3x4<double, lowp> lowp_dmat3x4;
-
606 
-
611  typedef detail::tmat3x4<double, mediump> mediump_dmat3x4;
-
612 
-
617  typedef detail::tmat3x4<double, highp> highp_dmat3x4;
-
618 
-
620 
-
623 
-
628  typedef detail::tmat4x2<double, lowp> lowp_dmat4x2;
-
629 
-
634  typedef detail::tmat4x2<double, mediump> mediump_dmat4x2;
-
635 
-
640  typedef detail::tmat4x2<double, highp> highp_dmat4x2;
-
641 
-
643 
-
646 
-
651  typedef detail::tmat4x3<double, lowp> lowp_dmat4x3;
-
652 
-
657  typedef detail::tmat4x3<double, mediump> mediump_dmat4x3;
-
658 
-
663  typedef detail::tmat4x3<double, highp> highp_dmat4x3;
-
664 
-
666 
-
669 
-
674  typedef detail::tmat4x4<double, lowp> lowp_dmat4;
-
675 
-
680  typedef detail::tmat4x4<double, mediump> mediump_dmat4;
-
681 
-
686  typedef detail::tmat4x4<double, highp> highp_dmat4;
-
687 
-
692  typedef detail::tmat4x4<double, lowp> lowp_dmat4x4;
-
693 
-
698  typedef detail::tmat4x4<double, mediump> mediump_dmat4x4;
-
699 
-
704  typedef detail::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 
- -
734 
- -
739 
- -
744 
- -
749 
- -
754 
- -
759 
- -
764 
- -
769 
- -
774 
- -
779 
- -
784 
- -
789 
-
790 #endif//GLM_PRECISION
-
791 
-
793 }//namespace glm
-
794 
-
795 #endif//glm_core_type_mat
-
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
-
detail::tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:704
-
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:415
-
detail::tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:79
-
detail::tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:570
-
detail::tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
-
highp_dmat3x2 dmat3x2
3 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:763
-
detail::tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:197
-
detail::tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
-
detail::tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:472
-
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:758
-
detail::tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:617
-
detail::tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:605
-
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:405
-
detail::tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:72
-
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:420
-
detail::tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:351
-
detail::tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:634
-
detail::tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:296
-
detail::tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:316
-
detail::tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
-
detail::tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
-
detail::tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
-
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
-
detail::tmat2x3< double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:501
-
detail::tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:330
-
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:778
-
detail::tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:204
-
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
-
detail::tmat2x2< double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:478
-
detail::tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:303
-
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:768
-
detail::tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:524
-
detail::tmat3x4< double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:611
-
detail::tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:484
-
detail::tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
-
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:738
-
detail::tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:344
-
detail::tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:65
-
detail::tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:190
-
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:748
-
detail::tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:594
-
detail::tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
-
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:783
-
detail::tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:289
-
detail::tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
-
detail::tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:663
-
detail::tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:518
-
detail::tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
-
detail::tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
-
detail::tmat2x3< double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:495
-
detail::tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
-
detail::tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:507
-
detail::tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:576
-
detail::tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:674
-
detail::tmat4x4< double, mediump > mediump_dmat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:680
-
detail::tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:547
-
detail::tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:541
-
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:410
-
detail::tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
-
detail::tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
-
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:773
-
detail::tmat4x4< double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:692
-
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:385
-
detail::tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
-
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:390
-
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:395
-
detail::tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
-
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:400
-
detail::tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
-
detail::tmat3x3< double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:582
-
detail::tmat3x3< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:564
-
detail::tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
-
detail::tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:323
-
detail::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
-
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:437
-
detail::tmat3x2< double, highp > highp_dmat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:553
-
detail::tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
-
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:432
-
detail::tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:698
-
detail::tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
-
detail::tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:337
-
detail::tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
-
detail::tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:640
-
detail::tmat3x3< double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:588
-
detail::tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:466
-
detail::tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:460
-
detail::tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:657
-
detail::tmat2x4< double, highp > highp_dmat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:530
-
detail::tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:651
-
detail::tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
-
detail::tmat2x2< double, lowp > lowp_dmat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:454
-
detail::tmat4x4< double, highp > highp_dmat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:686
-
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:753
+
50 # ifdef GLM_FORCE_SIZE_FUNC
+
51  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
52 # else
+
53  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
54 # endif//GLM_FORCE_SIZE_FUNC
+
55 
+
56  private:
+
58  col_type value[2];
+
60 
+
61  public:
+
62  // Constructors
+
63  GLM_FUNC_DECL tmat2x3();
+
64  template <precision Q>
+
65  GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);
+
66 
+
67  GLM_FUNC_DECL explicit tmat2x3(ctor);
+
68  GLM_FUNC_DECL explicit tmat2x3(T const & s);
+
69  GLM_FUNC_DECL tmat2x3(
+
70  T const & x0, T const & y0, T const & z0,
+
71  T const & x1, T const & y1, T const & z1);
+
72  GLM_FUNC_DECL tmat2x3(
+
73  col_type const & v0,
+
74  col_type const & v1);
+
75 
+
77  // Conversions
+
78 
+
79  template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
+
80  GLM_FUNC_DECL tmat2x3(
+
81  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
82  X2 const & x2, Y2 const & y2, Z2 const & z2);
+
83 
+
84  template <typename U, typename V>
+
85  GLM_FUNC_DECL tmat2x3(
+
86  tvec3<U, P> const & v1,
+
87  tvec3<V, P> const & v2);
+
88 
+
90  // Matrix conversion
+
91 
+
92 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
93  template <typename U, precision Q>
+
94  GLM_FUNC_DECL explicit tmat2x3(tmat2x3<U, Q> const & m);
+
95 # else
+
96  template <typename U, precision Q>
+
97  GLM_FUNC_DECL tmat2x3(tmat2x3<U, Q> const & m);
+
98 # endif
+
99 
+
100  GLM_FUNC_DECL explicit tmat2x3(tmat2x2<T, P> const & x);
+
101  GLM_FUNC_DECL explicit tmat2x3(tmat3x3<T, P> const & x);
+
102  GLM_FUNC_DECL explicit tmat2x3(tmat4x4<T, P> const & x);
+
103  GLM_FUNC_DECL explicit tmat2x3(tmat2x4<T, P> const & x);
+
104  GLM_FUNC_DECL explicit tmat2x3(tmat3x2<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat2x3(tmat3x4<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat2x3(tmat4x2<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat2x3(tmat4x3<T, P> const & x);
+
108 
+
109  // Accesses
+
110  GLM_FUNC_DECL col_type & operator[](length_t i);
+
111  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
112 
+
113  template <typename U>
+
114  GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<U, P> const & m);
+
115  template <typename U>
+
116  GLM_FUNC_DECL tmat2x3<T, P> & operator+= (U s);
+
117  template <typename U>
+
118  GLM_FUNC_DECL tmat2x3<T, P> & operator+= (tmat2x3<U, P> const & m);
+
119  template <typename U>
+
120  GLM_FUNC_DECL tmat2x3<T, P> & operator-= (U s);
+
121  template <typename U>
+
122  GLM_FUNC_DECL tmat2x3<T, P> & operator-= (tmat2x3<U, P> const & m);
+
123  template <typename U>
+
124  GLM_FUNC_DECL tmat2x3<T, P> & operator*= (U s);
+
125  template <typename U>
+
126  GLM_FUNC_DECL tmat2x3<T, P> & operator/= (U s);
+
127 
+
129  // Increment and decrement operators
+
130 
+
131  GLM_FUNC_DECL tmat2x3<T, P> & operator++ ();
+
132  GLM_FUNC_DECL tmat2x3<T, P> & operator-- ();
+
133  GLM_FUNC_DECL tmat2x3<T, P> operator++(int);
+
134  GLM_FUNC_DECL tmat2x3<T, P> operator--(int);
+
135  };
+
136 
+
137  // Binary operators
+
138 
+
139  template <typename T, precision P>
+
140  GLM_FUNC_DECL tmat2x3<T, P> operator+ (
+
141  tmat2x3<T, P> const & m,
+
142  T const & s);
+
143 
+
144  template <typename T, precision P>
+
145  GLM_FUNC_DECL tmat2x3<T, P> operator+ (
+
146  tmat2x3<T, P> const & m1,
+
147  tmat2x3<T, P> const & m2);
+
148 
+
149  template <typename T, precision P>
+
150  GLM_FUNC_DECL tmat2x3<T, P> operator- (
+
151  tmat2x3<T, P> const & m,
+
152  T const & s);
+
153 
+
154  template <typename T, precision P>
+
155  GLM_FUNC_DECL tmat2x3<T, P> operator- (
+
156  tmat2x3<T, P> const & m1,
+
157  tmat2x3<T, P> const & m2);
+
158 
+
159  template <typename T, precision P>
+
160  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
161  tmat2x3<T, P> const & m,
+
162  T const & s);
+
163 
+
164  template <typename T, precision P>
+
165  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
166  T const & s,
+
167  tmat2x3<T, P> const & m);
+
168 
+
169  template <typename T, precision P>
+
170  GLM_FUNC_DECL typename tmat2x3<T, P>::col_type operator* (
+
171  tmat2x3<T, P> const & m,
+
172  typename tmat2x3<T, P>::row_type const & v);
+
173 
+
174  template <typename T, precision P>
+
175  GLM_FUNC_DECL typename tmat2x3<T, P>::row_type operator* (
+
176  typename tmat2x3<T, P>::col_type const & v,
+
177  tmat2x3<T, P> const & m);
+
178 
+
179  template <typename T, precision P>
+
180  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
181  tmat2x3<T, P> const & m1,
+
182  tmat2x2<T, P> const & m2);
+
183 
+
184  template <typename T, precision P>
+
185  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
186  tmat2x3<T, P> const & m1,
+
187  tmat3x2<T, P> const & m2);
+
188 
+
189  template <typename T, precision P>
+
190  GLM_FUNC_DECL tmat4x3<T, P> operator* (
+
191  tmat2x3<T, P> const & m1,
+
192  tmat4x2<T, P> const & m2);
+
193 
+
194  template <typename T, precision P>
+
195  GLM_FUNC_DECL tmat2x3<T, P> operator/ (
+
196  tmat2x3<T, P> const & m,
+
197  T const & s);
+
198 
+
199  template <typename T, precision P>
+
200  GLM_FUNC_DECL tmat2x3<T, P> operator/ (
+
201  T const & s,
+
202  tmat2x3<T, P> const & m);
+
203 
+
204  // Unary constant operators
+
205  template <typename T, precision P>
+
206  GLM_FUNC_DECL tmat2x3<T, P> const operator- (
+
207  tmat2x3<T, P> const & m);
+
208 }//namespace glm
+
209 
+
210 #ifndef GLM_EXTERNAL_TEMPLATE
+
211 #include "type_mat2x3.inl"
+
212 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00123.html b/doc/api/a00123.html new file mode 100644 index 00000000..c18be3f9 --- /dev/null +++ b/doc/api/a00123.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat2x4.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2006-08-05 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat2x4.hpp.

+
+ + + + diff --git a/doc/api/a00123_source.html b/doc/api/a00123_source.html index e5da0b8d..f164c0d2 100644 --- a/doc/api/a00123_source.html +++ b/doc/api/a00123_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat2x2.hpp Source File + +0.9.6: type_mat2x4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,243 +41,206 @@
-
type_mat2x2.hpp
+
type_mat2x4.hpp
-
1 
-
29 #ifndef glm_core_type_mat2x2
-
30 #define glm_core_type_mat2x2
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec2.hpp"
-
34 #include "type_mat.hpp"
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec2.hpp"
+
33 #include "type_vec4.hpp"
+
34 #include "type_mat.hpp"
35 #include <limits>
-
36 
-
37 namespace glm{
-
38 namespace detail
+
36 #include <cstddef>
+
37 
+
38 namespace glm
39 {
-
40  template <typename T, precision P>
-
41  struct tmat2x2
+
40  template <typename T, precision P = defaultp>
+
41  struct tmat2x4
42  {
-
43  enum ctor{_null};
-
44  typedef T value_type;
-
45  typedef std::size_t size_type;
-
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 
-
51  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
52 
-
53  template <typename U, precision Q>
-
54  friend tvec2<U, Q> operator/(tmat2x2<U, Q> const & m, tvec2<U, Q> const & v);
-
55  template <typename U, precision Q>
-
56  friend tvec2<U, Q> operator/(tvec2<U, Q> const & v, tmat2x2<U, Q> const & m);
-
57 
-
58  private:
-
60  col_type value[2];
-
62 
-
63  public:
-
65  // Constructors
-
66  GLM_FUNC_DECL tmat2x2();
-
67  GLM_FUNC_DECL tmat2x2(tmat2x2<T, P> const & m);
-
68  template <precision Q>
-
69  GLM_FUNC_DECL tmat2x2(tmat2x2<T, Q> const & m);
-
70 
-
71  GLM_FUNC_DECL explicit tmat2x2(
-
72  ctor Null);
-
73  GLM_FUNC_DECL explicit tmat2x2(
-
74  T const & x);
-
75  GLM_FUNC_DECL explicit tmat2x2(
-
76  T const & x1, T const & y1,
-
77  T const & x2, T const & y2);
-
78  GLM_FUNC_DECL explicit tmat2x2(
-
79  col_type const & v1,
-
80  col_type const & v2);
-
81 
-
82 #if(GLM_HAS_INITIALIZER_LISTS)
-
83  template <typename U>
-
84  GLM_FUNC_DECL tmat2x2(std::initializer_list<U> m);
-
85 
-
86  GLM_FUNC_DECL tmat2x2(std::initializer_list<tvec2<T, P> > m);
-
87 #endif//GLM_HAS_INITIALIZER_LISTS
-
88 
-
90  // Conversions
-
91  template <typename U, typename V, typename M, typename N>
-
92  GLM_FUNC_DECL explicit tmat2x2(
-
93  U const & x1, V const & y1,
-
94  M const & x2, N const & y2);
-
95 
-
96  template <typename U, typename V>
-
97  GLM_FUNC_DECL explicit tmat2x2(
-
98  tvec2<U, P> const & v1,
-
99  tvec2<V, P> const & v2);
+
43  typedef T value_type;
+
44  typedef std::size_t size_type;
+
45  typedef tvec4<T, P> col_type;
+
46  typedef tvec2<T, P> row_type;
+
47  typedef tmat2x4<T, P> type;
+
48  typedef tmat4x2<T, P> transpose_type;
+
49 
+
50 # ifdef GLM_FORCE_SIZE_FUNC
+
51  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
52 # else
+
53  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
54 # endif//GLM_FORCE_SIZE_FUNC
+
55 
+
56  private:
+
58  col_type value[2];
+
60 
+
61  public:
+
62  // Constructors
+
63  GLM_FUNC_DECL tmat2x4();
+
64  template <precision Q>
+
65  GLM_FUNC_DECL tmat2x4(tmat2x4<T, Q> const & m);
+
66 
+
67  GLM_FUNC_DECL explicit tmat2x4(ctor);
+
68  GLM_FUNC_DECL explicit tmat2x4(T const & s);
+
69  GLM_FUNC_DECL tmat2x4(
+
70  T const & x0, T const & y0, T const & z0, T const & w0,
+
71  T const & x1, T const & y1, T const & z1, T const & w1);
+
72  GLM_FUNC_DECL tmat2x4(
+
73  col_type const & v0,
+
74  col_type const & v1);
+
75 
+
77  // Conversions
+
78  template <
+
79  typename X1, typename Y1, typename Z1, typename W1,
+
80  typename X2, typename Y2, typename Z2, typename W2>
+
81  GLM_FUNC_DECL tmat2x4(
+
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 
+
85  template <typename U, typename V>
+
86  GLM_FUNC_DECL tmat2x4(
+
87  tvec4<U, P> const & v1,
+
88  tvec4<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 tmat2x4(tmat2x4<U, Q> const & m);
+
96 # else
+
97  template <typename U, precision Q>
+
98  GLM_FUNC_DECL tmat2x4(tmat2x4<U, Q> const & m);
+
99 # endif
100 
-
102  // Matrix conversions
-
103  template <typename U, precision Q>
-
104  GLM_FUNC_DECL explicit tmat2x2(tmat2x2<U, Q> const & m);
-
105 
-
106  GLM_FUNC_DECL explicit tmat2x2(tmat3x3<T, P> const & x);
-
107  GLM_FUNC_DECL explicit tmat2x2(tmat4x4<T, P> const & x);
-
108  GLM_FUNC_DECL explicit tmat2x2(tmat2x3<T, P> const & x);
-
109  GLM_FUNC_DECL explicit tmat2x2(tmat3x2<T, P> const & x);
-
110  GLM_FUNC_DECL explicit tmat2x2(tmat2x4<T, P> const & x);
-
111  GLM_FUNC_DECL explicit tmat2x2(tmat4x2<T, P> const & x);
-
112  GLM_FUNC_DECL explicit tmat2x2(tmat3x4<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat2x2(tmat4x3<T, P> const & x);
-
114 
-
116  // Accesses
-
117 
-
118  GLM_FUNC_DECL col_type & operator[](length_t i);
-
119  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
-
120 
-
121  // Unary updatable operators
-
122  GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<T, P> const & m);
-
123  template <typename U>
-
124  GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<U, P> const & m);
-
125  template <typename U>
-
126  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(U s);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(tmat2x2<U, P> const & m);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(U s);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(tmat2x2<U, P> const & m);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(U s);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(tmat2x2<U, P> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(U s);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(tmat2x2<U, P> const & m);
-
141 
-
143  // Increment and decrement operators
+
101  GLM_FUNC_DECL explicit tmat2x4(tmat2x2<T, P> const & x);
+
102  GLM_FUNC_DECL explicit tmat2x4(tmat3x3<T, P> const & x);
+
103  GLM_FUNC_DECL explicit tmat2x4(tmat4x4<T, P> const & x);
+
104  GLM_FUNC_DECL explicit tmat2x4(tmat2x3<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat2x4(tmat3x2<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat2x4(tmat3x4<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat2x4(tmat4x2<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat2x4(tmat4x3<T, P> const & x);
+
109 
+
110  // Accesses
+
111  GLM_FUNC_DECL col_type & operator[](length_t i);
+
112  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
113 
+
114  template <typename U>
+
115  GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<U, P> const & m);
+
116  template <typename U>
+
117  GLM_FUNC_DECL tmat2x4<T, P>& operator+= (U s);
+
118  template <typename U>
+
119  GLM_FUNC_DECL tmat2x4<T, P>& operator+= (tmat2x4<U, P> const & m);
+
120  template <typename U>
+
121  GLM_FUNC_DECL tmat2x4<T, P>& operator-= (U s);
+
122  template <typename U>
+
123  GLM_FUNC_DECL tmat2x4<T, P>& operator-= (tmat2x4<U, P> const & m);
+
124  template <typename U>
+
125  GLM_FUNC_DECL tmat2x4<T, P>& operator*= (U s);
+
126  template <typename U>
+
127  GLM_FUNC_DECL tmat2x4<T, P>& operator/= (U s);
+
128 
+
130  // Increment and decrement operators
+
131 
+
132  GLM_FUNC_DECL tmat2x4<T, P> & operator++ ();
+
133  GLM_FUNC_DECL tmat2x4<T, P> & operator-- ();
+
134  GLM_FUNC_DECL tmat2x4<T, P> operator++(int);
+
135  GLM_FUNC_DECL tmat2x4<T, P> operator--(int);
+
136  };
+
137 
+
138  // Binary operators
+
139 
+
140  template <typename T, precision P>
+
141  GLM_FUNC_DECL tmat2x4<T, P> operator+ (
+
142  tmat2x4<T, P> const & m,
+
143  T const & s);
144 
-
145  GLM_FUNC_DECL tmat2x2<T, P> & operator++ ();
-
146  GLM_FUNC_DECL tmat2x2<T, P> & operator-- ();
-
147  GLM_FUNC_DECL tmat2x2<T, P> operator++(int);
-
148  GLM_FUNC_DECL tmat2x2<T, P> operator--(int);
-
149  };
-
150 
-
151  template <typename T, precision P>
-
152  GLM_FUNC_DECL tmat2x2<T, P> compute_inverse_mat2(tmat2x2<T, P> const & m);
-
153 
-
154  // Binary operators
+
145  template <typename T, precision P>
+
146  GLM_FUNC_DECL tmat2x4<T, P> operator+ (
+
147  tmat2x4<T, P> const & m1,
+
148  tmat2x4<T, P> const & m2);
+
149 
+
150  template <typename T, precision P>
+
151  GLM_FUNC_DECL tmat2x4<T, P> operator- (
+
152  tmat2x4<T, P> const & m,
+
153  T const & s);
+
154 
155  template <typename T, precision P>
-
156  GLM_FUNC_DECL tmat2x2<T, P> operator+ (
-
157  tmat2x2<T, P> const & m,
-
158  T const & s);
+
156  GLM_FUNC_DECL tmat2x4<T, P> operator- (
+
157  tmat2x4<T, P> const & m1,
+
158  tmat2x4<T, P> const & m2);
159 
160  template <typename T, precision P>
-
161  GLM_FUNC_DECL tmat2x2<T, P> operator+ (
-
162  T const & s,
-
163  tmat2x2<T, P> const & m);
+
161  GLM_FUNC_DECL tmat2x4<T, P> operator* (
+
162  tmat2x4<T, P> const & m,
+
163  T const & s);
164 
165  template <typename T, precision P>
-
166  GLM_FUNC_DECL tmat2x2<T, P> operator+ (
-
167  tmat2x2<T, P> const & m1,
-
168  tmat2x2<T, P> const & m2);
+
166  GLM_FUNC_DECL tmat2x4<T, P> operator* (
+
167  T const & s,
+
168  tmat2x4<T, P> const & m);
169 
170  template <typename T, precision P>
-
171  GLM_FUNC_DECL tmat2x2<T, P> operator- (
-
172  tmat2x2<T, P> const & m,
-
173  T const & s);
+
171  GLM_FUNC_DECL typename tmat2x4<T, P>::col_type operator* (
+
172  tmat2x4<T, P> const & m,
+
173  typename tmat2x4<T, P>::row_type const & v);
174 
175  template <typename T, precision P>
-
176  GLM_FUNC_DECL tmat2x2<T, P> operator- (
-
177  T const & s,
-
178  tmat2x2<T, P> const & m);
+
176  GLM_FUNC_DECL typename tmat2x4<T, P>::row_type operator* (
+
177  typename tmat2x4<T, P>::col_type const & v,
+
178  tmat2x4<T, P> const & m);
179 
180  template <typename T, precision P>
-
181  GLM_FUNC_DECL tmat2x2<T, P> operator- (
-
182  tmat2x2<T, P> const & m1,
-
183  tmat2x2<T, P> const & m2);
-
184 
+
181  GLM_FUNC_DECL tmat4x4<T, P> operator* (
+
182  tmat2x4<T, P> const & m1,
+
183  tmat4x2<T, P> const & m2);
+
184 
185  template <typename T, precision P>
-
186  GLM_FUNC_DECL tmat2x2<T, P> operator* (
-
187  tmat2x2<T, P> const & m,
-
188  T const & s);
-
189 
+
186  GLM_FUNC_DECL tmat2x4<T, P> operator* (
+
187  tmat2x4<T, P> const & m1,
+
188  tmat2x2<T, P> const & m2);
+
189 
190  template <typename T, precision P>
-
191  GLM_FUNC_DECL tmat2x2<T, P> operator* (
-
192  T const & s,
-
193  tmat2x2<T, P> const & m);
+
191  GLM_FUNC_DECL tmat3x4<T, P> operator* (
+
192  tmat2x4<T, P> const & m1,
+
193  tmat3x2<T, P> const & m2);
194 
195  template <typename T, precision P>
-
196  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator* (
-
197  tmat2x2<T, P> const & m,
-
198  typename tmat2x2<T, P>::row_type const & v);
+
196  GLM_FUNC_DECL tmat2x4<T, P> operator/ (
+
197  tmat2x4<T, P> const & m,
+
198  T s);
199 
-
200  template <typename T, precision P>
-
201  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator* (
-
202  typename tmat2x2<T, P>::col_type const & v,
-
203  tmat2x2<T, P> const & m);
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL tmat2x4<T, P> operator/ (
+
202  T s,
+
203  tmat2x4<T, P> const & m);
204 
-
205  template <typename T, precision P>
-
206  GLM_FUNC_DECL tmat2x2<T, P> operator* (
-
207  tmat2x2<T, P> const & m1,
-
208  tmat2x2<T, P> const & m2);
-
209 
-
210  template <typename T, precision P>
-
211  GLM_FUNC_DECL tmat3x2<T, P> operator* (
-
212  tmat2x2<T, P> const & m1,
-
213  tmat3x2<T, P> const & m2);
-
214 
-
215  template <typename T, precision P>
-
216  GLM_FUNC_DECL tmat4x2<T, P> operator* (
-
217  tmat2x2<T, P> const & m1,
-
218  tmat4x2<T, P> const & m2);
-
219 
-
220  template <typename T, precision P>
-
221  GLM_FUNC_DECL tmat2x2<T, P> operator/ (
-
222  tmat2x2<T, P> const & m,
-
223  T const & s);
-
224 
-
225  template <typename T, precision P>
-
226  GLM_FUNC_DECL tmat2x2<T, P> operator/ (
-
227  T const & s,
-
228  tmat2x2<T, P> const & m);
-
229 
-
230  template <typename T, precision P>
-
231  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator/ (
-
232  tmat2x2<T, P> const & m,
-
233  typename tmat2x2<T, P>::row_type const & v);
-
234 
-
235  template <typename T, precision P>
-
236  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator/ (
-
237  typename tmat2x2<T, P>::col_type const & v,
-
238  tmat2x2<T, P> const & m);
-
239 
-
240  template <typename T, precision P>
-
241  GLM_FUNC_DECL tmat2x2<T, P> operator/ (
-
242  tmat2x2<T, P> const & m1,
-
243  tmat2x2<T, P> const & m2);
-
244 
-
245  // Unary constant operators
-
246  template <typename T, precision P>
-
247  GLM_FUNC_DECL tmat2x2<T, P> const operator-(
-
248  tmat2x2<T, P> const & m);
-
249 } //namespace detail
-
250 } //namespace glm
-
251 
-
252 #ifndef GLM_EXTERNAL_TEMPLATE
-
253 #include "type_mat2x2.inl"
-
254 #endif
-
255 
-
256 #endif //glm_core_type_mat2x2
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
205  // Unary constant operators
+
206  template <typename T, precision P>
+
207  GLM_FUNC_DECL tmat2x4<T, P> const operator- (
+
208  tmat2x4<T, P> const & m);
+
209 }//namespace glm
+
210 
+
211 #ifndef GLM_EXTERNAL_TEMPLATE
+
212 #include "type_mat2x4.inl"
+
213 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:31
+
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 new file mode 100644 index 00000000..c4179458 --- /dev/null +++ b/doc/api/a00124.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat3x2.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2006-08-05 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat3x2.hpp.

+
+ + + + diff --git a/doc/api/a00124_source.html b/doc/api/a00124_source.html index 82a9e574..c1f2bc80 100644 --- a/doc/api/a00124_source.html +++ b/doc/api/a00124_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat2x3.hpp Source File + +0.9.6: type_mat3x2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,209 +41,211 @@
-
type_mat2x3.hpp
+
type_mat3x2.hpp
-
1 
-
29 #ifndef glm_core_type_mat2x3
-
30 #define glm_core_type_mat2x3
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec2.hpp"
-
34 #include "type_vec3.hpp"
-
35 #include "type_mat.hpp"
-
36 #include <limits>
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec2.hpp"
+
33 #include "type_vec3.hpp"
+
34 #include "type_mat.hpp"
+
35 #include <limits>
+
36 #include <cstddef>
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T, precision P>
-
42  struct tmat2x3
-
43  {
-
44  enum ctor{_null};
-
45  typedef T value_type;
-
46  typedef std::size_t size_type;
-
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 
-
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
53 
-
54  private:
-
55  // Data
-
56  col_type value[2];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat2x3();
-
61  GLM_FUNC_DECL tmat2x3(tmat2x3<T, P> const & m);
-
62  template <precision Q>
-
63  GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);
-
64 
-
65  GLM_FUNC_DECL explicit tmat2x3(
-
66  ctor);
-
67  GLM_FUNC_DECL explicit tmat2x3(
-
68  T const & s);
-
69  GLM_FUNC_DECL explicit tmat2x3(
-
70  T const & x0, T const & y0, T const & z0,
-
71  T const & x1, T const & y1, T const & z1);
-
72  GLM_FUNC_DECL explicit tmat2x3(
-
73  col_type const & v0,
-
74  col_type const & v1);
-
75 
-
76 #if(GLM_HAS_INITIALIZER_LISTS)
-
77  template <typename U>
-
78  GLM_FUNC_DECL tmat2x3(std::initializer_list<U> m);
-
79 
-
80  GLM_FUNC_DECL tmat2x3(std::initializer_list<tvec3<T, P> > m);
-
81 #endif//GLM_HAS_INITIALIZER_LISTS
-
82 
-
84  // Conversions
-
85  template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
-
86  GLM_FUNC_DECL explicit tmat2x3(
-
87  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
88  X2 const & x2, Y2 const & y2, Z2 const & z2);
+
38 namespace glm
+
39 {
+
40  template <typename T, precision P = defaultp>
+
41  struct tmat3x2
+
42  {
+
43  typedef T value_type;
+
44  typedef std::size_t size_type;
+
45  typedef tvec2<T, P> col_type;
+
46  typedef tvec3<T, P> row_type;
+
47  typedef tmat3x2<T, P> type;
+
48  typedef tmat2x3<T, P> transpose_type;
+
49 
+
50 # ifdef GLM_FORCE_SIZE_FUNC
+
51  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
52 # else
+
53  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
54 # endif//GLM_FORCE_SIZE_FUNC
+
55 
+
56  private:
+
58  col_type value[3];
+
60 
+
61  public:
+
62  // Constructors
+
63  GLM_FUNC_DECL tmat3x2();
+
64  template <precision Q>
+
65  GLM_FUNC_DECL tmat3x2(tmat3x2<T, Q> const & m);
+
66 
+
67  GLM_FUNC_DECL explicit tmat3x2(ctor);
+
68  GLM_FUNC_DECL explicit tmat3x2(T const & s);
+
69  GLM_FUNC_DECL tmat3x2(
+
70  T const & x0, T const & y0,
+
71  T const & x1, T const & y1,
+
72  T const & x2, T const & y2);
+
73  GLM_FUNC_DECL tmat3x2(
+
74  col_type const & v0,
+
75  col_type const & v1,
+
76  col_type const & v2);
+
77 
+
79  // Conversions
+
80 
+
81  template<
+
82  typename X1, typename Y1,
+
83  typename X2, typename Y2,
+
84  typename X3, typename Y3>
+
85  GLM_FUNC_DECL tmat3x2(
+
86  X1 const & x1, Y1 const & y1,
+
87  X2 const & x2, Y2 const & y2,
+
88  X3 const & x3, Y3 const & y3);
89 
-
90  template <typename U, typename V>
-
91  GLM_FUNC_DECL explicit tmat2x3(
-
92  tvec3<U, P> const & v1,
-
93  tvec3<V, P> const & v2);
-
94 
-
96  // Matrix conversion
-
97  template <typename U, precision Q>
-
98  GLM_FUNC_DECL explicit tmat2x3(tmat2x3<U, Q> const & m);
-
99 
-
100  GLM_FUNC_DECL explicit tmat2x3(tmat2x2<T, P> const & x);
-
101  GLM_FUNC_DECL explicit tmat2x3(tmat3x3<T, P> const & x);
-
102  GLM_FUNC_DECL explicit tmat2x3(tmat4x4<T, P> const & x);
-
103  GLM_FUNC_DECL explicit tmat2x3(tmat2x4<T, P> const & x);
-
104  GLM_FUNC_DECL explicit tmat2x3(tmat3x2<T, P> const & x);
-
105  GLM_FUNC_DECL explicit tmat2x3(tmat3x4<T, P> const & x);
-
106  GLM_FUNC_DECL explicit tmat2x3(tmat4x2<T, P> const & x);
-
107  GLM_FUNC_DECL explicit tmat2x3(tmat4x3<T, P> const & x);
-
108 
-
109  // Accesses
-
110  GLM_FUNC_DECL col_type & operator[](length_t i);
-
111  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
-
112 
-
113  // Unary updatable operators
-
114  GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<T, P> const & m);
-
115  template <typename U>
-
116  GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<U, P> const & m);
-
117  template <typename U>
-
118  GLM_FUNC_DECL tmat2x3<T, P> & operator+= (U s);
-
119  template <typename U>
-
120  GLM_FUNC_DECL tmat2x3<T, P> & operator+= (tmat2x3<U, P> const & m);
-
121  template <typename U>
-
122  GLM_FUNC_DECL tmat2x3<T, P> & operator-= (U s);
-
123  template <typename U>
-
124  GLM_FUNC_DECL tmat2x3<T, P> & operator-= (tmat2x3<U, P> const & m);
-
125  template <typename U>
-
126  GLM_FUNC_DECL tmat2x3<T, P> & operator*= (U s);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat2x3<T, P> & operator/= (U s);
-
129 
-
131  // Increment and decrement operators
-
132 
-
133  GLM_FUNC_DECL tmat2x3<T, P> & operator++ ();
-
134  GLM_FUNC_DECL tmat2x3<T, P> & operator-- ();
-
135  GLM_FUNC_DECL tmat2x3<T, P> operator++(int);
-
136  GLM_FUNC_DECL tmat2x3<T, P> operator--(int);
-
137  };
-
138 
-
139  // Binary operators
-
140 
-
141  template <typename T, precision P>
-
142  GLM_FUNC_DECL tmat2x3<T, P> operator+ (
-
143  tmat2x3<T, P> const & m,
-
144  T const & s);
-
145 
-
146  template <typename T, precision P>
-
147  tmat2x3<T, P> operator+ (
-
148  tmat2x3<T, P> const & m1,
-
149  tmat2x3<T, P> const & m2);
-
150 
-
151  template <typename T, precision P>
-
152  GLM_FUNC_DECL tmat2x3<T, P> operator- (
-
153  tmat2x3<T, P> const & m,
-
154  T const & s);
-
155 
-
156  template <typename T, precision P>
-
157  GLM_FUNC_DECL tmat2x3<T, P> operator- (
-
158  tmat2x3<T, P> const & m1,
-
159  tmat2x3<T, P> const & m2);
-
160 
-
161  template <typename T, precision P>
-
162  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
163  tmat2x3<T, P> const & m,
-
164  T const & s);
-
165 
-
166  template <typename T, precision P>
-
167  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
168  T const & s,
-
169  tmat2x3<T, P> const & m);
-
170 
-
171  template <typename T, precision P>
-
172  GLM_FUNC_DECL typename tmat2x3<T, P>::col_type operator* (
-
173  tmat2x3<T, P> const & m,
-
174  typename tmat2x3<T, P>::row_type const & v);
-
175 
-
176  template <typename T, precision P>
-
177  GLM_FUNC_DECL typename tmat2x3<T, P>::row_type operator* (
-
178  typename tmat2x3<T, P>::col_type const & v,
-
179  tmat2x3<T, P> const & m);
-
180 
-
181  template <typename T, precision P>
-
182  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
183  tmat2x3<T, P> const & m1,
-
184  tmat2x2<T, P> const & m2);
-
185 
-
186  template <typename T, precision P>
-
187  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
188  tmat2x3<T, P> const & m1,
-
189  tmat3x2<T, P> const & m2);
-
190 
-
191  template <typename T, precision P>
-
192  GLM_FUNC_DECL tmat4x3<T, P> operator* (
-
193  tmat2x3<T, P> const & m1,
-
194  tmat4x2<T, P> const & m2);
-
195 
-
196  template <typename T, precision P>
-
197  GLM_FUNC_DECL tmat2x3<T, P> operator/ (
-
198  tmat2x3<T, P> const & m,
-
199  T const & s);
-
200 
-
201  template <typename T, precision P>
-
202  GLM_FUNC_DECL tmat2x3<T, P> operator/ (
-
203  T const & s,
-
204  tmat2x3<T, P> const & m);
-
205 
-
206  // Unary constant operators
-
207  template <typename T, precision P>
-
208  GLM_FUNC_DECL tmat2x3<T, P> const operator- (
-
209  tmat2x3<T, P> const & m);
-
210 
-
211 }//namespace detail
-
212 }//namespace glm
-
213 
-
214 #ifndef GLM_EXTERNAL_TEMPLATE
-
215 #include "type_mat2x3.inl"
-
216 #endif
-
217 
-
218 #endif //glm_core_type_mat2x3
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
90  template <typename V1, typename V2, typename V3>
+
91  GLM_FUNC_DECL tmat3x2(
+
92  tvec2<V1, P> const & v1,
+
93  tvec2<V2, P> const & v2,
+
94  tvec2<V3, P> const & v3);
+
95 
+
97  // Matrix conversions
+
98 
+
99 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
100  template <typename U, precision Q>
+
101  GLM_FUNC_DECL explicit tmat3x2(tmat3x2<U, Q> const & m);
+
102 # else
+
103  template <typename U, precision Q>
+
104  GLM_FUNC_DECL tmat3x2(tmat3x2<U, Q> const & m);
+
105 # endif
+
106 
+
107  GLM_FUNC_DECL explicit tmat3x2(tmat2x2<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat3x2(tmat3x3<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat3x2(tmat4x4<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat3x2(tmat2x3<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat3x2(tmat2x4<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat3x2(tmat3x4<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat3x2(tmat4x2<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat3x2(tmat4x3<T, P> const & x);
+
115 
+
116  // Accesses
+
117  GLM_FUNC_DECL col_type & operator[](length_t i);
+
118  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
119 
+
120  template <typename U>
+
121  GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<U, P> const & m);
+
122  template <typename U>
+
123  GLM_FUNC_DECL tmat3x2<T, P> & operator+= (U s);
+
124  template <typename U>
+
125  GLM_FUNC_DECL tmat3x2<T, P> & operator+= (tmat3x2<U, P> const & m);
+
126  template <typename U>
+
127  GLM_FUNC_DECL tmat3x2<T, P> & operator-= (U s);
+
128  template <typename U>
+
129  GLM_FUNC_DECL tmat3x2<T, P> & operator-= (tmat3x2<U, P> const & m);
+
130  template <typename U>
+
131  GLM_FUNC_DECL tmat3x2<T, P> & operator*= (U s);
+
132  template <typename U>
+
133  GLM_FUNC_DECL tmat3x2<T, P> & operator/= (U s);
+
134 
+
136  // Increment and decrement operators
+
137 
+
138  GLM_FUNC_DECL tmat3x2<T, P> & operator++ ();
+
139  GLM_FUNC_DECL tmat3x2<T, P> & operator-- ();
+
140  GLM_FUNC_DECL tmat3x2<T, P> operator++(int);
+
141  GLM_FUNC_DECL tmat3x2<T, P> operator--(int);
+
142  };
+
143 
+
144  // Binary operators
+
145  template <typename T, precision P>
+
146  GLM_FUNC_DECL tmat3x2<T, P> operator+ (
+
147  tmat3x2<T, P> const & m,
+
148  T const & s);
+
149 
+
150  template <typename T, precision P>
+
151  GLM_FUNC_DECL tmat3x2<T, P> operator+ (
+
152  tmat3x2<T, P> const & m1,
+
153  tmat3x2<T, P> const & m2);
+
154 
+
155  template <typename T, precision P>
+
156  GLM_FUNC_DECL tmat3x2<T, P> operator- (
+
157  tmat3x2<T, P> const & m,
+
158  T const & s);
+
159 
+
160  template <typename T, precision P>
+
161  GLM_FUNC_DECL tmat3x2<T, P> operator- (
+
162  tmat3x2<T, P> const & m1,
+
163  tmat3x2<T, P> const & m2);
+
164 
+
165  template <typename T, precision P>
+
166  GLM_FUNC_DECL tmat3x2<T, P> operator* (
+
167  tmat3x2<T, P> const & m,
+
168  T const & s);
+
169 
+
170  template <typename T, precision P>
+
171  GLM_FUNC_DECL tmat3x2<T, P> operator* (
+
172  T const & s,
+
173  tmat3x2<T, P> const & m);
+
174 
+
175  template <typename T, precision P>
+
176  GLM_FUNC_DECL typename tmat3x2<T, P>::col_type operator* (
+
177  tmat3x2<T, P> const & m,
+
178  typename tmat3x2<T, P>::row_type const & v);
+
179 
+
180  template <typename T, precision P>
+
181  GLM_FUNC_DECL typename tmat3x2<T, P>::row_type operator* (
+
182  typename tmat3x2<T, P>::col_type const & v,
+
183  tmat3x2<T, P> const & m);
+
184 
+
185  template <typename T, precision P>
+
186  GLM_FUNC_DECL tmat2x2<T, P> operator* (
+
187  tmat3x2<T, P> const & m1,
+
188  tmat2x3<T, P> const & m2);
+
189 
+
190  template <typename T, precision P>
+
191  GLM_FUNC_DECL tmat3x2<T, P> operator* (
+
192  tmat3x2<T, P> const & m1,
+
193  tmat3x3<T, P> const & m2);
+
194 
+
195  template <typename T, precision P>
+
196  GLM_FUNC_DECL tmat4x2<T, P> operator* (
+
197  tmat3x2<T, P> const & m1,
+
198  tmat4x3<T, P> const & m2);
+
199 
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL tmat3x2<T, P> operator/ (
+
202  tmat3x2<T, P> const & m,
+
203  T const & s);
+
204 
+
205  template <typename T, precision P>
+
206  GLM_FUNC_DECL tmat3x2<T, P> operator/ (
+
207  T const & s,
+
208  tmat3x2<T, P> const & m);
+
209 
+
210  // Unary constant operators
+
211  template <typename T, precision P>
+
212  GLM_FUNC_DECL tmat3x2<T, P> const operator-(
+
213  tmat3x2<T, P> const & m);
+
214 }//namespace glm
+
215 
+
216 #ifndef GLM_EXTERNAL_TEMPLATE
+
217 #include "type_mat3x2.inl"
+
218 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00125.html b/doc/api/a00125.html new file mode 100644 index 00000000..99092c26 --- /dev/null +++ b/doc/api/a00125.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat3x3.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2005-01-27 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat3x3.hpp.

+
+ + + + diff --git a/doc/api/a00125_source.html b/doc/api/a00125_source.html index 20cd0f18..ea9f656f 100644 --- a/doc/api/a00125_source.html +++ b/doc/api/a00125_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat2x4.hpp Source File + +0.9.6: type_mat3x3.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,211 +41,243 @@
-
type_mat2x4.hpp
+
type_mat3x3.hpp
-
1 
-
29 #ifndef glm_core_type_mat2x4
-
30 #define glm_core_type_mat2x4
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec2.hpp"
-
34 #include "type_vec4.hpp"
-
35 #include "type_mat.hpp"
-
36 #include <limits>
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T, precision P>
-
42  struct tmat2x4
-
43  {
-
44  enum ctor{_null};
-
45  typedef T value_type;
-
46  typedef std::size_t size_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 
-
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
53 
-
54  private:
-
55  // Data
-
56  col_type value[2];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat2x4();
-
61  GLM_FUNC_DECL tmat2x4(tmat2x4<T, P> const & m);
-
62  template <precision Q>
-
63  GLM_FUNC_DECL tmat2x4(tmat2x4<T, Q> const & m);
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec3.hpp"
+
33 #include "type_mat.hpp"
+
34 #include <limits>
+
35 #include <cstddef>
+
36 
+
37 namespace glm
+
38 {
+
39  template <typename T, precision P = defaultp>
+
40  struct tmat3x3
+
41  {
+
42  typedef T value_type;
+
43  typedef std::size_t size_type;
+
44  typedef tvec3<T, P> col_type;
+
45  typedef tvec3<T, P> row_type;
+
46  typedef tmat3x3<T, P> type;
+
47  typedef tmat3x3<T, P> transpose_type;
+
48 
+
49 # ifdef GLM_FORCE_SIZE_FUNC
+
50  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
51 # else
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 # endif//GLM_FORCE_SIZE_FUNC
+
54 
+
55  template <typename U, precision Q>
+
56  friend tvec3<U, Q> operator/(tmat3x3<U, Q> const & m, tvec3<U, Q> const & v);
+
57  template <typename U, precision Q>
+
58  friend tvec3<U, Q> operator/(tvec3<U, Q> const & v, tmat3x3<U, Q> const & m);
+
59 
+
60  private:
+
62  col_type value[3];
64 
-
65  GLM_FUNC_DECL explicit tmat2x4(
-
66  ctor);
-
67  GLM_FUNC_DECL explicit tmat2x4(
-
68  T const & s);
-
69  GLM_FUNC_DECL explicit tmat2x4(
-
70  T const & x0, T const & y0, T const & z0, T const & w0,
-
71  T const & x1, T const & y1, T const & z1, T const & w1);
-
72  GLM_FUNC_DECL explicit tmat2x4(
-
73  col_type const & v0,
-
74  col_type const & v1);
-
75 
-
76 #if(GLM_HAS_INITIALIZER_LISTS)
-
77  template <typename U>
-
78  GLM_FUNC_DECL tmat2x4(std::initializer_list<U> m);
-
79 
-
80  GLM_FUNC_DECL tmat2x4(std::initializer_list<tvec4<T, P> > m);
-
81 #endif//GLM_HAS_INITIALIZER_LISTS
-
82 
-
84  // Conversions
-
85  template <
-
86  typename X1, typename Y1, typename Z1, typename W1,
-
87  typename X2, typename Y2, typename Z2, typename W2>
-
88  GLM_FUNC_DECL explicit tmat2x4(
-
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 
-
92  template <typename U, typename V>
-
93  GLM_FUNC_DECL explicit tmat2x4(
-
94  tvec4<U, P> const & v1,
-
95  tvec4<V, P> const & v2);
-
96 
-
98  // Matrix conversions
-
99  template <typename U, precision Q>
-
100  GLM_FUNC_DECL explicit tmat2x4(tmat2x4<U, Q> const & m);
-
101 
-
102  GLM_FUNC_DECL explicit tmat2x4(tmat2x2<T, P> const & x);
-
103  GLM_FUNC_DECL explicit tmat2x4(tmat3x3<T, P> const & x);
-
104  GLM_FUNC_DECL explicit tmat2x4(tmat4x4<T, P> const & x);
-
105  GLM_FUNC_DECL explicit tmat2x4(tmat2x3<T, P> const & x);
-
106  GLM_FUNC_DECL explicit tmat2x4(tmat3x2<T, P> const & x);
-
107  GLM_FUNC_DECL explicit tmat2x4(tmat3x4<T, P> const & x);
-
108  GLM_FUNC_DECL explicit tmat2x4(tmat4x2<T, P> const & x);
-
109  GLM_FUNC_DECL explicit tmat2x4(tmat4x3<T, P> const & x);
+
65  public:
+
66  // Constructors
+
67  GLM_FUNC_DECL tmat3x3();
+
68  template <precision Q>
+
69  GLM_FUNC_DECL tmat3x3(tmat3x3<T, Q> const & m);
+
70 
+
71  GLM_FUNC_DECL explicit tmat3x3(ctor);
+
72  GLM_FUNC_DECL explicit tmat3x3(T const & s);
+
73  GLM_FUNC_DECL tmat3x3(
+
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  GLM_FUNC_DECL tmat3x3(
+
78  col_type const & v0,
+
79  col_type const & v1,
+
80  col_type const & v2);
+
81 
+
83  // Conversions
+
84 
+
85  template<
+
86  typename X1, typename Y1, typename Z1,
+
87  typename X2, typename Y2, typename Z2,
+
88  typename X3, typename Y3, typename Z3>
+
89  GLM_FUNC_DECL tmat3x3(
+
90  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
91  X2 const & x2, Y2 const & y2, Z2 const & z2,
+
92  X3 const & x3, Y3 const & y3, Z3 const & z3);
+
93 
+
94  template <typename V1, typename V2, typename V3>
+
95  GLM_FUNC_DECL tmat3x3(
+
96  tvec3<V1, P> const & v1,
+
97  tvec3<V2, P> const & v2,
+
98  tvec3<V3, P> const & v3);
+
99 
+
101  // Matrix conversions
+
102 
+
103 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
104  template <typename U, precision Q>
+
105  GLM_FUNC_DECL explicit tmat3x3(tmat3x3<U, Q> const & m);
+
106 # else
+
107  template <typename U, precision Q>
+
108  GLM_FUNC_DECL tmat3x3(tmat3x3<U, Q> const & m);
+
109 # endif
110 
-
111  // Accesses
-
112  GLM_FUNC_DECL col_type & operator[](length_t i);
-
113  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
-
114 
-
115  // Unary updatable operators
-
116  GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<T, P> const & m);
-
117  template <typename U>
-
118  GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<U, P> const & m);
-
119  template <typename U>
-
120  GLM_FUNC_DECL tmat2x4<T, P>& operator+= (U s);
-
121  template <typename U>
-
122  GLM_FUNC_DECL tmat2x4<T, P>& operator+= (tmat2x4<U, P> const & m);
-
123  template <typename U>
-
124  GLM_FUNC_DECL tmat2x4<T, P>& operator-= (U s);
-
125  template <typename U>
-
126  GLM_FUNC_DECL tmat2x4<T, P>& operator-= (tmat2x4<U, P> const & m);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat2x4<T, P>& operator*= (U s);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tmat2x4<T, P>& operator/= (U s);
-
131 
-
133  // Increment and decrement operators
-
134 
-
135  GLM_FUNC_DECL tmat2x4<T, P> & operator++ ();
-
136  GLM_FUNC_DECL tmat2x4<T, P> & operator-- ();
-
137  GLM_FUNC_DECL tmat2x4<T, P> operator++(int);
-
138  GLM_FUNC_DECL tmat2x4<T, P> operator--(int);
-
139  };
-
140 
-
141  // Binary operators
+
111  GLM_FUNC_DECL explicit tmat3x3(tmat2x2<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat3x3(tmat4x4<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat3x3(tmat2x3<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat3x3(tmat3x2<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat3x3(tmat2x4<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat3x3(tmat4x2<T, P> const & x);
+
117  GLM_FUNC_DECL explicit tmat3x3(tmat3x4<T, P> const & x);
+
118  GLM_FUNC_DECL explicit tmat3x3(tmat4x3<T, P> const & x);
+
119 
+
120  // Accesses
+
121  GLM_FUNC_DECL col_type & operator[](length_t i);
+
122  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
123 
+
124  template <typename U>
+
125  GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<U, P> const & m);
+
126  template <typename U>
+
127  GLM_FUNC_DECL tmat3x3<T, P>& operator+= (U s);
+
128  template <typename U>
+
129  GLM_FUNC_DECL tmat3x3<T, P>& operator+= (tmat3x3<U, P> const & m);
+
130  template <typename U>
+
131  GLM_FUNC_DECL tmat3x3<T, P>& operator-= (U s);
+
132  template <typename U>
+
133  GLM_FUNC_DECL tmat3x3<T, P>& operator-= (tmat3x3<U, P> const & m);
+
134  template <typename U>
+
135  GLM_FUNC_DECL tmat3x3<T, P>& operator*= (U s);
+
136  template <typename U>
+
137  GLM_FUNC_DECL tmat3x3<T, P>& operator*= (tmat3x3<U, P> const & m);
+
138  template <typename U>
+
139  GLM_FUNC_DECL tmat3x3<T, P>& operator/= (U s);
+
140  template <typename U>
+
141  GLM_FUNC_DECL tmat3x3<T, P>& operator/= (tmat3x3<U, P> const & m);
142 
-
143  template <typename T, precision P>
-
144  GLM_FUNC_DECL tmat2x4<T, P> operator+ (
-
145  tmat2x4<T, P> const & m,
-
146  T const & s);
-
147 
-
148  template <typename T, precision P>
-
149  GLM_FUNC_DECL tmat2x4<T, P> operator+ (
-
150  tmat2x4<T, P> const & m1,
-
151  tmat2x4<T, P> const & m2);
-
152 
+
144  // Increment and decrement operators
+
145 
+
146  GLM_FUNC_DECL tmat3x3<T, P> & operator++ ();
+
147  GLM_FUNC_DECL tmat3x3<T, P> & operator-- ();
+
148  GLM_FUNC_DECL tmat3x3<T, P> operator++(int);
+
149  GLM_FUNC_DECL tmat3x3<T, P> operator--(int);
+
150  };
+
151 
+
152  // Binary operators
153  template <typename T, precision P>
-
154  GLM_FUNC_DECL tmat2x4<T, P> operator- (
-
155  tmat2x4<T, P> const & m,
+
154  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
+
155  tmat3x3<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);
+
159  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
+
160  T const & s,
+
161  tmat3x3<T, P> const & m);
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);
+
164  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
+
165  tmat3x3<T, P> const & m1,
+
166  tmat3x3<T, P> const & m2);
167 
168  template <typename T, precision P>
-
169  GLM_FUNC_DECL tmat2x4<T, P> operator* (
-
170  T const & s,
-
171  tmat2x4<T, P> const & m);
+
169  GLM_FUNC_DECL tmat3x3<T, P> operator- (
+
170  tmat3x3<T, P> const & m,
+
171  T const & s);
172 
173  template <typename T, precision P>
-
174  GLM_FUNC_DECL typename tmat2x4<T, P>::col_type operator* (
-
175  tmat2x4<T, P> const & m,
-
176  typename tmat2x4<T, P>::row_type const & v);
+
174  GLM_FUNC_DECL tmat3x3<T, P> operator- (
+
175  T const & s,
+
176  tmat3x3<T, P> const & m);
177 
178  template <typename T, precision P>
-
179  GLM_FUNC_DECL typename tmat2x4<T, P>::row_type operator* (
-
180  typename tmat2x4<T, P>::col_type const & v,
-
181  tmat2x4<T, P> const & m);
+
179  GLM_FUNC_DECL tmat3x3<T, P> operator- (
+
180  tmat3x3<T, P> const & m1,
+
181  tmat3x3<T, P> const & m2);
182 
183  template <typename T, precision P>
-
184  GLM_FUNC_DECL tmat4x4<T, P> operator* (
-
185  tmat2x4<T, P> const & m1,
-
186  tmat4x2<T, P> const & m2);
-
187 
+
184  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
185  tmat3x3<T, P> const & m,
+
186  T const & s);
+
187 
188  template <typename T, precision P>
-
189  GLM_FUNC_DECL tmat2x4<T, P> operator* (
-
190  tmat2x4<T, P> const & m1,
-
191  tmat2x2<T, P> const & m2);
-
192 
+
189  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
190  T const & s,
+
191  tmat3x3<T, P> const & m);
+
192 
193  template <typename T, precision P>
-
194  GLM_FUNC_DECL tmat3x4<T, P> operator* (
-
195  tmat2x4<T, P> const & m1,
-
196  tmat3x2<T, P> const & m2);
+
194  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator* (
+
195  tmat3x3<T, P> const & m,
+
196  typename tmat3x3<T, P>::row_type const & v);
197 
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL tmat2x4<T, P> operator/ (
-
200  tmat2x4<T, P> const & m,
-
201  T const & s);
+
199  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator* (
+
200  typename tmat3x3<T, P>::col_type const & v,
+
201  tmat3x3<T, P> const & m);
202 
-
203  template <typename T, precision P>
-
204  GLM_FUNC_DECL tmat2x4<T, P> operator/ (
-
205  T const & s,
-
206  tmat2x4<T, P> const & m);
-
207 
-
208  // Unary constant operators
-
209  template <typename T, precision P>
-
210  GLM_FUNC_DECL tmat2x4<T, P> const operator- (
-
211  tmat2x4<T, P> const & m);
-
212 
-
213 }//namespace detail
-
214 }//namespace glm
-
215 
-
216 #ifndef GLM_EXTERNAL_TEMPLATE
-
217 #include "type_mat2x4.inl"
-
218 #endif
-
219 
-
220 #endif //glm_core_type_mat2x4
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
203  template <typename T, precision P>
+
204  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
205  tmat3x3<T, P> const & m1,
+
206  tmat3x3<T, P> const & m2);
+
207 
+
208  template <typename T, precision P>
+
209  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
210  tmat3x3<T, P> const & m1,
+
211  tmat2x3<T, P> const & m2);
+
212 
+
213  template <typename T, precision P>
+
214  GLM_FUNC_DECL tmat4x3<T, P> operator* (
+
215  tmat3x3<T, P> const & m1,
+
216  tmat4x3<T, P> const & m2);
+
217 
+
218  template <typename T, precision P>
+
219  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
+
220  tmat3x3<T, P> const & m,
+
221  T const & s);
+
222 
+
223  template <typename T, precision P>
+
224  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
+
225  T const & s,
+
226  tmat3x3<T, P> const & m);
+
227 
+
228  template <typename T, precision P>
+
229  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator/ (
+
230  tmat3x3<T, P> const & m,
+
231  typename tmat3x3<T, P>::row_type const & v);
+
232 
+
233  template <typename T, precision P>
+
234  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator/ (
+
235  typename tmat3x3<T, P>::col_type const & v,
+
236  tmat3x3<T, P> const & m);
+
237 
+
238  template <typename T, precision P>
+
239  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
+
240  tmat3x3<T, P> const & m1,
+
241  tmat3x3<T, P> const & m2);
+
242 
+
243  // Unary constant operators
+
244  template <typename T, precision P>
+
245  GLM_FUNC_DECL tmat3x3<T, P> const operator-(
+
246  tmat3x3<T, P> const & m);
+
247 }//namespace glm
+
248 
+
249 #ifndef GLM_EXTERNAL_TEMPLATE
+
250 #include "type_mat3x3.inl"
+
251 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00126.html b/doc/api/a00126.html new file mode 100644 index 00000000..4b974c25 --- /dev/null +++ b/doc/api/a00126.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat3x4.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2006-08-05 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat3x4.hpp.

+
+ + + + diff --git a/doc/api/a00126_source.html b/doc/api/a00126_source.html index 429e23a3..abcfdaa4 100644 --- a/doc/api/a00126_source.html +++ b/doc/api/a00126_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat3x2.hpp Source File + +0.9.6: type_mat3x4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,215 +41,183 @@
-
type_mat3x2.hpp
+
type_mat3x4.hpp
-
1 
-
29 #ifndef glm_core_type_mat3x2
-
30 #define glm_core_type_mat3x2
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec2.hpp"
-
34 #include "type_vec3.hpp"
-
35 #include "type_mat.hpp"
-
36 #include <limits>
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec3.hpp"
+
33 #include "type_vec4.hpp"
+
34 #include "type_mat.hpp"
+
35 #include <limits>
+
36 #include <cstddef>
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T, precision P>
-
42  struct tmat3x2
-
43  {
-
44  enum ctor{_null};
-
45  typedef T value_type;
-
46  typedef std::size_t size_type;
-
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 
-
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
53 
-
54  private:
-
55  // Data
-
56  col_type value[3];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat3x2();
-
61  GLM_FUNC_DECL tmat3x2(tmat3x2<T, P> const & m);
-
62  template <precision Q>
-
63  GLM_FUNC_DECL tmat3x2(tmat3x2<T, Q> const & m);
-
64 
-
65  GLM_FUNC_DECL explicit tmat3x2(
-
66  ctor);
-
67  GLM_FUNC_DECL explicit tmat3x2(
-
68  T const & s);
-
69  GLM_FUNC_DECL explicit tmat3x2(
-
70  T const & x0, T const & y0,
-
71  T const & x1, T const & y1,
-
72  T const & x2, T const & y2);
-
73  GLM_FUNC_DECL explicit tmat3x2(
+
38 namespace glm
+
39 {
+
40  template <typename T, precision P = defaultp>
+
41  struct tmat3x4
+
42  {
+
43  typedef T value_type;
+
44  typedef size_t size_type;
+
45  typedef tvec4<T, P> col_type;
+
46  typedef tvec3<T, P> row_type;
+
47  typedef tmat3x4<T, P> type;
+
48  typedef tmat4x3<T, P> transpose_type;
+
49 
+
50 # ifdef GLM_FORCE_SIZE_FUNC
+
51  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
52 # else
+
53  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
54 # endif//GLM_FORCE_SIZE_FUNC
+
55 
+
56  private:
+
58  col_type value[3];
+
60 
+
61  public:
+
62  // Constructors
+
63  GLM_FUNC_DECL tmat3x4();
+
64  template <precision Q>
+
65  GLM_FUNC_DECL tmat3x4(tmat3x4<T, Q> const & m);
+
66 
+
67  GLM_FUNC_DECL explicit tmat3x4(ctor);
+
68  GLM_FUNC_DECL explicit tmat3x4(T const & s);
+
69  GLM_FUNC_DECL tmat3x4(
+
70  T const & x0, T const & y0, T const & z0, T const & w0,
+
71  T const & x1, T const & y1, T const & z1, T const & w1,
+
72  T const & x2, T const & y2, T const & z2, T const & w2);
+
73  GLM_FUNC_DECL tmat3x4(
74  col_type const & v0,
75  col_type const & v1,
76  col_type const & v2);
77 
-
78 #if(GLM_HAS_INITIALIZER_LISTS)
-
79  template <typename U>
-
80  GLM_FUNC_DECL tmat3x2(std::initializer_list<U> l);
-
81 
-
82  GLM_FUNC_DECL tmat3x2(std::initializer_list<tvec2<T, P> > l);
-
83 #endif//GLM_HAS_INITIALIZER_LISTS
-
84 
-
86  // Conversions
-
87  template<
-
88  typename X1, typename Y1,
-
89  typename X2, typename Y2,
-
90  typename X3, typename Y3>
-
91  GLM_FUNC_DECL explicit tmat3x2(
-
92  X1 const & x1, Y1 const & y1,
-
93  X2 const & x2, Y2 const & y2,
-
94  X3 const & x3, Y3 const & y3);
-
95 
-
96  template <typename V1, typename V2, typename V3>
-
97  GLM_FUNC_DECL explicit tmat3x2(
-
98  tvec2<V1, P> const & v1,
-
99  tvec2<V2, P> const & v2,
-
100  tvec2<V3, P> const & v3);
-
101 
-
102  // Matrix conversions
-
103  template <typename U, precision Q>
-
104  GLM_FUNC_DECL explicit tmat3x2(tmat3x2<U, Q> const & m);
+
79  // Conversions
+
80  template<
+
81  typename X1, typename Y1, typename Z1, typename W1,
+
82  typename X2, typename Y2, typename Z2, typename W2,
+
83  typename X3, typename Y3, typename Z3, typename W3>
+
84  GLM_FUNC_DECL tmat3x4(
+
85  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
+
86  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
+
87  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3);
+
88 
+
89  template <typename V1, typename V2, typename V3>
+
90  GLM_FUNC_DECL tmat3x4(
+
91  tvec4<V1, P> const & v1,
+
92  tvec4<V2, P> const & v2,
+
93  tvec4<V3, P> const & v3);
+
94 
+
96  // Matrix conversion
+
97 
+
98 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
99  template <typename U, precision Q>
+
100  GLM_FUNC_DECL explicit tmat3x4(tmat3x4<U, Q> const & m);
+
101 # else
+
102  template <typename U, precision Q>
+
103  GLM_FUNC_DECL tmat3x4(tmat3x4<U, Q> const & m);
+
104 # endif
105 
-
106  GLM_FUNC_DECL explicit tmat3x2(tmat2x2<T, P> const & x);
-
107  GLM_FUNC_DECL explicit tmat3x2(tmat3x3<T, P> const & x);
-
108  GLM_FUNC_DECL explicit tmat3x2(tmat4x4<T, P> const & x);
-
109  GLM_FUNC_DECL explicit tmat3x2(tmat2x3<T, P> const & x);
-
110  GLM_FUNC_DECL explicit tmat3x2(tmat2x4<T, P> const & x);
-
111  GLM_FUNC_DECL explicit tmat3x2(tmat3x4<T, P> const & x);
-
112  GLM_FUNC_DECL explicit tmat3x2(tmat4x2<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat3x2(tmat4x3<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat3x4(tmat2x2<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat3x4(tmat3x3<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat3x4(tmat4x4<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat3x4(tmat2x3<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat3x4(tmat3x2<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat3x4(tmat2x4<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat3x4(tmat4x2<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat3x4(tmat4x3<T, P> const & x);
114 
115  // Accesses
116  GLM_FUNC_DECL col_type & operator[](length_t i);
117  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
118 
-
119  // Unary updatable operators
-
120  GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<T, P> const & m);
+
119  template <typename U>
+
120  GLM_FUNC_DECL tmat3x4<T, P> & operator=(tmat3x4<U, P> const & m);
121  template <typename U>
-
122  GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<U, P> const & m);
+
122  GLM_FUNC_DECL tmat3x4<T, P> & operator+=(U s);
123  template <typename U>
-
124  GLM_FUNC_DECL tmat3x2<T, P> & operator+= (U s);
+
124  GLM_FUNC_DECL tmat3x4<T, P> & operator+=(tmat3x4<U, P> const & m);
125  template <typename U>
-
126  GLM_FUNC_DECL tmat3x2<T, P> & operator+= (tmat3x2<U, P> const & m);
+
126  GLM_FUNC_DECL tmat3x4<T, P> & operator-=(U s);
127  template <typename U>
-
128  GLM_FUNC_DECL tmat3x2<T, P> & operator-= (U s);
+
128  GLM_FUNC_DECL tmat3x4<T, P> & operator-=(tmat3x4<U, P> const & m);
129  template <typename U>
-
130  GLM_FUNC_DECL tmat3x2<T, P> & operator-= (tmat3x2<U, P> const & m);
+
130  GLM_FUNC_DECL tmat3x4<T, P> & operator*=(U s);
131  template <typename U>
-
132  GLM_FUNC_DECL tmat3x2<T, P> & operator*= (U s);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat3x2<T, P> & operator/= (U s);
-
135 
-
137  // Increment and decrement operators
-
138 
-
139  GLM_FUNC_DECL tmat3x2<T, P> & operator++ ();
-
140  GLM_FUNC_DECL tmat3x2<T, P> & operator-- ();
-
141  GLM_FUNC_DECL tmat3x2<T, P> operator++(int);
-
142  GLM_FUNC_DECL tmat3x2<T, P> operator--(int);
-
143  };
-
144 
-
145  // Binary operators
-
146  template <typename T, precision P>
-
147  GLM_FUNC_DECL tmat3x2<T, P> operator+ (
-
148  tmat3x2<T, P> const & m,
-
149  T const & s);
-
150 
-
151  template <typename T, precision P>
-
152  GLM_FUNC_DECL tmat3x2<T, P> operator+ (
-
153  tmat3x2<T, P> const & m1,
-
154  tmat3x2<T, P> const & m2);
+
132  GLM_FUNC_DECL tmat3x4<T, P> & operator/=(U s);
+
133 
+
135  // Increment and decrement operators
+
136 
+
137  GLM_FUNC_DECL tmat3x4<T, P> & operator++();
+
138  GLM_FUNC_DECL tmat3x4<T, P> & operator--();
+
139  GLM_FUNC_DECL tmat3x4<T, P> operator++(int);
+
140  GLM_FUNC_DECL tmat3x4<T, P> operator--(int);
+
141  };
+
142 
+
143  // Binary operators
+
144  template <typename T, precision P>
+
145  GLM_FUNC_DECL tmat3x4<T, P> operator+(tmat3x4<T, P> const & m, T const & s);
+
146 
+
147  template <typename T, precision P>
+
148  GLM_FUNC_DECL tmat3x4<T, P> operator+(tmat3x4<T, P> const & m1, tmat3x4<T, P> const & m2);
+
149 
+
150  template <typename T, precision P>
+
151  GLM_FUNC_DECL tmat3x4<T, P> operator-(tmat3x4<T, P> const & m, T const & s);
+
152 
+
153  template <typename T, precision P>
+
154  GLM_FUNC_DECL tmat3x4<T, P> operator-(tmat3x4<T, P> const & m1, tmat3x4<T, P> const & m2);
155 
156  template <typename T, precision P>
-
157  GLM_FUNC_DECL tmat3x2<T, P> operator- (
-
158  tmat3x2<T, P> const & m,
-
159  T const & s);
-
160 
-
161  template <typename T, precision P>
-
162  GLM_FUNC_DECL tmat3x2<T, P> operator- (
-
163  tmat3x2<T, P> const & m1,
-
164  tmat3x2<T, P> const & m2);
-
165 
-
166  template <typename T, precision P>
-
167  GLM_FUNC_DECL tmat3x2<T, P> operator* (
-
168  tmat3x2<T, P> const & m,
-
169  T const & s);
-
170 
+
157  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat3x4<T, P> const & m, T const & s);
+
158 
+
159  template <typename T, precision P>
+
160  GLM_FUNC_DECL tmat3x4<T, P> operator*(T const & s, tmat3x4<T, P> const & m);
+
161 
+
162  template <typename T, precision P>
+
163  GLM_FUNC_DECL typename tmat3x4<T, P>::col_type operator*(tmat3x4<T, P> const & m, typename tmat3x4<T, P>::row_type const & v);
+
164 
+
165  template <typename T, precision P>
+
166  GLM_FUNC_DECL typename tmat3x4<T, P>::row_type operator*(typename tmat3x4<T, P>::col_type const & v, tmat3x4<T, P> const & m);
+
167 
+
168  template <typename T, precision P>
+
169  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat4x3<T, P> const & m2);
+
170 
171  template <typename T, precision P>
-
172  GLM_FUNC_DECL tmat3x2<T, P> operator* (
-
173  T const & s,
-
174  tmat3x2<T, P> const & m);
-
175 
-
176  template <typename T, precision P>
-
177  GLM_FUNC_DECL typename tmat3x2<T, P>::col_type operator* (
-
178  tmat3x2<T, P> const & m,
-
179  typename tmat3x2<T, P>::row_type const & v);
-
180 
-
181  template <typename T, precision P>
-
182  GLM_FUNC_DECL typename tmat3x2<T, P>::row_type operator* (
-
183  typename tmat3x2<T, P>::col_type const & v,
-
184  tmat3x2<T, P> const & m);
-
185 
-
186  template <typename T, precision P>
-
187  GLM_FUNC_DECL tmat2x2<T, P> operator* (
-
188  tmat3x2<T, P> const & m1,
-
189  tmat2x3<T, P> const & m2);
-
190 
-
191  template <typename T, precision P>
-
192  GLM_FUNC_DECL tmat3x2<T, P> operator* (
-
193  tmat3x2<T, P> const & m1,
-
194  tmat3x3<T, P> const & m2);
-
195 
-
196  template <typename T, precision P>
-
197  GLM_FUNC_DECL tmat4x2<T, P> operator* (
-
198  tmat3x2<T, P> const & m1,
-
199  tmat4x3<T, P> const & m2);
-
200 
-
201  template <typename T, precision P>
-
202  GLM_FUNC_DECL tmat3x2<T, P> operator/ (
-
203  tmat3x2<T, P> const & m,
-
204  T const & s);
-
205 
-
206  template <typename T, precision P>
-
207  GLM_FUNC_DECL tmat3x2<T, P> operator/ (
-
208  T const & s,
-
209  tmat3x2<T, P> const & m);
-
210 
-
211  // Unary constant operators
-
212  template <typename T, precision P>
-
213  GLM_FUNC_DECL tmat3x2<T, P> const operator-(
-
214  tmat3x2<T, P> const & m);
-
215 
-
216 }//namespace detail
-
217 }//namespace glm
-
218 
-
219 #ifndef GLM_EXTERNAL_TEMPLATE
-
220 #include "type_mat3x2.inl"
-
221 #endif
-
222 
-
223 #endif //glm_core_type_mat3x2
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
172  GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat2x3<T, P> const & m2);
+
173 
+
174  template <typename T, precision P>
+
175  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat3x4<T, P> const & m1, tmat3x3<T, P> const & m2);
+
176 
+
177  template <typename T, precision P>
+
178  GLM_FUNC_DECL tmat3x4<T, P> operator/(tmat3x4<T, P> const & m, T const & s);
+
179 
+
180  template <typename T, precision P>
+
181  GLM_FUNC_DECL tmat3x4<T, P> operator/(T const & s, tmat3x4<T, P> const & m);
+
182 
+
183  // Unary constant operators
+
184  template <typename T, precision P>
+
185  GLM_FUNC_DECL tmat3x4<T, P> const operator-(tmat3x4<T, P> const & m);
+
186 }//namespace glm
+
187 
+
188 #ifndef GLM_EXTERNAL_TEMPLATE
+
189 #include "type_mat3x4.inl"
+
190 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00127.html b/doc/api/a00127.html new file mode 100644 index 00000000..ec3f4e77 --- /dev/null +++ b/doc/api/a00127.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat4x2.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2006-10-01 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat4x2.hpp.

+
+ + + + diff --git a/doc/api/a00127_source.html b/doc/api/a00127_source.html index d9993936..f7638681 100644 --- a/doc/api/a00127_source.html +++ b/doc/api/a00127_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat3x3.hpp Source File + +0.9.6: type_mat4x2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,250 +41,189 @@
-
type_mat3x3.hpp
+
type_mat4x2.hpp
-
1 
-
29 #ifndef glm_core_type_mat3x3
-
30 #define glm_core_type_mat3x3
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec3.hpp"
-
34 #include "type_mat.hpp"
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec2.hpp"
+
33 #include "type_vec4.hpp"
+
34 #include "type_mat.hpp"
35 #include <limits>
-
36 
-
37 namespace glm{
-
38 namespace detail
+
36 #include <cstddef>
+
37 
+
38 namespace glm
39 {
-
40  template <typename T, precision P>
-
41  struct tmat3x3
+
40  template <typename T, precision P = defaultp>
+
41  struct tmat4x2
42  {
-
43  enum ctor{_null};
-
44  typedef T value_type;
-
45  typedef std::size_t size_type;
-
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 
-
51  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
52 
-
53  template <typename U, precision Q>
-
54  friend tvec3<U, Q> operator/(tmat3x3<U, Q> const & m, tvec3<U, Q> const & v);
-
55  template <typename U, precision Q>
-
56  friend tvec3<U, Q> operator/(tvec3<U, Q> const & v, tmat3x3<U, Q> const & m);
-
57 
-
58  private:
-
60  col_type value[3];
-
62 
-
63  public:
-
64  // Constructors
-
65  GLM_FUNC_DECL tmat3x3();
-
66  GLM_FUNC_DECL tmat3x3(tmat3x3<T, P> const & m);
-
67  template <precision Q>
-
68  GLM_FUNC_DECL tmat3x3(tmat3x3<T, Q> const & m);
-
69 
-
70  GLM_FUNC_DECL explicit tmat3x3(
-
71  ctor Null);
-
72  GLM_FUNC_DECL explicit tmat3x3(
-
73  T const & s);
-
74  GLM_FUNC_DECL explicit tmat3x3(
-
75  T const & x0, T const & y0, T const & z0,
-
76  T const & x1, T const & y1, T const & z1,
-
77  T const & x2, T const & y2, T const & z2);
-
78  GLM_FUNC_DECL explicit tmat3x3(
-
79  col_type const & v0,
-
80  col_type const & v1,
-
81  col_type const & v2);
+
43  typedef T value_type;
+
44  typedef std::size_t size_type;
+
45  typedef tvec2<T, P> col_type;
+
46  typedef tvec4<T, P> row_type;
+
47  typedef tmat4x2<T, P> type;
+
48  typedef tmat2x4<T, P> transpose_type;
+
49 
+
50 # ifdef GLM_FORCE_SIZE_FUNC
+
51  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
52 # else
+
53  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
54 # endif//GLM_FORCE_SIZE_FUNC
+
55 
+
56  private:
+
58  col_type value[4];
+
60 
+
61  public:
+
62  // Constructors
+
63  GLM_FUNC_DECL tmat4x2();
+
64  template <precision Q>
+
65  GLM_FUNC_DECL tmat4x2(tmat4x2<T, Q> const & m);
+
66 
+
67  GLM_FUNC_DECL explicit tmat4x2(ctor);
+
68  GLM_FUNC_DECL explicit tmat4x2(T const & x);
+
69  GLM_FUNC_DECL tmat4x2(
+
70  T const & x0, T const & y0,
+
71  T const & x1, T const & y1,
+
72  T const & x2, T const & y2,
+
73  T const & x3, T const & y3);
+
74  GLM_FUNC_DECL tmat4x2(
+
75  col_type const & v0,
+
76  col_type const & v1,
+
77  col_type const & v2,
+
78  col_type const & v3);
+
79 
+
81  // Conversions
82 
-
83 #if(GLM_HAS_INITIALIZER_LISTS)
-
84  template <typename U>
-
85  GLM_FUNC_DECL tmat3x3(std::initializer_list<U> m);
-
86 
-
87  GLM_FUNC_DECL tmat3x3(std::initializer_list<tvec3<T, P> > m);
-
88 #endif//GLM_HAS_INITIALIZER_LISTS
-
89 
-
91  // Conversions
-
92  template<
-
93  typename X1, typename Y1, typename Z1,
-
94  typename X2, typename Y2, typename Z2,
-
95  typename X3, typename Y3, typename Z3>
-
96  GLM_FUNC_DECL explicit tmat3x3(
-
97  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
98  X2 const & x2, Y2 const & y2, Z2 const & z2,
-
99  X3 const & x3, Y3 const & y3, Z3 const & z3);
-
100 
-
101  template <typename V1, typename V2, typename V3>
-
102  GLM_FUNC_DECL explicit tmat3x3(
-
103  tvec3<V1, P> const & v1,
-
104  tvec3<V2, P> const & v2,
-
105  tvec3<V3, P> const & v3);
-
106 
-
107  // Matrix conversions
-
108  template <typename U, precision Q>
-
109  GLM_FUNC_DECL explicit tmat3x3(tmat3x3<U, Q> const & m);
-
110 
-
111  GLM_FUNC_DECL explicit tmat3x3(tmat2x2<T, P> const & x);
-
112  GLM_FUNC_DECL explicit tmat3x3(tmat4x4<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat3x3(tmat2x3<T, P> const & x);
-
114  GLM_FUNC_DECL explicit tmat3x3(tmat3x2<T, P> const & x);
-
115  GLM_FUNC_DECL explicit tmat3x3(tmat2x4<T, P> const & x);
-
116  GLM_FUNC_DECL explicit tmat3x3(tmat4x2<T, P> const & x);
-
117  GLM_FUNC_DECL explicit tmat3x3(tmat3x4<T, P> const & x);
-
118  GLM_FUNC_DECL explicit tmat3x3(tmat4x3<T, P> const & x);
-
119 
-
120  // Accesses
-
121  GLM_FUNC_DECL col_type & operator[](length_t i);
-
122  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
-
123 
-
124  // Unary updatable operators
-
125  GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<T, P> const & m);
-
126  template <typename U>
-
127  GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<U, P> const & m);
-
128  template <typename U>
-
129  GLM_FUNC_DECL tmat3x3<T, P>& operator+= (U s);
-
130  template <typename U>
-
131  GLM_FUNC_DECL tmat3x3<T, P>& operator+= (tmat3x3<U, P> const & m);
-
132  template <typename U>
-
133  GLM_FUNC_DECL tmat3x3<T, P>& operator-= (U s);
-
134  template <typename U>
-
135  GLM_FUNC_DECL tmat3x3<T, P>& operator-= (tmat3x3<U, P> const & m);
-
136  template <typename U>
-
137  GLM_FUNC_DECL tmat3x3<T, P>& operator*= (U s);
-
138  template <typename U>
-
139  GLM_FUNC_DECL tmat3x3<T, P>& operator*= (tmat3x3<U, P> const & m);
-
140  template <typename U>
-
141  GLM_FUNC_DECL tmat3x3<T, P>& operator/= (U s);
-
142  template <typename U>
-
143  GLM_FUNC_DECL tmat3x3<T, P>& operator/= (tmat3x3<U, P> const & m);
-
144 
-
146  // Increment and decrement operators
-
147 
-
148  GLM_FUNC_DECL tmat3x3<T, P> & operator++ ();
-
149  GLM_FUNC_DECL tmat3x3<T, P> & operator-- ();
-
150  GLM_FUNC_DECL tmat3x3<T, P> operator++(int);
-
151  GLM_FUNC_DECL tmat3x3<T, P> operator--(int);
-
152  };
-
153 
-
154  template <typename T, precision P>
-
155  GLM_FUNC_DECL tmat3x3<T, P> compute_inverse_mat3(tmat3x3<T, P> const & m);
-
156 
-
157  // Binary operators
-
158  template <typename T, precision P>
-
159  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
-
160  tmat3x3<T, P> const & m,
-
161  T const & s);
-
162 
-
163  template <typename T, precision P>
-
164  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
-
165  T const & s,
-
166  tmat3x3<T, P> const & m);
+
83  template <
+
84  typename X1, typename Y1,
+
85  typename X2, typename Y2,
+
86  typename X3, typename Y3,
+
87  typename X4, typename Y4>
+
88  GLM_FUNC_DECL tmat4x2(
+
89  X1 const & x1, Y1 const & y1,
+
90  X2 const & x2, Y2 const & y2,
+
91  X3 const & x3, Y3 const & y3,
+
92  X4 const & x4, Y4 const & y4);
+
93 
+
94  template <typename V1, typename V2, typename V3, typename V4>
+
95  GLM_FUNC_DECL tmat4x2(
+
96  tvec2<V1, P> const & v1,
+
97  tvec2<V2, P> const & v2,
+
98  tvec2<V3, P> const & v3,
+
99  tvec2<V4, P> const & v4);
+
100 
+
102  // Matrix conversions
+
103 
+
104 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
105  template <typename U, precision Q>
+
106  GLM_FUNC_DECL explicit tmat4x2(tmat4x2<U, Q> const & m);
+
107 # else
+
108  template <typename U, precision Q>
+
109  GLM_FUNC_DECL tmat4x2(tmat4x2<U, Q> const & m);
+
110 # endif
+
111 
+
112  GLM_FUNC_DECL explicit tmat4x2(tmat2x2<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat4x2(tmat3x3<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat4x2(tmat4x4<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat4x2(tmat2x3<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat4x2(tmat3x2<T, P> const & x);
+
117  GLM_FUNC_DECL explicit tmat4x2(tmat2x4<T, P> const & x);
+
118  GLM_FUNC_DECL explicit tmat4x2(tmat4x3<T, P> const & x);
+
119  GLM_FUNC_DECL explicit tmat4x2(tmat3x4<T, P> const & x);
+
120 
+
121  // Accesses
+
122  GLM_FUNC_DECL col_type & operator[](length_t i);
+
123  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
124 
+
125  template <typename U>
+
126  GLM_FUNC_DECL tmat4x2<T, P>& operator=(tmat4x2<U, P> const & m);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat4x2<T, P>& operator+=(U s);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tmat4x2<T, P>& operator+=(tmat4x2<U, P> const & m);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tmat4x2<T, P>& operator-=(U s);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat4x2<T, P>& operator-=(tmat4x2<U, P> const & m);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat4x2<T, P>& operator*=(U s);
+
137  template <typename U>
+
138  GLM_FUNC_DECL tmat4x2<T, P>& operator/=(U s);
+
139 
+
141  // Increment and decrement operators
+
142 
+
143  GLM_FUNC_DECL tmat4x2<T, P> & operator++ ();
+
144  GLM_FUNC_DECL tmat4x2<T, P> & operator-- ();
+
145  GLM_FUNC_DECL tmat4x2<T, P> operator++(int);
+
146  GLM_FUNC_DECL tmat4x2<T, P> operator--(int);
+
147  };
+
148 
+
149  // Binary operators
+
150  template <typename T, precision P>
+
151  GLM_FUNC_DECL tmat4x2<T, P> operator+(tmat4x2<T, P> const & m, T const & s);
+
152 
+
153  template <typename T, precision P>
+
154  GLM_FUNC_DECL tmat4x2<T, P> operator+(tmat4x2<T, P> const & m1, tmat4x2<T, P> const & m2);
+
155 
+
156  template <typename T, precision P>
+
157  GLM_FUNC_DECL tmat4x2<T, P> operator-(tmat4x2<T, P> const & m, T const & s);
+
158 
+
159  template <typename T, precision P>
+
160  GLM_FUNC_DECL tmat4x2<T, P> operator-(tmat4x2<T, P> const & m1, tmat4x2<T, P> const & m2);
+
161 
+
162  template <typename T, precision P>
+
163  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat4x2<T, P> const & m, T const & s);
+
164 
+
165  template <typename T, precision P>
+
166  GLM_FUNC_DECL tmat4x2<T, P> operator*(T const & s, tmat4x2<T, P> const & m);
167 
168  template <typename T, precision P>
-
169  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
-
170  tmat3x3<T, P> const & m1,
-
171  tmat3x3<T, P> const & m2);
-
172 
-
173  template <typename T, precision P>
-
174  GLM_FUNC_DECL tmat3x3<T, P> operator- (
-
175  tmat3x3<T, P> const & m,
-
176  T const & s);
-
177 
-
178  template <typename T, precision P>
-
179  GLM_FUNC_DECL tmat3x3<T, P> operator- (
-
180  T const & s,
-
181  tmat3x3<T, P> const & m);
+
169  GLM_FUNC_DECL typename tmat4x2<T, P>::col_type operator*(tmat4x2<T, P> const & m, typename tmat4x2<T, P>::row_type const & v);
+
170 
+
171  template <typename T, precision P>
+
172  GLM_FUNC_DECL typename tmat4x2<T, P>::row_type operator*(typename tmat4x2<T, P>::col_type const & v, tmat4x2<T, P> const & m);
+
173 
+
174  template <typename T, precision P>
+
175  GLM_FUNC_DECL tmat3x2<T, P> operator*(tmat4x2<T, P> const & m1, tmat3x4<T, P> const & m2);
+
176 
+
177  template <typename T, precision P>
+
178  GLM_FUNC_DECL tmat4x2<T, P> operator*(tmat4x2<T, P> const & m1, tmat4x4<T, P> const & m2);
+
179 
+
180  template <typename T, precision P>
+
181  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat2x4<T, P> const & m2);
182 
183  template <typename T, precision P>
-
184  GLM_FUNC_DECL tmat3x3<T, P> operator- (
-
185  tmat3x3<T, P> const & m1,
-
186  tmat3x3<T, P> const & m2);
-
187 
-
188  template <typename T, precision P>
-
189  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
190  tmat3x3<T, P> const & m,
-
191  T const & s);
-
192 
-
193  template <typename T, precision P>
-
194  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
195  T const & s,
-
196  tmat3x3<T, P> const & m);
-
197 
-
198  template <typename T, precision P>
-
199  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator* (
-
200  tmat3x3<T, P> const & m,
-
201  typename tmat3x3<T, P>::row_type const & v);
-
202 
-
203  template <typename T, precision P>
-
204  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator* (
-
205  typename tmat3x3<T, P>::col_type const & v,
-
206  tmat3x3<T, P> const & m);
-
207 
-
208  template <typename T, precision P>
-
209  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
210  tmat3x3<T, P> const & m1,
-
211  tmat3x3<T, P> const & m2);
-
212 
-
213  template <typename T, precision P>
-
214  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
215  tmat3x3<T, P> const & m1,
-
216  tmat2x3<T, P> const & m2);
-
217 
-
218  template <typename T, precision P>
-
219  GLM_FUNC_DECL tmat4x3<T, P> operator* (
-
220  tmat3x3<T, P> const & m1,
-
221  tmat4x3<T, P> const & m2);
-
222 
-
223  template <typename T, precision P>
-
224  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
-
225  tmat3x3<T, P> const & m,
-
226  T const & s);
-
227 
-
228  template <typename T, precision P>
-
229  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
-
230  T const & s,
-
231  tmat3x3<T, P> const & m);
-
232 
-
233  template <typename T, precision P>
-
234  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator/ (
-
235  tmat3x3<T, P> const & m,
-
236  typename tmat3x3<T, P>::row_type const & v);
-
237 
-
238  template <typename T, precision P>
-
239  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator/ (
-
240  typename tmat3x3<T, P>::col_type const & v,
-
241  tmat3x3<T, P> const & m);
-
242 
-
243  template <typename T, precision P>
-
244  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
-
245  tmat3x3<T, P> const & m1,
-
246  tmat3x3<T, P> const & m2);
-
247 
-
248  // Unary constant operators
-
249  template <typename T, precision P>
-
250  GLM_FUNC_DECL tmat3x3<T, P> const operator-(
-
251  tmat3x3<T, P> const & m);
-
252 
-
253 }//namespace detail
-
254 }//namespace glm
-
255 
-
256 #ifndef GLM_EXTERNAL_TEMPLATE
-
257 #include "type_mat3x3.inl"
-
258 #endif
-
259 
-
260 #endif //glm_core_type_mat3x3
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
184  GLM_FUNC_DECL tmat4x2<T, P> operator/(tmat4x2<T, P> const & m, T const & s);
+
185 
+
186  template <typename T, precision P>
+
187  GLM_FUNC_DECL tmat4x2<T, P> operator/(T const & s, tmat4x2<T, P> const & m);
+
188 
+
189  // Unary constant operators
+
190  template <typename T, precision P>
+
191  GLM_FUNC_DECL tmat4x2<T, P> const operator-(tmat4x2<T, P> const & m);
+
192 }//namespace glm
+
193 
+
194 #ifndef GLM_EXTERNAL_TEMPLATE
+
195 #include "type_mat4x2.inl"
+
196 #endif
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
Definition: _noise.hpp:31
+
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 new file mode 100644 index 00000000..f9976e71 --- /dev/null +++ b/doc/api/a00128.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat4x3.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2006-08-04 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat4x3.hpp.

+
+ + + + diff --git a/doc/api/a00128_source.html b/doc/api/a00128_source.html index 9fa191d4..2efba6a2 100644 --- a/doc/api/a00128_source.html +++ b/doc/api/a00128_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat3x4.hpp Source File + +0.9.6: type_mat4x3.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,215 +41,190 @@
-
type_mat3x4.hpp
+
type_mat4x3.hpp
-
1 
-
29 #ifndef glm_core_type_mat3x4
-
30 #define glm_core_type_mat3x4
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec3.hpp"
-
34 #include "type_vec4.hpp"
-
35 #include "type_mat.hpp"
-
36 #include <limits>
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec3.hpp"
+
33 #include "type_vec4.hpp"
+
34 #include "type_mat.hpp"
+
35 #include <limits>
+
36 #include <cstddef>
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T, precision P>
-
42  struct tmat3x4
-
43  {
-
44  enum ctor{_null};
-
45  typedef T value_type;
-
46  typedef std::size_t size_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 
-
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
53 
-
54  private:
-
55  // Data
-
56  col_type value[3];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat3x4();
-
61  GLM_FUNC_DECL tmat3x4(tmat3x4<T, P> const & m);
-
62  template <precision Q>
-
63  GLM_FUNC_DECL tmat3x4(tmat3x4<T, Q> const & m);
-
64 
-
65  GLM_FUNC_DECL explicit tmat3x4(
-
66  ctor Null);
-
67  GLM_FUNC_DECL explicit tmat3x4(
-
68  T const & s);
-
69  GLM_FUNC_DECL explicit tmat3x4(
-
70  T const & x0, T const & y0, T const & z0, T const & w0,
-
71  T const & x1, T const & y1, T const & z1, T const & w1,
-
72  T const & x2, T const & y2, T const & z2, T const & w2);
-
73  GLM_FUNC_DECL explicit tmat3x4(
+
38 namespace glm
+
39 {
+
40  template <typename T, precision P = defaultp>
+
41  struct tmat4x3
+
42  {
+
43  typedef T value_type;
+
44  typedef std::size_t size_type;
+
45  typedef tvec3<T, P> col_type;
+
46  typedef tvec4<T, P> row_type;
+
47  typedef tmat4x3<T, P> type;
+
48  typedef tmat3x4<T, P> transpose_type;
+
49 
+
50 # ifdef GLM_FORCE_SIZE_FUNC
+
51  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
52 # else
+
53  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
54 # endif//GLM_FORCE_SIZE_FUNC
+
55 
+
56  private:
+
57  // Data
+
58  col_type value[4];
+
59 
+
60  public:
+
61  // Constructors
+
62  GLM_FUNC_DECL tmat4x3();
+
63  template <precision Q>
+
64  GLM_FUNC_DECL tmat4x3(tmat4x3<T, Q> const & m);
+
65 
+
66  GLM_FUNC_DECL explicit tmat4x3(ctor);
+
67  GLM_FUNC_DECL explicit tmat4x3(T const & x);
+
68  GLM_FUNC_DECL tmat4x3(
+
69  T const & x0, T const & y0, T const & z0,
+
70  T const & x1, T const & y1, T const & z1,
+
71  T const & x2, T const & y2, T const & z2,
+
72  T const & x3, T const & y3, T const & z3);
+
73  GLM_FUNC_DECL tmat4x3(
74  col_type const & v0,
75  col_type const & v1,
-
76  col_type const & v2);
-
77 
-
78 #if(GLM_HAS_INITIALIZER_LISTS)
-
79  template <typename U>
-
80  GLM_FUNC_DECL tmat3x4(std::initializer_list<U> m);
+
76  col_type const & v2,
+
77  col_type const & v3);
+
78 
+
80  // Conversions
81 
-
82  GLM_FUNC_DECL tmat3x4(std::initializer_list<tvec4<T, P> > m);
-
83 #endif//GLM_HAS_INITIALIZER_LISTS
-
84 
-
86  // Conversions
-
87  template<
-
88  typename X1, typename Y1, typename Z1, typename W1,
-
89  typename X2, typename Y2, typename Z2, typename W2,
-
90  typename X3, typename Y3, typename Z3, typename W3>
-
91  GLM_FUNC_DECL explicit tmat3x4(
-
92  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
-
93  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
-
94  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3);
-
95 
-
96  template <typename V1, typename V2, typename V3>
-
97  GLM_FUNC_DECL explicit tmat3x4(
-
98  tvec4<V1, P> const & v1,
-
99  tvec4<V2, P> const & v2,
-
100  tvec4<V3, P> const & v3);
-
101 
-
102  // Matrix conversion
-
103  template <typename U, precision Q>
-
104  GLM_FUNC_DECL explicit tmat3x4(tmat3x4<U, Q> const & m);
-
105 
-
106  GLM_FUNC_DECL explicit tmat3x4(tmat2x2<T, P> const & x);
-
107  GLM_FUNC_DECL explicit tmat3x4(tmat3x3<T, P> const & x);
-
108  GLM_FUNC_DECL explicit tmat3x4(tmat4x4<T, P> const & x);
-
109  GLM_FUNC_DECL explicit tmat3x4(tmat2x3<T, P> const & x);
-
110  GLM_FUNC_DECL explicit tmat3x4(tmat3x2<T, P> const & x);
-
111  GLM_FUNC_DECL explicit tmat3x4(tmat2x4<T, P> const & x);
-
112  GLM_FUNC_DECL explicit tmat3x4(tmat4x2<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat3x4(tmat4x3<T, P> const & x);
-
114 
-
115  // Accesses
-
116  GLM_FUNC_DECL col_type & operator[](length_t i);
-
117  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
-
118 
-
119  // Unary updatable operators
-
120  GLM_FUNC_DECL tmat3x4<T, P> & operator= (tmat3x4<T, P> const & m);
-
121  template <typename U>
-
122  GLM_FUNC_DECL tmat3x4<T, P> & operator= (tmat3x4<U, P> const & m);
-
123  template <typename U>
-
124  GLM_FUNC_DECL tmat3x4<T, P> & operator+= (U s);
-
125  template <typename U>
-
126  GLM_FUNC_DECL tmat3x4<T, P> & operator+= (tmat3x4<U, P> const & m);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat3x4<T, P> & operator-= (U s);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tmat3x4<T, P> & operator-= (tmat3x4<U, P> const & m);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat3x4<T, P> & operator*= (U s);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat3x4<T, P> & operator/= (U s);
-
135 
-
137  // Increment and decrement operators
+
82  template <
+
83  typename X1, typename Y1, typename Z1,
+
84  typename X2, typename Y2, typename Z2,
+
85  typename X3, typename Y3, typename Z3,
+
86  typename X4, typename Y4, typename Z4>
+
87  GLM_FUNC_DECL tmat4x3(
+
88  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
89  X2 const & x2, Y2 const & y2, Z2 const & z2,
+
90  X3 const & x3, Y3 const & y3, Z3 const & z3,
+
91  X4 const & x4, Y4 const & y4, Z4 const & z4);
+
92 
+
93  template <typename V1, typename V2, typename V3, typename V4>
+
94  GLM_FUNC_DECL tmat4x3(
+
95  tvec3<V1, P> const & v1,
+
96  tvec3<V2, P> const & v2,
+
97  tvec3<V3, P> const & v3,
+
98  tvec3<V4, P> const & v4);
+
99 
+
101  // Matrix conversions
+
102 
+
103 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
104  template <typename U, precision Q>
+
105  GLM_FUNC_DECL explicit tmat4x3(tmat4x3<U, Q> const & m);
+
106 # else
+
107  template <typename U, precision Q>
+
108  GLM_FUNC_DECL tmat4x3(tmat4x3<U, Q> const & m);
+
109 # endif
+
110 
+
111  GLM_FUNC_DECL explicit tmat4x3(tmat2x2<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat4x3(tmat3x3<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat4x3(tmat4x4<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat4x3(tmat2x3<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat4x3(tmat3x2<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat4x3(tmat2x4<T, P> const & x);
+
117  GLM_FUNC_DECL explicit tmat4x3(tmat4x2<T, P> const & x);
+
118  GLM_FUNC_DECL explicit tmat4x3(tmat3x4<T, P> const & x);
+
119 
+
120  // Accesses
+
121  GLM_FUNC_DECL col_type & operator[](size_type i);
+
122  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
123 
+
124  template <typename U>
+
125  GLM_FUNC_DECL tmat4x3<T, P> & operator=(tmat4x3<U, P> const & m);
+
126  template <typename U>
+
127  GLM_FUNC_DECL tmat4x3<T, P> & operator+=(U s);
+
128  template <typename U>
+
129  GLM_FUNC_DECL tmat4x3<T, P> & operator+=(tmat4x3<U, P> const & m);
+
130  template <typename U>
+
131  GLM_FUNC_DECL tmat4x3<T, P> & operator-=(U s);
+
132  template <typename U>
+
133  GLM_FUNC_DECL tmat4x3<T, P> & operator-=(tmat4x3<U, P> const & m);
+
134  template <typename U>
+
135  GLM_FUNC_DECL tmat4x3<T, P> & operator*=(U s);
+
136  template <typename U>
+
137  GLM_FUNC_DECL tmat4x3<T, P> & operator/=(U s);
138 
-
139  GLM_FUNC_DECL tmat3x4<T, P> & operator++ ();
-
140  GLM_FUNC_DECL tmat3x4<T, P> & operator-- ();
-
141  GLM_FUNC_DECL tmat3x4<T, P> operator++(int);
-
142  GLM_FUNC_DECL tmat3x4<T, P> operator--(int);
-
143  };
-
144 
-
145  // Binary operators
-
146  template <typename T, precision P>
-
147  GLM_FUNC_DECL tmat3x4<T, P> operator+ (
-
148  tmat3x4<T, P> const & m,
-
149  T const & s);
-
150 
-
151  template <typename T, precision P>
-
152  GLM_FUNC_DECL tmat3x4<T, P> operator+ (
-
153  tmat3x4<T, P> const & m1,
-
154  tmat3x4<T, P> const & m2);
-
155 
-
156  template <typename T, precision P>
-
157  GLM_FUNC_DECL tmat3x4<T, P> operator- (
-
158  tmat3x4<T, P> const & m,
-
159  T const & s);
+
140  // Increment and decrement operators
+
141 
+
142  GLM_FUNC_DECL tmat4x3<T, P> & operator++();
+
143  GLM_FUNC_DECL tmat4x3<T, P> & operator--();
+
144  GLM_FUNC_DECL tmat4x3<T, P> operator++(int);
+
145  GLM_FUNC_DECL tmat4x3<T, P> operator--(int);
+
146  };
+
147 
+
148  // Binary operators
+
149  template <typename T, precision P>
+
150  GLM_FUNC_DECL tmat4x3<T, P> operator+(tmat4x3<T, P> const & m, T const & s);
+
151 
+
152  template <typename T, precision P>
+
153  GLM_FUNC_DECL tmat4x3<T, P> operator+(tmat4x3<T, P> const & m1, tmat4x3<T, P> const & m2);
+
154 
+
155  template <typename T, precision P>
+
156  GLM_FUNC_DECL tmat4x3<T, P> operator-(tmat4x3<T, P> const & m, T const & s);
+
157 
+
158  template <typename T, precision P>
+
159  GLM_FUNC_DECL tmat4x3<T, P> operator-(tmat4x3<T, P> const & m1, tmat4x3<T, P> const & m2);
160 
161  template <typename T, precision P>
-
162  GLM_FUNC_DECL tmat3x4<T, P> operator- (
-
163  tmat3x4<T, P> const & m1,
-
164  tmat3x4<T, P> const & m2);
-
165 
-
166  template <typename T, precision P>
-
167  GLM_FUNC_DECL tmat3x4<T, P> operator* (
-
168  tmat3x4<T, P> const & m,
-
169  T const & s);
-
170 
-
171  template <typename T, precision P>
-
172  GLM_FUNC_DECL tmat3x4<T, P> operator* (
-
173  T const & s,
-
174  tmat3x4<T, P> const & m);
+
162  GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat4x3<T, P> const & m, T const & s);
+
163 
+
164  template <typename T, precision P>
+
165  GLM_FUNC_DECL tmat4x3<T, P> operator*(T const & s, tmat4x3<T, P> const & m);
+
166 
+
167  template <typename T, precision P>
+
168  GLM_FUNC_DECL typename tmat4x3<T, P>::col_type operator*(tmat4x3<T, P> const & m, typename tmat4x3<T, P>::row_type const & v);
+
169 
+
170  template <typename T, precision P>
+
171  GLM_FUNC_DECL typename tmat4x3<T, P>::row_type operator*(typename tmat4x3<T, P>::col_type const & v, tmat4x3<T, P> const & m);
+
172 
+
173  template <typename T, precision P>
+
174  GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat2x4<T, P> const & m2);
175 
176  template <typename T, precision P>
-
177  GLM_FUNC_DECL typename tmat3x4<T, P>::col_type operator* (
-
178  tmat3x4<T, P> const & m,
-
179  typename tmat3x4<T, P>::row_type const & v);
-
180 
-
181  template <typename T, precision P>
-
182  GLM_FUNC_DECL typename tmat3x4<T, P>::row_type operator* (
-
183  typename tmat3x4<T, P>::col_type const & v,
-
184  tmat3x4<T, P> const & m);
-
185 
-
186  template <typename T, precision P>
-
187  GLM_FUNC_DECL tmat4x4<T, P> operator* (
-
188  tmat3x4<T, P> const & m1,
-
189  tmat4x3<T, P> const & m2);
-
190 
-
191  template <typename T, precision P>
-
192  GLM_FUNC_DECL tmat2x4<T, P> operator* (
-
193  tmat3x4<T, P> const & m1,
-
194  tmat2x3<T, P> const & m2);
-
195 
-
196  template <typename T, precision P>
-
197  GLM_FUNC_DECL tmat3x4<T, P> operator* (
-
198  tmat3x4<T, P> const & m1,
-
199  tmat3x3<T, P> const & m2);
-
200 
-
201  template <typename T, precision P>
-
202  GLM_FUNC_DECL tmat3x4<T, P> operator/ (
-
203  tmat3x4<T, P> const & m,
-
204  T const & s);
-
205 
-
206  template <typename T, precision P>
-
207  GLM_FUNC_DECL tmat3x4<T, P> operator/ (
-
208  T const & s,
-
209  tmat3x4<T, P> const & m);
-
210 
-
211  // Unary constant operators
-
212  template <typename T, precision P>
-
213  GLM_FUNC_DECL tmat3x4<T, P> const operator-(
-
214  tmat3x4<T, P> const & m);
-
215 
-
216 }//namespace detail
-
217 }//namespace glm
-
218 
-
219 #ifndef GLM_EXTERNAL_TEMPLATE
-
220 #include "type_mat3x4.inl"
-
221 #endif
-
222 
-
223 #endif //glm_core_type_mat3x4
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
177  GLM_FUNC_DECL tmat3x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat3x4<T, P> const & m2);
+
178 
+
179  template <typename T, precision P>
+
180  GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat4x3<T, P> const & m1, tmat4x4<T, P> const & m2);
+
181 
+
182  template <typename T, precision P>
+
183  GLM_FUNC_DECL tmat4x3<T, P> operator/(tmat4x3<T, P> const & m, T const & s);
+
184 
+
185  template <typename T, precision P>
+
186  GLM_FUNC_DECL tmat4x3<T, P> operator/(T const & s, tmat4x3<T, P> const & m);
+
187 
+
188  // Unary constant operators
+
189  template <typename T, precision P>
+
190  GLM_FUNC_DECL tmat4x3<T, P> const operator-(tmat4x3<T, P> const & m);
+
191 }//namespace glm
+
192 
+
193 #ifndef GLM_EXTERNAL_TEMPLATE
+
194 #include "type_mat4x3.inl"
+
195 #endif //GLM_EXTERNAL_TEMPLATE
+
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
+
OpenGL Mathematics (glm.g-truc.net)
+
Definition: _noise.hpp:31
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00129.html b/doc/api/a00129.html new file mode 100644 index 00000000..630afb9c --- /dev/null +++ b/doc/api/a00129.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_mat4x4.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2005-01-27 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_mat4x4.hpp.

+
+ + + + diff --git a/doc/api/a00129_source.html b/doc/api/a00129_source.html index 7e8b424b..886318df 100644 --- a/doc/api/a00129_source.html +++ b/doc/api/a00129_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat4x2.hpp Source File + +0.9.6: type_mat4x4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,221 +41,213 @@
-
type_mat4x2.hpp
+
type_mat4x4.hpp
-
1 
-
29 #ifndef glm_core_type_mat4x2
-
30 #define glm_core_type_mat4x2
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec2.hpp"
-
34 #include "type_vec4.hpp"
-
35 #include "type_mat.hpp"
-
36 #include <limits>
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T, precision P>
-
42  struct tmat4x2
-
43  {
-
44  enum ctor{_null};
-
45  typedef T value_type;
-
46  typedef std::size_t size_type;
-
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;
-
51 
-
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
53 
-
54  private:
-
55  // Data
-
56  col_type value[4];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat4x2();
-
61  GLM_FUNC_DECL tmat4x2(tmat4x2<T, P> const & m);
-
62  template <precision Q>
-
63  GLM_FUNC_DECL tmat4x2(tmat4x2<T, Q> const & m);
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec4.hpp"
+
33 #include "type_mat.hpp"
+
34 #include <limits>
+
35 #include <cstddef>
+
36 
+
37 namespace glm
+
38 {
+
39  template <typename T, precision P = defaultp>
+
40  struct tmat4x4
+
41  {
+
42  typedef T value_type;
+
43  typedef std::size_t size_type;
+
44  typedef tvec4<T, P> col_type;
+
45  typedef tvec4<T, P> row_type;
+
46  typedef tmat4x4<T, P> type;
+
47  typedef tmat4x4<T, P> transpose_type;
+
48 
+
49 # ifdef GLM_FORCE_SIZE_FUNC
+
50  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
51 # else
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 # endif//GLM_FORCE_SIZE_FUNC
+
54 
+
55  template <typename U, precision Q>
+
56  friend tvec4<U, Q> operator/(tmat4x4<U, Q> const & m, tvec4<U, Q> const & v);
+
57  template <typename U, precision Q>
+
58  friend tvec4<U, Q> operator/(tvec4<U, Q> const & v, tmat4x4<U, Q> const & m);
+
59 
+
60  private:
+
62  col_type value[4];
64 
-
65  GLM_FUNC_DECL explicit tmat4x2(
-
66  ctor Null);
-
67  GLM_FUNC_DECL explicit tmat4x2(
-
68  T const & x);
-
69  GLM_FUNC_DECL explicit tmat4x2(
-
70  T const & x0, T const & y0,
-
71  T const & x1, T const & y1,
-
72  T const & x2, T const & y2,
-
73  T const & x3, T const & y3);
-
74  GLM_FUNC_DECL explicit tmat4x2(
-
75  col_type const & v0,
-
76  col_type const & v1,
-
77  col_type const & v2,
-
78  col_type const & v3);
-
79 
-
80 #if(GLM_HAS_INITIALIZER_LISTS)
-
81  template <typename U>
-
82  GLM_FUNC_DECL tmat4x2(std::initializer_list<U> m);
-
83 
-
84  GLM_FUNC_DECL tmat4x2(std::initializer_list<tvec2<T, P> > m);
-
85 #endif//GLM_HAS_INITIALIZER_LISTS
-
86 
-
88  // Conversions
-
89 
-
90  template<
-
91  typename X1, typename Y1,
-
92  typename X2, typename Y2,
-
93  typename X3, typename Y3,
-
94  typename X4, typename Y4>
-
95  GLM_FUNC_DECL explicit tmat4x2(
-
96  X1 const & x1, Y1 const & y1,
-
97  X2 const & x2, Y2 const & y2,
-
98  X3 const & x3, Y3 const & y3,
-
99  X4 const & x4, Y4 const & y4);
-
100 
-
101  template <typename V1, typename V2, typename V3, typename V4>
-
102  GLM_FUNC_DECL explicit tmat4x2(
-
103  tvec2<V1, P> const & v1,
-
104  tvec2<V2, P> const & v2,
-
105  tvec2<V3, P> const & v3,
-
106  tvec2<V4, P> const & v4);
-
107 
-
108  // Matrix conversions
-
109  template <typename U, precision Q>
-
110  GLM_FUNC_DECL explicit tmat4x2(tmat4x2<U, Q> const & m);
-
111 
-
112  GLM_FUNC_DECL explicit tmat4x2(tmat2x2<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat4x2(tmat3x3<T, P> const & x);
-
114  GLM_FUNC_DECL explicit tmat4x2(tmat4x4<T, P> const & x);
-
115  GLM_FUNC_DECL explicit tmat4x2(tmat2x3<T, P> const & x);
-
116  GLM_FUNC_DECL explicit tmat4x2(tmat3x2<T, P> const & x);
-
117  GLM_FUNC_DECL explicit tmat4x2(tmat2x4<T, P> const & x);
-
118  GLM_FUNC_DECL explicit tmat4x2(tmat4x3<T, P> const & x);
-
119  GLM_FUNC_DECL explicit tmat4x2(tmat3x4<T, P> const & x);
-
120 
-
121  // Accesses
-
122  GLM_FUNC_DECL col_type & operator[](length_t i);
-
123  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
-
124 
-
125  // Unary updatable operators
-
126  GLM_FUNC_DECL tmat4x2<T, P>& operator= (tmat4x2<T, P> const & m);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat4x2<T, P>& operator= (tmat4x2<U, P> const & m);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tmat4x2<T, P>& operator+= (U s);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat4x2<T, P>& operator+= (tmat4x2<U, P> const & m);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat4x2<T, P>& operator-= (U s);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat4x2<T, P>& operator-= (tmat4x2<U, P> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat4x2<T, P>& operator*= (U s);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat4x2<T, P>& operator/= (U s);
-
141 
-
143  // Increment and decrement operators
-
144 
-
145  GLM_FUNC_DECL tmat4x2<T, P> & operator++ ();
-
146  GLM_FUNC_DECL tmat4x2<T, P> & operator-- ();
-
147  GLM_FUNC_DECL tmat4x2<T, P> operator++(int);
-
148  GLM_FUNC_DECL tmat4x2<T, P> operator--(int);
-
149  };
-
150 
-
151  // Binary operators
-
152  template <typename T, precision P>
-
153  GLM_FUNC_DECL tmat4x2<T, P> operator+ (
-
154  tmat4x2<T, P> const & m,
-
155  T const & s);
-
156 
-
157  template <typename T, precision P>
-
158  GLM_FUNC_DECL tmat4x2<T, P> operator+ (
-
159  tmat4x2<T, P> const & m1,
-
160  tmat4x2<T, P> const & m2);
-
161 
-
162  template <typename T, precision P>
-
163  GLM_FUNC_DECL tmat4x2<T, P> operator- (
-
164  tmat4x2<T, P> const & m,
-
165  T const & s);
-
166 
-
167  template <typename T, precision P>
-
168  GLM_FUNC_DECL tmat4x2<T, P> operator- (
-
169  tmat4x2<T, P> const & m1,
-
170  tmat4x2<T, P> const & m2);
+
65  public:
+
66  // Constructors
+
67  GLM_FUNC_DECL tmat4x4();
+
68  //GLM_FUNC_DECL tmat4x4(tmat4x4<T, P> const & m);
+
69  template <precision Q>
+
70  GLM_FUNC_DECL tmat4x4(tmat4x4<T, Q> const & m);
+
71 
+
72  GLM_FUNC_DECL explicit tmat4x4(ctor);
+
73  GLM_FUNC_DECL explicit tmat4x4(T const & x);
+
74  GLM_FUNC_DECL tmat4x4(
+
75  T const & x0, T const & y0, T const & z0, T const & w0,
+
76  T const & x1, T const & y1, T const & z1, T const & w1,
+
77  T const & x2, T const & y2, T const & z2, T const & w2,
+
78  T const & x3, T const & y3, T const & z3, T const & w3);
+
79  GLM_FUNC_DECL tmat4x4(
+
80  col_type const & v0,
+
81  col_type const & v1,
+
82  col_type const & v2,
+
83  col_type const & v3);
+
84 
+
86  // Conversions
+
87 
+
88  template <
+
89  typename X1, typename Y1, typename Z1, typename W1,
+
90  typename X2, typename Y2, typename Z2, typename W2,
+
91  typename X3, typename Y3, typename Z3, typename W3,
+
92  typename X4, typename Y4, typename Z4, typename W4>
+
93  GLM_FUNC_DECL tmat4x4(
+
94  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
+
95  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
+
96  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3,
+
97  X4 const & x4, Y4 const & y4, Z4 const & z4, W4 const & w4);
+
98 
+
99  template <typename V1, typename V2, typename V3, typename V4>
+
100  GLM_FUNC_DECL tmat4x4(
+
101  tvec4<V1, P> const & v1,
+
102  tvec4<V2, P> const & v2,
+
103  tvec4<V3, P> const & v3,
+
104  tvec4<V4, P> const & v4);
+
105 
+
107  // Matrix conversions
+
108 
+
109 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
110  template <typename U, precision Q>
+
111  GLM_FUNC_DECL explicit tmat4x4(tmat4x4<U, Q> const & m);
+
112 # else
+
113  template <typename U, precision Q>
+
114  GLM_FUNC_DECL tmat4x4(tmat4x4<U, Q> const & m);
+
115 # endif
+
116 
+
117  GLM_FUNC_DECL explicit tmat4x4(tmat2x2<T, P> const & x);
+
118  GLM_FUNC_DECL explicit tmat4x4(tmat3x3<T, P> const & x);
+
119  GLM_FUNC_DECL explicit tmat4x4(tmat2x3<T, P> const & x);
+
120  GLM_FUNC_DECL explicit tmat4x4(tmat3x2<T, P> const & x);
+
121  GLM_FUNC_DECL explicit tmat4x4(tmat2x4<T, P> const & x);
+
122  GLM_FUNC_DECL explicit tmat4x4(tmat4x2<T, P> const & x);
+
123  GLM_FUNC_DECL explicit tmat4x4(tmat3x4<T, P> const & x);
+
124  GLM_FUNC_DECL explicit tmat4x4(tmat4x3<T, P> const & x);
+
125 
+
126  // Accesses
+
127  GLM_FUNC_DECL col_type & operator[](length_t i);
+
128  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
129 
+
130  //GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<T, P> const & m);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<U, P> const & m);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat4x4<T, P> & operator+=(U s);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat4x4<T, P> & operator+=(tmat4x4<U, P> const & m);
+
137  template <typename U>
+
138  GLM_FUNC_DECL tmat4x4<T, P> & operator-=(U s);
+
139  template <typename U>
+
140  GLM_FUNC_DECL tmat4x4<T, P> & operator-=(tmat4x4<U, P> const & m);
+
141  template <typename U>
+
142  GLM_FUNC_DECL tmat4x4<T, P> & operator*=(U s);
+
143  template <typename U>
+
144  GLM_FUNC_DECL tmat4x4<T, P> & operator*=(tmat4x4<U, P> const & m);
+
145  template <typename U>
+
146  GLM_FUNC_DECL tmat4x4<T, P> & operator/=(U s);
+
147  template <typename U>
+
148  GLM_FUNC_DECL tmat4x4<T, P> & operator/=(tmat4x4<U, P> const & m);
+
149 
+
151  // Increment and decrement operators
+
152 
+
153  GLM_FUNC_DECL tmat4x4<T, P> & operator++();
+
154  GLM_FUNC_DECL tmat4x4<T, P> & operator--();
+
155  GLM_FUNC_DECL tmat4x4<T, P> operator++(int);
+
156  GLM_FUNC_DECL tmat4x4<T, P> operator--(int);
+
157  };
+
158 
+
159  // Binary operators
+
160  template <typename T, precision P>
+
161  GLM_FUNC_DECL tmat4x4<T, P> operator+(tmat4x4<T, P> const & m, T const & s);
+
162 
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tmat4x4<T, P> operator+(T const & s, tmat4x4<T, P> const & m);
+
165 
+
166  template <typename T, precision P>
+
167  GLM_FUNC_DECL tmat4x4<T, P> operator+(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
168 
+
169  template <typename T, precision P>
+
170  GLM_FUNC_DECL tmat4x4<T, P> operator-(tmat4x4<T, P> const & m, T const & s);
171 
-
172  template <typename T, precision P>
-
173  GLM_FUNC_DECL tmat4x2<T, P> operator* (
-
174  tmat4x2<T, P> const & m,
-
175  T const & s);
-
176 
-
177  template <typename T, precision P>
-
178  GLM_FUNC_DECL tmat4x2<T, P> operator* (
-
179  T const & s,
-
180  tmat4x2<T, P> const & m);
-
181 
-
182  template <typename T, precision P>
-
183  GLM_FUNC_DECL typename tmat4x2<T, P>::col_type operator* (
-
184  tmat4x2<T, P> const & m,
-
185  typename tmat4x2<T, P>::row_type const & v);
+
172  template <typename T, precision P>
+
173  GLM_FUNC_DECL tmat4x4<T, P> operator-(T const & s, tmat4x4<T, P> const & m);
+
174 
+
175  template <typename T, precision P>
+
176  GLM_FUNC_DECL tmat4x4<T, P> operator-(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
177 
+
178  template <typename T, precision P>
+
179  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat4x4<T, P> const & m, T const & s);
+
180 
+
181  template <typename T, precision P>
+
182  GLM_FUNC_DECL tmat4x4<T, P> operator*(T const & s, tmat4x4<T, P> const & m);
+
183 
+
184  template <typename T, precision P>
+
185  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator*(tmat4x4<T, P> const & m, typename tmat4x4<T, P>::row_type const & v);
186 
187  template <typename T, precision P>
-
188  GLM_FUNC_DECL typename tmat4x2<T, P>::row_type operator* (
-
189  typename tmat4x2<T, P>::col_type const & v,
-
190  tmat4x2<T, P> const & m);
-
191 
-
192  template <typename T, precision P>
-
193  GLM_FUNC_DECL tmat3x2<T, P> operator* (
-
194  tmat4x2<T, P> const & m1,
-
195  tmat3x4<T, P> const & m2);
-
196 
-
197  template <typename T, precision P>
-
198  GLM_FUNC_DECL tmat4x2<T, P> operator* (
-
199  tmat4x2<T, P> const & m1,
-
200  tmat4x4<T, P> const & m2);
-
201 
+
188  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator*(typename tmat4x4<T, P>::col_type const & v, tmat4x4<T, P> const & m);
+
189 
+
190  template <typename T, precision P>
+
191  GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat2x4<T, P> const & m2);
+
192 
+
193  template <typename T, precision P>
+
194  GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat3x4<T, P> const & m2);
+
195 
+
196  template <typename T, precision P>
+
197  GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
198 
+
199  template <typename T, precision P>
+
200  GLM_FUNC_DECL tmat4x4<T, P> operator/(tmat4x4<T, P> const & m, T const & s);
+
201 
202  template <typename T, precision P>
-
203  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
204  tmat4x3<T, P> const & m1,
-
205  tmat2x4<T, P> const & m2);
-
206 
-
207  template <typename T, precision P>
-
208  GLM_FUNC_DECL tmat4x2<T, P> operator/ (
-
209  tmat4x2<T, P> const & m,
-
210  T const & s);
-
211 
-
212  template <typename T, precision P>
-
213  GLM_FUNC_DECL tmat4x2<T, P> operator/ (
-
214  T const & s,
-
215  tmat4x2<T, P> const & m);
-
216 
-
217  // Unary constant operators
-
218  template <typename T, precision P>
-
219  GLM_FUNC_DECL tmat4x2<T, P> const operator-(
-
220  tmat4x2<T, P> const & m);
-
221 
-
222 }//namespace detail
-
223 }//namespace glm
-
224 
-
225 #ifndef GLM_EXTERNAL_TEMPLATE
-
226 #include "type_mat4x2.inl"
-
227 #endif
-
228 
-
229 #endif //glm_core_type_mat4x2
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
203  GLM_FUNC_DECL tmat4x4<T, P> operator/(T const & s, tmat4x4<T, P> const & m);
+
204 
+
205  template <typename T, precision P>
+
206  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator/(tmat4x4<T, P> const & m, typename tmat4x4<T, P>::row_type const & v);
+
207 
+
208  template <typename T, precision P>
+
209  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator/(typename tmat4x4<T, P>::col_type & v, tmat4x4<T, P> const & m);
+
210 
+
211  template <typename T, precision P>
+
212  GLM_FUNC_DECL tmat4x4<T, P> operator/(tmat4x4<T, P> const & m1, tmat4x4<T, P> const & m2);
+
213 
+
214  // Unary constant operators
+
215  template <typename T, precision P>
+
216  GLM_FUNC_DECL tmat4x4<T, P> const operator-(tmat4x4<T, P> const & m);
+
217 }//namespace glm
+
218 
+
219 #ifndef GLM_EXTERNAL_TEMPLATE
+
220 #include "type_mat4x4.inl"
+
221 #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:31
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00130.html b/doc/api/a00130.html new file mode 100644 index 00000000..20016bfa --- /dev/null +++ b/doc/api/a00130.html @@ -0,0 +1,77 @@ + + + + + + +0.9.6: type_precision.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
type_precision.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:

+

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_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)
+ +

Definition in file type_precision.hpp.

+
+ + + + diff --git a/doc/api/a00130_source.html b/doc/api/a00130_source.html index 72c77d7d..fd9fa709 100644 --- a/doc/api/a00130_source.html +++ b/doc/api/a00130_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat4x3.hpp Source File + +0.9.6: type_precision.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,221 +41,652 @@
-
type_mat4x3.hpp
+
type_precision.hpp
-
1 
-
29 #ifndef glm_core_type_mat4x3
-
30 #define glm_core_type_mat4x3
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec3.hpp"
-
34 #include "type_vec4.hpp"
-
35 #include "type_mat.hpp"
-
36 #include <limits>
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T, precision P>
-
42  struct tmat4x3
-
43  {
-
44  enum ctor{_null};
-
45  typedef T value_type;
-
46  typedef std::size_t size_type;
-
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 
-
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
53 
-
54  private:
-
55  // Data
-
56  col_type value[4];
-
57 
-
58  public:
-
59  // Constructors
-
60  GLM_FUNC_DECL tmat4x3();
-
61  GLM_FUNC_DECL tmat4x3(tmat4x3<T, P> const & m);
-
62  template <precision Q>
-
63  GLM_FUNC_DECL tmat4x3(tmat4x3<T, Q> const & m);
+Go to the documentation of this file.
1 
+
43 #pragma once
+
44 
+
45 // Dependency:
+
46 #include "../gtc/quaternion.hpp"
+
47 #include "../gtc/vec1.hpp"
+
48 #include "../vec2.hpp"
+
49 #include "../vec3.hpp"
+
50 #include "../vec4.hpp"
+
51 #include "../mat2x2.hpp"
+
52 #include "../mat2x3.hpp"
+
53 #include "../mat2x4.hpp"
+
54 #include "../mat3x2.hpp"
+
55 #include "../mat3x3.hpp"
+
56 #include "../mat3x4.hpp"
+
57 #include "../mat4x2.hpp"
+
58 #include "../mat4x3.hpp"
+
59 #include "../mat4x4.hpp"
+
60 
+
61 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
62 # pragma message("GLM: GLM_GTC_type_precision extension included")
+
63 #endif
64 
-
65  GLM_FUNC_DECL explicit tmat4x3(
-
66  ctor Null);
-
67  GLM_FUNC_DECL explicit tmat4x3(
-
68  T const & x);
-
69  GLM_FUNC_DECL explicit tmat4x3(
-
70  T const & x0, T const & y0, T const & z0,
-
71  T const & x1, T const & y1, T const & z1,
-
72  T const & x2, T const & y2, T const & z2,
-
73  T const & x3, T const & y3, T const & z3);
-
74  GLM_FUNC_DECL explicit tmat4x3(
-
75  col_type const & v0,
-
76  col_type const & v1,
-
77  col_type const & v2,
-
78  col_type const & v3);
-
79 
-
80 #if(GLM_HAS_INITIALIZER_LISTS)
-
81  template <typename U>
-
82  GLM_FUNC_DECL tmat4x3(std::initializer_list<U> m);
-
83 
-
84  GLM_FUNC_DECL tmat4x3(std::initializer_list<tvec3<T, P> > m);
-
85 #endif//GLM_HAS_INITIALIZER_LISTS
-
86 
-
88  // Conversions
-
89 
-
90  template <
-
91  typename X1, typename Y1, typename Z1,
-
92  typename X2, typename Y2, typename Z2,
-
93  typename X3, typename Y3, typename Z3,
-
94  typename X4, typename Y4, typename Z4>
-
95  GLM_FUNC_DECL explicit tmat4x3(
-
96  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
97  X2 const & x2, Y2 const & y2, Z2 const & z2,
-
98  X3 const & x3, Y3 const & y3, Z3 const & z3,
-
99  X4 const & x4, Y4 const & y4, Z4 const & z4);
-
100 
-
101  template <typename V1, typename V2, typename V3, typename V4>
-
102  GLM_FUNC_DECL explicit tmat4x3(
-
103  tvec3<V1, P> const & v1,
-
104  tvec3<V2, P> const & v2,
-
105  tvec3<V3, P> const & v3,
-
106  tvec3<V4, P> const & v4);
-
107 
-
108  // Matrix conversions
-
109  template <typename U, precision Q>
-
110  GLM_FUNC_DECL explicit tmat4x3(tmat4x3<U, Q> const & m);
-
111 
-
112  GLM_FUNC_DECL explicit tmat4x3(tmat2x2<T, P> const & x);
-
113  GLM_FUNC_DECL explicit tmat4x3(tmat3x3<T, P> const & x);
-
114  GLM_FUNC_DECL explicit tmat4x3(tmat4x4<T, P> const & x);
-
115  GLM_FUNC_DECL explicit tmat4x3(tmat2x3<T, P> const & x);
-
116  GLM_FUNC_DECL explicit tmat4x3(tmat3x2<T, P> const & x);
-
117  GLM_FUNC_DECL explicit tmat4x3(tmat2x4<T, P> const & x);
-
118  GLM_FUNC_DECL explicit tmat4x3(tmat4x2<T, P> const & x);
-
119  GLM_FUNC_DECL explicit tmat4x3(tmat3x4<T, P> const & x);
+
65 namespace glm
+
66 {
+
68  // Signed int vector types
+
69 
+
72 
+
75  typedef detail::int8 lowp_int8;
+
76 
+
79  typedef detail::int16 lowp_int16;
+
80 
+
83  typedef detail::int32 lowp_int32;
+
84 
+
87  typedef detail::int64 lowp_int64;
+
88 
+
91  typedef detail::int8 lowp_int8_t;
+
92 
+
95  typedef detail::int16 lowp_int16_t;
+
96 
+
99  typedef detail::int32 lowp_int32_t;
+
100 
+
103  typedef detail::int64 lowp_int64_t;
+
104 
+
107  typedef detail::int8 lowp_i8;
+
108 
+
111  typedef detail::int16 lowp_i16;
+
112 
+
115  typedef detail::int32 lowp_i32;
+
116 
+
119  typedef detail::int64 lowp_i64;
120 
-
121  // Accesses
-
122  GLM_FUNC_DECL col_type & operator[](size_type i);
-
123  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
124 
-
125  // Unary updatable operators
-
126  GLM_FUNC_DECL tmat4x3<T, P> & operator= (tmat4x3<T, P> const & m);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat4x3<T, P> & operator= (tmat4x3<U, P> const & m);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tmat4x3<T, P> & operator+= (U s);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat4x3<T, P> & operator+= (tmat4x3<U, P> const & m);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat4x3<T, P> & operator-= (U s);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat4x3<T, P> & operator-= (tmat4x3<U, P> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat4x3<T, P> & operator*= (U s);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat4x3<T, P> & operator/= (U s);
-
141 
-
143  // Increment and decrement operators
+
123  typedef detail::int8 mediump_int8;
+
124 
+
127  typedef detail::int16 mediump_int16;
+
128 
+
131  typedef detail::int32 mediump_int32;
+
132 
+
135  typedef detail::int64 mediump_int64;
+
136 
+
139  typedef detail::int8 mediump_int8_t;
+
140 
+
143  typedef detail::int16 mediump_int16_t;
144 
-
145  GLM_FUNC_DECL tmat4x3<T, P> & operator++ ();
-
146  GLM_FUNC_DECL tmat4x3<T, P> & operator-- ();
-
147  GLM_FUNC_DECL tmat4x3<T, P> operator++(int);
-
148  GLM_FUNC_DECL tmat4x3<T, P> operator--(int);
-
149  };
-
150 
-
151  // Binary operators
-
152  template <typename T, precision P>
-
153  GLM_FUNC_DECL tmat4x3<T, P> operator+ (
-
154  tmat4x3<T, P> const & m,
-
155  T const & s);
-
156 
-
157  template <typename T, precision P>
-
158  GLM_FUNC_DECL tmat4x3<T, P> operator+ (
-
159  tmat4x3<T, P> const & m1,
-
160  tmat4x3<T, P> const & m2);
-
161 
-
162  template <typename T, precision P>
-
163  GLM_FUNC_DECL tmat4x3<T, P> operator- (
-
164  tmat4x3<T, P> const & m,
-
165  T const & s);
-
166 
-
167  template <typename T, precision P>
-
168  GLM_FUNC_DECL tmat4x3<T, P> operator- (
-
169  tmat4x3<T, P> const & m1,
-
170  tmat4x3<T, P> const & m2);
-
171 
-
172  template <typename T, precision P>
-
173  GLM_FUNC_DECL tmat4x3<T, P> operator* (
-
174  tmat4x3<T, P> const & m,
-
175  T const & s);
+
147  typedef detail::int32 mediump_int32_t;
+
148 
+
151  typedef detail::int64 mediump_int64_t;
+
152 
+
155  typedef detail::int8 mediump_i8;
+
156 
+
159  typedef detail::int16 mediump_i16;
+
160 
+
163  typedef detail::int32 mediump_i32;
+
164 
+
167  typedef detail::int64 mediump_i64;
+
168 
+
171  typedef detail::int8 highp_int8;
+
172 
+
175  typedef detail::int16 highp_int16;
176 
-
177  template <typename T, precision P>
-
178  GLM_FUNC_DECL tmat4x3<T, P> operator* (
-
179  T const & s,
-
180  tmat4x3<T, P> const & m);
-
181 
-
182  template <typename T, precision P>
-
183  GLM_FUNC_DECL typename tmat4x3<T, P>::col_type operator* (
-
184  tmat4x3<T, P> const & m,
-
185  typename tmat4x3<T, P>::row_type const & v);
-
186 
-
187  template <typename T, precision P>
-
188  GLM_FUNC_DECL typename tmat4x3<T, P>::row_type operator* (
-
189  typename tmat4x3<T, P>::col_type const & v,
-
190  tmat4x3<T, P> const & m);
-
191 
-
192  template <typename T, precision P>
-
193  GLM_FUNC_DECL tmat2x3<T, P> operator* (
-
194  tmat4x3<T, P> const & m1,
-
195  tmat2x4<T, P> const & m2);
+
179  typedef detail::int32 highp_int32;
+
180 
+
183  typedef detail::int64 highp_int64;
+
184 
+
187  typedef detail::int8 highp_int8_t;
+
188 
+
191  typedef detail::int16 highp_int16_t;
+
192 
+
195  typedef detail::int32 highp_int32_t;
196 
-
197  template <typename T, precision P>
-
198  GLM_FUNC_DECL tmat3x3<T, P> operator* (
-
199  tmat4x3<T, P> const & m1,
-
200  tmat3x4<T, P> const & m2);
-
201 
-
202  template <typename T, precision P>
-
203  GLM_FUNC_DECL tmat4x3<T, P> operator* (
-
204  tmat4x3<T, P> const & m1,
-
205  tmat4x4<T, P> const & m2);
-
206 
-
207  template <typename T, precision P>
-
208  GLM_FUNC_DECL tmat4x3<T, P> operator/ (
-
209  tmat4x3<T, P> const & m,
-
210  T const & s);
-
211 
-
212  template <typename T, precision P>
-
213  GLM_FUNC_DECL tmat4x3<T, P> operator/ (
-
214  T const & s,
-
215  tmat4x3<T, P> const & m);
-
216 
-
217  // Unary constant operators
-
218  template <typename T, precision P>
-
219  GLM_FUNC_DECL tmat4x3<T, P> const operator- (
-
220  tmat4x3<T, P> const & m);
-
221 
-
222 }//namespace detail
-
223 }//namespace glm
-
224 
-
225 #ifndef GLM_EXTERNAL_TEMPLATE
-
226 #include "type_mat4x3.inl"
-
227 #endif //GLM_EXTERNAL_TEMPLATE
-
228 
-
229 #endif//glm_core_type_mat4x3
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
199  typedef detail::int64 highp_int64_t;
+
200 
+
203  typedef detail::int8 highp_i8;
+
204 
+
207  typedef detail::int16 highp_i16;
+
208 
+
211  typedef detail::int32 highp_i32;
+
212 
+
215  typedef detail::int64 highp_i64;
+
216 
+
217 
+
220  typedef detail::int8 int8;
+
221 
+
224  typedef detail::int16 int16;
+
225 
+
228  typedef detail::int32 int32;
+
229 
+
232  typedef detail::int64 int64;
+
233 
+
234 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
235  using std::int8_t;
+
236  using std::int16_t;
+
237  using std::int32_t;
+
238  using std::int64_t;
+
239 #else
+
240  typedef detail::int8 int8_t;
+
243 
+
246  typedef detail::int16 int16_t;
+
247 
+
250  typedef detail::int32 int32_t;
+
251 
+
254  typedef detail::int64 int64_t;
+
255 #endif
+
256 
+
259  typedef detail::int8 i8;
+
260 
+
263  typedef detail::int16 i16;
+
264 
+
267  typedef detail::int32 i32;
+
268 
+
271  typedef detail::int64 i64;
+
272 
+
273 
+
276  typedef tvec1<i8, defaultp> i8vec1;
+
277 
+
280  typedef tvec2<i8, defaultp> i8vec2;
+
281 
+
284  typedef tvec3<i8, defaultp> i8vec3;
+
285 
+
288  typedef tvec4<i8, defaultp> i8vec4;
+
289 
+
290 
+
293  typedef tvec1<i16, defaultp> i16vec1;
+
294 
+
297  typedef tvec2<i16, defaultp> i16vec2;
+
298 
+
301  typedef tvec3<i16, defaultp> i16vec3;
+
302 
+
305  typedef tvec4<i16, defaultp> i16vec4;
+
306 
+
307 
+
310  typedef tvec1<i32, defaultp> i32vec1;
+
311 
+
314  typedef tvec2<i32, defaultp> i32vec2;
+
315 
+
318  typedef tvec3<i32, defaultp> i32vec3;
+
319 
+
322  typedef tvec4<i32, defaultp> i32vec4;
+
323 
+
324 
+
327  typedef tvec1<i64, defaultp> i64vec1;
+
328 
+
331  typedef tvec2<i64, defaultp> i64vec2;
+
332 
+
335  typedef tvec3<i64, defaultp> i64vec3;
+
336 
+
339  typedef tvec4<i64, defaultp> i64vec4;
+
340 
+
341 
+
343  // Unsigned int vector types
+
344 
+
347  typedef detail::uint8 lowp_uint8;
+
348 
+
351  typedef detail::uint16 lowp_uint16;
+
352 
+
355  typedef detail::uint32 lowp_uint32;
+
356 
+
359  typedef detail::uint64 lowp_uint64;
+
360 
+
363  typedef detail::uint8 lowp_uint8_t;
+
364 
+
367  typedef detail::uint16 lowp_uint16_t;
+
368 
+
371  typedef detail::uint32 lowp_uint32_t;
+
372 
+
375  typedef detail::uint64 lowp_uint64_t;
+
376 
+
379  typedef detail::uint8 lowp_u8;
+
380 
+
383  typedef detail::uint16 lowp_u16;
+
384 
+
387  typedef detail::uint32 lowp_u32;
+
388 
+
391  typedef detail::uint64 lowp_u64;
+
392 
+
395  typedef detail::uint8 mediump_uint8;
+
396 
+
399  typedef detail::uint16 mediump_uint16;
+
400 
+
403  typedef detail::uint32 mediump_uint32;
+
404 
+
407  typedef detail::uint64 mediump_uint64;
+
408 
+
411  typedef detail::uint8 mediump_uint8_t;
+
412 
+
415  typedef detail::uint16 mediump_uint16_t;
+
416 
+
419  typedef detail::uint32 mediump_uint32_t;
+
420 
+
423  typedef detail::uint64 mediump_uint64_t;
+
424 
+
427  typedef detail::uint8 mediump_u8;
+
428 
+
431  typedef detail::uint16 mediump_u16;
+
432 
+
435  typedef detail::uint32 mediump_u32;
+
436 
+
439  typedef detail::uint64 mediump_u64;
+
440 
+
443  typedef detail::uint8 highp_uint8;
+
444 
+
447  typedef detail::uint16 highp_uint16;
+
448 
+
451  typedef detail::uint32 highp_uint32;
+
452 
+
455  typedef detail::uint64 highp_uint64;
+
456 
+
459  typedef detail::uint8 highp_uint8_t;
+
460 
+
463  typedef detail::uint16 highp_uint16_t;
+
464 
+
467  typedef detail::uint32 highp_uint32_t;
+
468 
+
471  typedef detail::uint64 highp_uint64_t;
+
472 
+
475  typedef detail::uint8 highp_u8;
+
476 
+
479  typedef detail::uint16 highp_u16;
+
480 
+
483  typedef detail::uint32 highp_u32;
+
484 
+
487  typedef detail::uint64 highp_u64;
+
488 
+
491  typedef detail::uint8 uint8;
+
492 
+
495  typedef detail::uint16 uint16;
+
496 
+
499  typedef detail::uint32 uint32;
+
500 
+
503  typedef detail::uint64 uint64;
+
504 
+
505 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
506  using std::uint8_t;
+
507  using std::uint16_t;
+
508  using std::uint32_t;
+
509  using std::uint64_t;
+
510 #else
+
511  typedef detail::uint8 uint8_t;
+
514 
+
517  typedef detail::uint16 uint16_t;
+
518 
+
521  typedef detail::uint32 uint32_t;
+
522 
+
525  typedef detail::uint64 uint64_t;
+
526 #endif
+
527 
+
530  typedef detail::uint8 u8;
+
531 
+
534  typedef detail::uint16 u16;
+
535 
+
538  typedef detail::uint32 u32;
+
539 
+
542  typedef detail::uint64 u64;
+
543 
+
544 
+
545 
+
548  typedef tvec1<u8, defaultp> u8vec1;
+
549 
+
552  typedef tvec2<u8, defaultp> u8vec2;
+
553 
+
556  typedef tvec3<u8, defaultp> u8vec3;
+
557 
+
560  typedef tvec4<u8, defaultp> u8vec4;
+
561 
+
562 
+
565  typedef tvec1<u16, defaultp> u16vec1;
+
566 
+
569  typedef tvec2<u16, defaultp> u16vec2;
+
570 
+
573  typedef tvec3<u16, defaultp> u16vec3;
+
574 
+
577  typedef tvec4<u16, defaultp> u16vec4;
+
578 
+
579 
+
582  typedef tvec1<u32, defaultp> u32vec1;
+
583 
+
586  typedef tvec2<u32, defaultp> u32vec2;
+
587 
+
590  typedef tvec3<u32, defaultp> u32vec3;
+
591 
+
594  typedef tvec4<u32, defaultp> u32vec4;
+
595 
+
596 
+
599  typedef tvec1<u64, defaultp> u64vec1;
+
600 
+
603  typedef tvec2<u64, defaultp> u64vec2;
+
604 
+
607  typedef tvec3<u64, defaultp> u64vec3;
+
608 
+
611  typedef tvec4<u64, defaultp> u64vec4;
+
612 
+
613 
+
615  // Float vector types
+
616 
+
619  typedef detail::float32 float32;
+
620 
+
623  typedef detail::float64 float64;
+
624 
+
625 
+
628  typedef detail::float32 float32_t;
+
629 
+
632  typedef detail::float64 float64_t;
+
633 
+
634 
+
637  typedef float32 f32;
+
638 
+
641  typedef float64 f64;
+
642 
+
643 
+
646  typedef tvec1<float, defaultp> fvec1;
+
647 
+
650  typedef tvec2<float, defaultp> fvec2;
+
651 
+
654  typedef tvec3<float, defaultp> fvec3;
+
655 
+
658  typedef tvec4<float, defaultp> fvec4;
+
659 
+
660 
+
663  typedef tvec1<f32, defaultp> f32vec1;
+
664 
+
667  typedef tvec2<f32, defaultp> f32vec2;
+
668 
+
671  typedef tvec3<f32, defaultp> f32vec3;
+
672 
+
675  typedef tvec4<f32, defaultp> f32vec4;
+
676 
+
677 
+
680  typedef tvec1<f64, defaultp> f64vec1;
+
681 
+
684  typedef tvec2<f64, defaultp> f64vec2;
+
685 
+
688  typedef tvec3<f64, defaultp> f64vec3;
+
689 
+
692  typedef tvec4<f64, defaultp> f64vec4;
+
693 
+
694 
+
696  // Float matrix types
+
697 
+
700  //typedef detail::tmat1x1<f32> fmat1;
+
701 
+
704  typedef tmat2x2<f32, defaultp> fmat2;
+
705 
+
708  typedef tmat3x3<f32, defaultp> fmat3;
+
709 
+
712  typedef tmat4x4<f32, defaultp> fmat4;
+
713 
+
714 
+
717  //typedef f32 fmat1x1;
+
718 
+
721  typedef tmat2x2<f32, defaultp> fmat2x2;
+
722 
+
725  typedef tmat2x3<f32, defaultp> fmat2x3;
+
726 
+
729  typedef tmat2x4<f32, defaultp> fmat2x4;
+
730 
+
733  typedef tmat3x2<f32, defaultp> fmat3x2;
+
734 
+
737  typedef tmat3x3<f32, defaultp> fmat3x3;
+
738 
+
741  typedef tmat3x4<f32, defaultp> fmat3x4;
+
742 
+
745  typedef tmat4x2<f32, defaultp> fmat4x2;
+
746 
+
749  typedef tmat4x3<f32, defaultp> fmat4x3;
+
750 
+
753  typedef tmat4x4<f32, defaultp> fmat4x4;
+
754 
+
755 
+
758  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
+
759 
+
762  typedef tmat2x2<f32, defaultp> f32mat2;
+
763 
+
766  typedef tmat3x3<f32, defaultp> f32mat3;
+
767 
+
770  typedef tmat4x4<f32, defaultp> f32mat4;
+
771 
+
772 
+
775  //typedef f32 f32mat1x1;
+
776 
+
779  typedef tmat2x2<f32, defaultp> f32mat2x2;
+
780 
+
783  typedef tmat2x3<f32, defaultp> f32mat2x3;
+
784 
+
787  typedef tmat2x4<f32, defaultp> f32mat2x4;
+
788 
+
791  typedef tmat3x2<f32, defaultp> f32mat3x2;
+
792 
+
795  typedef tmat3x3<f32, defaultp> f32mat3x3;
+
796 
+
799  typedef tmat3x4<f32, defaultp> f32mat3x4;
+
800 
+
803  typedef tmat4x2<f32, defaultp> f32mat4x2;
+
804 
+
807  typedef tmat4x3<f32, defaultp> f32mat4x3;
+
808 
+
811  typedef tmat4x4<f32, defaultp> f32mat4x4;
+
812 
+
813 
+
816  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
+
817 
+
820  typedef tmat2x2<f64, defaultp> f64mat2;
+
821 
+
824  typedef tmat3x3<f64, defaultp> f64mat3;
+
825 
+
828  typedef tmat4x4<f64, defaultp> f64mat4;
+
829 
+
830 
+
833  //typedef f64 f64mat1x1;
+
834 
+
837  typedef tmat2x2<f64, defaultp> f64mat2x2;
+
838 
+
841  typedef tmat2x3<f64, defaultp> f64mat2x3;
+
842 
+
845  typedef tmat2x4<f64, defaultp> f64mat2x4;
+
846 
+
849  typedef tmat3x2<f64, defaultp> f64mat3x2;
+
850 
+
853  typedef tmat3x3<f64, defaultp> f64mat3x3;
+
854 
+
857  typedef tmat3x4<f64, defaultp> f64mat3x4;
+
858 
+
861  typedef tmat4x2<f64, defaultp> f64mat4x2;
+
862 
+
865  typedef tmat4x3<f64, defaultp> f64mat4x3;
+
866 
+
869  typedef tmat4x4<f64, defaultp> f64mat4x4;
+
870 
+
871 
+
873  // Quaternion types
+
874 
+
877  typedef tquat<f32, defaultp> f32quat;
+
878 
+
881  typedef tquat<f64, defaultp> f64quat;
+
882 
+
884 }//namespace glm
+
885 
+
886 #include "type_precision.inl"
+
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1168
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:934
+
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2457
+
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:220
+
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:877
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:300
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:308
+
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:321
+
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:756
+
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:228
+
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:128
+
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:132
+
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2489
+
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2535
+
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:317
+
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2559
+
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:325
+
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2411
+
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2555
+
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:244
+
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:833
+
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:240
+
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2481
+
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:783
+
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:815
+
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:472
+
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2425
+
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2449
+
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2543
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:930
+
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2579
+
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:176
+
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:208
+
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:861
+
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2477
+
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:739
+
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:196
+
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:714
+
detail::uint16 lowp_uint16
Low precision 16 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:1009
+
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1093
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:926
+
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1537
+
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2531
+
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2367
+
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1331
+
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1164
+
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:184
+
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:484
+
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:168
+
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:260
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:905
+
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:152
+
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:264
+
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2375
+
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1525
+
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2465
+
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:869
+
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:873
+
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:760
+
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:551
+
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:773
+
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:224
+
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2551
+
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1089
+
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2429
+
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:748
+
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:476
+
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:722
+
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2359
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:296
+
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2437
+
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:777
+
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2371
+
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:718
+
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:795
+
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2399
+
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2441
+
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2591
+
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2453
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:922
+
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:849
+
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2571
+
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2583
+
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2567
+
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:156
+
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:769
+
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1085
+
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2403
+
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:845
+
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1319
+
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:172
+
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2539
+
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:136
+
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:752
+
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:268
+
Definition: _noise.hpp:31
+
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:232
+
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1172
+
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1005
+
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:480
+
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:200
+
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2415
+
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:819
+
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:853
+
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:791
+
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:313
+
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2575
+
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2379
+
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2391
+
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:164
+
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:555
+
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:743
+
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:236
+
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:823
+
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:400
+
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2547
+
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:204
+
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:807
+
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1081
+
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2433
+
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2355
+
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1327
+
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2595
+
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:212
+
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1323
+
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2445
+
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2395
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:913
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:304
+
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2407
+
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2461
+
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:787
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:917
+
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:396
+
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2469
+
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:140
+
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:148
+
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:799
+
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:180
+
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1529
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:909
+
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2587
+
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2473
+
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:392
+
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2563
+
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:563
+
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2383
+
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:1001
+
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1533
+
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:160
+
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:144
+
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:248
+
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2485
+
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:188
+
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:827
+
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:731
+
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2387
+
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:404
+
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2363
+
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1160
+
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:765
+
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:841
+
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:803
+
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:811
+
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:559
+
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:865
+
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1013
+
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:252
+
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:192
+
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:837
+
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:710
+
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:857
+
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:216
+
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:256
diff --git a/doc/api/a00131.html b/doc/api/a00131.html new file mode 100644 index 00000000..95372154 --- /dev/null +++ b/doc/api/a00131.html @@ -0,0 +1,147 @@ + + + + + + +0.9.6: type_ptr.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
type_ptr.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:

+

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_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_ptr.hpp.

+
+ + + + diff --git a/doc/api/a00131_source.html b/doc/api/a00131_source.html index f999786f..9da017c4 100644 --- a/doc/api/a00131_source.html +++ b/doc/api/a00131_source.html @@ -3,8 +3,8 @@ - -GLM: type_mat4x4.hpp Source File + +0.9.6: type_ptr.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,260 +41,118 @@
-
type_mat4x4.hpp
+
type_ptr.hpp
-
1 
-
29 #ifndef glm_core_type_mat4x4
-
30 #define glm_core_type_mat4x4
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec4.hpp"
-
34 #include "type_mat.hpp"
-
35 #if(GLM_HAS_INITIALIZER_LISTS)
-
36 # include <initializer_list>
-
37 #endif //GLM_HAS_INITIALIZER_LISTS
-
38 #include <limits>
-
39 #include <cstddef>
-
40 
-
41 namespace glm{
-
42 namespace detail
-
43 {
-
44  template <typename T, precision P>
-
45  struct tmat4x4
-
46  {
-
47  enum ctor{_null};
-
48  typedef T value_type;
-
49  typedef std::size_t size_type;
-
50  typedef tvec4<T, P> col_type;
-
51  typedef tvec4<T, P> row_type;
-
52  typedef tmat4x4<T, P> type;
-
53  typedef tmat4x4<T, P> transpose_type;
-
54 
-
55  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
56 
-
57  template <typename U, precision Q>
-
58  friend tvec4<U, Q> operator/(tmat4x4<U, Q> const & m, tvec4<U, Q> const & v);
-
59  template <typename U, precision Q>
-
60  friend tvec4<U, Q> operator/(tvec4<U, Q> const & v, tmat4x4<U, Q> const & m);
-
61 
-
62  private:
-
64  col_type value[4];
-
65 
-
66  public:
-
67  // Constructors
-
68  GLM_FUNC_DECL tmat4x4();
-
69  GLM_FUNC_DECL tmat4x4(tmat4x4<T, P> const & m);
-
70  template <precision Q>
-
71  GLM_FUNC_DECL tmat4x4(tmat4x4<T, Q> const & m);
-
72 
-
73  GLM_FUNC_DECL explicit tmat4x4(
-
74  ctor Null);
-
75  GLM_FUNC_DECL explicit tmat4x4(
-
76  T const & x);
-
77  GLM_FUNC_DECL explicit 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 explicit tmat4x4(
-
83  col_type const & v0,
-
84  col_type const & v1,
-
85  col_type const & v2,
-
86  col_type const & v3);
-
87 
-
88 #if(GLM_HAS_INITIALIZER_LISTS)
-
89  template <typename U>
-
90  GLM_FUNC_DECL tmat4x4(std::initializer_list<U> m);
-
91 
-
92  GLM_FUNC_DECL tmat4x4(std::initializer_list<tvec4<T, P> > m);
-
93 #endif//GLM_HAS_INITIALIZER_LISTS
-
94 
-
96  // Conversions
-
97 
-
98  template <
-
99  typename X1, typename Y1, typename Z1, typename W1,
-
100  typename X2, typename Y2, typename Z2, typename W2,
-
101  typename X3, typename Y3, typename Z3, typename W3,
-
102  typename X4, typename Y4, typename Z4, typename W4>
-
103  GLM_FUNC_DECL explicit tmat4x4(
-
104  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
-
105  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
-
106  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3,
-
107  X4 const & x4, Y4 const & y4, Z4 const & z4, W4 const & w4);
-
108 
-
109  template <typename V1, typename V2, typename V3, typename V4>
-
110  GLM_FUNC_DECL explicit tmat4x4(
-
111  tvec4<V1, P> const & v1,
-
112  tvec4<V2, P> const & v2,
-
113  tvec4<V3, P> const & v3,
-
114  tvec4<V4, P> const & v4);
-
115 
-
116  // Matrix conversions
-
117  template <typename U, precision Q>
-
118  GLM_FUNC_DECL explicit tmat4x4(tmat4x4<U, Q> const & m);
-
119 
-
120  GLM_FUNC_DECL explicit tmat4x4(tmat2x2<T, P> const & x);
-
121  GLM_FUNC_DECL explicit tmat4x4(tmat3x3<T, P> const & x);
-
122  GLM_FUNC_DECL explicit tmat4x4(tmat2x3<T, P> const & x);
-
123  GLM_FUNC_DECL explicit tmat4x4(tmat3x2<T, P> const & x);
-
124  GLM_FUNC_DECL explicit tmat4x4(tmat2x4<T, P> const & x);
-
125  GLM_FUNC_DECL explicit tmat4x4(tmat4x2<T, P> const & x);
-
126  GLM_FUNC_DECL explicit tmat4x4(tmat3x4<T, P> const & x);
-
127  GLM_FUNC_DECL explicit tmat4x4(tmat4x3<T, P> const & x);
-
128 
-
129  // Accesses
-
130  GLM_FUNC_DECL col_type & operator[](length_t i);
-
131  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
-
132 
-
133  // Unary updatable operators
-
134  GLM_FUNC_DECL tmat4x4<T, P> & operator= (tmat4x4<T, P> const & m);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat4x4<T, P> & operator= (tmat4x4<U, P> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat4x4<T, P> & operator+= (U s);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat4x4<T, P> & operator+= (tmat4x4<U, P> const & m);
-
141  template <typename U>
-
142  GLM_FUNC_DECL tmat4x4<T, P> & operator-= (U s);
-
143  template <typename U>
-
144  GLM_FUNC_DECL tmat4x4<T, P> & operator-= (tmat4x4<U, P> const & m);
-
145  template <typename U>
-
146  GLM_FUNC_DECL tmat4x4<T, P> & operator*= (U s);
-
147  template <typename U>
-
148  GLM_FUNC_DECL tmat4x4<T, P> & operator*= (tmat4x4<U, P> const & m);
-
149  template <typename U>
-
150  GLM_FUNC_DECL tmat4x4<T, P> & operator/= (U s);
-
151  template <typename U>
-
152  GLM_FUNC_DECL tmat4x4<T, P> & operator/= (tmat4x4<U, P> const & m);
-
153 
-
155  // Increment and decrement operators
-
156 
-
157  GLM_FUNC_DECL tmat4x4<T, P> & operator++ ();
-
158  GLM_FUNC_DECL tmat4x4<T, P> & operator-- ();
-
159  GLM_FUNC_DECL tmat4x4<T, P> operator++(int);
-
160  GLM_FUNC_DECL tmat4x4<T, P> operator--(int);
-
161  };
-
162 
-
163  template <typename T, precision P>
-
164  GLM_FUNC_DECL tmat4x4<T, P> compute_inverse_mat4(tmat4x4<T, P> const & m);
+Go to the documentation of this file.
1 
+
59 #pragma once
+
60 
+
61 // Dependency:
+
62 #include "../gtc/quaternion.hpp"
+
63 #include "../vec2.hpp"
+
64 #include "../vec3.hpp"
+
65 #include "../vec4.hpp"
+
66 #include "../mat2x2.hpp"
+
67 #include "../mat2x3.hpp"
+
68 #include "../mat2x4.hpp"
+
69 #include "../mat3x2.hpp"
+
70 #include "../mat3x3.hpp"
+
71 #include "../mat3x4.hpp"
+
72 #include "../mat4x2.hpp"
+
73 #include "../mat4x3.hpp"
+
74 #include "../mat4x4.hpp"
+
75 #include <cstring>
+
76 
+
77 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
78 # pragma message("GLM: GLM_GTC_type_ptr extension included")
+
79 #endif
+
80 
+
81 namespace glm
+
82 {
+
85 
+
88  template<typename genType>
+
89  GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const & vec);
+
90 
+
93  template<typename T>
+
94  GLM_FUNC_DECL tvec2<T, defaultp> make_vec2(T const * const ptr);
+
95 
+
98  template<typename T>
+
99  GLM_FUNC_DECL tvec3<T, defaultp> make_vec3(T const * const ptr);
+
100 
+
103  template<typename T>
+
104  GLM_FUNC_DECL tvec4<T, defaultp> make_vec4(T const * const ptr);
+
105 
+
108  template<typename T>
+
109  GLM_FUNC_DECL tmat2x2<T, defaultp> make_mat2x2(T const * const ptr);
+
110 
+
113  template<typename T>
+
114  GLM_FUNC_DECL tmat2x3<T, defaultp> make_mat2x3(T const * const ptr);
+
115 
+
118  template<typename T>
+
119  GLM_FUNC_DECL tmat2x4<T, defaultp> make_mat2x4(T const * const ptr);
+
120 
+
123  template<typename T>
+
124  GLM_FUNC_DECL tmat3x2<T, defaultp> make_mat3x2(T const * const ptr);
+
125 
+
128  template<typename T>
+
129  GLM_FUNC_DECL tmat3x3<T, defaultp> make_mat3x3(T const * const ptr);
+
130 
+
133  template<typename T>
+
134  GLM_FUNC_DECL tmat3x4<T, defaultp> make_mat3x4(T const * const ptr);
+
135 
+
138  template<typename T>
+
139  GLM_FUNC_DECL tmat4x2<T, defaultp> make_mat4x2(T const * const ptr);
+
140 
+
143  template<typename T>
+
144  GLM_FUNC_DECL tmat4x3<T, defaultp> make_mat4x3(T const * const ptr);
+
145 
+
148  template<typename T>
+
149  GLM_FUNC_DECL tmat4x4<T, defaultp> make_mat4x4(T const * const ptr);
+
150 
+
153  template<typename T>
+
154  GLM_FUNC_DECL tmat2x2<T, defaultp> make_mat2(T const * const ptr);
+
155 
+
158  template<typename T>
+
159  GLM_FUNC_DECL tmat3x3<T, defaultp> make_mat3(T const * const ptr);
+
160 
+
163  template<typename T>
+
164  GLM_FUNC_DECL tmat4x4<T, defaultp> make_mat4(T const * const ptr);
165 
-
166  // Binary operators
-
167  template <typename T, precision P>
-
168  GLM_FUNC_DECL tmat4x4<T, P> operator+ (
-
169  tmat4x4<T, P> const & m,
-
170  T const & s);
-
171 
-
172  template <typename T, precision P>
-
173  GLM_FUNC_DECL tmat4x4<T, P> operator+ (
-
174  T const & s,
-
175  tmat4x4<T, P> const & m);
-
176 
-
177  template <typename T, precision P>
-
178  GLM_FUNC_DECL tmat4x4<T, P> operator+ (
-
179  tmat4x4<T, P> const & m1,
-
180  tmat4x4<T, P> const & m2);
-
181 
-
182  template <typename T, precision P>
-
183  GLM_FUNC_DECL tmat4x4<T, P> operator- (
-
184  tmat4x4<T, P> const & m,
-
185  T const & s);
-
186 
-
187  template <typename T, precision P>
-
188  GLM_FUNC_DECL tmat4x4<T, P> operator- (
-
189  T const & s,
-
190  tmat4x4<T, P> const & m);
-
191 
-
192  template <typename T, precision P>
-
193  GLM_FUNC_DECL tmat4x4<T, P> operator- (
-
194  tmat4x4<T, P> const & m1,
-
195  tmat4x4<T, P> const & m2);
-
196 
-
197  template <typename T, precision P>
-
198  GLM_FUNC_DECL tmat4x4<T, P> operator* (
-
199  tmat4x4<T, P> const & m,
-
200  T const & s);
-
201 
-
202  template <typename T, precision P>
-
203  GLM_FUNC_DECL tmat4x4<T, P> operator* (
-
204  T const & s,
-
205  tmat4x4<T, P> const & m);
-
206 
-
207  template <typename T, precision P>
-
208  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator* (
-
209  tmat4x4<T, P> const & m,
-
210  typename tmat4x4<T, P>::row_type const & v);
-
211 
-
212  template <typename T, precision P>
-
213  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator* (
-
214  typename tmat4x4<T, P>::col_type const & v,
-
215  tmat4x4<T, P> const & m);
-
216 
-
217  template <typename T, precision P>
-
218  GLM_FUNC_DECL tmat2x4<T, P> operator* (
-
219  tmat4x4<T, P> const & m1,
-
220  tmat2x4<T, P> const & m2);
-
221 
-
222  template <typename T, precision P>
-
223  GLM_FUNC_DECL tmat3x4<T, P> operator* (
-
224  tmat4x4<T, P> const & m1,
-
225  tmat3x4<T, P> const & m2);
-
226 
-
227  template <typename T, precision P>
-
228  GLM_FUNC_DECL tmat4x4<T, P> operator* (
-
229  tmat4x4<T, P> const & m1,
-
230  tmat4x4<T, P> const & m2);
-
231 
-
232  template <typename T, precision P>
-
233  GLM_FUNC_DECL tmat4x4<T, P> operator/ (
-
234  tmat4x4<T, P> const & m,
-
235  T const & s);
-
236 
-
237  template <typename T, precision P>
-
238  GLM_FUNC_DECL tmat4x4<T, P> operator/ (
-
239  T const & s,
-
240  tmat4x4<T, P> const & m);
-
241 
-
242  template <typename T, precision P>
-
243  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator/ (
-
244  tmat4x4<T, P> const & m,
-
245  typename tmat4x4<T, P>::row_type const & v);
-
246 
-
247  template <typename T, precision P>
-
248  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator/ (
-
249  typename tmat4x4<T, P>::col_type & v,
-
250  tmat4x4<T, P> const & m);
-
251 
-
252  template <typename T, precision P>
-
253  GLM_FUNC_DECL tmat4x4<T, P> operator/ (
-
254  tmat4x4<T, P> const & m1,
-
255  tmat4x4<T, P> const & m2);
-
256 
-
257  // Unary constant operators
-
258  template <typename T, precision P>
-
259  GLM_FUNC_DECL tmat4x4<T, P> const operator- (
-
260  tmat4x4<T, P> const & m);
-
261 
-
262 }//namespace detail
-
263 }//namespace glm
-
264 
-
265 #ifndef GLM_EXTERNAL_TEMPLATE
-
266 #include "type_mat4x4.inl"
-
267 #endif//GLM_EXTERNAL_TEMPLATE
-
268 
-
269 #endif//glm_core_type_mat4x4
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
168  template<typename T>
+
169  GLM_FUNC_DECL tquat<T, defaultp> make_quat(T const * const ptr);
+
170 
+
172 }//namespace glm
+
173 
+
174 #include "type_ptr.inl"
+
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 tmat2x4< T, defaultp > make_mat2x4(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 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 tmat3x4< T, defaultp > make_mat3x4(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.
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL tvec3< T, defaultp > make_vec3(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 tvec2< T, defaultp > make_vec2(T const *const ptr)
Build a vector 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.
+
GLM_FUNC_DECL tmat4x4< T, defaultp > make_mat4x4(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 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.
diff --git a/doc/api/a00132.html b/doc/api/a00132.html index ec3466a3..d0377e04 100644 --- a/doc/api/a00132.html +++ b/doc/api/a00132.html @@ -3,8 +3,8 @@ - -GLM: type_precision.hpp File Reference + +0.9.6: type_vec.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,45 +41,158 @@
-Namespaces
+Typedefs
-
type_precision.hpp File Reference
+
type_vec.hpp File Reference

Go to the source code of this file.

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

-Namespaces

 glm
 

+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:

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_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
2010-01-26 / 2014-10-05
+
Author
Christophe Riccio
-

Definition in file type_precision.hpp.

+

Definition in file type_vec.hpp.

diff --git a/doc/api/a00132_source.html b/doc/api/a00132_source.html index 5010e893..2911d782 100644 --- a/doc/api/a00132_source.html +++ b/doc/api/a00132_source.html @@ -3,8 +3,8 @@ - -GLM: type_precision.hpp Source File + +0.9.6: type_vec.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,649 +41,301 @@
-
type_precision.hpp
+
type_vec.hpp
Go to the documentation of this file.
1 
-
43 #ifndef GLM_GTC_type_precision
-
44 #define GLM_GTC_type_precision
-
45 
-
46 // Dependency:
-
47 #include "../gtc/quaternion.hpp"
-
48 #include "../vec2.hpp"
-
49 #include "../vec3.hpp"
-
50 #include "../vec4.hpp"
-
51 #include "../mat2x2.hpp"
-
52 #include "../mat2x3.hpp"
-
53 #include "../mat2x4.hpp"
-
54 #include "../mat3x2.hpp"
-
55 #include "../mat3x3.hpp"
-
56 #include "../mat3x4.hpp"
-
57 #include "../mat4x2.hpp"
-
58 #include "../mat4x3.hpp"
-
59 #include "../mat4x4.hpp"
-
60 
-
61 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
62 # pragma message("GLM: GLM_GTC_type_precision extension included")
-
63 #endif
-
64 
-
65 namespace glm
-
66 {
-
68  // Signed int vector types
-
69 
-
72 
-
75  typedef detail::int8 lowp_int8;
-
76 
-
79  typedef detail::int16 lowp_int16;
+
29 #pragma once
+
30 
+
31 #include "precision.hpp"
+
32 #include "type_int.hpp"
+
33 
+
34 namespace glm
+
35 {
+
36  template <typename T, precision P> struct tvec1;
+
37  template <typename T, precision P> struct tvec2;
+
38  template <typename T, precision P> struct tvec3;
+
39  template <typename T, precision P> struct tvec4;
+
40 
+
41  typedef tvec1<float, highp> highp_vec1_t;
+
42  typedef tvec1<float, mediump> mediump_vec1_t;
+
43  typedef tvec1<float, lowp> lowp_vec1_t;
+
44  typedef tvec1<double, highp> highp_dvec1_t;
+
45  typedef tvec1<double, mediump> mediump_dvec1_t;
+
46  typedef tvec1<double, lowp> lowp_dvec1_t;
+
47  typedef tvec1<int, highp> highp_ivec1_t;
+
48  typedef tvec1<int, mediump> mediump_ivec1_t;
+
49  typedef tvec1<int, lowp> lowp_ivec1_t;
+
50  typedef tvec1<uint, highp> highp_uvec1_t;
+
51  typedef tvec1<uint, mediump> mediump_uvec1_t;
+
52  typedef tvec1<uint, lowp> lowp_uvec1_t;
+
53  typedef tvec1<bool, highp> highp_bvec1_t;
+
54  typedef tvec1<bool, mediump> mediump_bvec1_t;
+
55  typedef tvec1<bool, lowp> lowp_bvec1_t;
+
56 
+
59 
+
65  typedef tvec2<float, highp> highp_vec2;
+
66 
+
72  typedef tvec2<float, mediump> mediump_vec2;
+
73 
+
79  typedef tvec2<float, lowp> lowp_vec2;
80 
-
83  typedef detail::int32 lowp_int32;
-
84 
-
87  typedef detail::int64 lowp_int64;
-
88 
-
91  typedef detail::int8 lowp_int8_t;
-
92 
- -
96 
- -
100 
-
103  typedef detail::int64 lowp_int64_t;
-
104 
-
107  typedef detail::int8 lowp_i8;
-
108 
-
111  typedef detail::int16 lowp_i16;
-
112 
-
115  typedef detail::int32 lowp_i32;
-
116 
-
119  typedef detail::int64 lowp_i64;
-
120 
-
123  typedef detail::int8 mediump_int8;
-
124 
- -
128 
- -
132 
- +
86  typedef tvec2<double, highp> highp_dvec2;
+
87 
+
93  typedef tvec2<double, mediump> mediump_dvec2;
+
94 
+
100  typedef tvec2<double, lowp> lowp_dvec2;
+
101 
+
107  typedef tvec2<int, highp> highp_ivec2;
+
108 
+
114  typedef tvec2<int, mediump> mediump_ivec2;
+
115 
+
121  typedef tvec2<int, lowp> lowp_ivec2;
+
122 
+
128  typedef tvec2<uint, highp> highp_uvec2;
+
129 
+
135  typedef tvec2<uint, mediump> mediump_uvec2;
136 
- -
140 
- -
144 
- -
148 
- -
152 
-
155  typedef detail::int8 mediump_i8;
-
156 
-
159  typedef detail::int16 mediump_i16;
-
160 
-
163  typedef detail::int32 mediump_i32;
+
142  typedef tvec2<uint, lowp> lowp_uvec2;
+
143 
+
149  typedef tvec2<bool, highp> highp_bvec2;
+
150 
+
156  typedef tvec2<bool, mediump> mediump_bvec2;
+
157 
+
163  typedef tvec2<bool, lowp> lowp_bvec2;
164 
-
167  typedef detail::int64 mediump_i64;
-
168 
-
171  typedef detail::int8 highp_int8;
-
172 
-
175  typedef detail::int16 highp_int16;
-
176 
-
179  typedef detail::int32 highp_int32;
-
180 
-
183  typedef detail::int64 highp_int64;
+
166 
+
167 
+
170 
+
176  typedef tvec3<float, highp> highp_vec3;
+
177 
+
183  typedef tvec3<float, mediump> mediump_vec3;
184 
-
187  typedef detail::int8 highp_int8_t;
-
188 
- -
192 
- -
196 
- -
200 
-
203  typedef detail::int8 highp_i8;
-
204 
-
207  typedef detail::int16 highp_i16;
-
208 
-
211  typedef detail::int32 highp_i32;
+
190  typedef tvec3<float, lowp> lowp_vec3;
+
191 
+
197  typedef tvec3<double, highp> highp_dvec3;
+
198 
+
204  typedef tvec3<double, mediump> mediump_dvec3;
+
205 
+
211  typedef tvec3<double, lowp> lowp_dvec3;
212 
-
215  typedef detail::int64 highp_i64;
-
216 
-
217 
-
220  typedef detail::int8 int8;
-
221 
-
224  typedef detail::int16 int16;
-
225 
-
228  typedef detail::int32 int32;
-
229 
-
232  typedef detail::int64 int64;
+
218  typedef tvec3<int, highp> highp_ivec3;
+
219 
+
225  typedef tvec3<int, mediump> mediump_ivec3;
+
226 
+
232  typedef tvec3<int, lowp> lowp_ivec3;
233 
-
236  typedef detail::int8 int8_t;
-
237 
-
240  typedef detail::int16 int16_t;
-
241 
-
244  typedef detail::int32 int32_t;
-
245 
-
248  typedef detail::int64 int64_t;
-
249 
-
252  typedef detail::int8 i8;
-
253 
-
256  typedef detail::int16 i16;
-
257 
-
260  typedef detail::int32 i32;
-
261 
-
264  typedef detail::int64 i64;
-
265 
+
239  typedef tvec3<uint, highp> highp_uvec3;
+
240 
+
246  typedef tvec3<uint, mediump> mediump_uvec3;
+
247 
+
253  typedef tvec3<uint, lowp> lowp_uvec3;
+
254 
+
259  typedef tvec3<bool, highp> highp_bvec3;
+
260 
+
265  typedef tvec3<bool, mediump> mediump_bvec3;
266 
-
269  typedef detail::tvec1<i8, defaultp> i8vec1;
-
270 
-
273  typedef detail::tvec2<i8, defaultp> i8vec2;
+
271  typedef tvec3<bool, lowp> lowp_bvec3;
+
272 
274 
-
277  typedef detail::tvec3<i8, defaultp> i8vec3;
-
278 
-
281  typedef detail::tvec4<i8, defaultp> i8vec4;
-
282 
+
277 
+
282  typedef tvec4<float, highp> highp_vec4;
283 
-
286  typedef detail::tvec1<i16, defaultp> i16vec1;
-
287 
-
290  typedef detail::tvec2<i16, defaultp> i16vec2;
-
291 
-
294  typedef detail::tvec3<i16, defaultp> i16vec3;
+
288  typedef tvec4<float, mediump> mediump_vec4;
+
289 
+
294  typedef tvec4<float, lowp> lowp_vec4;
295 
-
298  typedef detail::tvec4<i16, defaultp> i16vec4;
-
299 
-
300 
-
303  typedef detail::tvec1<i32, defaultp> i32vec1;
-
304 
-
307  typedef detail::tvec2<i32, defaultp> i32vec2;
-
308 
-
311  typedef detail::tvec3<i32, defaultp> i32vec3;
-
312 
-
315  typedef detail::tvec4<i32, defaultp> i32vec4;
-
316 
-
317 
-
320  typedef detail::tvec1<i64, defaultp> i64vec1;
-
321 
-
324  typedef detail::tvec2<i64, defaultp> i64vec2;
+
300  typedef tvec4<double, highp> highp_dvec4;
+
301 
+
306  typedef tvec4<double, mediump> mediump_dvec4;
+
307 
+
312  typedef tvec4<double, lowp> lowp_dvec4;
+
313 
+
318  typedef tvec4<int, highp> highp_ivec4;
+
319 
+
324  typedef tvec4<int, mediump> mediump_ivec4;
325 
-
328  typedef detail::tvec3<i64, defaultp> i64vec3;
-
329 
-
332  typedef detail::tvec4<i64, defaultp> i64vec4;
-
333 
-
334 
-
336  // Unsigned int vector types
+
330  typedef tvec4<int, lowp> lowp_ivec4;
+
331 
+
336  typedef tvec4<uint, highp> highp_uvec4;
337 
-
340  typedef detail::uint8 lowp_uint8;
-
341 
-
344  typedef detail::uint16 lowp_uint16;
-
345 
-
348  typedef detail::uint32 lowp_uint32;
+
342  typedef tvec4<uint, mediump> mediump_uvec4;
+
343 
+
348  typedef tvec4<uint, lowp> lowp_uvec4;
349 
-
352  typedef detail::uint64 lowp_uint64;
-
353 
-
356  typedef detail::uint8 lowp_uint8_t;
-
357 
- +
354  typedef tvec4<bool, highp> highp_bvec4;
+
355 
+
360  typedef tvec4<bool, mediump> mediump_bvec4;
361 
- -
365 
- +
366  typedef tvec4<bool, lowp> lowp_bvec4;
+
367 
369 
-
372  typedef detail::uint8 lowp_u8;
-
373 
-
376  typedef detail::uint16 lowp_u16;
-
377 
-
380  typedef detail::uint32 lowp_u32;
-
381 
-
384  typedef detail::uint64 lowp_u64;
-
385 
- -
389 
- -
393 
- -
397 
- -
401 
- -
405 
- -
409 
- -
413 
- -
417 
-
420  typedef detail::uint8 mediump_u8;
-
421 
-
424  typedef detail::uint16 mediump_u16;
-
425 
-
428  typedef detail::uint32 mediump_u32;
-
429 
-
432  typedef detail::uint64 mediump_u64;
-
433 
-
436  typedef detail::uint8 highp_uint8;
-
437 
- -
441 
- -
445 
- -
449 
- -
453 
- -
457 
- -
461 
- -
465 
-
468  typedef detail::uint8 highp_u8;
-
469 
-
472  typedef detail::uint16 highp_u16;
-
473 
-
476  typedef detail::uint32 highp_u32;
-
477 
-
480  typedef detail::uint64 highp_u64;
-
481 
-
484  typedef detail::uint8 uint8;
-
485 
-
488  typedef detail::uint16 uint16;
-
489 
-
492  typedef detail::uint32 uint32;
-
493 
-
496  typedef detail::uint64 uint64;
-
497 
-
500  typedef detail::uint8 uint8_t;
+
372 
+
374  // Default float definition
+
375 
+
376 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
377  typedef lowp_vec2 vec2;
+
378  typedef lowp_vec3 vec3;
+
379  typedef lowp_vec4 vec4;
+
380 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
381  typedef mediump_vec2 vec2;
+
382  typedef mediump_vec3 vec3;
+
383  typedef mediump_vec4 vec4;
+
384 #else //defined(GLM_PRECISION_HIGHP_FLOAT)
+
385  typedef highp_vec2 vec2;
+
389 
+
393  typedef highp_vec3 vec3;
+
394 
+
398  typedef highp_vec4 vec4;
+
399 #endif//GLM_PRECISION
+
400 
+
402  // Default double definition
+
403 
+
404 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
+
405  typedef lowp_dvec2 dvec2;
+
406  typedef lowp_dvec3 dvec3;
+
407  typedef lowp_dvec4 dvec4;
+
408 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
409  typedef mediump_dvec2 dvec2;
+
410  typedef mediump_dvec3 dvec3;
+
411  typedef mediump_dvec4 dvec4;
+
412 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+
413  typedef highp_dvec2 dvec2;
+
417 
+
421  typedef highp_dvec3 dvec3;
+
422 
+
426  typedef highp_dvec4 dvec4;
+
427 #endif//GLM_PRECISION
+
428 
+
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 
+
458  // Unsigned integer definition
+
459 
+
460 #if(defined(GLM_PRECISION_LOWP_UINT))
+
461  typedef lowp_uvec2 uvec2;
+
462  typedef lowp_uvec3 uvec3;
+
463  typedef lowp_uvec4 uvec4;
+
464 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
+
465  typedef mediump_uvec2 uvec2;
+
466  typedef mediump_uvec3 uvec3;
+
467  typedef mediump_uvec4 uvec4;
+
468 #else //defined(GLM_PRECISION_HIGHP_UINT)
+
469  typedef highp_uvec2 uvec2;
+
473 
+
477  typedef highp_uvec3 uvec3;
+
478 
+
482  typedef highp_uvec4 uvec4;
+
483 #endif//GLM_PRECISION
+
484 
+
486  // Boolean definition
+
487 
+
488 #if(defined(GLM_PRECISION_LOWP_BOOL))
+
489  typedef lowp_bvec2 bvec2;
+
490  typedef lowp_bvec3 bvec3;
+
491  typedef lowp_bvec4 bvec4;
+
492 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
+
493  typedef mediump_bvec2 bvec2;
+
494  typedef mediump_bvec3 bvec3;
+
495  typedef mediump_bvec4 bvec4;
+
496 #else //defined(GLM_PRECISION_HIGHP_BOOL)
+
497  typedef highp_bvec2 bvec2;
501 
-
504  typedef detail::uint16 uint16_t;
-
505 
-
508  typedef detail::uint32 uint32_t;
-
509 
-
512  typedef detail::uint64 uint64_t;
-
513 
-
516  typedef detail::uint8 u8;
-
517 
-
520  typedef detail::uint16 u16;
-
521 
-
524  typedef detail::uint32 u32;
-
525 
-
528  typedef detail::uint64 u64;
-
529 
-
530 
-
531 
-
534  typedef detail::tvec1<u8, defaultp> u8vec1;
-
535 
-
538  typedef detail::tvec2<u8, defaultp> u8vec2;
-
539 
-
542  typedef detail::tvec3<u8, defaultp> u8vec3;
-
543 
-
546  typedef detail::tvec4<u8, defaultp> u8vec4;
-
547 
-
548 
-
551  typedef detail::tvec1<u16, defaultp> u16vec1;
-
552 
-
555  typedef detail::tvec2<u16, defaultp> u16vec2;
-
556 
-
559  typedef detail::tvec3<u16, defaultp> u16vec3;
-
560 
-
563  typedef detail::tvec4<u16, defaultp> u16vec4;
-
564 
-
565 
-
568  typedef detail::tvec1<u32, defaultp> u32vec1;
-
569 
-
572  typedef detail::tvec2<u32, defaultp> u32vec2;
-
573 
-
576  typedef detail::tvec3<u32, defaultp> u32vec3;
-
577 
-
580  typedef detail::tvec4<u32, defaultp> u32vec4;
-
581 
-
582 
-
585  typedef detail::tvec1<u64, defaultp> u64vec1;
-
586 
-
589  typedef detail::tvec2<u64, defaultp> u64vec2;
-
590 
-
593  typedef detail::tvec3<u64, defaultp> u64vec3;
-
594 
-
597  typedef detail::tvec4<u64, defaultp> u64vec4;
-
598 
-
599 
-
601  // Float vector types
-
602 
-
605  typedef detail::float32 float32;
-
606 
-
609  typedef detail::float64 float64;
-
610 
-
611 
-
614  typedef detail::float32 float32_t;
-
615 
-
618  typedef detail::float64 float64_t;
-
619 
-
620 
-
623  typedef float32 f32;
-
624 
-
627  typedef float64 f64;
-
628 
-
629 
-
632  typedef detail::tvec1<float, defaultp> fvec1;
-
633 
-
636  typedef detail::tvec2<float, defaultp> fvec2;
-
637 
-
640  typedef detail::tvec3<float, defaultp> fvec3;
-
641 
-
644  typedef detail::tvec4<float, defaultp> fvec4;
-
645 
-
646 
-
649  typedef detail::tvec1<f32, defaultp> f32vec1;
-
650 
-
653  typedef detail::tvec2<f32, defaultp> f32vec2;
-
654 
-
657  typedef detail::tvec3<f32, defaultp> f32vec3;
-
658 
-
661  typedef detail::tvec4<f32, defaultp> f32vec4;
-
662 
-
663 
-
666  typedef detail::tvec1<f64, defaultp> f64vec1;
-
667 
-
670  typedef detail::tvec2<f64, defaultp> f64vec2;
-
671 
-
674  typedef detail::tvec3<f64, defaultp> f64vec3;
-
675 
-
678  typedef detail::tvec4<f64, defaultp> f64vec4;
-
679 
-
680 
-
682  // Float matrix types
-
683 
-
686  //typedef detail::tmat1x1<f32> fmat1;
-
687 
-
690  typedef detail::tmat2x2<f32, defaultp> fmat2;
-
691 
-
694  typedef detail::tmat3x3<f32, defaultp> fmat3;
-
695 
-
698  typedef detail::tmat4x4<f32, defaultp> fmat4;
-
699 
-
700 
-
703  //typedef f32 fmat1x1;
-
704 
-
707  typedef detail::tmat2x2<f32, defaultp> fmat2x2;
-
708 
-
711  typedef detail::tmat2x3<f32, defaultp> fmat2x3;
-
712 
-
715  typedef detail::tmat2x4<f32, defaultp> fmat2x4;
-
716 
-
719  typedef detail::tmat3x2<f32, defaultp> fmat3x2;
-
720 
-
723  typedef detail::tmat3x3<f32, defaultp> fmat3x3;
-
724 
-
727  typedef detail::tmat3x4<f32, defaultp> fmat3x4;
-
728 
-
731  typedef detail::tmat4x2<f32, defaultp> fmat4x2;
-
732 
-
735  typedef detail::tmat4x3<f32, defaultp> fmat4x3;
-
736 
-
739  typedef detail::tmat4x4<f32, defaultp> fmat4x4;
-
740 
-
741 
-
744  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
-
745 
-
748  typedef detail::tmat2x2<f32, defaultp> f32mat2;
-
749 
-
752  typedef detail::tmat3x3<f32, defaultp> f32mat3;
-
753 
-
756  typedef detail::tmat4x4<f32, defaultp> f32mat4;
-
757 
-
758 
-
761  //typedef f32 f32mat1x1;
-
762 
-
765  typedef detail::tmat2x2<f32, defaultp> f32mat2x2;
-
766 
-
769  typedef detail::tmat2x3<f32, defaultp> f32mat2x3;
-
770 
-
773  typedef detail::tmat2x4<f32, defaultp> f32mat2x4;
-
774 
-
777  typedef detail::tmat3x2<f32, defaultp> f32mat3x2;
-
778 
-
781  typedef detail::tmat3x3<f32, defaultp> f32mat3x3;
-
782 
-
785  typedef detail::tmat3x4<f32, defaultp> f32mat3x4;
-
786 
-
789  typedef detail::tmat4x2<f32, defaultp> f32mat4x2;
-
790 
-
793  typedef detail::tmat4x3<f32, defaultp> f32mat4x3;
-
794 
-
797  typedef detail::tmat4x4<f32, defaultp> f32mat4x4;
-
798 
-
799 
-
802  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
-
803 
-
806  typedef detail::tmat2x2<f64, defaultp> f64mat2;
-
807 
-
810  typedef detail::tmat3x3<f64, defaultp> f64mat3;
-
811 
-
814  typedef detail::tmat4x4<f64, defaultp> f64mat4;
-
815 
-
816 
-
819  //typedef f64 f64mat1x1;
-
820 
-
823  typedef detail::tmat2x2<f64, defaultp> f64mat2x2;
-
824 
-
827  typedef detail::tmat2x3<f64, defaultp> f64mat2x3;
-
828 
-
831  typedef detail::tmat2x4<f64, defaultp> f64mat2x4;
-
832 
-
835  typedef detail::tmat3x2<f64, defaultp> f64mat3x2;
-
836 
-
839  typedef detail::tmat3x3<f64, defaultp> f64mat3x3;
-
840 
-
843  typedef detail::tmat3x4<f64, defaultp> f64mat3x4;
-
844 
-
847  typedef detail::tmat4x2<f64, defaultp> f64mat4x2;
-
848 
-
851  typedef detail::tmat4x3<f64, defaultp> f64mat4x3;
-
852 
-
855  typedef detail::tmat4x4<f64, defaultp> f64mat4x4;
-
856 
-
857 
-
859  // Quaternion types
-
860 
-
863  typedef detail::tquat<f32, defaultp> f32quat;
-
864 
-
867  typedef detail::tquat<f64, defaultp> f64quat;
-
868 
-
870 }//namespace glm
-
871 
-
872 #include "type_precision.inl"
-
873 
-
874 #endif//GLM_GTC_type_precision
-
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:468
-
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1071
-
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:196
-
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2397
-
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:845
-
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2353
-
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:999
-
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:89
-
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:710
-
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1317
-
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:815
-
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:739
-
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:787
-
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
-
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:90
-
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:551
-
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:744
-
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:81
-
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1079
-
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:236
-
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:895
-
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2431
-
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1309
-
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:248
-
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1003
-
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:208
-
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:140
-
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:305
-
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1523
-
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:903
-
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:911
-
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:92
-
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:765
-
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1515
-
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:252
-
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2357
-
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:472
-
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:803
-
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:837
-
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:783
-
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:748
-
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:184
-
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2566
-
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:795
-
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:317
-
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2530
-
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:148
-
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:833
-
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:823
-
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:907
-
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:706
-
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:297
-
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2427
-
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:865
-
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2578
-
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2570
-
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2361
-
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:321
-
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:188
-
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2483
-
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:176
-
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
-
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:240
-
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:853
-
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:200
-
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:152
-
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:400
-
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:204
-
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2467
-
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:731
-
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2459
-
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:192
-
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1154
-
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:156
-
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2550
-
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:849
-
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2435
-
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2586
-
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:841
-
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:873
-
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:727
-
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:476
-
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:313
-
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:773
-
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:756
-
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:293
-
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2538
-
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2413
-
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:899
-
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:761
-
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:309
-
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2463
-
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:752
-
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:91
-
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:718
-
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2590
-
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2554
-
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2393
-
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2369
-
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:268
-
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2405
-
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1313
-
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:256
-
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:301
-
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2451
-
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2574
-
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:160
-
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:180
-
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:869
-
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1083
-
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:136
-
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:807
-
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1075
-
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:923
-
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2582
-
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1321
-
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:811
-
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2471
-
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2373
-
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2401
-
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:995
-
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1158
-
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
-
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:132
-
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:819
-
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:735
-
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:172
-
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:919
-
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:392
-
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:555
-
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2546
-
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2423
-
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2377
-
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:272
-
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1519
-
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2479
-
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:260
-
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:396
-
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:220
-
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2487
-
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:991
-
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:791
-
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:547
-
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1162
-
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:861
-
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2439
-
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:559
-
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:779
-
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:480
-
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1527
-
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:212
-
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:224
-
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:232
-
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2534
-
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:388
-
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2558
-
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:769
-
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:264
-
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:228
-
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1150
-
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:915
-
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2409
-
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:168
-
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2443
-
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
-
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2365
-
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2594
-
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:244
-
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2447
-
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2475
-
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2542
-
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:144
-
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:857
-
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:82
-
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2385
-
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:829
-
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:164
-
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2455
-
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2562
-
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2389
-
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2381
-
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:216
-
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:714
-
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:799
+
505  typedef highp_bvec3 bvec3;
+
506 
+
510  typedef highp_bvec4 bvec4;
+
511 #endif//GLM_PRECISION
+
512 
+
514 }//namespace glm
+
tvec2< uint, mediump > mediump_uvec2
2 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:135
+
highp_uvec3 uvec3
3 components vector of unsigned integer numbers.
Definition: type_vec.hpp:477
+
tvec3< bool, lowp > lowp_bvec3
3 components vector of low precision bool numbers.
Definition: type_vec.hpp:271
+
tvec3< int, mediump > mediump_ivec3
3 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:225
+
tvec2< double, mediump > mediump_dvec2
2 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:93
+
tvec4< int, mediump > mediump_ivec4
4 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:324
+
highp_dvec2 dvec2
2 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:416
+
tvec4< int, lowp > lowp_ivec4
4 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:330
+
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:183
+
tvec3< uint, highp > highp_uvec3
3 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:239
+
tvec4< double, lowp > lowp_dvec4
4 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:312
+
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:65
+
tvec4< uint, lowp > lowp_uvec4
4 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:348
+
tvec2< int, mediump > mediump_ivec2
2 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:114
+
tvec3< int, lowp > lowp_ivec3
3 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:232
+
tvec2< uint, lowp > lowp_uvec2
2 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:142
+
tvec3< int, highp > highp_ivec3
3 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:218
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:190
+
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:72
+
highp_bvec3 bvec3
3 components vector of boolean.
Definition: type_vec.hpp:505
+
tvec4< int, highp > highp_ivec4
4 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:318
+
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:482
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
highp_dvec3 dvec3
3 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:421
+
highp_ivec3 ivec3
3 components vector of signed integer numbers.
Definition: type_vec.hpp:449
+
tvec3< bool, highp > highp_bvec3
3 components vector of high precision bool numbers.
Definition: type_vec.hpp:259
+
tvec3< double, highp > highp_dvec3
3 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:197
+
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:176
+
tvec4< uint, mediump > mediump_uvec4
4 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:342
+
highp_ivec2 ivec2
2 components vector of signed integer numbers.
Definition: type_vec.hpp:444
+
tvec2< bool, lowp > lowp_bvec2
2 components vector of low precision bool numbers.
Definition: type_vec.hpp:163
+
tvec2< double, highp > highp_dvec2
2 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:86
+
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:294
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
tvec3< uint, mediump > mediump_uvec3
3 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:246
+
highp_dvec4 dvec4
4 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:426
+
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:79
+
tvec4< bool, highp > highp_bvec4
4 components vector of high precision bool numbers.
Definition: type_vec.hpp:354
+
Definition: _noise.hpp:31
+
tvec2< bool, mediump > mediump_bvec2
2 components vector of medium precision bool numbers.
Definition: type_vec.hpp:156
+
tvec3< bool, mediump > mediump_bvec3
3 components vector of medium precision bool numbers.
Definition: type_vec.hpp:265
+
tvec3< double, mediump > mediump_dvec3
3 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:204
+
tvec4< bool, mediump > mediump_bvec4
4 components vector of medium precision bool numbers.
Definition: type_vec.hpp:360
+
tvec3< uint, lowp > lowp_uvec3
3 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:253
+
tvec2< int, highp > highp_ivec2
2 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:107
+
tvec4< double, highp > highp_dvec4
4 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:300
+
tvec2< bool, highp > highp_bvec2
2 components vector of high precision bool numbers.
Definition: type_vec.hpp:149
+
tvec2< double, lowp > lowp_dvec2
2 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:100
+
tvec4< bool, lowp > lowp_bvec4
4 components vector of low precision bool numbers.
Definition: type_vec.hpp:366
+
highp_bvec2 bvec2
2 components vector of boolean.
Definition: type_vec.hpp:500
+
tvec4< uint, highp > highp_uvec4
4 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:336
+
highp_bvec4 bvec4
4 components vector of boolean.
Definition: type_vec.hpp:510
+
tvec2< int, lowp > lowp_ivec2
2 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:121
+
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:282
+
OpenGL Mathematics (glm.g-truc.net)
+
tvec4< double, mediump > mediump_dvec4
4 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:306
+
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
+
tvec2< uint, highp > highp_uvec2
2 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:128
+
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:288
+
tvec3< double, lowp > lowp_dvec3
3 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:211
+
OpenGL Mathematics (glm.g-truc.net)
+
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:472
diff --git a/doc/api/a00133.html b/doc/api/a00133.html index 5b8d6f5d..6bc7ea0f 100644 --- a/doc/api/a00133.html +++ b/doc/api/a00133.html @@ -3,8 +3,8 @@ - -GLM: type_ptr.hpp File Reference + +0.9.6: type_vec1.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,117 +41,32 @@
-
-Namespaces | -Functions
-
type_ptr.hpp File Reference
+
type_vec1.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
GLM_FUNC_DECL detail::tmat2x2
-< T, defaultp > 
make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x2
-< T, defaultp > 
make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x3
-< T, defaultp > 
make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x4
-< T, defaultp > 
make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
-< T, defaultp > 
make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x2
-< T, defaultp > 
make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
-< T, defaultp > 
make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x4
-< T, defaultp > 
make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x2
-< T, defaultp > 
make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x3
-< T, defaultp > 
make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tquat< T,
-defaultp > 
make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::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:

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_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)
+

GLM Core

+
Date
2008-08-25 / 2011-06-15
+
Author
Christophe Riccio
-

Definition in file type_ptr.hpp.

+

Definition in file type_vec1.hpp.

diff --git a/doc/api/a00133_source.html b/doc/api/a00133_source.html index 1a3994f2..28a5f56b 100644 --- a/doc/api/a00133_source.html +++ b/doc/api/a00133_source.html @@ -3,8 +3,8 @@ - -GLM: type_ptr.hpp Source File + +0.9.6: type_vec1.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,122 +41,293 @@
-
type_ptr.hpp
+
type_vec1.hpp
Go to the documentation of this file.
1 
-
59 #ifndef GLM_GTC_type_ptr
-
60 #define GLM_GTC_type_ptr
-
61 
-
62 // Dependency:
-
63 #include "../gtc/quaternion.hpp"
-
64 #include "../vec2.hpp"
-
65 #include "../vec3.hpp"
-
66 #include "../vec4.hpp"
-
67 #include "../mat2x2.hpp"
-
68 #include "../mat2x3.hpp"
-
69 #include "../mat2x4.hpp"
-
70 #include "../mat3x2.hpp"
-
71 #include "../mat3x3.hpp"
-
72 #include "../mat3x4.hpp"
-
73 #include "../mat4x2.hpp"
-
74 #include "../mat4x3.hpp"
-
75 #include "../mat4x4.hpp"
-
76 #include <cstring>
-
77 
-
78 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
79 # pragma message("GLM: GLM_GTC_type_ptr extension included")
-
80 #endif
-
81 
-
82 namespace glm
-
83 {
-
86 
-
89  template<typename genType>
-
90  GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const & vec);
-
91 
-
94  template<typename T>
-
95  GLM_FUNC_DECL detail::tvec2<T, defaultp> make_vec2(T const * const ptr);
-
96 
-
99  template<typename T>
-
100  GLM_FUNC_DECL detail::tvec3<T, defaultp> make_vec3(T const * const ptr);
-
101 
-
104  template<typename T>
-
105  GLM_FUNC_DECL detail::tvec4<T, defaultp> make_vec4(T const * const ptr);
-
106 
-
109  template<typename T>
-
110  GLM_FUNC_DECL detail::tmat2x2<T, defaultp> make_mat2x2(T const * const ptr);
-
111 
-
114  template<typename T>
-
115  GLM_FUNC_DECL detail::tmat2x3<T, defaultp> make_mat2x3(T const * const ptr);
-
116 
-
119  template<typename T>
-
120  GLM_FUNC_DECL detail::tmat2x4<T, defaultp> make_mat2x4(T const * const ptr);
-
121 
-
124  template<typename T>
-
125  GLM_FUNC_DECL detail::tmat3x2<T, defaultp> make_mat3x2(T const * const ptr);
+
29 #pragma once
+
30 
+
31 #include "../fwd.hpp"
+
32 #include "type_vec.hpp"
+
33 #ifdef GLM_SWIZZLE
+
34 # if GLM_HAS_ANONYMOUS_UNION
+
35 # include "_swizzle.hpp"
+
36 # else
+
37 # include "_swizzle_func.hpp"
+
38 # endif
+
39 #endif //GLM_SWIZZLE
+
40 #include <cstddef>
+
41 
+
42 namespace glm
+
43 {
+
44  template <typename T, precision P = defaultp>
+
45  struct tvec1
+
46  {
+
48  // Implementation detail
+
49 
+
50  typedef tvec1<T, P> type;
+
51  typedef tvec1<bool, P> bool_type;
+
52  typedef T value_type;
+
53 
+
55  // Helper
+
56 
+
57 # ifdef GLM_FORCE_SIZE_FUNC
+
58  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
60 # else
+
61  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
63 # endif//GLM_FORCE_SIZE_FUNC
+
64 
+
66  // Data
+
67 
+
68 # if GLM_HAS_ANONYMOUS_UNION
+
69  union
+
70  {
+
71  T x;
+
72  T r;
+
73  T s;
+
74 /*
+
75 # ifdef GLM_SWIZZLE
+
76  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, x)
+
77  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, r)
+
78  _GLM_SWIZZLE1_2_MEMBERS(T, P, tvec2, s)
+
79  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, x)
+
80  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, r)
+
81  _GLM_SWIZZLE1_3_MEMBERS(T, P, tvec3, s)
+
82  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, x)
+
83  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, r)
+
84  _GLM_SWIZZLE1_4_MEMBERS(T, P, tvec4, s)
+
85 # endif//GLM_SWIZZLE*/
+
86  };
+
87 # else
+
88  union {T x, r, s;};
+
89 /*
+
90 # ifdef GLM_SWIZZLE
+
91  GLM_SWIZZLE_GEN_VEC_FROM_VEC1(T, P, tvec2, tvec2, tvec3, tvec4)
+
92 # endif//GLM_SWIZZLE*/
+
93 # endif
+
94 
+
96  // Accesses
+
97 
+
98  GLM_FUNC_DECL T & operator[](length_t i);
+
99  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
100 
+
102  // Implicit basic constructors
+
103 
+
104  GLM_FUNC_DECL tvec1();
+
105  template <precision Q>
+
106  GLM_FUNC_DECL tvec1(tvec1<T, Q> const & v);
+
107 
+
109  // Explicit basic constructors
+
110 
+
111  GLM_FUNC_DECL explicit tvec1(ctor);
+
112  GLM_FUNC_DECL explicit tvec1(T const & s);
+
113 
+
115  // Conversion vector constructors
+
116 
+
118  template <typename U, precision Q>
+
119  GLM_FUNC_DECL explicit tvec1(tvec2<U, Q> const & v);
+
121  template <typename U, precision Q>
+
122  GLM_FUNC_DECL explicit tvec1(tvec3<U, Q> const & v);
+
124  template <typename U, precision Q>
+
125  GLM_FUNC_DECL explicit tvec1(tvec4<U, Q> const & v);
126 
-
129  template<typename T>
-
130  GLM_FUNC_DECL detail::tmat3x3<T, defaultp> make_mat3x3(T const * const ptr);
-
131 
-
134  template<typename T>
-
135  GLM_FUNC_DECL detail::tmat3x4<T, defaultp> make_mat3x4(T const * const ptr);
+
127 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
128  template <typename U, precision Q>
+
130  GLM_FUNC_DECL explicit tvec1(tvec1<U, Q> const & v);
+
131 # else
+
132  template <typename U, precision Q>
+
134  GLM_FUNC_DECL tvec1(tvec1<U, Q> const & v);
+
135 # endif
136 
-
139  template<typename T>
-
140  GLM_FUNC_DECL detail::tmat4x2<T, defaultp> make_mat4x2(
-
141  T const * const ptr);
-
142 
-
145  template<typename T>
-
146  GLM_FUNC_DECL detail::tmat4x3<T, defaultp> make_mat4x3(T const * const ptr);
+
138  // Swizzle constructors
+
139 
+
140 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
141  template <int E0>
+
142  GLM_FUNC_DECL tvec1(detail::_swizzle<1, T, P, tvec1<T, P>, E0, -1,-2,-3> const & that)
+
143  {
+
144  *this = that();
+
145  }
+
146 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
147 
-
150  template<typename T>
-
151  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> make_mat4x4(T const * const ptr);
-
152 
-
155  template<typename T>
-
156  GLM_FUNC_DECL detail::tmat2x2<T, defaultp> make_mat2(T const * const ptr);
-
157 
-
160  template<typename T>
-
161  GLM_FUNC_DECL detail::tmat3x3<T, defaultp> make_mat3(T const * const ptr);
-
162 
-
165  template<typename T>
-
166  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> make_mat4(T const * const ptr);
-
167 
-
170  template<typename T>
-
171  GLM_FUNC_DECL detail::tquat<T, defaultp> make_quat(T const * const ptr);
+
149  // Unary arithmetic operators
+
150 
+
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 tvec1<T, P> & operator/=(U const & s);
+
167  template <typename U>
+
168  GLM_FUNC_DECL tvec1<T, P> & operator/=(tvec1<U, P> const & v);
+
169 
+
171  // Increment and decrement operators
172 
-
174 }//namespace glm
-
175 
-
176 #include "type_ptr.inl"
+
173  GLM_FUNC_DECL tvec1<T, P> & operator++();
+
174  GLM_FUNC_DECL tvec1<T, P> & operator--();
+
175  GLM_FUNC_DECL tvec1<T, P> operator++(int);
+
176  GLM_FUNC_DECL tvec1<T, P> operator--(int);
177 
-
178 #endif//GLM_GTC_type_ptr
-
179 
-
GLM_FUNC_DECL detail::tmat3x3< T, defaultp > make_mat3x3(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tquat< T, defaultp > make_quat(T const *const ptr)
Build a quaternion from a pointer.
-
GLM_FUNC_DECL detail::tmat3x3< T, defaultp > make_mat3(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tmat2x2< T, defaultp > make_mat2(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tmat3x2< T, defaultp > make_mat3x2(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tmat2x2< T, defaultp > make_mat2x2(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tmat3x4< T, defaultp > make_mat3x4(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tmat4x2< T, defaultp > make_mat4x2(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > make_mat4(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tmat2x4< T, defaultp > make_mat2x4(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tvec3< T, defaultp > make_vec3(T const *const ptr)
Build a vector from a pointer.
-
GLM_FUNC_DECL detail::tvec2< T, defaultp > make_vec2(T const *const ptr)
Build a vector from a pointer.
-
GLM_FUNC_DECL detail::tvec4< T, defaultp > make_vec4(T const *const ptr)
Build a vector from a pointer.
-
GLM_FUNC_DECL detail::tmat4x3< T, defaultp > make_mat4x3(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.
-
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > make_mat4x4(T const *const ptr)
Build a matrix from a pointer.
-
GLM_FUNC_DECL detail::tmat2x3< T, defaultp > make_mat2x3(T const *const ptr)
Build a matrix from a pointer.
+
179  // Unary bit operators
+
180 
+
181  template <typename U>
+
182  GLM_FUNC_DECL tvec1<T, P> & operator%=(U const & s);
+
183  template <typename U>
+
184  GLM_FUNC_DECL tvec1<T, P> & operator%=(tvec1<U, P> const & v);
+
185  template <typename U>
+
186  GLM_FUNC_DECL tvec1<T, P> & operator&=(U const & s);
+
187  template <typename U>
+
188  GLM_FUNC_DECL tvec1<T, P> & operator&=(tvec1<U, P> const & v);
+
189  template <typename U>
+
190  GLM_FUNC_DECL tvec1<T, P> & operator|=(U const & s);
+
191  template <typename U>
+
192  GLM_FUNC_DECL tvec1<T, P> & operator|=(tvec1<U, P> const & v);
+
193  template <typename U>
+
194  GLM_FUNC_DECL tvec1<T, P> & operator^=(U const & s);
+
195  template <typename U>
+
196  GLM_FUNC_DECL tvec1<T, P> & operator^=(tvec1<U, P> const & v);
+
197  template <typename U>
+
198  GLM_FUNC_DECL tvec1<T, P> & operator<<=(U const & s);
+
199  template <typename U>
+
200  GLM_FUNC_DECL tvec1<T, P> & operator<<=(tvec1<U, P> const & v);
+
201  template <typename U>
+
202  GLM_FUNC_DECL tvec1<T, P> & operator>>=(U const & s);
+
203  template <typename U>
+
204  GLM_FUNC_DECL tvec1<T, P> & operator>>=(tvec1<U, P> const & v);
+
205  };
+
206 
+
207 
+
208  template <typename T, precision P>
+
209  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v, T const & s);
+
210 
+
211  template <typename T, precision P>
+
212  GLM_FUNC_DECL tvec1<T, P> operator+(T const & s, tvec1<T, P> const & v);
+
213 
+
214  template <typename T, precision P>
+
215  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
216 
+
217  template <typename T, precision P>
+
218  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v, T const & s);
+
219 
+
220  template <typename T, precision P>
+
221  GLM_FUNC_DECL tvec1<T, P> operator-(T const & s, tvec1<T, P> const & v);
+
222 
+
223  template <typename T, precision P>
+
224  GLM_FUNC_DECL tvec1<T, P> operator- (tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
225 
+
226  template <typename T, precision P>
+
227  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v, T const & s);
+
228 
+
229  template <typename T, precision P>
+
230  GLM_FUNC_DECL tvec1<T, P> operator*(T const & s, tvec1<T, P> const & v);
+
231 
+
232  template <typename T, precision P>
+
233  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
234 
+
235  template <typename T, precision P>
+
236  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v, T const & s);
+
237 
+
238  template <typename T, precision P>
+
239  GLM_FUNC_DECL tvec1<T, P> operator/(T const & s, tvec1<T, P> const & v);
+
240 
+
241  template <typename T, precision P>
+
242  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
243 
+
244  template <typename T, precision P>
+
245  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v);
+
246 
+
247  template <typename T, precision P>
+
248  GLM_FUNC_DECL bool operator==(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
249 
+
250  template <typename T, precision P>
+
251  GLM_FUNC_DECL bool operator!=(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
252 
+
253  template <typename T, precision P>
+
254  GLM_FUNC_DECL tvec1<T, P> operator%(tvec1<T, P> const & v, T const & s);
+
255 
+
256  template <typename T, precision P>
+
257  GLM_FUNC_DECL tvec1<T, P> operator%(T const & s, tvec1<T, P> const & v);
+
258 
+
259  template <typename T, precision P>
+
260  GLM_FUNC_DECL tvec1<T, P> operator%(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
261 
+
262  template <typename T, precision P>
+
263  GLM_FUNC_DECL tvec1<T, P> operator&(tvec1<T, P> const & v, T const & s);
+
264 
+
265  template <typename T, precision P>
+
266  GLM_FUNC_DECL tvec1<T, P> operator&(T const & s, tvec1<T, P> const & v);
+
267 
+
268  template <typename T, precision P>
+
269  GLM_FUNC_DECL tvec1<T, P> operator&(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
270 
+
271  template <typename T, precision P>
+
272  GLM_FUNC_DECL tvec1<T, P> operator|(tvec1<T, P> const & v, T const & s);
+
273 
+
274  template <typename T, precision P>
+
275  GLM_FUNC_DECL tvec1<T, P> operator|(T const & s, tvec1<T, P> const & v);
+
276 
+
277  template <typename T, precision P>
+
278  GLM_FUNC_DECL tvec1<T, P> operator|(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
279 
+
280  template <typename T, precision P>
+
281  GLM_FUNC_DECL tvec1<T, P> operator^(tvec1<T, P> const & v, T const & s);
+
282 
+
283  template <typename T, precision P>
+
284  GLM_FUNC_DECL tvec1<T, P> operator^(T const & s, tvec1<T, P> const & v);
+
285 
+
286  template <typename T, precision P>
+
287  GLM_FUNC_DECL tvec1<T, P> operator^(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
288 
+
289  template <typename T, precision P>
+
290  GLM_FUNC_DECL tvec1<T, P> operator<<(tvec1<T, P> const & v, T const & s);
+
291 
+
292  template <typename T, precision P>
+
293  GLM_FUNC_DECL tvec1<T, P> operator<<(T const & s, tvec1<T, P> const & v);
+
294 
+
295  template <typename T, precision P>
+
296  GLM_FUNC_DECL tvec1<T, P> operator<<(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
297 
+
298  template <typename T, precision P>
+
299  GLM_FUNC_DECL tvec1<T, P> operator>>(tvec1<T, P> const & v, T const & s);
+
300 
+
301  template <typename T, precision P>
+
302  GLM_FUNC_DECL tvec1<T, P> operator>>(T const & s, tvec1<T, P> const & v);
+
303 
+
304  template <typename T, precision P>
+
305  GLM_FUNC_DECL tvec1<T, P> operator>>(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
306 
+
307  template <typename T, precision P>
+
308  GLM_FUNC_DECL tvec1<T, P> operator~(tvec1<T, P> const & v);
+
309 }//namespace glm
+
310 
+
311 #ifndef GLM_EXTERNAL_TEMPLATE
+
312 #include "type_vec1.inl"
+
313 #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:31
+
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 new file mode 100644 index 00000000..ca312447 --- /dev/null +++ b/doc/api/a00134.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_vec2.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2008-08-18 / 2013-08-27
+
Author
Christophe Riccio
+ +

Definition in file type_vec2.hpp.

+
+ + + + diff --git a/doc/api/a00134_source.html b/doc/api/a00134_source.html index a5e28fc5..a9c7c7b6 100644 --- a/doc/api/a00134_source.html +++ b/doc/api/a00134_source.html @@ -3,8 +3,8 @@ - -GLM: type_vec.hpp Source File + +0.9.6: type_vec2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,300 +41,374 @@
-
type_vec.hpp
+
type_vec2.hpp
-
1 
-
29 #ifndef glm_core_type_vec
-
30 #define glm_core_type_vec
-
31 
-
32 #include "precision.hpp"
-
33 #include "type_int.hpp"
-
34 
-
35 namespace glm{
-
36 namespace detail
-
37 {
-
38  template <typename T, precision P> struct tvec1;
-
39  template <typename T, precision P> struct tvec2;
-
40  template <typename T, precision P> struct tvec3;
-
41  template <typename T, precision P> struct tvec4;
-
42 }//namespace detail
-
43 
-
44  typedef detail::tvec1<float, highp> highp_vec1_t;
-
45  typedef detail::tvec1<float, mediump> mediump_vec1_t;
-
46  typedef detail::tvec1<float, lowp> lowp_vec1_t;
-
47  typedef detail::tvec1<int, highp> highp_ivec1_t;
-
48  typedef detail::tvec1<int, mediump> mediump_ivec1_t;
-
49  typedef detail::tvec1<int, lowp> lowp_ivec1_t;
-
50  typedef detail::tvec1<uint, highp> highp_uvec1_t;
-
51  typedef detail::tvec1<uint, mediump> mediump_uvec1_t;
-
52  typedef detail::tvec1<uint, lowp> lowp_uvec1_t;
-
53  typedef detail::tvec1<bool, highp> highp_bvec1_t;
-
54  typedef detail::tvec1<bool, mediump> mediump_bvec1_t;
-
55  typedef detail::tvec1<bool, lowp> lowp_bvec1_t;
-
56 
-
59 
-
65  typedef detail::tvec2<float, highp> highp_vec2;
-
66 
-
72  typedef detail::tvec2<float, mediump> mediump_vec2;
-
73 
-
79  typedef detail::tvec2<float, lowp> lowp_vec2;
-
80 
-
86  typedef detail::tvec2<double, highp> highp_dvec2;
-
87 
-
93  typedef detail::tvec2<double, mediump> mediump_dvec2;
-
94 
-
100  typedef detail::tvec2<double, lowp> lowp_dvec2;
-
101 
-
107  typedef detail::tvec2<int, highp> highp_ivec2;
-
108 
-
114  typedef detail::tvec2<int, mediump> mediump_ivec2;
-
115 
-
121  typedef detail::tvec2<int, lowp> lowp_ivec2;
-
122 
-
128  typedef detail::tvec2<uint, highp> highp_uvec2;
-
129 
-
135  typedef detail::tvec2<uint, mediump> mediump_uvec2;
-
136 
-
142  typedef detail::tvec2<uint, lowp> lowp_uvec2;
-
143 
-
149  typedef detail::tvec2<bool, highp> highp_bvec2;
-
150 
-
156  typedef detail::tvec2<bool, mediump> mediump_bvec2;
-
157 
-
163  typedef detail::tvec2<bool, lowp> lowp_bvec2;
-
164 
-
166 
-
167 
-
170 
-
176  typedef detail::tvec3<float, highp> highp_vec3;
-
177 
-
183  typedef detail::tvec3<float, mediump> mediump_vec3;
-
184 
-
190  typedef detail::tvec3<float, lowp> lowp_vec3;
-
191 
-
197  typedef detail::tvec3<double, highp> highp_dvec3;
-
198 
-
204  typedef detail::tvec3<double, mediump> mediump_dvec3;
-
205 
-
211  typedef detail::tvec3<double, lowp> lowp_dvec3;
-
212 
-
218  typedef detail::tvec3<int, highp> highp_ivec3;
-
219 
-
225  typedef detail::tvec3<int, mediump> mediump_ivec3;
-
226 
-
232  typedef detail::tvec3<int, lowp> lowp_ivec3;
-
233 
-
239  typedef detail::tvec3<uint, highp> highp_uvec3;
-
240 
-
246  typedef detail::tvec3<uint, mediump> mediump_uvec3;
-
247 
-
253  typedef detail::tvec3<uint, lowp> lowp_uvec3;
-
254 
-
259  typedef detail::tvec3<bool, highp> highp_bvec3;
-
260 
-
265  typedef detail::tvec3<bool, mediump> mediump_bvec3;
-
266 
-
271  typedef detail::tvec3<bool, lowp> lowp_bvec3;
-
272 
-
274 
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 //#include "../fwd.hpp"
+
32 #include "type_vec.hpp"
+
33 #ifdef GLM_SWIZZLE
+
34 # if GLM_HAS_ANONYMOUS_UNION
+
35 # include "_swizzle.hpp"
+
36 # else
+
37 # include "_swizzle_func.hpp"
+
38 # endif
+
39 #endif //GLM_SWIZZLE
+
40 #include <cstddef>
+
41 
+
42 namespace glm
+
43 {
+
44  template <typename T, precision P = defaultp>
+
45  struct tvec2
+
46  {
+
48  // Implementation detail
+
49 
+
50  typedef tvec2<T, P> type;
+
51  typedef tvec2<bool, P> bool_type;
+
52  typedef T value_type;
+
53  typedef int size_type;
+
54 
+
56  // Helper
+
57 
+
58 # ifdef GLM_FORCE_SIZE_FUNC
+
59  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
61 # else
+
62  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
64 # endif//GLM_FORCE_SIZE_FUNC
+
65 
+
67  // Data
+
68 
+
69 # if GLM_HAS_ANONYMOUS_UNION
+
70  union
+
71  {
+
72  struct{ T x, y; };
+
73  struct{ T r, g; };
+
74  struct{ T s, t; };
+
75 
+
76 # ifdef GLM_SWIZZLE
+
77  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, x, y)
+
78  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, r, g)
+
79  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, s, t)
+
80  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, x, y)
+
81  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, r, g)
+
82  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, s, t)
+
83  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, x, y)
+
84  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, r, g)
+
85  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, s, t)
+
86 # endif//GLM_SWIZZLE
+
87  };
+
88 # else
+
89  union {T x, r, s;};
+
90  union {T y, g, t;};
+
91 
+
92 # ifdef GLM_SWIZZLE
+
93  GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P, tvec2, tvec2, tvec3, tvec4)
+
94 # endif//GLM_SWIZZLE
+
95 # endif
+
96 
+
98  // Accesses
+
99 
+
100  GLM_FUNC_DECL T & operator[](length_t i);
+
101  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
102 
+
104  // Implicit basic constructors
+
105 
+
106  GLM_FUNC_DECL tvec2();
+
107  template <precision Q>
+
108  GLM_FUNC_DECL tvec2(tvec2<T, Q> const & v);
+
109 
+
111  // Explicit basic constructors
+
112 
+
113  GLM_FUNC_DECL explicit tvec2(ctor);
+
114  GLM_FUNC_DECL explicit tvec2(T const & s);
+
115  GLM_FUNC_DECL tvec2(T const & s1, T const & s2);
+
116 
+
118  // Conversion constructors
+
119 
+
121  template <typename A, typename B>
+
122  GLM_FUNC_DECL tvec2(A const & x, B const & y);
+
123  template <typename A, typename B>
+
124  GLM_FUNC_DECL tvec2(tvec1<A, P> const & v1, tvec1<B, P> const & v2);
+
125 
+
127  // Conversion vector constructors
+
128 
+
130  template <typename U, precision Q>
+
131  GLM_FUNC_DECL explicit tvec2(tvec3<U, Q> const & v);
+
133  template <typename U, precision Q>
+
134  GLM_FUNC_DECL explicit tvec2(tvec4<U, Q> const & v);
+
135 
+
136 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
137  template <typename U, precision Q>
+
139  GLM_FUNC_DECL explicit tvec2(tvec2<U, Q> const & v);
+
140 # else
+
141  template <typename U, precision Q>
+
143  GLM_FUNC_DECL tvec2(tvec2<U, Q> const & v);
+
144 # endif
+
145 
+
147  // Swizzle constructors
+
148 
+
149 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
150  template <int E0, int E1>
+
151  GLM_FUNC_DECL tvec2(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1,-1,-2> const & that)
+
152  {
+
153  *this = that();
+
154  }
+
155 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
156 
+
158  // Unary arithmetic operators
+
159 
+
160  template <typename U>
+
161  GLM_FUNC_DECL tvec2<T, P> & operator=(tvec2<U, P> const & v);
+
162  template <typename U>
+
163  GLM_FUNC_DECL tvec2<T, P> & operator+=(U s);
+
164  template <typename U>
+
165  GLM_FUNC_DECL tvec2<T, P> & operator+=(tvec1<U, P> const & v);
+
166  template <typename U>
+
167  GLM_FUNC_DECL tvec2<T, P> & operator+=(tvec2<U, P> const & v);
+
168  template <typename U>
+
169  GLM_FUNC_DECL tvec2<T, P> & operator-=(U s);
+
170  template <typename U>
+
171  GLM_FUNC_DECL tvec2<T, P> & operator-=(tvec1<U, P> const & v);
+
172  template <typename U>
+
173  GLM_FUNC_DECL tvec2<T, P> & operator-=(tvec2<U, P> const & v);
+
174  template <typename U>
+
175  GLM_FUNC_DECL tvec2<T, P> & operator*=(U s);
+
176  template <typename U>
+
177  GLM_FUNC_DECL tvec2<T, P> & operator*=(tvec1<U, P> const & v);
+
178  template <typename U>
+
179  GLM_FUNC_DECL tvec2<T, P> & operator*=(tvec2<U, P> const & v);
+
180  template <typename U>
+
181  GLM_FUNC_DECL tvec2<T, P> & operator/=(U s);
+
182  template <typename U>
+
183  GLM_FUNC_DECL tvec2<T, P> & operator/=(tvec1<U, P> const & v);
+
184  template <typename U>
+
185  GLM_FUNC_DECL tvec2<T, P> & operator/=(tvec2<U, P> const & v);
+
186 
+
188  // Increment and decrement operators
+
189 
+
190  GLM_FUNC_DECL tvec2<T, P> & operator++();
+
191  GLM_FUNC_DECL tvec2<T, P> & operator--();
+
192  GLM_FUNC_DECL tvec2<T, P> operator++(int);
+
193  GLM_FUNC_DECL tvec2<T, P> operator--(int);
+
194 
+
196  // Unary bit operators
+
197 
+
198  template <typename U>
+
199  GLM_FUNC_DECL tvec2<T, P> & operator%= (U s);
+
200  template <typename U>
+
201  GLM_FUNC_DECL tvec2<T, P> & operator%= (tvec1<U, P> const & v);
+
202  template <typename U>
+
203  GLM_FUNC_DECL tvec2<T, P> & operator%= (tvec2<U, P> const & v);
+
204  template <typename U>
+
205  GLM_FUNC_DECL tvec2<T, P> & operator&= (U s);
+
206  template <typename U>
+
207  GLM_FUNC_DECL tvec2<T, P> & operator&= (tvec1<U, P> const & v);
+
208  template <typename U>
+
209  GLM_FUNC_DECL tvec2<T, P> & operator&= (tvec2<U, P> const & v);
+
210  template <typename U>
+
211  GLM_FUNC_DECL tvec2<T, P> & operator|= (U s);
+
212  template <typename U>
+
213  GLM_FUNC_DECL tvec2<T, P> & operator|= (tvec1<U, P> const & v);
+
214  template <typename U>
+
215  GLM_FUNC_DECL tvec2<T, P> & operator|= (tvec2<U, P> const & v);
+
216  template <typename U>
+
217  GLM_FUNC_DECL tvec2<T, P> & operator^= (U s);
+
218  template <typename U>
+
219  GLM_FUNC_DECL tvec2<T, P> & operator^= (tvec1<U, P> const & v);
+
220  template <typename U>
+
221  GLM_FUNC_DECL tvec2<T, P> & operator^= (tvec2<U, P> const & v);
+
222  template <typename U>
+
223  GLM_FUNC_DECL tvec2<T, P> & operator<<=(U s);
+
224  template <typename U>
+
225  GLM_FUNC_DECL tvec2<T, P> & operator<<=(tvec1<U, P> const & v);
+
226  template <typename U>
+
227  GLM_FUNC_DECL tvec2<T, P> & operator<<=(tvec2<U, P> const & v);
+
228  template <typename U>
+
229  GLM_FUNC_DECL tvec2<T, P> & operator>>=(U s);
+
230  template <typename U>
+
231  GLM_FUNC_DECL tvec2<T, P> & operator>>=(tvec1<U, P> const & v);
+
232  template <typename U>
+
233  GLM_FUNC_DECL tvec2<T, P> & operator>>=(tvec2<U, P> const & v);
+
234  };
+
235 
+
236  template <typename T, precision P>
+
237  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v, T const & s);
+
238 
+
239  template <typename T, precision P>
+
240  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
241 
+
242  template <typename T, precision P>
+
243  GLM_FUNC_DECL tvec2<T, P> operator+(T const & s, tvec2<T, P> const & v);
+
244 
+
245  template <typename T, precision P>
+
246  GLM_FUNC_DECL tvec2<T, P> operator+(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
247 
+
248  template <typename T, precision P>
+
249  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
250 
+
251  template <typename T, precision P>
+
252  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v, T const & s);
+
253 
+
254  template <typename T, precision P>
+
255  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
256 
+
257  template <typename T, precision P>
+
258  GLM_FUNC_DECL tvec2<T, P> operator-(T const & s, tvec2<T, P> const & v);
+
259 
+
260  template <typename T, precision P>
+
261  GLM_FUNC_DECL tvec2<T, P> operator-(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
262 
+
263  template <typename T, precision P>
+
264  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
265 
+
266  template <typename T, precision P>
+
267  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v, T const & s);
+
268 
+
269  template <typename T, precision P>
+
270  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
271 
+
272  template <typename T, precision P>
+
273  GLM_FUNC_DECL tvec2<T, P> operator*(T const & s, tvec2<T, P> const & v);
+
274 
+
275  template <typename T, precision P>
+
276  GLM_FUNC_DECL tvec2<T, P> operator*(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
277 
-
282  typedef detail::tvec4<float, highp> highp_vec4;
-
283 
-
288  typedef detail::tvec4<float, mediump> mediump_vec4;
-
289 
-
294  typedef detail::tvec4<float, lowp> lowp_vec4;
-
295 
-
300  typedef detail::tvec4<double, highp> highp_dvec4;
-
301 
-
306  typedef detail::tvec4<double, mediump> mediump_dvec4;
-
307 
-
312  typedef detail::tvec4<double, lowp> lowp_dvec4;
-
313 
-
318  typedef detail::tvec4<int, highp> highp_ivec4;
-
319 
-
324  typedef detail::tvec4<int, mediump> mediump_ivec4;
-
325 
-
330  typedef detail::tvec4<int, lowp> lowp_ivec4;
-
331 
-
336  typedef detail::tvec4<uint, highp> highp_uvec4;
-
337 
-
342  typedef detail::tvec4<uint, mediump> mediump_uvec4;
-
343 
-
348  typedef detail::tvec4<uint, lowp> lowp_uvec4;
+
278  template <typename T, precision P>
+
279  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
280 
+
281  template <typename T, precision P>
+
282  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v, T const & s);
+
283 
+
284  template <typename T, precision P>
+
285  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
286 
+
287  template <typename T, precision P>
+
288  GLM_FUNC_DECL tvec2<T, P> operator/(T const & s, tvec2<T, P> const & v);
+
289 
+
290  template <typename T, precision P>
+
291  GLM_FUNC_DECL tvec2<T, P> operator/(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
292 
+
293  template <typename T, precision P>
+
294  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
295 
+
296  template <typename T, precision P>
+
297  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v);
+
298 
+
299  template <typename T, precision P>
+
300  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v, T const & s);
+
301 
+
302  template <typename T, precision P>
+
303  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
304 
+
305  template <typename T, precision P>
+
306  GLM_FUNC_DECL tvec2<T, P> operator%(T const & s, tvec2<T, P> const & v);
+
307 
+
308  template <typename T, precision P>
+
309  GLM_FUNC_DECL tvec2<T, P> operator%(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
310 
+
311  template <typename T, precision P>
+
312  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
313 
+
314  template <typename T, precision P>
+
315  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v, T const & s);
+
316 
+
317  template <typename T, precision P>
+
318  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
319 
+
320  template <typename T, precision P>
+
321  GLM_FUNC_DECL tvec2<T, P> operator&(T const & s, tvec2<T, P> const & v);
+
322 
+
323  template <typename T, precision P>
+
324  GLM_FUNC_DECL tvec2<T, P> operator&(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
325 
+
326  template <typename T, precision P>
+
327  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
328 
+
329  template <typename T, precision P>
+
330  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v, T const & s);
+
331 
+
332  template <typename T, precision P>
+
333  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
334 
+
335  template <typename T, precision P>
+
336  GLM_FUNC_DECL tvec2<T, P> operator|(T const & s, tvec2<T, P> const & v);
+
337 
+
338  template <typename T, precision P>
+
339  GLM_FUNC_DECL tvec2<T, P> operator|(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
340 
+
341  template <typename T, precision P>
+
342  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
343 
+
344  template <typename T, precision P>
+
345  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v, T const & s);
+
346 
+
347  template <typename T, precision P>
+
348  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
349 
-
354  typedef detail::tvec4<bool, highp> highp_bvec4;
-
355 
-
360  typedef detail::tvec4<bool, mediump> mediump_bvec4;
-
361 
-
366  typedef detail::tvec4<bool, lowp> lowp_bvec4;
-
367 
-
369 
-
372 
-
374  // Default float definition
-
375 
-
376 #if(defined(GLM_PRECISION_LOWP_FLOAT))
-
377  typedef lowp_vec2 vec2;
-
378  typedef lowp_vec3 vec3;
-
379  typedef lowp_vec4 vec4;
-
380 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
381  typedef mediump_vec2 vec2;
-
382  typedef mediump_vec3 vec3;
-
383  typedef mediump_vec4 vec4;
-
384 #else //defined(GLM_PRECISION_HIGHP_FLOAT)
-
385  typedef highp_vec2 vec2;
-
389 
-
393  typedef highp_vec3 vec3;
-
394 
-
398  typedef highp_vec4 vec4;
-
399 #endif//GLM_PRECISION
-
400 
-
402  // Default double definition
-
403 
-
404 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
-
405  typedef lowp_dvec2 dvec2;
-
406  typedef lowp_dvec3 dvec3;
-
407  typedef lowp_dvec4 dvec4;
-
408 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
-
409  typedef mediump_dvec2 dvec2;
-
410  typedef mediump_dvec3 dvec3;
-
411  typedef mediump_dvec4 dvec4;
-
412 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
-
413  typedef highp_dvec2 dvec2;
-
417 
- -
422 
- -
427 #endif//GLM_PRECISION
-
428 
-
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 
- -
450 
- -
455 #endif//GLM_PRECISION
-
456 
-
458  // Unsigned integer definition
-
459 
-
460 #if(defined(GLM_PRECISION_LOWP_UINT))
-
461  typedef lowp_uvec2 uvec2;
-
462  typedef lowp_uvec3 uvec3;
-
463  typedef lowp_uvec4 uvec4;
-
464 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
-
465  typedef mediump_uvec2 uvec2;
-
466  typedef mediump_uvec3 uvec3;
-
467  typedef mediump_uvec4 uvec4;
-
468 #else //defined(GLM_PRECISION_HIGHP_UINT)
-
469  typedef highp_uvec2 uvec2;
-
473 
- -
478 
- -
483 #endif//GLM_PRECISION
-
484 
-
486  // Boolean definition
-
487 
-
488 #if(defined(GLM_PRECISION_LOWP_BOOL))
-
489  typedef lowp_bvec2 bvec2;
-
490  typedef lowp_bvec3 bvec3;
-
491  typedef lowp_bvec4 bvec4;
-
492 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
-
493  typedef mediump_bvec2 bvec2;
-
494  typedef mediump_bvec3 bvec3;
-
495  typedef mediump_bvec4 bvec4;
-
496 #else //defined(GLM_PRECISION_HIGHP_BOOL)
-
497  typedef highp_bvec2 bvec2;
-
501 
- -
506 
- -
511 #endif//GLM_PRECISION
-
512 
-
514 }//namespace glm
-
515 
-
516 #endif//glm_core_type_vec
-
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
-
detail::tvec4< bool, highp > highp_bvec4
4 components vector of high precision bool numbers.
Definition: type_vec.hpp:354
-
detail::tvec2< uint, highp > highp_uvec2
2 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:128
-
detail::tvec4< uint, highp > highp_uvec4
4 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:336
-
highp_bvec3 bvec3
3 components vector of boolean.
Definition: type_vec.hpp:505
-
detail::tvec3< int, mediump > mediump_ivec3
3 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:225
-
highp_bvec2 bvec2
2 components vector of boolean.
Definition: type_vec.hpp:500
-
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
-
highp_dvec3 dvec3
3 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:421
-
detail::tvec2< int, mediump > mediump_ivec2
2 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:114
-
detail::tvec4< double, lowp > lowp_dvec4
4 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:312
-
highp_ivec2 ivec2
2 components vector of signed integer numbers.
Definition: type_vec.hpp:444
-
detail::tvec2< uint, lowp > lowp_uvec2
2 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:142
-
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
-
detail::tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:288
-
detail::tvec2< bool, mediump > mediump_bvec2
2 components vector of medium precision bool numbers.
Definition: type_vec.hpp:156
-
detail::tvec4< bool, lowp > lowp_bvec4
4 components vector of low precision bool numbers.
Definition: type_vec.hpp:366
-
detail::tvec3< uint, lowp > lowp_uvec3
3 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:253
-
detail::tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:190
-
detail::tvec4< int, lowp > lowp_ivec4
4 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:330
-
detail::tvec2< bool, highp > highp_bvec2
2 components vector of high precision bool numbers.
Definition: type_vec.hpp:149
-
detail::tvec4< double, highp > highp_dvec4
4 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:300
-
detail::tvec4< uint, lowp > lowp_uvec4
4 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:348
-
detail::tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:176
-
highp_dvec2 dvec2
2 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:416
-
detail::tvec3< bool, mediump > mediump_bvec3
3 components vector of medium precision bool numbers.
Definition: type_vec.hpp:265
-
detail::tvec4< double, mediump > mediump_dvec4
4 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:306
-
detail::tvec2< double, highp > highp_dvec2
2 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:86
-
detail::tvec3< uint, highp > highp_uvec3
3 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:239
-
highp_ivec3 ivec3
3 components vector of signed integer numbers.
Definition: type_vec.hpp:449
-
detail::tvec3< uint, mediump > mediump_uvec3
3 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:246
-
detail::tvec4< bool, mediump > mediump_bvec4
4 components vector of medium precision bool numbers.
Definition: type_vec.hpp:360
-
detail::tvec3< bool, lowp > lowp_bvec3
3 components vector of low precision bool numbers.
Definition: type_vec.hpp:271
-
detail::tvec3< double, highp > highp_dvec3
3 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:197
-
highp_uvec3 uvec3
3 components vector of unsigned integer numbers.
Definition: type_vec.hpp:477
-
highp_dvec4 dvec4
4 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:426
-
detail::tvec2< uint, mediump > mediump_uvec2
2 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:135
-
detail::tvec2< int, lowp > lowp_ivec2
2 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:121
-
detail::tvec2< bool, lowp > lowp_bvec2
2 components vector of low precision bool numbers.
Definition: type_vec.hpp:163
-
detail::tvec4< int, mediump > mediump_ivec4
4 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:324
-
detail::tvec2< double, lowp > lowp_dvec2
2 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:100
-
detail::tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:65
-
detail::tvec3< double, mediump > mediump_dvec3
3 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:204
-
detail::tvec3< double, lowp > lowp_dvec3
3 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:211
-
detail::tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:79
-
detail::tvec2< double, mediump > mediump_dvec2
2 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:93
-
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:482
-
detail::tvec3< int, lowp > lowp_ivec3
3 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:232
-
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:472
-
highp_bvec4 bvec4
4 components vector of boolean.
Definition: type_vec.hpp:510
-
detail::tvec2< int, highp > highp_ivec2
2 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:107
-
detail::tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:294
-
detail::tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:72
-
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
-
detail::tvec3< int, highp > highp_ivec3
3 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:218
-
detail::tvec3< bool, highp > highp_bvec3
3 components vector of high precision bool numbers.
Definition: type_vec.hpp:259
-
detail::tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:282
-
detail::tvec4< int, highp > highp_ivec4
4 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:318
-
detail::tvec4< uint, mediump > mediump_uvec4
4 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:342
-
detail::tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:183
+
350  template <typename T, precision P>
+
351  GLM_FUNC_DECL tvec2<T, P> operator^(T const & s, tvec2<T, P> const & v);
+
352 
+
353  template <typename T, precision P>
+
354  GLM_FUNC_DECL tvec2<T, P> operator^(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
355 
+
356  template <typename T, precision P>
+
357  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
358 
+
359  template <typename T, precision P>
+
360  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v, T const & s);
+
361 
+
362  template <typename T, precision P>
+
363  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
364 
+
365  template <typename T, precision P>
+
366  GLM_FUNC_DECL tvec2<T, P> operator<<(T const & s, tvec2<T, P> const & v);
+
367 
+
368  template <typename T, precision P>
+
369  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
370 
+
371  template <typename T, precision P>
+
372  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
373 
+
374  template <typename T, precision P>
+
375  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v, T const & s);
+
376 
+
377  template <typename T, precision P>
+
378  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v1, tvec1<T, P> const & v2);
+
379 
+
380  template <typename T, precision P>
+
381  GLM_FUNC_DECL tvec2<T, P> operator>>(T const & s, tvec2<T, P> const & v);
+
382 
+
383  template <typename T, precision P>
+
384  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec1<T, P> const & v1, tvec2<T, P> const & v2);
+
385 
+
386  template <typename T, precision P>
+
387  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
388 
+
389  template <typename T, precision P>
+
390  GLM_FUNC_DECL tvec2<T, P> operator~(tvec2<T, P> const & v);
+
391 }//namespace glm
+
392 
+
393 #ifndef GLM_EXTERNAL_TEMPLATE
+
394 #include "type_vec2.inl"
+
395 #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:31
+
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 new file mode 100644 index 00000000..e35ba04e --- /dev/null +++ b/doc/api/a00135.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_vec3.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2008-08-22 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_vec3.hpp.

+
+ + + + diff --git a/doc/api/a00135_source.html b/doc/api/a00135_source.html index dd104ce6..4ab629db 100644 --- a/doc/api/a00135_source.html +++ b/doc/api/a00135_source.html @@ -3,8 +3,8 @@ - -GLM: type_vec1.hpp Source File + +0.9.6: type_vec3.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,265 +41,393 @@
-
type_vec1.hpp
+
type_vec3.hpp
-
1 
-
29 #ifndef glm_core_type_gentype1
-
30 #define glm_core_type_gentype1
-
31 
-
32 #include "../fwd.hpp"
-
33 #include "type_vec.hpp"
-
34 #ifdef GLM_SWIZZLE
-
35 # if GLM_HAS_ANONYMOUS_UNION
-
36 # include "_swizzle.hpp"
-
37 # else
-
38 # include "_swizzle_func.hpp"
-
39 # endif
-
40 #endif //GLM_SWIZZLE
-
41 #if(GLM_HAS_INITIALIZER_LISTS)
-
42 # include <initializer_list>
-
43 #endif //GLM_HAS_INITIALIZER_LISTS
-
44 #include <cstddef>
-
45 
-
46 namespace glm{
-
47 namespace detail
-
48 {
-
49  template <typename T, precision P>
-
50  struct tvec1
-
51  {
-
53  // Implementation detail
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 //#include "../fwd.hpp"
+
32 #include "type_vec.hpp"
+
33 #ifdef GLM_SWIZZLE
+
34 # if GLM_HAS_ANONYMOUS_UNION
+
35 # include "_swizzle.hpp"
+
36 # else
+
37 # include "_swizzle_func.hpp"
+
38 # endif
+
39 #endif //GLM_SWIZZLE
+
40 #include <cstddef>
+
41 
+
42 namespace glm
+
43 {
+
44  template <typename T, precision P = defaultp>
+
45  struct tvec3
+
46  {
+
48  // Implementation detail
+
49 
+
50  typedef tvec3<T, P> type;
+
51  typedef tvec3<bool, P> bool_type;
+
52  typedef T value_type;
+
53  typedef int size_type;
54 
-
55  enum ctor{_null};
-
56 
-
57  typedef tvec1<T, P> type;
-
58  typedef tvec1<bool, P> bool_type;
-
59  typedef T value_type;
-
60 
-
62  // Helper
-
63 
-
64  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
56  // Helper
+
57 
+
58 # ifdef GLM_FORCE_SIZE_FUNC
+
59  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
61 # else
+
62  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
64 # endif//GLM_FORCE_SIZE_FUNC
65 
67  // Data
68 
-
69  union {T x, r, s;};
-
70 
-
72  // Accesses
-
73 
-
74  GLM_FUNC_DECL T & operator[](length_t i);
-
75  GLM_FUNC_DECL T const & operator[](length_t i) const;
-
76 
-
78  // Implicit basic constructors
-
79 
-
80  GLM_FUNC_DECL tvec1();
-
81  GLM_FUNC_DECL tvec1(tvec1<T, P> const & v);
-
82  template <precision Q>
-
83  GLM_FUNC_DECL tvec1(tvec1<T, Q> const & v);
-
84 
-
85 #if(GLM_HAS_INITIALIZER_LISTS)
-
86  template <typename U>
-
87  GLM_FUNC_DECL tvec1(std::initializer_list<U> const & v);
-
88 #endif//GLM_HAS_INITIALIZER_LISTS
-
89 
-
91  // Explicit basic constructors
+
69 # if GLM_HAS_ANONYMOUS_UNION
+
70  union
+
71  {
+
72  struct{ T x, y, z; };
+
73  struct{ T r, g, b; };
+
74  struct{ T s, t, p; };
+
75 
+
76 # ifdef GLM_SWIZZLE
+
77  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, x, y, z)
+
78  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, r, g, b)
+
79  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, s, t, p)
+
80  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, x, y, z)
+
81  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, r, g, b)
+
82  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, s, t, p)
+
83  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, x, y, z)
+
84  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, r, g, b)
+
85  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, s, t, p)
+
86 # endif//GLM_SWIZZLE
+
87  };
+
88 # else
+
89  union { T x, r, s; };
+
90  union { T y, g, t; };
+
91  union { T z, b, p; };
92 
-
93  GLM_FUNC_DECL explicit tvec1(
-
94  ctor);
-
95  GLM_FUNC_DECL tvec1(
-
96  T const & s);
+
93 # ifdef GLM_SWIZZLE
+
94  GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P, tvec3, tvec2, tvec3, tvec4)
+
95 # endif//GLM_SWIZZLE
+
96 # endif//GLM_LANG
97 
-
99  // Conversion vector constructors
-
100 
-
102  template <typename U, precision Q>
-
103  GLM_FUNC_DECL explicit tvec1(tvec1<U, Q> const & v);
-
105  template <typename U, precision Q>
-
106  GLM_FUNC_DECL explicit tvec1(tvec2<U, Q> const & v);
-
108  template <typename U, precision Q>
-
109  GLM_FUNC_DECL explicit tvec1(tvec3<U, Q> const & v);
-
111  template <typename U, precision Q>
-
112  GLM_FUNC_DECL explicit tvec1(tvec4<U, Q> const & v);
+
99  // Accesses
+
100 
+
101  GLM_FUNC_DECL T & operator[](length_t i);
+
102  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
103 
+
105  // Implicit basic constructors
+
106 
+
107  GLM_FUNC_DECL tvec3();
+
108  template <precision Q>
+
109  GLM_FUNC_DECL tvec3(tvec3<T, Q> const & v);
+
110 
+
112  // Explicit basic constructors
113 
-
115  // Unary arithmetic operators
-
116 
-
117  GLM_FUNC_DECL tvec1<T, P> & operator= (tvec1<T, P> const & v);
-
118  template <typename U>
-
119  GLM_FUNC_DECL tvec1<T, P> & operator= (tvec1<U, P> const & v);
+
114  GLM_FUNC_DECL explicit tvec3(ctor);
+
115  GLM_FUNC_DECL explicit tvec3(T const & s);
+
116  GLM_FUNC_DECL tvec3(T const & a, T const & b, T const & c);
+
117 
+
119  // Conversion scalar constructors
120 
-
121  template <typename U>
-
122  GLM_FUNC_DECL tvec1<T, P> & operator+=(U const & s);
-
123  template <typename U>
-
124  GLM_FUNC_DECL tvec1<T, P> & operator+=(tvec1<U, P> const & v);
-
125  template <typename U>
-
126  GLM_FUNC_DECL tvec1<T, P> & operator-=(U const & s);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tvec1<T, P> & operator-=(tvec1<U, P> const & v);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tvec1<T, P> & operator*=(U const & s);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tvec1<T, P> & operator*=(tvec1<U, P> const & v);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tvec1<T, P> & operator/=(U const & s);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tvec1<T, P> & operator/=(tvec1<U, P> const & v);
-
137 
-
139  // Increment and decrement operators
-
140 
-
141  GLM_FUNC_DECL tvec1<T, P> & operator++();
-
142  GLM_FUNC_DECL tvec1<T, P> & operator--();
-
143  GLM_FUNC_DECL tvec1<T, P> operator++(int);
-
144  GLM_FUNC_DECL tvec1<T, P> operator--(int);
+
122  template <typename A, typename B, typename C>
+
123  GLM_FUNC_DECL tvec3(A const & a, B const & b, C const & c);
+
124  template <typename A, typename B, typename C>
+
125  GLM_FUNC_DECL tvec3(tvec1<A, P> const & a, tvec1<B, P> const & b, tvec1<C, P> const & c);
+
126 
+
128  // Conversion vector constructors
+
129 
+
131  template <typename A, typename B, precision Q>
+
132  GLM_FUNC_DECL explicit tvec3(tvec2<A, Q> const & a, B const & b);
+
134  template <typename A, typename B, precision Q>
+
135  GLM_FUNC_DECL explicit tvec3(tvec2<A, Q> const & a, tvec1<B, Q> const & b);
+
137  template <typename A, typename B, precision Q>
+
138  GLM_FUNC_DECL explicit tvec3(A const & a, tvec2<B, Q> const & b);
+
140  template <typename A, typename B, precision Q>
+
141  GLM_FUNC_DECL explicit tvec3(tvec1<A, Q> const & a, tvec2<B, Q> const & b);
+
143  template <typename U, precision Q>
+
144  GLM_FUNC_DECL explicit tvec3(tvec4<U, Q> const & v);
145 
-
147  // Unary bit operators
-
148 
-
149  template <typename U>
-
150  GLM_FUNC_DECL tvec1<T, P> & operator%=(U const & s);
-
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 tvec1<T, P> & operator<<=(U const & s);
-
167  template <typename U>
-
168  GLM_FUNC_DECL tvec1<T, P> & operator<<=(tvec1<U, P> const & v);
-
169  template <typename U>
-
170  GLM_FUNC_DECL tvec1<T, P> & operator>>=(U const & s);
-
171  template <typename U>
-
172  GLM_FUNC_DECL tvec1<T, P> & operator>>=(tvec1<U, P> const & v);
-
173  };
-
174 
-
175 
-
176  template <typename T, precision P>
-
177  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v, T const & s);
+
146 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
147  template <typename U, precision Q>
+
149  GLM_FUNC_DECL explicit tvec3(tvec3<U, Q> const & v);
+
150 # else
+
151  template <typename U, precision Q>
+
153  GLM_FUNC_DECL tvec3(tvec3<U, Q> const & v);
+
154 # endif
+
155 
+
157  // Swizzle constructors
+
158 
+
159 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
160  template <int E0, int E1, int E2>
+
161  GLM_FUNC_DECL tvec3(detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & that)
+
162  {
+
163  *this = that();
+
164  }
+
165 
+
166  template <int E0, int E1>
+
167  GLM_FUNC_DECL tvec3(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & s)
+
168  {
+
169  *this = tvec3<T, P>(v(), s);
+
170  }
+
171 
+
172  template <int E0, int E1>
+
173  GLM_FUNC_DECL tvec3(T const & s, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
+
174  {
+
175  *this = tvec3<T, P>(s, v());
+
176  }
+
177 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
178 
-
179  template <typename T, precision P>
-
180  GLM_FUNC_DECL tvec1<T, P> operator+(T const & s, tvec1<T, P> const & v);
+
180  // Unary arithmetic operators
181 
-
182  template <typename T, precision P>
-
183  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
184 
-
185  template <typename T, precision P>
-
186  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v, T const & s);
-
187 
-
188  template <typename T, precision P>
-
189  GLM_FUNC_DECL tvec1<T, P> operator-(T const & s, tvec1<T, P> const & v);
-
190 
-
191  template <typename T, precision P>
-
192  GLM_FUNC_DECL tvec1<T, P> operator- (tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
193 
-
194  template <typename T, precision P>
-
195  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v, T const & s);
-
196 
-
197  template <typename T, precision P>
-
198  GLM_FUNC_DECL tvec1<T, P> operator*(T const & s, tvec1<T, P> const & v);
-
199 
-
200  template <typename T, precision P>
-
201  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
202 
-
203  template <typename T, precision P>
-
204  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v, T const & s);
-
205 
-
206  template <typename T, precision P>
-
207  GLM_FUNC_DECL tvec1<T, P> operator/(T const & s, tvec1<T, P> const & v);
+
182  template <typename U>
+
183  GLM_FUNC_DECL tvec3<T, P> & operator=(tvec3<U, P> const & v);
+
184  template <typename U>
+
185  GLM_FUNC_DECL tvec3<T, P> & operator+=(U s);
+
186  template <typename U>
+
187  GLM_FUNC_DECL tvec3<T, P> & operator+=(tvec1<U, P> const & v);
+
188  template <typename U>
+
189  GLM_FUNC_DECL tvec3<T, P> & operator+=(tvec3<U, P> const & v);
+
190  template <typename U>
+
191  GLM_FUNC_DECL tvec3<T, P> & operator-=(U s);
+
192  template <typename U>
+
193  GLM_FUNC_DECL tvec3<T, P> & operator-=(tvec1<U, P> const & v);
+
194  template <typename U>
+
195  GLM_FUNC_DECL tvec3<T, P> & operator-=(tvec3<U, P> const & v);
+
196  template <typename U>
+
197  GLM_FUNC_DECL tvec3<T, P> & operator*=(U s);
+
198  template <typename U>
+
199  GLM_FUNC_DECL tvec3<T, P> & operator*=(tvec1<U, P> const & v);
+
200  template <typename U>
+
201  GLM_FUNC_DECL tvec3<T, P> & operator*=(tvec3<U, P> const & v);
+
202  template <typename U>
+
203  GLM_FUNC_DECL tvec3<T, P> & operator/=(U s);
+
204  template <typename U>
+
205  GLM_FUNC_DECL tvec3<T, P> & operator/=(tvec1<U, P> const & v);
+
206  template <typename U>
+
207  GLM_FUNC_DECL tvec3<T, P> & operator/=(tvec3<U, P> const & v);
208 
-
209  template <typename T, precision P>
-
210  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
210  // Increment and decrement operators
211 
-
212  template <typename T, precision P>
-
213  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v);
-
214 
-
215  template <typename T, precision P>
-
216  GLM_FUNC_DECL bool operator==(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
-
217 
-
218  template <typename T, precision P>
-
219  GLM_FUNC_DECL bool 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);
-
277 
-
278 }//namespace detail
-
279 }//namespace glm
-
280 
-
281 #ifndef GLM_EXTERNAL_TEMPLATE
-
282 #include "type_vec1.inl"
-
283 #endif//GLM_EXTERNAL_TEMPLATE
-
284 
-
285 #endif//glm_core_type_gentype1
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
212  GLM_FUNC_DECL tvec3<T, P> & operator++();
+
213  GLM_FUNC_DECL tvec3<T, P> & operator--();
+
214  GLM_FUNC_DECL tvec3<T, P> operator++(int);
+
215  GLM_FUNC_DECL tvec3<T, P> operator--(int);
+
216 
+
218  // Unary bit operators
+
219 
+
220  template <typename U>
+
221  GLM_FUNC_DECL tvec3<T, P> & operator%=(U s);
+
222  template <typename U>
+
223  GLM_FUNC_DECL tvec3<T, P> & operator%=(tvec1<U, P> const & v);
+
224  template <typename U>
+
225  GLM_FUNC_DECL tvec3<T, P> & operator%=(tvec3<U, P> const & v);
+
226  template <typename U>
+
227  GLM_FUNC_DECL tvec3<T, P> & operator&=(U s);
+
228  template <typename U>
+
229  GLM_FUNC_DECL tvec3<T, P> & operator&=(tvec1<U, P> const & v);
+
230  template <typename U>
+
231  GLM_FUNC_DECL tvec3<T, P> & operator&=(tvec3<U, P> const & v);
+
232  template <typename U>
+
233  GLM_FUNC_DECL tvec3<T, P> & operator|=(U s);
+
234  template <typename U>
+
235  GLM_FUNC_DECL tvec3<T, P> & operator|=(tvec1<U, P> const & v);
+
236  template <typename U>
+
237  GLM_FUNC_DECL tvec3<T, P> & operator|=(tvec3<U, P> const & v);
+
238  template <typename U>
+
239  GLM_FUNC_DECL tvec3<T, P> & operator^=(U s);
+
240  template <typename U>
+
241  GLM_FUNC_DECL tvec3<T, P> & operator^=(tvec1<U, P> const & v);
+
242  template <typename U>
+
243  GLM_FUNC_DECL tvec3<T, P> & operator^=(tvec3<U, P> const & v);
+
244  template <typename U>
+
245  GLM_FUNC_DECL tvec3<T, P> & operator<<=(U s);
+
246  template <typename U>
+
247  GLM_FUNC_DECL tvec3<T, P> & operator<<=(tvec1<U, P> const & v);
+
248  template <typename U>
+
249  GLM_FUNC_DECL tvec3<T, P> & operator<<=(tvec3<U, P> const & v);
+
250  template <typename U>
+
251  GLM_FUNC_DECL tvec3<T, P> & operator>>=(U s);
+
252  template <typename U>
+
253  GLM_FUNC_DECL tvec3<T, P> & operator>>=(tvec1<U, P> const & v);
+
254  template <typename U>
+
255  GLM_FUNC_DECL tvec3<T, P> & operator>>=(tvec3<U, P> const & v);
+
256  };
+
257 
+
258  template <typename T, precision P>
+
259  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v, T const & s);
+
260 
+
261  template <typename T, precision P>
+
262  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
263 
+
264  template <typename T, precision P>
+
265  GLM_FUNC_DECL tvec3<T, P> operator+(T const & s, tvec3<T, P> const & v);
+
266 
+
267  template <typename T, precision P>
+
268  GLM_FUNC_DECL tvec3<T, P> operator+(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
269 
+
270  template <typename T, precision P>
+
271  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
272 
+
273  template <typename T, precision P>
+
274  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v, T const & s);
+
275 
+
276  template <typename T, precision P>
+
277  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
278 
+
279  template <typename T, precision P>
+
280  GLM_FUNC_DECL tvec3<T, P> operator-(T const & s, tvec3<T, P> const & v);
+
281 
+
282  template <typename T, precision P>
+
283  GLM_FUNC_DECL tvec3<T, P> operator-(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
284 
+
285  template <typename T, precision P>
+
286  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
287 
+
288  template <typename T, precision P>
+
289  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, T const & s);
+
290 
+
291  template <typename T, precision P>
+
292  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
293 
+
294  template <typename T, precision P>
+
295  GLM_FUNC_DECL tvec3<T, P> operator*(T const & s, tvec3<T, P> const & v);
+
296 
+
297  template <typename T, precision P>
+
298  GLM_FUNC_DECL tvec3<T, P> operator*(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
299 
+
300  template <typename T, precision P>
+
301  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
302 
+
303  template <typename T, precision P>
+
304  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v, T const & s);
+
305 
+
306  template <typename T, precision P>
+
307  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
308 
+
309  template <typename T, precision P>
+
310  GLM_FUNC_DECL tvec3<T, P> operator/(T const & s, tvec3<T, P> const & v);
+
311 
+
312  template <typename T, precision P>
+
313  GLM_FUNC_DECL tvec3<T, P> operator/(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
314 
+
315  template <typename T, precision P>
+
316  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
317 
+
318  template <typename T, precision P>
+
319  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v);
+
320 
+
321  template <typename T, precision P>
+
322  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v, T const & s);
+
323 
+
324  template <typename T, precision P>
+
325  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
326 
+
327  template <typename T, precision P>
+
328  GLM_FUNC_DECL tvec3<T, P> operator%(T const & s, tvec3<T, P> const & v);
+
329 
+
330  template <typename T, precision P>
+
331  GLM_FUNC_DECL tvec3<T, P> operator%(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
332 
+
333  template <typename T, precision P>
+
334  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
335 
+
336  template <typename T, precision P>
+
337  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v, T const & s);
+
338 
+
339  template <typename T, precision P>
+
340  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
341 
+
342  template <typename T, precision P>
+
343  GLM_FUNC_DECL tvec3<T, P> operator&(T const & s, tvec3<T, P> const & v);
+
344 
+
345  template <typename T, precision P>
+
346  GLM_FUNC_DECL tvec3<T, P> operator&(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
347 
+
348  template <typename T, precision P>
+
349  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
350 
+
351  template <typename T, precision P>
+
352  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v, T const & s);
+
353 
+
354  template <typename T, precision P>
+
355  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
356 
+
357  template <typename T, precision P>
+
358  GLM_FUNC_DECL tvec3<T, P> operator|(T const & s, tvec3<T, P> const & v);
+
359 
+
360  template <typename T, precision P>
+
361  GLM_FUNC_DECL tvec3<T, P> operator|(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
362 
+
363  template <typename T, precision P>
+
364  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
365 
+
366  template <typename T, precision P>
+
367  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v, T const & s);
+
368 
+
369  template <typename T, precision P>
+
370  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
371 
+
372  template <typename T, precision P>
+
373  GLM_FUNC_DECL tvec3<T, P> operator^(T const & s, tvec3<T, P> const & v);
+
374 
+
375  template <typename T, precision P>
+
376  GLM_FUNC_DECL tvec3<T, P> operator^(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
377 
+
378  template <typename T, precision P>
+
379  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
380 
+
381  template <typename T, precision P>
+
382  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v, T const & s);
+
383 
+
384  template <typename T, precision P>
+
385  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
386 
+
387  template <typename T, precision P>
+
388  GLM_FUNC_DECL tvec3<T, P> operator<<(T const & s, tvec3<T, P> const & v);
+
389 
+
390  template <typename T, precision P>
+
391  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
392 
+
393  template <typename T, precision P>
+
394  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
395 
+
396  template <typename T, precision P>
+
397  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v, T const & s);
+
398 
+
399  template <typename T, precision P>
+
400  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v, tvec1<T, P> const & s);
+
401 
+
402  template <typename T, precision P>
+
403  GLM_FUNC_DECL tvec3<T, P> operator>>(T const & s, tvec3<T, P> const & v);
+
404 
+
405  template <typename T, precision P>
+
406  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec1<T, P> const & s, tvec3<T, P> const & v);
+
407 
+
408  template <typename T, precision P>
+
409  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
410 
+
411  template <typename T, precision P>
+
412  GLM_FUNC_DECL tvec3<T, P> operator~(tvec3<T, P> const & v);
+
413 }//namespace glm
+
414 
+
415 #ifndef GLM_EXTERNAL_TEMPLATE
+
416 #include "type_vec3.inl"
+
417 #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:31
+
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 new file mode 100644 index 00000000..036ee938 --- /dev/null +++ b/doc/api/a00136.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: type_vec4.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
type_vec4.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:

+

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
2008-08-22 / 2011-06-15
+
Author
Christophe Riccio
+ +

Definition in file type_vec4.hpp.

+
+ + + + diff --git a/doc/api/a00136_source.html b/doc/api/a00136_source.html index a3978312..861e252c 100644 --- a/doc/api/a00136_source.html +++ b/doc/api/a00136_source.html @@ -3,8 +3,8 @@ - -GLM: type_vec2.hpp Source File + +0.9.6: type_vec4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,301 +41,491 @@
-
type_vec2.hpp
+
type_vec4.hpp
-
1 
-
29 #ifndef glm_core_type_gentype2
-
30 #define glm_core_type_gentype2
-
31 
-
32 //#include "../fwd.hpp"
-
33 #include "type_vec.hpp"
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 //#include "../fwd.hpp"
+
32 #include "setup.hpp"
+
33 #include "type_vec.hpp"
34 #ifdef GLM_SWIZZLE
-
35 # if GLM_HAS_ANONYMOUS_UNION
-
36 # include "_swizzle.hpp"
+
35 # if GLM_HAS_ANONYMOUS_UNION
+
36 # include "_swizzle.hpp"
37 # else
-
38 # include "_swizzle_func.hpp"
+
38 # include "_swizzle_func.hpp"
39 # endif
-
40 #endif //GLM_SWIZZLE
-
41 #if(GLM_HAS_INITIALIZER_LISTS)
-
42 # include <initializer_list>
-
43 #endif //GLM_HAS_INITIALIZER_LISTS
-
44 #include <cstddef>
-
45 
-
46 namespace glm{
-
47 namespace detail
-
48 {
-
49  template <typename T, precision P>
-
50  struct tvec2
-
51  {
-
53  // Implementation detail
-
54 
-
55  enum ctor{_null};
-
56 
-
57  typedef tvec2<T, P> type;
-
58  typedef tvec2<bool, P> bool_type;
-
59  typedef T value_type;
-
60  typedef int size_type;
-
61 
-
63  // Helper
+
40 #endif //GLM_SWIZZLE
+
41 #include <cstddef>
+
42 
+
43 namespace glm{
+
44 namespace detail
+
45 {
+
46  template <typename T>
+
47  struct simd
+
48  {
+
49  typedef T type[4];
+
50  };
+
51 
+
52 # if GLM_ARCH & GLM_ARCH_SSE2
+
53  template <>
+
54  struct simd<float>
+
55  {
+
56  typedef __m128 type;
+
57  };
+
58 
+
59  template <>
+
60  struct simd<int>
+
61  {
+
62  typedef __m128i type;
+
63  };
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
66 
-
68  // Data
-
69 
-
70 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
71  union
-
72  {
-
73  struct{ T x, y; };
-
74  struct{ T r, g; };
-
75  struct{ T s, t; };
-
76 
-
77  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, x, y)
-
78  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, r, g)
-
79  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, s, t)
-
80  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, x, y)
-
81  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, r, g)
-
82  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, s, t)
-
83  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, x, y)
-
84  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, r, g)
-
85  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, s, t)
-
86  };
-
87 # else
-
88  union {T x, r, s;};
-
89  union {T y, g, t;};
-
90 
-
91 # ifdef GLM_SWIZZLE
-
92  GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P, detail::tvec2, detail::tvec2, detail::tvec3, detail::tvec4)
-
93 # endif
-
94 # endif
-
95 
-
97  // Accesses
-
98 
-
99  GLM_FUNC_DECL T & operator[](length_t i);
-
100  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
65  template <>
+
66  struct simd<unsigned int>
+
67  {
+
68  typedef __m128i type;
+
69  };
+
70 # endif
+
71 
+
72 # if GLM_ARCH & GLM_ARCH_AVX
+
73  template <>
+
74  struct simd<double>
+
75  {
+
76  typedef __m256d type;
+
77  };
+
78 # endif
+
79 
+
80 # if GLM_ARCH & GLM_ARCH_AVX2
+
81  template <>
+
82  struct simd<int64>
+
83  {
+
84  typedef __m256i type;
+
85  };
+
86 
+
87  template <>
+
88  struct simd<uint64>
+
89  {
+
90  typedef __m256i type;
+
91  };
+
92 # endif
+
93 
+
94 }//namespace detail
+
95 
+
96  template <typename T, precision P = defaultp>
+
97  struct tvec4
+
98  {
+
100  // Implementation detail
101 
-
103  // Implicit basic constructors
-
104 
-
105  GLM_FUNC_DECL tvec2();
-
106  GLM_FUNC_DECL tvec2(tvec2<T, P> const & v);
-
107  template <precision Q>
-
108  GLM_FUNC_DECL tvec2(tvec2<T, Q> const & v);
+
102  typedef tvec4<T, P> type;
+
103  typedef tvec4<bool, P> bool_type;
+
104  typedef T value_type;
+
105  typedef int size_type;
+
106 
+
108  // Helper
109 
-
110 #if(GLM_HAS_INITIALIZER_LISTS)
-
111  template <typename U>
-
112  GLM_FUNC_DECL tvec2(std::initializer_list<U> const & v);
-
113 #endif//GLM_HAS_INITIALIZER_LISTS
-
114 
-
116  // Explicit basic constructors
+
110 # ifdef GLM_FORCE_SIZE_FUNC
+
111  GLM_FUNC_DECL GLM_CONSTEXPR size_t size() const;
+
113 # else
+
114  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
116 # endif//GLM_FORCE_SIZE_FUNC
117 
-
118  GLM_FUNC_DECL explicit tvec2(
-
119  ctor);
-
120  GLM_FUNC_DECL explicit tvec2(
-
121  T const & s);
-
122  GLM_FUNC_DECL explicit tvec2(
-
123  T const & s1,
-
124  T const & s2);
-
125 
-
127  // Swizzle constructors
+
119  // Data
+
120 
+
121 # if GLM_HAS_ANONYMOUS_UNION
+
122  union
+
123  {
+
124  typename detail::simd<T>::type data;
+
125  struct { T r, g, b, a; };
+
126  struct { T s, t, p, q; };
+
127  struct { T x, y, z, w;};
128 
-
129 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
130  template <int E0, int E1>
-
131  GLM_FUNC_DECL tvec2(_swizzle<2,T, P, tvec2<T, P>, E0, E1,-1,-2> const & that)
-
132  {
-
133  *this = that();
-
134  }
-
135 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
136 
-
138  // Conversion constructors
-
139 
-
141  template <typename U, typename V>
-
142  GLM_FUNC_DECL explicit tvec2(
-
143  U const & x,
-
144  V const & y);
-
145 
-
147  // Conversion vector constructors
-
148 
-
150  template <typename U, precision Q>
-
151  GLM_FUNC_DECL explicit tvec2(tvec2<U, Q> const & v);
-
153  template <typename U, precision Q>
-
154  GLM_FUNC_DECL explicit tvec2(tvec3<U, Q> const & v);
-
156  template <typename U, precision Q>
-
157  GLM_FUNC_DECL explicit tvec2(tvec4<U, Q> const & v);
-
158 
-
160  // Unary arithmetic operators
-
161 
-
162  GLM_FUNC_DECL tvec2<T, P> & operator= (tvec2<T, P> const & v);
-
163  template <typename U>
-
164  GLM_FUNC_DECL tvec2<T, P> & operator= (tvec2<U, P> const & v);
-
165 
-
166  template <typename U>
-
167  GLM_FUNC_DECL tvec2<T, P> & operator+=(U s);
-
168  template <typename U>
-
169  GLM_FUNC_DECL tvec2<T, P> & operator+=(tvec2<U, P> const & v);
-
170  template <typename U>
-
171  GLM_FUNC_DECL tvec2<T, P> & operator-=(U s);
-
172  template <typename U>
-
173  GLM_FUNC_DECL tvec2<T, P> & operator-=(tvec2<U, P> const & v);
-
174  template <typename U>
-
175  GLM_FUNC_DECL tvec2<T, P> & operator*=(U s);
-
176  template <typename U>
-
177  GLM_FUNC_DECL tvec2<T, P> & operator*=(tvec2<U, P> const & v);
-
178  template <typename U>
-
179  GLM_FUNC_DECL tvec2<T, P> & operator/=(U s);
-
180  template <typename U>
-
181  GLM_FUNC_DECL tvec2<T, P> & operator/=(tvec2<U, P> const & v);
-
182 
-
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 
-
192  // Unary bit operators
-
193 
-
194  template <typename U>
-
195  GLM_FUNC_DECL tvec2<T, P> & operator%= (U s);
-
196  template <typename U>
-
197  GLM_FUNC_DECL tvec2<T, P> & operator%= (tvec2<U, P> const & v);
-
198  template <typename U>
-
199  GLM_FUNC_DECL tvec2<T, P> & operator&= (U s);
-
200  template <typename U>
-
201  GLM_FUNC_DECL tvec2<T, P> & operator&= (tvec2<U, P> const & v);
-
202  template <typename U>
-
203  GLM_FUNC_DECL tvec2<T, P> & operator|= (U s);
-
204  template <typename U>
-
205  GLM_FUNC_DECL tvec2<T, P> & operator|= (tvec2<U, P> const & v);
-
206  template <typename U>
-
207  GLM_FUNC_DECL tvec2<T, P> & operator^= (U s);
-
208  template <typename U>
-
209  GLM_FUNC_DECL tvec2<T, P> & operator^= (tvec2<U, P> const & v);
-
210  template <typename U>
-
211  GLM_FUNC_DECL tvec2<T, P> & operator<<=(U s);
-
212  template <typename U>
-
213  GLM_FUNC_DECL tvec2<T, P> & operator<<=(tvec2<U, P> const & v);
-
214  template <typename U>
-
215  GLM_FUNC_DECL tvec2<T, P> & operator>>=(U s);
-
216  template <typename U>
-
217  GLM_FUNC_DECL tvec2<T, P> & operator>>=(tvec2<U, P> const & v);
-
218  };
-
219 
-
220  template <typename T, precision P>
-
221  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v, T const & s);
-
222 
-
223  template <typename T, precision P>
-
224  GLM_FUNC_DECL tvec2<T, P> operator+(T const & s, tvec2<T, P> const & v);
-
225 
-
226  template <typename T, precision P>
-
227  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
129 # ifdef GLM_SWIZZLE
+
130  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, x, y, z, w)
+
131  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, r, g, b, a)
+
132  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, s, t, p, q)
+
133  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, x, y, z, w)
+
134  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, r, g, b, a)
+
135  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, s, t, p, q)
+
136  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, x, y, z, w)
+
137  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, r, g, b, a)
+
138  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, s, t, p, q)
+
139 # endif//GLM_SWIZZLE
+
140  };
+
141 # else
+
142  union { T x, r, s; };
+
143  union { T y, g, t; };
+
144  union { T z, b, p; };
+
145  union { T w, a, q; };
+
146 
+
147 # ifdef GLM_SWIZZLE
+
148  GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P, tvec4, tvec2, tvec3, tvec4)
+
149 # endif//GLM_SWIZZLE
+
150 # endif//GLM_LANG
+
151 
+
153  // Accesses
+
154 
+
155  GLM_FUNC_DECL T & operator[](length_t i);
+
156  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
157 
+
159  // Implicit basic constructors
+
160 
+
161  GLM_FUNC_DECL tvec4();
+
162  template <precision Q>
+
163  GLM_FUNC_DECL tvec4(tvec4<T, Q> const & v);
+
164 
+
166  // Explicit basic constructors
+
167 
+
168  GLM_FUNC_DECL explicit tvec4(ctor);
+
169  GLM_FUNC_DECL explicit tvec4(T s);
+
170  GLM_FUNC_DECL tvec4(T a, T b, T c, T d);
+
171  GLM_FUNC_DECL ~tvec4(){}
+
172 
+
174  // Conversion scalar constructors
+
175 
+
177  template <typename A, typename B, typename C, typename D>
+
178  GLM_FUNC_DECL tvec4(A a, B b, C c, D d);
+
179  template <typename A, typename B, typename C, typename D>
+
180  GLM_FUNC_DECL tvec4(tvec1<A, P> const & a, tvec1<B, P> const & b, tvec1<C, P> const & c, tvec1<D, P> const & d);
+
181 
+
183  // Conversion vector constructors
+
184 
+
186  template <typename A, typename B, typename C, precision Q>
+
187  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, B b, C c);
+
189  template <typename A, typename B, typename C, precision Q>
+
190  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, tvec1<B, Q> const & b, tvec1<C, Q> const & c);
+
192  template <typename A, typename B, typename C, precision Q>
+
193  GLM_FUNC_DECL explicit tvec4(A a, tvec2<B, Q> const & b, C c);
+
195  template <typename A, typename B, typename C, precision Q>
+
196  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec2<B, Q> const & b, tvec1<C, Q> const & c);
+
198  template <typename A, typename B, typename C, precision Q>
+
199  GLM_FUNC_DECL explicit tvec4(A a, B b, tvec2<C, Q> const & c);
+
201  template <typename A, typename B, typename C, precision Q>
+
202  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec1<B, Q> const & b, tvec2<C, Q> const & c);
+
204  template <typename A, typename B, precision Q>
+
205  GLM_FUNC_DECL explicit tvec4(tvec3<A, Q> const & a, B b);
+
207  template <typename A, typename B, precision Q>
+
208  GLM_FUNC_DECL explicit tvec4(tvec3<A, Q> const & a, tvec1<B, Q> const & b);
+
210  template <typename A, typename B, precision Q>
+
211  GLM_FUNC_DECL explicit tvec4(A a, tvec3<B, Q> const & b);
+
213  template <typename A, typename B, precision Q>
+
214  GLM_FUNC_DECL explicit tvec4(tvec1<A, Q> const & a, tvec3<B, Q> const & b);
+
216  template <typename A, typename B, precision Q>
+
217  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & a, tvec2<B, Q> const & b);
+
218 
+
219 # ifdef GLM_FORCE_EXPLICIT_CTOR
+
220  template <typename U, precision Q>
+
222  GLM_FUNC_DECL explicit tvec4(tvec4<U, Q> const & v);
+
223 # else
+
224  template <typename U, precision Q>
+
226  GLM_FUNC_DECL tvec4(tvec4<U, Q> const & v);
+
227 # endif
228 
-
229  template <typename T, precision P>
-
230  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v, T const & s);
+
230  // Swizzle constructors
231 
-
232  template <typename T, precision P>
-
233  GLM_FUNC_DECL tvec2<T, P> operator-(T const & s, tvec2<T, P> const & v);
-
234 
-
235  template <typename T, precision P>
-
236  GLM_FUNC_DECL tvec2<T, P> operator- (tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
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*(T const & s, tvec2<T, P> const & v);
-
243 
-
244  template <typename T, precision P>
-
245  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
246 
-
247  template <typename T, precision P>
-
248  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v, T const & s);
-
249 
-
250  template <typename T, precision P>
-
251  GLM_FUNC_DECL tvec2<T, P> operator/(T const & s, tvec2<T, P> const & v);
-
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);
-
258 
-
259  template <typename T, precision P>
-
260  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v, T const & s);
-
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%(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&(T const & s, tvec2<T, P> const & v);
-
273 
-
274  template <typename T, precision P>
-
275  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
276 
-
277  template <typename T, precision P>
-
278  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v, T const & s);
-
279 
-
280  template <typename T, precision P>
-
281  GLM_FUNC_DECL tvec2<T, P> operator|(T const & s, tvec2<T, P> const & v);
-
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^(T const & s, tvec2<T, P> const & v);
-
291 
-
292  template <typename T, precision P>
-
293  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<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 & v, T const & s);
-
297 
-
298  template <typename T, precision P>
-
299  GLM_FUNC_DECL tvec2<T, P> operator<<(T const & s, tvec2<T, P> const & v);
-
300 
-
301  template <typename T, precision P>
-
302  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
-
303 
-
304  template <typename T, precision P>
-
305  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v, T const & s);
-
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>>(tvec2<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 & v);
-
315 
-
316 }//namespace detail
-
317 }//namespace glm
-
318 
-
319 #ifndef GLM_EXTERNAL_TEMPLATE
-
320 #include "type_vec2.inl"
-
321 #endif//GLM_EXTERNAL_TEMPLATE
-
322 
-
323 #endif//glm_core_type_gentype2
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
232 # if GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
233  template <int E0, int E1, int E2, int E3>
+
234  GLM_FUNC_DECL tvec4(detail::_swizzle<4, T, P, tvec4<T, P>, E0, E1, E2, E3> const & that)
+
235  {
+
236  *this = that();
+
237  }
+
238 
+
239  template <int E0, int E1, int F0, int F1>
+
240  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)
+
241  {
+
242  *this = tvec4<T, P>(v(), u());
+
243  }
+
244 
+
245  template <int E0, int E1>
+
246  GLM_FUNC_DECL tvec4(T const & x, T const & y, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
+
247  {
+
248  *this = tvec4<T, P>(x, y, v());
+
249  }
+
250 
+
251  template <int E0, int E1>
+
252  GLM_FUNC_DECL tvec4(T const & x, detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & w)
+
253  {
+
254  *this = tvec4<T, P>(x, v(), w);
+
255  }
+
256 
+
257  template <int E0, int E1>
+
258  GLM_FUNC_DECL tvec4(detail::_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & z, T const & w)
+
259  {
+
260  *this = tvec4<T, P>(v(), z, w);
+
261  }
+
262 
+
263  template <int E0, int E1, int E2>
+
264  GLM_FUNC_DECL tvec4(detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v, T const & w)
+
265  {
+
266  *this = tvec4<T, P>(v(), w);
+
267  }
+
268 
+
269  template <int E0, int E1, int E2>
+
270  GLM_FUNC_DECL tvec4(T const & x, detail::_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v)
+
271  {
+
272  *this = tvec4<T, P>(x, v());
+
273  }
+
274 # endif// GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE)
+
275 
+
277  // Unary arithmetic operators
+
278 
+
279  template <typename U>
+
280  GLM_FUNC_DECL tvec4<T, P> & operator=(tvec4<U, P> const & v);
+
281  template <typename U>
+
282  GLM_FUNC_DECL tvec4<T, P> & operator+=(U scalar);
+
283  template <typename U>
+
284  GLM_FUNC_DECL tvec4<T, P> & operator+=(tvec1<U, P> const & v);
+
285  template <typename U>
+
286  GLM_FUNC_DECL tvec4<T, P> & operator+=(tvec4<U, P> const & v);
+
287  template <typename U>
+
288  GLM_FUNC_DECL tvec4<T, P> & operator-=(U scalar);
+
289  template <typename U>
+
290  GLM_FUNC_DECL tvec4<T, P> & operator-=(tvec1<U, P> const & v);
+
291  template <typename U>
+
292  GLM_FUNC_DECL tvec4<T, P> & operator-=(tvec4<U, P> const & v);
+
293  template <typename U>
+
294  GLM_FUNC_DECL tvec4<T, P> & operator*=(U scalar);
+
295  template <typename U>
+
296  GLM_FUNC_DECL tvec4<T, P> & operator*=(tvec1<U, P> const & v);
+
297  template <typename U>
+
298  GLM_FUNC_DECL tvec4<T, P> & operator*=(tvec4<U, P> const & v);
+
299  template <typename U>
+
300  GLM_FUNC_DECL tvec4<T, P> & operator/=(U scalar);
+
301  template <typename U>
+
302  GLM_FUNC_DECL tvec4<T, P> & operator/=(tvec1<U, P> const & v);
+
303  template <typename U>
+
304  GLM_FUNC_DECL tvec4<T, P> & operator/=(tvec4<U, P> const & v);
+
305 
+
307  // Increment and decrement operators
+
308 
+
309  GLM_FUNC_DECL tvec4<T, P> & operator++();
+
310  GLM_FUNC_DECL tvec4<T, P> & operator--();
+
311  GLM_FUNC_DECL tvec4<T, P> operator++(int);
+
312  GLM_FUNC_DECL tvec4<T, P> operator--(int);
+
313 
+
315  // Unary bit operators
+
316 
+
317  template <typename U>
+
318  GLM_FUNC_DECL tvec4<T, P> & operator%=(U scalar);
+
319  template <typename U>
+
320  GLM_FUNC_DECL tvec4<T, P> & operator%=(tvec1<U, P> const & v);
+
321  template <typename U>
+
322  GLM_FUNC_DECL tvec4<T, P> & operator%=(tvec4<U, P> const & v);
+
323  template <typename U>
+
324  GLM_FUNC_DECL tvec4<T, P> & operator&=(U scalar);
+
325  template <typename U>
+
326  GLM_FUNC_DECL tvec4<T, P> & operator&=(tvec1<U, P> const & v);
+
327  template <typename U>
+
328  GLM_FUNC_DECL tvec4<T, P> & operator&=(tvec4<U, P> const & v);
+
329  template <typename U>
+
330  GLM_FUNC_DECL tvec4<T, P> & operator|=(U scalar);
+
331  template <typename U>
+
332  GLM_FUNC_DECL tvec4<T, P> & operator|=(tvec1<U, P> const & v);
+
333  template <typename U>
+
334  GLM_FUNC_DECL tvec4<T, P> & operator|=(tvec4<U, P> const & v);
+
335  template <typename U>
+
336  GLM_FUNC_DECL tvec4<T, P> & operator^=(U scalar);
+
337  template <typename U>
+
338  GLM_FUNC_DECL tvec4<T, P> & operator^=(tvec1<U, P> const & v);
+
339  template <typename U>
+
340  GLM_FUNC_DECL tvec4<T, P> & operator^=(tvec4<U, P> const & v);
+
341  template <typename U>
+
342  GLM_FUNC_DECL tvec4<T, P> & operator<<=(U scalar);
+
343  template <typename U>
+
344  GLM_FUNC_DECL tvec4<T, P> & operator<<=(tvec1<U, P> const & v);
+
345  template <typename U>
+
346  GLM_FUNC_DECL tvec4<T, P> & operator<<=(tvec4<U, P> const & v);
+
347  template <typename U>
+
348  GLM_FUNC_DECL tvec4<T, P> & operator>>=(U scalar);
+
349  template <typename U>
+
350  GLM_FUNC_DECL tvec4<T, P> & operator>>=(tvec1<U, P> const & v);
+
351  template <typename U>
+
352  GLM_FUNC_DECL tvec4<T, P> & operator>>=(tvec4<U, P> const & v);
+
353  };
+
354 
+
355  template <typename T, precision P>
+
356  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v, T scalar);
+
357 
+
358  template <typename T, precision P>
+
359  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
360 
+
361  template <typename T, precision P>
+
362  GLM_FUNC_DECL tvec4<T, P> operator+(T scalar, tvec4<T, P> const & v);
+
363 
+
364  template <typename T, precision P>
+
365  GLM_FUNC_DECL tvec4<T, P> operator+(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
366 
+
367  template <typename T, precision P>
+
368  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
369 
+
370  template <typename T, precision P>
+
371  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v, T scalar);
+
372 
+
373  template <typename T, precision P>
+
374  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
375 
+
376  template <typename T, precision P>
+
377  GLM_FUNC_DECL tvec4<T, P> operator-(T scalar, tvec4<T, P> const & v);
+
378 
+
379  template <typename T, precision P>
+
380  GLM_FUNC_DECL tvec4<T, P> operator-(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
381 
+
382  template <typename T, precision P>
+
383  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
384 
+
385  template <typename T, precision P>
+
386  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, T scalar);
+
387 
+
388  template <typename T, precision P>
+
389  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
390 
+
391  template <typename T, precision P>
+
392  GLM_FUNC_DECL tvec4<T, P> operator*(T scalar, tvec4<T, P> const & v);
+
393 
+
394  template <typename T, precision P>
+
395  GLM_FUNC_DECL tvec4<T, P> operator*(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
396 
+
397  template <typename T, precision P>
+
398  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
399 
+
400  template <typename T, precision P>
+
401  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v, T scalar);
+
402 
+
403  template <typename T, precision P>
+
404  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
405 
+
406  template <typename T, precision P>
+
407  GLM_FUNC_DECL tvec4<T, P> operator/(T scalar, tvec4<T, P> const & v);
+
408 
+
409  template <typename T, precision P>
+
410  GLM_FUNC_DECL tvec4<T, P> operator/(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
411 
+
412  template <typename T, precision P>
+
413  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
414 
+
415  template <typename T, precision P>
+
416  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v);
+
417 
+
418  template <typename T, precision P>
+
419  GLM_FUNC_DECL bool operator==(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
420 
+
421  template <typename T, precision P>
+
422  GLM_FUNC_DECL bool operator!=(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
423 
+
424  template <typename T, precision P>
+
425  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v, T scalar);
+
426 
+
427  template <typename T, precision P>
+
428  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
429 
+
430  template <typename T, precision P>
+
431  GLM_FUNC_DECL tvec4<T, P> operator%(T scalar, tvec4<T, P> const & v);
+
432 
+
433  template <typename T, precision P>
+
434  GLM_FUNC_DECL tvec4<T, P> operator%(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
435 
+
436  template <typename T, precision P>
+
437  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
438 
+
439  template <typename T, precision P>
+
440  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v, T scalar);
+
441 
+
442  template <typename T, precision P>
+
443  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
444 
+
445  template <typename T, precision P>
+
446  GLM_FUNC_DECL tvec4<T, P> operator&(T scalar, tvec4<T, P> const & v);
+
447 
+
448  template <typename T, precision P>
+
449  GLM_FUNC_DECL tvec4<T, P> operator&(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
450 
+
451  template <typename T, precision P>
+
452  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
453 
+
454  template <typename T, precision P>
+
455  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v, T scalar);
+
456 
+
457  template <typename T, precision P>
+
458  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
459 
+
460  template <typename T, precision P>
+
461  GLM_FUNC_DECL tvec4<T, P> operator|(T scalar, tvec4<T, P> const & v);
+
462 
+
463  template <typename T, precision P>
+
464  GLM_FUNC_DECL tvec4<T, P> operator|(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
465 
+
466  template <typename T, precision P>
+
467  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
468 
+
469  template <typename T, precision P>
+
470  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v, T scalar);
+
471 
+
472  template <typename T, precision P>
+
473  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
474 
+
475  template <typename T, precision P>
+
476  GLM_FUNC_DECL tvec4<T, P> operator^(T scalar, tvec4<T, P> const & v);
+
477 
+
478  template <typename T, precision P>
+
479  GLM_FUNC_DECL tvec4<T, P> operator^(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
480 
+
481  template <typename T, precision P>
+
482  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
483 
+
484  template <typename T, precision P>
+
485  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v, T scalar);
+
486 
+
487  template <typename T, precision P>
+
488  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
489 
+
490  template <typename T, precision P>
+
491  GLM_FUNC_DECL tvec4<T, P> operator<<(T scalar, tvec4<T, P> const & v);
+
492 
+
493  template <typename T, precision P>
+
494  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
495 
+
496  template <typename T, precision P>
+
497  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
498 
+
499  template <typename T, precision P>
+
500  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v, T scalar);
+
501 
+
502  template <typename T, precision P>
+
503  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v, tvec1<T, P> const & s);
+
504 
+
505  template <typename T, precision P>
+
506  GLM_FUNC_DECL tvec4<T, P> operator>>(T scalar, tvec4<T, P> const & v);
+
507 
+
508  template <typename T, precision P>
+
509  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec1<T, P> const & s, tvec4<T, P> const & v);
+
510 
+
511  template <typename T, precision P>
+
512  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
513 
+
514  template <typename T, precision P>
+
515  GLM_FUNC_DECL tvec4<T, P> operator~(tvec4<T, P> const & v);
+
516 }//namespace glm
+
517 
+
518 #ifndef GLM_EXTERNAL_TEMPLATE
+
519 #include "type_vec4.inl"
+
520 #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:31
+
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 new file mode 100644 index 00000000..f776688e --- /dev/null +++ b/doc/api/a00137.html @@ -0,0 +1,97 @@ + + + + + + +0.9.6: ulp.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
ulp.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:

+

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_GTC_ulp

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

Definition in file ulp.hpp.

+
+ + + + diff --git a/doc/api/a00137_source.html b/doc/api/a00137_source.html index 22b068c9..18655737 100644 --- a/doc/api/a00137_source.html +++ b/doc/api/a00137_source.html @@ -3,8 +3,8 @@ - -GLM: type_vec3.hpp Source File + +0.9.6: ulp.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,318 +41,61 @@
-
type_vec3.hpp
+
ulp.hpp
-
1 
-
29 #ifndef glm_core_type_gentype3
-
30 #define glm_core_type_gentype3
-
31 
-
32 //#include "../fwd.hpp"
-
33 #include "type_vec.hpp"
-
34 #ifdef GLM_SWIZZLE
-
35 # if GLM_HAS_ANONYMOUS_UNION
-
36 # include "_swizzle.hpp"
-
37 # else
-
38 # include "_swizzle_func.hpp"
-
39 # endif
-
40 #endif //GLM_SWIZZLE
-
41 #if(GLM_HAS_INITIALIZER_LISTS)
-
42 # include <initializer_list>
-
43 #endif //GLM_HAS_INITIALIZER_LISTS
-
44 #include <cstddef>
+Go to the documentation of this file.
1 
+
39 #pragma once
+
40 
+
41 // Dependencies
+
42 #include "../detail/setup.hpp"
+
43 #include "../detail/precision.hpp"
+
44 #include "../detail/type_int.hpp"
45 
-
46 namespace glm{
-
47 namespace detail
-
48 {
-
49  template <typename T, precision P>
-
50  struct tvec3
-
51  {
-
53  // Implementation detail
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTC_ulp extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
54 
-
55  enum ctor{_null};
-
56 
-
57  typedef tvec3<T, P> type;
-
58  typedef tvec3<bool, P> bool_type;
-
59  typedef T value_type;
-
60  typedef int size_type;
-
61 
-
63  // Helper
+
57  template <typename genType>
+
58  GLM_FUNC_DECL genType next_float(genType const & x);
+
59 
+
62  template <typename genType>
+
63  GLM_FUNC_DECL genType prev_float(genType const & x);
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
66 
-
68  // Data
+
67  template <typename genType>
+
68  GLM_FUNC_DECL genType next_float(genType const & x, uint const & Distance);
69 
-
70 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
71  union
-
72  {
-
73  struct{ T x, y, z; };
-
74  struct{ T r, g, b; };
-
75  struct{ T s, t, p; };
-
76 
-
77  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, x, y, z)
-
78  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, r, g, b)
-
79  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, s, t, p)
-
80  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, x, y, z)
-
81  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, r, g, b)
-
82  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, s, t, p)
-
83  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, x, y, z)
-
84  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, r, g, b)
-
85  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, s, t, p)
-
86  };
-
87 # else
-
88  union { T x, r, s; };
-
89  union { T y, g, t; };
-
90  union { T z, b, p; };
-
91 
-
92 # ifdef GLM_SWIZZLE
-
93  GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P, detail::tvec3, detail::tvec2, detail::tvec3, detail::tvec4)
-
94 # endif
-
95 # endif//GLM_LANG
-
96 
-
98  // Accesses
-
99 
-
100  GLM_FUNC_DECL T & operator[](length_t i);
-
101  GLM_FUNC_DECL T const & operator[](length_t i) const;
-
102 
-
104  // Implicit basic constructors
-
105 
-
106  GLM_FUNC_DECL tvec3();
-
107  GLM_FUNC_DECL tvec3(tvec3<T, P> const & v);
-
108  template <precision Q>
-
109  GLM_FUNC_DECL tvec3(tvec3<T, Q> const & v);
-
110 
-
111 #if(GLM_HAS_INITIALIZER_LISTS)
-
112  template <typename U>
-
113  GLM_FUNC_DECL tvec3(std::initializer_list<U> const & v);
-
114 #endif//GLM_HAS_INITIALIZER_LISTS
-
115 
-
117  // Explicit basic constructors
-
118 
-
119  GLM_FUNC_DECL explicit tvec3(
-
120  ctor);
-
121  GLM_FUNC_DECL explicit tvec3(
-
122  T const & s);
-
123  GLM_FUNC_DECL explicit tvec3(
-
124  T const & s1,
-
125  T const & s2,
-
126  T const & s3);
-
127 
-
129  // Conversion scalar constructors
-
130 
-
132  template <typename U, typename V, typename W>
-
133  GLM_FUNC_DECL explicit tvec3(
-
134  U const & x,
-
135  V const & y,
-
136  W const & z);
-
137 
-
139  // Conversion vector constructors
-
140 
-
142  template <typename A, typename B, precision Q>
-
143  GLM_FUNC_DECL explicit tvec3(tvec2<A, Q> const & v, B const & s);
-
145  template <typename A, typename B, precision Q>
-
146  GLM_FUNC_DECL explicit tvec3(A const & s, tvec2<B, Q> const & v);
-
148  template <typename U, precision Q>
-
149  GLM_FUNC_DECL explicit tvec3(tvec3<U, Q> const & v);
-
151  template <typename U, precision Q>
-
152  GLM_FUNC_DECL explicit tvec3(tvec4<U, Q> const & v);
-
153 
-
155  // Swizzle constructors
-
156 
-
157 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
158  template <int E0, int E1, int E2>
-
159  GLM_FUNC_DECL tvec3(_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & that)
-
160  {
-
161  *this = that();
-
162  }
-
163 
-
164  template <int E0, int E1>
-
165  GLM_FUNC_DECL tvec3(_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & s)
-
166  {
-
167  *this = tvec3<T, P>(v(), s);
-
168  }
-
169 
-
170  template <int E0, int E1>
-
171  GLM_FUNC_DECL tvec3(T const & s, _swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
-
172  {
-
173  *this = tvec3<T, P>(s, v());
-
174  }
-
175 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
176 
-
178  // Unary arithmetic operators
-
179 
-
180  GLM_FUNC_DECL tvec3<T, P> & operator= (tvec3<T, P> const & v);
-
181  template <typename U>
-
182  GLM_FUNC_DECL tvec3<T, P> & operator= (tvec3<U, P> const & v);
-
183 
-
184  template <typename U>
-
185  GLM_FUNC_DECL tvec3<T, P> & operator+=(U s);
-
186  template <typename U>
-
187  GLM_FUNC_DECL tvec3<T, P> & operator+=(tvec3<U, P> const & v);
-
188  template <typename U>
-
189  GLM_FUNC_DECL tvec3<T, P> & operator-=(U s);
-
190  template <typename U>
-
191  GLM_FUNC_DECL tvec3<T, P> & operator-=(tvec3<U, P> const & v);
-
192  template <typename U>
-
193  GLM_FUNC_DECL tvec3<T, P> & operator*=(U s);
-
194  template <typename U>
-
195  GLM_FUNC_DECL tvec3<T, P> & operator*=(tvec3<U, P> const & v);
-
196  template <typename U>
-
197  GLM_FUNC_DECL tvec3<T, P> & operator/=(U s);
-
198  template <typename U>
-
199  GLM_FUNC_DECL tvec3<T, P> & operator/=(tvec3<U, P> const & v);
-
200 
-
202  // Increment and decrement operators
-
203 
-
204  GLM_FUNC_DECL tvec3<T, P> & operator++();
-
205  GLM_FUNC_DECL tvec3<T, P> & operator--();
-
206  GLM_FUNC_DECL tvec3<T, P> operator++(int);
-
207  GLM_FUNC_DECL tvec3<T, P> operator--(int);
-
208 
-
210  // Unary bit operators
-
211 
-
212  template <typename U>
-
213  GLM_FUNC_DECL tvec3<T, P> & operator%= (U s);
-
214  template <typename U>
-
215  GLM_FUNC_DECL tvec3<T, P> & operator%= (tvec3<U, P> const & v);
-
216  template <typename U>
-
217  GLM_FUNC_DECL tvec3<T, P> & operator&= (U s);
-
218  template <typename U>
-
219  GLM_FUNC_DECL tvec3<T, P> & operator&= (tvec3<U, P> const & v);
-
220  template <typename U>
-
221  GLM_FUNC_DECL tvec3<T, P> & operator|= (U s);
-
222  template <typename U>
-
223  GLM_FUNC_DECL tvec3<T, P> & operator|= (tvec3<U, P> const & v);
-
224  template <typename U>
-
225  GLM_FUNC_DECL tvec3<T, P> & operator^= (U s);
-
226  template <typename U>
-
227  GLM_FUNC_DECL tvec3<T, P> & operator^= (tvec3<U, P> const & v);
-
228  template <typename U>
-
229  GLM_FUNC_DECL tvec3<T, P> & operator<<=(U s);
-
230  template <typename U>
-
231  GLM_FUNC_DECL tvec3<T, P> & operator<<=(tvec3<U, P> const & v);
-
232  template <typename U>
-
233  GLM_FUNC_DECL tvec3<T, P> & operator>>=(U s);
-
234  template <typename U>
-
235  GLM_FUNC_DECL tvec3<T, P> & operator>>=(tvec3<U, P> const & v);
-
236  };
-
237 
-
238  template <typename T, precision P>
-
239  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v, T const & s);
-
240 
-
241  template <typename T, precision P>
-
242  GLM_FUNC_DECL tvec3<T, P> operator+(T const & s, tvec3<T, P> const & v);
-
243 
-
244  template <typename T, precision P>
-
245  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
246 
-
247  template <typename T, precision P>
-
248  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v, T const & s);
-
249 
-
250  template <typename T, precision P>
-
251  GLM_FUNC_DECL tvec3<T, P> operator-(T const & s, tvec3<T, P> const & v);
-
252 
-
253  template <typename T, precision P>
-
254  GLM_FUNC_DECL tvec3<T, P> operator- (tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
255 
-
256  template <typename T, precision P>
-
257  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, T const & s);
-
258 
-
259  template <typename T, precision P>
-
260  GLM_FUNC_DECL tvec3<T, P> operator*(T const & s, tvec3<T, P> const & v);
-
261 
-
262  template <typename T, precision P>
-
263  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
264 
-
265  template <typename T, precision P>
-
266  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v, T const & s);
-
267 
-
268  template <typename T, precision P>
-
269  GLM_FUNC_DECL tvec3<T, P> operator/(T const & s, tvec3<T, P> const & v);
-
270 
-
271  template <typename T, precision P>
-
272  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
273 
-
274  template <typename T, precision P>
-
275  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v);
-
276 
-
277  template <typename T, precision P>
-
278  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v, T const & s);
-
279 
-
280  template <typename T, precision P>
-
281  GLM_FUNC_DECL tvec3<T, P> operator%(T const & s, tvec3<T, P> const & v);
-
282 
-
283  template <typename T, precision P>
-
284  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
285 
-
286  template <typename T, precision P>
-
287  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v, T const & s);
-
288 
-
289  template <typename T, precision P>
-
290  GLM_FUNC_DECL tvec3<T, P> operator&(T const & s, tvec3<T, P> const & v);
-
291 
-
292  template <typename T, precision P>
-
293  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
294 
-
295  template <typename T, precision P>
-
296  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v, T const & s);
-
297 
-
298  template <typename T, precision P>
-
299  GLM_FUNC_DECL tvec3<T, P> operator|(T const & s, tvec3<T, P> const & v);
-
300 
-
301  template <typename T, precision P>
-
302  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
303 
-
304  template <typename T, precision P>
-
305  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v, T const & s);
-
306 
-
307  template <typename T, precision P>
-
308  GLM_FUNC_DECL tvec3<T, P> operator^(T const & s, tvec3<T, P> const & v);
-
309 
-
310  template <typename T, precision P>
-
311  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
312 
-
313  template <typename T, precision P>
-
314  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v, T const & s);
-
315 
-
316  template <typename T, precision P>
-
317  GLM_FUNC_DECL tvec3<T, P> operator<<(T const & s, tvec3<T, P> const & v);
-
318 
-
319  template <typename T, precision P>
-
320  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
321 
-
322  template <typename T, precision P>
-
323  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v, T const & s);
-
324 
-
325  template <typename T, precision P>
-
326  GLM_FUNC_DECL tvec3<T, P> operator>>(T const & s, tvec3<T, P> const & v);
-
327 
-
328  template <typename T, precision P>
-
329  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
-
330 
-
331  template <typename T, precision P>
-
332  GLM_FUNC_DECL tvec3<T, P> operator~(tvec3<T, P> const & v);
-
333 
-
334 }//namespace detail
-
335 }//namespace glm
-
336 
-
337 #ifndef GLM_EXTERNAL_TEMPLATE
-
338 #include "type_vec3.inl"
-
339 #endif//GLM_EXTERNAL_TEMPLATE
-
340 
-
341 #endif//glm_core_type_gentype3
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
72  template <typename genType>
+
73  GLM_FUNC_DECL genType prev_float(genType const & x, uint const & Distance);
+
74 
+
77  template <typename T>
+
78  GLM_FUNC_DECL uint float_distance(T const & x, T const & y);
+
79 
+
82  template<typename T, template<typename> class vecType>
+
83  GLM_FUNC_DECL vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
+
84 
+
86 }// namespace glm
+
87 
+
88 #include "ulp.inl"
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:302
+
GLM_FUNC_DECL genType next_float(genType const &x, uint const &Distance)
Return the value(s) ULP distance after the input value(s).
+
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).
+
Definition: _noise.hpp:31
diff --git a/doc/api/a00138.html b/doc/api/a00138.html new file mode 100644 index 00000000..86c3b4fc --- /dev/null +++ b/doc/api/a00138.html @@ -0,0 +1,113 @@ + + + + + + +0.9.6: vec1.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+ +
+
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:

+

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_GTC_vec1

+
Date
2010-02-08 / 2011-06-07
+
Author
Christophe Riccio
+
See also
GLM Core (dependence)
+ +

Definition in file vec1.hpp.

+
+ + + + diff --git a/doc/api/a00138_source.html b/doc/api/a00138_source.html index b962dc52..28559272 100644 --- a/doc/api/a00138_source.html +++ b/doc/api/a00138_source.html @@ -3,8 +3,8 @@ - -GLM: type_vec4.hpp Source File + +0.9.6: vec1.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,358 +41,122 @@
-
type_vec4.hpp
+
vec1.hpp
-
1 
-
29 #ifndef glm_core_type_gentype4
-
30 #define glm_core_type_gentype4
-
31 
-
32 //#include "../fwd.hpp"
-
33 #include "setup.hpp"
-
34 #include "type_vec.hpp"
-
35 #ifdef GLM_SWIZZLE
-
36 # if GLM_HAS_ANONYMOUS_UNION
-
37 # include "_swizzle.hpp"
-
38 # else
-
39 # include "_swizzle_func.hpp"
-
40 # endif
-
41 #endif //GLM_SWIZZLE
-
42 #if(GLM_HAS_INITIALIZER_LISTS)
-
43 # include <initializer_list>
-
44 #endif //GLM_HAS_INITIALIZER_LISTS
-
45 #include <cstddef>
+Go to the documentation of this file.
1 
+
37 #pragma once
+
38 
+
39 // Dependency:
+
40 #include "../glm.hpp"
+
41 #include "../detail/type_vec1.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTC_vec1 extension included")
+
45 #endif
46 
-
47 namespace glm{
-
48 namespace detail
-
49 {
-
50  template <typename T, precision P>
-
51  struct tvec4
-
52  {
-
54  // Implementation detail
-
55 
-
56  enum ctor{_null};
-
57 
-
58  typedef tvec4<T, P> type;
-
59  typedef tvec4<bool, P> bool_type;
-
60  typedef T value_type;
-
61  typedef int size_type;
-
62 
-
64  // Helper
-
65 
-
66  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
-
67 
-
69  // Data
-
70 
-
71 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
72  union
-
73  {
-
74  struct { T r, g, b, a; };
-
75  struct { T s, t, p, q; };
-
76  struct { T x, y, z, w;};
-
77 
-
78  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, x, y, z, w)
-
79  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, r, g, b, a)
-
80  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, s, t, p, q)
-
81  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, x, y, z, w)
-
82  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, r, g, b, a)
-
83  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, s, t, p, q)
-
84  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, x, y, z, w)
-
85  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, r, g, b, a)
-
86  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, s, t, p, q)
-
87  };
-
88 # else
-
89  union { T x, r, s; };
-
90  union { T y, g, t; };
-
91  union { T z, b, p; };
-
92  union { T w, a, q; };
+
47 namespace glm
+
48 {
+
52  typedef highp_vec1_t highp_vec1;
+
53 
+
57  typedef mediump_vec1_t mediump_vec1;
+
58 
+
62  typedef lowp_vec1_t lowp_vec1;
+
63 
+
67  typedef highp_dvec1_t highp_dvec1;
+
68 
+
72  typedef mediump_dvec1_t mediump_dvec1;
+
73 
+
77  typedef lowp_dvec1_t lowp_dvec1;
+
78 
+
82  typedef highp_ivec1_t highp_ivec1;
+
83 
+
87  typedef mediump_ivec1_t mediump_ivec1;
+
88 
+
92  typedef lowp_ivec1_t lowp_ivec1;
93 
-
94 # ifdef GLM_SWIZZLE
-
95  GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P, detail::tvec4, detail::tvec2, detail::tvec3, detail::tvec4)
-
96 # endif
-
97 # endif//GLM_LANG
-
98 
-
100  // Accesses
-
101 
-
102  GLM_FUNC_DECL T & operator[](length_t i);
-
103  GLM_FUNC_DECL T const & operator[](length_t i) const;
-
104 
-
106  // Implicit basic constructors
-
107 
-
108  GLM_FUNC_DECL tvec4();
-
109  GLM_FUNC_DECL tvec4(type const & v);
-
110  template <precision Q>
-
111  GLM_FUNC_DECL tvec4(tvec4<T, Q> const & v);
-
112 
-
113 #if(GLM_HAS_INITIALIZER_LISTS)
-
114  template <typename U>
-
115  GLM_FUNC_DECL tvec4(std::initializer_list<U> l);
-
116 #endif//GLM_HAS_INITIALIZER_LISTS
-
117 
-
119  // Explicit basic constructors
-
120 
-
121  GLM_FUNC_DECL explicit tvec4(
-
122  ctor);
-
123  GLM_FUNC_DECL explicit tvec4(
-
124  T const & s);
-
125  GLM_FUNC_DECL explicit tvec4(
-
126  T const & s0,
-
127  T const & s1,
-
128  T const & s2,
-
129  T const & s3);
-
130 
-
132  // Conversion scalar constructors
-
133 
-
135  template <typename A, typename B, typename C, typename D>
-
136  GLM_FUNC_DECL explicit tvec4(
-
137  A const & x,
-
138  B const & y,
-
139  C const & z,
-
140  D const & w);
-
141 
-
143  // Conversion vector constructors
-
144 
-
146  template <typename A, typename B, typename C, precision Q>
-
147  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & v, B const & s1, C const & s2);
-
149  template <typename A, typename B, typename C, precision Q>
-
150  GLM_FUNC_DECL explicit tvec4(A const & s1, tvec2<B, Q> const & v, C const & s2);
-
152  template <typename A, typename B, typename C, precision Q>
-
153  GLM_FUNC_DECL explicit tvec4(A const & s1, B const & s2, tvec2<C, Q> const & v);
-
155  template <typename A, typename B, precision Q>
-
156  GLM_FUNC_DECL explicit tvec4(tvec3<A, Q> const & v, B const & s);
-
158  template <typename A, typename B, precision Q>
-
159  GLM_FUNC_DECL explicit tvec4(A const & s, tvec3<B, Q> const & v);
-
161  template <typename A, typename B, precision Q>
-
162  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & v1, tvec2<B, Q> const & v2);
-
164  template <typename U, precision Q>
-
165  GLM_FUNC_DECL explicit tvec4(tvec4<U, Q> const & v);
-
166 
-
168  // Swizzle constructors
-
169 
-
170 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
171  template <int E0, int E1, int E2, int E3>
-
172  GLM_FUNC_DECL tvec4(_swizzle<4, T, P, tvec4<T, P>, E0, E1, E2, E3> const & that)
-
173  {
-
174  *this = that();
-
175  }
-
176 
-
177  template <int E0, int E1, int F0, int F1>
-
178  GLM_FUNC_DECL tvec4(_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, _swizzle<2, T, P, tvec2<T, P>, F0, F1, -1, -2> const & u)
-
179  {
-
180  *this = tvec4<T, P>(v(), u());
-
181  }
-
182 
-
183  template <int E0, int E1>
-
184  GLM_FUNC_DECL tvec4(T const & x, T const & y, _swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
-
185  {
-
186  *this = tvec4<T, P>(x, y, v());
-
187  }
+
97  typedef highp_uvec1_t highp_uvec1;
+
98 
+
102  typedef mediump_uvec1_t mediump_uvec1;
+
103 
+
107  typedef lowp_uvec1_t lowp_uvec1;
+
108 
+
112  typedef highp_bvec1_t highp_bvec1;
+
113 
+
117  typedef mediump_bvec1_t mediump_bvec1;
+
118 
+
122  typedef lowp_bvec1_t lowp_bvec1;
+
123 
+
125  // vec1 definition
+
126 
+
127 #if(defined(GLM_PRECISION_HIGHP_BOOL))
+
128  typedef highp_bvec1 bvec1;
+
129 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
+
130  typedef mediump_bvec1 bvec1;
+
131 #elif(defined(GLM_PRECISION_LOWP_BOOL))
+
132  typedef lowp_bvec1 bvec1;
+
133 #else
+
134  typedef highp_bvec1 bvec1;
+
137 #endif//GLM_PRECISION
+
138 
+
139 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
+
140  typedef highp_vec1 vec1;
+
141 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
142  typedef mediump_vec1 vec1;
+
143 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
+
144  typedef lowp_vec1 vec1;
+
145 #else
+
146  typedef highp_vec1 vec1;
+
149 #endif//GLM_PRECISION
+
150 
+
151 #if(defined(GLM_PRECISION_HIGHP_DOUBLE))
+
152  typedef highp_dvec1 dvec1;
+
153 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
154  typedef mediump_dvec1 dvec1;
+
155 #elif(defined(GLM_PRECISION_LOWP_DOUBLE))
+
156  typedef lowp_dvec1 dvec1;
+
157 #else
+
158  typedef highp_dvec1 dvec1;
+
161 #endif//GLM_PRECISION
+
162 
+
163 #if(defined(GLM_PRECISION_HIGHP_INT))
+
164  typedef highp_ivec1 ivec1;
+
165 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
166  typedef mediump_ivec1 ivec1;
+
167 #elif(defined(GLM_PRECISION_LOWP_INT))
+
168  typedef lowp_ivec1 ivec1;
+
169 #else
+
170  typedef highp_ivec1 ivec1;
+
173 #endif//GLM_PRECISION
+
174 
+
175 #if(defined(GLM_PRECISION_HIGHP_UINT))
+
176  typedef highp_uvec1 uvec1;
+
177 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
+
178  typedef mediump_uvec1 uvec1;
+
179 #elif(defined(GLM_PRECISION_LOWP_UINT))
+
180  typedef lowp_uvec1 uvec1;
+
181 #else
+
182  typedef highp_uvec1 uvec1;
+
185 #endif//GLM_PRECISION
+
186 
+
187 }// namespace glm
188 
-
189  template <int E0, int E1>
-
190  GLM_FUNC_DECL tvec4(T const & x, _swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & w)
-
191  {
-
192  *this = tvec4<T, P>(x, v(), w);
-
193  }
-
194 
-
195  template <int E0, int E1>
-
196  GLM_FUNC_DECL tvec4(_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & z, T const & w)
-
197  {
-
198  *this = tvec4<T, P>(v(), z, w);
-
199  }
-
200 
-
201  template <int E0, int E1, int E2>
-
202  GLM_FUNC_DECL tvec4(_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v, T const & w)
-
203  {
-
204  *this = tvec4<T, P>(v(), w);
-
205  }
-
206 
-
207  template <int E0, int E1, int E2>
-
208  GLM_FUNC_DECL tvec4(T const & x, _swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v)
-
209  {
-
210  *this = tvec4<T, P>(x, v());
-
211  }
-
212 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
-
213 
-
215  // Unary arithmetic operators
-
216 
-
217  GLM_FUNC_DECL tvec4<T, P> & operator= (tvec4<T, P> const & v);
-
218  template <typename U, precision Q>
-
219  GLM_FUNC_DECL tvec4<T, P> & operator= (tvec4<U, Q> const & v);
-
220 
-
221  template <typename U>
-
222  GLM_FUNC_DECL tvec4<T, P> & operator+=(U s);
-
223  template <typename U>
-
224  GLM_FUNC_DECL tvec4<T, P> & operator+=(tvec4<U, P> const & v);
-
225  template <typename U>
-
226  GLM_FUNC_DECL tvec4<T, P> & operator-=(U s);
-
227  template <typename U>
-
228  GLM_FUNC_DECL tvec4<T, P> & operator-=(tvec4<U, P> const & v);
-
229  template <typename U>
-
230  GLM_FUNC_DECL tvec4<T, P> & operator*=(U s);
-
231  template <typename U>
-
232  GLM_FUNC_DECL tvec4<T, P> & operator*=(tvec4<U, P> const & v);
-
233  template <typename U>
-
234  GLM_FUNC_DECL tvec4<T, P> & operator/=(U s);
-
235  template <typename U>
-
236  GLM_FUNC_DECL tvec4<T, P> & operator/=(tvec4<U, P> const & v);
-
237 
-
239  // Increment and decrement operators
-
240 
-
241  GLM_FUNC_DECL tvec4<T, P> & operator++();
-
242  GLM_FUNC_DECL tvec4<T, P> & operator--();
-
243  GLM_FUNC_DECL tvec4<T, P> operator++(int);
-
244  GLM_FUNC_DECL tvec4<T, P> operator--(int);
-
245 
-
247  // Unary bit operators
-
248 
-
249  template <typename U>
-
250  GLM_FUNC_DECL tvec4<T, P> & operator%= (U s);
-
251  template <typename U>
-
252  GLM_FUNC_DECL tvec4<T, P> & operator%= (tvec4<U, P> const & v);
-
253  template <typename U>
-
254  GLM_FUNC_DECL tvec4<T, P> & operator&= (U s);
-
255  template <typename U>
-
256  GLM_FUNC_DECL tvec4<T, P> & operator&= (tvec4<U, P> const & v);
-
257  template <typename U>
-
258  GLM_FUNC_DECL tvec4<T, P> & operator|= (U s);
-
259  template <typename U>
-
260  GLM_FUNC_DECL tvec4<T, P> & operator|= (tvec4<U, P> const & v);
-
261  template <typename U>
-
262  GLM_FUNC_DECL tvec4<T, P> & operator^= (U s);
-
263  template <typename U>
-
264  GLM_FUNC_DECL tvec4<T, P> & operator^= (tvec4<U, P> const & v);
-
265  template <typename U>
-
266  GLM_FUNC_DECL tvec4<T, P> & operator<<=(U s);
-
267  template <typename U>
-
268  GLM_FUNC_DECL tvec4<T, P> & operator<<=(tvec4<U, P> const & v);
-
269  template <typename U>
-
270  GLM_FUNC_DECL tvec4<T, P> & operator>>=(U s);
-
271  template <typename U>
-
272  GLM_FUNC_DECL tvec4<T, P> & operator>>=(tvec4<U, P> const & v);
-
273  };
-
274 
-
275  template <typename T, precision P>
-
276  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v, T const & s);
-
277 
-
278  template <typename T, precision P>
-
279  GLM_FUNC_DECL tvec4<T, P> operator+(T const & s, tvec4<T, P> const & v);
-
280 
-
281  template <typename T, precision P>
-
282  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
283 
-
284  template <typename T, precision P>
-
285  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v, T const & s);
-
286 
-
287  template <typename T, precision P>
-
288  GLM_FUNC_DECL tvec4<T, P> operator-(T const & s, tvec4<T, P> const & v);
-
289 
-
290  template <typename T, precision P>
-
291  GLM_FUNC_DECL tvec4<T, P> operator- (tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
292 
-
293  template <typename T, precision P>
-
294  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, T const & s);
-
295 
-
296  template <typename T, precision P>
-
297  GLM_FUNC_DECL tvec4<T, P> operator*(T const & s, tvec4<T, P> const & v);
-
298 
-
299  template <typename T, precision P>
-
300  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
301 
-
302  template <typename T, precision P>
-
303  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v, T const & s);
-
304 
-
305  template <typename T, precision P>
-
306  GLM_FUNC_DECL tvec4<T, P> operator/(T const & s, tvec4<T, P> const & v);
-
307 
-
308  template <typename T, precision P>
-
309  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
310 
-
311  template <typename T, precision P>
-
312  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v);
-
313 
-
314  template <typename T, precision P>
-
315  GLM_FUNC_DECL bool operator==(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
316 
-
317  template <typename T, precision P>
-
318  GLM_FUNC_DECL bool operator!=(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
319 
-
320  template <typename T, precision P>
-
321  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v, T const & s);
-
322 
-
323  template <typename T, precision P>
-
324  GLM_FUNC_DECL tvec4<T, P> operator%(T const & s, tvec4<T, P> const & v);
-
325 
-
326  template <typename T, precision P>
-
327  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
328 
-
329  template <typename T, precision P>
-
330  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v, T const & s);
-
331 
-
332  template <typename T, precision P>
-
333  GLM_FUNC_DECL tvec4<T, P> operator&(T const & s, tvec4<T, P> const & v);
-
334 
-
335  template <typename T, precision P>
-
336  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
337 
-
338  template <typename T, precision P>
-
339  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v, T const & s);
-
340 
-
341  template <typename T, precision P>
-
342  GLM_FUNC_DECL tvec4<T, P> operator|(T const & s, tvec4<T, P> const & v);
-
343 
-
344  template <typename T, precision P>
-
345  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
346 
-
347  template <typename T, precision P>
-
348  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v, T const & s);
-
349 
-
350  template <typename T, precision P>
-
351  GLM_FUNC_DECL tvec4<T, P> operator^(T const & s, tvec4<T, P> const & v);
-
352 
-
353  template <typename T, precision P>
-
354  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
355 
-
356  template <typename T, precision P>
-
357  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v, T const & s);
-
358 
-
359  template <typename T, precision P>
-
360  GLM_FUNC_DECL tvec4<T, P> operator<<(T const & s, tvec4<T, P> const & v);
-
361 
-
362  template <typename T, precision P>
-
363  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
-
364 
-
365  template <typename T, precision P>
-
366  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v, T const & s);
-
367 
-
368  template <typename T, precision P>
-
369  GLM_FUNC_DECL tvec4<T, P> operator>>(T 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);
-
376 
-
377 }//namespace detail
-
378 }//namespace glm
-
379 
-
380 #ifndef GLM_EXTERNAL_TEMPLATE
-
381 #include "type_vec4.inl"
-
382 #endif//GLM_EXTERNAL_TEMPLATE
-
383 
-
384 #endif//glm_core_type_gentype4
-
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
189 #include "vec1.inl"
+
tvec1< float, lowp > lowp_vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1543
+
tvec1< float, mediump > mediump_vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1576
+
Definition: _noise.hpp:31
+
tvec1< float, highp > highp_vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1609
diff --git a/doc/api/a00139.html b/doc/api/a00139.html index e317811f..52c71251 100644 --- a/doc/api/a00139.html +++ b/doc/api/a00139.html @@ -3,8 +3,8 @@ - -GLM: ulp.hpp File Reference + +0.9.6: vec2.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,63 +41,32 @@
-
-Namespaces | -Functions
-
gtc/ulp.hpp File Reference
+
vec2.hpp File Reference

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - -

-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:

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_GTC_ulp

-
Date
2011-02-21 / 2011-12-12
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
+

GLM Core

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

Definition in file gtc/ulp.hpp.

+

Definition in file vec2.hpp.

diff --git a/doc/api/a00139_source.html b/doc/api/a00139_source.html index 26229656..6a405cd1 100644 --- a/doc/api/a00139_source.html +++ b/doc/api/a00139_source.html @@ -3,8 +3,8 @@ - -GLM: ulp.hpp Source File + +0.9.6: vec2.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,64 +41,25 @@
-
gtc/ulp.hpp
+
vec2.hpp
Go to the documentation of this file.
1 
-
39 #ifndef GLM_GTC_ulp
-
40 #define GLM_GTC_ulp
-
41 
-
42 // Dependencies
-
43 #include "../detail/setup.hpp"
-
44 #include "../detail/precision.hpp"
-
45 #include "../detail/type_int.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
48 # pragma message("GLM: GLM_GTC_ulp extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename genType>
-
59  GLM_FUNC_DECL genType next_float(genType const & x);
-
60 
-
63  template <typename genType>
-
64  GLM_FUNC_DECL genType prev_float(genType const & x);
-
65 
-
68  template <typename genType>
-
69  GLM_FUNC_DECL genType next_float(genType const & x, uint const & Distance);
-
70 
-
73  template <typename genType>
-
74  GLM_FUNC_DECL genType prev_float(genType const & x, uint const & Distance);
-
75 
-
78  template <typename T>
-
79  GLM_FUNC_DECL uint float_distance(T const & x, T const & y);
-
80 
-
83  template<typename T, template<typename> class vecType>
-
84  GLM_FUNC_DECL vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
-
85 
-
87 }// namespace glm
-
88 
-
89 #include "ulp.inl"
-
90 
-
91 #endif//GLM_GTC_ulp
-
92 
-
GLM_FUNC_DECL genType next_float(genType const &x)
Return the next ULP value(s) after the input value(s).
-
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
-
GLM_FUNC_DECL uint float_distance(T const &x, T const &y)
Return the distance in the number of ULP between 2 scalars.
-
GLM_FUNC_DECL genType prev_float(genType const &x)
Return the previous ULP value(s) before the input value(s).
+
29 #pragma once
+
30 
+
31 #include "detail/type_vec2.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00140.html b/doc/api/a00140.html new file mode 100644 index 00000000..396624a4 --- /dev/null +++ b/doc/api/a00140.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: vec3.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
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:

+

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
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file vec3.hpp.

+
+ + + + diff --git a/doc/api/a00140_source.html b/doc/api/a00140_source.html index 8fa1ec2b..2f32f92c 100644 --- a/doc/api/a00140_source.html +++ b/doc/api/a00140_source.html @@ -3,8 +3,8 @@ - -GLM: ulp.hpp Source File + +0.9.6: vec3.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,25 @@
-
gtx/ulp.hpp
+
vec3.hpp
-
1 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_ulp extension is deprecated, include GLM_GTC_ulp (glm/gtc/ulp.hpp) instead")
-
26 #endif
-
27 
-
28 // Promoted:
-
29 #include "../gtc/ulp.hpp"
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "detail/type_vec3.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00141.html b/doc/api/a00141.html new file mode 100644 index 00000000..fd652635 --- /dev/null +++ b/doc/api/a00141.html @@ -0,0 +1,72 @@ + + + + + + +0.9.6: vec4.hpp File Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + + +
+
+
+
vec4.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:

+

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
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file vec4.hpp.

+
+ + + + diff --git a/doc/api/a00141_source.html b/doc/api/a00141_source.html index b12c34ce..266507bf 100644 --- a/doc/api/a00141_source.html +++ b/doc/api/a00141_source.html @@ -3,8 +3,8 @@ - -GLM: unsigned_int.hpp Source File + +0.9.6: vec4.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,24 +41,25 @@
-
unsigned_int.hpp
+
vec4.hpp
-
1 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_unsigned_int extension is deprecated, include GLM_GTX_integer instead")
-
26 #endif
+Go to the documentation of this file.
1 
+
29 #pragma once
+
30 
+
31 #include "detail/type_vec4.hpp"
+
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00142.html b/doc/api/a00142.html index d9bf4109..f5946dbe 100644 --- a/doc/api/a00142.html +++ b/doc/api/a00142.html @@ -3,8 +3,8 @@ - -GLM: vec1.hpp File Reference + +0.9.6: vector_angle.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,71 +41,52 @@
-Namespaces | -Typedefs
+Functions
-
vec1.hpp File Reference
+
vector_angle.hpp File Reference

Go to the source code of this file.

- - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + +

-Typedefs

typedef highp_bvec1 bvec1
 
typedef highp_bvec1_t highp_bvec1
 
typedef highp_ivec1_t highp_ivec1
 
typedef highp_uvec1_t highp_uvec1
 
typedef highp_ivec1 ivec1
 
typedef lowp_bvec1_t lowp_bvec1
 
typedef lowp_ivec1_t lowp_ivec1
 
typedef lowp_uvec1_t lowp_uvec1
 
typedef mediump_bvec1_t mediump_bvec1
 
typedef mediump_ivec1_t mediump_ivec1
 
typedef mediump_uvec1_t mediump_uvec1
 
typedef highp_uvec1 uvec1
 
typedef highp_vec1 vec1
 

+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:

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_GTX_vec1

-
Date
2010-02-08 / 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 vec1.hpp.

+

Definition in file vector_angle.hpp.

diff --git a/doc/api/a00142_source.html b/doc/api/a00142_source.html index 0f6b8955..42c05146 100644 --- a/doc/api/a00142_source.html +++ b/doc/api/a00142_source.html @@ -3,8 +3,8 @@ - -GLM: vec1.hpp Source File + +0.9.6: vector_angle.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,122 +41,58 @@
-
vec1.hpp
+
vector_angle.hpp
Go to the documentation of this file.
1 
-
37 #ifndef GLM_GTX_vec1
-
38 #define GLM_GTX_vec1
-
39 
-
40 // Dependency:
-
41 #include "../glm.hpp"
-
42 #include "../detail/type_vec1.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_vec1 extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
53  typedef highp_vec1_t highp_vec1;
-
54 
-
58  typedef mediump_vec1_t mediump_vec1;
-
59 
-
63  typedef lowp_vec1_t lowp_vec1;
+
40 #pragma once
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtc/epsilon.hpp"
+
45 #include "../gtx/quaternion.hpp"
+
46 #include "../gtx/rotate_vector.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_vector_angle extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
60  template <typename vecType>
+
61  GLM_FUNC_DECL typename vecType::value_type angle(
+
62  vecType const & x,
+
63  vecType const & y);
64 
-
68  typedef highp_ivec1_t highp_ivec1;
-
69 
-
73  typedef mediump_ivec1_t mediump_ivec1;
-
74 
-
78  typedef lowp_ivec1_t lowp_ivec1;
-
79 
-
83  typedef highp_uvec1_t highp_uvec1;
+
68  template <typename T, precision P>
+
69  GLM_FUNC_DECL T orientedAngle(
+
70  tvec2<T, P> const & x,
+
71  tvec2<T, P> const & y);
+
72 
+
76  template <typename T, precision P>
+
77  GLM_FUNC_DECL T orientedAngle(
+
78  tvec3<T, P> const & x,
+
79  tvec3<T, P> const & y,
+
80  tvec3<T, P> const & ref);
+
81 
+
83 }// namespace glm
84 
-
88  typedef mediump_uvec1_t mediump_uvec1;
-
89 
-
93  typedef lowp_uvec1_t lowp_uvec1;
-
94 
-
98  typedef highp_bvec1_t highp_bvec1;
-
99 
-
103  typedef mediump_bvec1_t mediump_bvec1;
-
104 
-
108  typedef lowp_bvec1_t lowp_bvec1;
-
109 
-
111  // vec1 definition
-
112 
-
113 #if(defined(GLM_PRECISION_HIGHP_BOOL))
-
114  typedef highp_bvec1 bvec1;
-
115 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
-
116  typedef mediump_bvec1 bvec1;
-
117 #elif(defined(GLM_PRECISION_LOWP_BOOL))
-
118  typedef lowp_bvec1 bvec1;
-
119 #else
-
120  typedef highp_bvec1 bvec1;
-
123 #endif//GLM_PRECISION
-
124 
-
125 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
-
126  typedef highp_vec1 vec1;
-
127 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
128  typedef mediump_vec1 vec1;
-
129 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
-
130  typedef lowp_vec1 vec1;
-
131 #else
-
132  typedef highp_vec1 vec1;
-
135 #endif//GLM_PRECISION
-
136 
-
137 #if(defined(GLM_PRECISION_HIGHP_INT))
-
138  typedef highp_ivec1 ivec1;
-
139 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
140  typedef mediump_ivec1 ivec1;
-
141 #elif(defined(GLM_PRECISION_LOWP_INT))
-
142  typedef lowp_ivec1 ivec1;
-
143 #else
-
144  typedef highp_ivec1 ivec1;
-
147 #endif//GLM_PRECISION
-
148 
-
149 #if(defined(GLM_PRECISION_HIGHP_UINT))
-
150  typedef highp_uvec1 uvec1;
-
151 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
-
152  typedef mediump_uvec1 uvec1;
-
153 #elif(defined(GLM_PRECISION_LOWP_UINT))
-
154  typedef lowp_uvec1 uvec1;
-
155 #else
-
156  typedef highp_uvec1 uvec1;
-
159 #endif//GLM_PRECISION
-
160 
-
161 }// namespace glm
-
162 
-
163 #include "vec1.inl"
-
164 
-
165 #endif//GLM_GTX_vec1
-
166 
-
lowp_uvec1_t lowp_uvec1
1 component vector of low precision unsigned integer numbers.
Definition: vec1.hpp:93
-
mediump_uvec1_t mediump_uvec1
1 component vector of medium precision unsigned integer numbers.
Definition: vec1.hpp:88
-
detail::tvec1< float, highp > highp_vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1601
-
highp_ivec1 ivec1
1 component vector of signed integer numbers.
Definition: vec1.hpp:146
-
highp_ivec1_t highp_ivec1
1 component vector of high precision signed integer numbers.
Definition: vec1.hpp:68
-
detail::tvec1< float, mediump > mediump_vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1567
-
detail::tvec1< float, lowp > lowp_vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1533
-
highp_uvec1_t highp_uvec1
1 component vector of high precision unsigned integer numbers.
Definition: vec1.hpp:83
-
highp_vec1 vec1
1 component vector of floating-point numbers.
Definition: vec1.hpp:134
-
highp_bvec1 bvec1
1 component vector of boolean.
Definition: vec1.hpp:122
-
mediump_bvec1_t mediump_bvec1
1 component vector of medium precision boolean.
Definition: vec1.hpp:103
-
mediump_ivec1_t mediump_ivec1
1 component vector of medium precision signed integer numbers.
Definition: vec1.hpp:73
-
highp_uvec1 uvec1
1 component vector of unsigned integer numbers.
Definition: vec1.hpp:158
-
lowp_ivec1_t lowp_ivec1
1 component vector of low precision signed integer numbers.
Definition: vec1.hpp:78
-
highp_bvec1_t highp_bvec1
1 component vector of high precision boolean.
Definition: vec1.hpp:98
-
lowp_bvec1_t lowp_bvec1
1 component vector of low precision boolean.
Definition: vec1.hpp:108
+
85 #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:31
+
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 30b11efa..4b2287ad 100644 --- a/doc/api/a00143.html +++ b/doc/api/a00143.html @@ -3,8 +3,8 @@ - -GLM: vec2.hpp File Reference + +0.9.6: vector_query.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,32 +41,57 @@
+
+Functions
-
vec2.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:

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
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 vec2.hpp.

+

Definition in file vector_query.hpp.

diff --git a/doc/api/a00143_source.html b/doc/api/a00143_source.html index df9fa722..68ca38ff 100644 --- a/doc/api/a00143_source.html +++ b/doc/api/a00143_source.html @@ -3,8 +3,8 @@ - -GLM: vec2.hpp Source File + +0.9.6: vector_query.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,64 @@
-
vec2.hpp
+
vector_query.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_VEC2_INCLUDED
-
30 #define GLM_VEC2_INCLUDED
-
31 
-
32 #include "detail/type_vec2.hpp"
-
33 
-
34 #endif//GLM_VEC2_INCLUDED
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 #include <cfloat>
+
43 #include <limits>
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_vector_query extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T, precision P, template <typename, precision> class vecType>
+
57  GLM_FUNC_DECL bool areCollinear(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
58 
+
61  template <typename T, precision P, template <typename, precision> class vecType>
+
62  GLM_FUNC_DECL bool areOrthogonal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
63 
+
66  template <typename T, precision P, template <typename, precision> class vecType>
+
67  GLM_FUNC_DECL bool isNormalized(vecType<T, P> const & v, T const & epsilon);
+
68 
+
71  template <typename T, precision P, template <typename, precision> class vecType>
+
72  GLM_FUNC_DECL bool isNull(vecType<T, P> const & v, T const & epsilon);
+
73 
+
76  template <typename T, precision P, template <typename, precision> class vecType>
+
77  GLM_FUNC_DECL vecType<bool, P> isCompNull(vecType<T, P> const & v, T const & epsilon);
+
78 
+
81  template <typename T, precision P, template <typename, precision> class vecType>
+
82  GLM_FUNC_DECL bool areOrthonormal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
83 
+
85 }// namespace glm
+
86 
+
87 #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.
+
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 vecType< bool, P > isCompNull(vecType< T, P > const &v, T const &epsilon)
Check whether a each component of a vector is null.
+
Definition: _noise.hpp:31
+
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 areCollinear(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are collinears.
+
GLM_FUNC_DECL bool isNull(vecType< T, P > const &v, T const &epsilon)
Check whether a vector is null.
diff --git a/doc/api/a00144.html b/doc/api/a00144.html index f745ada8..50b559fa 100644 --- a/doc/api/a00144.html +++ b/doc/api/a00144.html @@ -3,8 +3,8 @@ - -GLM: vec3.hpp File Reference + +0.9.6: vector_relational.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,12 +41,12 @@
-
vec3.hpp File Reference
+
vector_relational.hpp File Reference
@@ -58,17 +56,17 @@

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

+

GLM Core

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

Definition in file vec3.hpp.

+

Definition in file vector_relational.hpp.

diff --git a/doc/api/a00144_source.html b/doc/api/a00144_source.html index 0f2cb4c5..95af8f1a 100644 --- a/doc/api/a00144_source.html +++ b/doc/api/a00144_source.html @@ -3,8 +3,8 @@ - -GLM: vec3.hpp Source File + +0.9.6: vector_relational.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,25 @@
-
vec3.hpp
+
vector_relational.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_VEC3_INCLUDED
-
30 #define GLM_VEC3_INCLUDED
-
31 
-
32 #include "detail/type_vec3.hpp"
-
33 
-
34 #endif//GLM_VEC3_INCLUDED
+
29 #pragma once
+
30 
+ +
OpenGL Mathematics (glm.g-truc.net)
diff --git a/doc/api/a00145.html b/doc/api/a00145.html index dab97b44..a8a4e636 100644 --- a/doc/api/a00145.html +++ b/doc/api/a00145.html @@ -3,8 +3,8 @@ - -GLM: vec4.hpp File Reference + +0.9.6: wrap.hpp File Reference @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,32 +41,48 @@
+
+Functions
-
vec4.hpp File Reference
+
wrap.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:

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
2013-12-24 / 2013-12-24
-
Author
Christophe Riccio
+

GLM_GTX_wrap

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

Definition in file vec4.hpp.

+

Definition in file wrap.hpp.

diff --git a/doc/api/a00145_source.html b/doc/api/a00145_source.html index 797aebb1..7517949b 100644 --- a/doc/api/a00145_source.html +++ b/doc/api/a00145_source.html @@ -3,8 +3,8 @@ - -GLM: vec4.hpp Source File + +0.9.6: wrap.hpp Source File @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -43,27 +41,49 @@
-
vec4.hpp
+
wrap.hpp
Go to the documentation of this file.
1 
-
29 #ifndef GLM_VEC4_INCLUDED
-
30 #define GLM_VEC4_INCLUDED
-
31 
-
32 #include "detail/type_vec4.hpp"
-
33 
-
34 #endif//GLM_VEC4_INCLUDED
+
38 #pragma once
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTX_wrap extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename genType>
+
55  GLM_FUNC_DECL genType clamp(genType const & Texcoord);
+
56 
+
59  template <typename genType>
+
60  GLM_FUNC_DECL genType repeat(genType const & Texcoord);
+
61 
+
64  template <typename genType>
+
65  GLM_FUNC_DECL genType mirrorRepeat(genType const & Texcoord);
+
66 
+
68 }// namespace glm
+
69 
+
70 #include "wrap.inl"
+
GLM_FUNC_DECL genType mirrorRepeat(genType const &Texcoord)
Simulate GL_MIRROR_REPEAT OpenGL wrap mode.
+
Definition: _noise.hpp:31
+
GLM_FUNC_DECL genType repeat(genType const &Texcoord)
Simulate GL_REPEAT OpenGL wrap mode.
+
GLM_FUNC_DECL genType clamp(genType const &Texcoord)
Simulate GL_CLAMP OpenGL wrap mode.
diff --git a/doc/api/a00146.html b/doc/api/a00146.html deleted file mode 100644 index bdaac867..00000000 --- a/doc/api/a00146.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -GLM: vector_angle.hpp File Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-Namespaces | -Functions
-
-
vector_angle.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - -

-Functions

template<typename vecType >
GLM_FUNC_QUALIFIER
-vecType::value_type 
angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec2< T, P > const &x, detail::tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, detail::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:

-

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_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)
- -

Definition in file vector_angle.hpp.

-
- - - - diff --git a/doc/api/a00146_source.html b/doc/api/a00146_source.html deleted file mode 100644 index 44fd9bf4..00000000 --- a/doc/api/a00146_source.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -GLM: vector_angle.hpp Source File - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-
vector_angle.hpp
-
-
-Go to the documentation of this file.
1 
-
40 #ifndef GLM_GTX_vector_angle
-
41 #define GLM_GTX_vector_angle
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../gtc/epsilon.hpp"
-
46 #include "../gtx/quaternion.hpp"
-
47 #include "../gtx/rotate_vector.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
50 # pragma message("GLM: GLM_GTX_vector_angle extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
-
57 
-
61  template <typename vecType>
-
62  GLM_FUNC_QUALIFIER typename vecType::value_type angle(
-
63  vecType const & x,
-
64  vecType const & y);
-
65 
-
69  template <typename T, precision P>
-
70  GLM_FUNC_QUALIFIER T orientedAngle(
-
71  detail::tvec2<T, P> const & x,
-
72  detail::tvec2<T, P> const & y);
-
73 
-
77  template <typename T, precision P>
-
78  GLM_FUNC_QUALIFIER T orientedAngle(
-
79  detail::tvec3<T, P> const & x,
-
80  detail::tvec3<T, P> const & y,
-
81  detail::tvec3<T, P> const & ref);
-
82 
-
84 }// namespace glm
-
85 
-
86 #include "vector_angle.inl"
-
87 
-
88 #endif//GLM_GTX_vector_angle
-
GLM_FUNC_QUALIFIER T orientedAngle(detail::tvec2< T, P > const &x, detail::tvec2< T, P > const &y)
Returns the oriented angle between two 2d vectors Parameters need to be normalized.
-
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
-
- - - - diff --git a/doc/api/a00147.html b/doc/api/a00147.html deleted file mode 100644 index 3ec552e5..00000000 --- a/doc/api/a00147.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -GLM: vector_query.hpp File Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-Namespaces | -Functions
-
-
vector_query.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Namespaces

 glm
 
- - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T , precision P, template< typename, precision > class vecType>
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>
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>
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>
vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
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:

-

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_GTX_vector_query

-
Date
2008-03-10 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file vector_query.hpp.

-
- - - - diff --git a/doc/api/a00147_source.html b/doc/api/a00147_source.html deleted file mode 100644 index 7e38f1da..00000000 --- a/doc/api/a00147_source.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - -GLM: vector_query.hpp Source File - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-
vector_query.hpp
-
-
-Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_vector_query
-
39 #define GLM_GTX_vector_query
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include <cfloat>
-
44 #include <limits>
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
47 # pragma message("GLM: GLM_GTX_vector_query extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename T, precision P, template <typename, precision> class vecType>
-
58  bool areCollinear(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
-
59 
-
62  template <typename T, precision P, template <typename, precision> class vecType>
-
63  bool areOrthogonal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
-
64 
-
67  template <typename T, precision P, template <typename, precision> class vecType>
-
68  bool isNormalized(vecType<T, P> const & v, T const & epsilon);
-
69 
-
72  template <typename T, precision P, template <typename, precision> class vecType>
-
73  bool isNull(vecType<T, P> const & v, T const & epsilon);
-
74 
-
77  template <typename T, precision P, template <typename, precision> class vecType>
-
78  vecType<bool, P> isCompNull(vecType<T, P> const & v, T const & epsilon);
-
79 
-
82  template <typename T, precision P, template <typename, precision> class vecType>
-
83  bool areOrthonormal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
-
84 
-
86 }// namespace glm
-
87 
-
88 #include "vector_query.inl"
-
89 
-
90 #endif//GLM_GTX_vector_query
-
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
-
bool areOrthonormal(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are orthonormal.
-
bool areOrthogonal(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are orthogonals.
-
bool areCollinear(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are collinears.
-
bool isNormalized(detail::tmat2x2< T, P > const &m, T const &epsilon)
Return whether a matrix is a normalized matrix.
-
bool isNull(detail::tmat2x2< T, P > const &m, T const &epsilon)
Return whether a matrix a null matrix.
-
vecType< bool, P > isCompNull(vecType< T, P > const &v, T const &epsilon)
Check whether a each component of a vector is null.
-
- - - - diff --git a/doc/api/a00148_source.html b/doc/api/a00148_source.html deleted file mode 100644 index fb2aa460..00000000 --- a/doc/api/a00148_source.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - -GLM: vector_relational.hpp Source File - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-
vector_relational.hpp
-
-
-Go to the documentation of this file.
1 
-
29 #ifndef GLM_VECTOR_RELATIONAL_INCLUDED
-
30 #define GLM_VECTOR_RELATIONAL_INCLUDED
-
31 
-
32 #include "detail/func_vector_relational.hpp"
-
33 
-
34 #endif//GLM_VECTOR_RELATIONAL_INCLUDED
-
- - - - diff --git a/doc/api/a00149_source.html b/doc/api/a00149_source.html deleted file mode 100644 index 24b76161..00000000 --- a/doc/api/a00149_source.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -GLM: wrap.hpp Source File - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-
wrap.hpp
-
-
-Go to the documentation of this file.
1 
-
38 #ifndef GLM_GTX_wrap
-
39 #define GLM_GTX_wrap
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
-
45 # pragma message("GLM: GLM_GTX_wrap extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename genType>
-
56  GLM_FUNC_DECL genType clamp(genType const & Texcoord);
-
57 
-
60  template <typename genType>
-
61  GLM_FUNC_DECL genType repeat(genType const & Texcoord);
-
62 
-
65  template <typename genType>
-
66  GLM_FUNC_DECL genType mirrorRepeat(genType const & Texcoord);
-
67 
-
69 }// namespace glm
-
70 
-
71 #include "wrap.inl"
-
72 
-
73 #endif//GLM_GTX_wrap
-
GLM_FUNC_DECL genType mirrorRepeat(genType const &Texcoord)
Simulate GL_MIRROR_REPEAT OpenGL wrap mode.
-
GLM_FUNC_DECL genType clamp(genType const &x, genType const &minVal, genType const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
-
GLM_FUNC_DECL genType repeat(genType const &Texcoord)
Simulate GL_REPEAT OpenGL wrap mode.
-
- - - - diff --git a/doc/api/a00150.html b/doc/api/a00150.html index ef4163f8..92bae6c8 100644 --- a/doc/api/a00150.html +++ b/doc/api/a00150.html @@ -3,8 +3,8 @@ - -GLM: xstream.hpp File Reference + +0.9.6: Common functions @@ -16,9 +16,9 @@ + @@ -26,52 +26,1098 @@
-
GLM -  0.9.5 +
0.9.6
- + - -
+
+Functions
-
xstream.hpp File Reference
+
Common functions
- -

Go to the source code of this file.

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

+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

-

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:

-

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_VIRTREV_xstream: xml like output

-
Date
2008-05-24 / 2008-05-26
-
Author
Mathieu Roumillac (matrem84.free.fr)
-
See Also
GLM Core (dependence)
-
-GLM_GTC_matrix_access (dependence)
+

These all operate component-wise.

+

The description is per component.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::abs (genType x)
+
-

Definition in file xstream.hpp.

-
+

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_source.html b/doc/api/a00150_source.html deleted file mode 100644 index 18172ea2..00000000 --- a/doc/api/a00150_source.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - -GLM: xstream.hpp Source File - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - -
-
-
-
xstream.hpp
-
-
-Go to the documentation of this file.
1 
-
39 #ifndef GLM_VIRTREV_xstream
-
40 #define GLM_VIRTREV_xstream GLM_VERSION
-
41 
-
42 #include "../glm.hpp"
-
43 #include "../gtc/matrix_access.hpp"
-
44 #include <iostream>
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_VIRTREV_xstream extension included")
-
48 #endif
-
49 /*
-
50 namespace glm{
-
51 namespace detail
-
52 {
-
53  template<typename T>
-
54  std::ostream & operator << (std::ostream & stream, glm::detail::tvec2<T, P> const & vec)
-
55  {
-
56  stream << "<glm_vec2 ";
-
57  stream << "x=\"" << vec.x << "\" ";
-
58  stream << "y=\"" << vec.y << "\" ";
-
59  stream << "/>";
-
60 
-
61  return stream;
-
62  }
-
63 
-
64  template<typename T>
-
65  std::ostream & operator << (std::ostream & stream, glm::detail::tvec3<T, P> const & vec)
-
66  {
-
67  stream << "<glm_vec3 ";
-
68  stream << "x=\"" << vec.x << "\" ";
-
69  stream << "y=\"" << vec.y << "\" ";
-
70  stream << "z=\"" << vec.z << "\" ";
-
71  stream << "/>";
-
72 
-
73  return stream;
-
74  }
-
75 
-
76  template<typename T>
-
77  std::ostream & operator << (std::ostream & stream, glm::detail::tvec4<T, P> const & vec)
-
78  {
-
79  stream << "<glm_vec4 ";
-
80  stream << "x=\"" << vec.x << "\" ";
-
81  stream << "y=\"" << vec.y << "\" ";
-
82  stream << "z=\"" << vec.z << "\" ";
-
83  stream << "w=\"" << vec.w << "\" ";
-
84  stream << "/>";
-
85 
-
86  return stream;
-
87  }
-
88 
-
89  template<typename T>
-
90  std::ostream & operator << (std::ostream & stream, glm::detail::tmat2x2<T, P> const & mat)
-
91  {
-
92  stream << "<glm_mat2>" << std::endl;
-
93  stream << "<row ";
-
94  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
-
95  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
-
96  stream << "/>" << std::endl;
-
97  stream << "<row ";
-
98  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
-
99  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
-
100  stream << "/>" << std::endl;
-
101  stream << "</glm_mat2>";
-
102 
-
103  return stream;
-
104  }
-
105 
-
106  template<typename T>
-
107  std::ostream & operator << (std::ostream & stream, glm::detail::tmat3x3<T, P> const & mat)
-
108  {
-
109  stream << "<glm_mat3>" << std::endl;
-
110  stream << "<row ";
-
111  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
-
112  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
-
113  stream << "z=\"" << glm::row(mat, 0)[2] << "\" ";
-
114  stream << "/>" << std::endl;
-
115  stream << "<row ";
-
116  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
-
117  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
-
118  stream << "z=\"" << glm::row(mat, 1)[2] << "\" ";
-
119  stream << "/>" << std::endl;
-
120  stream << "<row ";
-
121  stream << "x=\"" << glm::row(mat, 2)[0] << "\" ";
-
122  stream << "y=\"" << glm::row(mat, 2)[1] << "\" ";
-
123  stream << "z=\"" << glm::row(mat, 2)[2] << "\" ";
-
124  stream << "/>" << std::endl;
-
125  stream << "</glm_mat3>";
-
126 
-
127  return stream;
-
128  }
-
129 
-
130  template<typename T>
-
131  std::ostream & operator << (std::ostream & stream, glm::detail::tmat4x4<T, P> const & mat)
-
132  {
-
133  stream << "<glm_mat4>" << std::endl;
-
134  stream << "<row ";
-
135  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
-
136  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
-
137  stream << "z=\"" << glm::row(mat, 0)[2] << "\" ";
-
138  stream << "w=\"" << glm::row(mat, 0)[3] << "\" ";
-
139  stream << "/>" << std::endl;
-
140  stream << "<row ";
-
141  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
-
142  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
-
143  stream << "z=\"" << glm::row(mat, 1)[2] << "\" ";
-
144  stream << "w=\"" << glm::row(mat, 1)[3] << "\" ";
-
145  stream << "/>" << std::endl;
-
146  stream << "<row ";
-
147  stream << "x=\"" << glm::row(mat, 2)[0] << "\" ";
-
148  stream << "y=\"" << glm::row(mat, 2)[1] << "\" ";
-
149  stream << "z=\"" << glm::row(mat, 2)[2] << "\" ";
-
150  stream << "w=\"" << glm::row(mat, 2)[3] << "\" ";
-
151  stream << "/>" << std::endl;
-
152  stream << "<row ";
-
153  stream << "x=\"" << glm::row(mat, 3)[0] << "\" ";
-
154  stream << "y=\"" << glm::row(mat, 3)[1] << "\" ";
-
155  stream << "z=\"" << glm::row(mat, 3)[2] << "\" ";
-
156  stream << "w=\"" << glm::row(mat, 3)[3] << "\" ";
-
157  stream << "/>" << std::endl;
-
158  stream << "</glm_mat4>";
-
159 
-
160  return stream;
-
161  }
-
162 
-
163 }//namespace detail
-
164 }//namespace glm
-
165 */
-
166 #endif//GLM_VIRTREV_xstream
-
- - - - diff --git a/doc/api/a00151.html b/doc/api/a00151.html index 8e25d13f..a2bbaf9f 100644 --- a/doc/api/a00151.html +++ b/doc/api/a00151.html @@ -3,8 +3,8 @@ - -GLM: glm Namespace Reference + +0.9.6: Exponential functions @@ -16,9 +16,9 @@ + @@ -26,4041 +26,291 @@
-
GLM -  0.9.5 +
0.9.6
- + -
-Typedefs | Functions
-
glm Namespace Reference
+
Exponential functions
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef bool bool1
 
-typedef bool bool1x1
 
-typedef detail::tvec2< bool,
-highp > 
bool2
 
-typedef detail::tmat2x2< bool,
-highp > 
bool2x2
 
-typedef detail::tmat2x3< bool,
-highp > 
bool2x3
 
-typedef detail::tmat2x4< bool,
-highp > 
bool2x4
 
-typedef detail::tvec3< bool,
-highp > 
bool3
 
-typedef detail::tmat3x2< bool,
-highp > 
bool3x2
 
-typedef detail::tmat3x3< bool,
-highp > 
bool3x3
 
-typedef detail::tmat3x4< bool,
-highp > 
bool3x4
 
-typedef detail::tvec4< bool,
-highp > 
bool4
 
-typedef detail::tmat4x2< bool,
-highp > 
bool4x2
 
-typedef detail::tmat4x3< bool,
-highp > 
bool4x3
 
-typedef detail::tmat4x4< bool,
-highp > 
bool4x4
 
typedef highp_bvec1 bvec1
 
typedef highp_bvec2 bvec2
 
typedef highp_bvec3 bvec3
 
typedef highp_bvec4 bvec4
 
typedef detail::uint8 byte
 
typedef highp_ddualquat ddualquat
 
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 double double1
 
-typedef double double1x1
 
-typedef detail::tvec2< double,
-highp > 
double2
 
-typedef detail::tmat2x2
-< double, highp > 
double2x2
 
-typedef detail::tmat2x3
-< double, highp > 
double2x3
 
-typedef detail::tmat2x4
-< double, highp > 
double2x4
 
-typedef detail::tvec3< double,
-highp > 
double3
 
-typedef detail::tmat3x2
-< double, highp > 
double3x2
 
-typedef detail::tmat3x3
-< double, highp > 
double3x3
 
-typedef detail::tmat3x4
-< double, highp > 
double3x4
 
-typedef detail::tvec4< double,
-highp > 
double4
 
-typedef detail::tmat4x2
-< double, highp > 
double4x2
 
-typedef detail::tmat4x3
-< double, highp > 
double4x3
 
-typedef detail::tmat4x4
-< double, highp > 
double4x4
 
typedef highp_dquat dquat
 
typedef highp_fdualquat dualquat
 
typedef highp_dvec2 dvec2
 
typedef highp_dvec3 dvec3
 
typedef highp_dvec4 dvec4
 
typedef detail::uint32 dword
 
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_fdualquat fdualquat
 
-typedef float float1
 
-typedef float float1x1
 
-typedef detail::tvec2< float,
-highp > 
float2
 
-typedef detail::tmat2x2< float,
-highp > 
float2x2
 
-typedef detail::tmat2x3< float,
-highp > 
float2x3
 
-typedef detail::tmat2x4< float,
-highp > 
float2x4
 
-typedef detail::tvec3< float,
-highp > 
float3
 
typedef float float32
 
typedef highp_float32_t float32_t
 
-typedef detail::tmat3x2< float,
-highp > 
float3x2
 
-typedef detail::tmat3x3< float,
-highp > 
float3x3
 
-typedef detail::tmat3x4< float,
-highp > 
float3x4
 
-typedef detail::tvec4< float,
-highp > 
float4
 
-typedef detail::tmat4x2< float,
-highp > 
float4x2
 
-typedef detail::tmat4x3< float,
-highp > 
float4x3
 
-typedef detail::tmat4x4< float,
-highp > 
float4x4
 
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 highp_bvec1_t highp_bvec1
 
typedef detail::tvec2< bool,
-highp > 
highp_bvec2
 
typedef detail::tvec3< bool,
-highp > 
highp_bvec3
 
typedef detail::tvec4< bool,
-highp > 
highp_bvec4
 
typedef detail::tdualquat
-< double, highp > 
highp_ddualquat
 
typedef detail::tmat2x2
-< double, highp > 
highp_dmat2
 
typedef detail::tmat2x2
-< double, highp > 
highp_dmat2x2
 
typedef detail::tmat2x3
-< double, highp > 
highp_dmat2x3
 
typedef detail::tmat2x4
-< double, highp > 
highp_dmat2x4
 
typedef detail::tmat3x3
-< double, highp > 
highp_dmat3
 
typedef detail::tmat3x2
-< double, highp > 
highp_dmat3x2
 
typedef detail::tmat3x3
-< double, highp > 
highp_dmat3x3
 
typedef detail::tmat3x4
-< double, highp > 
highp_dmat3x4
 
typedef detail::tmat4x4
-< double, highp > 
highp_dmat4
 
typedef detail::tmat4x2
-< double, highp > 
highp_dmat4x2
 
typedef detail::tmat4x3
-< double, highp > 
highp_dmat4x3
 
typedef detail::tmat4x4
-< double, highp > 
highp_dmat4x4
 
typedef detail::tquat< double,
-highp > 
highp_dquat
 
typedef detail::tdualquat
-< float, highp > 
highp_dualquat
 
typedef detail::tvec2< double,
-highp > 
highp_dvec2
 
typedef detail::tvec3< double,
-highp > 
highp_dvec3
 
typedef detail::tvec4< double,
-highp > 
highp_dvec4
 
typedef float32 highp_f32
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef detail::tmat2x2< f32,
-highp > 
highp_f32mat2x2
 
typedef detail::tmat2x3< f32,
-highp > 
highp_f32mat2x3
 
typedef detail::tmat2x4< f32,
-highp > 
highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef detail::tmat3x2< f32,
-highp > 
highp_f32mat3x2
 
typedef detail::tmat3x3< f32,
-highp > 
highp_f32mat3x3
 
typedef detail::tmat3x4< f32,
-highp > 
highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef detail::tmat4x2< f32,
-highp > 
highp_f32mat4x2
 
typedef detail::tmat4x3< f32,
-highp > 
highp_f32mat4x3
 
typedef detail::tmat4x4< f32,
-highp > 
highp_f32mat4x4
 
typedef detail::tquat< f32, highp > highp_f32quat
 
typedef detail::tvec1< f32, highp > highp_f32vec1
 
typedef detail::tvec2< f32, highp > highp_f32vec2
 
typedef detail::tvec3< f32, highp > highp_f32vec3
 
typedef detail::tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef detail::tmat2x2< f64,
-highp > 
highp_f64mat2x2
 
typedef detail::tmat2x3< f64,
-highp > 
highp_f64mat2x3
 
typedef detail::tmat2x4< f64,
-highp > 
highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef detail::tmat3x2< f64,
-highp > 
highp_f64mat3x2
 
typedef detail::tmat3x3< f64,
-highp > 
highp_f64mat3x3
 
typedef detail::tmat3x4< f64,
-highp > 
highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef detail::tmat4x2< f64,
-highp > 
highp_f64mat4x2
 
typedef detail::tmat4x3< f64,
-highp > 
highp_f64mat4x3
 
typedef detail::tmat4x4< f64,
-highp > 
highp_f64mat4x4
 
typedef detail::tquat< f64, highp > highp_f64quat
 
typedef detail::tvec1< f64, highp > highp_f64vec1
 
typedef detail::tvec2< f64, highp > highp_f64vec2
 
typedef detail::tvec3< f64, highp > highp_f64vec3
 
typedef detail::tvec4< f64, highp > highp_f64vec4
 
typedef detail::tdualquat
-< float, highp > 
highp_fdualquat
 
typedef highp_float_t highp_float
 
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 detail::tmat2x2< f32,
-highp > 
highp_fmat2x2
 
typedef detail::tmat2x3< f32,
-highp > 
highp_fmat2x3
 
typedef detail::tmat2x4< f32,
-highp > 
highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef detail::tmat3x2< f32,
-highp > 
highp_fmat3x2
 
typedef detail::tmat3x3< f32,
-highp > 
highp_fmat3x3
 
typedef detail::tmat3x4< f32,
-highp > 
highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef detail::tmat4x2< f32,
-highp > 
highp_fmat4x2
 
typedef detail::tmat4x3< f32,
-highp > 
highp_fmat4x3
 
typedef detail::tmat4x4< f32,
-highp > 
highp_fmat4x4
 
typedef highp_quat highp_fquat
 
typedef detail::tvec1< float,
-highp > 
highp_fvec1
 
typedef detail::tvec2< float,
-highp > 
highp_fvec2
 
typedef detail::tvec3< float,
-highp > 
highp_fvec3
 
typedef detail::tvec4< float,
-highp > 
highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef detail::tvec1< i16, highp > highp_i16vec1
 
typedef detail::tvec2< i16, highp > highp_i16vec2
 
typedef detail::tvec3< i16, highp > highp_i16vec3
 
typedef detail::tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef detail::tvec1< i32, highp > highp_i32vec1
 
typedef detail::tvec2< i32, highp > highp_i32vec2
 
typedef detail::tvec3< i32, highp > highp_i32vec3
 
typedef detail::tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef detail::tvec1< i64, highp > highp_i64vec1
 
typedef detail::tvec2< i64, highp > highp_i64vec2
 
typedef detail::tvec3< i64, highp > highp_i64vec3
 
typedef detail::tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef detail::tvec1< i8, highp > highp_i8vec1
 
typedef detail::tvec2< i8, highp > highp_i8vec2
 
typedef detail::tvec3< i8, highp > highp_i8vec3
 
typedef detail::tvec4< i8, highp > highp_i8vec4
 
typedef detail::tmat2x2< int,
-highp > 
highp_imat2
 
typedef detail::tmat2x2< int,
-highp > 
highp_imat2x2
 
typedef detail::tmat2x3< int,
-highp > 
highp_imat2x3
 
typedef detail::tmat2x4< int,
-highp > 
highp_imat2x4
 
typedef detail::tmat3x3< int,
-highp > 
highp_imat3
 
typedef detail::tmat3x2< int,
-highp > 
highp_imat3x2
 
typedef detail::tmat3x3< int,
-highp > 
highp_imat3x3
 
typedef detail::tmat3x4< int,
-highp > 
highp_imat3x4
 
typedef detail::tmat4x4< int,
-highp > 
highp_imat4
 
typedef detail::tmat4x2< int,
-highp > 
highp_imat4x2
 
typedef detail::tmat4x3< int,
-highp > 
highp_imat4x3
 
typedef detail::tmat4x4< int,
-highp > 
highp_imat4x4
 
typedef detail::highp_int_t highp_int
 
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 highp_ivec1_t highp_ivec1
 
typedef detail::tvec2< int, highp > highp_ivec2
 
typedef detail::tvec3< int, highp > highp_ivec3
 
typedef detail::tvec4< int, highp > highp_ivec4
 
typedef detail::tmat2x2< float,
-highp > 
highp_mat2
 
typedef detail::tmat2x2< float,
-highp > 
highp_mat2x2
 
typedef detail::tmat2x3< float,
-highp > 
highp_mat2x3
 
typedef detail::tmat2x4< float,
-highp > 
highp_mat2x4
 
typedef detail::tmat3x3< float,
-highp > 
highp_mat3
 
typedef detail::tmat3x2< float,
-highp > 
highp_mat3x2
 
typedef detail::tmat3x3< float,
-highp > 
highp_mat3x3
 
typedef detail::tmat3x4< float,
-highp > 
highp_mat3x4
 
typedef detail::tmat4x4< float,
-highp > 
highp_mat4
 
typedef detail::tmat4x2< float,
-highp > 
highp_mat4x2
 
typedef detail::tmat4x3< float,
-highp > 
highp_mat4x3
 
typedef detail::tmat4x4< float,
-highp > 
highp_mat4x4
 
typedef detail::tquat< float,
-highp > 
highp_quat
 
typedef detail::uint16 highp_u16
 
typedef detail::tvec1< u16, highp > highp_u16vec1
 
typedef detail::tvec2< u16, highp > highp_u16vec2
 
typedef detail::tvec3< u16, highp > highp_u16vec3
 
typedef detail::tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef detail::tvec1< u32, highp > highp_u32vec1
 
typedef detail::tvec2< u32, highp > highp_u32vec2
 
typedef detail::tvec3< u32, highp > highp_u32vec3
 
typedef detail::tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef detail::tvec1< u64, highp > highp_u64vec1
 
typedef detail::tvec2< u64, highp > highp_u64vec2
 
typedef detail::tvec3< u64, highp > highp_u64vec3
 
typedef detail::tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef detail::tvec1< u8, highp > highp_u8vec1
 
typedef detail::tvec2< u8, highp > highp_u8vec2
 
typedef detail::tvec3< u8, highp > highp_u8vec3
 
typedef detail::tvec4< u8, highp > highp_u8vec4
 
typedef detail::highp_uint_t highp_uint
 
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::tmat2x2< uint,
-highp > 
highp_umat2
 
typedef detail::tmat2x2< uint,
-highp > 
highp_umat2x2
 
typedef detail::tmat2x3< uint,
-highp > 
highp_umat2x3
 
typedef detail::tmat2x4< uint,
-highp > 
highp_umat2x4
 
typedef detail::tmat3x3< uint,
-highp > 
highp_umat3
 
typedef detail::tmat3x2< uint,
-highp > 
highp_umat3x2
 
typedef detail::tmat3x3< uint,
-highp > 
highp_umat3x3
 
typedef detail::tmat3x4< uint,
-highp > 
highp_umat3x4
 
typedef detail::tmat4x4< uint,
-highp > 
highp_umat4
 
typedef detail::tmat4x2< uint,
-highp > 
highp_umat4x2
 
typedef detail::tmat4x3< uint,
-highp > 
highp_umat4x3
 
typedef detail::tmat4x4< uint,
-highp > 
highp_umat4x4
 
typedef highp_uvec1_t highp_uvec1
 
typedef detail::tvec2< uint,
-highp > 
highp_uvec2
 
typedef detail::tvec3< uint,
-highp > 
highp_uvec3
 
typedef detail::tvec4< uint,
-highp > 
highp_uvec4
 
typedef detail::tvec1< float,
-highp > 
highp_vec1
 
typedef detail::tvec2< float,
-highp > 
highp_vec2
 
typedef detail::tvec3< float,
-highp > 
highp_vec3
 
typedef detail::tvec4< float,
-highp > 
highp_vec4
 
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 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 int int1
 
typedef detail::int16 int16
 
typedef detail::int16 int16_t
 
-typedef int int1x1
 
-typedef detail::tvec2< int, highp > int2
 
-typedef detail::tmat2x2< int,
-highp > 
int2x2
 
-typedef detail::tmat2x3< int,
-highp > 
int2x3
 
-typedef detail::tmat2x4< int,
-highp > 
int2x4
 
-typedef detail::tvec3< int, highp > int3
 
typedef detail::int32 int32
 
typedef detail::int32 int32_t
 
-typedef detail::tmat3x2< int,
-highp > 
int3x2
 
-typedef detail::tmat3x3< int,
-highp > 
int3x3
 
-typedef detail::tmat3x4< int,
-highp > 
int3x4
 
-typedef detail::tvec4< int, highp > int4
 
-typedef detail::tmat4x2< int,
-highp > 
int4x2
 
-typedef detail::tmat4x3< int,
-highp > 
int4x3
 
-typedef detail::tmat4x4< int,
-highp > 
int4x4
 
typedef detail::int64 int64
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8
 
typedef detail::int8 int8_t
 
typedef highp_ivec1 ivec1
 
typedef highp_ivec2 ivec2
 
typedef highp_ivec3 ivec3
 
typedef highp_ivec4 ivec4
 
typedef lowp_bvec1_t lowp_bvec1
 
typedef detail::tvec2< bool, lowp > lowp_bvec2
 
typedef detail::tvec3< bool, lowp > lowp_bvec3
 
typedef detail::tvec4< bool, lowp > lowp_bvec4
 
typedef detail::tdualquat
-< double, lowp > 
lowp_ddualquat
 
typedef detail::tmat2x2
-< double, lowp > 
lowp_dmat2
 
typedef detail::tmat2x2
-< double, lowp > 
lowp_dmat2x2
 
typedef detail::tmat2x3
-< double, lowp > 
lowp_dmat2x3
 
typedef detail::tmat2x4
-< double, lowp > 
lowp_dmat2x4
 
typedef detail::tmat3x3< float,
-lowp > 
lowp_dmat3
 
typedef detail::tmat3x2
-< double, lowp > 
lowp_dmat3x2
 
typedef detail::tmat3x3
-< double, lowp > 
lowp_dmat3x3
 
typedef detail::tmat3x4
-< double, lowp > 
lowp_dmat3x4
 
typedef detail::tmat4x4
-< double, lowp > 
lowp_dmat4
 
typedef detail::tmat4x2
-< double, lowp > 
lowp_dmat4x2
 
typedef detail::tmat4x3
-< double, lowp > 
lowp_dmat4x3
 
typedef detail::tmat4x4
-< double, lowp > 
lowp_dmat4x4
 
typedef detail::tquat< double,
-lowp > 
lowp_dquat
 
typedef detail::tdualquat
-< float, lowp > 
lowp_dualquat
 
typedef detail::tvec2< double,
-lowp > 
lowp_dvec2
 
typedef detail::tvec3< double,
-lowp > 
lowp_dvec3
 
typedef detail::tvec4< double,
-lowp > 
lowp_dvec4
 
typedef float32 lowp_f32
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef detail::tmat2x2< f32,
-lowp > 
lowp_f32mat2x2
 
typedef detail::tmat2x3< f32,
-lowp > 
lowp_f32mat2x3
 
typedef detail::tmat2x4< f32,
-lowp > 
lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef detail::tmat3x2< f32,
-lowp > 
lowp_f32mat3x2
 
typedef detail::tmat3x3< f32,
-lowp > 
lowp_f32mat3x3
 
typedef detail::tmat3x4< f32,
-lowp > 
lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef detail::tmat4x2< f32,
-lowp > 
lowp_f32mat4x2
 
typedef detail::tmat4x3< f32,
-lowp > 
lowp_f32mat4x3
 
typedef detail::tmat4x4< f32,
-lowp > 
lowp_f32mat4x4
 
typedef detail::tquat< f32, lowp > lowp_f32quat
 
typedef detail::tvec1< f32, lowp > lowp_f32vec1
 
typedef detail::tvec2< f32, lowp > lowp_f32vec2
 
typedef detail::tvec3< f32, lowp > lowp_f32vec3
 
typedef detail::tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef detail::tmat2x2< f64,
-lowp > 
lowp_f64mat2x2
 
typedef detail::tmat2x3< f64,
-lowp > 
lowp_f64mat2x3
 
typedef detail::tmat2x4< f64,
-lowp > 
lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef detail::tmat3x2< f64,
-lowp > 
lowp_f64mat3x2
 
typedef detail::tmat3x3< f64,
-lowp > 
lowp_f64mat3x3
 
typedef detail::tmat3x4< f64,
-lowp > 
lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef detail::tmat4x2< f64,
-lowp > 
lowp_f64mat4x2
 
typedef detail::tmat4x3< f64,
-lowp > 
lowp_f64mat4x3
 
typedef detail::tmat4x4< f64,
-lowp > 
lowp_f64mat4x4
 
typedef detail::tquat< f64, lowp > lowp_f64quat
 
typedef detail::tvec1< f64, lowp > lowp_f64vec1
 
typedef detail::tvec2< f64, lowp > lowp_f64vec2
 
typedef detail::tvec3< f64, lowp > lowp_f64vec3
 
typedef detail::tvec4< f64, lowp > lowp_f64vec4
 
typedef detail::tdualquat
-< float, lowp > 
lowp_fdualquat
 
typedef lowp_float_t lowp_float
 
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 detail::tmat2x2< f32,
-lowp > 
lowp_fmat2x2
 
typedef detail::tmat2x3< f32,
-lowp > 
lowp_fmat2x3
 
typedef detail::tmat2x4< f32,
-lowp > 
lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef detail::tmat3x2< f32,
-lowp > 
lowp_fmat3x2
 
typedef detail::tmat3x3< f32,
-lowp > 
lowp_fmat3x3
 
typedef detail::tmat3x4< f32,
-lowp > 
lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef detail::tmat4x2< f32,
-lowp > 
lowp_fmat4x2
 
typedef detail::tmat4x3< f32,
-lowp > 
lowp_fmat4x3
 
typedef detail::tmat4x4< f32,
-lowp > 
lowp_fmat4x4
 
typedef lowp_quat lowp_fquat
 
typedef detail::tvec1< float,
-lowp > 
lowp_fvec1
 
typedef detail::tvec2< float,
-lowp > 
lowp_fvec2
 
typedef detail::tvec3< float,
-lowp > 
lowp_fvec3
 
typedef detail::tvec4< float,
-lowp > 
lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef detail::tvec1< i16, lowp > lowp_i16vec1
 
typedef detail::tvec2< i16, lowp > lowp_i16vec2
 
typedef detail::tvec3< i16, lowp > lowp_i16vec3
 
typedef detail::tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef detail::tvec1< i32, lowp > lowp_i32vec1
 
typedef detail::tvec2< i32, lowp > lowp_i32vec2
 
typedef detail::tvec3< i32, lowp > lowp_i32vec3
 
typedef detail::tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef detail::tvec1< i64, lowp > lowp_i64vec1
 
typedef detail::tvec2< i64, lowp > lowp_i64vec2
 
typedef detail::tvec3< i64, lowp > lowp_i64vec3
 
typedef detail::tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef detail::tvec1< i8, lowp > lowp_i8vec1
 
typedef detail::tvec2< i8, lowp > lowp_i8vec2
 
typedef detail::tvec3< i8, lowp > lowp_i8vec3
 
typedef detail::tvec4< i8, lowp > lowp_i8vec4
 
typedef detail::tmat2x2< int,
-lowp > 
lowp_imat2
 
typedef detail::tmat2x2< int,
-lowp > 
lowp_imat2x2
 
typedef detail::tmat2x3< int,
-lowp > 
lowp_imat2x3
 
typedef detail::tmat2x4< int,
-lowp > 
lowp_imat2x4
 
typedef detail::tmat3x3< int,
-lowp > 
lowp_imat3
 
typedef detail::tmat3x2< int,
-lowp > 
lowp_imat3x2
 
typedef detail::tmat3x3< int,
-lowp > 
lowp_imat3x3
 
typedef detail::tmat3x4< int,
-lowp > 
lowp_imat3x4
 
typedef detail::tmat4x4< int,
-lowp > 
lowp_imat4
 
typedef detail::tmat4x2< int,
-lowp > 
lowp_imat4x2
 
typedef detail::tmat4x3< int,
-lowp > 
lowp_imat4x3
 
typedef detail::tmat4x4< int,
-lowp > 
lowp_imat4x4
 
typedef detail::lowp_int_t lowp_int
 
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 lowp_ivec1_t lowp_ivec1
 
typedef detail::tvec2< int, lowp > lowp_ivec2
 
typedef detail::tvec3< int, lowp > lowp_ivec3
 
typedef detail::tvec4< int, lowp > lowp_ivec4
 
typedef detail::tmat2x2< float,
-lowp > 
lowp_mat2
 
typedef detail::tmat2x2< float,
-lowp > 
lowp_mat2x2
 
typedef detail::tmat2x3< float,
-lowp > 
lowp_mat2x3
 
typedef detail::tmat2x4< float,
-lowp > 
lowp_mat2x4
 
typedef detail::tmat3x3< float,
-lowp > 
lowp_mat3
 
typedef detail::tmat3x2< float,
-lowp > 
lowp_mat3x2
 
typedef detail::tmat3x3< float,
-lowp > 
lowp_mat3x3
 
typedef detail::tmat3x4< float,
-lowp > 
lowp_mat3x4
 
typedef detail::tmat4x4< float,
-lowp > 
lowp_mat4
 
typedef detail::tmat4x2< float,
-lowp > 
lowp_mat4x2
 
typedef detail::tmat4x3< float,
-lowp > 
lowp_mat4x3
 
typedef detail::tmat4x4< float,
-lowp > 
lowp_mat4x4
 
typedef detail::tquat< float,
-lowp > 
lowp_quat
 
typedef detail::uint16 lowp_u16
 
typedef detail::tvec1< u16, lowp > lowp_u16vec1
 
typedef detail::tvec2< u16, lowp > lowp_u16vec2
 
typedef detail::tvec3< u16, lowp > lowp_u16vec3
 
typedef detail::tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef detail::tvec1< u32, lowp > lowp_u32vec1
 
typedef detail::tvec2< u32, lowp > lowp_u32vec2
 
typedef detail::tvec3< u32, lowp > lowp_u32vec3
 
typedef detail::tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef detail::tvec1< u64, lowp > lowp_u64vec1
 
typedef detail::tvec2< u64, lowp > lowp_u64vec2
 
typedef detail::tvec3< u64, lowp > lowp_u64vec3
 
typedef detail::tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef detail::tvec1< u8, lowp > lowp_u8vec1
 
typedef detail::tvec2< u8, lowp > lowp_u8vec2
 
typedef detail::tvec3< u8, lowp > lowp_u8vec3
 
typedef detail::tvec4< u8, lowp > lowp_u8vec4
 
typedef detail::lowp_uint_t lowp_uint
 
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::tmat2x2< uint,
-lowp > 
lowp_umat2
 
typedef detail::tmat2x2< uint,
-lowp > 
lowp_umat2x2
 
typedef detail::tmat2x3< uint,
-lowp > 
lowp_umat2x3
 
typedef detail::tmat2x4< uint,
-lowp > 
lowp_umat2x4
 
typedef detail::tmat3x3< uint,
-lowp > 
lowp_umat3
 
typedef detail::tmat3x2< uint,
-lowp > 
lowp_umat3x2
 
typedef detail::tmat3x3< uint,
-lowp > 
lowp_umat3x3
 
typedef detail::tmat3x4< uint,
-lowp > 
lowp_umat3x4
 
typedef detail::tmat4x4< uint,
-lowp > 
lowp_umat4
 
typedef detail::tmat4x2< uint,
-lowp > 
lowp_umat4x2
 
typedef detail::tmat4x3< uint,
-lowp > 
lowp_umat4x3
 
typedef detail::tmat4x4< uint,
-lowp > 
lowp_umat4x4
 
typedef lowp_uvec1_t lowp_uvec1
 
typedef detail::tvec2< uint, lowp > lowp_uvec2
 
typedef detail::tvec3< uint, lowp > lowp_uvec3
 
typedef detail::tvec4< uint, lowp > lowp_uvec4
 
typedef detail::tvec1< float,
-lowp > 
lowp_vec1
 
typedef detail::tvec2< float,
-lowp > 
lowp_vec2
 
typedef detail::tvec3< float,
-lowp > 
lowp_vec3
 
typedef detail::tvec4< float,
-lowp > 
lowp_vec4
 
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 mediump_bvec1_t mediump_bvec1
 
typedef detail::tvec2< bool,
-mediump > 
mediump_bvec2
 
typedef detail::tvec3< bool,
-mediump > 
mediump_bvec3
 
typedef detail::tvec4< bool,
-mediump > 
mediump_bvec4
 
typedef detail::tdualquat
-< double, mediump > 
mediump_ddualquat
 
typedef detail::tmat2x2
-< double, mediump > 
mediump_dmat2
 
typedef detail::tmat2x2
-< double, mediump > 
mediump_dmat2x2
 
typedef detail::tmat2x3
-< double, mediump > 
mediump_dmat2x3
 
typedef detail::tmat2x4
-< double, mediump > 
mediump_dmat2x4
 
typedef detail::tmat3x3
-< double, mediump > 
mediump_dmat3
 
typedef detail::tmat3x2
-< double, mediump > 
mediump_dmat3x2
 
typedef detail::tmat3x3
-< double, mediump > 
mediump_dmat3x3
 
typedef detail::tmat3x4
-< double, mediump > 
mediump_dmat3x4
 
typedef detail::tmat4x4
-< double, mediump > 
mediump_dmat4
 
typedef detail::tmat4x2
-< double, mediump > 
mediump_dmat4x2
 
typedef detail::tmat4x3
-< double, mediump > 
mediump_dmat4x3
 
typedef detail::tmat4x4
-< double, mediump > 
mediump_dmat4x4
 
typedef detail::tquat< double,
-mediump > 
mediump_dquat
 
typedef detail::tdualquat
-< float, mediump > 
mediump_dualquat
 
typedef detail::tvec2< double,
-mediump > 
mediump_dvec2
 
typedef detail::tvec3< double,
-mediump > 
mediump_dvec3
 
typedef detail::tvec4< double,
-mediump > 
mediump_dvec4
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef detail::tmat2x2< f32,
-mediump > 
mediump_f32mat2x2
 
typedef detail::tmat2x3< f32,
-mediump > 
mediump_f32mat2x3
 
typedef detail::tmat2x4< f32,
-mediump > 
mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef detail::tmat3x2< f32,
-mediump > 
mediump_f32mat3x2
 
typedef detail::tmat3x3< f32,
-mediump > 
mediump_f32mat3x3
 
typedef detail::tmat3x4< f32,
-mediump > 
mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef detail::tmat4x2< f32,
-mediump > 
mediump_f32mat4x2
 
typedef detail::tmat4x3< f32,
-mediump > 
mediump_f32mat4x3
 
typedef detail::tmat4x4< f32,
-mediump > 
mediump_f32mat4x4
 
typedef detail::tquat< f32,
-mediump > 
mediump_f32quat
 
typedef detail::tvec1< f32,
-mediump > 
mediump_f32vec1
 
typedef detail::tvec2< f32,
-mediump > 
mediump_f32vec2
 
typedef detail::tvec3< f32,
-mediump > 
mediump_f32vec3
 
typedef detail::tvec4< f32,
-mediump > 
mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef detail::tmat2x2< f64,
-mediump > 
mediump_f64mat2x2
 
typedef detail::tmat2x3< f64,
-mediump > 
mediump_f64mat2x3
 
typedef detail::tmat2x4< f64,
-mediump > 
mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef detail::tmat3x2< f64,
-mediump > 
mediump_f64mat3x2
 
typedef detail::tmat3x3< f64,
-mediump > 
mediump_f64mat3x3
 
typedef detail::tmat3x4< f64,
-mediump > 
mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef detail::tmat4x2< f64,
-mediump > 
mediump_f64mat4x2
 
typedef detail::tmat4x3< f64,
-mediump > 
mediump_f64mat4x3
 
typedef detail::tmat4x4< f64,
-mediump > 
mediump_f64mat4x4
 
typedef detail::tquat< f64,
-mediump > 
mediump_f64quat
 
typedef detail::tvec1< f64,
-mediump > 
mediump_f64vec1
 
typedef detail::tvec2< f64,
-mediump > 
mediump_f64vec2
 
typedef detail::tvec3< f64,
-mediump > 
mediump_f64vec3
 
typedef detail::tvec4< f64,
-mediump > 
mediump_f64vec4
 
typedef detail::tdualquat
-< float, mediump > 
mediump_fdualquat
 
typedef mediump_float_t mediump_float
 
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 detail::tmat2x2< f32,
-mediump > 
mediump_fmat2x2
 
typedef detail::tmat2x3< f32,
-mediump > 
mediump_fmat2x3
 
typedef detail::tmat2x4< f32,
-mediump > 
mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef detail::tmat3x2< f32,
-mediump > 
mediump_fmat3x2
 
typedef detail::tmat3x3< f32,
-mediump > 
mediump_fmat3x3
 
typedef detail::tmat3x4< f32,
-mediump > 
mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef detail::tmat4x2< f32,
-mediump > 
mediump_fmat4x2
 
typedef detail::tmat4x3< f32,
-mediump > 
mediump_fmat4x3
 
typedef detail::tmat4x4< f32,
-mediump > 
mediump_fmat4x4
 
typedef mediump_quat mediump_fquat
 
typedef detail::tvec1< float,
-mediump > 
mediump_fvec1
 
typedef detail::tvec2< float,
-mediump > 
mediump_fvec2
 
typedef detail::tvec3< float,
-mediump > 
mediump_fvec3
 
typedef detail::tvec4< float,
-mediump > 
mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef detail::tvec1< i16,
-mediump > 
mediump_i16vec1
 
typedef detail::tvec2< i16,
-mediump > 
mediump_i16vec2
 
typedef detail::tvec3< i16,
-mediump > 
mediump_i16vec3
 
typedef detail::tvec4< i16,
-mediump > 
mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef detail::tvec1< i32,
-mediump > 
mediump_i32vec1
 
typedef detail::tvec2< i32,
-mediump > 
mediump_i32vec2
 
typedef detail::tvec3< i32,
-mediump > 
mediump_i32vec3
 
typedef detail::tvec4< i32,
-mediump > 
mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef detail::tvec1< i64,
-mediump > 
mediump_i64vec1
 
typedef detail::tvec2< i64,
-mediump > 
mediump_i64vec2
 
typedef detail::tvec3< i64,
-mediump > 
mediump_i64vec3
 
typedef detail::tvec4< i64,
-mediump > 
mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef detail::tvec1< i8,
-mediump > 
mediump_i8vec1
 
typedef detail::tvec2< i8,
-mediump > 
mediump_i8vec2
 
typedef detail::tvec3< i8,
-mediump > 
mediump_i8vec3
 
typedef detail::tvec4< i8,
-mediump > 
mediump_i8vec4
 
typedef detail::tmat2x2< int,
-mediump > 
mediump_imat2
 
typedef detail::tmat2x2< int,
-mediump > 
mediump_imat2x2
 
typedef detail::tmat2x3< int,
-mediump > 
mediump_imat2x3
 
typedef detail::tmat2x4< int,
-mediump > 
mediump_imat2x4
 
typedef detail::tmat3x3< int,
-mediump > 
mediump_imat3
 
typedef detail::tmat3x2< int,
-mediump > 
mediump_imat3x2
 
typedef detail::tmat3x3< int,
-mediump > 
mediump_imat3x3
 
typedef detail::tmat3x4< int,
-mediump > 
mediump_imat3x4
 
typedef detail::tmat4x4< int,
-mediump > 
mediump_imat4
 
typedef detail::tmat4x2< int,
-mediump > 
mediump_imat4x2
 
typedef detail::tmat4x3< int,
-mediump > 
mediump_imat4x3
 
typedef detail::tmat4x4< int,
-mediump > 
mediump_imat4x4
 
typedef detail::mediump_int_t mediump_int
 
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 mediump_ivec1_t mediump_ivec1
 
typedef detail::tvec2< int,
-mediump > 
mediump_ivec2
 
typedef detail::tvec3< int,
-mediump > 
mediump_ivec3
 
typedef detail::tvec4< int,
-mediump > 
mediump_ivec4
 
typedef detail::tmat2x2< float,
-mediump > 
mediump_mat2
 
typedef detail::tmat2x2< float,
-mediump > 
mediump_mat2x2
 
typedef detail::tmat2x3< float,
-mediump > 
mediump_mat2x3
 
typedef detail::tmat2x4< float,
-mediump > 
mediump_mat2x4
 
typedef detail::tmat3x3< float,
-mediump > 
mediump_mat3
 
typedef detail::tmat3x2< float,
-mediump > 
mediump_mat3x2
 
typedef detail::tmat3x3< float,
-mediump > 
mediump_mat3x3
 
typedef detail::tmat3x4< float,
-mediump > 
mediump_mat3x4
 
typedef detail::tmat4x4< float,
-mediump > 
mediump_mat4
 
typedef detail::tmat4x2< float,
-mediump > 
mediump_mat4x2
 
typedef detail::tmat4x3< float,
-mediump > 
mediump_mat4x3
 
typedef detail::tmat4x4< float,
-mediump > 
mediump_mat4x4
 
typedef detail::tquat< float,
-mediump > 
mediump_quat
 
typedef detail::uint16 mediump_u16
 
typedef detail::tvec1< u16,
-mediump > 
mediump_u16vec1
 
typedef detail::tvec2< u16,
-mediump > 
mediump_u16vec2
 
typedef detail::tvec3< u16,
-mediump > 
mediump_u16vec3
 
typedef detail::tvec4< u16,
-mediump > 
mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef detail::tvec1< u32,
-mediump > 
mediump_u32vec1
 
typedef detail::tvec2< u32,
-mediump > 
mediump_u32vec2
 
typedef detail::tvec3< u32,
-mediump > 
mediump_u32vec3
 
typedef detail::tvec4< u32,
-mediump > 
mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef detail::tvec1< u64,
-mediump > 
mediump_u64vec1
 
typedef detail::tvec2< u64,
-mediump > 
mediump_u64vec2
 
typedef detail::tvec3< u64,
-mediump > 
mediump_u64vec3
 
typedef detail::tvec4< u64,
-mediump > 
mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef detail::tvec1< u8,
-mediump > 
mediump_u8vec1
 
typedef detail::tvec2< u8,
-mediump > 
mediump_u8vec2
 
typedef detail::tvec3< u8,
-mediump > 
mediump_u8vec3
 
typedef detail::tvec4< u8,
-mediump > 
mediump_u8vec4
 
typedef detail::mediump_uint_t mediump_uint
 
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::tmat2x2< uint,
-mediump > 
mediump_umat2
 
typedef detail::tmat2x2< uint,
-mediump > 
mediump_umat2x2
 
typedef detail::tmat2x3< uint,
-mediump > 
mediump_umat2x3
 
typedef detail::tmat2x4< uint,
-mediump > 
mediump_umat2x4
 
typedef detail::tmat3x3< uint,
-mediump > 
mediump_umat3
 
typedef detail::tmat3x2< uint,
-mediump > 
mediump_umat3x2
 
typedef detail::tmat3x3< uint,
-mediump > 
mediump_umat3x3
 
typedef detail::tmat3x4< uint,
-mediump > 
mediump_umat3x4
 
typedef detail::tmat4x4< uint,
-mediump > 
mediump_umat4
 
typedef detail::tmat4x2< uint,
-mediump > 
mediump_umat4x2
 
typedef detail::tmat4x3< uint,
-mediump > 
mediump_umat4x3
 
typedef detail::tmat4x4< uint,
-mediump > 
mediump_umat4x4
 
typedef mediump_uvec1_t mediump_uvec1
 
typedef detail::tvec2< uint,
-mediump > 
mediump_uvec2
 
typedef detail::tvec3< uint,
-mediump > 
mediump_uvec3
 
typedef detail::tvec4< uint,
-mediump > 
mediump_uvec4
 
typedef detail::tvec1< float,
-mediump > 
mediump_vec1
 
typedef detail::tvec2< float,
-mediump > 
mediump_vec2
 
typedef detail::tvec3< float,
-mediump > 
mediump_vec3
 
typedef detail::tvec4< float,
-mediump > 
mediump_vec4
 
-typedef highp_quat quat
 
typedef detail::uint64 qword
 
typedef signed int sint
 
typedef detail::tvec2
-< std::size_t, defaultp > 
size2
 
typedef detail::tvec2
-< std::size_t, defaultp > 
size2_t
 
typedef detail::tvec3
-< std::size_t, defaultp > 
size3
 
typedef detail::tvec3
-< std::size_t, defaultp > 
size3_t
 
typedef detail::tvec4
-< std::size_t, defaultp > 
size4
 
typedef detail::tvec4
-< std::size_t, defaultp > 
size4_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 unsigned int uint
 
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
 
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
 
typedef highp_uvec1 uvec1
 
typedef highp_uvec2 uvec2
 
typedef highp_uvec3 uvec3
 
typedef highp_uvec4 uvec4
 
typedef highp_vec1 vec1
 
typedef highp_vec2 vec2
 
typedef highp_vec3 vec3
 
typedef highp_vec4 vec4
 
typedef detail::uint16 word
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType abs (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acos (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acosh (genType const &x)
 
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_QUALIFIER genType affineInverse (genType const &m)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool all (vecType< bool, P > const &v)
 
template<typename vecType >
GLM_FUNC_QUALIFIER
-vecType::value_type 
angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T angle (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > angleAxis (T const &angle, detail::tvec3< T, P > const &axis)
 
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>
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>
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>
bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
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 asin (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asinh (genType const &x)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genType >
GLM_FUNC_DECL genType atan (genType const &y, genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType atan (genType const &y_over_x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec2< T, P > 
atan2 (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
atan2 (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
atan2 (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y)
 
template<typename genType >
GLM_FUNC_DECL genType atanh (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > axis (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
void axisAngle (detail::tmat4x4< T, P > const &mat, detail::tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > axisAngleMatrix (detail::tvec3< T, P > const &axis, T const angle)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
ballRand (T const &Radius)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
-::signed_type 
bitCount (genIUType< T > const &Value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldExtract (genIUType const &Value, int const &Offset, int const &Bits)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldInsert (genIUType const &Base, genIUType const &Insert, int const &Offset, int const &Bits)
 
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 bitfieldReverse (genIUType const &Value)
 
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL
-genType 
bitRevert (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateLeft (genType const &In, std::size_t Shift)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateRight (genType const &In, std::size_t Shift)
 
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 ceil (genType const &x)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
circularRand (T const &Radius)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &x, genType const &minVal, genType const &maxVal)
 
template<typename T , precision P>
detail::tvec3< T, P > closestPointOnLine (detail::tvec3< T, P > const &point, detail::tvec3< T, P > const &a, detail::tvec3< T, P > const &b)
 
template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tmat4x4< T, P > const &m)
 
template<typename genType >
genType::col_type column (genType const &m, length_t const &index)
 
template<typename genType >
genType column (genType const &m, length_t const &index, typename genType::col_type const &x)
 
template<typename genType >
genType::value_type compAdd (genType const &v)
 
template<typename genType >
genType::value_type compMax (genType const &v)
 
template<typename genType >
genType::value_type compMin (genType const &v)
 
template<typename genType >
genType::value_type compMul (genType const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > conjugate (detail::tquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType cos (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType cosh (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tvec3< T, P > const &v, detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > cross (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
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 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 degrees (genType const &radians)
 
template<typename T , precision P>
detail::tmat2x2< T, P > diagonal2x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x3< T, P > diagonal2x3 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x4< T, P > diagonal2x4 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x2< T, P > diagonal3x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x3< T, P > diagonal3x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x4< T, P > diagonal3x4 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x2< T, P > diagonal4x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x3< T, P > diagonal4x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > diagonal4x4 (detail::tvec4< T, P > const &v)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
diskRand (T const &Radius)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance (genType const &p0, genType const &p1)
 
template<typename T >
distance2 (T const &p0, T const &p1)
 
template<typename genType >
genType::value_type distance2 (genType const &p0, genType 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 dot (genType const &x, genType const &y)
 
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>
detail::tdualquat< T, P > dualquat_cast (detail::tmat2x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat3x4< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
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 detail::tvec4
-< bool, P > 
equal (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
detail::tvec3< T, P > euclidean (detail::tvec2< T, P > const &polar)
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles (detail::tquat< T, P > const &x)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename genType >
GLM_FUNC_DECL genType exp (genType const &x)
 
template<typename T , precision P>
detail::tquat< T, P > exp (detail::tquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType exp2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
template<typename T , precision P>
detail::tmat4x4< T, P > extractMatrixRotation (detail::tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
extractRealComponent (detail::tquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename genType >
genType factorial (genType const &x)
 
template<typename T >
fastAcos (const T &angle)
 
template<typename T >
fastAsin (const T &angle)
 
template<typename T >
fastAtan (const T &y, const T &x)
 
template<typename T >
fastAtan (const T &angle)
 
template<typename T >
fastCos (const T &angle)
 
template<typename genType >
genType::value_type fastDistance (genType const &x, genType const &y)
 
template<typename T >
fastExp (const T &x)
 
template<typename T >
fastExp2 (const T &x)
 
template<typename genType >
genType fastInverseSqrt (genType const &x)
 
template<typename genType >
genType::value_type fastLength (genType const &x)
 
template<typename T >
fastLn (const T &x)
 
template<typename T >
fastLog (const T &x)
 
template<typename T >
fastLog2 (const T &x)
 
template<typename T , precision P>
detail::tquat< T, P > fastMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename genType >
genType fastNormalize (genType const &x)
 
template<typename genType >
genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
genType fastPow (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT fastPow (genTypeT const &x, genTypeU const &y)
 
template<typename T >
fastSin (const T &angle)
 
template<typename genType >
genType fastSqrt (genType const &x)
 
template<typename T >
fastTan (const T &angle)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
-::signed_type 
findLSB (genIUType< T > const &Value)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
-::signed_type 
findMSB (genIUType< T > 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< uintfloat_distance (vecType< T > const &x, vecType< T > const &y)
 
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 genType >
GLM_FUNC_DECL genType floor (genType const &x)
 
unsigned int floor_log2 (unsigned int 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 const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType frexp (genType const &x, genIType &exp)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType const &Mean, genType const &Deviation)
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
-::bool_type 
greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
greaterThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
-::bool_type 
greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
greaterThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
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)
 
template<typename genType >
genType higherMultiple (genType const &Source, genType const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType highestBitValue (genType const &value)
 
template<typename T , precision P>
detail::tvec3< T, P > hsvColor (detail::tvec3< T, P > const &rgbValue)
 
template<typename genIType >
GLM_FUNC_DECL void imulExtended (genIType const &x, genIType const &y, genIType &msb, genIType &lsb)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
infinitePerspective (T fovy, T aspect, T near)
 
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>
detail::tquat< T, P > intermediate (detail::tquat< T, P > const &prev, detail::tquat< T, P > const &curr, detail::tquat< T, P > const &next)
 
template<typename T , precision P>
detail::tmat4x4< T, P > interpolate (detail::tmat4x4< T, P > const &m1, detail::tmat4x4< T, P > const &m2, T const delta)
 
template<typename genType >
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 >
bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
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 >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
template<typename T , precision P>
detail::tdualquat< T, P > inverse (detail::tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > inverse (detail::tquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType inversesqrt (genType const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER
-genType::value_type 
inverseTranspose (genType const &m)
 
template<typename T , precision P, template< typename, precision > class vecType>
vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
-template<typename genType >
bool isfinite (genType const &x)
 
-template<typename T , precision P>
detail::tvec2< bool, P > isfinite (const detail::tvec2< T, P > &x)
 
-template<typename T , precision P>
detail::tvec3< bool, P > isfinite (const detail::tvec3< T, P > &x)
 
-template<typename T , precision P>
detail::tvec4< bool, P > isfinite (const detail::tvec4< T, P > &x)
 
template<typename T , precision P, template< typename, precision > class matType>
bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isinf (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isnan (genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool isPowerOfTwo (genType const &value)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType ldexp (genType const &x, genIType const &exp)
 
template<typename T , precision P>
bool leftHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (detail::tquat< T, P > const &q)
 
template<typename T >
length2 (T const &x)
 
template<typename genType >
genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
length2 (detail::tquat< T, P > const &q)
 
-template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, const detail::tvec2< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, const detail::tvec3< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, const detail::tvec4< T, P > &a)
 
template<typename T , precision P>
detail::tdualquat< T, P > lerp (detail::tdualquat< T, P > const &x, detail::tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > lerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
lessThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
-::bool_type 
lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
lessThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
linearGradient (detail::tvec2< T, P > const &Point0, detail::tvec2< T, P > const &Point1, detail::tvec2< T, P > const &Position)
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType const &Min, genType const &Max)
 
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 >
genType log (genType const &x, genType const &base)
 
template<typename genType >
GLM_FUNC_DECL genType log (genType const &x)
 
template<typename T , precision P>
detail::tquat< T, P > log (detail::tquat< T, P > const &q)
 
template<typename genIUType >
genIUType log2 (genIUType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType log2 (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
lookAt (detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
 
template<typename genType >
genType lowerMultiple (genType const &Source, genType const &Multiple)
 
template<typename T , precision P>
luminosity (detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, unsigned int Depth)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x2
-< T, defaultp > 
make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x2
-< T, defaultp > 
make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x3
-< T, defaultp > 
make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x4
-< T, defaultp > 
make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
-< T, defaultp > 
make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x2
-< T, defaultp > 
make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
-< T, defaultp > 
make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x4
-< T, defaultp > 
make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x2
-< T, defaultp > 
make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x3
-< T, defaultp > 
make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tquat< T,
-defaultp > 
make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec4< T,
-defaultp > 
make_vec4 (T const *const ptr)
 
template<typename genIType >
GLM_FUNC_DECL genIType mask (genIType const &count)
 
template<typename T , precision P>
detail::tmat2x4< T, P > mat2x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat3x3
-< T, P > 
mat3_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat3x4< T, P > mat3x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
mat4_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat3x3< T, P > matrixCross3 (detail::tvec3< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > matrixCross4 (detail::tvec3< T, P > const &x)
 
template<typename T >
max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
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>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
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>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename genType >
GLM_FUNC_DECL genType max (genType const &x, genType const &y)
 
template<typename T >
min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
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>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
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>
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 min (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > mix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT const &x, genTypeT const &y, genTypeU const &a)
 
-template<typename T , precision P>
mixedProduct (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
int mod (int x, int y)
 
uint mod (uint x, uint y)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType const &x, typename genType::value_type const &y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType const &x, genType &i)
 
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)
 
uint nlz (uint x)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec2
-< typename genType::value_type,
-defaultp > 
noise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec3
-< typename genType::value_type,
-defaultp > 
noise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec4
-< typename genType::value_type,
-defaultp > 
noise4 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType normalize (genType const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > normalize (detail::tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > normalize (detail::tquat< T, P > const &q)
 
template<typename genType >
genType::value_type normalizeDot (genType const &x, genType 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< T, P >
-::bool_type 
notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
notEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
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 T >
detail::tmat2x2< T, defaultp > orientate2 (T const &angle)
 
template<typename T >
detail::tmat3x3< T, defaultp > orientate3 (T const &angle)
 
template<typename T , precision P>
detail::tmat3x3< T, P > orientate3 (detail::tvec3< T, P > const &angles)
 
template<typename T , precision P>
detail::tmat4x4< T, P > orientate4 (detail::tvec3< T, P > const &angles)
 
template<typename T , precision P>
detail::tmat4x4< T, P > orientation (detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec2< T, P > const &x, detail::tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, detail::tvec3< T, P > const &ref)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top)
 
template<typename T , precision P>
detail::tmat3x3< T, P > orthonormalize (const detail::tmat3x3< T, P > &m)
 
template<typename T , precision P>
detail::tvec3< T, P > orthonormalize (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float const &v)
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float const &s)
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 
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 uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float const &v)
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &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 uint packUnorm4x8 (vec4 const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename vecType >
vecType perp (vecType const &x, vecType const &Normal)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
perspective (T const &fovy, T const &aspect, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
perspectiveFov (T const &fov, T const &width, T const &height, T const &near, T const &far)
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
pickMatrix (detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tvec3< T, P > polar (detail::tvec3< T, P > const &euclidean)
 
int pow (int x, int y)
 
template<typename genType >
GLM_FUNC_DECL genType pow (genType const &base, genType const &exponent)
 
uint pow (uint x, uint y)
 
template<typename T , precision P>
detail::tquat< T, P > pow (detail::tquat< T, P > const &x, T const &y)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoAbove (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoBelow (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoNearest (genType const &value)
 
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 vecType >
vecType proj (vecType const &x, vecType const &Normal)
 
template<typename T , precision P>
detail::tmat3x3< T, P > proj2D (const detail::tmat3x3< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename T , precision P>
detail::tmat4x4< T, P > proj3D (const detail::tmat4x4< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > project (detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
radialGradient (detail::tvec2< T, P > const &Center, T const &Radius, detail::tvec2< T, P > const &Focal, detail::tvec2< T, P > const &Position)
 
template<typename genType >
GLM_FUNC_DECL genType radians (genType const &degrees)
 
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 const &eta)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 
template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCg (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCgR (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > rgbColor (detail::tvec3< T, P > const &hsvValue)
 
template<typename T , precision P>
bool rightHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (detail::tquat< T, P > const &x)
 
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 T , precision P>
detail::tvec2< T, P > rotate (detail::tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tvec3< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rotate (T angle, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tvec4< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
rotate (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > rotate (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rotateNormalizedAxis (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tquat< T, P > rotateNormalizedAxis (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateX (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateX (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateY (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateY (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateZ (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateZ (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tquat< T, P > rotation (detail::tvec3< T, P > const &orig, detail::tvec3< T, P > const &dest)
 
template<typename genType >
GLM_FUNC_DECL genType round (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType roundEven (genType const &x)
 
template<typename genType >
genType::row_type row (genType const &m, length_t const &index)
 
template<typename genType >
genType row (genType const &m, length_t const &index, typename genType::row_type const &x)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tmat4x4< T, P > const &m)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec2< T, P > 
saturate (const detail::tvec2< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
saturate (const detail::tvec3< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
saturate (const detail::tvec4< T, P > &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > saturation (T const s)
 
template<typename T , precision P>
detail::tvec3< T, P > saturation (T const s, detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec4< T, P > saturation (T const s, detail::tvec4< T, P > const &color)
 
template<typename T , precision P>
detail::tmat4x4< T, P > scale (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
scale (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (detail::tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearX2D (detail::tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearX3D (const detail::tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearY2D (detail::tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearY3D (const detail::tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearZ3D (const detail::tmat4x4< T, P > &m, T x, T y)
 
template<typename T , precision P>
detail::tquat< T, P > shortMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename genType >
GLM_FUNC_DECL genType sign (genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
simplex (vecType< T, P > const &p)
 
template<typename genType >
GLM_FUNC_DECL genType sin (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sinh (genType const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType const &edge0, genType const &edge1, genType const &x)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
sphericalRand (T const &Radius)
 
int sqrt (int x)
 
uint sqrt (uint x)
 
template<typename genType >
GLM_FUNC_DECL genType sqrt (genType const &x)
 
template<typename T , precision P>
detail::tquat< T, P > squad (detail::tquat< T, P > const &q1, detail::tquat< T, P > const &q2, detail::tquat< T, P > const &s1, detail::tquat< T, P > const &s2, T const &h)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType const &edge, genType const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T const &edge, vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType tan (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType tanh (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
std::string to_string (genType const &x)
 
template<typename T , precision P>
detail::tmat3x3< T, P > toMat3 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > toMat4 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > translate (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
translate (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec3< T, P > triangleNormal (detail::tvec3< T, P > const &p1, detail::tvec3< T, P > const &p2, detail::tvec3< T, P > const &p3)
 
template<typename genType >
GLM_FUNC_DECL genType trunc (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
tweakedInfinitePerspective (T fovy, T aspect, T near)
 
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_thirds ()
 
template<typename genUType >
GLM_FUNC_DECL genUType uaddCarry (genUType const &x, genUType const &y, genUType &carry)
 
-GLM_DEPRECATED dword uint10_10_10_2_cast (glm::vec4 const &v)
 
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 genUType >
GLM_FUNC_DECL void umulExtended (genUType const &x, genUType const &y, genUType &msb, genUType &lsb)
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 const &p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 const &v)
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint const &v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 const &p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint const &p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint const &p)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > unProject (detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
template<typename genUType >
GLM_FUNC_DECL genUType usubBorrow (genUType const &x, genUType const &y, genUType &borrow)
 
template<typename genType >
GLM_FUNC_DECL
-genType::value_type const * 
value_ptr (genType const &vec)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (detail::tquat< T, P > const &x)
 
template<typename T >
detail::tmat4x4< T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCg2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCgR2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 
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:

-

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.

-

Typedef Documentation

- +

These all operate component-wise.

+

The description is per component.

+

Function Documentation

+
- + + + + +
typedef highp_bvec1 bvec1GLM_FUNC_DECL vecType<T, P> glm::exp (vecType< T, P > const & v)
-

1 component vector of boolean.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 122 of file vec1.hpp.

+

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
- +
- + + + + +
typedef highp_dquat dquatGLM_FUNC_DECL vecType<T, P> glm::exp2 (vecType< T, P > const & v)
-

Quaternion of default double-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 118 of file fwd.hpp.

+

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
- +
- + + + + +
typedef highp_bvec1_t highp_bvec1GLM_FUNC_DECL vecType<T, P> glm::inversesqrt (vecType< T, P > const & v)
-

1 component vector of high precision boolean.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 98 of file vec1.hpp.

+

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
- +
- + + + + +
typedef detail::tquat<double, highp> highp_dquatGLM_FUNC_DECL vecType<T, P> glm::log (vecType< T, P > const & v)
-

Quaternion of high double-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 106 of file fwd.hpp.

+

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
- +
- + + + + +
typedef highp_quat highp_fquatGLM_FUNC_DECL vecType<T, P> glm::log2 (vecType< T, P > const & v)
-

Quaternion of high single-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 85 of file fwd.hpp.

+

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
- +
- + + + + + + + + + + + + + + +
typedef highp_ivec1_t highp_ivec1GLM_FUNC_DECL vecType<T, P> glm::pow (vecType< T, P > const & base,
vecType< T, P > const & exponent 
)
-

1 component vector of high precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 68 of file vec1.hpp.

+

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
- +
- + + + + +
typedef detail::tquat<float, highp> highp_quatGLM_FUNC_DECL vecType<T, P> glm::sqrt (vecType< T, P > const & v)
-

Quaternion of high single-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 59 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef highp_uvec1_t highp_uvec1
-
- -

1 component vector of high precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 83 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef highp_ivec1 ivec1
-
- -

1 component vector of signed integer numbers.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 146 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef lowp_bvec1_t lowp_bvec1
-
- -

1 component vector of low precision boolean.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 108 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<double, lowp> lowp_dquat
-
- -

Quaternion of low double-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 96 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_quat lowp_fquat
-
- -

Quaternion of low single-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 75 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_ivec1_t lowp_ivec1
-
- -

1 component vector of low precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 78 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<float, lowp> lowp_quat
-
- -

Quaternion of low single-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 49 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef lowp_uvec1_t lowp_uvec1
-
- -

1 component vector of low precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 93 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef mediump_bvec1_t mediump_bvec1
-
- -

1 component vector of medium precision boolean.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 103 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<double, mediump> mediump_dquat
-
- -

Quaternion of medium double-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 101 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_quat mediump_fquat
-
- -

Quaternion of medium single-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 80 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_ivec1_t mediump_ivec1
-
- -

1 component vector of medium precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 73 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<float, mediump> mediump_quat
-
- -

Quaternion of medium single-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 54 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef mediump_uvec1_t mediump_uvec1
-
- -

1 component vector of medium precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 88 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef highp_uvec1 uvec1
-
- -

1 component vector of unsigned integer numbers.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 158 of file vec1.hpp.

- -
-
- -
-
- - - - -
typedef highp_vec1 vec1
-
- -

1 component vector of floating-point numbers.

-
See Also
GLM_GTX_vec1 extension.
- -

Definition at line 134 of file vec1.hpp.

+

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
@@ -4069,7 +319,7 @@ genType::value_type const *  diff --git a/doc/api/a00152.html b/doc/api/a00152.html new file mode 100644 index 00000000..926a00a0 --- /dev/null +++ b/doc/api/a00152.html @@ -0,0 +1,367 @@ + + + + + + +0.9.6: Geometric functions + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + +
+
+ +
+
Geometric functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+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)
 
+

Detailed Description

+

These operate on vectors as vectors, not component-wise.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::cross (tvec3< T, P > const & x,
tvec3< T, P > const & y 
)
+
+ +

Returns the cross product of x and y.

+
Template Parameters
+ + +
valTypeFloating-point scalar types.
+
+
+
See also
GLSL cross man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::distance (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
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
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 genType glm::faceforward (genType const & N,
genType const & I,
genType 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
+ +
+
+
+ + + + diff --git a/doc/api/a00153.html b/doc/api/a00153.html new file mode 100644 index 00000000..14b09521 --- /dev/null +++ b/doc/api/a00153.html @@ -0,0 +1,577 @@ + + + + + + +0.9.6: Integer functions + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + +
+
+ +
+
Integer functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+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)
 
+

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.

+

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
+ +
+
+ +
+
+ + + + + + + + +
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 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 vecType<int, P> glm::findLSB (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 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
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<int, P> glm::findMSB (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
+ + +
TSigned or unsigned integer scalar types.
+
+
+
See also
GLSL findMSB man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL void glm::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.

+

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

+
Template Parameters
+ + +
genITypeSigned integer scalar or vector types.
+
+
+
See also
GLSL imulExtended man page
+
+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
+ +
+
+
+ + + + diff --git a/doc/api/a00154.html b/doc/api/a00154.html new file mode 100644 index 00000000..f6b2b7f8 --- /dev/null +++ b/doc/api/a00154.html @@ -0,0 +1,212 @@ + + + + + + +0.9.6: Matrix functions + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + +
+
+ +
+
Matrix functions
+
+
+ + + + + + + + + + + + + + +

+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)
 
+

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.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::determinant (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
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL matType<T, P> glm::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 y[i][j].

+
Template Parameters
+ + +
matTypeFloating-point matrix types.
+
+
+
See also
GLSL matrixCompMult man page
+
+GLSL 4.20.8 specification, section 8.6 Matrix Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type glm::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 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.6 Matrix Functions
+ +
+
+
+ + + + diff --git a/doc/api/a00155.html b/doc/api/a00155.html index 11a0e56b..cd9b8d9d 100644 --- a/doc/api/a00155.html +++ b/doc/api/a00155.html @@ -3,8 +3,8 @@ - -GLM: Common functions + +0.9.6: Noise functions @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,112 +39,38 @@
Functions
-
Common functions
+
Noise functions
GLM Core
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType abs (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType ceil (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &x, genType const &minVal, genType const &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 genType >
GLM_FUNC_DECL genType floor (genType 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 const &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 genType >
GLM_FUNC_DECL genType::bool_type isinf (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isnan (genType 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 const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType min (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT const &x, genTypeT const &y, genTypeU const &a)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType const &x, typename genType::value_type const &y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType const &x, genType &i)
 
template<typename genType >
GLM_FUNC_DECL genType round (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType roundEven (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType sign (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType const &edge0, genType const &edge1, genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType const &edge, genType const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T const &edge, vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType trunc (genType 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 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

-

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

- +
- + @@ -155,25 +79,25 @@ Functions
GLM_FUNC_DECL genType glm::abs GLM_FUNC_DECL genType::value_type glm::noise1 ( genType const &  x)
-

Returns x if x >= 0; otherwise, it returns -x.

+

Returns a 1D noise value based on the input value x.

Template Parameters
- +
genTypefloating-point or signed integer; scalar or vector types.
genTypeFloating-point scalar or vector types.
-
See Also
GLSL abs man page
+
See also
GLSL noise1 man page
-GLSL 4.20.8 specification, section 8.3 Common Functions
+GLSL 4.20.8 specification, section 8.13 Noise Functions
- +
- + @@ -182,158 +106,25 @@ Functions
GLM_FUNC_DECL genType glm::ceil GLM_FUNC_DECL tvec2<typename genType::value_type, defaultp> glm::noise2 ( genType const &  x)
-

Returns a value equal to the nearest integer that is greater than or equal to x.

+

Returns a 2D noise value based on the input value x.

Template Parameters
genTypeFloating-point scalar or vector types.
-
See Also
GLSL ceil man page
+
See also
GLSL noise2 man page
-GLSL 4.20.8 specification, section 8.3 Common Functions
+GLSL 4.20.8 specification, section 8.13 Noise Functions
- +
- - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::clamp (genType const & x,
genType const & minVal,
genType const & 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
- -
-
- -
-
- - - + @@ -342,68 +133,25 @@ Functions
GLM_FUNC_DECL genType glm::floor GLM_FUNC_DECL tvec3<typename genType::value_type, defaultp> glm::noise3 ( genType const &  x)
-

Returns a value equal to the nearest integer that is less then or equal to x.

+

Returns a 3D noise value based on the input value x.

Template Parameters
genTypeFloating-point scalar or vector types.
-
See Also
GLSL floor man page
+
See also
GLSL noise3 man page
-GLSL 4.20.8 specification, section 8.3 Common Functions
+GLSL 4.20.8 specification, section 8.13 Noise 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
- -
-
- -
-
- - - + @@ -412,713 +160,16 @@ Functions
GLM_FUNC_DECL genType glm::fract GLM_FUNC_DECL tvec4<typename genType::value_type, defaultp> glm::noise4 ( genType const &  x)
-

Return x - floor(x).

+

Returns a 4D noise value based on the input value x.

Template Parameters
genTypeFloating-point scalar or vector types.
-
See Also
GLSL fract man page
+
See also
GLSL noise4 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 genType::bool_type glm::isinf (genType 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 genType::bool_type glm::isnan (genType 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 const & x,
genType const & 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 const & x,
genType const & 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<<<<<<< HEAD
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genTypeT glm::mix (genTypeT const & x,
genTypeT const & y,
genTypeU 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 const & x,
genType const & 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::mod (genType const & x,
typename genType::value_type const & 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 const & 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 genType glm::round (genType 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 genType glm::roundEven (genType 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 genType glm::sign (genType 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 const & edge0,
genType const & edge1,
genType const & 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 const & edge,
genType const & 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 (T 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 genType glm::trunc (genType 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
+GLSL 4.20.8 specification, section 8.13 Noise Functions
@@ -1127,7 +178,7 @@ Functions diff --git a/doc/api/a00156.html b/doc/api/a00156.html index 6bc3a166..945df16f 100644 --- a/doc/api/a00156.html +++ b/doc/api/a00156.html @@ -3,8 +3,8 @@ - -GLM: Exponential functions + +0.9.6: Floating-Point Pack and Unpack Functions @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,278 +39,317 @@
Functions
-
Exponential functions
+
Floating-Point Pack and Unpack Functions
GLM Core
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType exp (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType exp2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType inversesqrt (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType log (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType log2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow (genType const &base, genType const &exponent)
 
template<typename genType >
GLM_FUNC_DECL genType sqrt (genType const &x)
 
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)
 

Detailed Description

-

These all operate component-wise.

-

The description is per component.

+

These functions do not operate component-wise, rather as described in each case.

Function Documentation

- +
- + - - + +
GLM_FUNC_DECL genType glm::exp GLM_FUNC_DECL double glm::packDouble2x32 (genType const & x)uvec2 const & v)
-

Returns the natural exponentiation of x, i.e., e^x.

-
Parameters
- - -
xexp function is defined for input values of x 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
+

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.2 Exponential Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::exp2 GLM_FUNC_DECL uint glm::packHalf2x16 (genType const & x)vec2 const & v)
-

Returns 2 raised to the x power.

-
Parameters
- - -
xexp2 function is defined for input values of x 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
+

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.2 Exponential Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::inversesqrt GLM_FUNC_DECL uint glm::packSnorm2x16 (genType const & x)vec2 const & v)
-

Returns the reciprocal of the positive square root of x.

-
Parameters
- - -
xinversesqrt function is defined for input values of x 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
+

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.2 Exponential Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::log GLM_FUNC_DECL uint glm::packSnorm4x8 (genType const & x)vec4 const & v)
-

Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y.

-

Results are undefined if x <= 0.

-
Parameters
- - -
xlog function is defined for input values of x 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
+

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.2 Exponential Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - + +
GLM_FUNC_DECL genType glm::log2 GLM_FUNC_DECL uint glm::packUnorm2x16 (genType const & x)vec2 const & v)
-

Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y.

-
Parameters
- - -
xlog2 function is defined for input values of x 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
+

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.2 Exponential Functions
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::pow GLM_FUNC_DECL uint glm::packUnorm4x8 (genType const & base,
genType const & exponent 
)
-
- -

Returns 'base' raised to the power 'exponent'.

-
Parameters
- - - -
baseFloating point value. pow function is defined for input values of x 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 genType glm::sqrt (genType const & x)vec4 const & v)
-

Returns the positive square root of x.

-
Parameters
- - -
xsqrt function is defined for input values of x 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
+

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.2 Exponential Functions
+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
@@ -321,7 +358,7 @@ Functions diff --git a/doc/api/a00157.html b/doc/api/a00157.html index 65f31ed2..4aadf22c 100644 --- a/doc/api/a00157.html +++ b/doc/api/a00157.html @@ -3,8 +3,8 @@ - -GLM: Geometric functions + +0.9.6: Angle and Trigonometry Functions @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,297 +39,189 @@
Functions
-
Geometric functions
+
Angle and Trigonometry Functions
GLM Core
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > cross (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance (genType const &p0, genType 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 dot (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType normalize (genType 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 const &eta)
 
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

-

These operate on vectors as vectors, not component-wise.

+

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 detail::tvec3<T, P> glm::cross (detail::tvec3< T, P > const & x,
detail::tvec3< T, P > const & y 
)
-
- -

Returns the cross product of x and y.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See Also
GLSL cross man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType::value_type glm::distance (genType const & p0,
genType 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
- -
-
- -
-
- - - + - - - - - - - - - - - - - -
GLM_FUNC_DECL T glm::dot GLM_FUNC_DECL vecType<T, P> glm::acos ( 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 genType glm::dot (genType const & x,
genType 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 genType glm::faceforward (genType const & N,
genType const & I,
genType 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 genType::value_type glm::length (genType const &  x)
-

Returns the length of x, i.e., sqrt(x * 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 vector types.
genTypeFloating-point scalar or vector types.
-
See Also
GLSL length man page
+
See also
GLSL acos man page
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- +
- + - +
GLM_FUNC_DECL genType glm::normalize GLM_FUNC_DECL vecType<T, P> glm::acosh (genType const & vecType< T, P > const &  x)
-

Returns a vector in the same direction as x but with length of 1.

-
See Also
GLSL normalize man page
+

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.5 Geometric Functions
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- +
- + - - + + + + +
GLM_FUNC_DECL genType glm::reflect GLM_FUNC_DECL vecType<T, P> glm::asin (genType const & I, 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
+ +
+
+ +
+
+ + + + + + - - + + @@ -341,59 +231,293 @@ Functions
GLM_FUNC_DECL vecType<T, P> glm::atan (vecType< T, P > const & y,
genType const & N vecType< T, P > const & x 
-

For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.

+

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 vector types.
genTypeFloating-point scalar or vector types.
-
See Also
GLSL reflect man page
+
See also
GLSL atan man page
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +

Referenced by glm::atan2().

- +
- + - - - - + - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<T, P> glm::refract GLM_FUNC_DECL vecType<T, P> glm::atan ( vecType< T, P > const & I,
y_over_x) vecType< T, P > const & N,
T const & eta 
)
-

For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

+

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 vector types.
genTypeFloating-point scalar or vector types.
-
See Also
GLSL refract man page
+
See also
GLSL atan man page
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
+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
@@ -402,7 +526,7 @@ Functions diff --git a/doc/api/a00158.html b/doc/api/a00158.html index 42fbe5c8..9c4d408b 100644 --- a/doc/api/a00158.html +++ b/doc/api/a00158.html @@ -3,8 +3,8 @@ - -GLM: Integer functions + +0.9.6: Vector Relational Functions @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,286 +39,114 @@
Functions
-
Integer functions
+
Vector Relational Functions
GLM Core
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
-::signed_type 
bitCount (genIUType< T > const &Value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldExtract (genIUType const &Value, int const &Offset, int const &Bits)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldInsert (genIUType const &Base, genIUType const &Insert, int const &Offset, int const &Bits)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldReverse (genIUType const &Value)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
-::signed_type 
findLSB (genIUType< T > const &Value)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
-::signed_type 
findMSB (genIUType< T > const &Value)
 
template<typename genIType >
GLM_FUNC_DECL void imulExtended (genIType const &x, genIType const &y, genIType &msb, genIType &lsb)
 
template<typename genUType >
GLM_FUNC_DECL genUType uaddCarry (genUType const &x, genUType const &y, genUType &carry)
 
template<typename genUType >
GLM_FUNC_DECL void umulExtended (genUType const &x, genUType const &y, genUType &msb, genUType &lsb)
 
template<typename genUType >
GLM_FUNC_DECL genUType usubBorrow (genUType const &x, genUType const &y, genUType &borrow)
 
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

-

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.

+

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 genIUType<T>::signed_type glm::bitCount GLM_FUNC_DECL bool glm::all (genIUType< T > const & Value)vecType< bool, P > const & v)
-

Returns the number of bits set to 1 in the binary representation of value.

+

Returns true if all components of x are true.

Template Parameters
- +
genIUTypeSigned or unsigned integer scalar or vector types.
vecTypeBoolean vector types.
-
See Also
GLSL bitCount man page
+
See also
GLSL all man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
-
Todo:
Clarify the declaration to specify that scalars are suported.
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- +
- + - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genIUType glm::bitfieldExtract GLM_FUNC_DECL bool glm::any (genIUType const & Value,
int const & Offset,
int const & 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
- - -
genIUTypeSigned 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 genIUType glm::bitfieldInsert (genIUType const & Base,
genIUType const & Insert,
int const & Offset,
int const & 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
- - -
genIUTypeSigned 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 genIUType glm::bitfieldReverse (genIUType const & Value)vecType< bool, 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.

+

Returns true if any component of x is true.

Template Parameters
- +
genIUTypeSigned or unsigned integer scalar or vector types.
vecTypeBoolean vector types.
-
See Also
GLSL bitfieldReverse man page
+
See also
GLSL any man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- +
- + - - - - -
GLM_FUNC_DECL genIUType<T>::signed_type glm::findLSB GLM_FUNC_DECL vecType<bool, P> glm::equal (genIUType< T > const & Value)
-
- -

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
- - -
genIUTypeSigned or unsigned integer scalar or vector types.
-
-
-
See Also
GLSL findLSB man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
-
Todo:
Clarify the declaration to specify that scalars are suported.
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genIUType<T>::signed_type glm::findMSB (genIUType< T > const & Value)
-
- -

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
- - -
genIUTypeSigned or unsigned integer scalar or vector types.
-
-
-
See Also
GLSL findMSB man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
-
Todo:
Clarify the declaration to specify that scalars are suported.
- -
-
- -
-
- - - - - + - - - - - - - - - - - - - - + + @@ -330,41 +156,34 @@ Functions
GLM_FUNC_DECL void glm::imulExtended (genIType const & vecType< T, P > const &  x,
genIType const & y,
genIType & msb,
genIType & lsb vecType< T, P > const & y 
-

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.

+

Returns the component-wise comparison of result x == y.

Template Parameters
- +
genITypeSigned integer scalar or vector types.
vecTypeFloating-point, integer or boolean vector types.
-
See Also
GLSL imulExtended man page
+
See also
GLSL equal man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- +
- + - + - - - - - - - - + + @@ -374,47 +193,34 @@ Functions
GLM_FUNC_DECL genUType glm::uaddCarry GLM_FUNC_DECL vecType<bool, P> glm::greaterThan (genUType const & vecType< T, P > const &  x,
genUType const & y,
genUType & carry vecType< T, P > const & y 
-

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.

+

Returns the component-wise comparison of result x > y.

Template Parameters
- +
genUTypeUnsigned integer scalar or vector types.
vecTypeFloating-point or integer vector types.
-
See Also
GLSL uaddCarry man page
+
See also
GLSL greaterThan man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- +
- + - + - - - - - - - - - - - - - - + + @@ -424,41 +230,34 @@ Functions
GLM_FUNC_DECL void glm::umulExtended GLM_FUNC_DECL vecType<bool, P> glm::greaterThanEqual (genUType const & vecType< T, P > const &  x,
genUType const & y,
genUType & msb,
genUType & lsb vecType< T, P > const & y 
-

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.

+

Returns the component-wise comparison of result x >= y.

Template Parameters
- +
genUTypeUnsigned integer scalar or vector types.
vecTypeFloating-point or integer vector types.
-
See Also
GLSL umulExtended man page
+
See also
GLSL greaterThanEqual man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- +
- + - + - - - - - - - - + + @@ -468,17 +267,118 @@ Functions
GLM_FUNC_DECL genUType glm::usubBorrow GLM_FUNC_DECL vecType<bool, P> glm::lessThan (genUType const & vecType< T, P > const &  x,
genUType const & y,
genUType & borrow vecType< T, P > const & y 
-

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.

+

Returns the component-wise comparison result of x < y.

Template Parameters
- +
genUTypeUnsigned integer scalar or vector types.
vecTypeFloating-point or integer vector types.
-
See Also
GLSL usubBorrow man page
+
See also
GLSL lessThan man page
-GLSL 4.20.8 specification, section 8.8 Integer Functions
+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
@@ -487,7 +387,7 @@ Functions diff --git a/doc/api/a00159.html b/doc/api/a00159.html index 475d61f3..a6d9d0e9 100644 --- a/doc/api/a00159.html +++ b/doc/api/a00159.html @@ -3,8 +3,8 @@ - -GLM: Matrix functions + +0.9.6: GTC Extensions (Stable) @@ -16,9 +16,9 @@ + @@ -26,30 +26,72 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Modules
-
Matrix functions
+
GTC Extensions (Stable)
-

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.

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

+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
 
+

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.

diff --git a/doc/api/a00160.html b/doc/api/a00160.html index 602d4953..a6e66c0e 100644 --- a/doc/api/a00160.html +++ b/doc/api/a00160.html @@ -3,8 +3,8 @@ - -GLM: Noise functions + +0.9.6: GTX Extensions (Experimental) @@ -16,9 +16,9 @@ + @@ -26,164 +26,152 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Functions
+Modules
-
Noise functions
+
GTX Extensions (Experimental)
- - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Functions

template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec2
-< typename genType::value_type,
-defaultp > 
noise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec3
-< typename genType::value_type,
-defaultp > 
noise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec4
-< typename genType::value_type,
-defaultp > 
noise4 (genType const &x)
 

+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_inertia
 
 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
 

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.

-

Function Documentation

- -
-
- - - - - - - - -
GLM_FUNC_DECL genType::value_type glm::noise1 (genType const & x)
-
- -

Returns a 1D noise value based on the input value x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL noise1 man page
-
-GLSL 4.20.8 specification, section 8.13 Noise Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL detail::tvec2<typename genType::value_type, defaultp> glm::noise2 (genType const & x)
-
- -

Returns a 2D noise value based on the input value x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL noise2 man page
-
-GLSL 4.20.8 specification, section 8.13 Noise Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL detail::tvec3<typename genType::value_type, defaultp> glm::noise3 (genType const & x)
-
- -

Returns a 3D noise value based on the input value x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL noise3 man page
-
-GLSL 4.20.8 specification, section 8.13 Noise Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL detail::tvec4<typename genType::value_type, defaultp> glm::noise4 (genType const & x)
-
- -

Returns a 4D noise value based on the input value x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL noise4 man page
-
-GLSL 4.20.8 specification, section 8.13 Noise Functions
- -
-
+

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/a00161.html b/doc/api/a00161.html index ea425517..0c81ab43 100644 --- a/doc/api/a00161.html +++ b/doc/api/a00161.html @@ -3,8 +3,8 @@ - -GLM: Floating-Point Pack and Unpack Functions + +0.9.6: GLM Core @@ -16,9 +16,9 @@ + @@ -26,341 +26,61 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Functions
+Modules
-
Floating-Point Pack and Unpack Functions
+
GLM Core
- - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +

-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)
 

+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

-

These functions do not operate component-wise, rather as described in each case.

-

Function Documentation

- -
-
- - - - - - - - -
GLM_FUNC_DECL double glm::packDouble2x32 (uvec2 const & v)
-
- -

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.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint glm::packHalf2x16 (vec2 const & v)
-
- -

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.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint glm::packSnorm2x16 (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: 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.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL uint glm::packSnorm4x8 (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: 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)
-
- -

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 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
- -
-
+

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/a00162.html b/doc/api/a00162.html index e4b7706f..c50f724f 100644 --- a/doc/api/a00162.html +++ b/doc/api/a00162.html @@ -3,8 +3,8 @@ - -GLM: Angle and Trigonometry Functions + +0.9.6: Types @@ -16,9 +16,9 @@ + @@ -26,500 +26,774 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Functions
+Modules | +Typedefs
-
Angle and Trigonometry Functions
+
Types
GLM Core
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +

-Functions

template<typename genType >
GLM_FUNC_DECL genType acos (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acosh (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asin (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asinh (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType atan (genType const &y, genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType atan (genType const &y_over_x)
 
template<typename genType >
GLM_FUNC_DECL genType atanh (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType cos (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType cosh (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType degrees (genType const &radians)
 
template<typename genType >
GLM_FUNC_DECL genType radians (genType const &degrees)
 
template<typename genType >
GLM_FUNC_DECL genType sin (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sinh (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType tan (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType tanh (genType const &angle)
 

+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

-

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

- +

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

+
- - - - - +
GLM_FUNC_DECL genType glm::acos (genType const & x)typedef highp_bvec2 bvec2
-

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
+

2 components vector of boolean.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 500 of file type_vec.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::acosh (genType const & x)typedef highp_bvec3 bvec3
-

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
+

3 components vector of boolean.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 505 of file type_vec.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::asin (genType const & x)typedef highp_bvec4 bvec4
-

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
+

4 components vector of boolean.

+
See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 510 of file type_vec.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::asinh (genType const & x)typedef highp_dmat2x2 dmat2
-

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
+

2 * 2 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 729 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL genType glm::atan (genType const & y,
genType const & x 
)typedef highp_dmat2x2 dmat2x2
-

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
+

2 * 2 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-

Referenced by glm::atan2().

+

Definition at line 744 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::atan (genType const & y_over_x)typedef highp_dmat2x3 dmat2x3
-

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
+

2 * 3 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 749 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::atanh (genType const & x)typedef highp_dmat2x4 dmat2x4
-

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
+

2 * 4 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 754 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::cos (genType const & angle)typedef highp_dmat3x3 dmat3
-

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
+

3 * 3 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 734 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::cosh (genType const & angle)typedef highp_dmat3x2 dmat3x2
-

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
+

3 * 2 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 759 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::degrees (genType const & radians)typedef highp_dmat3x3 dmat3x3
-

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
+

3 * 3 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 764 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::radians (genType const & degrees)typedef highp_dmat3x4 dmat3x4
-

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
+

3 * 4 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 769 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::sin (genType const & angle)typedef highp_dmat4x4 dmat4
-

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
+

4 * 4 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 739 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::sinh (genType const & angle)typedef highp_dmat4x2 dmat4x2
-

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
+

4 * 2 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 774 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::tan (genType const & angle)typedef highp_dmat4x3 dmat4x3
-

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
+

4 * 3 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 779 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL genType glm::tanh (genType const & angle)typedef highp_dmat4x4 dmat4x4
-

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
+

4 * 4 matrix of double-precision floating-point numbers.

+
See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 784 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 416 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 421 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 426 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 428 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 381 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 386 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 391 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 433 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 396 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 401 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 406 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 438 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 411 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 416 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 421 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 472 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 477 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 482 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 388 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 393 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 398 of file type_vec.hpp.

@@ -528,7 +802,7 @@ Functions diff --git a/doc/api/a00163.html b/doc/api/a00163.html index 0281d229..fe402e79 100644 --- a/doc/api/a00163.html +++ b/doc/api/a00163.html @@ -3,8 +3,8 @@ - -GLM: Vector Relational Functions + +0.9.6: Precision types @@ -16,9 +16,9 @@ + @@ -26,303 +26,2793 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Functions
+Typedefs
-
Vector Relational Functions
+
Precision types
GLM CoreGLM Core » | Types
- - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-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< T, P >
-::bool_type 
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< T, P >
-::bool_type 
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< T, P >
-::bool_type 
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< T, P >
-::bool_type 
notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 

+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

-

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

- +

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 bool glm::all (vecType< bool, P > const & v)typedef tvec2<bool, highp> highp_bvec2
-

Returns true if all components of x are true.

-
Template Parameters
- - -
vecTypeBoolean vector types.
-
-
-
See Also
GLSL all man page
+

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 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 149 of file type_vec.hpp.

- +
- - - - - +
GLM_FUNC_DECL bool glm::any (vecType< bool, P > const & v)typedef tvec3<bool, highp> highp_bvec3
-

Returns true if any component of x is true.

-
Template Parameters
- - -
vecTypeBoolean vector types.
-
-
-
See Also
GLSL any man page
+

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 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 259 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL vecType<T, P>::bool_type glm::greaterThan (vecType< T, P > const & x,
vecType< T, P > const & y 
)typedef tvec4<bool, highp> highp_bvec4
-

Returns the component-wise comparison of result x > y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See Also
GLSL greaterThan man page
+

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 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 354 of file type_vec.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL vecType<T, P>::bool_type glm::greaterThanEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)typedef tmat2x2<double, highp> highp_dmat2
-

Returns the component-wise comparison of result x >= y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See Also
GLSL greaterThanEqual man page
+

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 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 462 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL vecType<T, P>::bool_type glm::lessThanEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)typedef tmat2x2<double, highp> highp_dmat2x2
-

Returns the component-wise comparison result of x < y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See Also
GLSL lessThan man page
+

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 8.7 Vector Relational Functions 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
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 480 of file type_mat.hpp.

- +
- - - - - +
GLM_FUNC_DECL vecType<bool, P> glm::not_ (vecType< bool, P > const & v)typedef tmat2x3<double, highp> highp_dmat2x3
-

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
+

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 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 503 of file type_mat.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL vecType<T, P>::bool_type glm::notEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)typedef tmat2x4<double, highp> highp_dmat2x4
-

Returns the component-wise comparison of result x == y.

-
Template Parameters
- - -
vecTypeFloating-point, integer or boolean vector types.
-
-
-
See Also
GLSL equal man page
+

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 8.7 Vector Relational Functions 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 4.7.2 Precision Qualifier
+ +

Definition at line 526 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 8.7 Vector Relational Functions
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + +

Definition at line 572 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 549 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 590 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 613 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 682 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 636 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 659 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 700 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 86 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 197 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 300 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 66 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 252 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 107 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 218 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 318 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 75 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 96 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 122 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 148 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 200 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 174 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 221 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 247 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 326 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 273 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 299 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 347 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 273 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 128 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 239 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 336 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 65 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 176 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 282 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 163 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 271 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 366 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 450 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 468 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 491 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 514 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 560 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 537 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 578 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 601 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 670 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 624 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 647 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 688 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 100 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 211 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 312 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 52 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 238 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 121 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 232 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 330 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 61 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 82 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 108 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 134 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 186 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 160 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 207 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 233 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 312 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 259 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 285 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 333 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 259 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 142 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 253 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 348 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 79 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 190 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 294 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 156 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 265 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 360 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 456 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 474 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 497 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 520 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 566 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 543 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 584 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 607 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 676 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 630 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 653 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 694 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 93 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 204 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 306 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 59 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 245 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 114 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 225 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 324 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 68 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 89 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 115 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 141 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 193 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 167 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 214 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 240 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 319 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 266 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 292 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 340 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 266 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 135 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 246 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 342 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 72 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 183 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 288 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 302 of file type_int.hpp.

@@ -331,7 +2821,7 @@ Functions diff --git a/doc/api/a00164.html b/doc/api/a00164.html index f980d10d..d3ca3d51 100644 --- a/doc/api/a00164.html +++ b/doc/api/a00164.html @@ -3,8 +3,8 @@ - -GLM: GTC Extensions (Stable) + +0.9.6: Template types @@ -16,9 +16,9 @@ + @@ -26,70 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Modules
-
GTC Extensions (Stable)
+
Template types
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Modules

 GLM_GTC_constants
 
 GLM_GTC_epsilon
 
 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_type_precision
 
 GLM_GTC_type_ptr
 
 GLM_GTC_ulp
 
 GLM_GTX_dual_quaternion
 
 GLM_GTX_rotate_normalized_axis
 
-

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.

+

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/a00165.html b/doc/api/a00165.html index bfe1a6ef..113ac77e 100644 --- a/doc/api/a00165.html +++ b/doc/api/a00165.html @@ -3,8 +3,8 @@ - -GLM: GTX Extensions (Experimental) + +0.9.6: GLM_GTC_bitfield @@ -16,9 +16,9 @@ + @@ -26,138 +26,960 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Modules
+Functions
-
GTX Extensions (Experimental)
+
GLM_GTC_bitfield
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Modules

 GLM_GTX_associated_min_max
 
 GLM_GTX_bit
 
 GLM_GTX_closest_point
 
 GLM_GTX_color_space
 
 GLM_GTX_color_space_YCoCg
 
 GLM_GTX_compatibility
 
 GLM_GTX_component_wise
 
 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_inertia
 
 GLM_GTX_integer
 
 GLM_GTX_intersect
 
 GLM_GTX_io
 
 GLM_GTX_log_base
 
 GLM_GTX_matrix_cross_product
 
 GLM_GTX_matrix_interpolation
 
 GLM_GTX_matrix_major_storage
 
 GLM_GTX_matrix_operation
 
 GLM_GTX_matrix_query
 
 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_raw_data
 
 GLM_GTX_rotate_vector
 
 GLM_GTX_simd_mat4
 
 GLM_GTX_simd_quat
 
 GLM_GTX_spline
 
 GLM_GTX_std_based_type
 
 GLM_GTX_string_cast
 
 GLM_GTX_transform
 
 GLM_GTX_transform2
 
 GLM_GTX_vec1
 
 GLM_GTX_vector_angle
 
 GLM_GTX_vector_query
 
 GLM_GTX_wrap
 

+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)
 

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.

+

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 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 & 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
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::bitfieldFillZero (vecType< T, P > const & Value,
int FirstBit,
int BitCount 
)
+
+ +

Set to 0 a range of bits.

+
See also
GLM_GTC_bitfield
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int16 glm::bitfieldInterleave (int8 x,
int8 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 uint16 glm::bitfieldInterleave (uint8 x,
uint8 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 (int16 x,
int16 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 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
+ +
+
diff --git a/doc/api/a00166.html b/doc/api/a00166.html index 106aae89..e826af18 100644 --- a/doc/api/a00166.html +++ b/doc/api/a00166.html @@ -3,8 +3,8 @@ - -GLM: VIRTREV Extensions + +0.9.6: GLM_GTC_constants @@ -16,9 +16,9 @@ + @@ -26,38 +26,645 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Modules
+Functions
-
VIRTREV Extensions
+
GLM_GTC_constants
GTC Extensions (Stable)
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Modules

 GLM_VIRTREV_xstream: xml like output
 

+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

-

Extensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660).

+

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
+ +
+
diff --git a/doc/api/a00167.html b/doc/api/a00167.html index b0ba2d4d..beb713ca 100644 --- a/doc/api/a00167.html +++ b/doc/api/a00167.html @@ -3,8 +3,8 @@ - -GLM: GLM Core + +0.9.6: GLM_GTC_epsilon @@ -16,9 +16,9 @@ + @@ -26,63 +26,192 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Modules
+Functions
-
GLM Core
+
GLM_GTC_epsilon
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +

-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
 

+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

-

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). There are a few differences between GLM core and GLSL.

-

GLM core functionnalities require <glm/glm.hpp> to be included to be used.

+

Comparison functions for a user defined epsilon values.

+

<glm/gtc/epsilon.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::epsilonEqual (vecType< T, P > const & x,
vecType< T, P > const & y,
T const & epsilon 
)
+
+ +

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is satisfied.

+
See also
GLM_GTC_epsilon
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::epsilonEqual (genType const & x,
genType const & y,
genType const & epsilon 
)
+
+ +

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is satisfied.

+
See also
GLM_GTC_epsilon
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType::boolType glm::epsilonNotEqual (genType const & x,
genType const & y,
typename genType::value_type const & epsilon 
)
+
+ +

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is not satisfied.

+
See also
GLM_GTC_epsilon
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::epsilonNotEqual (genType const & x,
genType const & y,
genType const & epsilon 
)
+
+ +

Returns the component-wise comparison of |x - y| >= epsilon.

+

True if this expression is not satisfied.

+
See also
GLM_GTC_epsilon
+ +
+
diff --git a/doc/api/a00168.html b/doc/api/a00168.html index e372b8af..f4322775 100644 --- a/doc/api/a00168.html +++ b/doc/api/a00168.html @@ -3,8 +3,8 @@ - -GLM: Types + +0.9.6: GLM_GTC_integer @@ -16,9 +16,9 @@ + @@ -26,776 +26,49 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Modules | -Typedefs
+Functions
-
Types
+
GLM_GTC_integer
GTC Extensions (Stable)
- - - -

-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
 

+Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 

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

- +

Allow to perform bit operations on integer values.

+

<glm/gtc/integer.hpp> need to be included to use these functionalities.

+

Function Documentation

+
- + + + + +
typedef highp_bvec2 bvec2GLM_FUNC_DECL genIUType glm::log2 (genIUType x)
-

2 components vector of boolean.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 500 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 505 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 510 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 416 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 421 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 426 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 472 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 477 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 482 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 388 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 393 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 398 of file type_vec.hpp.

+

Returns the log2 of x.

+

Can be reliably using to compute mipmap count from the texture size. From GLM_GTC_integer extension.

@@ -804,7 +77,7 @@ Typedefs diff --git a/doc/api/a00169.html b/doc/api/a00169.html index 5b59808e..d8ae880d 100644 --- a/doc/api/a00169.html +++ b/doc/api/a00169.html @@ -3,8 +3,8 @@ - -GLM: Precision types + +0.9.6: GLM_GTC_matrix_access @@ -16,9 +16,9 @@ + @@ -26,2900 +26,167 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Typedefs
+Functions
-
Precision types
+
GLM_GTC_matrix_access
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +

-Typedefs

typedef detail::tvec2< bool,
-highp > 
highp_bvec2
 
typedef detail::tvec3< bool,
-highp > 
highp_bvec3
 
typedef detail::tvec4< bool,
-highp > 
highp_bvec4
 
typedef detail::tmat2x2
-< double, highp > 
highp_dmat2
 
typedef detail::tmat2x2
-< double, highp > 
highp_dmat2x2
 
typedef detail::tmat2x3
-< double, highp > 
highp_dmat2x3
 
typedef detail::tmat2x4
-< double, highp > 
highp_dmat2x4
 
typedef detail::tmat3x3
-< double, highp > 
highp_dmat3
 
typedef detail::tmat3x2
-< double, highp > 
highp_dmat3x2
 
typedef detail::tmat3x3
-< double, highp > 
highp_dmat3x3
 
typedef detail::tmat3x4
-< double, highp > 
highp_dmat3x4
 
typedef detail::tmat4x4
-< double, highp > 
highp_dmat4
 
typedef detail::tmat4x2
-< double, highp > 
highp_dmat4x2
 
typedef detail::tmat4x3
-< double, highp > 
highp_dmat4x3
 
typedef detail::tmat4x4
-< double, highp > 
highp_dmat4x4
 
typedef detail::tvec2< double,
-highp > 
highp_dvec2
 
typedef detail::tvec3< double,
-highp > 
highp_dvec3
 
typedef detail::tvec4< double,
-highp > 
highp_dvec4
 
typedef highp_float_t highp_float
 
typedef detail::highp_int_t highp_int
 
typedef detail::tvec2< int, highp > highp_ivec2
 
typedef detail::tvec3< int, highp > highp_ivec3
 
typedef detail::tvec4< int, highp > highp_ivec4
 
typedef detail::tmat2x2< float,
-highp > 
highp_mat2
 
typedef detail::tmat2x2< float,
-highp > 
highp_mat2x2
 
typedef detail::tmat2x3< float,
-highp > 
highp_mat2x3
 
typedef detail::tmat2x4< float,
-highp > 
highp_mat2x4
 
typedef detail::tmat3x3< float,
-highp > 
highp_mat3
 
typedef detail::tmat3x2< float,
-highp > 
highp_mat3x2
 
typedef detail::tmat3x3< float,
-highp > 
highp_mat3x3
 
typedef detail::tmat3x4< float,
-highp > 
highp_mat3x4
 
typedef detail::tmat4x4< float,
-highp > 
highp_mat4
 
typedef detail::tmat4x2< float,
-highp > 
highp_mat4x2
 
typedef detail::tmat4x3< float,
-highp > 
highp_mat4x3
 
typedef detail::tmat4x4< float,
-highp > 
highp_mat4x4
 
typedef detail::highp_uint_t highp_uint
 
typedef detail::tvec2< uint,
-highp > 
highp_uvec2
 
typedef detail::tvec3< uint,
-highp > 
highp_uvec3
 
typedef detail::tvec4< uint,
-highp > 
highp_uvec4
 
typedef detail::tvec2< float,
-highp > 
highp_vec2
 
typedef detail::tvec3< float,
-highp > 
highp_vec3
 
typedef detail::tvec4< float,
-highp > 
highp_vec4
 
typedef detail::tvec2< bool, lowp > lowp_bvec2
 
typedef detail::tvec3< bool, lowp > lowp_bvec3
 
typedef detail::tvec4< bool, lowp > lowp_bvec4
 
typedef detail::tmat2x2
-< double, lowp > 
lowp_dmat2
 
typedef detail::tmat2x2
-< double, lowp > 
lowp_dmat2x2
 
typedef detail::tmat2x3
-< double, lowp > 
lowp_dmat2x3
 
typedef detail::tmat2x4
-< double, lowp > 
lowp_dmat2x4
 
typedef detail::tmat3x3< float,
-lowp > 
lowp_dmat3
 
typedef detail::tmat3x2
-< double, lowp > 
lowp_dmat3x2
 
typedef detail::tmat3x3
-< double, lowp > 
lowp_dmat3x3
 
typedef detail::tmat3x4
-< double, lowp > 
lowp_dmat3x4
 
typedef detail::tmat4x4
-< double, lowp > 
lowp_dmat4
 
typedef detail::tmat4x2
-< double, lowp > 
lowp_dmat4x2
 
typedef detail::tmat4x3
-< double, lowp > 
lowp_dmat4x3
 
typedef detail::tmat4x4
-< double, lowp > 
lowp_dmat4x4
 
typedef detail::tvec2< double,
-lowp > 
lowp_dvec2
 
typedef detail::tvec3< double,
-lowp > 
lowp_dvec3
 
typedef detail::tvec4< double,
-lowp > 
lowp_dvec4
 
typedef lowp_float_t lowp_float
 
typedef detail::lowp_int_t lowp_int
 
typedef detail::tvec2< int, lowp > lowp_ivec2
 
typedef detail::tvec3< int, lowp > lowp_ivec3
 
typedef detail::tvec4< int, lowp > lowp_ivec4
 
typedef detail::tmat2x2< float,
-lowp > 
lowp_mat2
 
typedef detail::tmat2x2< float,
-lowp > 
lowp_mat2x2
 
typedef detail::tmat2x3< float,
-lowp > 
lowp_mat2x3
 
typedef detail::tmat2x4< float,
-lowp > 
lowp_mat2x4
 
typedef detail::tmat3x3< float,
-lowp > 
lowp_mat3
 
typedef detail::tmat3x2< float,
-lowp > 
lowp_mat3x2
 
typedef detail::tmat3x3< float,
-lowp > 
lowp_mat3x3
 
typedef detail::tmat3x4< float,
-lowp > 
lowp_mat3x4
 
typedef detail::tmat4x4< float,
-lowp > 
lowp_mat4
 
typedef detail::tmat4x2< float,
-lowp > 
lowp_mat4x2
 
typedef detail::tmat4x3< float,
-lowp > 
lowp_mat4x3
 
typedef detail::tmat4x4< float,
-lowp > 
lowp_mat4x4
 
typedef detail::lowp_uint_t lowp_uint
 
typedef detail::tvec2< uint, lowp > lowp_uvec2
 
typedef detail::tvec3< uint, lowp > lowp_uvec3
 
typedef detail::tvec4< uint, lowp > lowp_uvec4
 
typedef detail::tvec2< float,
-lowp > 
lowp_vec2
 
typedef detail::tvec3< float,
-lowp > 
lowp_vec3
 
typedef detail::tvec4< float,
-lowp > 
lowp_vec4
 
typedef detail::tvec2< bool,
-mediump > 
mediump_bvec2
 
typedef detail::tvec3< bool,
-mediump > 
mediump_bvec3
 
typedef detail::tvec4< bool,
-mediump > 
mediump_bvec4
 
typedef detail::tmat2x2
-< double, mediump > 
mediump_dmat2
 
typedef detail::tmat2x2
-< double, mediump > 
mediump_dmat2x2
 
typedef detail::tmat2x3
-< double, mediump > 
mediump_dmat2x3
 
typedef detail::tmat2x4
-< double, mediump > 
mediump_dmat2x4
 
typedef detail::tmat3x3
-< double, mediump > 
mediump_dmat3
 
typedef detail::tmat3x2
-< double, mediump > 
mediump_dmat3x2
 
typedef detail::tmat3x3
-< double, mediump > 
mediump_dmat3x3
 
typedef detail::tmat3x4
-< double, mediump > 
mediump_dmat3x4
 
typedef detail::tmat4x4
-< double, mediump > 
mediump_dmat4
 
typedef detail::tmat4x2
-< double, mediump > 
mediump_dmat4x2
 
typedef detail::tmat4x3
-< double, mediump > 
mediump_dmat4x3
 
typedef detail::tmat4x4
-< double, mediump > 
mediump_dmat4x4
 
typedef detail::tvec2< double,
-mediump > 
mediump_dvec2
 
typedef detail::tvec3< double,
-mediump > 
mediump_dvec3
 
typedef detail::tvec4< double,
-mediump > 
mediump_dvec4
 
typedef mediump_float_t mediump_float
 
typedef detail::mediump_int_t mediump_int
 
typedef detail::tvec2< int,
-mediump > 
mediump_ivec2
 
typedef detail::tvec3< int,
-mediump > 
mediump_ivec3
 
typedef detail::tvec4< int,
-mediump > 
mediump_ivec4
 
typedef detail::tmat2x2< float,
-mediump > 
mediump_mat2
 
typedef detail::tmat2x2< float,
-mediump > 
mediump_mat2x2
 
typedef detail::tmat2x3< float,
-mediump > 
mediump_mat2x3
 
typedef detail::tmat2x4< float,
-mediump > 
mediump_mat2x4
 
typedef detail::tmat3x3< float,
-mediump > 
mediump_mat3
 
typedef detail::tmat3x2< float,
-mediump > 
mediump_mat3x2
 
typedef detail::tmat3x3< float,
-mediump > 
mediump_mat3x3
 
typedef detail::tmat3x4< float,
-mediump > 
mediump_mat3x4
 
typedef detail::tmat4x4< float,
-mediump > 
mediump_mat4
 
typedef detail::tmat4x2< float,
-mediump > 
mediump_mat4x2
 
typedef detail::tmat4x3< float,
-mediump > 
mediump_mat4x3
 
typedef detail::tmat4x4< float,
-mediump > 
mediump_mat4x4
 
typedef detail::mediump_uint_t mediump_uint
 
typedef detail::tvec2< uint,
-mediump > 
mediump_uvec2
 
typedef detail::tvec3< uint,
-mediump > 
mediump_uvec3
 
typedef detail::tvec4< uint,
-mediump > 
mediump_uvec4
 
typedef detail::tvec2< float,
-mediump > 
mediump_vec2
 
typedef detail::tvec3< float,
-mediump > 
mediump_vec3
 
typedef detail::tvec4< float,
-mediump > 
mediump_vec4
 
typedef unsigned int uint
 

+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

-

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

- +

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

+
- + + + + -
typedef detail::tvec2<bool, highp> highp_bvec2GLM_FUNC_DECL genType::col_type glm::column (genType const & m,
-
- -

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 149 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 259 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 354 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 86 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 197 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 300 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 67 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 121 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 107 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 218 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 318 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 142 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 128 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 239 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 336 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 65 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 176 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 282 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 163 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 271 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 366 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 100 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 211 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 312 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 53 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 107 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 121 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 232 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 330 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 128 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 142 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 253 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 348 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 79 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 190 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 294 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 156 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 265 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 360 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 93 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 204 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 306 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 60 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 114 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 114 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 225 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 324 of file type_vec.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::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 detail::tmat3x4< float, mediump > mediump_mat3x4length_t index 
-
- -

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 detail::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.

+

Get a specific column of a matrix.

+
See also
GLM_GTC_matrix_access
- +
- + + + + -
typedef detail::tmat4x2< float, mediump > mediump_mat4x2GLM_FUNC_DECL genType glm::column (genType const & m,
-
- -

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 detail::tmat4x3< float, mediump > mediump_mat4x3length_t index,
-
- -

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 detail::tmat4x4< float, mediump > mediump_mat4x4typename genType::col_type const & x 
-
- -

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 135 of file type_int.hpp.

+

Set a specific column to a matrix.

+
See also
GLM_GTC_matrix_access
- +
- + + + + -
typedef detail::tvec2<uint, mediump> mediump_uvec2GLM_FUNC_DECL genType::row_type glm::row (genType const & m,
-
- -

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 135 of file type_vec.hpp.

- -
-
- -
-
- - + + + + -
typedef detail::tvec3<uint, mediump> mediump_uvec3length_t index 
-
- -

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 246 of file type_vec.hpp.

- -
-
- -
-
- - + + +
typedef detail::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 342 of file type_vec.hpp.

+

Get a specific row of a matrix.

+
See also
GLM_GTC_matrix_access
- +
- + + + + -
typedef detail::tvec2< float, mediump > mediump_vec2GLM_FUNC_DECL genType glm::row (genType const & m,
-
- -

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 72 of file type_vec.hpp.

- -
-
- -
-
- - + + + + -
typedef detail::tvec3< float, mediump > mediump_vec3length_t index,
-
- -

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 183 of file type_vec.hpp.

- -
-
- -
-
- - + + + + -
typedef detail::tvec4< float, mediump > mediump_vec4typename genType::row_type const & x 
-
- -

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 288 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 171 of file type_int.hpp.

+

Set a specific row to a matrix.

+
See also
GLM_GTC_matrix_access
@@ -2928,7 +195,7 @@ mediump >  diff --git a/doc/api/a00170.html b/doc/api/a00170.html index a384db95..6250e6dc 100644 --- a/doc/api/a00170.html +++ b/doc/api/a00170.html @@ -3,8 +3,8 @@ - -GLM: Template types + +0.9.6: GLM_GTC_matrix_integer @@ -16,9 +16,9 @@ + @@ -26,30 +26,1860 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Typedefs
-
Template types
+
GLM_GTC_matrix_integer
-

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.

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

+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 a number of matrices with integer types.

+

<glm/gtc/matrix_integer.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef tmat2x2<int, highp> highp_imat2
+
+ +

High-precision signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 61 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 73 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 77 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 81 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 65 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 85 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 89 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 93 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 69 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 97 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 101 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 105 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 210 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 222 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 226 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 230 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 214 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 234 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 238 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 242 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 218 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 246 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 250 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 254 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2 imat2
+
+ +

Signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 386 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x2 imat2x2
+
+ +

Signed integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 398 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x3 imat2x3
+
+ +

Signed integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 402 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x4 imat2x4
+
+ +

Signed integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 406 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3 imat3
+
+ +

Signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 390 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x2 imat3x2
+
+ +

Signed integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 410 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x3 imat3x3
+
+ +

Signed integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 414 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x4 imat3x4
+
+ +

Signed integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 418 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4 imat4
+
+ +

Signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 394 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x2 imat4x2
+
+ +

Signed integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 422 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x3 imat4x3
+
+ +

Signed integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 426 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x4 imat4x4
+
+ +

Signed integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 430 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 160 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 173 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 177 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 181 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 164 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 185 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 189 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 193 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 168 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 197 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 201 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 205 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 309 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 322 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 326 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 330 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 313 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 334 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 338 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 342 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 317 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 346 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 350 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 354 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 110 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 123 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 127 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 131 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 114 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 135 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 139 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 143 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 118 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 147 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 151 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 155 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 259 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 272 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 276 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 280 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 263 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 284 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 288 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 292 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 267 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 296 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 300 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 304 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2 umat2
+
+ +

Unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 463 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x2 umat2x2
+
+ +

Unsigned integer 2x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 475 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x3 umat2x3
+
+ +

Unsigned integer 2x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 479 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x4 umat2x4
+
+ +

Unsigned integer 2x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 483 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3 umat3
+
+ +

Unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 467 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x2 umat3x2
+
+ +

Unsigned integer 3x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 487 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x3 umat3x3
+
+ +

Unsigned integer 3x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 491 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x4 umat3x4
+
+ +

Unsigned integer 3x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 495 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4 umat4
+
+ +

Unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 471 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x2 umat4x2
+
+ +

Unsigned integer 4x2 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 499 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x3 umat4x3
+
+ +

Unsigned integer 4x3 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 503 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x4 umat4x4
+
+ +

Unsigned integer 4x4 matrix.

+
See also
GLM_GTC_matrix_integer
+ +

Definition at line 507 of file matrix_integer.hpp.

+ +
+
diff --git a/doc/api/a00171.html b/doc/api/a00171.html index 9249494e..0df65e9e 100644 --- a/doc/api/a00171.html +++ b/doc/api/a00171.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_constants + +0.9.6: GLM_GTC_matrix_inverse @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,540 +39,82 @@
Functions
-
GLM_GTC_constants
+
GLM_GTC_matrix_inverse
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +

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 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 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 two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_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 affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 

Detailed Description

-

Allow to perform bit operations on integer values.

-

<glm/gtc/constants.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 genType glm::e GLM_FUNC_DECL genType glm::affineInverse ()genType const & m)
-

Return e constant.

-
See Also
GLM_GTC_constants
+

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 genType glm::epsilon GLM_FUNC_DECL genType glm::inverseTranspose ()genType const & m)
-

Return the epsilon constant for floating point types.

-
Todo:
Implement epsilon for half-precision floating point type.
-
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::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::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::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_thirds ()
-
- -

Return 2 / 3.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
GLM_FUNC_DECL genType glm::zero ()
-
- -

Return 0.

-
See Also
GLM_GTC_constants
+

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
@@ -583,7 +123,7 @@ Functions diff --git a/doc/api/a00172.html b/doc/api/a00172.html index 725d0c22..d30ef687 100644 --- a/doc/api/a00172.html +++ b/doc/api/a00172.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_epsilon + +0.9.6: GLM_GTC_matrix_transform @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,50 +39,110 @@
Functions
-
GLM_GTC_epsilon
+
GLM_GTC_matrix_transform
GTC Extensions (Stable)
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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 >
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)
 

Detailed Description

-

Comparison functions for a user defined epsilon values.

-

<glm/gtc/epsilon.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

- +
- + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + @@ -94,33 +152,49 @@ Functions
GLM_FUNC_DECL vecType<bool, P> glm::epsilonEqual GLM_FUNC_DECL tmat4x4<T, defaultp> glm::frustum (vecType< T, P > const & x, left,
vecType< T, P > const & y, right,
T const & epsilon bottom,
top,
near,
far 
-

Returns the component-wise comparison of |x - y| < epsilon.

-

True if this expression is satisfied.

-
See Also
GLM_GTC_epsilon
+

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
- +
- + - - + + - - + + - - + + @@ -130,33 +204,46 @@ Functions
GLM_FUNC_DECL bool glm::epsilonEqual GLM_FUNC_DECL tmat4x4<T, defaultp> glm::infinitePerspective (genType const & x, fovy,
genType const & y, aspect,
genType const & epsilon near 
-

Returns the component-wise comparison of |x - y| < epsilon.

-

True if this expression is satisfied.

-
See Also
GLM_GTC_epsilon
+

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
- +
- + - - + + - - + + - - + + @@ -166,33 +253,60 @@ Functions
GLM_FUNC_DECL genType::boolType glm::epsilonNotEqual GLM_FUNC_DECL tmat4x4<T, P> glm::lookAt (genType const & x, tvec3< T, P > const & eye,
genType const & y, tvec3< T, P > const & center,
typename genType::value_type const & epsilon tvec3< T, P > const & up 
-

Returns the component-wise comparison of |x - y| < epsilon.

-

True if this expression is not satisfied.

-
See Also
GLM_GTC_epsilon
+

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)
- +
- + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + @@ -202,9 +316,628 @@ Functions
GLM_FUNC_DECL bool glm::epsilonNotEqual GLM_FUNC_DECL tmat4x4<T, defaultp> glm::ortho (genType const & x, left,
genType const & y, right,
genType const & epsilon bottom,
top,
zNear,
zFar 
-

Returns the component-wise comparison of |x - y| >= epsilon.

-

True if this expression is not satisfied.

-
See Also
GLM_GTC_epsilon
+

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
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::rotate (tmat4x4< T, P > const & m,
angle,
tvec3< T, P > const & axis 
)
+
+ +

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)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::scale (tmat4x4< T, P > const & m,
tvec3< T, P > const & v 
)
+
+ +

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)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::translate (tmat4x4< T, P > const & m,
tvec3< T, P > const & v 
)
+
+ +

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
@@ -213,7 +946,7 @@ Functions diff --git a/doc/api/a00173.html b/doc/api/a00173.html index dd58cb59..4cfc21a8 100644 --- a/doc/api/a00173.html +++ b/doc/api/a00173.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_matrix_access + +0.9.6: GLM_GTC_noise @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,44 +39,59 @@
Functions
-
GLM_GTC_matrix_access
+
GLM_GTC_noise
GTC Extensions (Stable)
- - - - - - - - - - - - + + + + + + + + +

Functions

template<typename genType >
genType::col_type column (genType const &m, length_t const &index)
 
template<typename genType >
genType column (genType const &m, length_t const &index, typename genType::col_type const &x)
 
template<typename genType >
genType::row_type row (genType const &m, length_t const &index)
 
template<typename genType >
genType row (genType const &m, length_t const &index, typename genType::row_type const &x)
 
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

-

Defines functions to access rows or columns of a matrix easily.

-

<glm/gtc/matrix_access.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

- +
- + - - + + + + +
genType::col_type glm::column GLM_FUNC_DECL T glm::perlin (genType const & m, vecType< T, P > const & p)
+
+ +

Classic perlin noise.

+
See also
GLM_GTC_noise
+ +
+
+ +
+
+ + + + + + - - + + @@ -88,107 +101,27 @@ Functions
GLM_FUNC_DECL T glm::perlin (vecType< T, P > const & p,
length_t const & index vecType< T, P > const & rep 
-

Get a specific column of a matrix.

-
See Also
GLM_GTC_matrix_access
+

Periodic perlin noise.

+
See also
GLM_GTC_noise
- +
- + - - - - - + + - - - - - - - - - - - - -
genType glm::column GLM_FUNC_DECL T glm::simplex (genType const & m,
vecType< T, P > const & p) length_t const & index,
typename genType::col_type const & x 
)
-

Set a specific column to a matrix.

-
See Also
GLM_GTC_matrix_access
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType::row_type glm::row (genType const & m,
length_t const & index 
)
-
- -

Get a specific row of a matrix.

-
See Also
GLM_GTC_matrix_access
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::row (genType const & m,
length_t const & index,
typename genType::row_type const & x 
)
-
- -

Set a specific row to a matrix.

-
See Also
GLM_GTC_matrix_access
+

Simplex noise.

+
See also
GLM_GTC_noise
@@ -197,7 +130,7 @@ Functions diff --git a/doc/api/a00174.html b/doc/api/a00174.html index b3010467..90f1abd7 100644 --- a/doc/api/a00174.html +++ b/doc/api/a00174.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_matrix_integer + +0.9.6: GLM_GTC_packing @@ -16,9 +16,9 @@ + @@ -26,1925 +26,942 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Typedefs
+Functions
-
GLM_GTC_matrix_integer
+
GLM_GTC_packing
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef detail::tmat2x2< int,
-highp > 
highp_imat2
 
typedef detail::tmat2x2< int,
-highp > 
highp_imat2x2
 
typedef detail::tmat2x3< int,
-highp > 
highp_imat2x3
 
typedef detail::tmat2x4< int,
-highp > 
highp_imat2x4
 
typedef detail::tmat3x3< int,
-highp > 
highp_imat3
 
typedef detail::tmat3x2< int,
-highp > 
highp_imat3x2
 
typedef detail::tmat3x3< int,
-highp > 
highp_imat3x3
 
typedef detail::tmat3x4< int,
-highp > 
highp_imat3x4
 
typedef detail::tmat4x4< int,
-highp > 
highp_imat4
 
typedef detail::tmat4x2< int,
-highp > 
highp_imat4x2
 
typedef detail::tmat4x3< int,
-highp > 
highp_imat4x3
 
typedef detail::tmat4x4< int,
-highp > 
highp_imat4x4
 
typedef detail::tmat2x2< uint,
-highp > 
highp_umat2
 
typedef detail::tmat2x2< uint,
-highp > 
highp_umat2x2
 
typedef detail::tmat2x3< uint,
-highp > 
highp_umat2x3
 
typedef detail::tmat2x4< uint,
-highp > 
highp_umat2x4
 
typedef detail::tmat3x3< uint,
-highp > 
highp_umat3
 
typedef detail::tmat3x2< uint,
-highp > 
highp_umat3x2
 
typedef detail::tmat3x3< uint,
-highp > 
highp_umat3x3
 
typedef detail::tmat3x4< uint,
-highp > 
highp_umat3x4
 
typedef detail::tmat4x4< uint,
-highp > 
highp_umat4
 
typedef detail::tmat4x2< uint,
-highp > 
highp_umat4x2
 
typedef detail::tmat4x3< uint,
-highp > 
highp_umat4x3
 
typedef detail::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 detail::tmat2x2< int,
-lowp > 
lowp_imat2
 
typedef detail::tmat2x2< int,
-lowp > 
lowp_imat2x2
 
typedef detail::tmat2x3< int,
-lowp > 
lowp_imat2x3
 
typedef detail::tmat2x4< int,
-lowp > 
lowp_imat2x4
 
typedef detail::tmat3x3< int,
-lowp > 
lowp_imat3
 
typedef detail::tmat3x2< int,
-lowp > 
lowp_imat3x2
 
typedef detail::tmat3x3< int,
-lowp > 
lowp_imat3x3
 
typedef detail::tmat3x4< int,
-lowp > 
lowp_imat3x4
 
typedef detail::tmat4x4< int,
-lowp > 
lowp_imat4
 
typedef detail::tmat4x2< int,
-lowp > 
lowp_imat4x2
 
typedef detail::tmat4x3< int,
-lowp > 
lowp_imat4x3
 
typedef detail::tmat4x4< int,
-lowp > 
lowp_imat4x4
 
typedef detail::tmat2x2< uint,
-lowp > 
lowp_umat2
 
typedef detail::tmat2x2< uint,
-lowp > 
lowp_umat2x2
 
typedef detail::tmat2x3< uint,
-lowp > 
lowp_umat2x3
 
typedef detail::tmat2x4< uint,
-lowp > 
lowp_umat2x4
 
typedef detail::tmat3x3< uint,
-lowp > 
lowp_umat3
 
typedef detail::tmat3x2< uint,
-lowp > 
lowp_umat3x2
 
typedef detail::tmat3x3< uint,
-lowp > 
lowp_umat3x3
 
typedef detail::tmat3x4< uint,
-lowp > 
lowp_umat3x4
 
typedef detail::tmat4x4< uint,
-lowp > 
lowp_umat4
 
typedef detail::tmat4x2< uint,
-lowp > 
lowp_umat4x2
 
typedef detail::tmat4x3< uint,
-lowp > 
lowp_umat4x3
 
typedef detail::tmat4x4< uint,
-lowp > 
lowp_umat4x4
 
typedef detail::tmat2x2< int,
-mediump > 
mediump_imat2
 
typedef detail::tmat2x2< int,
-mediump > 
mediump_imat2x2
 
typedef detail::tmat2x3< int,
-mediump > 
mediump_imat2x3
 
typedef detail::tmat2x4< int,
-mediump > 
mediump_imat2x4
 
typedef detail::tmat3x3< int,
-mediump > 
mediump_imat3
 
typedef detail::tmat3x2< int,
-mediump > 
mediump_imat3x2
 
typedef detail::tmat3x3< int,
-mediump > 
mediump_imat3x3
 
typedef detail::tmat3x4< int,
-mediump > 
mediump_imat3x4
 
typedef detail::tmat4x4< int,
-mediump > 
mediump_imat4
 
typedef detail::tmat4x2< int,
-mediump > 
mediump_imat4x2
 
typedef detail::tmat4x3< int,
-mediump > 
mediump_imat4x3
 
typedef detail::tmat4x4< int,
-mediump > 
mediump_imat4x4
 
typedef detail::tmat2x2< uint,
-mediump > 
mediump_umat2
 
typedef detail::tmat2x2< uint,
-mediump > 
mediump_umat2x2
 
typedef detail::tmat2x3< uint,
-mediump > 
mediump_umat2x3
 
typedef detail::tmat2x4< uint,
-mediump > 
mediump_umat2x4
 
typedef detail::tmat3x3< uint,
-mediump > 
mediump_umat3
 
typedef detail::tmat3x2< uint,
-mediump > 
mediump_umat3x2
 
typedef detail::tmat3x3< uint,
-mediump > 
mediump_umat3x3
 
typedef detail::tmat3x4< uint,
-mediump > 
mediump_umat3x4
 
typedef detail::tmat4x4< uint,
-mediump > 
mediump_umat4
 
typedef detail::tmat4x2< uint,
-mediump > 
mediump_umat4x2
 
typedef detail::tmat4x3< uint,
-mediump > 
mediump_umat4x3
 
typedef detail::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

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)
 

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

- +

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

+
- + + + + +
typedef detail::tmat2x2<int, highp> highp_imat2GLM_FUNC_DECL uint32 glm::packF2x11_1x10 (vec3 const & v)
-

High-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
+

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)
-

Definition at line 62 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<int, highp> highp_imat2x2
-
- -

High-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 74 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<int, highp> highp_imat2x3
-
- -

High-precision signed integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 78 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<int, highp> highp_imat2x4
-
- -

High-precision signed integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 82 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<int, highp> highp_imat3
-
- -

High-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 66 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<int, highp> highp_imat3x2
-
- -

High-precision signed integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 86 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<int, highp> highp_imat3x3
-
- -

High-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 90 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<int, highp> highp_imat3x4
-
- -

High-precision signed integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 94 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<int, highp> highp_imat4
-
- -

High-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 70 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<int, highp> highp_imat4x2
-
- -

High-precision signed integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 98 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<int, highp> highp_imat4x3
-
- -

High-precision signed integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 102 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<int, highp> highp_imat4x4
-
- -

High-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 106 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<uint, highp> highp_umat2
-
- -

High-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 211 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<uint, highp> highp_umat2x2
-
- -

High-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 223 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<uint, highp> highp_umat2x3
-
- -

High-precision unsigned integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 227 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<uint, highp> highp_umat2x4
-
- -

High-precision unsigned integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 231 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<uint, highp> highp_umat3
-
- -

High-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 215 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<uint, highp> highp_umat3x2
-
- -

High-precision unsigned integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 235 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<uint, highp> highp_umat3x3
-
- -

High-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 239 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<uint, highp> highp_umat3x4
-
- -

High-precision unsigned integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 243 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<uint, highp> highp_umat4
-
- -

High-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 219 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<uint, highp> highp_umat4x2
-
- -

High-precision unsigned integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 247 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<uint, highp> highp_umat4x3
-
- -

High-precision unsigned integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 251 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<uint, highp> highp_umat4x4
-
- -

High-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 255 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2 imat2
-
- -

Signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 387 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x2 imat2x2
-
- -

Signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 399 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x3 imat2x3
-
- -

Signed integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 403 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x4 imat2x4
-
- -

Signed integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 407 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3 imat3
-
- -

Signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 391 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x2 imat3x2
-
- -

Signed integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 411 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x3 imat3x3
-
- -

Signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 415 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x4 imat3x4
-
- -

Signed integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 419 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4 imat4
-
- -

Signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 395 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x2 imat4x2
-
- -

Signed integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 423 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x3 imat4x3
-
- -

Signed integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 427 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x4 imat4x4
-
- -

Signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 431 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<int, lowp> lowp_imat2
-
- -

Low-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 161 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<int, lowp> lowp_imat2x2
-
- -

Low-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 174 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<int, lowp> lowp_imat2x3
-
- -

Low-precision signed integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 178 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<int, lowp> lowp_imat2x4
-
- -

Low-precision signed integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 182 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<int, lowp> lowp_imat3
-
- -

Low-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 165 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<int, lowp> lowp_imat3x2
-
- -

Low-precision signed integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 186 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<int, lowp> lowp_imat3x3
-
- -

Low-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 190 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<int, lowp> lowp_imat3x4
-
- -

Low-precision signed integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 194 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<int, lowp> lowp_imat4
-
- -

Low-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 169 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<int, lowp> lowp_imat4x2
-
- -

Low-precision signed integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 198 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<int, lowp> lowp_imat4x3
-
- -

Low-precision signed integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 202 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<int, lowp> lowp_imat4x4
-
- -

Low-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 206 of file matrix_integer.hpp.

- -
- -
-
- - - - -
typedef detail::tmat2x2<uint, lowp> lowp_umat2
-
- -

Low-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 310 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<uint, lowp> lowp_umat2x2
-
- -

Low-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 323 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<uint, lowp> lowp_umat2x3
-
- -

Low-precision unsigned integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 327 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<uint, lowp> lowp_umat2x4
-
- -

Low-precision unsigned integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 331 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<uint, lowp> lowp_umat3
-
- -

Low-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 314 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<uint, lowp> lowp_umat3x2
-
- -

Low-precision unsigned integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 335 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<uint, lowp> lowp_umat3x3
-
- -

Low-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 339 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<uint, lowp> lowp_umat3x4
-
- -

Low-precision unsigned integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 343 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<uint, lowp> lowp_umat4
-
- -

Low-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 318 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<uint, lowp> lowp_umat4x2
-
- -

Low-precision unsigned integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 347 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<uint, lowp> lowp_umat4x3
-
- -

Low-precision unsigned integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 351 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<uint, lowp> lowp_umat4x4
-
- -

Low-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 355 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<int, mediump> mediump_imat2
-
- -

Medium-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 111 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<int, mediump> mediump_imat2x2
-
- -

Medium-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 124 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<int, mediump> mediump_imat2x3
-
- -

Medium-precision signed integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 128 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<int, mediump> mediump_imat2x4
-
- -

Medium-precision signed integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 132 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<int, mediump> mediump_imat3
-
- -

Medium-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 115 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<int, mediump> mediump_imat3x2
-
- -

Medium-precision signed integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 136 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<int, mediump> mediump_imat3x3
-
- -

Medium-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 140 of file matrix_integer.hpp.

-
-
- +
- + + + + +
typedef detail::tmat3x4<int, mediump> mediump_imat3x4GLM_FUNC_DECL uint16 glm::packHalf1x16 (float v)
-

Medium-precision signed integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 144 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat4x4<int, mediump> mediump_imat4GLM_FUNC_DECL uint64 glm::packHalf4x16 (vec4 const & v)
-

Medium-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 119 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat4x2<int, mediump> mediump_imat4x2GLM_FUNC_DECL uint32 glm::packI3x10_1x2 (ivec4 const & v)
-

Medium-precision signed integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 148 of file matrix_integer.hpp.

+

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)
- +
- + + + + +
typedef detail::tmat4x3<int, mediump> mediump_imat4x3GLM_FUNC_DECL uint16 glm::packSnorm1x16 (float v)
-

Medium-precision signed integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 152 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat4x4<int, mediump> mediump_imat4x4GLM_FUNC_DECL uint8 glm::packSnorm1x8 (float s)
-

Medium-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 156 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat2x2<uint, mediump> mediump_umat2GLM_FUNC_DECL uint16 glm::packSnorm2x8 (vec2 const & v)
-

Medium-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 260 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat2x2<uint, mediump> mediump_umat2x2GLM_FUNC_DECL uint32 glm::packSnorm3x10_1x2 (vec4 const & v)
-

Medium-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 273 of file matrix_integer.hpp.

+

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)
- +
- + + + + +
typedef detail::tmat2x3<uint, mediump> mediump_umat2x3GLM_FUNC_DECL uint64 glm::packSnorm4x16 (vec4 const & v)
-

Medium-precision unsigned integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 277 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat2x4<uint, mediump> mediump_umat2x4GLM_FUNC_DECL uint32 glm::packU3x10_1x2 (uvec4 const & v)
-

Medium-precision unsigned integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 281 of file matrix_integer.hpp.

+

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)
- +
- + + + + +
typedef detail::tmat3x3<uint, mediump> mediump_umat3GLM_FUNC_DECL uint16 glm::packUnorm1x16 (float v)
-

Medium-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 264 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat3x2<uint, mediump> mediump_umat3x2GLM_FUNC_DECL uint8 glm::packUnorm1x8 (float v)
-

Medium-precision unsigned integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 285 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat3x3<uint, mediump> mediump_umat3x3GLM_FUNC_DECL uint16 glm::packUnorm2x8 (vec2 const & v)
-

Medium-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 289 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat3x4<uint, mediump> mediump_umat3x4GLM_FUNC_DECL uint32 glm::packUnorm3x10_1x2 (vec4 const & v)
-

Medium-precision unsigned integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 293 of file matrix_integer.hpp.

+

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)
- +
- + + + + +
typedef detail::tmat4x4<uint, mediump> mediump_umat4GLM_FUNC_DECL uint64 glm::packUnorm4x16 (vec4 const & v)
-

Medium-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 268 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat4x2<uint, mediump> mediump_umat4x2GLM_FUNC_DECL vec3 glm::unpackF2x11_1x10 (uint32 p)
-

Medium-precision unsigned integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 297 of file matrix_integer.hpp.

+

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)
- +
- + + + + +
typedef detail::tmat4x3<uint, mediump> mediump_umat4x3GLM_FUNC_DECL float glm::unpackHalf1x16 (uint16 v)
-

Medium-precision unsigned integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 301 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef detail::tmat4x4<uint, mediump> mediump_umat4x4GLM_FUNC_DECL vec4 glm::unpackHalf4x16 (uint64 p)
-

Medium-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 305 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef mediump_umat2 umat2GLM_FUNC_DECL ivec4 glm::unpackI3x10_1x2 (uint32 p)
-

Unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 464 of file matrix_integer.hpp.

+

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);
- +
- + + + + +
typedef mediump_umat2x2 umat2x2GLM_FUNC_DECL float glm::unpackSnorm1x16 (uint16 p)
-

Unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 476 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef mediump_umat2x3 umat2x3GLM_FUNC_DECL float glm::unpackSnorm1x8 (uint8 p)
-

Unsigned integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 480 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef mediump_umat2x4 umat2x4GLM_FUNC_DECL vec2 glm::unpackSnorm2x8 (uint16 p)
-

Unsigned integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 484 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef mediump_umat3 umat3GLM_FUNC_DECL vec4 glm::unpackSnorm3x10_1x2 (uint32 p)
-

Unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 468 of file matrix_integer.hpp.

+

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)
- +
- + + + + +
typedef mediump_umat3x2 umat3x2GLM_FUNC_DECL vec4 glm::unpackSnorm4x16 (uint64 const & p)
-

Unsigned integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 488 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef mediump_umat3x3 umat3x3GLM_FUNC_DECL uvec4 glm::unpackU3x10_1x2 (uint32 p)
-

Unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 492 of file matrix_integer.hpp.

+

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);
- +
- + + + + +
typedef mediump_umat3x4 umat3x4GLM_FUNC_DECL float glm::unpackUnorm1x16 (uint16 p)
-

Unsigned integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 496 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef mediump_umat4 umat4GLM_FUNC_DECL float glm::unpackUnorm1x8 (uint8 p)
-

Unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 472 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef mediump_umat4x2 umat4x2GLM_FUNC_DECL vec2 glm::unpackUnorm2x8 (uint16 p)
-

Unsigned integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 500 of file matrix_integer.hpp.

+

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
- +
- + + + + +
typedef mediump_umat4x3 umat4x3GLM_FUNC_DECL vec4 glm::unpackUnorm3x10_1x2 (uint32 p)
-

Unsigned integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 504 of file matrix_integer.hpp.

+

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)
- +
- + + + + +
typedef mediump_umat4x4 umat4x4GLM_FUNC_DECL vec4 glm::unpackUnorm4x16 (uint64 p)
-

Unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 508 of file matrix_integer.hpp.

+

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
@@ -1953,7 +970,7 @@ mediump >  diff --git a/doc/api/a00175.html b/doc/api/a00175.html index 31dfc585..f26dd392 100644 --- a/doc/api/a00175.html +++ b/doc/api/a00175.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_matrix_inverse + +0.9.6: GLM_GTC_quaternion @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,83 +39,840 @@
Functions
-
GLM_GTC_matrix_inverse
+
GLM_GTC_quaternion
GTC Extensions (Stable)
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_QUALIFIER genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_QUALIFIER
-genType::value_type 
inverseTranspose (genType const &m)
 
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)
 

Detailed Description

-

Defines additional matrix inverting functions.

-

<glm/gtc/matrix_inverse.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_QUALIFIER genType glm::affineInverse GLM_FUNC_DECL T glm::angle (genType const & m)tquat< T, P > const & 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 quaternion rotation angle.

+
See also
GLM_GTC_quaternion
- +
- + - - + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER genType::value_type glm::inverseTranspose GLM_FUNC_DECL tquat<T, P> glm::angleAxis (genType const & m)T const & angle,
tvec3< T, P > const & axis 
)
+
+ +

Build a quaternion from an angle and a normalized axis.

+
Parameters
+ + + +
angleAngle expressed in radians.
axisAxis of the quaternion, must be normalized.
+
+
+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::axis (tquat< T, P > const & x)
-

Compute the inverse transpose of a matrix.

+

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
- + + +
mInput matrix to invert transpose.
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined in the range [0, 1].
Template Parameters
- +
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
TValue type used to build the quaternion. Supported: half, float or double.
-
See Also
GLM_GTC_matrix_inverse
+
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
+
+- slerp(tquat<T, P> const & x, tquat<T, P> const & y, T const & a)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tquat<T, P> glm::normalize (tquat< T, P > const & q)
+
+ +

Returns the normalized quaternion.

+
See also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tvec4<bool, P> glm::notEqual (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)
+
+ +

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,
T const & 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
+

Spherical linear interpolation of two quaternions.

+ +

Definition at line 72 of file compatibility.hpp.

+ +

References glm::mix().

+ +
+
+ +
+
+ + + + + + + + +
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
@@ -126,7 +881,7 @@ genType::value_type  diff --git a/doc/api/a00176.html b/doc/api/a00176.html index c9e08f50..73ebefc7 100644 --- a/doc/api/a00176.html +++ b/doc/api/a00176.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_matrix_transform + +0.9.6: GLM_GTC_random @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,834 +39,125 @@
Functions
-
GLM_GTC_matrix_transform
+
GLM_GTC_random
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
infinitePerspective (T fovy, T aspect, T near)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
lookAt (detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
perspective (T const &fovy, T const &aspect, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
perspectiveFov (T const &fov, T const &width, T const &height, T const &near, T const &far)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
pickMatrix (detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > project (detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
rotate (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
scale (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
translate (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > unProject (detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
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 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.

+

Generate random number from various distribution methods.

+

<glm/gtc/random.hpp> need to be included to use these functionalities.

Function Documentation

- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::frustum (T const & left,
T const & right,
T const & bottom,
T const & top,
T const & near,
T const & 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 detail::tmat4x4<T, P> glm::infinitePerspective GLM_FUNC_DECL tvec3<T, defaultp> glm::ballRand ( fovy,
Radius) aspect,
near 
)
-

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.

+

Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius.

Parameters
- - - +
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
near
Radius
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
+
See also
GLM_GTC_random
- +
- - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::lookAt (detail::tvec3< T, P > const & eye,
detail::tvec3< T, P > const & center,
detail::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 detail::tmat4x4<T, defaultp> glm::ortho (T const & left,
T const & right,
T const & bottom,
T const & top,
T const & zNear,
T const & 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 detail::tmat4x4<T, defaultp> glm::ortho (T const & left,
T const & right,
T const & bottom,
T const & 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 detail::tmat4x4<T, P> glm::perspective (T const & fovy,
T const & aspect,
T const & near,
T const & far 
)
-
- -

Creates a matrix for a symetric perspective-view frustum.

-
Parameters
- - - - - -
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
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 detail::tmat4x4<T, P> glm::perspectiveFov (T const & fov,
T const & width,
T const & height,
T const & near,
T const & far 
)
-
- -

Builds a perspective projection matrix based on a field of view.

-
Parameters
- - - - - - -
fovExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
width
height
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 detail::tmat4x4<T, P> glm::pickMatrix (detail::tvec2< T, P > const & center,
detail::tvec2< T, P > const & delta,
detail::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 detail::tvec3<T, P> glm::project (detail::tvec3< T, P > const & obj,
detail::tmat4x4< T, P > const & model,
detail::tmat4x4< T, P > const & proj,
detail::tvec4< U, P > const & viewport 
)
-
- -

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

-
Parameters
- - - - - -
obj
model
proj
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 detail::tmat4x4<T, P> glm::rotate (detail::tmat4x4< T, P > const & m,
T const & angle,
detail::tvec3< T, P > const & axis 
)
-
- -

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 if GLM_FORCE_RADIANS is define or degrees otherwise.
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
-
-GLM_GTX_transform
-
-- rotate(T angle, T x, T y, T z)
-
-- rotate(detail::tmat4x4<T, P> const & m, T angle, T x, T y, T z)
-
-- rotate(T angle, detail::tvec3<T, P> const & v)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::scale (detail::tmat4x4< T, P > const & m,
detail::tvec3< T, P > const & v 
)
-
- -

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
-
-GLM_GTX_transform
-
-- scale(T x, T y, T z) scale(T const & x, T const & y, T const & z)
-
-- scale(detail::tmat4x4<T, P> const & m, T x, T y, T z)
-
-- scale(detail::tvec3<T, P> const & v)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::translate (detail::tmat4x4< T, P > const & m,
detail::tvec3< T, P > const & v 
)
-
- -

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>
-
* #include <glm/gtc/matrix_transform.hpp>
-
* ...
- -
* // 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
-
-GLM_GTX_transform
-
-- translate(T x, T y, T z)
-
-- translate(detail::tmat4x4<T, P> const & m, T x, T y, T z)
-
-- translate(detail::tvec3<T, P> const & v)
- -
-
- -
-
- - - + - - - - + - - - - - - - - - - - - -
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::tweakedInfinitePerspective GLM_FUNC_DECL tvec2<T, defaultp> glm::circularRand ( fovy,
Radius) 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.

+

Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius.

Parameters
- - - +
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
near
Radius
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
+
See also
GLM_GTC_random
- +
- + - - + + + + +
GLM_FUNC_DECL detail::tvec3<T, P> glm::unProject GLM_FUNC_DECL tvec2<T, defaultp> glm::diskRand (detail::tvec3< T, P > const & win, 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
+ +
+
+ +
+
+ + + + + + - - - - - - - - - - - - - - + + @@ -878,24 +167,82 @@ Functions
GLM_FUNC_DECL genType glm::gaussRand (genType Mean,
detail::tmat4x4< T, P > const & model,
detail::tmat4x4< T, P > const & proj,
detail::tvec4< U, P > const & viewport genType Deviation 
-

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

+

Generate random numbers in the interval [Min, Max], according a gaussian distribution.

Parameters
- - - - + + +
win
model
proj
viewport
Mean
Deviation
+
+
+
See also
GLM_GTC_random
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genTYpe glm::linearRand (genTYpe Min,
genTYpe Max 
)
+
+ +

Generate random numbers in the interval [Min, Max], according a linear distribution.

+
Parameters
+ + +
Min
Max
Template Parameters
- - +
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
genTypeValue type. Currently supported: half (not recommanded), float or double scalars and vectors.
-
See Also
GLM_GTC_matrix_transform
+
See also
GLM_GTC_random
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tvec3<T, defaultp> glm::sphericalRand (Radius)
+
+ +

Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See also
GLM_GTC_random
@@ -904,7 +251,7 @@ Functions diff --git a/doc/api/a00177.html b/doc/api/a00177.html index 38543e5a..53e8d5eb 100644 --- a/doc/api/a00177.html +++ b/doc/api/a00177.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_noise + +0.9.6: GLM_GTC_reciprocal @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,89 +39,281 @@
Functions
-
GLM_GTC_noise
+
GLM_GTC_reciprocal
GTC Extensions (Stable)
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
simplex (vecType< T, P > const &p)
 
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

-

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.

+

Define secant, cosecant and cotangent functions.

+

<glm/gtc/reciprocal.hpp> need to be included to use these features.

Function Documentation

- +
- + - - + +
T glm::perlin GLM_FUNC_DECL genType glm::acot (vecType< T, P > const & p)genType const & x)
-

Classic perlin noise.

-
See Also
GLM_GTC_noise
+

Inverse cotangent function.

+
See also
GLM_GTC_reciprocal
- +
- + - - - - - - - - - - - - - - -
T glm::perlin GLM_FUNC_DECL genType glm::acoth (vecType< T, P > const & p,
vecType< T, P > const & rep 
)
-
- -

Periodic perlin noise.

-
See Also
GLM_GTC_noise
- -
-
- -
-
- - - - - - + +
T glm::simplex (vecType< T, P > const & p)genType const & x)
-

Simplex noise.

-
See Also
GLM_GTC_noise
+

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
@@ -132,7 +322,7 @@ Functions diff --git a/doc/api/a00178.html b/doc/api/a00178.html index ef31c709..eb9d2072 100644 --- a/doc/api/a00178.html +++ b/doc/api/a00178.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_packing + +0.9.6: GLM_GTC_round @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,929 +39,556 @@
Functions
-
GLM_GTC_packing
+
GLM_GTC_round
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float const &v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float const &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 const &v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float const &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 const &p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 const &v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 const &p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 const &p)
 
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

-

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.

+

rounding value to specific boundings

+

<glm/gtc/round.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint32 glm::packF2x11_1x10 GLM_FUNC_DECL genType glm::ceilMultiple (vec3 const & v)genType Source,
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_GTC_round
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::ceilMultiple (vecType< T, P > const & Source,
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_GTC_round
+ +
+
+ +
+
+ + + + + +
GLM_FUNC_DECL genIUType glm::ceilPowerOfTwo (genIUType Value)
-

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)
+

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 uint16 glm::packHalf1x16 GLM_FUNC_DECL vecType<T, P> glm::ceilPowerOfTwo (float const & v)vecType< T, P > const & value)
-

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
+

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 uint64 glm::packHalf4x16 GLM_FUNC_DECL genType glm::floorMultiple (vec4 const & v)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::floorMultiple (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::floorPowerOfTwo (genIUType Value)
-

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
+

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 uint32 glm::packI3x10_1x2 GLM_FUNC_DECL vecType<T, P> glm::floorPowerOfTwo (ivec4 const & v)vecType< T, P > const & value)
-

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)
+

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 uint16 glm::packSnorm1x16 GLM_FUNC_DECL bool glm::isMultiple (float const & v)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)
-

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
+

Return true if the value is a power of two number.

+
See also
GLM_GTC_round
- +
- + - - + +
GLM_FUNC_DECL uint8 glm::packSnorm1x8 GLM_FUNC_DECL vecType<bool, P> glm::isPowerOfTwo (float const & s)vecType< T, P > const & value)
-

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
+

Return true if the value is a power of two number.

+
See also
GLM_GTC_round
- +
- + - - + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint16 glm::packSnorm2x8 GLM_FUNC_DECL genType glm::roundMultiple (vec2 const & v)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)
-

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
+

Return the power of two number which value is the closet to the input value.

+
See also
GLM_GTC_round
- +
- + - - + +
GLM_FUNC_DECL uint32 glm::packSnorm3x10_1x2 GLM_FUNC_DECL vecType<T, P> glm::roundPowerOfTwo (vec4 const & v)vecType< T, P > const & value)
-

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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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 const & 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
+

Return the power of two number which value is the closet to the input value.

+
See also
GLM_GTC_round
@@ -972,7 +597,7 @@ float unpackUnorm1x16(uint16 p) diff --git a/doc/api/a00179.html b/doc/api/a00179.html index fc0f1180..aeb54528 100644 --- a/doc/api/a00179.html +++ b/doc/api/a00179.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_quaternion + +0.9.6: GLM_GTC_type_precision @@ -16,9 +16,9 @@ + @@ -26,863 +26,8781 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Functions
+Typedefs
-
GLM_GTC_quaternion
+
GLM_GTC_type_precision
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Functions

template<typename T , precision P>
GLM_FUNC_DECL T angle (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > angleAxis (T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > axis (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > conjugate (detail::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 detail::tvec4
-< bool, P > 
equal (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
greaterThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
greaterThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > inverse (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > lerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
lessThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
lessThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat3x3
-< T, P > 
mat3_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
-< T, P > 
mat4_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > mix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > normalize (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
-< bool, P > 
notEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > rotate (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (detail::tquat< T, P > const &x)
 

+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
 

Detailed Description

-

Defines a templated quaternion type and several quaternion operations.

-

<glm/gtc/quaternion.hpp> need to be included to use these functionalities.

-

Function Documentation

- +

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

+
- - - - - +
GLM_FUNC_DECL T glm::angle (detail::tquat< T, P > const & x)typedef float32 f32
-

Returns the quaternion rotation angle.

-
See Also
GLM_GTC_quaternion
+

Default 32 bit single-precision floating-point scalar.

+

32 bit single-precision floating-point scalar.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 1533 of file fwd.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL detail::tquat<T, P> glm::angleAxis (T const & angle,
detail::tvec3< T, P > const & axis 
)typedef tmat2x2< f32, defaultp > f32mat2
-

Build a quaternion from an angle and a normalized axis.

-
Parameters
- - - -
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisAxis of the quaternion, must be normalized.
-
-
-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL detail::tvec3<T, P> glm::axis (detail::tquat< T, P > const & x)
-
- -

Returns the q rotation axis.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL detail::tquat<T, P> glm::conjugate (detail::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 detail::tvec4<bool, P> glm::equal (detail::tquat< T, P > const & x,
detail::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 detail::tvec3<T, P> glm::eulerAngles (detail::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 detail::tvec4<bool, P> glm::greaterThan (detail::tquat< T, P > const & x,
detail::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 detail::tvec4<bool, P> glm::greaterThanEqual (detail::tquat< T, P > const & x,
detail::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 detail::tquat<T, P> glm::inverse (detail::tquat< T, P > const & q)
-
- -

Returns the q inverse.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL T glm::length (detail::tquat< T, P > const & q)
-
- -

Returns the length of the quaternion.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL detail::tquat<T, P> glm::lerp (detail::tquat< T, P > const & x,
detail::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 detail::tvec4<bool, P> glm::lessThan (detail::tquat< T, P > const & x,
detail::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 detail::tvec4<bool, P> glm::lessThanEqual (detail::tquat< T, P > const & x,
detail::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 detail::tmat3x3<T, P> glm::mat3_cast (detail::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 detail::tmat4x4<T, P> glm::mat4_cast (detail::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 detail::tquat<T, P> glm::mix (detail::tquat< T, P > const & x,
detail::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
+

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See also
GLM_GTC_type_precision
-- slerp(detail::tquat<T, P> const & x, detail::tquat<T, P> const & y, T const & a)
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix. +
+GLM_GTC_type_precision
+ +

Definition at line 2477 of file fwd.hpp.

- +
- - - - - +
GLM_FUNC_DECL detail::tquat<T, P> glm::normalize (detail::tquat< T, P > const & q)typedef tmat2x2< f32, defaultp > f32mat2x2
-

Returns the normalized quaternion.

-
See Also
GLM_GTC_quaternion
+

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 2441 of file fwd.hpp.

- +
- - - - - - - - - - - - - - - +
GLM_FUNC_DECL detail::tvec4<bool, P> glm::notEqual (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y 
)typedef tmat2x3< f32, defaultp > f32mat2x3
-

Returns the component-wise comparison of result x != y.

-
Template Parameters
- - -
quatTypeFloating-point quaternion types.
-
-
-
See Also
GLM_GTC_quaternion
+

Default single-precision floating-point 2x3 matrix.

+

Single-precision floating-point 2x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2445 of file fwd.hpp.

- +
- - - - - +
GLM_FUNC_DECL T glm::pitch (detail::tquat< T, P > const & x)typedef tmat2x4< f32, defaultp > f32mat2x4
-

Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

-
See Also
GLM_GTX_quaternion
+

Default single-precision floating-point 2x4 matrix.

+

Single-precision floating-point 2x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2449 of file fwd.hpp.

- +
- - - - - +
GLM_FUNC_DECL detail::tquat<T, P> glm::quat_cast (detail::tmat3x3< T, P > const & x)typedef tmat3x3< f32, defaultp > f32mat3
-

Converts a 3 * 3 matrix to a quaternion.

-
See Also
GLM_GTC_quaternion
+

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See also
GLM_GTC_type_precision
-

Referenced by glm::toQuat().

+

Definition at line 2481 of file fwd.hpp.

- +
- - - - - +
GLM_FUNC_DECL detail::tquat<T, P> glm::quat_cast (detail::tmat4x4< T, P > const & x)typedef tmat3x2< f32, defaultp > f32mat3x2
-

Converts a 4 * 4 matrix to a quaternion.

-
See Also
GLM_GTC_quaternion
+

Default single-precision floating-point 3x2 matrix.

+

Single-precision floating-point 3x2 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2453 of file fwd.hpp.

- +
- - - - - +
GLM_FUNC_DECL T glm::roll (detail::tquat< T, P > const & x)typedef tmat3x3< f32, defaultp > f32mat3x3
-

Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

-
See Also
GLM_GTX_quaternion
+

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2457 of file fwd.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL detail::tquat<T, P> glm::rotate (detail::tquat< T, P > const & q,
T const & angle,
detail::tvec3< T, P > const & axis 
)typedef tmat3x4< f32, defaultp > f32mat3x4
-

Rotates a quaternion from a vector of 3 components axis and an angle.

-
Parameters
- - - - -
qSource orientation
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisAxis of the rotation
-
-
-
See Also
GLM_GTC_quaternion
+

Default single-precision floating-point 3x4 matrix.

+

Single-precision floating-point 3x4 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2461 of file fwd.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
GLM_FUNC_DECL detail::tquat<T, P> glm::slerp (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y,
T const & a 
)typedef tmat4x4< f32, defaultp > f32mat4
-

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
-

Spherical linear interpolation of two quaternions.

+

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See also
GLM_GTC_type_precision
-

Definition at line 73 of file compatibility.hpp.

- -

References glm::mix().

+

Definition at line 2485 of file fwd.hpp.

- +
- - - - - +
GLM_FUNC_DECL T glm::yaw (detail::tquat< T, P > const & x)typedef tmat4x2< f32, defaultp > f32mat4x2
-

Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

-
See Also
GLM_GTX_quaternion
+

Default single-precision floating-point 4x2 matrix.

+

Single-precision floating-point 4x2 matrix.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 2465 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 2469 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 2473 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 2489 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 2425 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 2429 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 2433 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 2437 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 1537 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 2583 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 2547 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 2551 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 2555 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 2587 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 2559 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 2563 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 2567 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 2591 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 2571 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 2575 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 2579 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 2595 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 2531 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 2535 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 2539 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 2543 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 80 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 1525 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 81 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 1529 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 2407 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 2371 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 2375 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 2379 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 2411 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 2383 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 2387 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 2391 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 2415 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 2395 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 2399 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 2403 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 86 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 2355 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 2359 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 2363 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 2367 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 1455 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 2072 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 2032 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 2036 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 2040 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 2076 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 2044 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 2048 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 2052 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 2080 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 2056 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 2060 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 2064 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 2273 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 1674 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 1678 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 1682 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 1686 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 1459 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 2242 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 2202 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 2206 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 2210 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 2246 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 2214 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 2218 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 2222 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 2250 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 2226 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 2230 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 2234 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 2277 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 1723 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 1727 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 1731 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 1735 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 1439 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 1447 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 1443 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 1451 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 1901 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 1861 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 1865 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 1869 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 1905 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 1873 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 1877 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 1881 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 1909 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 1885 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 1889 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 1893 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 1625 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 1629 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 1633 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 1637 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 260 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 444 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 448 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 452 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 456 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 264 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 524 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 528 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 532 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 536 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 268 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 683 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 687 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 691 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 695 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 256 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 365 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 369 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 373 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 377 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 228 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 244 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 232 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 highp_int32_t
+
+ +

32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 248 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 236 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 252 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 224 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 240 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 869 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 1053 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 1057 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 1061 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 1065 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 873 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 1133 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 1137 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 1141 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 1145 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 877 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 1292 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 1296 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 1300 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 1304 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 865 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 974 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 978 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 982 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 986 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 837 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 853 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 841 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 857 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 845 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 861 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 833 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 849 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 1609 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 i16
+
+ +

16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 317 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 472 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 476 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 480 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 484 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 i32
+
+ +

32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 321 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 551 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 555 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 559 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 563 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 i64
+
+ +

64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 325 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 710 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 714 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 718 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 722 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 i8
+
+ +

8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 313 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 392 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 396 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 400 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 404 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 int16
+
+ +

16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 221 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 int16_t
+
+ +

16 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 300 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 int32
+
+ +

32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 222 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 int32_t
+
+ +

32 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 304 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 int64
+
+ +

64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 223 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 int64_t
+
+ +

64 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 308 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 int8
+
+ +

8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 220 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 int8_t
+
+ +

8 bit signed integer type.

+
See also
GLM_GTC_type_precision
+ +

Definition at line 296 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 1356 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 1958 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 1918 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 1922 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 1926 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 1962 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 1930 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 1934 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 1938 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 1966 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 1942 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 1946 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 1950 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 2257 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 1642 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 1646 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 1650 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 1654 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 1360 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 2129 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 2089 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 2093 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 2097 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 2133 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 2101 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 2105 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 2109 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 2137 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 2113 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 2117 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 2121 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 2261 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 1691 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 1695 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 1699 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 1703 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 1340 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 1348 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 1344 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 1352 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 1787 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 1747 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 1751 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 1755 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 1791 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 1759 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 1763 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 1767 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 1795 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 1771 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 1775 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 1779 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 1559 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 1563 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 1567 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 1571 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 164 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 410 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 414 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 418 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 422 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 168 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 490 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 494 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 498 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 502 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 172 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 649 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 653 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 657 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 661 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 160 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 331 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 335 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 339 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 343 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 132 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 148 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 136 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 152 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 140 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 156 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 128 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 144 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 769 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 1019 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 1023 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 1027 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 1031 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 773 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 1099 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 1103 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 1107 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 1111 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 777 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 1258 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 1262 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 1266 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 1270 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 765 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 940 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 944 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 948 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 952 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 735 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 752 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 739 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 756 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 743 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 760 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 731 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 748 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 1543 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 1430 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 2015 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 1975 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 1979 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 1983 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 2019 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 1987 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 1991 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 1995 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 2023 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 1999 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 2003 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 2007 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 2265 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 1658 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 1662 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 1666 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 1670 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 1434 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 2186 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 2146 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 2150 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 2154 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 2190 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 2158 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 2162 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 2166 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 2194 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 2170 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 2174 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 2178 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 2269 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 1707 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 1711 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 1715 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 1719 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 1414 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 1422 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 1418 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 1426 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 1844 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 1804 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 1808 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 1812 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 1848 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 1816 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 1820 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 1824 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 1852 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 1828 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 1832 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 1836 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 1592 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 1596 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 1600 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 1604 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 212 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 427 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 431 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 435 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 439 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 216 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 507 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 511 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 515 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 519 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 220 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 666 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 670 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 674 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 678 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 208 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 348 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 352 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 356 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 360 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 180 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 196 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 184 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 200 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 188 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 204 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 176 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 192 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 819 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 1036 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 1040 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 1044 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 1048 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 823 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 1116 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 1120 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 1124 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 1128 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 827 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 1275 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 1279 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 1283 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 1287 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 815 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 957 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 961 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 965 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 969 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 787 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 803 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 791 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 807 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 795 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 811 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 783 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 799 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 1576 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 926 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 1081 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 1085 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 1089 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 1093 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 930 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 1160 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 1164 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 1168 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 1172 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 934 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 1319 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 1323 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 1327 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 1331 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 922 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 1001 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 1005 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 1009 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 1013 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 226 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 909 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 227 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 913 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 228 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 917 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 225 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 905 of file fwd.hpp.

@@ -891,7 +8809,7 @@ Functions diff --git a/doc/api/a00180.html b/doc/api/a00180.html index f7944c46..c57066e1 100644 --- a/doc/api/a00180.html +++ b/doc/api/a00180.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_random + +0.9.6: GLM_GTC_type_ptr @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,214 +39,411 @@
Functions
-
GLM_GTC_random
+
GLM_GTC_type_ptr
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
ballRand (T const &Radius)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
circularRand (T const &Radius)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
diskRand (T const &Radius)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType const &Mean, genType const &Deviation)
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType const &Min, genType const &Max)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
sphericalRand (T const &Radius)
 
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

-

Generate random number from various distribution methods.

-

<glm/gtc/random.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 detail::tvec3<T, defaultp> glm::ballRand GLM_FUNC_DECL tmat2x2<T, defaultp> glm::make_mat2 (T const & Radius)T const *const ptr)
-

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
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - + +
GLM_FUNC_DECL detail::tvec2<T, defaultp> glm::circularRand GLM_FUNC_DECL tmat2x2<T, defaultp> glm::make_mat2x2 (T const & Radius)T const *const ptr)
-

Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius.

-
Parameters
- - -
Radius
-
-
-
See Also
GLM_GTC_random
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + - - + +
GLM_FUNC_DECL detail::tvec2<T, defaultp> glm::diskRand GLM_FUNC_DECL tmat2x3<T, defaultp> glm::make_mat2x3 (T const & Radius)T const *const ptr)
-

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
+

Build a matrix from a pointer.

+
See also
GLM_GTC_type_ptr
- +
- + + + + + + +
GLM_FUNC_DECL genType glm::gaussRand 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 ( genType const & Mean,
genType const & Deviation 
)
-
- -

Generate random numbers in the interval [Min, Max], according a gaussian distribution.

-
Parameters
- - - -
Mean
Deviation
-
-
-
See Also
GLM_GTC_random
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::linearRand (genType const & Min,
genType const & 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 detail::tvec3<T, defaultp> glm::sphericalRand (T const & Radius)vec)
-

Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius.

-
Parameters
- - -
Radius
-
-
-
See Also
GLM_GTC_random
+

Return the constant address to the data of the input parameter.

+
See also
GLM_GTC_type_ptr
@@ -257,7 +452,7 @@ defaultp >  diff --git a/doc/api/a00181.html b/doc/api/a00181.html index f9253c02..8f6fd41c 100644 --- a/doc/api/a00181.html +++ b/doc/api/a00181.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_reciprocal + +0.9.6: GLM_GTC_ulp @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,59 +39,99 @@
Functions
-
GLM_GTC_reciprocal
+
GLM_GTC_ulp
GTC Extensions (Stable)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +

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)
 
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

-

Define secant, cosecant and cotangent functions.

-

<glm/gtc/reciprocal.hpp> need to be included to use these features.

+

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 genType glm::acot GLM_FUNC_DECL uint glm::float_distance (T const & x,
T const & y 
)
+
+ +

Return the distance in the number of ULP between 2 scalars.

+
See also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<uint> glm::float_distance (vecType< T > const & x,
vecType< T > const & y 
)
+
+ +

Return the distance in the number of ULP between 2 vectors.

+
See also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + @@ -102,17 +140,46 @@ Functions
GLM_FUNC_DECL genType glm::next_float ( genType const &  x)
-

Inverse cotangent function.

-
See Also
GLM_GTC_reciprocal
+

Return the next ULP value(s) after the input value(s).

+
See also
GLM_GTC_ulp
- +
- + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::acoth GLM_FUNC_DECL genType glm::next_float (genType const & x,
uint const & Distance 
)
+
+ +

Return the value(s) ULP distance after the input value(s).

+
See also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + @@ -121,201 +188,37 @@ Functions
GLM_FUNC_DECL genType glm::prev_float ( genType const &  x)
-

Inverse cotangent hyperbolic function.

-
See Also
GLM_GTC_reciprocal
+

Return the previous ULP value(s) before the input value(s).

+
See also
GLM_GTC_ulp
- +
- + - - + -
GLM_FUNC_DECL genType glm::acsc GLM_FUNC_DECL genType glm::prev_float ( genType const & x)x,
-
- -

Inverse cosecant function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - + + + -
GLM_FUNC_DECL genType glm::acsch (genType const & x) uint const & Distance 
-
- -

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
+

Return the value(s) ULP distance before the input value(s).

+
See also
GLM_GTC_ulp
@@ -324,7 +227,7 @@ Functions diff --git a/doc/api/a00182.html b/doc/api/a00182.html index 388110e5..5e439483 100644 --- a/doc/api/a00182.html +++ b/doc/api/a00182.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_type_precision + +0.9.6: GLM_GTC_vec1 @@ -16,9 +16,9 @@ + @@ -26,8933 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Typedefs
-
GLM_GTC_type_precision
+
GLM_GTC_vec1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-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 detail::tmat2x2< f32,
-highp > 
highp_f32mat2x2
 
typedef detail::tmat2x3< f32,
-highp > 
highp_f32mat2x3
 
typedef detail::tmat2x4< f32,
-highp > 
highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef detail::tmat3x2< f32,
-highp > 
highp_f32mat3x2
 
typedef detail::tmat3x3< f32,
-highp > 
highp_f32mat3x3
 
typedef detail::tmat3x4< f32,
-highp > 
highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef detail::tmat4x2< f32,
-highp > 
highp_f32mat4x2
 
typedef detail::tmat4x3< f32,
-highp > 
highp_f32mat4x3
 
typedef detail::tmat4x4< f32,
-highp > 
highp_f32mat4x4
 
typedef detail::tquat< f32, highp > highp_f32quat
 
typedef detail::tvec1< f32, highp > highp_f32vec1
 
typedef detail::tvec2< f32, highp > highp_f32vec2
 
typedef detail::tvec3< f32, highp > highp_f32vec3
 
typedef detail::tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef detail::tmat2x2< f64,
-highp > 
highp_f64mat2x2
 
typedef detail::tmat2x3< f64,
-highp > 
highp_f64mat2x3
 
typedef detail::tmat2x4< f64,
-highp > 
highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef detail::tmat3x2< f64,
-highp > 
highp_f64mat3x2
 
typedef detail::tmat3x3< f64,
-highp > 
highp_f64mat3x3
 
typedef detail::tmat3x4< f64,
-highp > 
highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef detail::tmat4x2< f64,
-highp > 
highp_f64mat4x2
 
typedef detail::tmat4x3< f64,
-highp > 
highp_f64mat4x3
 
typedef detail::tmat4x4< f64,
-highp > 
highp_f64mat4x4
 
typedef detail::tquat< f64, highp > highp_f64quat
 
typedef detail::tvec1< f64, highp > highp_f64vec1
 
typedef detail::tvec2< f64, highp > highp_f64vec2
 
typedef detail::tvec3< f64, highp > highp_f64vec3
 
typedef detail::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 detail::tmat2x2< f32,
-highp > 
highp_fmat2x2
 
typedef detail::tmat2x3< f32,
-highp > 
highp_fmat2x3
 
typedef detail::tmat2x4< f32,
-highp > 
highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef detail::tmat3x2< f32,
-highp > 
highp_fmat3x2
 
typedef detail::tmat3x3< f32,
-highp > 
highp_fmat3x3
 
typedef detail::tmat3x4< f32,
-highp > 
highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef detail::tmat4x2< f32,
-highp > 
highp_fmat4x2
 
typedef detail::tmat4x3< f32,
-highp > 
highp_fmat4x3
 
typedef detail::tmat4x4< f32,
-highp > 
highp_fmat4x4
 
typedef detail::tvec1< float,
-highp > 
highp_fvec1
 
typedef detail::tvec2< float,
-highp > 
highp_fvec2
 
typedef detail::tvec3< float,
-highp > 
highp_fvec3
 
typedef detail::tvec4< float,
-highp > 
highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef detail::tvec1< i16, highp > highp_i16vec1
 
typedef detail::tvec2< i16, highp > highp_i16vec2
 
typedef detail::tvec3< i16, highp > highp_i16vec3
 
typedef detail::tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef detail::tvec1< i32, highp > highp_i32vec1
 
typedef detail::tvec2< i32, highp > highp_i32vec2
 
typedef detail::tvec3< i32, highp > highp_i32vec3
 
typedef detail::tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef detail::tvec1< i64, highp > highp_i64vec1
 
typedef detail::tvec2< i64, highp > highp_i64vec2
 
typedef detail::tvec3< i64, highp > highp_i64vec3
 
typedef detail::tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef detail::tvec1< i8, highp > highp_i8vec1
 
typedef detail::tvec2< i8, highp > highp_i8vec2
 
typedef detail::tvec3< i8, highp > highp_i8vec3
 
typedef detail::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 detail::tvec1< u16, highp > highp_u16vec1
 
typedef detail::tvec2< u16, highp > highp_u16vec2
 
typedef detail::tvec3< u16, highp > highp_u16vec3
 
typedef detail::tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef detail::tvec1< u32, highp > highp_u32vec1
 
typedef detail::tvec2< u32, highp > highp_u32vec2
 
typedef detail::tvec3< u32, highp > highp_u32vec3
 
typedef detail::tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef detail::tvec1< u64, highp > highp_u64vec1
 
typedef detail::tvec2< u64, highp > highp_u64vec2
 
typedef detail::tvec3< u64, highp > highp_u64vec3
 
typedef detail::tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef detail::tvec1< u8, highp > highp_u8vec1
 
typedef detail::tvec2< u8, highp > highp_u8vec2
 
typedef detail::tvec3< u8, highp > highp_u8vec3
 
typedef detail::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 detail::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 detail::tmat2x2< f32,
-lowp > 
lowp_f32mat2x2
 
typedef detail::tmat2x3< f32,
-lowp > 
lowp_f32mat2x3
 
typedef detail::tmat2x4< f32,
-lowp > 
lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef detail::tmat3x2< f32,
-lowp > 
lowp_f32mat3x2
 
typedef detail::tmat3x3< f32,
-lowp > 
lowp_f32mat3x3
 
typedef detail::tmat3x4< f32,
-lowp > 
lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef detail::tmat4x2< f32,
-lowp > 
lowp_f32mat4x2
 
typedef detail::tmat4x3< f32,
-lowp > 
lowp_f32mat4x3
 
typedef detail::tmat4x4< f32,
-lowp > 
lowp_f32mat4x4
 
typedef detail::tquat< f32, lowp > lowp_f32quat
 
typedef detail::tvec1< f32, lowp > lowp_f32vec1
 
typedef detail::tvec2< f32, lowp > lowp_f32vec2
 
typedef detail::tvec3< f32, lowp > lowp_f32vec3
 
typedef detail::tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef detail::tmat2x2< f64,
-lowp > 
lowp_f64mat2x2
 
typedef detail::tmat2x3< f64,
-lowp > 
lowp_f64mat2x3
 
typedef detail::tmat2x4< f64,
-lowp > 
lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef detail::tmat3x2< f64,
-lowp > 
lowp_f64mat3x2
 
typedef detail::tmat3x3< f64,
-lowp > 
lowp_f64mat3x3
 
typedef detail::tmat3x4< f64,
-lowp > 
lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef detail::tmat4x2< f64,
-lowp > 
lowp_f64mat4x2
 
typedef detail::tmat4x3< f64,
-lowp > 
lowp_f64mat4x3
 
typedef detail::tmat4x4< f64,
-lowp > 
lowp_f64mat4x4
 
typedef detail::tquat< f64, lowp > lowp_f64quat
 
typedef detail::tvec1< f64, lowp > lowp_f64vec1
 
typedef detail::tvec2< f64, lowp > lowp_f64vec2
 
typedef detail::tvec3< f64, lowp > lowp_f64vec3
 
typedef detail::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 detail::tmat2x2< f32,
-lowp > 
lowp_fmat2x2
 
typedef detail::tmat2x3< f32,
-lowp > 
lowp_fmat2x3
 
typedef detail::tmat2x4< f32,
-lowp > 
lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef detail::tmat3x2< f32,
-lowp > 
lowp_fmat3x2
 
typedef detail::tmat3x3< f32,
-lowp > 
lowp_fmat3x3
 
typedef detail::tmat3x4< f32,
-lowp > 
lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef detail::tmat4x2< f32,
-lowp > 
lowp_fmat4x2
 
typedef detail::tmat4x3< f32,
-lowp > 
lowp_fmat4x3
 
typedef detail::tmat4x4< f32,
-lowp > 
lowp_fmat4x4
 
typedef detail::tvec1< float,
-lowp > 
lowp_fvec1
 
typedef detail::tvec2< float,
-lowp > 
lowp_fvec2
 
typedef detail::tvec3< float,
-lowp > 
lowp_fvec3
 
typedef detail::tvec4< float,
-lowp > 
lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef detail::tvec1< i16, lowp > lowp_i16vec1
 
typedef detail::tvec2< i16, lowp > lowp_i16vec2
 
typedef detail::tvec3< i16, lowp > lowp_i16vec3
 
typedef detail::tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef detail::tvec1< i32, lowp > lowp_i32vec1
 
typedef detail::tvec2< i32, lowp > lowp_i32vec2
 
typedef detail::tvec3< i32, lowp > lowp_i32vec3
 
typedef detail::tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef detail::tvec1< i64, lowp > lowp_i64vec1
 
typedef detail::tvec2< i64, lowp > lowp_i64vec2
 
typedef detail::tvec3< i64, lowp > lowp_i64vec3
 
typedef detail::tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef detail::tvec1< i8, lowp > lowp_i8vec1
 
typedef detail::tvec2< i8, lowp > lowp_i8vec2
 
typedef detail::tvec3< i8, lowp > lowp_i8vec3
 
typedef detail::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 detail::tvec1< u16, lowp > lowp_u16vec1
 
typedef detail::tvec2< u16, lowp > lowp_u16vec2
 
typedef detail::tvec3< u16, lowp > lowp_u16vec3
 
typedef detail::tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef detail::tvec1< u32, lowp > lowp_u32vec1
 
typedef detail::tvec2< u32, lowp > lowp_u32vec2
 
typedef detail::tvec3< u32, lowp > lowp_u32vec3
 
typedef detail::tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef detail::tvec1< u64, lowp > lowp_u64vec1
 
typedef detail::tvec2< u64, lowp > lowp_u64vec2
 
typedef detail::tvec3< u64, lowp > lowp_u64vec3
 
typedef detail::tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef detail::tvec1< u8, lowp > lowp_u8vec1
 
typedef detail::tvec2< u8, lowp > lowp_u8vec2
 
typedef detail::tvec3< u8, lowp > lowp_u8vec3
 
typedef detail::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 detail::tvec1< float,
-lowp > 
lowp_vec1
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef detail::tmat2x2< f32,
-mediump > 
mediump_f32mat2x2
 
typedef detail::tmat2x3< f32,
-mediump > 
mediump_f32mat2x3
 
typedef detail::tmat2x4< f32,
-mediump > 
mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef detail::tmat3x2< f32,
-mediump > 
mediump_f32mat3x2
 
typedef detail::tmat3x3< f32,
-mediump > 
mediump_f32mat3x3
 
typedef detail::tmat3x4< f32,
-mediump > 
mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef detail::tmat4x2< f32,
-mediump > 
mediump_f32mat4x2
 
typedef detail::tmat4x3< f32,
-mediump > 
mediump_f32mat4x3
 
typedef detail::tmat4x4< f32,
-mediump > 
mediump_f32mat4x4
 
typedef detail::tquat< f32,
-mediump > 
mediump_f32quat
 
typedef detail::tvec1< f32,
-mediump > 
mediump_f32vec1
 
typedef detail::tvec2< f32,
-mediump > 
mediump_f32vec2
 
typedef detail::tvec3< f32,
-mediump > 
mediump_f32vec3
 
typedef detail::tvec4< f32,
-mediump > 
mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef detail::tmat2x2< f64,
-mediump > 
mediump_f64mat2x2
 
typedef detail::tmat2x3< f64,
-mediump > 
mediump_f64mat2x3
 
typedef detail::tmat2x4< f64,
-mediump > 
mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef detail::tmat3x2< f64,
-mediump > 
mediump_f64mat3x2
 
typedef detail::tmat3x3< f64,
-mediump > 
mediump_f64mat3x3
 
typedef detail::tmat3x4< f64,
-mediump > 
mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef detail::tmat4x2< f64,
-mediump > 
mediump_f64mat4x2
 
typedef detail::tmat4x3< f64,
-mediump > 
mediump_f64mat4x3
 
typedef detail::tmat4x4< f64,
-mediump > 
mediump_f64mat4x4
 
typedef detail::tquat< f64,
-mediump > 
mediump_f64quat
 
typedef detail::tvec1< f64,
-mediump > 
mediump_f64vec1
 
typedef detail::tvec2< f64,
-mediump > 
mediump_f64vec2
 
typedef detail::tvec3< f64,
-mediump > 
mediump_f64vec3
 
typedef detail::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 detail::tmat2x2< f32,
-mediump > 
mediump_fmat2x2
 
typedef detail::tmat2x3< f32,
-mediump > 
mediump_fmat2x3
 
typedef detail::tmat2x4< f32,
-mediump > 
mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef detail::tmat3x2< f32,
-mediump > 
mediump_fmat3x2
 
typedef detail::tmat3x3< f32,
-mediump > 
mediump_fmat3x3
 
typedef detail::tmat3x4< f32,
-mediump > 
mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef detail::tmat4x2< f32,
-mediump > 
mediump_fmat4x2
 
typedef detail::tmat4x3< f32,
-mediump > 
mediump_fmat4x3
 
typedef detail::tmat4x4< f32,
-mediump > 
mediump_fmat4x4
 
typedef detail::tvec1< float,
-mediump > 
mediump_fvec1
 
typedef detail::tvec2< float,
-mediump > 
mediump_fvec2
 
typedef detail::tvec3< float,
-mediump > 
mediump_fvec3
 
typedef detail::tvec4< float,
-mediump > 
mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef detail::tvec1< i16,
-mediump > 
mediump_i16vec1
 
typedef detail::tvec2< i16,
-mediump > 
mediump_i16vec2
 
typedef detail::tvec3< i16,
-mediump > 
mediump_i16vec3
 
typedef detail::tvec4< i16,
-mediump > 
mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef detail::tvec1< i32,
-mediump > 
mediump_i32vec1
 
typedef detail::tvec2< i32,
-mediump > 
mediump_i32vec2
 
typedef detail::tvec3< i32,
-mediump > 
mediump_i32vec3
 
typedef detail::tvec4< i32,
-mediump > 
mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef detail::tvec1< i64,
-mediump > 
mediump_i64vec1
 
typedef detail::tvec2< i64,
-mediump > 
mediump_i64vec2
 
typedef detail::tvec3< i64,
-mediump > 
mediump_i64vec3
 
typedef detail::tvec4< i64,
-mediump > 
mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef detail::tvec1< i8,
-mediump > 
mediump_i8vec1
 
typedef detail::tvec2< i8,
-mediump > 
mediump_i8vec2
 
typedef detail::tvec3< i8,
-mediump > 
mediump_i8vec3
 
typedef detail::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 detail::tvec1< u16,
-mediump > 
mediump_u16vec1
 
typedef detail::tvec2< u16,
-mediump > 
mediump_u16vec2
 
typedef detail::tvec3< u16,
-mediump > 
mediump_u16vec3
 
typedef detail::tvec4< u16,
-mediump > 
mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef detail::tvec1< u32,
-mediump > 
mediump_u32vec1
 
typedef detail::tvec2< u32,
-mediump > 
mediump_u32vec2
 
typedef detail::tvec3< u32,
-mediump > 
mediump_u32vec3
 
typedef detail::tvec4< u32,
-mediump > 
mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef detail::tvec1< u64,
-mediump > 
mediump_u64vec1
 
typedef detail::tvec2< u64,
-mediump > 
mediump_u64vec2
 
typedef detail::tvec3< u64,
-mediump > 
mediump_u64vec3
 
typedef detail::tvec4< u64,
-mediump > 
mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef detail::tvec1< u8,
-mediump > 
mediump_u8vec1
 
typedef detail::tvec2< u8,
-mediump > 
mediump_u8vec2
 
typedef detail::tvec3< u8,
-mediump > 
mediump_u8vec3
 
typedef detail::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 detail::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
 
-

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 1523 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2475 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2439 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2443 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2447 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2479 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2451 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2455 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2459 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2483 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2463 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2467 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2471 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat< f32, defaultp > f32quat
-
- -

Default single-precision floating-point quaternion.

-

Single-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2487 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2423 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2427 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2431 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2435 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 1527 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2582 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2546 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2550 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2554 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2586 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2558 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2562 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2566 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2590 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2570 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2574 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2578 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat< f64, defaultp > f64quat
-
- -

Default double-precision floating-point quaternion.

-

Double-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2594 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2530 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2534 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2538 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2542 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 81 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 1515 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 82 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 1519 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2405 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2369 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2373 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2377 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2409 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2381 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2385 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2389 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2413 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2393 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2397 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2401 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 detail::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 2353 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2357 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2361 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2365 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 1445 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 2068 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2028 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f32, highp> highp_f32mat2x3
-
- -

High single-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2032 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f32, highp> highp_f32mat2x4
-
- -

High single-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2036 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 2072 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f32, highp> highp_f32mat3x2
-
- -

High single-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2040 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32, highp> highp_f32mat3x3
-
- -

High single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2044 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f32, highp> highp_f32mat3x4
-
- -

High single-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2048 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 2076 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f32, highp> highp_f32mat4x2
-
- -

High single-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2052 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f32, highp> highp_f32mat4x3
-
- -

High single-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2056 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32, highp> highp_f32mat4x4
-
- -

High single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2060 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f32, highp> highp_f32quat
-
- -

High single-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2271 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f32, highp> highp_f32vec1
-
- -

High single-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1666 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f32, highp> highp_f32vec2
-
- -

High single-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1670 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f32, highp> highp_f32vec3
-
- -

High single-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1674 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f32, highp> highp_f32vec4
-
- -

High single-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1678 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 1449 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 2240 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2200 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f64, highp> highp_f64mat2x3
-
- -

High double-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2204 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f64, highp> highp_f64mat2x4
-
- -

High double-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2208 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 2244 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f64, highp> highp_f64mat3x2
-
- -

High double-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2212 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f64, highp> highp_f64mat3x3
-
- -

High double-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2216 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f64, highp> highp_f64mat3x4
-
- -

High double-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2220 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 2248 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f64, highp> highp_f64mat4x2
-
- -

High double-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2224 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f64, highp> highp_f64mat4x3
-
- -

High double-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2228 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f64, highp> highp_f64mat4x4
-
- -

High double-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2232 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f64, highp> highp_f64quat
-
- -

High double-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2275 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f64, highp> highp_f64vec1
-
- -

High double-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1715 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f64, highp> highp_f64vec2
-
- -

High double-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1719 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f64, highp> highp_f64vec3
-
- -

High double-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1723 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f64, highp> highp_f64vec4
-
- -

High double-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1727 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 1429 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 1437 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 1433 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 1441 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 1894 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1854 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f32, highp> highp_fmat2x3
-
- -

High single-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1858 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f32, highp> highp_fmat2x4
-
- -

High single-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1862 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 1898 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f32, highp> highp_fmat3x2
-
- -

High single-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1866 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32, highp> highp_fmat3x3
-
- -

High single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1870 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f32, highp> highp_fmat3x4
-
- -

High single-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1874 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 1902 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f32, highp> highp_fmat4x2
-
- -

High single-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1878 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f32, highp> highp_fmat4x3
-
- -

High single-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1882 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32, highp> highp_fmat4x4
-
- -

High single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1886 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<float, highp> highp_fvec1
-
- -

High single-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1617 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<float, highp> highp_fvec2
-
- -

High Single-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1621 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<float, highp> highp_fvec3
-
- -

High Single-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1625 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<float, highp> highp_fvec4
-
- -

High Single-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1629 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 detail::tvec1<i16, highp> highp_i16vec1
-
- -

High precision 16 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 440 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 444 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 448 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 452 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 detail::tvec1< i32, highp > highp_i32vec1
-
- -

High precision 32 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 520 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 524 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 528 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 532 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 detail::tvec1<i64, highp> highp_i64vec1
-
- -

High precision 64 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 679 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 683 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 687 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 691 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 detail::tvec1<i8, highp> highp_i8vec1
-
- -

High precision 8 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 361 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 365 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 369 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 373 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 865 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u16, highp> highp_u16vec1
-
- -

High precision 16 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1043 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1047 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1051 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1055 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 869 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1< u32, highp > highp_u32vec1
-
- -

High precision 32 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1123 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1127 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1131 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1135 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 873 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u64, highp> highp_u64vec1
-
- -

High precision 64 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1282 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1286 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1290 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1294 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 861 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u8, highp> highp_u8vec1
-
- -

High precision 8 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 964 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 968 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 972 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 976 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 833 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 849 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 837 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 853 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 841 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 857 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 829 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 845 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_GTX_vec1 extension.
- -

Definition at line 1601 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 i16
-
- -

16 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 313 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 468 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 472 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 476 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 480 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 i32
-
- -

32 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 317 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 547 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 551 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 555 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 559 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 i64
-
- -

64 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 321 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 706 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 710 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 714 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 718 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 i8
-
- -

8 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 309 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 388 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 392 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 396 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 400 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 int16
-
- -

16 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 90 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 int16_t
-
- -

16 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 297 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 int32
-
- -

32 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 91 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 int32_t
-
- -

32 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 301 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 int64
-
- -

64 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 92 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 int64_t
-
- -

64 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 305 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 int8
-
- -

8 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 89 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 int8_t
-
- -

8 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 293 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 1346 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 1951 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1911 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f32, lowp> lowp_f32mat2x3
-
- -

Low single-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1915 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f32, lowp> lowp_f32mat2x4
-
- -

Low single-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1919 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 1955 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f32, lowp> lowp_f32mat3x2
-
- -

Low single-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1923 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32, lowp> lowp_f32mat3x3
-
- -

Low single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1927 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f32, lowp> lowp_f32mat3x4
-
- -

Low single-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1931 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 1959 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f32, lowp> lowp_f32mat4x2
-
- -

Low single-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1935 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f32, lowp> lowp_f32mat4x3
-
- -

Low single-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1939 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32, lowp> lowp_f32mat4x4
-
- -

Low single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1943 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f32, lowp> lowp_f32quat
-
- -

Low single-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2255 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f32, lowp> lowp_f32vec1
-
- -

Low single-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1634 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f32, lowp> lowp_f32vec2
-
- -

Low single-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1638 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f32, lowp> lowp_f32vec3
-
- -

Low single-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1642 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f32, lowp> lowp_f32vec4
-
- -

Low single-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1646 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 1350 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 2126 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2086 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f64, lowp> lowp_f64mat2x3
-
- -

Low double-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2090 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f64, lowp> lowp_f64mat2x4
-
- -

Low double-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2094 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 2130 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f64, lowp> lowp_f64mat3x2
-
- -

Low double-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2098 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f64, lowp> lowp_f64mat3x3
-
- -

Low double-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2102 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f64, lowp> lowp_f64mat3x4
-
- -

Low double-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2106 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 2134 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f64, lowp> lowp_f64mat4x2
-
- -

Low double-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2110 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f64, lowp> lowp_f64mat4x3
-
- -

Low double-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2114 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f64, lowp> lowp_f64mat4x4
-
- -

Low double-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2118 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f64, lowp> lowp_f64quat
-
- -

Low double-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2259 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f64, lowp> lowp_f64vec1
-
- -

Low double-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1683 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f64, lowp> lowp_f64vec2
-
- -

Low double-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1687 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f64, lowp> lowp_f64vec3
-
- -

Low double-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1691 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f64, lowp> lowp_f64vec4
-
- -

Low double-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1695 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 1330 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 1338 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 1334 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 1342 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 1779 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1739 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f32, lowp> lowp_fmat2x3
-
- -

Low single-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1743 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f32, lowp> lowp_fmat2x4
-
- -

Low single-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1747 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 1783 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f32, lowp> lowp_fmat3x2
-
- -

Low single-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1751 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32, lowp> lowp_fmat3x3
-
- -

Low single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1755 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f32, lowp> lowp_fmat3x4
-
- -

Low single-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1759 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 1787 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f32, lowp> lowp_fmat4x2
-
- -

Low single-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1763 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f32, lowp> lowp_fmat4x3
-
- -

Low single-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1767 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32, lowp> lowp_fmat4x4
-
- -

Low single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1771 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<float, lowp> lowp_fvec1
-
- -

Low single-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1549 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<float, lowp> lowp_fvec2
-
- -

Low single-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1553 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<float, lowp> lowp_fvec3
-
- -

Low single-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1557 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<float, lowp> lowp_fvec4
-
- -

Low single-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1561 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 detail::tvec1<i16, lowp> lowp_i16vec1
-
- -

Low precision 16 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 406 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 410 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 414 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 418 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 detail::tvec1< i32, lowp > lowp_i32vec1
-
- -

Low precision 32 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 486 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 490 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 494 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 498 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 detail::tvec1<i64, lowp> lowp_i64vec1
-
- -

Low precision 64 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 645 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 649 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 653 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 657 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 detail::tvec1<i8, lowp> lowp_i8vec1
-
- -

Low precision 8 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 327 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 331 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 335 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 339 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 765 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u16, lowp> lowp_u16vec1
-
- -

Low precision 16 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1009 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1013 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1017 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1021 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 769 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1< u32, lowp > lowp_u32vec1
-
- -

Low precision 32 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1089 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1093 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1097 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1101 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 773 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u64, lowp> lowp_u64vec1
-
- -

Low precision 64 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1248 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1252 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1256 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1260 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 761 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u8, lowp> lowp_u8vec1
-
- -

Low precision 8 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 930 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 934 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 938 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 942 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 731 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 748 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 735 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 752 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 739 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 756 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 727 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 744 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_GTX_vec1 extension.
- -

Definition at line 1533 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 1420 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 2009 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1969 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f32, mediump> mediump_f32mat2x3
-
- -

Medium single-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1973 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f32, mediump> mediump_f32mat2x4
-
- -

Medium single-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1977 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 2013 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f32, mediump> mediump_f32mat3x2
-
- -

Medium single-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1981 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32, mediump> mediump_f32mat3x3
-
- -

Medium single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1985 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f32, mediump> mediump_f32mat3x4
-
- -

Medium single-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1989 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 2017 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f32, mediump> mediump_f32mat4x2
-
- -

Medium single-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1993 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f32, mediump> mediump_f32mat4x3
-
- -

Medium single-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1997 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32, mediump> mediump_f32mat4x4
-
- -

Medium single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2001 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f32, mediump> mediump_f32quat
-
- -

Medium single-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2263 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f32, mediump> mediump_f32vec1
-
- -

Medium single-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1650 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f32, mediump> mediump_f32vec2
-
- -

Medium single-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1654 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f32, mediump> mediump_f32vec3
-
- -

Medium single-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1658 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f32, mediump> mediump_f32vec4
-
- -

Medium single-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1662 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 1424 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 2184 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 2144 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f64, mediump> mediump_f64mat2x3
-
- -

Medium double-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2148 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f64, mediump> mediump_f64mat2x4
-
- -

Medium double-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2152 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 2188 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f64, mediump> mediump_f64mat3x2
-
- -

Medium double-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2156 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f64, mediump> mediump_f64mat3x3
-
- -

Medium double-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2160 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f64, mediump> mediump_f64mat3x4
-
- -

Medium double-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2164 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 2192 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f64, mediump> mediump_f64mat4x2
-
- -

Medium double-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2168 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f64, mediump> mediump_f64mat4x3
-
- -

Medium double-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2172 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f64, mediump> mediump_f64mat4x4
-
- -

Medium double-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2176 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f64, mediump> mediump_f64quat
-
- -

Medium double-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 2267 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f64, mediump> mediump_f64vec1
-
- -

Medium double-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1699 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f64, mediump> mediump_f64vec2
-
- -

Medium double-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1703 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f64, mediump> mediump_f64vec3
-
- -

Medium double-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1707 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f64, mediump> mediump_f64vec4
-
- -

Medium double-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1711 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 1404 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 1412 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 1408 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 1416 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 1836 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1796 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f32, mediump> mediump_fmat2x3
-
- -

Medium single-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1800 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f32, mediump> mediump_fmat2x4
-
- -

Medium single-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1804 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 1840 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f32, mediump> mediump_fmat3x2
-
- -

Medium single-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1808 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32, mediump> mediump_fmat3x3
-
- -

Medium single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1812 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f32, mediump> mediump_fmat3x4
-
- -

Medium single-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1816 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 1844 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f32, mediump> mediump_fmat4x2
-
- -

Medium single-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1820 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f32, mediump> mediump_fmat4x3
-
- -

Medium single-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1824 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32, mediump> mediump_fmat4x4
-
- -

Medium single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1828 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<float, mediump> mediump_fvec1
-
- -

Medium single-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1583 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<float, mediump> mediump_fvec2
-
- -

Medium Single-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1587 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<float, mediump> mediump_fvec3
-
- -

Medium Single-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1591 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<float, mediump> mediump_fvec4
-
- -

Medium Single-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1595 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 detail::tvec1<i16, mediump> mediump_i16vec1
-
- -

Medium precision 16 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 423 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 427 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 431 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 435 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 detail::tvec1< i32, mediump > mediump_i32vec1
-
- -

Medium precision 32 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 503 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 507 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 511 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 515 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 detail::tvec1<i64, mediump> mediump_i64vec1
-
- -

Medium precision 64 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 662 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 666 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 670 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 674 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 detail::tvec1<i8, mediump> mediump_i8vec1
-
- -

Medium precision 8 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 344 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 348 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 352 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 356 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 815 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u16, mediump> mediump_u16vec1
-
- -

Medium precision 16 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1026 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1030 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1034 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1038 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 819 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1< u32, mediump > mediump_u32vec1
-
- -

Medium precision 32 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1106 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1110 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1114 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1118 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 823 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u64, mediump> mediump_u64vec1
-
- -

Medium precision 64 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1265 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1269 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1273 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 1277 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 811 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u8, mediump> mediump_u8vec1
-
- -

Medium precision 8 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 947 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 951 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 955 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 959 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 783 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 799 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 787 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 803 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 791 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 807 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 779 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 795 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_GTX_vec1 extension.
- -

Definition at line 1567 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 915 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1< u16, defaultp > u16vec1
-
- -

Default precision 16 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1071 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2< u16, defaultp > u16vec2
-
- -

Default precision 16 bit unsigned integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1075 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3< u16, defaultp > u16vec3
-
- -

Default precision 16 bit unsigned integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1079 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4< u16, defaultp > u16vec4
-
- -

Default precision 16 bit unsigned integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1083 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 919 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1< u32, defaultp > u32vec1
-
- -

Default precision 32 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1150 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2< u32, defaultp > u32vec2
-
- -

Default precision 32 bit unsigned integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1154 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3< u32, defaultp > u32vec3
-
- -

Default precision 32 bit unsigned integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1158 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4< u32, defaultp > u32vec4
-
- -

Default precision 32 bit unsigned integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1162 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 923 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1< u64, defaultp > u64vec1
-
- -

Default precision 64 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1309 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2< u64, defaultp > u64vec2
-
- -

Default precision 64 bit unsigned integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1313 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3< u64, defaultp > u64vec3
-
- -

Default precision 64 bit unsigned integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1317 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4< u64, defaultp > u64vec4
-
- -

Default precision 64 bit unsigned integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1321 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 911 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1< u8, defaultp > u8vec1
-
- -

Default precision 8 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 991 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2< u8, defaultp > u8vec2
-
- -

Default precision 8 bit unsigned integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 995 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3< u8, defaultp > u8vec3
-
- -

Default precision 8 bit unsigned integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 999 of file fwd.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4< u8, defaultp > u8vec4
-
- -

Default precision 8 bit unsigned integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 1003 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 95 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 899 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 96 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 903 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 97 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 907 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 94 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 895 of file fwd.hpp.

- -
-
+

Add vec1, ivec1, uvec1 and bvec1 types.

+

<glm/gtc/vec1.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00183.html b/doc/api/a00183.html index 1ab2a87d..918d058c 100644 --- a/doc/api/a00183.html +++ b/doc/api/a00183.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_type_ptr + +0.9.6: GLM_GTX_associated_min_max @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,417 +39,1246 @@
Functions
-
GLM_GTC_type_ptr
+
GLM_GTX_associated_min_max
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_FUNC_DECL detail::tmat2x2
-< T, defaultp > 
make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x2
-< T, defaultp > 
make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x3
-< T, defaultp > 
make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x4
-< T, defaultp > 
make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
-< T, defaultp > 
make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x2
-< T, defaultp > 
make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
-< T, defaultp > 
make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x4
-< T, defaultp > 
make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x2
-< T, defaultp > 
make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x3
-< T, defaultp > 
make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
-< T, defaultp > 
make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tquat< T,
-defaultp > 
make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
-defaultp > 
make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
-defaultp > 
make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::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 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

-

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>
-
* #include <glm/gtc/type_ptr.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.

+

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 detail::tmat2x2<T, defaultp> glm::make_mat2 GLM_FUNC_DECL U glm::associatedMax (T const *const ptr)x,
a,
y,
b 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat2x2<T, defaultp> glm::make_mat2x2 GLM_FUNC_DECL tvec2<U, P> glm::associatedMax (T const *const ptr)vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat2x3<T, defaultp> glm::make_mat2x3 GLM_FUNC_DECL vecType<T, P> glm::associatedMax (T const *const ptr)x,
vecType< U, P > const & a,
y,
vecType< U, P > const & b 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat2x4<T, defaultp> glm::make_mat2x4 GLM_FUNC_DECL vecType<U, P> glm::associatedMax (T const *const ptr)vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat3x3<T, defaultp> glm::make_mat3 GLM_FUNC_DECL U glm::associatedMax (T const *const ptr)x,
a,
y,
b,
z,
c 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat3x2<T, defaultp> glm::make_mat3x2 GLM_FUNC_DECL vecType<U, P> glm::associatedMax (T const *const ptr)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 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat3x3<T, defaultp> glm::make_mat3x3 GLM_FUNC_DECL vecType<T, P> glm::associatedMax (T const *const ptr)x,
vecType< U, P > const & a,
y,
vecType< U, P > const & b,
z,
vecType< U, P > const & c 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat3x4<T, defaultp> glm::make_mat3x4 GLM_FUNC_DECL vecType<U, P> glm::associatedMax (T const *const ptr)vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b,
vecType< T, P > const & z,
c 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 3 variables and returns 3 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::make_mat4 GLM_FUNC_DECL U glm::associatedMax (T const *const ptr)x,
a,
y,
b,
z,
c,
w,
d 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x2<T, defaultp> glm::make_mat4x2 GLM_FUNC_DECL vecType<U, P> glm::associatedMax (T const *const ptr)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 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x3<T, defaultp> glm::make_mat4x3 GLM_FUNC_DECL vecType<U, P> glm::associatedMax (T const *const ptr)x,
vecType< U, P > const & a,
y,
vecType< U, P > const & b,
z,
vecType< U, P > const & c,
w,
vecType< U, P > const & d 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::make_mat4x4 GLM_FUNC_DECL vecType<U, P> glm::associatedMax (T const *const ptr)vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b,
vecType< T, P > const & z,
c,
vecType< T, P > const & w,
d 
)
-

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Maximum comparison between 4 variables and returns 4 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, defaultp> glm::make_quat GLM_FUNC_DECL U glm::associatedMin (T const *const ptr)x,
a,
y,
b 
)
-

Build a quaternion from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Minimum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec2<T, defaultp> glm::make_vec2 GLM_FUNC_DECL tvec2<U, P> glm::associatedMin (T const *const ptr)vecType< T, P > const & x,
vecType< U, P > const & a,
vecType< T, P > const & y,
vecType< U, P > const & b 
)
-

Build a vector from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Minimum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, defaultp> glm::make_vec3 GLM_FUNC_DECL vecType<U, P> glm::associatedMin (T const *const ptr)x,
const vecType< U, P > & a,
y,
const vecType< U, P > & b 
)
-

Build a vector from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Minimum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec4<T, defaultp> glm::make_vec4 GLM_FUNC_DECL vecType<U, P> glm::associatedMin (T const *const ptr)vecType< T, P > const & x,
a,
vecType< T, P > const & y,
b 
)
-

Build a vector from a pointer.

-
See Also
GLM_GTC_type_ptr
+

Minimum comparison between 2 variables and returns 2 associated variable values.

+
See also
GLM_GTX_associated_min_max
- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType::value_type const* glm::value_ptr GLM_FUNC_DECL U glm::associatedMin (genType const & vec)x,
a,
y,
b,
z,
c 
)
-

Return the constant address to the data of the input parameter.

-
See Also
GLM_GTC_type_ptr
+

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
@@ -460,7 +1287,7 @@ genType::value_type const *  diff --git a/doc/api/a00184.html b/doc/api/a00184.html index 471a38d5..d5b866d8 100644 --- a/doc/api/a00184.html +++ b/doc/api/a00184.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTC_ulp + +0.9.6: GLM_GTX_bit @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,186 +39,188 @@
Functions
-
GLM_GTC_ulp
+
GLM_GTX_bit
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

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 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_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > powerOfTwoAbove (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > powerOfTwoBelow (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > powerOfTwoNearest (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.

+

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 uint glm::float_distance GLM_FUNC_DECL genIUType glm::highestBitValue (T const & x,
genIUType Value) T const & y 
)
- -

Return the distance in the number of ULP between 2 scalars.

-
See Also
GLM_GTC_ulp
+
See also
GLM_GTX_bit
- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL vecType<uint> glm::float_distance GLM_FUNC_DECL vecType<T, P> glm::highestBitValue (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)vecType< T, P > const & value)
-

Return the next ULP value(s) after the input value(s).

-
See Also
GLM_GTC_ulp
+

Find the highest bit set to 1 in a integer variable and return its value.

+
See also
GLM_GTX_bit
- +
- + - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::next_float GLM_FUNC_DECL genIUType glm::powerOfTwoAbove (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)genIUType Value)
-

Return the previous ULP value(s) before the input value(s).

-
See Also
GLM_GTC_ulp
+

Return the power of two number which value is just higher the input value.

+
See also
GLM_GTX_bit
- +
- + - - - - - + + - - - - - - -
GLM_FUNC_DECL genType glm::prev_float GLM_FUNC_DECL vecType<T, P> glm::powerOfTwoAbove (genType const & x,
vecType< T, P > const & value) uint const & Distance 
)
-

Return the value(s) ULP distance before the input value(s).

-
See Also
GLM_GTC_ulp
+

Return the power of two number which value is just higher the input value.

+
See also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType glm::powerOfTwoBelow (genIUType Value)
+
+ +

Return the power of two number which value is just lower the input value.

+
See also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
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.

+
See also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType glm::powerOfTwoNearest (genIUType Value)
+
+ +

Return the power of two number which value is the closet to the input value.

+
See also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
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.

+
See also
GLM_GTX_bit
@@ -229,7 +229,7 @@ Functions diff --git a/doc/api/a00185.html b/doc/api/a00185.html index 4f4ff986..a3a6953c 100644 --- a/doc/api/a00185.html +++ b/doc/api/a00185.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_associated_min_max + +0.9.6: GLM_GTX_closest_point @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,61 +39,44 @@
Functions
-
GLM_GTX_associated_min_max
+
GLM_GTX_closest_point
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
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

-

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.

+

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

- +
- + - - + + - + - - - - - - - + @@ -106,285 +87,8 @@ Functions
genTypeU glm::associatedMax GLM_FUNC_DECL tvec3<T, P> glm::closestPointOnLine (const genTypeT & x, tvec3< T, P > const & point,
const genTypeU & tvec3< T, P > const &  a,
const genTypeT & y,
const genTypeU & tvec3< T, P > const &  b 
-

Max comparison between 2 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMax (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c 
)
-
- -

Max comparison between 3 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMax (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c,
const genTypeT & w,
const genTypeU & d 
)
-
- -

Max comparison between 4 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b 
)
-
- -

Min comparison between 2 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c 
)
-
- -

Min comparison between 3 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c,
const genTypeT & w,
const genTypeU & d 
)
-
- -

Min comparison between 4 variables.

-
See Also
GLM_GTX_associated_min_max
+

Find the point on a straight line which is the closet of a point.

+
See also
GLM_GTX_closest_point
@@ -393,7 +97,7 @@ Functions diff --git a/doc/api/a00186.html b/doc/api/a00186.html index c9c7595a..05abaf47 100644 --- a/doc/api/a00186.html +++ b/doc/api/a00186.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_bit + +0.9.6: GLM_GTX_color_space @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,98 +39,127 @@
Functions
-
GLM_GTX_bit
+
GLM_GTX_color_space
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +

Functions

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 genType >
GLM_DEPRECATED GLM_FUNC_DECL
-genType 
bitRevert (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateLeft (genType const &In, std::size_t Shift)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateRight (genType const &In, std::size_t Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genType >
GLM_FUNC_DECL genType highestBitValue (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL bool isPowerOfTwo (genType const &value)
 
template<typename genIType >
GLM_FUNC_DECL genIType mask (genIType const &count)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoAbove (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoBelow (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoNearest (genType const &value)
 
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

-

Allow to perform bit operations on integer values.

-

<glm/gtx/bit.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_DECL int16 glm::bitfieldInterleave GLM_FUNC_DECL tvec3<T, P> glm::hsvColor (int8 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
+ +
+
+ +
+
+ + + + + + - - + + @@ -142,27 +169,26 @@ genType  diff --git a/doc/api/a00189.html b/doc/api/a00189.html index 64317812..07360fce 100644 --- a/doc/api/a00189.html +++ b/doc/api/a00189.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_color_space_YCoCg + +0.9.6: GLM_GTX_compatibility @@ -16,9 +16,9 @@
GLM_FUNC_DECL tvec3<T, P> glm::saturation (T const s,
int8 y tvec3< T, P > const & color 
- +
- + - - + + - - + + @@ -172,774 +198,8 @@ genType  diff --git a/doc/api/a00188.html b/doc/api/a00188.html index 6ce5f5cc..00d39e40 100644 --- a/doc/api/a00188.html +++ b/doc/api/a00188.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_color_space + +0.9.6: GLM_GTX_common @@ -16,9 +16,9 @@
GLM_FUNC_DECL uint16 glm::bitfieldInterleave GLM_FUNC_DECL tvec4<T, P> glm::saturation (uint8 x, T const s,
uint8 y tvec4< T, P > const & color 
- - -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int16 x,
int16 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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_DEPRECATED GLM_FUNC_DECL genType glm::bitRevert (genType const & value)
-
- -

Revert all bits of any integer based type.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::bitRotateLeft (genType const & In,
std::size_t Shift 
)
-
- -

Rotate all bits to the left.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genType glm::bitRotateRight (genType const & In,
std::size_t Shift 
)
-
- -

Rotate all bits to the right.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genIUType glm::fillBitfieldWithOne (genIUType const & Value,
int const & FromBit,
int const & ToBit 
)
-
- -

Set to 1 a range of bits.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_DECL genIUType glm::fillBitfieldWithZero (genIUType const & Value,
int const & FromBit,
int const & ToBit 
)
-
- -

Set to 0 a range of bits.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genType glm::highestBitValue (genType const & value)
-
- -

Find the highest bit set to 1 in a integer variable and return its value.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL bool glm::isPowerOfTwo (genType const & value)
-
- -

Return true if the value is a power of two number.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genIType glm::mask (genIType const & count)
-
- -

Build a mask of 'count' bits.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genType glm::powerOfTwoAbove (genType const & value)
-
- -

Return the power of two number which value is just higher the input value.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genType glm::powerOfTwoBelow (genType const & value)
-
- -

Return the power of two number which value is just lower the input value.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_DECL genType glm::powerOfTwoNearest (genType const & value)
-
- -

Return the power of two number which value is the closet to the input value.

-
See Also
GLM_GTX_bit
+

Modify the saturation of a color.

+
See also
GLM_GTX_color_space
@@ -948,7 +208,7 @@ genType 
diff --git a/doc/api/a00187.html b/doc/api/a00187.html index b210e50a..1cb2e855 100644 --- a/doc/api/a00187.html +++ b/doc/api/a00187.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_closest_point + +0.9.6: GLM_GTX_color_space_YCoCg @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,52 +39,106 @@
-
GLM_GTX_closest_point
+
GLM_GTX_color_space_YCoCg
- - - + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tvec3< T, P > closestPointOnLine (detail::tvec3< T, P > const &point, detail::tvec3< T, P > const &a, detail::tvec3< T, P > const &b)
 
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

-

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.

+

RGB to YCoCg conversions and operations.

+

<glm/gtx/color_space_YCoCg.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - - + + - - - - - - - - - - - - -
detail::tvec3<T, P> glm::closestPointOnLine GLM_FUNC_DECL tvec3<T, P> glm::rgb2YCoCg (detail::tvec3< T, P > const & point,
tvec3< T, P > const & rgbColor) detail::tvec3< T, P > const & a,
detail::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
+

Convert a color from RGB color space to YCoCg color space.

+
See also
GLM_GTX_color_space_YCoCg
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tvec3<T, P> glm::rgb2YCoCgR (tvec3< T, P > const & rgbColor)
+
+ +

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 tvec3<T, P> glm::YCoCg2rgb (tvec3< T, P > const & YCoCgColor)
+
+ +

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"
+
+GLM_GTX_color_space_YCoCg
@@ -95,7 +147,7 @@ Functions
+ @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,166 +39,45 @@
-
+
- - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T , precision P>
detail::tvec3< T, P > hsvColor (detail::tvec3< T, P > const &rgbValue)
 
template<typename T , precision P>
luminosity (detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec3< T, P > rgbColor (detail::tvec3< T, P > const &hsvValue)
 
template<typename T , precision P>
detail::tmat4x4< T, P > saturation (T const s)
 
template<typename T , precision P>
detail::tvec3< T, P > saturation (T const s, detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec4< T, P > saturation (T const s, detail::tvec4< T, P > const &color)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 

Detailed Description

-

Related to RGB to HSV conversions and operations.

-

<glm/gtx/color_space.hpp> need to be included to use these functionalities.

+

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

- +
- + - - + +
detail::tvec3<T, P> glm::hsvColor GLM_FUNC_DECL genType::bool_type glm::isdenormal (detail::tvec3< T, P > const & rgbValue)genType const & x)
-

Converts a color from RGB color space to its color in HSV color space.

-
See Also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - -
T glm::luminosity (detail::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
- -
-
- -
-
- - - - - - - - -
detail::tvec3<T, P> glm::rgbColor (detail::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
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T, P> glm::saturation (T const s)
-
- -

Build a saturation matrix.

-
See Also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T, P> glm::saturation (T const s,
detail::tvec3< T, P > const & color 
)
-
- -

Modify the saturation of a color.

-
See Also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<T, P> glm::saturation (T const s,
detail::tvec4< T, P > const & color 
)
-
- -

Modify the saturation of a color.

-
See Also
GLM_GTX_color_space
+

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
@@ -209,7 +86,7 @@ Functions
+ @@ -26,121 +26,317 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
GLM_GTX_color_space_YCoCg
+
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>
detail::tvec3< T, P > rgb2YCoCg (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCgR (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCg2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCgR2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
+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)
 

Detailed Description

-

RGB to YCoCg conversions and operations.

-

<glm/gtx/color_space_YCoCg.hpp> need to be included to use these functionalities.

+

Provide functions to increase the compatibility with Cg and HLSL languages.

+

<glm/gtx/compatibility.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - + + -
detail::tvec3<T, P> glm::rgb2YCoCg GLM_FUNC_QUALIFIER T glm::slerp (detail::tvec3< T, P > const & rgbColor)tquat< T, P > const & x,
-
- -

Convert a color from RGB color space to YCoCg color space.

-
See Also
GLM_GTX_color_space_YCoCg
- -
-
- -
-
- - - - - + + + -
detail::tvec3<T, P> glm::rgb2YCoCgR (detail::tvec3< T, P > const & rgbColor) tquat< T, P > const & y,
-
- -

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
- -
-
- -
-
- - - - - + + + -
detail::tvec3<T, P> glm::YCoCg2rgb (detail::tvec3< T, P > const & YCoCgColor) T const & a 
-
- -

Convert a color from YCoCg color space to RGB color space.

-
See Also
GLM_GTX_color_space_YCoCg
- -
-
- -
-
- - - - - + +
detail::tvec3<T, P> glm::YCoCgR2rgb (detail::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"
-
-GLM_GTX_color_space_YCoCg
+

Returns the slurp interpolation between two quaternions.

+

Spherical linear interpolation of two quaternions.

+ +

Definition at line 72 of file compatibility.hpp.

+ +

References glm::mix().

@@ -149,7 +345,7 @@ Functions diff --git a/doc/api/a00190.html b/doc/api/a00190.html index 875fb0e9..13f9a9b6 100644 --- a/doc/api/a00190.html +++ b/doc/api/a00190.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_compatibility + +0.9.6: GLM_GTX_component_wise @@ -16,9 +16,9 @@ + @@ -26,376 +26,115 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Typedefs | Functions
-
GLM_GTX_compatibility
+
GLM_GTX_component_wise
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef bool bool1
 
-typedef bool bool1x1
 
-typedef detail::tvec2< bool,
-highp > 
bool2
 
-typedef detail::tmat2x2< bool,
-highp > 
bool2x2
 
-typedef detail::tmat2x3< bool,
-highp > 
bool2x3
 
-typedef detail::tmat2x4< bool,
-highp > 
bool2x4
 
-typedef detail::tvec3< bool,
-highp > 
bool3
 
-typedef detail::tmat3x2< bool,
-highp > 
bool3x2
 
-typedef detail::tmat3x3< bool,
-highp > 
bool3x3
 
-typedef detail::tmat3x4< bool,
-highp > 
bool3x4
 
-typedef detail::tvec4< bool,
-highp > 
bool4
 
-typedef detail::tmat4x2< bool,
-highp > 
bool4x2
 
-typedef detail::tmat4x3< bool,
-highp > 
bool4x3
 
-typedef detail::tmat4x4< bool,
-highp > 
bool4x4
 
-typedef double double1
 
-typedef double double1x1
 
-typedef detail::tvec2< double,
-highp > 
double2
 
-typedef detail::tmat2x2
-< double, highp > 
double2x2
 
-typedef detail::tmat2x3
-< double, highp > 
double2x3
 
-typedef detail::tmat2x4
-< double, highp > 
double2x4
 
-typedef detail::tvec3< double,
-highp > 
double3
 
-typedef detail::tmat3x2
-< double, highp > 
double3x2
 
-typedef detail::tmat3x3
-< double, highp > 
double3x3
 
-typedef detail::tmat3x4
-< double, highp > 
double3x4
 
-typedef detail::tvec4< double,
-highp > 
double4
 
-typedef detail::tmat4x2
-< double, highp > 
double4x2
 
-typedef detail::tmat4x3
-< double, highp > 
double4x3
 
-typedef detail::tmat4x4
-< double, highp > 
double4x4
 
-typedef float float1
 
-typedef float float1x1
 
-typedef detail::tvec2< float,
-highp > 
float2
 
-typedef detail::tmat2x2< float,
-highp > 
float2x2
 
-typedef detail::tmat2x3< float,
-highp > 
float2x3
 
-typedef detail::tmat2x4< float,
-highp > 
float2x4
 
-typedef detail::tvec3< float,
-highp > 
float3
 
-typedef detail::tmat3x2< float,
-highp > 
float3x2
 
-typedef detail::tmat3x3< float,
-highp > 
float3x3
 
-typedef detail::tmat3x4< float,
-highp > 
float3x4
 
-typedef detail::tvec4< float,
-highp > 
float4
 
-typedef detail::tmat4x2< float,
-highp > 
float4x2
 
-typedef detail::tmat4x3< float,
-highp > 
float4x3
 
-typedef detail::tmat4x4< float,
-highp > 
float4x4
 
-typedef int int1
 
-typedef int int1x1
 
-typedef detail::tvec2< int, highp > int2
 
-typedef detail::tmat2x2< int,
-highp > 
int2x2
 
-typedef detail::tmat2x3< int,
-highp > 
int2x3
 
-typedef detail::tmat2x4< int,
-highp > 
int2x4
 
-typedef detail::tvec3< int, highp > int3
 
-typedef detail::tmat3x2< int,
-highp > 
int3x2
 
-typedef detail::tmat3x3< int,
-highp > 
int3x3
 
-typedef detail::tmat3x4< int,
-highp > 
int3x4
 
-typedef detail::tvec4< int, highp > int4
 
-typedef detail::tmat4x2< int,
-highp > 
int4x2
 
-typedef detail::tmat4x3< int,
-highp > 
int4x3
 
-typedef detail::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
-detail::tvec2< T, P > 
atan2 (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
atan2 (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
atan2 (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y)
 
-template<typename genType >
bool isfinite (genType const &x)
 
-template<typename T , precision P>
detail::tvec2< bool, P > isfinite (const detail::tvec2< T, P > &x)
 
-template<typename T , precision P>
detail::tvec3< bool, P > isfinite (const detail::tvec3< T, P > &x)
 
-template<typename T , precision P>
detail::tvec4< bool, P > isfinite (const detail::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
-detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, T a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, const detail::tvec2< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, const detail::tvec3< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, const detail::tvec4< T, P > &a)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec2< T, P > 
saturate (const detail::tvec2< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec3< T, P > 
saturate (const detail::tvec3< T, P > &x)
 
-template<typename T , precision P>
GLM_FUNC_QUALIFIER
-detail::tvec4< T, P > 
saturate (const detail::tvec4< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
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

-

Provide functions to increase the compatibility with Cg and HLSL languages.

-

<glm/gtx/compatibility.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_QUALIFIER T glm::slerp GLM_FUNC_DECL genType::value_type glm::compAdd (detail::tquat< T, P > const & x,
genType const & v) detail::tquat< T, P > const & y,
T const & a 
)
-

Returns the slurp interpolation between two quaternions.

-

Spherical linear interpolation of two quaternions.

+

Add all vector components together.

+
See also
GLM_GTX_component_wise
-

Definition at line 73 of file compatibility.hpp.

+
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::compMax (genType const & v)
+
-

References glm::mix().

+

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
@@ -404,7 +143,7 @@ detail::tvec4< T, P >  diff --git a/doc/api/a00191.html b/doc/api/a00191.html index d7dfe27e..53ba49d8 100644 --- a/doc/api/a00191.html +++ b/doc/api/a00191.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_component_wise + +0.9.6: GLM_GTX_dual_quaternion @@ -16,9 +16,9 @@ + @@ -26,117 +26,431 @@
-
GLM -  0.9.5 +
0.9.6
- +
+Typedefs | Functions
-
GLM_GTX_component_wise
+
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 genType >
genType::value_type compAdd (genType const &v)
 
template<typename genType >
genType::value_type compMax (genType const &v)
 
template<typename genType >
genType::value_type compMin (genType const &v)
 
template<typename genType >
genType::value_type compMul (genType const &v)
 
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

-

Operations between components of a type.

-

<glm/gtx/component_wise.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 289 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fdualquat dualquat
+
+ +

Dual-quaternion of floating-point numbers.

+
See also
GLM_GTX_dual_quaternion
+ +

Definition at line 265 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 270 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 258 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 226 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 242 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 248 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 216 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 232 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 253 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 221 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 237 of file dual_quaternion.hpp.

+ +
+

Function Documentation

- +
- + - - + +
genType::value_type glm::compAdd GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast (genType const & v)tmat2x4< T, P > const & x)
-

Add all vector components together.

-
See Also
GLM_GTX_component_wise
+

Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion.

+
See also
GLM_GTX_dual_quaternion
- +
- + - - + +
genType::value_type glm::compMax GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast (genType const & v)tmat3x4< T, P > const & x)
-

Find the maximum value between single vector components.

-
See Also
GLM_GTX_component_wise
+

Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.

+
See also
GLM_GTX_dual_quaternion
- +
- + - - + +
genType::value_type glm::compMin GLM_FUNC_DECL tdualquat<T, P> glm::inverse (genType const & v)tdualquat< T, P > const & q)
-

Find the minimum value between single vector components.

-
See Also
GLM_GTX_component_wise
+

Returns the q inverse.

+
See also
GLM_GTX_dual_quaternion
- +
- + - - + + + + + + + + + + + + + + + + + + + + +
genType::value_type glm::compMul GLM_FUNC_DECL tdualquat<T, P> glm::lerp (genType const & v)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)
-

Multiply all vector components together.

-
See Also
GLM_GTX_component_wise
+

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
@@ -145,7 +459,7 @@ Functions diff --git a/doc/api/a00192.html b/doc/api/a00192.html index a5510f89..83a5d974 100644 --- a/doc/api/a00192.html +++ b/doc/api/a00192.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_dual_quaternion + +0.9.6: GLM_GTX_euler_angles @@ -16,9 +16,9 @@ + @@ -26,373 +26,122 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Typedefs | Functions
-
GLM_GTX_dual_quaternion
+
GLM_GTX_euler_angles
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

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

Functions

template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat2x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat3x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > inverse (detail::tdualquat< T, P > const &q)
 
template<typename T , precision P>
detail::tdualquat< T, P > lerp (detail::tdualquat< T, P > const &x, detail::tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tmat2x4< T, P > mat2x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat3x4< T, P > mat3x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > normalize (detail::tdualquat< T, P > const &q)
 
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)
 

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 279 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef highp_fdualquat dualquat
-
- -

Dual-quaternion of floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 255 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 260 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<double, highp> highp_ddualquat
-
- -

Dual-quaternion of high double-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 248 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<float, highp> highp_dualquat
-
- -

Dual-quaternion of high single-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 216 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<float, highp> highp_fdualquat
-
- -

Dual-quaternion of high single-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 232 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<double, lowp> lowp_ddualquat
-
- -

Dual-quaternion of low double-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 238 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<float, lowp> lowp_dualquat
-
- -

Dual-quaternion of low single-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 206 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<float, lowp> lowp_fdualquat
-
- -

Dual-quaternion of low single-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 222 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<double, mediump> mediump_ddualquat
-
- -

Dual-quaternion of medium double-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 243 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<float, mediump> mediump_dualquat
-
- -

Dual-quaternion of medium single-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 211 of file dual_quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tdualquat<float, mediump> mediump_fdualquat
-
- -

Dual-quaternion of medium single-precision floating-point numbers.

-
See Also
GLM_GTX_dual_quaternion
- -

Definition at line 227 of file dual_quaternion.hpp.

- -
-
+

Build matrices from Euler angles.

+

<glm/gtx/euler_angles.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + +
detail::tdualquat<T, P> glm::dualquat_cast GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleX (detail::tmat2x4< T, P > const & x)T const & angleX)
-

Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion.

-
See Also
GLM_GTX_dual_quaternion
+

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

+
See also
GLM_GTX_euler_angles
- +
- + - - - - -
detail::tdualquat<T, P> glm::dualquat_cast GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleXY (detail::tmat3x4< T, P > const & x)
-
- -

Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.

-
See Also
GLM_GTX_dual_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tdualquat<T, P> glm::inverse (detail::tdualquat< T, P > const & q)
-
- -

Returns the q inverse.

-
See Also
GLM_GTX_dual_quaternion
- -
-
- -
-
- - - - - - - - - - - - + + - + @@ -402,65 +151,337 @@ Functions
detail::tdualquat<T, P> glm::lerp (detail::tdualquat< T, P > const & x,
detail::tdualquat< T, P > const & y, T const & angleX,
T const & a angleY 
-

Returns the linear interpolation of two dual quaternion.

-
See Also
GLM_GTX_dual_quaternion
+

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

+
See also
GLM_GTX_euler_angles
- +
- + - - + + + + + + + + + + + + + + +
detail::tmat2x4<T, P> glm::mat2x4_cast GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleXZ (detail::tdualquat< T, P > const & x)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)
-

Converts a quaternion to a 2 * 4 matrix.

-
See Also
GLM_GTX_dual_quaternion
+

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.

+
See also
GLM_GTX_euler_angles
- +
- + - - + + + + + + + + + + + + + + +
detail::tmat3x4<T, P> glm::mat3x4_cast GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleYX (detail::tdualquat< T, P > const & x)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)
-

Converts a quaternion to a 3 * 4 matrix.

-
See Also
GLM_GTX_dual_quaternion
+

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.

+
See also
GLM_GTX_euler_angles
- +
- + - - + + + + + + + + + + + + + + +
detail::tdualquat<T, P> glm::normalize GLM_FUNC_DECL tmat4x4<T, defaultp> glm::eulerAngleZX (detail::tdualquat< T, P > const & q)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)
-

Returns the normalized quaternion.

-
See Also
GLM_GTX_dual_quaternion
+

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
@@ -469,7 +490,7 @@ Functions diff --git a/doc/api/a00193.html b/doc/api/a00193.html index 17350bf7..b0068e32 100644 --- a/doc/api/a00193.html +++ b/doc/api/a00193.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_euler_angles + +0.9.6: GLM_GTX_extend @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,96 +39,41 @@
Functions
-
GLM_GTX_euler_angles
+
GLM_GTX_extend
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
detail::tmat2x2< T, defaultp > orientate2 (T const &angle)
 
template<typename T >
detail::tmat3x3< T, defaultp > orientate3 (T const &angle)
 
template<typename T , precision P>
detail::tmat3x3< T, P > orientate3 (detail::tvec3< T, P > const &angles)
 
template<typename T , precision P>
detail::tmat4x4< T, P > orientate4 (detail::tvec3< T, P > const &angles)
 
template<typename T >
detail::tmat4x4< T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 

Detailed Description

-

Build matrices from Euler angles.

-

<glm/gtx/euler_angles.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

- +
- + - - - - -
detail::tmat4x4<T, defaultp> glm::eulerAngleX GLM_FUNC_DECL genType glm::extend (T const & angleX)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - + + - - + + + + + + + + @@ -140,337 +83,8 @@ Functions
detail::tmat4x4<T, defaultp> glm::eulerAngleXY (T const & angleX, genType const & Origin,
T const & angleY genType const & Source,
typename genType::value_type const Length 
-

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - -
detail::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
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T, P> glm::orientate3 (detail::tvec3< T, P > const & angles)
-
- -

Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T, P> glm::orientate4 (detail::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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::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
+

Extends of Length the Origin position using the (Source - Origin) direction.

+
See also
GLM_GTX_extend
@@ -479,7 +93,7 @@ Functions diff --git a/doc/api/a00194.html b/doc/api/a00194.html index 59130890..cf2f6e42 100644 --- a/doc/api/a00194.html +++ b/doc/api/a00194.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_extend + +0.9.6: GLM_GTX_extented_min_max @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,42 +39,74 @@
Functions
-
GLM_GTX_extend
+
GLM_GTX_extented_min_max
GTX Extensions (Experimental)
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
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

-

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.

-

<glm/gtx/scalar_relational.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

- +
- + - - + + - - + + - - + + @@ -86,8 +116,429 @@ Functions
GLM_FUNC_DECL genType glm::extend GLM_FUNC_DECL T glm::max (genType const & Origin, T const & x,
genType const & Source, T const & y,
typename genType::value_type const Length T const & z 
-

Extends of Length the Origin position using the (Source - Origin) direction.

-
See Also
GLM_GTX_extend
+

Return the maximum component-wise values of 3 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 
)
+
+ +

Return the maximum component-wise values of 3 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 
)
+
+ +

Return the maximum component-wise values of 3 inputs.

+
See also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::max (T const & x,
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
@@ -96,7 +547,7 @@ Functions diff --git a/doc/api/a00195.html b/doc/api/a00195.html index c7357b7d..41c5d40e 100644 --- a/doc/api/a00195.html +++ b/doc/api/a00195.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_extented_min_max + +0.9.6: GLM_GTX_fast_exponential @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,74 +39,220 @@
Functions
-
GLM_GTX_extented_min_max
+
GLM_GTX_fast_exponential
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
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>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
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>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
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>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
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>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
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

-

Min and max functions for 3 to 4 parameters.

-

<glm/gtx/extented_min_max.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

- +
- + - + + + + +
T glm::max GLM_FUNC_DECL T glm::fastExp (T const & 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
+ +
+
+ +
+
+ + + + + - - - - - - - - + + @@ -118,32 +262,26 @@ Functions
GLM_FUNC_DECL genType glm::fastPow (genType  x,
T const & y,
T const & z genType y 
-

Return the maximum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
+

Faster than the common pow function but less accurate.

+
See also
GLM_GTX_fast_exponential
- +
- + - + - - - - - - - - + + @@ -153,32 +291,26 @@ Functions
C<T> glm::max GLM_FUNC_DECL vecType<T, P> glm::fastPow (C< T > const & vecType< T, P > const &  x,
typename C< T >::T const & y,
typename C< T >::T const & z vecType< T, P > const & y 
-

Return the maximum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
+

Faster than the common pow function but less accurate.

+
See also
GLM_GTX_fast_exponential
- +
- + - + - - - - - - - - + + @@ -188,359 +320,27 @@ Functions
C<T> glm::max GLM_FUNC_DECL genTypeT glm::fastPow (C< T > const & genTypeT  x,
C< T > const & y,
C< T > const & z genTypeU y 
-

Return the maximum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
+

Faster than the common pow function but less accurate.

+
See also
GLM_GTX_fast_exponential
- +
- + - - - - - + + - - - - - - - - - - - - - - - - - - -
T glm::max GLM_FUNC_DECL vecType<T, P> glm::fastPow (T const & x,
vecType< T, P > const & x) 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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
+

Faster than the common pow function but less accurate.

+
See also
GLM_GTX_fast_exponential
@@ -549,7 +349,7 @@ Functions diff --git a/doc/api/a00196.html b/doc/api/a00196.html index eb041f20..0c913d88 100644 --- a/doc/api/a00196.html +++ b/doc/api/a00196.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_fast_exponential + +0.9.6: GLM_GTX_fast_square_root @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,147 +39,55 @@
Functions
-
GLM_GTX_fast_exponential
+
GLM_GTX_fast_square_root
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
fastExp (const T &x)
 
template<typename T >
fastExp2 (const T &x)
 
template<typename T >
fastLn (const T &x)
 
template<typename T >
fastLog (const T &x)
 
template<typename T >
fastLog2 (const T &x)
 
template<typename genType >
genType fastPow (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT fastPow (genTypeT const &x, genTypeU const &y)
 
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::value_type fastLength (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 

Detailed Description

-

Fast but less accurate implementations of exponential based functions.

-

<glm/gtx/fast_exponential.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

- +
- + - - - - -
T glm::fastExp GLM_FUNC_DECL genType glm::fastDistance (const T & x)
-
- -

Faster than the common exp function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
T glm::fastExp2 (const T & x)
-
- -

Faster than the common exp2 function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
T glm::fastLn (const T & x)
-
- -

Faster than the common ln function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
T glm::fastLog (const T & x)
-
- -

Faster than the common log function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
T glm::fastLog2 (const T & x)
-
- -

Faster than the common log2 function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - + - + @@ -192,25 +98,25 @@ Functions
genType glm::fastPow (genType const & genType  x,
genType const & genType  y 
-

Faster than the common pow function but less accurate.

-
See Also
GLM_GTX_fast_exponential
+

Faster than the common distance function but less accurate.

+

From GLM_GTX_fast_square_root extension.

- +
- + - + - + @@ -221,8 +127,103 @@ Functions
genTypeT glm::fastPow GLM_FUNC_DECL T glm::fastDistance (genTypeT const & vecType< T, P > const &  x,
genTypeU const & vecType< T, P > const &  y 
-

Faster than the common pow function but less accurate.

-
See Also
GLM_GTX_fast_exponential
+

Faster than the common distance function but less accurate.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fastInverseSqrt (genType x)
+
+ +

Faster than the common inversesqrt function but less accurate.

+

From 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.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::fastLength (genType const & x)
+
+ +

Faster than the common length function but less accurate.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fastNormalize (genType const & x)
+
+ +

Faster than the common normalize function but less accurate.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fastSqrt (genType x)
+
+ +

Faster than the common sqrt function but less accurate.

+

From GLM_GTX_fast_square_root extension.

@@ -231,7 +232,7 @@ Functions diff --git a/doc/api/a00197.html b/doc/api/a00197.html index 02afe16c..df81299c 100644 --- a/doc/api/a00197.html +++ b/doc/api/a00197.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_fast_square_root + +0.9.6: GLM_GTX_fast_trigonometry @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,50 +39,94 @@
Functions
-
GLM_GTX_fast_square_root
+
GLM_GTX_fast_trigonometry
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename genType >
genType::value_type fastDistance (genType const &x, genType const &y)
 
template<typename genType >
genType fastInverseSqrt (genType const &x)
 
template<typename genType >
genType::value_type fastLength (genType const &x)
 
template<typename genType >
genType fastNormalize (genType const &x)
 
template<typename genType >
genType fastSqrt (genType const &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

-

Fast but less accurate implementations of square root based functions.

- -

<glm/gtx/fast_square_root.hpp> need to be included to use these functionalities.

+

Fast but less accurate implementations of trigonometric functions.

+

<glm/gtx/fast_trigonometry.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + + + +
genType::value_type glm::fastDistance GLM_FUNC_DECL T glm::fastAcos (genType const & x, angle)
+
+ +

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.

+ +
+
+ +
+
+ + + + + + - - + + @@ -94,84 +136,102 @@ Functions
GLM_FUNC_DECL T glm::fastAtan (y,
genType const & y x 
-

Faster than the common distance function but less accurate.

-

From GLM_GTX_fast_square_root extension.

+

Faster than the common atan function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- +
- + - - + +
genType glm::fastInverseSqrt GLM_FUNC_DECL T glm::fastAtan (genType const & x)angle)
-

Faster than the common inversesqrt function but less accurate.

-

From GLM_GTX_fast_square_root extension.

+

Faster than the common atan function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- +
- + - - + +
genType::value_type glm::fastLength GLM_FUNC_DECL T glm::fastCos (genType const & x)angle)
-

Faster than the common length function but less accurate.

-

From GLM_GTX_fast_square_root extension.

+

Faster than the common cos function but less accurate.

+

From GLM_GTX_fast_trigonometry extension.

- +
- + - - + +
genType glm::fastNormalize GLM_FUNC_DECL T glm::fastSin (genType const & x)angle)
-

Faster than the common normalize function but less accurate.

-

From GLM_GTX_fast_square_root extension.

+

Faster than the common sin function but less accurate.

+

From GLM_GTX_fast_trigonometry extension.

- +
- + - - + +
genType glm::fastSqrt GLM_FUNC_DECL T glm::fastTan (genType const & x)angle)
-

Faster than the common sqrt function but less accurate.

-

From GLM_GTX_fast_square_root extension.

+

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.

@@ -180,7 +240,7 @@ Functions diff --git a/doc/api/a00198.html b/doc/api/a00198.html index dc167488..c500cb48 100644 --- a/doc/api/a00198.html +++ b/doc/api/a00198.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_fast_trigonometry + +0.9.6: GLM_GTX_gradient_paint @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,91 +39,44 @@
Functions
-
GLM_GTX_fast_trigonometry
+
GLM_GTX_gradient_paint
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - + + + + + +

Functions

template<typename T >
fastAcos (const T &angle)
 
template<typename T >
fastAsin (const T &angle)
 
template<typename T >
fastAtan (const T &y, const T &x)
 
template<typename T >
fastAtan (const T &angle)
 
template<typename T >
fastCos (const T &angle)
 
template<typename T >
fastSin (const T &angle)
 
template<typename T >
fastTan (const T &angle)
 
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

-

Fast but less accurate implementations of trigonometric functions.

-

<glm/gtx/fast_trigonometry.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

- +
- + - - - - -
T glm::fastAcos GLM_FUNC_DECL T glm::linearGradient (const T & angle)
-
- -

Faster than the common acos function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - - - - -
T glm::fastAsin (const T & angle)
-
- -

Faster than the common asin function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - - + + - - + + + + + + + + @@ -135,84 +86,49 @@ Functions
T glm::fastAtan (const T & y, tvec2< T, P > const & Point0,
const T & x tvec2< T, P > const & Point1,
tvec2< T, P > const & Position 
-

Faster than the common atan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+

Return a color from a linear gradient.

+
See also
- GLM_GTX_gradient_paint
- +
- + - - - + + -
T glm::fastAtan GLM_FUNC_DECL T glm::radialGradient (const T & angle)tvec2< T, P > const & Center,
-
- -

Faster than the common atan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - + + + -
T glm::fastCos (const T & angle) T const & Radius,
-
- -

Faster than the common cos function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - + + + -
T glm::fastSin (const T & angle) tvec2< T, P > const & Focal,
-
- -

Faster than the common sin function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - + + + + + + + +
T glm::fastTan (const T & angle) tvec2< T, P > const & Position 
)
-

Faster than the common tan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+

Return a color from a radial gradient.

+
See also
- GLM_GTX_gradient_paint
@@ -221,7 +137,7 @@ Functions diff --git a/doc/api/a00199.html b/doc/api/a00199.html index 5d7a1733..48bbb42d 100644 --- a/doc/api/a00199.html +++ b/doc/api/a00199.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_gradient_paint + +0.9.6: GLM_GTX_handed_coordinate_space @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,44 +39,44 @@
Functions
-
GLM_GTX_gradient_paint
+
GLM_GTX_handed_coordinate_space
GTX Extensions (Experimental)
- - - - - - + + + + + +

Functions

template<typename T , precision P>
linearGradient (detail::tvec2< T, P > const &Point0, detail::tvec2< T, P > const &Point1, detail::tvec2< T, P > const &Position)
 
template<typename T , precision P>
radialGradient (detail::tvec2< T, P > const &Center, T const &Radius, detail::tvec2< T, P > const &Focal, detail::tvec2< T, P > const &Position)
 
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

-

Functions that return the color of procedural gradient for specific coordinates.

-

<glm/gtx/gradient_paint.hpp> need 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

- +
- + - - + + - - + + - - + + @@ -88,38 +86,32 @@ Functions
T glm::linearGradient GLM_FUNC_DECL bool glm::leftHanded (detail::tvec2< T, P > const & Point0, tvec3< T, P > const & tangent,
detail::tvec2< T, P > const & Point1, tvec3< T, P > const & binormal,
detail::tvec2< T, P > const & Position tvec3< T, P > const & normal 
-

Return a color from a linear gradient.

-
See Also
- GLM_GTX_gradient_paint
+

Return if a trihedron left handed or not.

+

From GLM_GTX_handed_coordinate_space extension.

- +
- + - - + + - - + + - - - - - - - - + + @@ -129,8 +121,8 @@ Functions
T glm::radialGradient GLM_FUNC_DECL bool glm::rightHanded (detail::tvec2< T, P > const & Center, tvec3< T, P > const & tangent,
T const & Radius, tvec3< T, P > const & binormal,
detail::tvec2< T, P > const & Focal,
detail::tvec2< T, P > const & Position tvec3< T, P > const & normal 
-

Return a color from a radial gradient.

-
See Also
- GLM_GTX_gradient_paint
+

Return if a trihedron right handed or not.

+

From GLM_GTX_handed_coordinate_space extension.

@@ -139,7 +131,7 @@ Functions diff --git a/doc/api/a00200.html b/doc/api/a00200.html index 1efa10bf..32eb21c7 100644 --- a/doc/api/a00200.html +++ b/doc/api/a00200.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_handed_coordinate_space + +0.9.6: GLM_GTX_inertia @@ -16,9 +16,9 @@ + @@ -26,114 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Functions
-
GLM_GTX_handed_coordinate_space
+
GLM_GTX_inertia
- - - - - - - - -

-Functions

template<typename T , precision P>
bool leftHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
bool rightHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
-

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.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::leftHanded (detail::tvec3< T, P > const & tangent,
detail::tvec3< T, P > const & binormal,
detail::tvec3< T, P > const & normal 
)
-
- -

Return if a trihedron left handed or not.

-

From GLM_GTX_handed_coordinate_space extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::rightHanded (detail::tvec3< T, P > const & tangent,
detail::tvec3< T, P > const & binormal,
detail::tvec3< T, P > const & normal 
)
-
- -

Return if a trihedron right handed or not.

-

From GLM_GTX_handed_coordinate_space extension.

- -
-
+

Create inertia matrices.

+

<glm/gtx/inertia.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00201.html b/doc/api/a00201.html index dfd02290..c2632ee5 100644 --- a/doc/api/a00201.html +++ b/doc/api/a00201.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_inertia + +0.9.6: GLM_GTX_integer @@ -16,9 +16,9 @@ + @@ -26,30 +26,289 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Typedefs | +Functions
-
+
GLM_GTX_integer
-

Create inertia matrices.

-

<glm/gtx/inertia.hpp> need to be included to use these functionalities.

+ + + + +

+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

+

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 76 of file gtx/integer.hpp.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::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 glm::floor_log2 (unsigned int x)
+
+ +

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.

+ +
+
diff --git a/doc/api/a00202.html b/doc/api/a00202.html index cd194bf3..00385a96 100644 --- a/doc/api/a00202.html +++ b/doc/api/a00202.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_integer + +0.9.6: GLM_GTX_intersect @@ -16,9 +16,9 @@ + @@ -26,149 +26,99 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Typedefs | Functions
-
+
GLM_GTX_intersect
- - - -

-Typedefs

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

Functions

template<typename genType >
genType factorial (genType const &x)
 
unsigned int floor_log2 (unsigned int x)
 
template<typename genIUType >
genIUType log2 (genIUType const &x)
 
int mod (int x, int y)
 
uint mod (uint x, uint y)
 
uint nlz (uint x)
 
int pow (int x, int y)
 
uint pow (uint x, uint y)
 
int sqrt (int x)
 
uint sqrt (uint x)
 
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

-

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 81 of file gtx/integer.hpp.

- -
-
+

Add intersection functions.

+

<glm/gtx/intersect.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - -
genType glm::factorial GLM_FUNC_DECL bool glm::intersectLineSphere ( genType const & x)
-
- -

Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - -
unsigned int glm::floor_log2 (unsigned int x)
-
- -

Returns the floor log2 of x.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - -
genIUType glm::log2 (genIUType const & x)
-
- -

Returns the log2 of x.

-

Can be reliably using to compute mipmap count from the texture size. From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -178,26 +128,50 @@ Functions
int glm::mod (int x, point0,
int y genType const & point1,
genType const & sphereCenter,
typename genType::value_type sphereRadius,
genType & intersectionPosition1,
genType & intersectionNormal1,
genType & intersectionPosition2 = genType(),
genType & intersectionNormal2 = genType() 
-

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

+

Compute the intersection of a line and a sphere.

+

From GLM_GTX_intersect extension

- +
- + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -207,45 +181,44 @@ Functions
uint glm::mod GLM_FUNC_DECL bool glm::intersectLineTriangle (uint x, genType const & orig,
uint y genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & position 
-

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

+

Compute the intersection of a line and a triangle.

+

From GLM_GTX_intersect extension.

- +
- + - - - - -
uint glm::nlz GLM_FUNC_DECL bool glm::intersectRayPlane (uint x)
-
- -

Returns the number of leading zeros.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - + + - - + + + + + + + + + + + + + + + + + + + + @@ -255,26 +228,44 @@ Functions
int glm::pow (int x, genType const & orig,
int y genType const & dir,
genType const & planeOrig,
genType const & planeNormal,
typename genType::value_type & intersectionDistance 
-

Returns x raised to the y power.

-

From GLM_GTX_integer extension.

+

Compute the intersection of a ray and a triangle.

+

Ray direction and plane normal must be unit length. From GLM_GTX_intersect extension.

- +
- + - - + + - - + + + + + + + + + + + + + + + + + + + + @@ -284,46 +275,114 @@ Functions
uint glm::pow GLM_FUNC_DECL bool glm::intersectRaySphere (uint x, genType const & rayStarting,
uint y genType const & rayNormalizedDirection,
genType const & sphereCenter,
typename genType::value_type const sphereRadiusSquered,
typename genType::value_type & intersectionDistance 
-

Returns x raised to the y power.

-

From GLM_GTX_integer extension.

+

Compute the intersection distance of a ray and a sphere.

+

The ray direction vector is unit length. From GLM_GTX_intersect extension.

- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int glm::sqrt GLM_FUNC_DECL bool glm::intersectRaySphere (int x)genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
const typename genType::value_type sphereRadius,
genType & intersectionPosition,
genType & intersectionNormal 
)
-

Returns the positive square root of x.

-

From GLM_GTX_integer extension.

+

Compute the intersection of a ray and a sphere.

+

From GLM_GTX_intersect extension.

- +
- + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint glm::sqrt GLM_FUNC_DECL bool glm::intersectRayTriangle (uint x)genType const & orig,
genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & baryPosition 
)
-

Returns the positive square root of x.

-

From GLM_GTX_integer extension.

+

Compute the intersection of a ray and a triangle.

+

From GLM_GTX_intersect extension.

@@ -332,7 +391,7 @@ Functions diff --git a/doc/api/a00203.html b/doc/api/a00203.html index dfadb560..e2944522 100644 --- a/doc/api/a00203.html +++ b/doc/api/a00203.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_intersect + +0.9.6: GLM_GTX_io @@ -16,9 +16,9 @@ + @@ -26,374 +26,30 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Functions
-
+
GLM_GTX_io
- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
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 >
bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
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 >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 

Detailed Description

-

Add intersection functions.

-

<glm/gtx/intersect.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::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.

-

From GLM_GTX_intersect extension

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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.

- -
-
+

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/a00204.html b/doc/api/a00204.html index c26500fa..ce2b38fd 100644 --- a/doc/api/a00204.html +++ b/doc/api/a00204.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_io + +0.9.6: GLM_GTX_log_base @@ -16,9 +16,9 @@ + @@ -26,31 +26,101 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Functions
-
+
GLM_GTX_log_base
+ + + + + + + + +

+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

-

std::[w]ostream support for glm types

-

<glm/gtx/io.hpp> needs 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

+ +
+
+ + + + + + + + + + + + + + + + + + +
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.

+ +
+
diff --git a/doc/api/a00205.html b/doc/api/a00205.html index 87866d40..e4aea33f 100644 --- a/doc/api/a00205.html +++ b/doc/api/a00205.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_log_base + +0.9.6: GLM_GTX_matrix_cross_product @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,47 +39,58 @@
Functions
-
GLM_GTX_log_base
+
GLM_GTX_matrix_cross_product
GTX Extensions (Experimental)
- - - + + + + + +

Functions

template<typename genType >
genType log (genType const &x, genType const &base)
 
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

-

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.

+

Build cross product matrices.

+

<glm/gtx/matrix_cross_product.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - - + + - - - - - - -
genType glm::log GLM_FUNC_DECL tmat3x3<T, P> glm::matrixCross3 (genType const & x,
tvec3< T, P > const & x) genType const & base 
)
-

Logarithm for any base.

-

From GLM_GTX_log_base.

+

Build a cross product matrix.

+

From GLM_GTX_matrix_cross_product extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::matrixCross4 (tvec3< T, P > const & x)
+
+ +

Build a cross product matrix.

+

From GLM_GTX_matrix_cross_product extension.

@@ -90,7 +99,7 @@ Functions diff --git a/doc/api/a00206.html b/doc/api/a00206.html index b0e621be..7fa72fad 100644 --- a/doc/api/a00206.html +++ b/doc/api/a00206.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_matrix_cross_product + +0.9.6: GLM_GTX_matrix_decompose @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,58 +39,70 @@
Functions
-
GLM_GTX_matrix_cross_product
+
GLM_GTX_matrix_decompose
GTX Extensions (Experimental)
- - - - - - + + +

Functions

template<typename T , precision P>
detail::tmat3x3< T, P > matrixCross3 (detail::tvec3< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > matrixCross4 (detail::tvec3< T, P > const &x)
 
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

-

Build cross product matrices.

-

<glm/gtx/matrix_cross_product.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

- +
- + - - - + + -
detail::tmat3x3<T, P> glm::matrixCross3 GLM_FUNC_DECL bool glm::decompose (detail::tvec3< T, P > const & x)tmat4x4< T, P > const & modelMatrix,
-
- -

Build a cross product matrix.

-

From GLM_GTX_matrix_cross_product extension.

- -
-
- -
-
- - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::matrixCross4 (detail::tvec3< T, P > const & x) tvec3< T, P > & scale,
tquat< T, P > & orientation,
tvec3< T, P > & translation,
tvec3< T, P > & skew,
tvec4< T, P > & perspective 
)
-

Build a cross product matrix.

-

From GLM_GTX_matrix_cross_product extension.

+

Decomposes a model matrix to translations, rotation and scale components.

+
See also
GLM_GTX_matrix_decompose
@@ -101,7 +111,7 @@ Functions diff --git a/doc/api/a00207.html b/doc/api/a00207.html index 8419b85a..7d67f573 100644 --- a/doc/api/a00207.html +++ b/doc/api/a00207.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_matrix_interpolation + +0.9.6: GLM_GTX_matrix_interpolation @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,43 +39,43 @@
Functions
-
GLM_GTX_matrix_interpolation
+
GLM_GTX_matrix_interpolation
GTX Extensions (Experimental)
- - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T , precision P>
void axisAngle (detail::tmat4x4< T, P > const &mat, detail::tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > axisAngleMatrix (detail::tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > extractMatrixRotation (detail::tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
detail::tmat4x4< T, P > interpolate (detail::tmat4x4< T, P > const &m1, detail::tmat4x4< T, P > const &m2, T const delta)
 
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.

+

<glm/gtx/matrix_interpolation.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - + - + @@ -99,14 +97,14 @@ Functions - +
void glm::axisAngle GLM_FUNC_DECL void glm::axisAngle (detail::tmat4x4< T, P > const & tmat4x4< T, P > const &  mat,
detail::tvec3< T, P > & tvec3< T, P > &  axis,
- + - + @@ -128,14 +126,14 @@ Functions - +
detail::tmat4x4<T, P> glm::axisAngleMatrix GLM_FUNC_DECL tmat4x4<T, P> glm::axisAngleMatrix (detail::tvec3< T, P > const & tvec3< T, P > const &  axis,
- + - + @@ -147,20 +145,20 @@ Functions - +
detail::tmat4x4<T, P> glm::extractMatrixRotation GLM_FUNC_DECL tmat4x4<T, P> glm::extractMatrixRotation (detail::tmat4x4< T, P > const & tmat4x4< T, P > const &  mat)
- + - + - + @@ -187,7 +185,7 @@ Functions diff --git a/doc/api/a00208.html b/doc/api/a00208.html index 618dece8..e6c691d4 100644 --- a/doc/api/a00208.html +++ b/doc/api/a00208.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_matrix_major_storage + +0.9.6: GLM_GTX_matrix_major_storage @@ -16,9 +16,9 @@
detail::tmat4x4<T, P> glm::interpolate GLM_FUNC_DECL tmat4x4<T, P> glm::interpolate (detail::tmat4x4< T, P > const & tmat4x4< T, P > const &  m1,
detail::tmat4x4< T, P > const & tmat4x4< T, P > const &  m2,
+ @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,67 +39,67 @@
-
GLM_GTX_matrix_major_storage
+
GLM_GTX_matrix_major_storage
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tmat4x4< T, P > const &m)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tmat4x4< T, P > const &m)
 
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

Build matrices with specific matrix order, row or column.

-

<glm/gtx/matrix_major_storage.hpp> need to be included to use these functionalities.

+

<glm/gtx/matrix_major_storage.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - + - + @@ -117,14 +115,14 @@ Functions - +
detail::tmat2x2<T, P> glm::colMajor2 GLM_FUNC_DECL tmat2x2<T, P> glm::colMajor2 (detail::tvec2< T, P > const & tvec2< T, P > const &  v1,
detail::tvec2< T, P > const & tvec2< T, P > const &  v2 
- + - + @@ -136,26 +134,26 @@ Functions - +
detail::tmat2x2<T, P> glm::colMajor2 GLM_FUNC_DECL tmat2x2<T, P> glm::colMajor2 (detail::tmat2x2< T, P > const & tmat2x2< T, P > const &  m)
- + - + - + - + @@ -171,14 +169,14 @@ Functions - +
detail::tmat3x3<T, P> glm::colMajor3 GLM_FUNC_DECL tmat3x3<T, P> glm::colMajor3 (detail::tvec3< T, P > const & tvec3< T, P > const &  v1,
detail::tvec3< T, P > const & tvec3< T, P > const &  v2,
detail::tvec3< T, P > const & tvec3< T, P > const &  v3 
- + - + @@ -190,32 +188,32 @@ Functions - +
detail::tmat3x3<T, P> glm::colMajor3 GLM_FUNC_DECL tmat3x3<T, P> glm::colMajor3 (detail::tmat3x3< T, P > const & tmat3x3< T, P > const &  m)
- + - + - + - + - + @@ -231,14 +229,14 @@ Functions - +
detail::tmat4x4<T, P> glm::colMajor4 GLM_FUNC_DECL tmat4x4<T, P> glm::colMajor4 (detail::tvec4< T, P > const & tvec4< T, P > const &  v1,
detail::tvec4< T, P > const & tvec4< T, P > const &  v2,
detail::tvec4< T, P > const & tvec4< T, P > const &  v3,
detail::tvec4< T, P > const & tvec4< T, P > const &  v4 
- + - + @@ -250,20 +248,20 @@ Functions - +
detail::tmat4x4<T, P> glm::colMajor4 GLM_FUNC_DECL tmat4x4<T, P> glm::colMajor4 (detail::tmat4x4< T, P > const & tmat4x4< T, P > const &  m)
- + - + - + @@ -279,14 +277,14 @@ Functions - +
detail::tmat2x2<T, P> glm::rowMajor2 GLM_FUNC_DECL tmat2x2<T, P> glm::rowMajor2 (detail::tvec2< T, P > const & tvec2< T, P > const &  v1,
detail::tvec2< T, P > const & tvec2< T, P > const &  v2 
- + - + @@ -298,26 +296,26 @@ Functions - +
detail::tmat2x2<T, P> glm::rowMajor2 GLM_FUNC_DECL tmat2x2<T, P> glm::rowMajor2 (detail::tmat2x2< T, P > const & tmat2x2< T, P > const &  m)
- + - + - + - + @@ -333,14 +331,14 @@ Functions - +
detail::tmat3x3<T, P> glm::rowMajor3 GLM_FUNC_DECL tmat3x3<T, P> glm::rowMajor3 (detail::tvec3< T, P > const & tvec3< T, P > const &  v1,
detail::tvec3< T, P > const & tvec3< T, P > const &  v2,
detail::tvec3< T, P > const & tvec3< T, P > const &  v3 
- + - + @@ -352,32 +350,32 @@ Functions - +
detail::tmat3x3<T, P> glm::rowMajor3 GLM_FUNC_DECL tmat3x3<T, P> glm::rowMajor3 (detail::tmat3x3< T, P > const & tmat3x3< T, P > const &  m)
- + - + - + - + - + @@ -393,14 +391,14 @@ Functions - +
detail::tmat4x4<T, P> glm::rowMajor4 GLM_FUNC_DECL tmat4x4<T, P> glm::rowMajor4 (detail::tvec4< T, P > const & tvec4< T, P > const &  v1,
detail::tvec4< T, P > const & tvec4< T, P > const &  v2,
detail::tvec4< T, P > const & tvec4< T, P > const &  v3,
detail::tvec4< T, P > const & tvec4< T, P > const &  v4 
- + - + @@ -417,7 +415,7 @@ Functions diff --git a/doc/api/a00209.html b/doc/api/a00209.html index dd2c4fd2..42d82ae2 100644 --- a/doc/api/a00209.html +++ b/doc/api/a00209.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_matrix_operation + +0.9.6: GLM_GTX_matrix_operation @@ -16,9 +16,9 @@
detail::tmat4x4<T, P> glm::rowMajor4 GLM_FUNC_DECL tmat4x4<T, P> glm::rowMajor4 (detail::tmat4x4< T, P > const & tmat4x4< T, P > const &  m)
+ @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,52 +39,52 @@
-
GLM_GTX_matrix_operation
+
GLM_GTX_matrix_operation
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tmat2x2< T, P > diagonal2x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x3< T, P > diagonal2x3 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x4< T, P > diagonal2x4 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x2< T, P > diagonal3x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x3< T, P > diagonal3x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x4< T, P > diagonal3x4 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x2< T, P > diagonal4x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x3< T, P > diagonal4x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > diagonal4x4 (detail::tvec4< T, P > const &v)
 
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

Build diagonal matrices from vectors.

-

<glm/gtx/matrix_operation.hpp> need to be included to use these functionalities.

+

<glm/gtx/matrix_operation.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - + @@ -98,14 +96,14 @@ Functions - +
detail::tmat2x2<T, P> glm::diagonal2x2 GLM_FUNC_DECL tmat2x2<T, P> glm::diagonal2x2 (detail::tvec2< T, P > const & tvec2< T, P > const &  v)
- + - + @@ -117,14 +115,14 @@ Functions - +
detail::tmat2x3<T, P> glm::diagonal2x3 GLM_FUNC_DECL tmat2x3<T, P> glm::diagonal2x3 (detail::tvec2< T, P > const & tvec2< T, P > const &  v)
- + - + @@ -136,14 +134,14 @@ Functions - +
detail::tmat2x4<T, P> glm::diagonal2x4 GLM_FUNC_DECL tmat2x4<T, P> glm::diagonal2x4 (detail::tvec2< T, P > const & tvec2< T, P > const &  v)
- + - + @@ -155,14 +153,14 @@ Functions - +
detail::tmat3x2<T, P> glm::diagonal3x2 GLM_FUNC_DECL tmat3x2<T, P> glm::diagonal3x2 (detail::tvec2< T, P > const & tvec2< T, P > const &  v)
- + - + @@ -174,14 +172,14 @@ Functions - +
detail::tmat3x3<T, P> glm::diagonal3x3 GLM_FUNC_DECL tmat3x3<T, P> glm::diagonal3x3 (detail::tvec3< T, P > const & tvec3< T, P > const &  v)
- + - + @@ -193,14 +191,14 @@ Functions - +
detail::tmat3x4<T, P> glm::diagonal3x4 GLM_FUNC_DECL tmat3x4<T, P> glm::diagonal3x4 (detail::tvec3< T, P > const & tvec3< T, P > const &  v)
- + - + @@ -212,14 +210,14 @@ Functions - +
detail::tmat4x2<T, P> glm::diagonal4x2 GLM_FUNC_DECL tmat4x2<T, P> glm::diagonal4x2 (detail::tvec2< T, P > const & tvec2< T, P > const &  v)
- + - + @@ -231,14 +229,14 @@ Functions - +
detail::tmat4x3<T, P> glm::diagonal4x3 GLM_FUNC_DECL tmat4x3<T, P> glm::diagonal4x3 (detail::tvec3< T, P > const & tvec3< T, P > const &  v)
- + - + @@ -255,7 +253,7 @@ Functions diff --git a/doc/api/a00210.html b/doc/api/a00210.html index 4e2e74cc..b8b51e6d 100644 --- a/doc/api/a00210.html +++ b/doc/api/a00210.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_matrix_query + +0.9.6: GLM_GTX_matrix_query @@ -16,9 +16,9 @@
detail::tmat4x4<T, P> glm::diagonal4x4 GLM_FUNC_DECL tmat4x4<T, P> glm::diagonal4x4 (detail::tvec4< T, P > const & tvec4< T, P > const &  v)
+ @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,47 +39,47 @@
-
GLM_GTX_matrix_query
+
GLM_GTX_matrix_query
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class matType>
bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
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

Query to evaluate matrix properties.

-

<glm/gtx/matrix_query.hpp> need to be included to use these functionalities.

+

<glm/gtx/matrix_query.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + @@ -105,14 +103,14 @@ Functions - +
bool glm::isIdentity GLM_FUNC_DECL bool glm::isIdentity ( matType< T, P > const &  m,
- + - + @@ -134,14 +132,14 @@ Functions - +
bool glm::isNormalized GLM_FUNC_DECL bool glm::isNormalized (detail::tmat2x2< T, P > const & tmat2x2< T, P > const &  m,
- + - + @@ -163,14 +161,14 @@ Functions - +
bool glm::isNormalized GLM_FUNC_DECL bool glm::isNormalized (detail::tmat3x3< T, P > const & tmat3x3< T, P > const &  m,
- + - + @@ -192,14 +190,14 @@ Functions - +
bool glm::isNormalized GLM_FUNC_DECL bool glm::isNormalized (detail::tmat4x4< T, P > const & tmat4x4< T, P > const &  m,
- + - + @@ -221,14 +219,14 @@ Functions - +
bool glm::isNull GLM_FUNC_DECL bool glm::isNull (detail::tmat2x2< T, P > const & tmat2x2< T, P > const &  m,
- + - + @@ -250,14 +248,14 @@ Functions - +
bool glm::isNull GLM_FUNC_DECL bool glm::isNull (detail::tmat3x3< T, P > const & tmat3x3< T, P > const &  m,
- + - + @@ -279,12 +277,12 @@ Functions - +
bool glm::isNull GLM_FUNC_DECL bool glm::isNull (detail::tmat4x4< T, P > const & tmat4x4< T, P > const &  m,
- + @@ -313,7 +311,7 @@ Functions diff --git a/doc/api/a00211.html b/doc/api/a00211.html index 80041133..b79d255f 100644 --- a/doc/api/a00211.html +++ b/doc/api/a00211.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_mixed_producte + +0.9.6: GLM_GTX_matrix_transform_2d @@ -16,9 +16,9 @@
bool glm::isOrthogonal GLM_FUNC_DECL bool glm::isOrthogonal ( matType< T, P > const &  m,
+ @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,26 +39,213 @@
-
GLM_GTX_mixed_producte
+
GLM_GTX_matrix_transform_2d
- - - + + + + + + + + + + + + + + +

Functions

-template<typename T , precision P>
mixedProduct (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
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

-

Mixed product of 3 vectors.

-

<glm/gtx/mixed_product.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

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::rotate (tmat3x3< T, P > const & m,
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.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
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.
+
+
+ +
+
diff --git a/doc/api/a00212.html b/doc/api/a00212.html index b513b03e..97a87a52 100644 --- a/doc/api/a00212.html +++ b/doc/api/a00212.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_multiple + +0.9.6: GLM_GTX_mixed_producte @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,113 +39,26 @@
Functions
-
GLM_GTX_multiple
+
GLM_GTX_mixed_producte
GTX Extensions (Experimental)
- - - - - - + + +

Functions

template<typename genType >
genType higherMultiple (genType const &Source, genType const &Multiple)
 
template<typename genType >
genType lowerMultiple (genType const &Source, genType const &Multiple)
 
+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

-

Find the closest number of a number multiple of other number.

-

<glm/gtx/multiple.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::higherMultiple (genType const & Source,
genType 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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::lowerMultiple (genType const & Source,
genType 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
- -
-
+

Mixed product of 3 vectors.

+

<glm/gtx/mixed_product.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00213.html b/doc/api/a00213.html index 7c239ca3..ec154770 100644 --- a/doc/api/a00213.html +++ b/doc/api/a00213.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_norm + +0.9.6: GLM_GTX_multiple @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,62 +39,48 @@
Functions
-
GLM_GTX_norm
+
GLM_GTX_multiple
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

template<typename T >
distance2 (T const &p0, T const &p1)
 
template<typename genType >
genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x)
 
template<typename T >
length2 (T const &x)
 
template<typename genType >
genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, unsigned int Depth)
 
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)
 

Detailed Description

-

Various ways to compute vector norms.

-

<glm/gtx/norm.hpp> need to be included to use these functionalities.

+

Find the closest number of a number multiple of other number.

+

<glm/gtx/multiple.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - + + @@ -106,26 +90,39 @@ Functions
T glm::distance2 GLM_DEPRECATED GLM_FUNC_DECL genType glm::higherMultiple (T const & p0, genType Source,
T const & p1 genType Multiple 
-

Returns the squared distance between p0 and p1, i.e., length(p0 - p1).

-

From GLM_GTX_norm extension.

+

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
- +
- + - - + + - - + + @@ -135,26 +132,39 @@ Functions
genType::value_type glm::distance2 GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::higherMultiple (genType const & p0, vecType< T, P > const & Source,
genType const & p1 vecType< T, P > const & Multiple 
-

Returns the squared distance between p0 and p1, i.e., length(p0 - p1).

-

From GLM_GTX_norm extension.

+

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
- +
- + - - + + - - + + @@ -164,45 +174,39 @@ Functions
T glm::l1Norm GLM_DEPRECATED GLM_FUNC_DECL genType glm::lowerMultiple (detail::tvec3< T, P > const & x, genType Source,
detail::tvec3< T, P > const & y genType Multiple 
-

Returns the L1 norm between x and y.

-

From GLM_GTX_norm extension.

+

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
- +
- + - - - - -
T glm::l1Norm GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> glm::lowerMultiple (detail::tvec3< T, P > const & v)
-
- -

Returns the L1 norm of v.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - + + - - + + @@ -212,129 +216,21 @@ Functions
T glm::l2Norm (detail::tvec3< T, P > const & x, vecType< T, P > const & Source,
detail::tvec3< T, P > const & y vecType< T, P > const & Multiple 
-

Returns the L2 norm between x and y.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
T glm::l2Norm (detail::tvec3< T, P > const & x)
-
- -

Returns the L2 norm of v.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
T glm::length2 (T const & x)
-
- -

Returns the squared length of x.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
genType::value_type glm::length2 (genType const & x)
-
- -

Returns the squared length of x.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
T glm::lxNorm (detail::tvec3< T, P > const & x,
detail::tvec3< T, P > const & y,
unsigned int Depth 
)
-
- -

Returns the L norm between x and y.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
T glm::lxNorm (detail::tvec3< T, P > const & x,
unsigned int Depth 
)
-
- -

Returns the L norm of v.

-

From GLM_GTX_norm extension.

+

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
@@ -343,7 +239,7 @@ Functions diff --git a/doc/api/a00214.html b/doc/api/a00214.html index 5e22df4c..9df1acfc 100644 --- a/doc/api/a00214.html +++ b/doc/api/a00214.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_normal + +0.9.6: GLM_GTX_norm @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,41 +39,62 @@
Functions
-
GLM_GTX_normal
+
GLM_GTX_norm
GTX Extensions (Experimental)
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tvec3< T, P > triangleNormal (detail::tvec3< T, P > const &p1, detail::tvec3< T, P > const &p2, detail::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

-

Compute the normal of a triangle.

-

<glm/gtx/normal.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

- +
- + - - + + - - - - - - - - + + @@ -85,8 +104,235 @@ Functions
detail::tvec3<T, P> glm::triangleNormal GLM_FUNC_DECL T glm::distance2 (detail::tvec3< T, P > const & p1, T const & p0,
detail::tvec3< T, P > const & p2,
detail::tvec3< T, P > const & p3 T const & p1 
-

Computes triangle normal from triangle points.

-

From GLM_GTX_normal extension.

+

Returns the squared distance between p0 and p1, i.e., length(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., 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.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
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.

@@ -95,7 +341,7 @@ Functions diff --git a/doc/api/a00215.html b/doc/api/a00215.html index ed13d26a..52f274c7 100644 --- a/doc/api/a00215.html +++ b/doc/api/a00215.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_normalize_dot + +0.9.6: GLM_GTX_normal @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,38 +39,41 @@
Functions
-
GLM_GTX_normalize_dot
+
GLM_GTX_normal
GTX Extensions (Experimental)
- - - - - - + + +

Functions

template<typename genType >
genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
genType::value_type normalizeDot (genType const &x, genType 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

-

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.

+

Compute the normal of a triangle.

+

<glm/gtx/normal.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - + + - - + + + + + + + + @@ -82,37 +83,8 @@ Functions
genType::value_type glm::fastNormalizeDot GLM_FUNC_DECL tvec3<T, P> glm::triangleNormal (genType const & x, tvec3< T, P > const & p1,
genType const & y tvec3< T, P > const & p2,
tvec3< T, P > const & p3 
-

Normalize parameters and returns the dot product of x and y.

-

Faster that dot(fastNormalize(x), fastNormalize(y)). From GLM_GTX_normalize_dot extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType::value_type glm::normalizeDot (genType const & x,
genType const & y 
)
-
- -

Normalize parameters and returns the dot product of x and y.

-

It's faster that dot(normalize(x), normalize(y)). From GLM_GTX_normalize_dot extension.

+

Computes triangle normal from triangle points.

+

From GLM_GTX_normal extension.

@@ -121,7 +93,7 @@ Functions diff --git a/doc/api/a00216.html b/doc/api/a00216.html index 71cdac74..6ae3f497 100644 --- a/doc/api/a00216.html +++ b/doc/api/a00216.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_number_precision + +0.9.6: GLM_GTX_normalize_dot @@ -16,9 +16,9 @@ + @@ -26,67 +26,100 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Typedefs
+Functions
-
GLM_GTX_number_precision
+
GLM_GTX_normalize_dot
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - + + + + + + +

-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 genType >
GLM_FUNC_DECL genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type normalizeDot (genType const &x, genType const &y)
 

Detailed Description

-

Defined size types.

-

<glm/gtx/number_precision.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 genType::value_type glm::fastNormalizeDot (genType const & x,
genType const & y 
)
+
+ +

Normalize parameters and returns the dot product of x and y.

+

Faster that dot(fastNormalize(x), fastNormalize(y)). From GLM_GTX_normalize_dot extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::normalizeDot (genType const & x,
genType const & y 
)
+
+ +

Normalize parameters and returns the dot product of x and y.

+

It's faster that dot(normalize(x), normalize(y)). From GLM_GTX_normalize_dot extension.

+ +
+
diff --git a/doc/api/a00217.html b/doc/api/a00217.html index 7d1e901e..b485a1f3 100644 --- a/doc/api/a00217.html +++ b/doc/api/a00217.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_optimum_pow + +0.9.6: GLM_GTX_number_precision @@ -16,9 +16,9 @@ + @@ -26,191 +26,65 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Functions
+Typedefs
-
GLM_GTX_optimum_pow
+
GLM_GTX_number_precision
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

-Functions

template<typename genType >
genType pow2 (const genType &x)
 
template<typename genType >
genType pow3 (const genType &x)
 
template<typename genType >
genType pow4 (const genType &x)
 
bool powOfTwo (int num)
 
template<precision P>
detail::tvec2< bool, P > powOfTwo (detail::tvec2< int, P > const &x)
 
template<precision P>
detail::tvec3< bool, P > powOfTwo (detail::tvec3< int, P > const &x)
 
template<precision P>
detail::tvec4< bool, P > powOfTwo (detail::tvec4< int, P > 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

-

Integer exponentiation of power functions.

-

<glm/gtx/optimum_pow.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
genType glm::gtx::pow2 (const genType & x)
-
- -

Returns x raised to the power of 2.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
genType glm::gtx::pow3 (const genType & x)
-
- -

Returns x raised to the power of 3.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
genType glm::gtx::pow4 (const genType & x)
-
- -

Returns x raised to the power of 4.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
bool glm::gtx::powOfTwo (int num)
-
- -

Checks if the parameter is a power of 2 number.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
detail::tvec2<bool, P> glm::gtx::powOfTwo (detail::tvec2< int, P > const & x)
-
- -

Checks to determine if the parameter component are power of 2 numbers.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
detail::tvec3<bool, P> glm::gtx::powOfTwo (detail::tvec3< int, P > const & x)
-
- -

Checks to determine if the parameter component are power of 2 numbers.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
detail::tvec4<bool, P> glm::gtx::powOfTwo (detail::tvec4< int, P > const & x)
-
- -

Checks to determine if the parameter component are power of 2 numbers.

-

From GLM_GTX_optimum_pow extension.

- -
-
+

Defined size types.

+

<glm/gtx/number_precision.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00218.html b/doc/api/a00218.html index c453a1b4..06b47779 100644 --- a/doc/api/a00218.html +++ b/doc/api/a00218.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_orthonormalize + +0.9.6: GLM_GTX_optimum_pow @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,68 +39,167 @@
Functions
-
GLM_GTX_orthonormalize
+
GLM_GTX_optimum_pow
GTX Extensions (Experimental)
- - - - - - + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T , precision P>
detail::tmat3x3< T, P > orthonormalize (const detail::tmat3x3< T, P > &m)
 
template<typename T , precision P>
detail::tvec3< T, P > orthonormalize (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
template<typename genType >
GLM_FUNC_DECL genType pow2 (const genType &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow3 (const genType &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow4 (const genType &x)
 
GLM_FUNC_DECL bool powOfTwo (int num)
 
template<precision P>
GLM_FUNC_DECL tvec2< bool, P > powOfTwo (tvec2< int, P > const &x)
 
template<precision P>
GLM_FUNC_DECL tvec3< bool, P > powOfTwo (tvec3< int, P > const &x)
 
template<precision P>
GLM_FUNC_DECL tvec4< bool, P > powOfTwo (tvec4< int, P > const &x)
 

Detailed Description

-

Orthonormalize matrices.

-

<glm/gtx/orthonormalize.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

- +
- + - - + +
detail::tmat3x3<T, P> glm::orthonormalize GLM_FUNC_DECL genType glm::gtx::pow2 (const detail::tmat3x3< T, P > & m)const genType & x)
-

Returns the orthonormalized matrix of m.

-

From GLM_GTX_orthonormalize extension.

+

Returns x raised to the power of 2.

+

From GLM_GTX_optimum_pow extension.

- +
- + - - - - - + + - - - - - - -
detail::tvec3<T, P> glm::orthonormalize GLM_FUNC_DECL genType glm::gtx::pow3 (const detail::tvec3< T, P > & x,
const genType & x) const detail::tvec3< T, P > & y 
)
-

Orthonormalizes x according y.

-

From GLM_GTX_orthonormalize extension.

+

Returns x raised to the power of 3.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::gtx::pow4 (const genType & x)
+
+ +

Returns x raised to the power of 4.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL bool glm::gtx::powOfTwo (int num)
+
+ +

Checks if the parameter is a power of 2 number.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tvec2<bool, P> glm::gtx::powOfTwo (tvec2< int, P > const & x)
+
+ +

Checks to determine if the parameter component are power of 2 numbers.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tvec3<bool, P> glm::gtx::powOfTwo (tvec3< int, P > const & x)
+
+ +

Checks to determine if the parameter component are power of 2 numbers.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL tvec4<bool, P> glm::gtx::powOfTwo (tvec4< int, P > const & x)
+
+ +

Checks to determine if the parameter component are power of 2 numbers.

+

From GLM_GTX_optimum_pow extension.

@@ -111,7 +208,7 @@ Functions diff --git a/doc/api/a00219.html b/doc/api/a00219.html index 36a374fd..bc10c826 100644 --- a/doc/api/a00219.html +++ b/doc/api/a00219.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_perpendicular + +0.9.6: GLM_GTX_orthonormalize @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,35 +39,57 @@
Functions
-
GLM_GTX_perpendicular
+
GLM_GTX_orthonormalize
GTX Extensions (Experimental)
- - - + + + + + +

Functions

template<typename vecType >
vecType perp (vecType const &x, vecType const &Normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orthonormalize (const tmat3x3< T, P > &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > orthonormalize (const tvec3< T, P > &x, const tvec3< T, P > &y)
 

Detailed Description

-

Perpendicular of a vector from other one.

-

<glm/gtx/perpendicular.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

- +
- + - + + + + +
vecType glm::perp GLM_FUNC_DECL tmat3x3<T, P> glm::orthonormalize (vecType const & const tmat3x3< T, P > & m)
+
+ +

Returns the orthonormalized matrix of m.

+

From GLM_GTX_orthonormalize extension.

+ +
+
+ +
+
+ + + + + - - + + @@ -79,8 +99,8 @@ Functions
GLM_FUNC_DECL tvec3<T, P> glm::orthonormalize (const tvec3< T, P > &  x,
vecType const & Normal const tvec3< T, P > & y 
-

Projects x a perpendicular axis of Normal.

-

From GLM_GTX_perpendicular extension.

+

Orthonormalizes x according y.

+

From GLM_GTX_orthonormalize extension.

@@ -89,7 +109,7 @@ Functions diff --git a/doc/api/a00220.html b/doc/api/a00220.html index 7291c0e8..bebdabef 100644 --- a/doc/api/a00220.html +++ b/doc/api/a00220.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_polar_coordinates + +0.9.6: GLM_GTX_perpendicular @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,58 +39,46 @@
Functions
-
GLM_GTX_polar_coordinates
+
GLM_GTX_perpendicular
GTX Extensions (Experimental)
- - - - - - + + +

Functions

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

Detailed Description

-

Conversion from Euclidean space to polar space and revert.

-

<glm/gtx/polar_coordinates.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

- +
- + - - - + + -
detail::tvec3<T, P> glm::euclidean GLM_FUNC_DECL vecType glm::perp (detail::tvec2< T, P > const & polar)vecType const & x,
-
- -

Convert Polar to Euclidean coordinates.

-
See Also
GLM_GTX_polar_coordinates
- -
-
- -
-
- - - - - + + + + + + + +
detail::tvec3<T, P> glm::polar (detail::tvec3< T, P > const & euclidean) vecType const & Normal 
)
-

Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude.

-
See Also
GLM_GTX_polar_coordinates
+

Projects x a perpendicular axis of Normal.

+

From GLM_GTX_perpendicular extension.

@@ -101,7 +87,7 @@ Functions diff --git a/doc/api/a00221.html b/doc/api/a00221.html index fd245d49..2ce5cefb 100644 --- a/doc/api/a00221.html +++ b/doc/api/a00221.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_projection + +0.9.6: GLM_GTX_polar_coordinates @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,46 +39,58 @@
Functions
-
GLM_GTX_projection
+
GLM_GTX_polar_coordinates
GTX Extensions (Experimental)
- - - + + + + + +

Functions

template<typename vecType >
vecType proj (vecType const &x, vecType const &Normal)
 
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

-

Projection of a vector to other one.

-

<glm/gtx/projection.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

- +
- + - - - - - + + - - - - - - -
vecType glm::proj GLM_FUNC_DECL tvec3<T, P> glm::euclidean (vecType const & x,
tvec2< T, P > const & polar) vecType const & Normal 
)
-

Projects x on Normal.

-

From GLM_GTX_projection extension.

+

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
@@ -89,7 +99,7 @@ Functions diff --git a/doc/api/a00222.html b/doc/api/a00222.html index 22f552ed..e048f994 100644 --- a/doc/api/a00222.html +++ b/doc/api/a00222.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_quaternion + +0.9.6: GLM_GTX_projection @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,188 +39,35 @@
Functions
-
GLM_GTX_quaternion
+
GLM_GTX_projection
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tvec3< T, P > const &v, detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > exp (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
extractRealComponent (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > fastMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tquat< T, P > intermediate (detail::tquat< T, P > const &prev, detail::tquat< T, P > const &curr, detail::tquat< T, P > const &next)
 
template<typename T , precision P>
length2 (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > log (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > pow (detail::tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec4< T, P > const &v)
 
template<typename T , precision P>
detail::tquat< T, P > rotation (detail::tvec3< T, P > const &orig, detail::tvec3< T, P > const &dest)
 
template<typename T , precision P>
detail::tquat< T, P > shortMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tquat< T, P > squad (detail::tquat< T, P > const &q1, detail::tquat< T, P > const &q2, detail::tquat< T, P > const &s1, detail::tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
detail::tmat3x3< T, P > toMat3 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > toMat4 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat4x4< T, P > const &x)
 
template<typename vecType >
GLM_FUNC_DECL vecType proj (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.

+

Projection of a vector to other one.

+

<glm/gtx/projection.hpp> need to be included to use these functionalities.

Function Documentation

- +
- + - - - - - - - - - - - - - - -
detail::tvec3<T, P> glm::cross GLM_FUNC_DECL vecType glm::proj (detail::tquat< T, P > const & q,
detail::tvec3< T, P > const & v 
)
-
- -

Compute a cross product between a quaternion and a vector.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T, P> glm::cross (detail::tvec3< T, P > const & v,
detail::tquat< T, P > const & q 
)
-
- -

Compute a cross product between a vector and a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tquat<T, P> glm::exp (detail::tquat< T, P > const & q)
-
- -

Returns a exp of a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
T glm::extractRealComponent (detail::tquat< T, P > const & q)
-
- -

Extract the real component of a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - + - - - - - - - - + + @@ -232,375 +77,8 @@ Functions
detail::tquat<T, P> glm::fastMix (detail::tquat< T, P > const & vecType const &  x,
detail::tquat< T, P > const & y,
T const & a vecType const & Normal 
-

Quaternion normalized linear interpolation.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T, P> glm::intermediate (detail::tquat< T, P > const & prev,
detail::tquat< T, P > const & curr,
detail::tquat< T, P > const & next 
)
-
- -

Returns an intermediate control point for squad interpolation.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
T glm::length2 (detail::tquat< T, P > const & q)
-
- -

Returns the squared length of x.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tquat<T, P> glm::log (detail::tquat< T, P > const & q)
-
- -

Returns a log of a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tquat<T, P> glm::pow (detail::tquat< T, P > const & x,
T const & y 
)
-
- -

Returns x raised to the y power.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T, P> glm::rotate (detail::tquat< T, P > const & q,
detail::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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<T, P> glm::rotate (detail::tquat< T, P > const & q,
detail::tvec4< T, P > const & v 
)
-
- -

Rotates a 4 components vector by a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tquat<T, P> glm::rotation (detail::tvec3< T, P > const & orig,
detail::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
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T, P> glm::shortMix (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y,
T const & a 
)
-
- -

Quaternion interpolation using the rotation short path.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T, P> glm::squad (detail::tquat< T, P > const & q1,
detail::tquat< T, P > const & q2,
detail::tquat< T, P > const & s1,
detail::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
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T, P> glm::toMat3 (detail::tquat< T, P > const & x)
-
- -

Converts a quaternion to a 3 * 3 matrix.

-
See Also
GLM_GTX_quaternion
- -

Definition at line 150 of file gtx/quaternion.hpp.

- -

References glm::mat3_cast().

- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T, P> glm::toMat4 (detail::tquat< T, P > const & x)
-
- -

Converts a quaternion to a 4 * 4 matrix.

-
See Also
GLM_GTX_quaternion
- -

Definition at line 157 of file gtx/quaternion.hpp.

- -

References glm::mat4_cast().

- -
-
- -
-
- - - - - - - - -
detail::tquat<T, P> glm::toQuat (detail::tmat3x3< T, P > const & x)
-
- -

Converts a 3 * 3 matrix to a quaternion.

-
See Also
GLM_GTX_quaternion
- -

Definition at line 164 of file gtx/quaternion.hpp.

- -

References glm::quat_cast().

- -
-
- -
-
- - - - - - - - -
detail::tquat<T, P> glm::toQuat (detail::tmat4x4< T, P > const & x)
-
- -

Converts a 4 * 4 matrix to a quaternion.

-
See Also
GLM_GTX_quaternion
- -

Definition at line 171 of file gtx/quaternion.hpp.

- -

References glm::quat_cast().

+

Projects x on Normal.

+

From GLM_GTX_projection extension.

@@ -609,7 +87,7 @@ Functions diff --git a/doc/api/a00223.html b/doc/api/a00223.html index 95a19871..cfb8bcb2 100644 --- a/doc/api/a00223.html +++ b/doc/api/a00223.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_raw_data + +0.9.6: GLM_GTX_quaternion @@ -16,9 +16,9 @@ + @@ -26,105 +26,579 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Typedefs
+Functions
-
GLM_GTX_raw_data
+
GLM_GTX_quaternion
GTX Extensions (Experimental)
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 

+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)
 

Detailed Description

-

Projection of a vector to other one.

-

<glm/gtx/raw_data.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- +

Extented quaternion types and functions.

+

<glm/gtx/quaternion.hpp> need to be included to use these functionalities.

+

Function Documentation

+
- + + + + + + + + + + + + + + +
typedef detail::uint8 byteGLM_FUNC_DECL tvec3<T, P> glm::cross (tquat< T, P > const & q,
tvec3< T, P > const & v 
)
-

Type for byte numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 55 of file raw_data.hpp.

+

Compute a cross product between a quaternion and a vector.

+
See also
GLM_GTX_quaternion
- +
- + + + + + + + + + + + + + + +
typedef detail::uint32 dwordGLM_FUNC_DECL tvec3<T, P> glm::cross (tvec3< T, P > const & v,
tquat< T, P > const & q 
)
-

Type for dword numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 63 of file raw_data.hpp.

+

Compute a cross product between a vector and a quaternion.

+
See also
GLM_GTX_quaternion
- +
- + + + + +
typedef detail::uint64 qwordGLM_FUNC_DECL tquat<T, P> glm::exp (tquat< T, P > const & q)
-

Type for qword numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 67 of file raw_data.hpp.

+

Returns a exp of a quaternion.

+
See also
GLM_GTX_quaternion
- +
- + + + + +
typedef detail::uint16 wordGLM_FUNC_DECL T glm::extractRealComponent (tquat< T, P > const & q)
-

Type for word numbers.

-

From GLM_GTX_raw_data extension.

+

Extract the real component of a quaternion.

+
See also
GLM_GTX_quaternion
-

Definition at line 59 of file raw_data.hpp.

+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
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 149 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 156 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 163 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 170 of file gtx/quaternion.hpp.

+ +

References glm::quat_cast().

@@ -133,7 +607,7 @@ Typedefs diff --git a/doc/api/a00224.html b/doc/api/a00224.html index 318ec0f9..a6616df5 100644 --- a/doc/api/a00224.html +++ b/doc/api/a00224.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_rotate_normalized_axis + +0.9.6: GLM_GTX_range @@ -16,9 +16,9 @@ + @@ -26,142 +26,30 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Functions
-
GLM_GTX_rotate_normalized_axis
+
GLM_GTX_range
- - - - - - - - -

-Functions

template<typename T , precision P>
detail::tmat4x4< T, P > rotateNormalizedAxis (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tquat< T, P > rotateNormalizedAxis (detail::tquat< T, P > const &q, T const &angle, detail::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

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T, P> glm::rotateNormalizedAxis (detail::tmat4x4< T, P > const & m,
T const & angle,
detail::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(detail::tmat4x4<T, P> const & m, T angle, T x, T y, T z)
-
-- rotate(T angle, detail::tvec3<T, P> const & v)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T, P> glm::rotateNormalizedAxis (detail::tquat< T, P > const & q,
T const & angle,
detail::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
- -
-
+

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/a00225.html b/doc/api/a00225.html index 23df10a8..f9b05078 100644 --- a/doc/api/a00225.html +++ b/doc/api/a00225.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_rotate_vector + +0.9.6: GLM_GTX_raw_data @@ -16,9 +16,9 @@ + @@ -26,361 +26,103 @@
-
GLM -  0.9.5 +
0.9.6
- +
-Functions
+Typedefs
-
GLM_GTX_rotate_vector
+
GLM_GTX_raw_data
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

-Functions

template<typename T , precision P>
detail::tmat4x4< T, P > orientation (detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
 
template<typename T , precision P>
detail::tvec2< T, P > rotate (detail::tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tvec3< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tvec4< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateX (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateX (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateY (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateY (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateZ (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateZ (detail::tvec4< T, P > const &v, T const &angle)
 

+Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 

Detailed Description

-

Function to directly rotate a vector.

-

<glm/gtx/rotate_vector.hpp> need to be included to use these functionalities.

-

Function Documentation

- +

Projection of a vector to other one.

+

<glm/gtx/raw_data.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+
- - - - - - - - - - - - - - - +
detail::tmat4x4<T, P> glm::orientation (detail::tvec3< T, P > const & Normal,
detail::tvec3< T, P > const & Up 
)typedef detail::uint8 byte
-

Build a rotation matrix from a normal and a up vector.

-

From GLM_GTX_rotate_vector extension.

+

Type for byte numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 55 of file raw_data.hpp.

- +
- - - - - - - - - - - - - - - +
detail::tvec2<T, P> glm::rotate (detail::tvec2< T, P > const & v,
T const & angle 
)typedef detail::uint32 dword
-

Rotate a two dimensional vector.

-

From GLM_GTX_rotate_vector extension.

+

Type for dword numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 63 of file raw_data.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
detail::tvec3<T, P> glm::rotate (detail::tvec3< T, P > const & v,
T const & angle,
detail::tvec3< T, P > const & normal 
)typedef detail::uint64 qword
-

Rotate a three dimensional vector around an axis.

-

From GLM_GTX_rotate_vector extension.

+

Type for qword numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 67 of file raw_data.hpp.

- +
- - - - - - - - - - - - - - - - - - - - - +
detail::tvec4<T, P> glm::rotate (detail::tvec4< T, P > const & v,
T const & angle,
detail::tvec3< T, P > const & normal 
)typedef detail::uint16 word
-

Rotate a four dimensional vector around an axis.

-

From GLM_GTX_rotate_vector extension.

+

Type for word numbers.

+

From GLM_GTX_raw_data extension.

-
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T, P> glm::rotateX (detail::tvec3< T, P > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<T, P> glm::rotateX (detail::tvec4< T, P > const & v,
T const & angle 
)
-
- -

Rotate a four dimentionnals vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T, P> glm::rotateY (detail::tvec3< T, P > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the Y axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<T, P> glm::rotateY (detail::tvec4< T, P > const & v,
T const & angle 
)
-
- -

Rotate a four dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T, P> glm::rotateZ (detail::tvec3< T, P > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the Z axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<T, P> glm::rotateZ (detail::tvec4< T, P > const & v,
T const & angle 
)
-
- -

Rotate a four dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

+

Definition at line 59 of file raw_data.hpp.

@@ -389,7 +131,7 @@ Functions diff --git a/doc/api/a00226.html b/doc/api/a00226.html index e1bd2e7f..90618170 100644 --- a/doc/api/a00226.html +++ b/doc/api/a00226.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_simd_mat4 + +0.9.6: GLM_GTX_rotate_normalized_axis @@ -16,9 +16,9 @@ + @@ -26,30 +26,140 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Functions
-
+
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/a00227.html b/doc/api/a00227.html index 0d361d90..fcfd1ba5 100644 --- a/doc/api/a00227.html +++ b/doc/api/a00227.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_simd_quat + +0.9.6: GLM_GTX_rotate_vector @@ -16,9 +16,9 @@ + @@ -26,32 +26,414 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Functions
-
+
GLM_GTX_rotate_vector
-

SIMD implementation of quat type.

-

SIMD implementation of vec4 type.

-

<glm/gtx/simd_quat.hpp> need to be included to use these functionalities.

-

<glm/gtx/simd_vec4.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/a00228.html b/doc/api/a00228.html index bea683bb..744065a4 100644 --- a/doc/api/a00228.html +++ b/doc/api/a00228.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_spline + +0.9.6: GLM_GTX_scalar_relational @@ -16,9 +16,9 @@ + @@ -26,188 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Functions
-
+
GLM_GTX_scalar_relational
- - - - - - - - - - - -

-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.
- -
-
+

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/a00229.html b/doc/api/a00229.html index 4fddf018..71e202e1 100644 --- a/doc/api/a00229.html +++ b/doc/api/a00229.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_std_based_type + +0.9.6: GLM_GTX_simd_mat4 @@ -16,9 +16,9 @@ + @@ -26,158 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Typedefs
-
GLM_GTX_std_based_type
+
GLM_GTX_simd_mat4
- - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec2
-< std::size_t, defaultp > 
size2
 
typedef detail::tvec2
-< std::size_t, defaultp > 
size2_t
 
typedef detail::tvec3
-< std::size_t, defaultp > 
size3
 
typedef detail::tvec3
-< std::size_t, defaultp > 
size3_t
 
typedef detail::tvec4
-< std::size_t, defaultp > 
size4
 
typedef detail::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 detail::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 56 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 68 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 60 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 72 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 64 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::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 76 of file std_based_type.hpp.

- -
-
+

SIMD implementation of mat4 type.

+

<glm/gtx/simd_mat4.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00230.html b/doc/api/a00230.html index cdf4838a..8ea2ff73 100644 --- a/doc/api/a00230.html +++ b/doc/api/a00230.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_string_cast + +0.9.6: GLM_GTX_simd_quat @@ -16,9 +16,9 @@ + @@ -26,60 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Functions
-
+
GLM_GTX_simd_quat
- - - - - -

-Functions

template<typename genType >
std::string to_string (genType const &x)
 
-

Detailed Description

-

Setup strings for GLM type values.

-

<glm/gtx/string_cast.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
std::string glm::to_string (genType const & x)
-
- -

Create a string from a GLM type value.

-
See Also
GLM_GTX_string_cast extension.
- -
-
+

SIMD implementation of quat type.

+

<glm/gtx/simd_quat.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00231.html b/doc/api/a00231.html index f365e5b9..647665e8 100644 --- a/doc/api/a00231.html +++ b/doc/api/a00231.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_transform + +0.9.6: GLM_GTX_simd_vec4 @@ -16,9 +16,9 @@ + @@ -26,123 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
-Functions
-
+
GLM_GTX_simd_vec4
- - - - - - - - - - - -

-Functions

template<typename T , precision P>
detail::tmat4x4< T, P > rotate (T angle, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > scale (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > translate (detail::tvec3< T, P > const &v)
 
-

Detailed Description

-

Add transformation matrices.

-

<glm/gtx/transform.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T, P> glm::rotate (angle,
detail::tvec3< T, P > const & v 
)
-
- -

Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.

- - -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T, P> glm::scale (detail::tvec3< T, P > const & v)
-
- -

Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.

- - -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T, P> glm::translate (detail::tvec3< T, P > const & v)
-
- -

Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.

- - -
-
+

SIMD implementation of vec4 type.

+

<glm/gtx/simd_vec4.hpp> need to be included to use these functionalities.

diff --git a/doc/api/a00232.html b/doc/api/a00232.html index 41380249..5a498c46 100644 --- a/doc/api/a00232.html +++ b/doc/api/a00232.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_transform2 + +0.9.6: GLM_GTX_spline @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,59 +39,59 @@
Functions
-
GLM_GTX_transform2
+
GLM_GTX_spline
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

template<typename T , precision P>
detail::tmat3x3< T, P > proj2D (const detail::tmat3x3< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename T , precision P>
detail::tmat4x4< T, P > proj3D (const detail::tmat4x4< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (detail::tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearX2D (detail::tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearX3D (const detail::tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearY2D (detail::tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearY3D (const detail::tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearZ3D (const detail::tmat4x4< T, P > &m, T x, T y)
 
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 extra transformation matrices.

-

<glm/gtx/transform2.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

- +
- + - - + + - - + + + + + + + + + + + + + + + + + + + + @@ -103,26 +101,44 @@ Functions
detail::tmat3x3<T, P> glm::proj2D GLM_FUNC_DECL genType glm::catmullRom (const detail::tmat3x3< T, P > & m, genType const & v1,
const detail::tvec3< T, P > & normal genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
-

Build planar projection matrix along normal axis.

-

From GLM_GTX_transform2 extension.

+

Return a point from a catmull rom curve.

+
See also
GLM_GTX_spline extension.
- +
- + - - + + - - + + + + + + + + + + + + + + + + + + + + @@ -132,26 +148,44 @@ Functions
detail::tmat4x4<T, P> glm::proj3D GLM_FUNC_DECL genType glm::cubic (const detail::tmat4x4< T, P > & m, genType const & v1,
const detail::tvec3< T, P > & normal genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
-

Build planar projection matrix along normal axis.

-

From GLM_GTX_transform2 extension.

+

Return a point from a cubic curve.

+
See also
GLM_GTX_spline extension.
- +
- + - - + + - - + + + + + + + + + + + + + + + + + + + + @@ -161,205 +195,8 @@ Functions
detail::tmat4x4<valType, P> glm::scaleBias GLM_FUNC_DECL genType glm::hermite (valType scale, genType const & v1,
valType bias genType const & t1,
genType const & v2,
genType const & t2,
typename genType::value_type const & s 
-

Build a scale bias matrix.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType, P> glm::scaleBias (detail::tmat4x4< valType, P > const & m,
valType scale,
valType bias 
)
-
- -

Build a scale bias matrix.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T, P> glm::shearX2D (detail::tmat3x3< T, P > const & m,
y 
)
-
- -

Transforms a matrix with a shearing on X axis.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T, P> glm::shearX3D (const detail::tmat4x4< T, P > & m,
y,
z 
)
-
- -

Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T, P> glm::shearY2D (detail::tmat3x3< T, P > const & m,
x 
)
-
- -

Transforms a matrix with a shearing on Y axis.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T, P> glm::shearY3D (const detail::tmat4x4< T, P > & m,
x,
z 
)
-
- -

Transforms a matrix with a shearing on Y axis.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T, P> glm::shearZ3D (const detail::tmat4x4< T, P > & m,
x,
y 
)
-
- -

Transforms a matrix with a shearing on Z axis.

-

From GLM_GTX_transform2 extension.

+

Return a point from a hermite curve.

+
See also
GLM_GTX_spline extension.
@@ -368,7 +205,7 @@ Functions diff --git a/doc/api/a00233.html b/doc/api/a00233.html index b8418eb0..fb344719 100644 --- a/doc/api/a00233.html +++ b/doc/api/a00233.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_vec1 + +0.9.6: GLM_GTX_std_based_type @@ -16,9 +16,9 @@ + @@ -26,30 +26,196 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Typedefs
-
+
GLM_GTX_std_based_type
-

Add vec1, ivec1, uvec1 and bvec1 types.

-

<glm/gtx/vec1.hpp> need to be included to use these functionalities.

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

+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 55 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 71 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 59 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 75 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 63 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 79 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 67 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 83 of file std_based_type.hpp.

+ +
+
diff --git a/doc/api/a00234.html b/doc/api/a00234.html index 25ee17be..5490f301 100644 --- a/doc/api/a00234.html +++ b/doc/api/a00234.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_vector_angle + +0.9.6: GLM_GTX_string_cast @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,118 +39,36 @@
Functions
-
GLM_GTX_vector_angle
+
GLM_GTX_string_cast
GTX Extensions (Experimental)
- - - - - - - - - + + +

Functions

template<typename vecType >
GLM_FUNC_QUALIFIER
-vecType::value_type 
angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec2< T, P > const &x, detail::tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, detail::tvec3< T, P > const &ref)
 
template<template< typename, precision > class matType, typename T , precision P>
GLM_FUNC_DECL std::string to_string (matType< T, P > const &x)
 

Detailed Description

-

Compute angle between vectors.

-

<glm/gtx/vector_angle.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_FUNC_QUALIFIER vecType::value_type glm::angle GLM_FUNC_DECL std::string glm::to_string (vecType const & x,
matType< T, P > 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_QUALIFIER T glm::orientedAngle (detail::tvec2< T, P > const & x,
detail::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_QUALIFIER T glm::orientedAngle (detail::tvec3< T, P > const & x,
detail::tvec3< T, P > const & y,
detail::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.
+

Create a string from a GLM vector or matrix typed variable.

+
See also
GLM_GTX_string_cast extension.
@@ -161,7 +77,7 @@ vecType::value_type  diff --git a/doc/api/a00235.html b/doc/api/a00235.html index a91b973e..45e11b46 100644 --- a/doc/api/a00235.html +++ b/doc/api/a00235.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_vector_query + +0.9.6: GLM_GTX_transform @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,56 +39,41 @@
Functions
-
GLM_GTX_vector_query
+
GLM_GTX_transform
GTX Extensions (Experimental)
- - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

template<typename T , precision P, template< typename, precision > class vecType>
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>
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>
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>
vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNull (vecType< T, P > const &v, T const &epsilon)
 
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

-

Query informations of vector types.

-

<glm/gtx/vector_query.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

- +
- + - - + + - - - - - - - - + + @@ -100,165 +83,52 @@ Functions
bool glm::areCollinear GLM_FUNC_DECL tmat4x4<T, P> glm::rotate (vecType< T, P > const & v0, angle,
vecType< T, P > const & v1,
T const & epsilon tvec3< T, P > const & v 
-

Check whether two vectors are collinears.

-
See Also
GLM_GTX_vector_query extensions.
+

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
- +
- + - - - - - + + - - - - - - - - - - - - -
bool glm::areOrthogonal GLM_FUNC_DECL tmat4x4<T, P> glm::scale (vecType< T, P > const & v0,
tvec3< T, P > const & v) vecType< T, P > const & v1,
T const & epsilon 
)
-

Check whether two vectors are orthogonals.

-
See Also
GLM_GTX_vector_query extensions.
+

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
- +
- + - - - - - + + - - - - - - - - - - - - -
bool glm::areOrthonormal GLM_FUNC_DECL tmat4x4<T, P> glm::translate (vecType< T, P > const & v0,
tvec3< T, P > const & v) vecType< T, P > const & v1,
T const & epsilon 
)
-

Check whether two vectors are orthonormal.

-
See Also
GLM_GTX_vector_query extensions.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
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.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNormalized (vecType< T, P > const & v,
T const & epsilon 
)
-
- -

Check whether a vector is normalized.

-
See Also
GLM_GTX_vector_query extensions.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNull (vecType< T, P > const & v,
T const & epsilon 
)
-
- -

Check whether a vector is null.

-
See Also
GLM_GTX_vector_query extensions.
+

Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.

+
See also
GLM_GTC_matrix_transform
+
+GLM_GTX_transform
@@ -267,7 +137,7 @@ Functions diff --git a/doc/api/a00236.html b/doc/api/a00236.html index 5656d3e5..49a9dda8 100644 --- a/doc/api/a00236.html +++ b/doc/api/a00236.html @@ -3,8 +3,8 @@ - -GLM: GLM_GTX_wrap + +0.9.6: GLM_GTX_transform2 @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -41,80 +39,325 @@
Functions
-
GLM_GTX_wrap
+
GLM_GTX_transform2
GTX Extensions (Experimental)
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

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)
 
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

-

Wrapping mode of texture coordinates.

-

<glm/gtx/wrap.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

- +
- + - - + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::clamp GLM_FUNC_DECL tmat3x3<T, P> glm::proj2D (genType const & Texcoord)const tmat3x3< T, P > & m,
const tvec3< T, P > & normal 
)
-

Simulate GL_CLAMP OpenGL wrap mode.

-
See Also
GLM_GTX_wrap extension.
+

Build planar projection matrix along normal axis.

+

From GLM_GTX_transform2 extension.

- +
- + - - + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::mirrorRepeat GLM_FUNC_DECL tmat4x4<T, P> glm::proj3D (genType const & Texcoord)const tmat4x4< T, P > & m,
const tvec3< T, P > & normal 
)
-

Simulate GL_MIRROR_REPEAT OpenGL wrap mode.

-
See Also
GLM_GTX_wrap extension.
+

Build planar projection matrix along normal axis.

+

From GLM_GTX_transform2 extension.

- +
- + - - + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::repeat GLM_FUNC_DECL tmat4x4<valType, P> glm::scaleBias (genType const & Texcoord)valType scale,
valType bias 
)
-

Simulate GL_REPEAT OpenGL wrap mode.

-
See Also
GLM_GTX_wrap extension.
+

Build a scale bias matrix.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<valType, P> glm::scaleBias (tmat4x4< valType, P > const & m,
valType scale,
valType bias 
)
+
+ +

Build a scale bias matrix.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat3x3<T, P> glm::shearX2D (tmat3x3< T, P > const & m,
y 
)
+
+ +

Transforms a matrix with a shearing on X axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL tmat4x4<T, P> glm::shearX3D (const tmat4x4< T, P > & m,
y,
z 
)
+
+ +

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.

@@ -123,7 +366,7 @@ Functions diff --git a/doc/api/a00237.html b/doc/api/a00237.html index e0f5817f..a362ef20 100644 --- a/doc/api/a00237.html +++ b/doc/api/a00237.html @@ -3,8 +3,8 @@ - -GLM: GLM_VIRTREV_xstream: xml like output + +0.9.6: GLM_GTX_type_aligned @@ -16,9 +16,9 @@ + @@ -26,30 +26,7786 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Functions
-
GLM_VIRTREV_xstream: xml like output
+
GLM_GTX_type_aligned
-

Streaming vector and matrix in a xml way.

-

Include <glm/virtrev/xstream.hpp> for this functionality.

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

+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

+

Defines aligned types.

+

Precision types defines aligned types.

+

<glm/gtx/type_aligned.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
glm::GLM_ALIGNED_TYPEDEF (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  
)
+
+ +

Double-precision floating-point aligned quaternion.

+
See also
GLM_GTX_type_aligned
+ +
+
diff --git a/doc/api/a00238.html b/doc/api/a00238.html index 6145b10b..ef79d819 100644 --- a/doc/api/a00238.html +++ b/doc/api/a00238.html @@ -3,8 +3,8 @@ - -GLM: Gtx_scalar_relational + +0.9.6: GLM_GTX_vector_angle @@ -16,9 +16,9 @@ + @@ -26,28 +26,138 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Functions
-
Gtx_scalar_relational
+
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/a00239.html b/doc/api/a00239.html new file mode 100644 index 00000000..accee88b --- /dev/null +++ b/doc/api/a00239.html @@ -0,0 +1,271 @@ + + + + + + +0.9.6: GLM_GTX_vector_query + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + +
+
+
+Functions
+
+
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/a00240.html b/doc/api/a00240.html index 9d09b446..65428c18 100644 --- a/doc/api/a00240.html +++ b/doc/api/a00240.html @@ -3,8 +3,8 @@ - -GLM: Todo List + +0.9.6: GLM_GTX_wrap @@ -16,9 +16,9 @@ + @@ -26,38 +26,102 @@
-
GLM -  0.9.5 +
0.9.6
- +
+
+Functions
-
Todo List
+
GLM_GTX_wrap
-
-
Member glm::bitCount (genIUType< T > const &Value)
-
Clarify the declaration to specify that scalars are suported.
-
Member glm::epsilon ()
-
Implement epsilon for half-precision floating point type.
-
Member glm::findLSB (genIUType< T > const &Value)
-
Clarify the declaration to specify that scalars are suported.
-
Member glm::findMSB (genIUType< T > const &Value)
-
Clarify the declaration to specify that scalars are suported.
-
-
+ + + + + + + + + + + +

+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

+

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::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/dir_04e4a28b8d58785d7769817294d623f5.html b/doc/api/dir_04e4a28b8d58785d7769817294d623f5.html deleted file mode 100644 index ba4be446..00000000 --- a/doc/api/dir_04e4a28b8d58785d7769817294d623f5.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - -GLM: virtrev Directory Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - -
-
-
-
virtrev Directory Reference
-
-
- - - - -

-Files

file  xstream.hpp [code]
 
-
- - - - diff --git a/doc/api/dir_968fb7988749a6351e7b3d0c1783dec4.html b/doc/api/dir_0c6652232a835be54bedd6cfd7502504.html similarity index 71% rename from doc/api/dir_968fb7988749a6351e7b3d0c1783dec4.html rename to doc/api/dir_0c6652232a835be54bedd6cfd7502504.html index af15b98c..731c6f64 100644 --- a/doc/api/dir_968fb7988749a6351e7b3d0c1783dec4.html +++ b/doc/api/dir_0c6652232a835be54bedd6cfd7502504.html @@ -3,8 +3,8 @@ - -GLM: Groove Directory Reference + +0.9.6: G-Truc Directory Reference @@ -16,9 +16,9 @@ + @@ -26,30 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
Groove Directory Reference
+
G-Truc Directory Reference
- +

Directories

directory  Documents
directory  glm
 
@@ -57,7 +55,7 @@ Directories diff --git a/doc/api/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html b/doc/api/dir_153b03dd71a7bff437c38ec53cb2e014.html similarity index 74% rename from doc/api/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html rename to doc/api/dir_153b03dd71a7bff437c38ec53cb2e014.html index f8528c9f..23cc25e9 100644 --- a/doc/api/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html +++ b/doc/api/dir_153b03dd71a7bff437c38ec53cb2e014.html @@ -3,8 +3,8 @@ - -GLM: Users Directory Reference + +0.9.6: Source Directory Reference @@ -16,9 +16,9 @@ + @@ -26,30 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
Users Directory Reference
+
Source Directory Reference
- +

Directories

directory  Groove
directory  G-Truc
 
@@ -57,7 +55,7 @@ Directories diff --git a/doc/api/dir_e50778361fd4ab4de52181ed9eb2b726.html b/doc/api/dir_5cf96241cdcf6779b80e104875f9716f.html similarity index 56% rename from doc/api/dir_e50778361fd4ab4de52181ed9eb2b726.html rename to doc/api/dir_5cf96241cdcf6779b80e104875f9716f.html index 985b0ce6..35f81cd3 100644 --- a/doc/api/dir_e50778361fd4ab4de52181ed9eb2b726.html +++ b/doc/api/dir_5cf96241cdcf6779b80e104875f9716f.html @@ -3,8 +3,8 @@ - -GLM: glm Directory Reference + +0.9.6: glm Directory Reference @@ -16,9 +16,9 @@ + @@ -26,19 +26,17 @@
-
GLM -  0.9.5 +
0.9.6
- +
@@ -49,62 +47,60 @@ - + - + - - - +

Directories

directory  detail
directory  detail
 
directory  gtc
directory  gtc
 
directory  gtx
 
directory  virtrev
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]
 
@@ -112,7 +108,7 @@ Files diff --git a/doc/api/dir_a8d99eddac27b2368ab5252ce80ded11.html b/doc/api/dir_5d3642ea3c7f2dae4a957f2cf472c9ae.html similarity index 55% rename from doc/api/dir_a8d99eddac27b2368ab5252ce80ded11.html rename to doc/api/dir_5d3642ea3c7f2dae4a957f2cf472c9ae.html index 5e24055d..bb8f35aa 100644 --- a/doc/api/dir_a8d99eddac27b2368ab5252ce80ded11.html +++ b/doc/api/dir_5d3642ea3c7f2dae4a957f2cf472c9ae.html @@ -3,8 +3,8 @@ - -GLM: gtx Directory Reference + +0.9.6: gtx Directory Reference @@ -16,9 +16,9 @@ + @@ -26,19 +26,17 @@
-
GLM -  0.9.5 +
0.9.6
- +
@@ -49,129 +47,123 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - +

Files

file  associated_min_max.hpp [code]
file  associated_min_max.hpp [code]
 
file  bit.hpp [code]
file  bit.hpp [code]
 
file  closest_point.hpp [code]
file  closest_point.hpp [code]
 
file  color_space.hpp [code]
file  color_space.hpp [code]
 
file  color_space_YCoCg.hpp [code]
file  color_space_YCoCg.hpp [code]
 
file  compatibility.hpp [code]
file  gtx/common.hpp [code]
 
file  component_wise.hpp [code]
file  compatibility.hpp [code]
 
file  gtx/constants.hpp [code]
file  component_wise.hpp [code]
 
file  dual_quaternion.hpp [code]
file  dual_quaternion.hpp [code]
 
file  gtx/epsilon.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  inertia.hpp [code]
 
file  inertia.hpp [code]
file  gtx/integer.hpp [code]
 
file  int_10_10_10_2.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_interpolation.hpp [code]
file  matrix_major_storage.hpp [code]
 
file  matrix_major_storage.hpp [code]
file  matrix_operation.hpp [code]
 
file  matrix_operation.hpp [code]
file  matrix_query.hpp [code]
 
file  matrix_query.hpp [code]
file  matrix_transform_2d.hpp [code]
 
file  mixed_product.hpp [code]
file  mixed_product.hpp [code]
 
file  multiple.hpp [code]
file  multiple.hpp [code]
 
file  gtx/noise.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  gtx/random.hpp [code]
file  raw_data.hpp [code]
 
file  raw_data.hpp [code]
file  rotate_normalized_axis.hpp [code]
 
file  gtx/reciprocal.hpp [code]
file  rotate_vector.hpp [code]
 
file  rotate_normalized_axis.hpp [code]
file  scalar_multiplication.hpp [code]
 
file  rotate_vector.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  gtx/ulp.hpp [code]
file  vector_angle.hpp [code]
 
file  unsigned_int.hpp [code]
file  vector_query.hpp [code]
 
file  vec1.hpp [code]
 
file  vector_angle.hpp [code]
 
file  vector_query.hpp [code]
 
file  wrap.hpp [code]
file  wrap.hpp [code]
 
@@ -179,7 +171,7 @@ Files diff --git a/doc/api/dir_6e418c18ca640a0404613de005739e2e.html b/doc/api/dir_885cc87fac2d91e269af0a5a959fa5f6.html similarity index 68% rename from doc/api/dir_6e418c18ca640a0404613de005739e2e.html rename to doc/api/dir_885cc87fac2d91e269af0a5a959fa5f6.html index 34916310..cb56305c 100644 --- a/doc/api/dir_6e418c18ca640a0404613de005739e2e.html +++ b/doc/api/dir_885cc87fac2d91e269af0a5a959fa5f6.html @@ -3,8 +3,8 @@ - -GLM: Documents Directory Reference + +0.9.6: E: Directory Reference @@ -16,9 +16,9 @@ + @@ -26,30 +26,28 @@
-
GLM -  0.9.5 +
0.9.6
- +
-
Documents Directory Reference
+
E: Directory Reference
- +

Directories

directory  GitHub
directory  Source
 
@@ -57,7 +55,7 @@ Directories diff --git a/doc/api/dir_8aa733b201d3a9f98631fbccc86ae6c7.html b/doc/api/dir_8aa733b201d3a9f98631fbccc86ae6c7.html new file mode 100644 index 00000000..7bbe3074 --- /dev/null +++ b/doc/api/dir_8aa733b201d3a9f98631fbccc86ae6c7.html @@ -0,0 +1,95 @@ + + + + + + +0.9.6: gtc Directory Reference + + + + + + +
+
+ + + + + + + +
+
0.9.6 +
+
+
+ + + + +
+
+
+
gtc Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  bitfield.hpp [code]
 
file  constants.hpp [code]
 
file  epsilon.hpp [code]
 
file  gtc/integer.hpp [code]
 
file  matrix_access.hpp [code]
 
file  matrix_integer.hpp [code]
 
file  matrix_inverse.hpp [code]
 
file  matrix_transform.hpp [code]
 
file  noise.hpp [code]
 
file  gtc/packing.hpp [code]
 
file  gtc/quaternion.hpp [code]
 
file  random.hpp [code]
 
file  reciprocal.hpp [code]
 
file  round.hpp [code]
 
file  type_precision.hpp [code]
 
file  type_ptr.hpp [code]
 
file  ulp.hpp [code]
 
file  vec1.hpp [code]
 
+
+ + + + diff --git a/doc/api/dir_4d1ca7e3aefdd5b86b5dba8da1c3d503.html b/doc/api/dir_9b22c367036d391e575f56d067c9855b.html similarity index 58% rename from doc/api/dir_4d1ca7e3aefdd5b86b5dba8da1c3d503.html rename to doc/api/dir_9b22c367036d391e575f56d067c9855b.html index b8233111..1e1fbfd7 100644 --- a/doc/api/dir_4d1ca7e3aefdd5b86b5dba8da1c3d503.html +++ b/doc/api/dir_9b22c367036d391e575f56d067c9855b.html @@ -3,8 +3,8 @@ - -GLM: detail Directory Reference + +0.9.6: detail Directory Reference @@ -16,9 +16,9 @@ + @@ -26,19 +26,17 @@
-
GLM -  0.9.5 +
0.9.6
- +
@@ -49,95 +47,91 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - +

Files

file  _features.hpp [code]
file  _features.hpp [code]
 
file  _fixes.hpp [code]
file  _fixes.hpp [code]
 
file  _literals.hpp [code]
file  _noise.hpp [code]
 
file  _noise.hpp [code]
file  _swizzle.hpp [code]
 
file  _swizzle.hpp [code]
file  _swizzle_func.hpp [code]
 
file  _swizzle_func.hpp [code]
file  _vectorize.hpp [code]
 
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  hint.hpp [code]
file  intrinsic_exponential.hpp [code]
 
file  intrinsic_common.hpp [code]
file  intrinsic_geometric.hpp [code]
 
file  intrinsic_exponential.hpp [code]
file  intrinsic_integer.hpp [code]
 
file  intrinsic_geometric.hpp [code]
file  intrinsic_matrix.hpp [code]
 
file  intrinsic_integer.hpp [code]
file  intrinsic_trigonometric.hpp [code]
 
file  intrinsic_matrix.hpp [code]
file  intrinsic_vector_relational.hpp [code]
 
file  intrinsic_trigonometric.hpp [code]
file  precision.hpp [code]
 
file  intrinsic_vector_relational.hpp [code]
file  setup.hpp [code]
 
file  precision.hpp [code]
file  type_float.hpp [code]
 
file  setup.hpp [code]
file  type_gentype.hpp [code]
 
file  type_float.hpp [code]
file  type_half.hpp [code]
 
file  type_gentype.hpp [code]
file  type_int.hpp [code]
 
file  type_half.hpp [code]
file  type_mat.hpp [code]
 
file  type_int.hpp [code]
file  type_mat2x2.hpp [code]
 
file  type_mat.hpp [code]
file  type_mat2x3.hpp [code]
 
file  type_mat2x2.hpp [code]
file  type_mat2x4.hpp [code]
 
file  type_mat2x3.hpp [code]
file  type_mat3x2.hpp [code]
 
file  type_mat2x4.hpp [code]
file  type_mat3x3.hpp [code]
 
file  type_mat3x2.hpp [code]
file  type_mat3x4.hpp [code]
 
file  type_mat3x3.hpp [code]
file  type_mat4x2.hpp [code]
 
file  type_mat3x4.hpp [code]
file  type_mat4x3.hpp [code]
 
file  type_mat4x2.hpp [code]
file  type_mat4x4.hpp [code]
 
file  type_mat4x3.hpp [code]
file  type_vec.hpp [code]
 
file  type_mat4x4.hpp [code]
file  type_vec1.hpp [code]
 
file  type_vec.hpp [code]
file  type_vec2.hpp [code]
 
file  type_vec1.hpp [code]
file  type_vec3.hpp [code]
 
file  type_vec2.hpp [code]
 
file  type_vec3.hpp [code]
 
file  type_vec4.hpp [code]
file  type_vec4.hpp [code]
 
@@ -145,7 +139,7 @@ Files diff --git a/doc/api/dir_edf753475b928be648c1cf1c6443cf63.html b/doc/api/dir_e2c7faa62a52820b5be8795affd6e495.html similarity index 65% rename from doc/api/dir_edf753475b928be648c1cf1c6443cf63.html rename to doc/api/dir_e2c7faa62a52820b5be8795affd6e495.html index e228e45e..33e51156 100644 --- a/doc/api/dir_edf753475b928be648c1cf1c6443cf63.html +++ b/doc/api/dir_e2c7faa62a52820b5be8795affd6e495.html @@ -3,8 +3,8 @@ - -GLM: glm Directory Reference + +0.9.6: glm Directory Reference @@ -16,9 +16,9 @@ + @@ -26,19 +26,17 @@
-
GLM -  0.9.5 +
0.9.6
- +
@@ -49,9 +47,9 @@ - + - +

Directories

directory  doc
directory  doc
 
directory  glm
directory  glm
 
@@ -59,7 +57,7 @@ Directories diff --git a/doc/api/dir_e3ecd7863bd215c92a17f47e2ae3be43.html b/doc/api/dir_e3ecd7863bd215c92a17f47e2ae3be43.html deleted file mode 100644 index c6678a0e..00000000 --- a/doc/api/dir_e3ecd7863bd215c92a17f47e2ae3be43.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - -GLM: GitHub Directory Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - -
-
-
-
GitHub Directory Reference
-
-
- - - - -

-Directories

directory  glm
 
-
- - - - diff --git a/doc/api/dir_89daaa151958d75313fcd89dd5f4bdb8.html b/doc/api/dir_e6d11964c5662039c68343b35ca5648c.html similarity index 62% rename from doc/api/dir_89daaa151958d75313fcd89dd5f4bdb8.html rename to doc/api/dir_e6d11964c5662039c68343b35ca5648c.html index e123e913..6f696ed1 100644 --- a/doc/api/dir_89daaa151958d75313fcd89dd5f4bdb8.html +++ b/doc/api/dir_e6d11964c5662039c68343b35ca5648c.html @@ -3,8 +3,8 @@ - -GLM: doc Directory Reference + +0.9.6: doc Directory Reference @@ -16,9 +16,9 @@ + @@ -26,19 +26,17 @@
-
GLM -  0.9.5 +
0.9.6
- +
@@ -49,9 +47,9 @@ - + - +

Files

file  man.doxy [code]
file  man.doxy [code]
 
file  pages.doxy [code]
file  pages.doxy [code]
 
@@ -59,7 +57,7 @@ Files diff --git a/doc/api/dir_f7324829a002c536307b42a892c06451.html b/doc/api/dir_f7324829a002c536307b42a892c06451.html deleted file mode 100644 index bce28a80..00000000 --- a/doc/api/dir_f7324829a002c536307b42a892c06451.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - -GLM: gtc Directory Reference - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - -
-
-
-
gtc Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  gtc/constants.hpp [code]
 
file  gtc/epsilon.hpp [code]
 
file  matrix_access.hpp [code]
 
file  matrix_integer.hpp [code]
 
file  matrix_inverse.hpp [code]
 
file  matrix_transform.hpp [code]
 
file  gtc/noise.hpp [code]
 
file  gtc/packing.hpp [code]
 
file  gtc/quaternion.hpp [code]
 
file  gtc/random.hpp [code]
 
file  gtc/reciprocal.hpp [code]
 
file  type_precision.hpp [code]
 
file  type_ptr.hpp [code]
 
file  gtc/ulp.hpp [code]
 
-
- - - - diff --git a/doc/api/dynsections.js b/doc/api/dynsections.js index 2f15470d..1e6bf07f 100644 --- a/doc/api/dynsections.js +++ b/doc/api/dynsections.js @@ -24,19 +24,20 @@ function updateStripes() $('table.directory tr'). removeClass('even').filter(':visible:even').addClass('even'); } + function toggleLevel(level) { - $('table.directory tr').each(function(){ + $('table.directory tr').each(function() { var l = this.id.split('_').length-1; var i = $('#img'+this.id.substring(3)); var a = $('#arr'+this.id.substring(3)); if (l - -GLM: File List + +0.9.6: File List @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -49,153 +47,151 @@
Here is a list of all documented files with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
o*_features.hpp
o*_fixes.hpp
o*_literals.hpp
o*_noise.hppOpenGL Mathematics (glm.g-truc.net)
o*_swizzle.hpp
o*_swizzle_func.hpp
o*_vectorize.hpp
o*associated_min_max.hppOpenGL Mathematics (glm.g-truc.net)
o*bit.hppOpenGL Mathematics (glm.g-truc.net)
o*closest_point.hpp
o*color_space.hppOpenGL Mathematics (glm.g-truc.net)
o*color_space_YCoCg.hppOpenGL Mathematics (glm.g-truc.net)
o*common.hppOpenGL Mathematics (glm.g-truc.net)
o*compatibility.hppOpenGL Mathematics (glm.g-truc.net)
o*component_wise.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/constants.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/constants.hpp
o*dual_quaternion.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/epsilon.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/epsilon.hpp
o*euler_angles.hppOpenGL Mathematics (glm.g-truc.net)
o*exponential.hppOpenGL Mathematics (glm.g-truc.net)
o*ext.hpp
o*extend.hppOpenGL Mathematics (glm.g-truc.net)
o*extented_min_max.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_exponential.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_square_root.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_trigonometry.hppOpenGL Mathematics (glm.g-truc.net)
o*func_common.hpp
o*func_exponential.hpp
o*func_geometric.hpp
o*func_integer.hpp
o*func_matrix.hpp
o*func_noise.hpp
o*func_packing.hpp
o*func_trigonometric.hpp
o*func_vector_relational.hpp
o*fwd.hppOpenGL Mathematics (glm.g-truc.net)
o*geometric.hppOpenGL Mathematics (glm.g-truc.net)
o*glm.hppOpenGL Mathematics (glm.g-truc.net)
o*gradient_paint.hppOpenGL Mathematics (glm.g-truc.net)
o*handed_coordinate_space.hppOpenGL Mathematics (glm.g-truc.net)
o*hint.hpp
o*inertia.hppOpenGL Mathematics (glm.g-truc.net)
o*int_10_10_10_2.hpp
o*gtx/integer.hppOpenGL Mathematics (glm.g-truc.net)
o*integer.hppOpenGL Mathematics (glm.g-truc.net)
o*intersect.hppOpenGL Mathematics (glm.g-truc.net)
o*intrinsic_common.hpp
o*intrinsic_exponential.hpp
o*intrinsic_geometric.hpp
o*intrinsic_integer.hpp
o*intrinsic_matrix.hpp
o*intrinsic_trigonometric.hpp
o*intrinsic_vector_relational.hpp
o*io.hppOpenGL Mathematics (glm.g-truc.net)
o*log_base.hppOpenGL Mathematics (glm.g-truc.net)
o*man.doxy
o*mat2x2.hppOpenGL Mathematics (glm.g-truc.net)
o*mat2x3.hppOpenGL Mathematics (glm.g-truc.net)
o*mat2x4.hppOpenGL Mathematics (glm.g-truc.net)
o*mat3x2.hppOpenGL Mathematics (glm.g-truc.net)
o*mat3x3.hppOpenGL Mathematics (glm.g-truc.net)
o*mat3x4.hppOpenGL Mathematics (glm.g-truc.net)
o*mat4x2.hppOpenGL Mathematics (glm.g-truc.net)
o*mat4x3.hpp
o*mat4x4.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_access.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_cross_product.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_integer.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_interpolation.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_inverse.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_major_storage.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_operation.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_query.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_transform.hppOpenGL Mathematics (glm.g-truc.net)
o*mixed_product.hppOpenGL Mathematics (glm.g-truc.net)
o*multiple.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/noise.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/noise.hpp
o*norm.hppOpenGL Mathematics (glm.g-truc.net)
o*normal.hppOpenGL Mathematics (glm.g-truc.net)
o*normalize_dot.hppOpenGL Mathematics (glm.g-truc.net)
o*number_precision.hppOpenGL Mathematics (glm.g-truc.net)
o*optimum_pow.hppOpenGL Mathematics (glm.g-truc.net)
o*orthonormalize.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/packing.hppOpenGL Mathematics (glm.g-truc.net)
o*packing.hppOpenGL Mathematics (glm.g-truc.net)
o*pages.doxy
o*perpendicular.hppOpenGL Mathematics (glm.g-truc.net)
o*polar_coordinates.hppOpenGL Mathematics (glm.g-truc.net)
o*precision.hpp
o*projection.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/quaternion.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/quaternion.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/random.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/random.hpp
o*raw_data.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/reciprocal.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/reciprocal.hpp
o*rotate_normalized_axis.hppOpenGL Mathematics (glm.g-truc.net)
o*rotate_vector.hppOpenGL Mathematics (glm.g-truc.net)
o*scalar_relational.hppOpenGL Mathematics (glm.g-truc.net)
o*setup.hpp
o*simd_mat4.hpp
o*simd_quat.hppOpenGL Mathematics (glm.g-truc.net)
o*simd_vec4.hppOpenGL Mathematics (glm.g-truc.net)
o*spline.hppOpenGL Mathematics (glm.g-truc.net)
o*std_based_type.hppOpenGL Mathematics (glm.g-truc.net)
o*string_cast.hppOpenGL Mathematics (glm.g-truc.net)
o*transform.hppOpenGL Mathematics (glm.g-truc.net)
o*transform2.hppOpenGL Mathematics (glm.g-truc.net)
o*trigonometric.hppOpenGL Mathematics (glm.g-truc.net)
o*type_float.hpp
o*type_gentype.hpp
o*type_half.hpp
o*type_int.hpp
o*type_mat.hpp
o*type_mat2x2.hpp
o*type_mat2x3.hpp
o*type_mat2x4.hpp
o*type_mat3x2.hpp
o*type_mat3x3.hpp
o*type_mat3x4.hpp
o*type_mat4x2.hpp
o*type_mat4x3.hpp
o*type_mat4x4.hpp
o*type_precision.hppOpenGL Mathematics (glm.g-truc.net)
o*type_ptr.hppOpenGL Mathematics (glm.g-truc.net)
o*type_vec.hpp
o*type_vec1.hpp
o*type_vec2.hpp
o*type_vec3.hpp
o*type_vec4.hpp
o*gtc/ulp.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/ulp.hpp
o*unsigned_int.hpp
o*vec1.hppOpenGL Mathematics (glm.g-truc.net)
o*vec2.hppOpenGL Mathematics (glm.g-truc.net)
o*vec3.hppOpenGL Mathematics (glm.g-truc.net)
o*vec4.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_angle.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_query.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_relational.hppOpenGL Mathematics (glm.g-truc.net)
o*wrap.hppOpenGL Mathematics (glm.g-truc.net)
\*xstream.hppOpenGL Mathematics (glm.g-truc.net)
 _features.hppOpenGL Mathematics (glm.g-truc.net)
 _fixes.hppOpenGL Mathematics (glm.g-truc.net)
 _noise.hppOpenGL Mathematics (glm.g-truc.net)
 _swizzle.hppOpenGL Mathematics (glm.g-truc.net)
 _swizzle_func.hppOpenGL Mathematics (glm.g-truc.net)
 _vectorize.hppOpenGL Mathematics (glm.g-truc.net)
 associated_min_max.hppOpenGL Mathematics (glm.g-truc.net)
 bit.hppOpenGL Mathematics (glm.g-truc.net)
 bitfield.hppOpenGL Mathematics (glm.g-truc.net)
 closest_point.hpp
 color_space.hppOpenGL Mathematics (glm.g-truc.net)
 color_space_YCoCg.hppOpenGL Mathematics (glm.g-truc.net)
 common.hppOpenGL Mathematics (glm.g-truc.net)
 gtx/common.hppOpenGL Mathematics (glm.g-truc.net)
 compatibility.hppOpenGL Mathematics (glm.g-truc.net)
 component_wise.hppOpenGL Mathematics (glm.g-truc.net)
 constants.hppOpenGL Mathematics (glm.g-truc.net)
 dual_quaternion.hppOpenGL Mathematics (glm.g-truc.net)
 epsilon.hppOpenGL Mathematics (glm.g-truc.net)
 euler_angles.hppOpenGL Mathematics (glm.g-truc.net)
 exponential.hppOpenGL Mathematics (glm.g-truc.net)
 ext.hpp
 extend.hppOpenGL Mathematics (glm.g-truc.net)
 extented_min_max.hppOpenGL Mathematics (glm.g-truc.net)
 fast_exponential.hppOpenGL Mathematics (glm.g-truc.net)
 fast_square_root.hppOpenGL Mathematics (glm.g-truc.net)
 fast_trigonometry.hppOpenGL Mathematics (glm.g-truc.net)
 func_common.hppOpenGL Mathematics (glm.g-truc.net)
 func_exponential.hppOpenGL Mathematics (glm.g-truc.net)
 func_geometric.hppOpenGL Mathematics (glm.g-truc.net)
 func_integer.hppOpenGL Mathematics (glm.g-truc.net)
 func_matrix.hppOpenGL Mathematics (glm.g-truc.net)
 func_noise.hppOpenGL Mathematics (glm.g-truc.net)
 func_packing.hppOpenGL Mathematics (glm.g-truc.net)
 func_trigonometric.hppOpenGL Mathematics (glm.g-truc.net)
 func_vector_relational.hppOpenGL Mathematics (glm.g-truc.net)
 fwd.hppOpenGL Mathematics (glm.g-truc.net)
 geometric.hppOpenGL Mathematics (glm.g-truc.net)
 glm.hppOpenGL Mathematics (glm.g-truc.net)
 gradient_paint.hppOpenGL Mathematics (glm.g-truc.net)
 handed_coordinate_space.hppOpenGL Mathematics (glm.g-truc.net)
 inertia.hppOpenGL Mathematics (glm.g-truc.net)
 gtc/integer.hppOpenGL Mathematics (glm.g-truc.net)
 gtx/integer.hppOpenGL Mathematics (glm.g-truc.net)
 integer.hppOpenGL Mathematics (glm.g-truc.net)
 intersect.hppOpenGL Mathematics (glm.g-truc.net)
 intrinsic_common.hppOpenGL Mathematics (glm.g-truc.net)
 intrinsic_exponential.hppOpenGL Mathematics (glm.g-truc.net)
 intrinsic_geometric.hppOpenGL Mathematics (glm.g-truc.net)
 intrinsic_integer.hppOpenGL Mathematics (glm.g-truc.net)
 intrinsic_matrix.hpp
 intrinsic_trigonometric.hppOpenGL Mathematics (glm.g-truc.net)
 intrinsic_vector_relational.hppOpenGL Mathematics (glm.g-truc.net)
 io.hppOpenGL Mathematics (glm.g-truc.net)
 log_base.hppOpenGL Mathematics (glm.g-truc.net)
 man.doxy
 mat2x2.hppOpenGL Mathematics (glm.g-truc.net)
 mat2x3.hppOpenGL Mathematics (glm.g-truc.net)
 mat2x4.hppOpenGL Mathematics (glm.g-truc.net)
 mat3x2.hppOpenGL Mathematics (glm.g-truc.net)
 mat3x3.hppOpenGL Mathematics (glm.g-truc.net)
 mat3x4.hppOpenGL Mathematics (glm.g-truc.net)
 mat4x2.hppOpenGL Mathematics (glm.g-truc.net)
 mat4x3.hpp
 mat4x4.hppOpenGL Mathematics (glm.g-truc.net)
 matrix.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_access.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_cross_product.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_decompose.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_integer.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_interpolation.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_inverse.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_major_storage.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_operation.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_query.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_transform.hppOpenGL Mathematics (glm.g-truc.net)
 matrix_transform_2d.hppOpenGL Mathematics (glm.g-truc.net)
 mixed_product.hppOpenGL Mathematics (glm.g-truc.net)
 multiple.hppOpenGL Mathematics (glm.g-truc.net)
 noise.hppOpenGL Mathematics (glm.g-truc.net)
 norm.hppOpenGL Mathematics (glm.g-truc.net)
 normal.hppOpenGL Mathematics (glm.g-truc.net)
 normalize_dot.hppOpenGL Mathematics (glm.g-truc.net)
 number_precision.hppOpenGL Mathematics (glm.g-truc.net)
 optimum_pow.hppOpenGL Mathematics (glm.g-truc.net)
 orthonormalize.hppOpenGL Mathematics (glm.g-truc.net)
 gtc/packing.hppOpenGL Mathematics (glm.g-truc.net)
 packing.hppOpenGL Mathematics (glm.g-truc.net)
 pages.doxy
 perpendicular.hppOpenGL Mathematics (glm.g-truc.net)
 polar_coordinates.hppOpenGL Mathematics (glm.g-truc.net)
 precision.hppOpenGL Mathematics (glm.g-truc.net)
 projection.hppOpenGL Mathematics (glm.g-truc.net)
 gtc/quaternion.hppOpenGL Mathematics (glm.g-truc.net)
 gtx/quaternion.hppOpenGL Mathematics (glm.g-truc.net)
 random.hppOpenGL Mathematics (glm.g-truc.net)
 range.hppOpenGL Mathematics (glm.g-truc.net)
 raw_data.hppOpenGL Mathematics (glm.g-truc.net)
 reciprocal.hppOpenGL Mathematics (glm.g-truc.net)
 rotate_normalized_axis.hppOpenGL Mathematics (glm.g-truc.net)
 rotate_vector.hppOpenGL Mathematics (glm.g-truc.net)
 round.hppOpenGL Mathematics (glm.g-truc.net)
 scalar_multiplication.hppOpenGL Mathematics (glm.g-truc.net)
 scalar_relational.hppOpenGL Mathematics (glm.g-truc.net)
 setup.hppOpenGL Mathematics (glm.g-truc.net)
 simd_mat4.hpp
 simd_quat.hppOpenGL Mathematics (glm.g-truc.net)
 simd_vec4.hppOpenGL Mathematics (glm.g-truc.net)
 spline.hppOpenGL Mathematics (glm.g-truc.net)
 std_based_type.hppOpenGL Mathematics (glm.g-truc.net)
 string_cast.hppOpenGL Mathematics (glm.g-truc.net)
 transform.hppOpenGL Mathematics (glm.g-truc.net)
 transform2.hppOpenGL Mathematics (glm.g-truc.net)
 trigonometric.hppOpenGL Mathematics (glm.g-truc.net)
 type_aligned.hppOpenGL Mathematics (glm.g-truc.net)
 type_float.hppOpenGL Mathematics (glm.g-truc.net)
 type_gentype.hppOpenGL Mathematics (glm.g-truc.net)
 type_half.hppOpenGL Mathematics (glm.g-truc.net)
 type_int.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat2x2.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat2x3.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat2x4.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat3x2.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat3x3.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat3x4.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat4x2.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat4x3.hppOpenGL Mathematics (glm.g-truc.net)
 type_mat4x4.hppOpenGL Mathematics (glm.g-truc.net)
 type_precision.hppOpenGL Mathematics (glm.g-truc.net)
 type_ptr.hppOpenGL Mathematics (glm.g-truc.net)
 type_vec.hppOpenGL Mathematics (glm.g-truc.net)
 type_vec1.hppOpenGL Mathematics (glm.g-truc.net)
 type_vec2.hppOpenGL Mathematics (glm.g-truc.net)
 type_vec3.hppOpenGL Mathematics (glm.g-truc.net)
 type_vec4.hppOpenGL Mathematics (glm.g-truc.net)
 ulp.hppOpenGL Mathematics (glm.g-truc.net)
 vec1.hppOpenGL Mathematics (glm.g-truc.net)
 vec2.hppOpenGL Mathematics (glm.g-truc.net)
 vec3.hppOpenGL Mathematics (glm.g-truc.net)
 vec4.hppOpenGL Mathematics (glm.g-truc.net)
 vector_angle.hppOpenGL Mathematics (glm.g-truc.net)
 vector_query.hppOpenGL Mathematics (glm.g-truc.net)
 vector_relational.hppOpenGL Mathematics (glm.g-truc.net)
 wrap.hppOpenGL Mathematics (glm.g-truc.net)
@@ -203,7 +199,7 @@ diff --git a/doc/api/ftv2cl.png b/doc/api/ftv2cl.png deleted file mode 100644 index 132f6577..00000000 Binary files a/doc/api/ftv2cl.png and /dev/null differ diff --git a/doc/api/ftv2mo.png b/doc/api/ftv2mo.png deleted file mode 100644 index 4bfb80f7..00000000 Binary files a/doc/api/ftv2mo.png and /dev/null differ diff --git a/doc/api/ftv2ns.png b/doc/api/ftv2ns.png deleted file mode 100644 index 72e3d71c..00000000 Binary files a/doc/api/ftv2ns.png and /dev/null differ diff --git a/doc/api/index.html b/doc/api/index.html index 5055de14..f1f1f0c6 100644 --- a/doc/api/index.html +++ b/doc/api/index.html @@ -3,8 +3,8 @@ - -GLM: OpenGL Mathematics + +0.9.6: OpenGL Mathematics @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -44,28 +42,27 @@

OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specification.

GLM provides classes and functions designed and implemented with the same naming conventions and functionalities than GLSL so that when a programmer knows GLSL, he knows GLM as well which makes it really easy to use.

-

This project isn't limited to GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers, procedural noise functions, etc...

-

This library works perfectly with OpenGL but it also ensures interoperability with third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.

-

GLM is written in C++98 but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and officially supports the following compilers:

-
    -
  • Clang 2.6 and higher
  • -
  • CUDA 3.0 and higher
  • -
  • GCC 3.4 and higher
  • +

    This project isn't limited to GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers, noise, etc...

    +

    This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDK. It is a good candidate for software rendering (raytracing / rasterisation), image processing, physic simulations and any development context that requires a simple and convenient mathematics library.

    +

    GLM is written in C++98 but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and it officially supports the following compilers:

      +
    • Apple Clang 4.0 and higher
    • +
    • CUDA 4.0 and higher
    • +
    • GCC 4.2 and higher
    • +
    • LLVM 3.0 and higher
    • Intel C++ Composer XE 2013 and higher
    • -
    • LLVM 2.3 through GCC 4.2 front-end and higher
    • -
    • Visual Studio 2005 and higher
    • -
    • Any conform C++98 or C++11 compiler
    • +
    • Visual Studio 2010 and higher
    • +
    • Any conform C++98 compiler
    -
    Note
    The Doxygen-generated documentation will often state that a type or function is defined in a namespace that is a child of the glm namespace. Please ignore this; All publicly available types and functions can be accessed as a direct children of the glm namespace.
    +
    Note
    The Doxygen-generated documentation will often state that a type or function is defined in a namespace that is a child of the glm namespace. Please ignore this; All publicly available types and functions can be accessed as a direct children of the glm namespace.

    The source code is licenced under the MIT licence.

    These pages are the API reference only. For more information about how to use GLM, please have a look at the manual.

    -

    Thanks for contributing to the project by submitting tickets for bug reports and feature requests. (SF.net account required). Any feedback is welcome at glm@g.nosp@m.-tru.nosp@m.c.net.

    +

    Thanks for contributing to the project by submitting tickets for bug reports and feature requests. Any feedback is welcome at glm@g.nosp@m.-tru.nosp@m.c.net.

diff --git a/doc/api/logo.png b/doc/api/logo.png new file mode 100644 index 00000000..80b5f9d4 Binary files /dev/null and b/doc/api/logo.png differ diff --git a/doc/api/modules.html b/doc/api/modules.html index 1e167949..be77b4e6 100644 --- a/doc/api/modules.html +++ b/doc/api/modules.html @@ -3,8 +3,8 @@ - -GLM: Modules + +0.9.6: Modules @@ -16,9 +16,9 @@ + @@ -26,13 +26,11 @@
-
GLM -  0.9.5 +
0.9.6
- + @@ -44,91 +42,98 @@
Here is a list of all modules:
[detail level 123]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
oGTC Extensions (Stable)Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program
|oGLM_GTC_constantsAllow to perform bit operations on integer values
|oGLM_GTC_epsilonComparison functions for a user defined epsilon values
|oGLM_GTC_matrix_accessDefines functions to access rows or columns of a matrix easily
|oGLM_GTC_matrix_integerDefines a number of matrices with integer types
|oGLM_GTC_matrix_inverseDefines additional matrix inverting functions
|oGLM_GTC_matrix_transformDefines functions that generate common transformation matrices
|oGLM_GTC_noiseDefines 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
|oGLM_GTC_packingThis extension provides a set of function to convert vertors to packed formats
|oGLM_GTC_quaternionDefines a templated quaternion type and several quaternion operations
|oGLM_GTC_randomGenerate random number from various distribution methods
|oGLM_GTC_reciprocalDefine secant, cosecant and cotangent functions
|oGLM_GTC_type_precisionDefines specific C++-based precision types
|oGLM_GTC_type_ptrHandles the interaction between pointers and vector, matrix types
|oGLM_GTC_ulpAllow the measurement of the accuracy of a function against a reference implementation
|oGLM_GTX_dual_quaternionDefines a templated dual-quaternion type and several dual-quaternion operations
|\GLM_GTX_rotate_normalized_axisQuaternions and matrices rotations around normalized axis
oGTX Extensions (Experimental)Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program
|oGLM_GTX_associated_min_maxMin and max functions that return associated values not the compared onces
|oGLM_GTX_bitAllow to perform bit operations on integer values
|oGLM_GTX_closest_pointFind the point on a straight line which is the closet of a point
|oGLM_GTX_color_spaceRelated to RGB to HSV conversions and operations
|oGLM_GTX_color_space_YCoCgRGB to YCoCg conversions and operations
|oGLM_GTX_compatibilityProvide functions to increase the compatibility with Cg and HLSL languages
|oGLM_GTX_component_wiseOperations between components of a type
|oGLM_GTX_euler_anglesBuild matrices from Euler angles
|oGLM_GTX_extendExtend a position from a source to a position at a defined length
|oGLM_GTX_extented_min_maxMin and max functions for 3 to 4 parameters
|oGLM_GTX_fast_exponentialFast but less accurate implementations of exponential based functions
|oGLM_GTX_fast_square_rootFast but less accurate implementations of square root based functions
|oGLM_GTX_fast_trigonometryFast but less accurate implementations of trigonometric functions
|oGLM_GTX_gradient_paintFunctions that return the color of procedural gradient for specific coordinates
|oGLM_GTX_handed_coordinate_spaceTo know if a set of three basis vectors defines a right or left-handed coordinate system
|oGLM_GTX_inertiaCreate inertia matrices
|oGLM_GTX_integerAdd support for integer for core functions
|oGLM_GTX_intersectAdd intersection functions
|oGLM_GTX_ioStd::[w]ostream support for glm types
|oGLM_GTX_log_baseLogarithm for any base
|oGLM_GTX_matrix_cross_productBuild cross product matrices
|oGLM_GTX_matrix_interpolationAllows to directly interpolate two exiciting matrices
|oGLM_GTX_matrix_major_storageBuild matrices with specific matrix order, row or column
|oGLM_GTX_matrix_operationBuild diagonal matrices from vectors
|oGLM_GTX_matrix_queryQuery to evaluate matrix properties
|oGLM_GTX_mixed_producteMixed product of 3 vectors
|oGLM_GTX_multipleFind the closest number of a number multiple of other number
|oGLM_GTX_normVarious ways to compute vector norms
|oGLM_GTX_normalCompute the normal of a triangle
|oGLM_GTX_normalize_dotDot product of vectors that need to be normalize with a single square root
|oGLM_GTX_number_precisionDefined size types
|oGLM_GTX_optimum_powInteger exponentiation of power functions
|oGLM_GTX_orthonormalizeOrthonormalize matrices
|oGLM_GTX_perpendicularPerpendicular of a vector from other one
|oGLM_GTX_polar_coordinatesConversion from Euclidean space to polar space and revert
|oGLM_GTX_projectionProjection of a vector to other one
|oGLM_GTX_quaternionExtented quaternion types and functions
|oGLM_GTX_raw_dataProjection of a vector to other one
|oGLM_GTX_rotate_vectorFunction to directly rotate a vector
|oGLM_GTX_simd_mat4SIMD implementation of mat4 type
|oGLM_GTX_simd_quatSIMD implementation of quat type
|oGLM_GTX_splineSpline functions
|oGLM_GTX_std_based_typeAdds vector types based on STL value types
|oGLM_GTX_string_castSetup strings for GLM type values
|oGLM_GTX_transformAdd transformation matrices
|oGLM_GTX_transform2Add extra transformation matrices
|oGLM_GTX_vec1Add vec1, ivec1, uvec1 and bvec1 types
|oGLM_GTX_vector_angleCompute angle between vectors
|oGLM_GTX_vector_queryQuery informations of vector types
|\GLM_GTX_wrapWrapping mode of texture coordinates
oVIRTREV ExtensionsExtensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660)
|\GLM_VIRTREV_xstream: xml like outputStreaming vector and matrix in a xml way
oGLM CoreThe core of GLM, which implements exactly and only the GLSL specification to the degree possible
|oCommon functionsThese all operate component-wise
|oExponential functionsThese all operate component-wise
|oGeometric functionsThese operate on vectors as vectors, not component-wise
|oInteger functionsThese all operate component-wise
|oMatrix functionsFor 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
|oNoise functionsNoise functions are stochastic functions that can be used to increase visual complexity
|oFloating-Point Pack and Unpack FunctionsThese functions do not operate component-wise, rather as described in each case
|oAngle and Trigonometry FunctionsFunction parameters specified as angle are assumed to be in units of radians
|oVector Relational FunctionsRelational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results
|oTypesThe standard types defined by the specification
||\Precision typesNon-GLSL types that are used to define precision-based types
|oPrecision typesNon-GLSL types that are used to define precision-based types
|\Template typesThe generic template types used as the basis for the core types
\Gtx_scalar_relational
 GTC Extensions (Stable)Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program
 GLM_GTC_bitfieldAllow to perform bit operations on integer values
 GLM_GTC_constantsProvide a list of constants and precomputed useful values
 GLM_GTC_epsilonComparison functions for a user defined epsilon values
 GLM_GTC_integerAllow to perform bit operations on integer values
 GLM_GTC_matrix_accessDefines functions to access rows or columns of a matrix easily
 GLM_GTC_matrix_integerDefines a number of matrices with integer types
 GLM_GTC_matrix_inverseDefines additional matrix inverting functions
 GLM_GTC_matrix_transformDefines functions that generate common transformation matrices
 GLM_GTC_noiseDefines 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
 GLM_GTC_packingThis extension provides a set of function to convert vertors to packed formats
 GLM_GTC_quaternionDefines a templated quaternion type and several quaternion operations
 GLM_GTC_randomGenerate random number from various distribution methods
 GLM_GTC_reciprocalDefine secant, cosecant and cotangent functions
 GLM_GTC_roundRounding value to specific boundings
 GLM_GTC_type_precisionDefines specific C++-based precision types
 GLM_GTC_type_ptrHandles the interaction between pointers and vector, matrix types
 GLM_GTC_ulpAllow the measurement of the accuracy of a function against a reference implementation
 GLM_GTC_vec1Add vec1, ivec1, uvec1 and bvec1 types
 GTX Extensions (Experimental)Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program
 GLM_GTX_associated_min_maxMin and max functions that return associated values not the compared onces
 GLM_GTX_bitAllow to perform bit operations on integer values
 GLM_GTX_closest_pointFind the point on a straight line which is the closet of a point
 GLM_GTX_color_spaceRelated to RGB to HSV conversions and operations
 GLM_GTX_color_space_YCoCgRGB to YCoCg conversions and operations
 GLM_GTX_commonProvide functions to increase the compatibility with Cg and HLSL languages
 GLM_GTX_compatibilityProvide functions to increase the compatibility with Cg and HLSL languages
 GLM_GTX_component_wiseOperations between components of a type
 GLM_GTX_dual_quaternionDefines a templated dual-quaternion type and several dual-quaternion operations
 GLM_GTX_euler_anglesBuild matrices from Euler angles
 GLM_GTX_extendExtend a position from a source to a position at a defined length
 GLM_GTX_extented_min_maxMin and max functions for 3 to 4 parameters
 GLM_GTX_fast_exponentialFast but less accurate implementations of exponential based functions
 GLM_GTX_fast_square_rootFast but less accurate implementations of square root based functions
 GLM_GTX_fast_trigonometryFast but less accurate implementations of trigonometric functions
 GLM_GTX_gradient_paintFunctions that return the color of procedural gradient for specific coordinates
 GLM_GTX_handed_coordinate_spaceTo know if a set of three basis vectors defines a right or left-handed coordinate system
 GLM_GTX_inertiaCreate inertia matrices
 GLM_GTX_integerAdd support for integer for core functions
 GLM_GTX_intersectAdd intersection functions
 GLM_GTX_ioStd::[w]ostream support for glm types
 GLM_GTX_log_baseLogarithm for any base
 GLM_GTX_matrix_cross_productBuild cross product matrices
 GLM_GTX_matrix_decomposeDecomposes a model matrix to translations, rotation and scale components
 GLM_GTX_matrix_interpolationAllows to directly interpolate two exiciting matrices
 GLM_GTX_matrix_major_storageBuild matrices with specific matrix order, row or column
 GLM_GTX_matrix_operationBuild diagonal matrices from vectors
 GLM_GTX_matrix_queryQuery to evaluate matrix properties
 GLM_GTX_matrix_transform_2dDefines functions that generate common 2d transformation matrices
 GLM_GTX_mixed_producteMixed product of 3 vectors
 GLM_GTX_multipleFind the closest number of a number multiple of other number
 GLM_GTX_normVarious ways to compute vector norms
 GLM_GTX_normalCompute the normal of a triangle
 GLM_GTX_normalize_dotDot product of vectors that need to be normalize with a single square root
 GLM_GTX_number_precisionDefined size types
 GLM_GTX_optimum_powInteger exponentiation of power functions
 GLM_GTX_orthonormalizeOrthonormalize matrices
 GLM_GTX_perpendicularPerpendicular of a vector from other one
 GLM_GTX_polar_coordinatesConversion from Euclidean space to polar space and revert
 GLM_GTX_projectionProjection of a vector to other one
 GLM_GTX_quaternionExtented quaternion types and functions
 GLM_GTX_rangeDefines begin and end for vectors and matrices
 GLM_GTX_raw_dataProjection of a vector to other one
 GLM_GTX_rotate_normalized_axisQuaternions and matrices rotations around normalized axis
 GLM_GTX_rotate_vectorFunction to directly rotate a vector
 GLM_GTX_scalar_relationalExtend a position from a source to a position at a defined length
 GLM_GTX_simd_mat4SIMD implementation of mat4 type
 GLM_GTX_simd_quatSIMD implementation of quat type
 GLM_GTX_simd_vec4SIMD implementation of vec4 type
 GLM_GTX_splineSpline functions
 GLM_GTX_std_based_typeAdds vector types based on STL value types
 GLM_GTX_string_castSetup strings for GLM type values
 GLM_GTX_transformAdd transformation matrices
 GLM_GTX_transform2Add extra transformation matrices
 GLM_GTX_type_alignedDefines aligned types
 GLM_GTX_vector_angleCompute angle between vectors
 GLM_GTX_vector_queryQuery informations of vector types
 GLM_GTX_wrapWrapping mode of texture coordinates
 GLM CoreThe core of GLM, which implements exactly and only the GLSL specification to the degree possible
 Common functionsThese all operate component-wise
 Exponential functionsThese all operate component-wise
 Geometric functionsThese operate on vectors as vectors, not component-wise
 Integer functionsThese all operate component-wise
 Matrix functionsFor 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
 Noise functionsNoise functions are stochastic functions that can be used to increase visual complexity
 Floating-Point Pack and Unpack FunctionsThese functions do not operate component-wise, rather as described in each case
 Angle and Trigonometry FunctionsFunction parameters specified as angle are assumed to be in units of radians
 Vector Relational FunctionsRelational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results
 TypesThe standard types defined by the specification
 Precision typesNon-GLSL types that are used to define precision-based types
 Precision typesNon-GLSL types that are used to define precision-based types
 Template typesThe generic template types used as the basis for the core types
@@ -136,7 +141,7 @@ diff --git a/doc/api/namespacemembers.html b/doc/api/namespacemembers.html deleted file mode 100644 index f7252794..00000000 --- a/doc/api/namespacemembers.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- a -

-
- - - - diff --git a/doc/api/namespacemembers_0x62.html b/doc/api/namespacemembers_0x62.html deleted file mode 100644 index ebf1b176..00000000 --- a/doc/api/namespacemembers_0x62.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- b -

-
- - - - diff --git a/doc/api/namespacemembers_0x63.html b/doc/api/namespacemembers_0x63.html deleted file mode 100644 index 6ca90fc7..00000000 --- a/doc/api/namespacemembers_0x63.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- c -

-
- - - - diff --git a/doc/api/namespacemembers_0x64.html b/doc/api/namespacemembers_0x64.html deleted file mode 100644 index cc370307..00000000 --- a/doc/api/namespacemembers_0x64.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- d -

-
- - - - diff --git a/doc/api/namespacemembers_0x65.html b/doc/api/namespacemembers_0x65.html deleted file mode 100644 index 2bcfecdc..00000000 --- a/doc/api/namespacemembers_0x65.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- e -

-
- - - - diff --git a/doc/api/namespacemembers_0x66.html b/doc/api/namespacemembers_0x66.html deleted file mode 100644 index 481dd945..00000000 --- a/doc/api/namespacemembers_0x66.html +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- f -

-
- - - - diff --git a/doc/api/namespacemembers_0x67.html b/doc/api/namespacemembers_0x67.html deleted file mode 100644 index bf26536a..00000000 --- a/doc/api/namespacemembers_0x67.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- g -

-
- - - - diff --git a/doc/api/namespacemembers_0x68.html b/doc/api/namespacemembers_0x68.html deleted file mode 100644 index d765b386..00000000 --- a/doc/api/namespacemembers_0x68.html +++ /dev/null @@ -1,672 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- h -

-
- - - - diff --git a/doc/api/namespacemembers_0x69.html b/doc/api/namespacemembers_0x69.html deleted file mode 100644 index 83aeec83..00000000 --- a/doc/api/namespacemembers_0x69.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- i -

-
- - - - diff --git a/doc/api/namespacemembers_0x6c.html b/doc/api/namespacemembers_0x6c.html deleted file mode 100644 index b14463b9..00000000 --- a/doc/api/namespacemembers_0x6c.html +++ /dev/null @@ -1,717 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- l -

-
- - - - diff --git a/doc/api/namespacemembers_0x6d.html b/doc/api/namespacemembers_0x6d.html deleted file mode 100644 index 38403d9f..00000000 --- a/doc/api/namespacemembers_0x6d.html +++ /dev/null @@ -1,783 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- m -

-
- - - - diff --git a/doc/api/namespacemembers_0x6e.html b/doc/api/namespacemembers_0x6e.html deleted file mode 100644 index 554400f9..00000000 --- a/doc/api/namespacemembers_0x6e.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- n -

-
- - - - diff --git a/doc/api/namespacemembers_0x6f.html b/doc/api/namespacemembers_0x6f.html deleted file mode 100644 index 20693e76..00000000 --- a/doc/api/namespacemembers_0x6f.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- o -

-
- - - - diff --git a/doc/api/namespacemembers_0x70.html b/doc/api/namespacemembers_0x70.html deleted file mode 100644 index 5fa2e501..00000000 --- a/doc/api/namespacemembers_0x70.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- p -

-
- - - - diff --git a/doc/api/namespacemembers_0x71.html b/doc/api/namespacemembers_0x71.html deleted file mode 100644 index 4298146d..00000000 --- a/doc/api/namespacemembers_0x71.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- q -

-
- - - - diff --git a/doc/api/namespacemembers_0x72.html b/doc/api/namespacemembers_0x72.html deleted file mode 100644 index bab3cc80..00000000 --- a/doc/api/namespacemembers_0x72.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- r -

-
- - - - diff --git a/doc/api/namespacemembers_0x73.html b/doc/api/namespacemembers_0x73.html deleted file mode 100644 index 04d374e5..00000000 --- a/doc/api/namespacemembers_0x73.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- s -

-
- - - - diff --git a/doc/api/namespacemembers_0x74.html b/doc/api/namespacemembers_0x74.html deleted file mode 100644 index 9e9592c9..00000000 --- a/doc/api/namespacemembers_0x74.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- t -

-
- - - - diff --git a/doc/api/namespacemembers_0x75.html b/doc/api/namespacemembers_0x75.html deleted file mode 100644 index 43f6bea3..00000000 --- a/doc/api/namespacemembers_0x75.html +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- u -

-
- - - - diff --git a/doc/api/namespacemembers_0x76.html b/doc/api/namespacemembers_0x76.html deleted file mode 100644 index 2e22cb8a..00000000 --- a/doc/api/namespacemembers_0x76.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- v -

-
- - - - diff --git a/doc/api/namespacemembers_0x77.html b/doc/api/namespacemembers_0x77.html deleted file mode 100644 index a93c00b7..00000000 --- a/doc/api/namespacemembers_0x77.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- w -

-
- - - - diff --git a/doc/api/namespacemembers_0x79.html b/doc/api/namespacemembers_0x79.html deleted file mode 100644 index dc3932fa..00000000 --- a/doc/api/namespacemembers_0x79.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- y -

-
- - - - diff --git a/doc/api/namespacemembers_0x7a.html b/doc/api/namespacemembers_0x7a.html deleted file mode 100644 index 7779046d..00000000 --- a/doc/api/namespacemembers_0x7a.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-
Here is a list of all documented namespace members with links to the namespaces they belong to:
- -

- z -

-
- - - - diff --git a/doc/api/namespacemembers_func.html b/doc/api/namespacemembers_func.html deleted file mode 100644 index 680070c7..00000000 --- a/doc/api/namespacemembers_func.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- a -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x62.html b/doc/api/namespacemembers_func_0x62.html deleted file mode 100644 index ae1b9df8..00000000 --- a/doc/api/namespacemembers_func_0x62.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- b -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x63.html b/doc/api/namespacemembers_func_0x63.html deleted file mode 100644 index 2e008445..00000000 --- a/doc/api/namespacemembers_func_0x63.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- c -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x64.html b/doc/api/namespacemembers_func_0x64.html deleted file mode 100644 index b949664c..00000000 --- a/doc/api/namespacemembers_func_0x64.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- d -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x65.html b/doc/api/namespacemembers_func_0x65.html deleted file mode 100644 index e18175e2..00000000 --- a/doc/api/namespacemembers_func_0x65.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- e -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x66.html b/doc/api/namespacemembers_func_0x66.html deleted file mode 100644 index 061a0aa1..00000000 --- a/doc/api/namespacemembers_func_0x66.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- f -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x67.html b/doc/api/namespacemembers_func_0x67.html deleted file mode 100644 index de6a27c5..00000000 --- a/doc/api/namespacemembers_func_0x67.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- g -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x68.html b/doc/api/namespacemembers_func_0x68.html deleted file mode 100644 index 0a27ea95..00000000 --- a/doc/api/namespacemembers_func_0x68.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- h -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x69.html b/doc/api/namespacemembers_func_0x69.html deleted file mode 100644 index 83a26b84..00000000 --- a/doc/api/namespacemembers_func_0x69.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- i -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x6c.html b/doc/api/namespacemembers_func_0x6c.html deleted file mode 100644 index fabaf69e..00000000 --- a/doc/api/namespacemembers_func_0x6c.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- l -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x6d.html b/doc/api/namespacemembers_func_0x6d.html deleted file mode 100644 index 31f4fac3..00000000 --- a/doc/api/namespacemembers_func_0x6d.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- m -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x6e.html b/doc/api/namespacemembers_func_0x6e.html deleted file mode 100644 index 5fd8f9a2..00000000 --- a/doc/api/namespacemembers_func_0x6e.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- n -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x6f.html b/doc/api/namespacemembers_func_0x6f.html deleted file mode 100644 index b2f80e93..00000000 --- a/doc/api/namespacemembers_func_0x6f.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- o -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x70.html b/doc/api/namespacemembers_func_0x70.html deleted file mode 100644 index 619d2480..00000000 --- a/doc/api/namespacemembers_func_0x70.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- p -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x71.html b/doc/api/namespacemembers_func_0x71.html deleted file mode 100644 index 8515701b..00000000 --- a/doc/api/namespacemembers_func_0x71.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- q -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x72.html b/doc/api/namespacemembers_func_0x72.html deleted file mode 100644 index d4509cd9..00000000 --- a/doc/api/namespacemembers_func_0x72.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- r -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x73.html b/doc/api/namespacemembers_func_0x73.html deleted file mode 100644 index 23081c32..00000000 --- a/doc/api/namespacemembers_func_0x73.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- s -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x74.html b/doc/api/namespacemembers_func_0x74.html deleted file mode 100644 index 9c98b0bd..00000000 --- a/doc/api/namespacemembers_func_0x74.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- t -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x75.html b/doc/api/namespacemembers_func_0x75.html deleted file mode 100644 index a9d16776..00000000 --- a/doc/api/namespacemembers_func_0x75.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- u -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x76.html b/doc/api/namespacemembers_func_0x76.html deleted file mode 100644 index bb195a09..00000000 --- a/doc/api/namespacemembers_func_0x76.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- v -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x79.html b/doc/api/namespacemembers_func_0x79.html deleted file mode 100644 index f1b60bc7..00000000 --- a/doc/api/namespacemembers_func_0x79.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- y -

-
- - - - diff --git a/doc/api/namespacemembers_func_0x7a.html b/doc/api/namespacemembers_func_0x7a.html deleted file mode 100644 index 084040a0..00000000 --- a/doc/api/namespacemembers_func_0x7a.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- z -

-
- - - - diff --git a/doc/api/namespacemembers_type.html b/doc/api/namespacemembers_type.html deleted file mode 100644 index 1ea6fb44..00000000 --- a/doc/api/namespacemembers_type.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- b -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x64.html b/doc/api/namespacemembers_type_0x64.html deleted file mode 100644 index 7eddbe8e..00000000 --- a/doc/api/namespacemembers_type_0x64.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- d -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x66.html b/doc/api/namespacemembers_type_0x66.html deleted file mode 100644 index 31cc8f8d..00000000 --- a/doc/api/namespacemembers_type_0x66.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- f -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x68.html b/doc/api/namespacemembers_type_0x68.html deleted file mode 100644 index fe6c6d13..00000000 --- a/doc/api/namespacemembers_type_0x68.html +++ /dev/null @@ -1,646 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- h -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x69.html b/doc/api/namespacemembers_type_0x69.html deleted file mode 100644 index fedd19b7..00000000 --- a/doc/api/namespacemembers_type_0x69.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- i -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x6c.html b/doc/api/namespacemembers_type_0x6c.html deleted file mode 100644 index 659a4e01..00000000 --- a/doc/api/namespacemembers_type_0x6c.html +++ /dev/null @@ -1,646 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- l -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x6d.html b/doc/api/namespacemembers_type_0x6d.html deleted file mode 100644 index 4c0e3f8b..00000000 --- a/doc/api/namespacemembers_type_0x6d.html +++ /dev/null @@ -1,682 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- m -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x71.html b/doc/api/namespacemembers_type_0x71.html deleted file mode 100644 index 43a34e84..00000000 --- a/doc/api/namespacemembers_type_0x71.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- q -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x73.html b/doc/api/namespacemembers_type_0x73.html deleted file mode 100644 index 188b7248..00000000 --- a/doc/api/namespacemembers_type_0x73.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- s -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x75.html b/doc/api/namespacemembers_type_0x75.html deleted file mode 100644 index 9bb5d7ea..00000000 --- a/doc/api/namespacemembers_type_0x75.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- u -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x76.html b/doc/api/namespacemembers_type_0x76.html deleted file mode 100644 index 5b4d15f1..00000000 --- a/doc/api/namespacemembers_type_0x76.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- v -

-
- - - - diff --git a/doc/api/namespacemembers_type_0x77.html b/doc/api/namespacemembers_type_0x77.html deleted file mode 100644 index c3d11953..00000000 --- a/doc/api/namespacemembers_type_0x77.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -GLM: Namespace Members - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - - - -
-
-  - -

- w -

-
- - - - diff --git a/doc/api/namespaces.html b/doc/api/namespaces.html deleted file mode 100644 index 79a5cccf..00000000 --- a/doc/api/namespaces.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - -GLM: Namespace List - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - - -
-
-
-
Namespace List
-
-
-
Here is a list of all documented namespaces with brief descriptions:
- - -
\NglmOpenGL Mathematics (glm.g-truc.net)
-
-
- - - - diff --git a/doc/api/pages.html b/doc/api/pages.html deleted file mode 100644 index 01070273..00000000 --- a/doc/api/pages.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -GLM: Related Pages - - - - - - -
-
- - - - - - -
-
GLM -  0.9.5 -
-
-
- - - -
-
-
-
Related Pages
-
-
-
Here is a list of all related documentation pages:
-
- - - -