| 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 typedef qualifier precision;
37
38 template<length_t L, typename T, qualifier Q = defaultp> struct vec;
39 template<length_t C, length_t R, typename T, qualifier Q = defaultp> struct mat;
40
41 namespace detail
42 {
43 template<glm::qualifier P>
44 struct is_aligned
45 {
46 static const bool value = false;
47 };
48
49 # if GLM_HAS_ALIGNED_TYPE
50 template<>
51 struct is_aligned<glm::aligned_lowp>
52 {
53 static const bool value = true;
54 };
55
56 template<>
57 struct is_aligned<glm::aligned_mediump>
58 {
59 static const bool value = true;
60 };
61
62 template<>
63 struct is_aligned<glm::aligned_highp>
64 {
65 static const bool value = true;
66 };
67 # endif
68 }//namespace detail
69 }//namespace glm
glm
Definition: common.hpp:20
setup.hpp
Core features