• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 ///////////////////////////////////////////////////////////////////////////////////
2 /// OpenGL Mathematics (glm.g-truc.net)
3 ///
4 /// Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net)
5 /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 /// of this software and associated documentation files (the "Software"), to deal
7 /// in the Software without restriction, including without limitation the rights
8 /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 /// copies of the Software, and to permit persons to whom the Software is
10 /// furnished to do so, subject to the following conditions:
11 ///
12 /// The above copyright notice and this permission notice shall be included in
13 /// all copies or substantial portions of the Software.
14 ///
15 /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 /// THE SOFTWARE.
22 ///
23 /// @ref core
24 /// @file glm/glm.cpp
25 /// @date 2013-04-22 / 2013-04-22
26 /// @author Christophe Riccio
27 ///////////////////////////////////////////////////////////////////////////////////
28 
29 #include <glm/glm.hpp>
30 #include <glm/gtc/quaternion.hpp>
31 #include <glm/gtx/dual_quaternion.hpp>
32 
33 namespace glm{
34 namespace detail
35 {
36 // tvec1 type explicit instantiation
37 /*
38 template struct tvec1<uint8, lowp>;
39 template struct tvec1<uint16, lowp>;
40 template struct tvec1<uint32, lowp>;
41 template struct tvec1<uint64, lowp>;
42 template struct tvec1<int8, lowp>;
43 template struct tvec1<int16, lowp>;
44 template struct tvec1<int32, lowp>;
45 template struct tvec1<int64, lowp>;
46 template struct tvec1<float16, lowp>;
47 template struct tvec1<float32, lowp>;
48 template struct tvec1<float64, lowp>;
49 
50 template struct tvec1<uint8, mediump>;
51 template struct tvec1<uint16, mediump>;
52 template struct tvec1<uint32, mediump>;
53 template struct tvec1<uint64, mediump>;
54 template struct tvec1<int8, mediump>;
55 template struct tvec1<int16, mediump>;
56 template struct tvec1<int32, mediump>;
57 template struct tvec1<int64, mediump>;
58 template struct tvec1<float16, mediump>;
59 template struct tvec1<float32, mediump>;
60 template struct tvec1<float64, mediump>;
61 
62 template struct tvec1<uint8, highp>;
63 template struct tvec1<uint16, highp>;
64 template struct tvec1<uint32, highp>;
65 template struct tvec1<uint64, highp>;
66 template struct tvec1<int8, highp>;
67 template struct tvec1<int16, highp>;
68 template struct tvec1<int32, highp>;
69 template struct tvec1<int64, highp>;
70 template struct tvec1<float16, highp>;
71 template struct tvec1<float32, highp>;
72 template struct tvec1<float64, highp>;
73 */
74 // tvec2 type explicit instantiation
75 template struct tvec2<uint8, lowp>;
76 template struct tvec2<uint16, lowp>;
77 template struct tvec2<uint32, lowp>;
78 template struct tvec2<uint64, lowp>;
79 template struct tvec2<int8, lowp>;
80 template struct tvec2<int16, lowp>;
81 template struct tvec2<int32, lowp>;
82 template struct tvec2<int64, lowp>;
83 template struct tvec2<float32, lowp>;
84 template struct tvec2<float64, lowp>;
85 
86 template struct tvec2<uint8, mediump>;
87 template struct tvec2<uint16, mediump>;
88 template struct tvec2<uint32, mediump>;
89 template struct tvec2<uint64, mediump>;
90 template struct tvec2<int8, mediump>;
91 template struct tvec2<int16, mediump>;
92 template struct tvec2<int32, mediump>;
93 template struct tvec2<int64, mediump>;
94 template struct tvec2<float32, mediump>;
95 template struct tvec2<float64, mediump>;
96 
97 template struct tvec2<uint8, highp>;
98 template struct tvec2<uint16, highp>;
99 template struct tvec2<uint32, highp>;
100 template struct tvec2<uint64, highp>;
101 template struct tvec2<int8, highp>;
102 template struct tvec2<int16, highp>;
103 template struct tvec2<int32, highp>;
104 template struct tvec2<int64, highp>;
105 template struct tvec2<float32, highp>;
106 template struct tvec2<float64, highp>;
107 
108 // tvec3 type explicit instantiation
109 template struct tvec3<uint8, lowp>;
110 template struct tvec3<uint16, lowp>;
111 template struct tvec3<uint32, lowp>;
112 template struct tvec3<uint64, lowp>;
113 template struct tvec3<int8, lowp>;
114 template struct tvec3<int16, lowp>;
115 template struct tvec3<int32, lowp>;
116 template struct tvec3<int64, lowp>;
117 template struct tvec3<float32, lowp>;
118 template struct tvec3<float64, lowp>;
119 
120 template struct tvec3<uint8, mediump>;
121 template struct tvec3<uint16, mediump>;
122 template struct tvec3<uint32, mediump>;
123 template struct tvec3<uint64, mediump>;
124 template struct tvec3<int8, mediump>;
125 template struct tvec3<int16, mediump>;
126 template struct tvec3<int32, mediump>;
127 template struct tvec3<int64, mediump>;
128 template struct tvec3<float32, mediump>;
129 template struct tvec3<float64, mediump>;
130 
131 template struct tvec3<uint8, highp>;
132 template struct tvec3<uint16, highp>;
133 template struct tvec3<uint32, highp>;
134 template struct tvec3<uint64, highp>;
135 template struct tvec3<int8, highp>;
136 template struct tvec3<int16, highp>;
137 template struct tvec3<int32, highp>;
138 template struct tvec3<int64, highp>;
139 template struct tvec3<float32, highp>;
140 template struct tvec3<float64, highp>;
141 
142 // tvec4 type explicit instantiation
143 template struct tvec4<uint8, lowp>;
144 template struct tvec4<uint16, lowp>;
145 template struct tvec4<uint32, lowp>;
146 template struct tvec4<uint64, lowp>;
147 template struct tvec4<int8, lowp>;
148 template struct tvec4<int16, lowp>;
149 template struct tvec4<int32, lowp>;
150 template struct tvec4<int64, lowp>;
151 template struct tvec4<float32, lowp>;
152 template struct tvec4<float64, lowp>;
153 
154 template struct tvec4<uint8, mediump>;
155 template struct tvec4<uint16, mediump>;
156 template struct tvec4<uint32, mediump>;
157 template struct tvec4<uint64, mediump>;
158 template struct tvec4<int8, mediump>;
159 template struct tvec4<int16, mediump>;
160 template struct tvec4<int32, mediump>;
161 template struct tvec4<int64, mediump>;
162 template struct tvec4<float32, mediump>;
163 template struct tvec4<float64, mediump>;
164 
165 template struct tvec4<uint8, highp>;
166 template struct tvec4<uint16, highp>;
167 template struct tvec4<uint32, highp>;
168 template struct tvec4<uint64, highp>;
169 template struct tvec4<int8, highp>;
170 template struct tvec4<int16, highp>;
171 template struct tvec4<int32, highp>;
172 template struct tvec4<int64, highp>;
173 template struct tvec4<float32, highp>;
174 template struct tvec4<float64, highp>;
175 
176 // tmat2x2 type explicit instantiation
177 template struct tmat2x2<float32, lowp>;
178 template struct tmat2x2<float64, lowp>;
179 
180 template struct tmat2x2<float32, mediump>;
181 template struct tmat2x2<float64, mediump>;
182 
183 template struct tmat2x2<float32, highp>;
184 template struct tmat2x2<float64, highp>;
185 
186 // tmat2x3 type explicit instantiation
187 template struct tmat2x3<float32, lowp>;
188 template struct tmat2x3<float64, lowp>;
189 
190 template struct tmat2x3<float32, mediump>;
191 template struct tmat2x3<float64, mediump>;
192 
193 template struct tmat2x3<float32, highp>;
194 template struct tmat2x3<float64, highp>;
195 
196 // tmat2x4 type explicit instantiation
197 template struct tmat2x4<float32, lowp>;
198 template struct tmat2x4<float64, lowp>;
199 
200 template struct tmat2x4<float32, mediump>;
201 template struct tmat2x4<float64, mediump>;
202 
203 template struct tmat2x4<float32, highp>;
204 template struct tmat2x4<float64, highp>;
205 
206 // tmat3x2 type explicit instantiation
207 template struct tmat3x2<float32, lowp>;
208 template struct tmat3x2<float64, lowp>;
209 
210 template struct tmat3x2<float32, mediump>;
211 template struct tmat3x2<float64, mediump>;
212 
213 template struct tmat3x2<float32, highp>;
214 template struct tmat3x2<float64, highp>;
215 
216 // tmat3x3 type explicit instantiation
217 template struct tmat3x3<float32, lowp>;
218 template struct tmat3x3<float64, lowp>;
219 
220 template struct tmat3x3<float32, mediump>;
221 template struct tmat3x3<float64, mediump>;
222 
223 template struct tmat3x3<float32, highp>;
224 template struct tmat3x3<float64, highp>;
225 
226 // tmat3x4 type explicit instantiation
227 template struct tmat3x4<float32, lowp>;
228 template struct tmat3x4<float64, lowp>;
229 
230 template struct tmat3x4<float32, mediump>;
231 template struct tmat3x4<float64, mediump>;
232 
233 template struct tmat3x4<float32, highp>;
234 template struct tmat3x4<float64, highp>;
235 
236 // tmat4x2 type explicit instantiation
237 template struct tmat4x2<float32, lowp>;
238 template struct tmat4x2<float64, lowp>;
239 
240 template struct tmat4x2<float32, mediump>;
241 template struct tmat4x2<float64, mediump>;
242 
243 template struct tmat4x2<float32, highp>;
244 template struct tmat4x2<float64, highp>;
245 
246 // tmat4x3 type explicit instantiation
247 template struct tmat4x3<float32, lowp>;
248 template struct tmat4x3<float64, lowp>;
249 
250 template struct tmat4x3<float32, mediump>;
251 template struct tmat4x3<float64, mediump>;
252 
253 template struct tmat4x3<float32, highp>;
254 template struct tmat4x3<float64, highp>;
255 
256 // tmat4x4 type explicit instantiation
257 template struct tmat4x4<float32, lowp>;
258 template struct tmat4x4<float64, lowp>;
259 
260 template struct tmat4x4<float32, mediump>;
261 template struct tmat4x4<float64, mediump>;
262 
263 template struct tmat4x4<float32, highp>;
264 template struct tmat4x4<float64, highp>;
265 
266 // tquat type explicit instantiation
267 template struct tquat<float32, lowp>;
268 template struct tquat<float64, lowp>;
269 
270 template struct tquat<float32, mediump>;
271 template struct tquat<float64, mediump>;
272 
273 template struct tquat<float32, highp>;
274 template struct tquat<float64, highp>;
275 
276 //tdualquat type explicit instantiation
277 template struct tdualquat<float32, lowp>;
278 template struct tdualquat<float64, lowp>;
279 
280 template struct tdualquat<float32, mediump>;
281 template struct tdualquat<float64, mediump>;
282 
283 template struct tdualquat<float32, highp>;
284 template struct tdualquat<float64, highp>;
285 
286 }//namespace detail
287 }//namespace glm
288 
289