| 0.9.9 API documenation

- Main Page
- Modules
- Files

- File List

qualifier.hpp
Go to the documentation of this file.
1
4 #pragma once
5
6 #include "setup.hpp"
7
8 namespace glm
9 {
11 enum qualifier
12 {
13 packed_highp,
14 packed_mediump,
15 packed_lowp,
16
17 # if GLM_HAS_ALIGNED_TYPE
18 aligned_highp,
19 aligned_mediump,
20 aligned_lowp, // ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs to maximize performance
21 aligned = aligned_highp,
22 # endif
23
24 highp = packed_highp,
25 mediump = packed_mediump,
26 lowp = packed_lowp,
27 packed = packed_highp,
28
29 # if GLM_HAS_ALIGNED_TYPE && defined(GLM_FORCE_ALIGNED)
30 defaultp = aligned_highp
31 # else
32 defaultp = highp
33 # endif
34 };
35
36 template<length_t L, typename T, qualifier Q = defaultp> struct vec;
37 template<length_t C, length_t R, typename T, qualifier Q = defaultp> struct mat;
38
39 namespace detail
40 {
41 template<glm::qualifier P>
42 struct is_aligned
43 {
44 static const bool value = false;
45 };
46
47 # if GLM_HAS_ALIGNED_TYPE
48 template<>
49 struct is_aligned<glm::aligned_lowp>
50 {
51 static const bool value = true;
52 };
53
54 template<>
55 struct is_aligned<glm::aligned_mediump>
56 {
57 static const bool value = true;
58 };
59
60 template<>
61 struct is_aligned<glm::aligned_highp>
62 {
63 static const bool value = true;
64 };
65 # endif
66 }//namespace detail
67 }//namespace glm
glm
Definition: common.hpp:20
setup.hpp
Core features