- Main Page
- Related Pages
- Modules
- Files

- File List

type.hpp
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #ifndef glm_core_type
30 #define glm_core_type
31
32 #include "type_half.hpp"
33 #include "type_float.hpp"
34 #include "type_int.hpp"
35
36 #include "type_gentype.hpp"
37
38 #include "type_vec1.hpp"
39 #include "type_vec2.hpp"
40 #include "type_vec3.hpp"
41 #include "type_vec4.hpp"
42
43 #include "type_mat2x2.hpp"
44 #include "type_mat2x3.hpp"
45 #include "type_mat2x4.hpp"
46 #include "type_mat3x2.hpp"
47 #include "type_mat3x3.hpp"
48 #include "type_mat3x4.hpp"
49 #include "type_mat4x2.hpp"
50 #include "type_mat4x3.hpp"
51 #include "type_mat4x4.hpp"
52
53 namespace glm
54 {
57
59 // Float definition
60
61 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
62 typedef highp_vec2 vec2;
63 typedef highp_vec3 vec3;
64 typedef highp_vec4 vec4;
65 typedef highp_mat2x2 mat2x2;
66 typedef highp_mat2x3 mat2x3;
67 typedef highp_mat2x4 mat2x4;
68 typedef highp_mat3x2 mat3x2;
69 typedef highp_mat3x3 mat3x3;
70 typedef highp_mat3x4 mat3x4;
71 typedef highp_mat4x2 mat4x2;
72 typedef highp_mat4x3 mat4x3;
73 typedef highp_mat4x4 mat4x4;
74 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
75 typedef mediump_vec2 vec2;
76 typedef mediump_vec3 vec3;
77 typedef mediump_vec4 vec4;
78 typedef mediump_mat2x2 mat2x2;
79 typedef mediump_mat2x3 mat2x3;
80 typedef mediump_mat2x4 mat2x4;
81 typedef mediump_mat3x2 mat3x2;
82 typedef mediump_mat3x3 mat3x3;
83 typedef mediump_mat3x4 mat3x4;
84 typedef mediump_mat4x2 mat4x2;
85 typedef mediump_mat4x3 mat4x3;
86 typedef mediump_mat4x4 mat4x4;
87 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
88 typedef lowp_vec2 vec2;
89 typedef lowp_vec3 vec3;
90 typedef lowp_vec4 vec4;
91 typedef lowp_mat2x2 mat2x2;
92 typedef lowp_mat2x3 mat2x3;
93 typedef lowp_mat2x4 mat2x4;
94 typedef lowp_mat3x2 mat3x2;
95 typedef lowp_mat3x3 mat3x3;
96 typedef lowp_mat3x4 mat3x4;
97 typedef lowp_mat4x2 mat4x2;
98 typedef lowp_mat4x3 mat4x3;
99 typedef lowp_mat4x4 mat4x4;
100 #else
101
102
103
104 typedef mediump_vec2 vec2;
105
109 typedef mediump_vec3 vec3;
110
114 typedef mediump_vec4 vec4;
115
119 typedef mediump_mat2x2 mat2x2;
120
124 typedef mediump_mat2x3 mat2x3;
125
129 typedef mediump_mat2x4 mat2x4;
130
134 typedef mediump_mat3x2 mat3x2;
135
139 typedef mediump_mat3x3 mat3x3;
140
144 typedef mediump_mat3x4 mat3x4;
145
149 typedef mediump_mat4x2 mat4x2;
150
154 typedef mediump_mat4x3 mat4x3;
155
159 typedef mediump_mat4x4 mat4x4;
160
161 #endif//GLM_PRECISION
162
166 typedef mat2x2 mat2;
167
171 typedef mat3x3 mat3;
172
176 typedef mat4x4 mat4;
177
179 // Signed integer definition
180
181 #if(defined(GLM_PRECISION_HIGHP_INT))
182 typedef highp_ivec2 ivec2;
183 typedef highp_ivec3 ivec3;
184 typedef highp_ivec4 ivec4;
185 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
186 typedef mediump_ivec2 ivec2;
187 typedef mediump_ivec3 ivec3;
188 typedef mediump_ivec4 ivec4;
189 #elif(defined(GLM_PRECISION_LOWP_INT))
190 typedef lowp_ivec2 ivec2;
191 typedef lowp_ivec3 ivec3;
192 typedef lowp_ivec4 ivec4;
193 #else
194
195
196
197 typedef mediump_ivec2 ivec2;
198
202 typedef mediump_ivec3 ivec3;
203
207 typedef mediump_ivec4 ivec4;
208 #endif//GLM_PRECISION
209
211 // Unsigned integer definition
212
213 #if(defined(GLM_PRECISION_HIGHP_UINT))
214 typedef highp_uvec2 uvec2;
215 typedef highp_uvec3 uvec3;
216 typedef highp_uvec4 uvec4;
217 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
218 typedef mediump_uvec2 uvec2;
219 typedef mediump_uvec3 uvec3;
220 typedef mediump_uvec4 uvec4;
221 #elif(defined(GLM_PRECISION_LOWP_UINT))
222 typedef lowp_uvec2 uvec2;
223 typedef lowp_uvec3 uvec3;
224 typedef lowp_uvec4 uvec4;
225 #else
226
227
228
229 typedef mediump_uvec2 uvec2;
230
234 typedef mediump_uvec3 uvec3;
235
239 typedef mediump_uvec4 uvec4;
240 #endif//GLM_PRECISION
241
243 // Boolean definition
244
248 typedef detail::tvec2<bool> bvec2;
249
253 typedef detail::tvec3<bool> bvec3;
254
258 typedef detail::tvec4<bool> bvec4;
259
261 // Double definition
262
266 typedef detail::tvec2<double> dvec2;
267
271 typedef detail::tvec3<double> dvec3;
272
276 typedef detail::tvec4<double> dvec4;
277
281 typedef detail::tmat2x2<double> dmat2;
282
286 typedef detail::tmat3x3<double> dmat3;
287
291 typedef detail::tmat4x4<double> dmat4;
292
296 typedef detail::tmat2x2<double> dmat2x2;
297
301 typedef detail::tmat2x3<double> dmat2x3;
302
306 typedef detail::tmat2x4<double> dmat2x4;
307
311 typedef detail::tmat3x2<double> dmat3x2;
312
316 typedef detail::tmat3x3<double> dmat3x3;
317
321 typedef detail::tmat3x4<double> dmat3x4;
322
326 typedef detail::tmat4x2<double> dmat4x2;
327
331 typedef detail::tmat4x3<double> dmat4x3;
332
336 typedef detail::tmat4x4<double> dmat4x4;
337
339 }//namespace glm
340
341 #endif//glm_core_type