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