1 /// @ref core
2 /// @file glm/glm.cpp
3 
4 #define GLM_ENABLE_EXPERIMENTAL
5 #include <glm/glm.hpp>
6 #include <glm/ext/vec1.hpp>
7 #include <glm/gtc/quaternion.hpp>
8 #include <glm/gtx/dual_quaternion.hpp>
9 
10 namespace glm
11 {
12 // tvec1 type explicit instantiation
13 template struct vec<1, uint8, lowp>;
14 template struct vec<1, uint16, lowp>;
15 template struct vec<1, uint32, lowp>;
16 template struct vec<1, uint64, lowp>;
17 template struct vec<1, int8, lowp>;
18 template struct vec<1, int16, lowp>;
19 template struct vec<1, int32, lowp>;
20 template struct vec<1, int64, lowp>;
21 template struct vec<1, float32, lowp>;
22 template struct vec<1, float64, lowp>;
23 
24 template struct vec<1, uint8, mediump>;
25 template struct vec<1, uint16, mediump>;
26 template struct vec<1, uint32, mediump>;
27 template struct vec<1, uint64, mediump>;
28 template struct vec<1, int8, mediump>;
29 template struct vec<1, int16, mediump>;
30 template struct vec<1, int32, mediump>;
31 template struct vec<1, int64, mediump>;
32 template struct vec<1, float32, mediump>;
33 template struct vec<1, float64, mediump>;
34 
35 template struct vec<1, uint8, highp>;
36 template struct vec<1, uint16, highp>;
37 template struct vec<1, uint32, highp>;
38 template struct vec<1, uint64, highp>;
39 template struct vec<1, int8, highp>;
40 template struct vec<1, int16, highp>;
41 template struct vec<1, int32, highp>;
42 template struct vec<1, int64, highp>;
43 template struct vec<1, float32, highp>;
44 template struct vec<1, float64, highp>;
45 
46 // tvec2 type explicit instantiation
47 template struct vec<2, uint8, lowp>;
48 template struct vec<2, uint16, lowp>;
49 template struct vec<2, uint32, lowp>;
50 template struct vec<2, uint64, lowp>;
51 template struct vec<2, int8, lowp>;
52 template struct vec<2, int16, lowp>;
53 template struct vec<2, int32, lowp>;
54 template struct vec<2, int64, lowp>;
55 template struct vec<2, float32, lowp>;
56 template struct vec<2, float64, lowp>;
57 
58 template struct vec<2, uint8, mediump>;
59 template struct vec<2, uint16, mediump>;
60 template struct vec<2, uint32, mediump>;
61 template struct vec<2, uint64, mediump>;
62 template struct vec<2, int8, mediump>;
63 template struct vec<2, int16, mediump>;
64 template struct vec<2, int32, mediump>;
65 template struct vec<2, int64, mediump>;
66 template struct vec<2, float32, mediump>;
67 template struct vec<2, float64, mediump>;
68 
69 template struct vec<2, uint8, highp>;
70 template struct vec<2, uint16, highp>;
71 template struct vec<2, uint32, highp>;
72 template struct vec<2, uint64, highp>;
73 template struct vec<2, int8, highp>;
74 template struct vec<2, int16, highp>;
75 template struct vec<2, int32, highp>;
76 template struct vec<2, int64, highp>;
77 template struct vec<2, float32, highp>;
78 template struct vec<2, float64, highp>;
79 
80 // tvec3 type explicit instantiation
81 template struct vec<3, uint8, lowp>;
82 template struct vec<3, uint16, lowp>;
83 template struct vec<3, uint32, lowp>;
84 template struct vec<3, uint64, lowp>;
85 template struct vec<3, int8, lowp>;
86 template struct vec<3, int16, lowp>;
87 template struct vec<3, int32, lowp>;
88 template struct vec<3, int64, lowp>;
89 template struct vec<3, float32, lowp>;
90 template struct vec<3, float64, lowp>;
91 
92 template struct vec<3, uint8, mediump>;
93 template struct vec<3, uint16, mediump>;
94 template struct vec<3, uint32, mediump>;
95 template struct vec<3, uint64, mediump>;
96 template struct vec<3, int8, mediump>;
97 template struct vec<3, int16, mediump>;
98 template struct vec<3, int32, mediump>;
99 template struct vec<3, int64, mediump>;
100 template struct vec<3, float32, mediump>;
101 template struct vec<3, float64, mediump>;
102 
103 template struct vec<3, uint8, highp>;
104 template struct vec<3, uint16, highp>;
105 template struct vec<3, uint32, highp>;
106 template struct vec<3, uint64, highp>;
107 template struct vec<3, int8, highp>;
108 template struct vec<3, int16, highp>;
109 template struct vec<3, int32, highp>;
110 template struct vec<3, int64, highp>;
111 template struct vec<3, float32, highp>;
112 template struct vec<3, float64, highp>;
113 
114 // tvec4 type explicit instantiation
115 template struct vec<4, uint8, lowp>;
116 template struct vec<4, uint16, lowp>;
117 template struct vec<4, uint32, lowp>;
118 template struct vec<4, uint64, lowp>;
119 template struct vec<4, int8, lowp>;
120 template struct vec<4, int16, lowp>;
121 template struct vec<4, int32, lowp>;
122 template struct vec<4, int64, lowp>;
123 template struct vec<4, float32, lowp>;
124 template struct vec<4, float64, lowp>;
125 
126 template struct vec<4, uint8, mediump>;
127 template struct vec<4, uint16, mediump>;
128 template struct vec<4, uint32, mediump>;
129 template struct vec<4, uint64, mediump>;
130 template struct vec<4, int8, mediump>;
131 template struct vec<4, int16, mediump>;
132 template struct vec<4, int32, mediump>;
133 template struct vec<4, int64, mediump>;
134 template struct vec<4, float32, mediump>;
135 template struct vec<4, float64, mediump>;
136 
137 template struct vec<4, uint8, highp>;
138 template struct vec<4, uint16, highp>;
139 template struct vec<4, uint32, highp>;
140 template struct vec<4, uint64, highp>;
141 template struct vec<4, int8, highp>;
142 template struct vec<4, int16, highp>;
143 template struct vec<4, int32, highp>;
144 template struct vec<4, int64, highp>;
145 template struct vec<4, float32, highp>;
146 template struct vec<4, float64, highp>;
147 
148 // tmat2x2 type explicit instantiation
149 template struct mat<2, 2, float32, lowp>;
150 template struct mat<2, 2, float64, lowp>;
151 
152 template struct mat<2, 2, float32, mediump>;
153 template struct mat<2, 2, float64, mediump>;
154 
155 template struct mat<2, 2, float32, highp>;
156 template struct mat<2, 2, float64, highp>;
157 
158 // tmat2x3 type explicit instantiation
159 template struct mat<2, 3, float32, lowp>;
160 template struct mat<2, 3, float64, lowp>;
161 
162 template struct mat<2, 3, float32, mediump>;
163 template struct mat<2, 3, float64, mediump>;
164 
165 template struct mat<2, 3, float32, highp>;
166 template struct mat<2, 3, float64, highp>;
167 
168 // tmat2x4 type explicit instantiation
169 template struct mat<2, 4, float32, lowp>;
170 template struct mat<2, 4, float64, lowp>;
171 
172 template struct mat<2, 4, float32, mediump>;
173 template struct mat<2, 4, float64, mediump>;
174 
175 template struct mat<2, 4, float32, highp>;
176 template struct mat<2, 4, float64, highp>;
177 
178 // tmat3x2 type explicit instantiation
179 template struct mat<3, 2, float32, lowp>;
180 template struct mat<3, 2, float64, lowp>;
181 
182 template struct mat<3, 2, float32, mediump>;
183 template struct mat<3, 2, float64, mediump>;
184 
185 template struct mat<3, 2, float32, highp>;
186 template struct mat<3, 2, float64, highp>;
187 
188 // tmat3x3 type explicit instantiation
189 template struct mat<3, 3, float32, lowp>;
190 template struct mat<3, 3, float64, lowp>;
191 
192 template struct mat<3, 3, float32, mediump>;
193 template struct mat<3, 3, float64, mediump>;
194 
195 template struct mat<3, 3, float32, highp>;
196 template struct mat<3, 3, float64, highp>;
197 
198 // tmat3x4 type explicit instantiation
199 template struct mat<3, 4, float32, lowp>;
200 template struct mat<3, 4, float64, lowp>;
201 
202 template struct mat<3, 4, float32, mediump>;
203 template struct mat<3, 4, float64, mediump>;
204 
205 template struct mat<3, 4, float32, highp>;
206 template struct mat<3, 4, float64, highp>;
207 
208 // tmat4x2 type explicit instantiation
209 template struct mat<4, 2, float32, lowp>;
210 template struct mat<4, 2, float64, lowp>;
211 
212 template struct mat<4, 2, float32, mediump>;
213 template struct mat<4, 2, float64, mediump>;
214 
215 template struct mat<4, 2, float32, highp>;
216 template struct mat<4, 2, float64, highp>;
217 
218 // tmat4x3 type explicit instantiation
219 template struct mat<4, 3, float32, lowp>;
220 template struct mat<4, 3, float64, lowp>;
221 
222 template struct mat<4, 3, float32, mediump>;
223 template struct mat<4, 3, float64, mediump>;
224 
225 template struct mat<4, 3, float32, highp>;
226 template struct mat<4, 3, float64, highp>;
227 
228 // tmat4x4 type explicit instantiation
229 template struct mat<4, 4, float32, lowp>;
230 template struct mat<4, 4, float64, lowp>;
231 
232 template struct mat<4, 4, float32, mediump>;
233 template struct mat<4, 4, float64, mediump>;
234 
235 template struct mat<4, 4, float32, highp>;
236 template struct mat<4, 4, float64, highp>;
237 
238 // tquat type explicit instantiation
239 template struct tquat<float32, lowp>;
240 template struct tquat<float64, lowp>;
241 
242 template struct tquat<float32, mediump>;
243 template struct tquat<float64, mediump>;
244 
245 template struct tquat<float32, highp>;
246 template struct tquat<float64, highp>;
247 
248 //tdualquat type explicit instantiation
249 template struct tdualquat<float32, lowp>;
250 template struct tdualquat<float64, lowp>;
251 
252 template struct tdualquat<float32, mediump>;
253 template struct tdualquat<float64, mediump>;
254 
255 template struct tdualquat<float32, highp>;
256 template struct tdualquat<float64, highp>;
257 
258 }//namespace glm
259 
260