master
ブランチ master
ShaderPlayground / deps / glm / glm / gtc / matrix_integer.hpp
14.2 KB、487行 生 Blame 履歴
1/// @ref gtc_matrix_integer
2/// @file glm/gtc/matrix_integer.hpp
3///
4/// @see core (dependence)
5///
6/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
7/// @ingroup gtc
8///
9/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
10///
11/// Defines a number of matrices with integer types.
12
13#pragma once
14
15// Dependency:
16#include "../mat2x2.hpp"
17#include "../mat2x3.hpp"
18#include "../mat2x4.hpp"
19#include "../mat3x2.hpp"
20#include "../mat3x3.hpp"
21#include "../mat3x4.hpp"
22#include "../mat4x2.hpp"
23#include "../mat4x3.hpp"
24#include "../mat4x4.hpp"
25
26#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
27# pragma message("GLM: GLM_GTC_matrix_integer extension included")
28#endif
29
30namespace glm
31{
32 /// @addtogroup gtc_matrix_integer
33 /// @{
34
35 /// High-qualifier signed integer 2x2 matrix.
36 /// @see gtc_matrix_integer
37 typedef mat<2, 2, int, highp> highp_imat2;
38
39 /// High-qualifier signed integer 3x3 matrix.
40 /// @see gtc_matrix_integer
41 typedef mat<3, 3, int, highp> highp_imat3;
42
43 /// High-qualifier signed integer 4x4 matrix.
44 /// @see gtc_matrix_integer
45 typedef mat<4, 4, int, highp> highp_imat4;
46
47 /// High-qualifier signed integer 2x2 matrix.
48 /// @see gtc_matrix_integer
49 typedef mat<2, 2, int, highp> highp_imat2x2;
50
51 /// High-qualifier signed integer 2x3 matrix.
52 /// @see gtc_matrix_integer
53 typedef mat<2, 3, int, highp> highp_imat2x3;
54
55 /// High-qualifier signed integer 2x4 matrix.
56 /// @see gtc_matrix_integer
57 typedef mat<2, 4, int, highp> highp_imat2x4;
58
59 /// High-qualifier signed integer 3x2 matrix.
60 /// @see gtc_matrix_integer
61 typedef mat<3, 2, int, highp> highp_imat3x2;
62
63 /// High-qualifier signed integer 3x3 matrix.
64 /// @see gtc_matrix_integer
65 typedef mat<3, 3, int, highp> highp_imat3x3;
66
67 /// High-qualifier signed integer 3x4 matrix.
68 /// @see gtc_matrix_integer
69 typedef mat<3, 4, int, highp> highp_imat3x4;
70
71 /// High-qualifier signed integer 4x2 matrix.
72 /// @see gtc_matrix_integer
73 typedef mat<4, 2, int, highp> highp_imat4x2;
74
75 /// High-qualifier signed integer 4x3 matrix.
76 /// @see gtc_matrix_integer
77 typedef mat<4, 3, int, highp> highp_imat4x3;
78
79 /// High-qualifier signed integer 4x4 matrix.
80 /// @see gtc_matrix_integer
81 typedef mat<4, 4, int, highp> highp_imat4x4;
82
83
84 /// Medium-qualifier signed integer 2x2 matrix.
85 /// @see gtc_matrix_integer
86 typedef mat<2, 2, int, mediump> mediump_imat2;
87
88 /// Medium-qualifier signed integer 3x3 matrix.
89 /// @see gtc_matrix_integer
90 typedef mat<3, 3, int, mediump> mediump_imat3;
91
92 /// Medium-qualifier signed integer 4x4 matrix.
93 /// @see gtc_matrix_integer
94 typedef mat<4, 4, int, mediump> mediump_imat4;
95
96
97 /// Medium-qualifier signed integer 2x2 matrix.
98 /// @see gtc_matrix_integer
99 typedef mat<2, 2, int, mediump> mediump_imat2x2;
100
101 /// Medium-qualifier signed integer 2x3 matrix.
102 /// @see gtc_matrix_integer
103 typedef mat<2, 3, int, mediump> mediump_imat2x3;
104
105 /// Medium-qualifier signed integer 2x4 matrix.
106 /// @see gtc_matrix_integer
107 typedef mat<2, 4, int, mediump> mediump_imat2x4;
108
109 /// Medium-qualifier signed integer 3x2 matrix.
110 /// @see gtc_matrix_integer
111 typedef mat<3, 2, int, mediump> mediump_imat3x2;
112
113 /// Medium-qualifier signed integer 3x3 matrix.
114 /// @see gtc_matrix_integer
115 typedef mat<3, 3, int, mediump> mediump_imat3x3;
116
117 /// Medium-qualifier signed integer 3x4 matrix.
118 /// @see gtc_matrix_integer
119 typedef mat<3, 4, int, mediump> mediump_imat3x4;
120
121 /// Medium-qualifier signed integer 4x2 matrix.
122 /// @see gtc_matrix_integer
123 typedef mat<4, 2, int, mediump> mediump_imat4x2;
124
125 /// Medium-qualifier signed integer 4x3 matrix.
126 /// @see gtc_matrix_integer
127 typedef mat<4, 3, int, mediump> mediump_imat4x3;
128
129 /// Medium-qualifier signed integer 4x4 matrix.
130 /// @see gtc_matrix_integer
131 typedef mat<4, 4, int, mediump> mediump_imat4x4;
132
133
134 /// Low-qualifier signed integer 2x2 matrix.
135 /// @see gtc_matrix_integer
136 typedef mat<2, 2, int, lowp> lowp_imat2;
137
138 /// Low-qualifier signed integer 3x3 matrix.
139 /// @see gtc_matrix_integer
140 typedef mat<3, 3, int, lowp> lowp_imat3;
141
142 /// Low-qualifier signed integer 4x4 matrix.
143 /// @see gtc_matrix_integer
144 typedef mat<4, 4, int, lowp> lowp_imat4;
145
146
147 /// Low-qualifier signed integer 2x2 matrix.
148 /// @see gtc_matrix_integer
149 typedef mat<2, 2, int, lowp> lowp_imat2x2;
150
151 /// Low-qualifier signed integer 2x3 matrix.
152 /// @see gtc_matrix_integer
153 typedef mat<2, 3, int, lowp> lowp_imat2x3;
154
155 /// Low-qualifier signed integer 2x4 matrix.
156 /// @see gtc_matrix_integer
157 typedef mat<2, 4, int, lowp> lowp_imat2x4;
158
159 /// Low-qualifier signed integer 3x2 matrix.
160 /// @see gtc_matrix_integer
161 typedef mat<3, 2, int, lowp> lowp_imat3x2;
162
163 /// Low-qualifier signed integer 3x3 matrix.
164 /// @see gtc_matrix_integer
165 typedef mat<3, 3, int, lowp> lowp_imat3x3;
166
167 /// Low-qualifier signed integer 3x4 matrix.
168 /// @see gtc_matrix_integer
169 typedef mat<3, 4, int, lowp> lowp_imat3x4;
170
171 /// Low-qualifier signed integer 4x2 matrix.
172 /// @see gtc_matrix_integer
173 typedef mat<4, 2, int, lowp> lowp_imat4x2;
174
175 /// Low-qualifier signed integer 4x3 matrix.
176 /// @see gtc_matrix_integer
177 typedef mat<4, 3, int, lowp> lowp_imat4x3;
178
179 /// Low-qualifier signed integer 4x4 matrix.
180 /// @see gtc_matrix_integer
181 typedef mat<4, 4, int, lowp> lowp_imat4x4;
182
183
184 /// High-qualifier unsigned integer 2x2 matrix.
185 /// @see gtc_matrix_integer
186 typedef mat<2, 2, uint, highp> highp_umat2;
187
188 /// High-qualifier unsigned integer 3x3 matrix.
189 /// @see gtc_matrix_integer
190 typedef mat<3, 3, uint, highp> highp_umat3;
191
192 /// High-qualifier unsigned integer 4x4 matrix.
193 /// @see gtc_matrix_integer
194 typedef mat<4, 4, uint, highp> highp_umat4;
195
196 /// High-qualifier unsigned integer 2x2 matrix.
197 /// @see gtc_matrix_integer
198 typedef mat<2, 2, uint, highp> highp_umat2x2;
199
200 /// High-qualifier unsigned integer 2x3 matrix.
201 /// @see gtc_matrix_integer
202 typedef mat<2, 3, uint, highp> highp_umat2x3;
203
204 /// High-qualifier unsigned integer 2x4 matrix.
205 /// @see gtc_matrix_integer
206 typedef mat<2, 4, uint, highp> highp_umat2x4;
207
208 /// High-qualifier unsigned integer 3x2 matrix.
209 /// @see gtc_matrix_integer
210 typedef mat<3, 2, uint, highp> highp_umat3x2;
211
212 /// High-qualifier unsigned integer 3x3 matrix.
213 /// @see gtc_matrix_integer
214 typedef mat<3, 3, uint, highp> highp_umat3x3;
215
216 /// High-qualifier unsigned integer 3x4 matrix.
217 /// @see gtc_matrix_integer
218 typedef mat<3, 4, uint, highp> highp_umat3x4;
219
220 /// High-qualifier unsigned integer 4x2 matrix.
221 /// @see gtc_matrix_integer
222 typedef mat<4, 2, uint, highp> highp_umat4x2;
223
224 /// High-qualifier unsigned integer 4x3 matrix.
225 /// @see gtc_matrix_integer
226 typedef mat<4, 3, uint, highp> highp_umat4x3;
227
228 /// High-qualifier unsigned integer 4x4 matrix.
229 /// @see gtc_matrix_integer
230 typedef mat<4, 4, uint, highp> highp_umat4x4;
231
232
233 /// Medium-qualifier unsigned integer 2x2 matrix.
234 /// @see gtc_matrix_integer
235 typedef mat<2, 2, uint, mediump> mediump_umat2;
236
237 /// Medium-qualifier unsigned integer 3x3 matrix.
238 /// @see gtc_matrix_integer
239 typedef mat<3, 3, uint, mediump> mediump_umat3;
240
241 /// Medium-qualifier unsigned integer 4x4 matrix.
242 /// @see gtc_matrix_integer
243 typedef mat<4, 4, uint, mediump> mediump_umat4;
244
245
246 /// Medium-qualifier unsigned integer 2x2 matrix.
247 /// @see gtc_matrix_integer
248 typedef mat<2, 2, uint, mediump> mediump_umat2x2;
249
250 /// Medium-qualifier unsigned integer 2x3 matrix.
251 /// @see gtc_matrix_integer
252 typedef mat<2, 3, uint, mediump> mediump_umat2x3;
253
254 /// Medium-qualifier unsigned integer 2x4 matrix.
255 /// @see gtc_matrix_integer
256 typedef mat<2, 4, uint, mediump> mediump_umat2x4;
257
258 /// Medium-qualifier unsigned integer 3x2 matrix.
259 /// @see gtc_matrix_integer
260 typedef mat<3, 2, uint, mediump> mediump_umat3x2;
261
262 /// Medium-qualifier unsigned integer 3x3 matrix.
263 /// @see gtc_matrix_integer
264 typedef mat<3, 3, uint, mediump> mediump_umat3x3;
265
266 /// Medium-qualifier unsigned integer 3x4 matrix.
267 /// @see gtc_matrix_integer
268 typedef mat<3, 4, uint, mediump> mediump_umat3x4;
269
270 /// Medium-qualifier unsigned integer 4x2 matrix.
271 /// @see gtc_matrix_integer
272 typedef mat<4, 2, uint, mediump> mediump_umat4x2;
273
274 /// Medium-qualifier unsigned integer 4x3 matrix.
275 /// @see gtc_matrix_integer
276 typedef mat<4, 3, uint, mediump> mediump_umat4x3;
277
278 /// Medium-qualifier unsigned integer 4x4 matrix.
279 /// @see gtc_matrix_integer
280 typedef mat<4, 4, uint, mediump> mediump_umat4x4;
281
282
283 /// Low-qualifier unsigned integer 2x2 matrix.
284 /// @see gtc_matrix_integer
285 typedef mat<2, 2, uint, lowp> lowp_umat2;
286
287 /// Low-qualifier unsigned integer 3x3 matrix.
288 /// @see gtc_matrix_integer
289 typedef mat<3, 3, uint, lowp> lowp_umat3;
290
291 /// Low-qualifier unsigned integer 4x4 matrix.
292 /// @see gtc_matrix_integer
293 typedef mat<4, 4, uint, lowp> lowp_umat4;
294
295
296 /// Low-qualifier unsigned integer 2x2 matrix.
297 /// @see gtc_matrix_integer
298 typedef mat<2, 2, uint, lowp> lowp_umat2x2;
299
300 /// Low-qualifier unsigned integer 2x3 matrix.
301 /// @see gtc_matrix_integer
302 typedef mat<2, 3, uint, lowp> lowp_umat2x3;
303
304 /// Low-qualifier unsigned integer 2x4 matrix.
305 /// @see gtc_matrix_integer
306 typedef mat<2, 4, uint, lowp> lowp_umat2x4;
307
308 /// Low-qualifier unsigned integer 3x2 matrix.
309 /// @see gtc_matrix_integer
310 typedef mat<3, 2, uint, lowp> lowp_umat3x2;
311
312 /// Low-qualifier unsigned integer 3x3 matrix.
313 /// @see gtc_matrix_integer
314 typedef mat<3, 3, uint, lowp> lowp_umat3x3;
315
316 /// Low-qualifier unsigned integer 3x4 matrix.
317 /// @see gtc_matrix_integer
318 typedef mat<3, 4, uint, lowp> lowp_umat3x4;
319
320 /// Low-qualifier unsigned integer 4x2 matrix.
321 /// @see gtc_matrix_integer
322 typedef mat<4, 2, uint, lowp> lowp_umat4x2;
323
324 /// Low-qualifier unsigned integer 4x3 matrix.
325 /// @see gtc_matrix_integer
326 typedef mat<4, 3, uint, lowp> lowp_umat4x3;
327
328 /// Low-qualifier unsigned integer 4x4 matrix.
329 /// @see gtc_matrix_integer
330 typedef mat<4, 4, uint, lowp> lowp_umat4x4;
331
332#if(defined(GLM_PRECISION_HIGHP_INT))
333 typedef highp_imat2 imat2;
334 typedef highp_imat3 imat3;
335 typedef highp_imat4 imat4;
336 typedef highp_imat2x2 imat2x2;
337 typedef highp_imat2x3 imat2x3;
338 typedef highp_imat2x4 imat2x4;
339 typedef highp_imat3x2 imat3x2;
340 typedef highp_imat3x3 imat3x3;
341 typedef highp_imat3x4 imat3x4;
342 typedef highp_imat4x2 imat4x2;
343 typedef highp_imat4x3 imat4x3;
344 typedef highp_imat4x4 imat4x4;
345#elif(defined(GLM_PRECISION_LOWP_INT))
346 typedef lowp_imat2 imat2;
347 typedef lowp_imat3 imat3;
348 typedef lowp_imat4 imat4;
349 typedef lowp_imat2x2 imat2x2;
350 typedef lowp_imat2x3 imat2x3;
351 typedef lowp_imat2x4 imat2x4;
352 typedef lowp_imat3x2 imat3x2;
353 typedef lowp_imat3x3 imat3x3;
354 typedef lowp_imat3x4 imat3x4;
355 typedef lowp_imat4x2 imat4x2;
356 typedef lowp_imat4x3 imat4x3;
357 typedef lowp_imat4x4 imat4x4;
358#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
359
360 /// Signed integer 2x2 matrix.
361 /// @see gtc_matrix_integer
362 typedef mediump_imat2 imat2;
363
364 /// Signed integer 3x3 matrix.
365 /// @see gtc_matrix_integer
366 typedef mediump_imat3 imat3;
367
368 /// Signed integer 4x4 matrix.
369 /// @see gtc_matrix_integer
370 typedef mediump_imat4 imat4;
371
372 /// Signed integer 2x2 matrix.
373 /// @see gtc_matrix_integer
374 typedef mediump_imat2x2 imat2x2;
375
376 /// Signed integer 2x3 matrix.
377 /// @see gtc_matrix_integer
378 typedef mediump_imat2x3 imat2x3;
379
380 /// Signed integer 2x4 matrix.
381 /// @see gtc_matrix_integer
382 typedef mediump_imat2x4 imat2x4;
383
384 /// Signed integer 3x2 matrix.
385 /// @see gtc_matrix_integer
386 typedef mediump_imat3x2 imat3x2;
387
388 /// Signed integer 3x3 matrix.
389 /// @see gtc_matrix_integer
390 typedef mediump_imat3x3 imat3x3;
391
392 /// Signed integer 3x4 matrix.
393 /// @see gtc_matrix_integer
394 typedef mediump_imat3x4 imat3x4;
395
396 /// Signed integer 4x2 matrix.
397 /// @see gtc_matrix_integer
398 typedef mediump_imat4x2 imat4x2;
399
400 /// Signed integer 4x3 matrix.
401 /// @see gtc_matrix_integer
402 typedef mediump_imat4x3 imat4x3;
403
404 /// Signed integer 4x4 matrix.
405 /// @see gtc_matrix_integer
406 typedef mediump_imat4x4 imat4x4;
407#endif//GLM_PRECISION
408
409#if(defined(GLM_PRECISION_HIGHP_UINT))
410 typedef highp_umat2 umat2;
411 typedef highp_umat3 umat3;
412 typedef highp_umat4 umat4;
413 typedef highp_umat2x2 umat2x2;
414 typedef highp_umat2x3 umat2x3;
415 typedef highp_umat2x4 umat2x4;
416 typedef highp_umat3x2 umat3x2;
417 typedef highp_umat3x3 umat3x3;
418 typedef highp_umat3x4 umat3x4;
419 typedef highp_umat4x2 umat4x2;
420 typedef highp_umat4x3 umat4x3;
421 typedef highp_umat4x4 umat4x4;
422#elif(defined(GLM_PRECISION_LOWP_UINT))
423 typedef lowp_umat2 umat2;
424 typedef lowp_umat3 umat3;
425 typedef lowp_umat4 umat4;
426 typedef lowp_umat2x2 umat2x2;
427 typedef lowp_umat2x3 umat2x3;
428 typedef lowp_umat2x4 umat2x4;
429 typedef lowp_umat3x2 umat3x2;
430 typedef lowp_umat3x3 umat3x3;
431 typedef lowp_umat3x4 umat3x4;
432 typedef lowp_umat4x2 umat4x2;
433 typedef lowp_umat4x3 umat4x3;
434 typedef lowp_umat4x4 umat4x4;
435#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
436
437 /// Unsigned integer 2x2 matrix.
438 /// @see gtc_matrix_integer
439 typedef mediump_umat2 umat2;
440
441 /// Unsigned integer 3x3 matrix.
442 /// @see gtc_matrix_integer
443 typedef mediump_umat3 umat3;
444
445 /// Unsigned integer 4x4 matrix.
446 /// @see gtc_matrix_integer
447 typedef mediump_umat4 umat4;
448
449 /// Unsigned integer 2x2 matrix.
450 /// @see gtc_matrix_integer
451 typedef mediump_umat2x2 umat2x2;
452
453 /// Unsigned integer 2x3 matrix.
454 /// @see gtc_matrix_integer
455 typedef mediump_umat2x3 umat2x3;
456
457 /// Unsigned integer 2x4 matrix.
458 /// @see gtc_matrix_integer
459 typedef mediump_umat2x4 umat2x4;
460
461 /// Unsigned integer 3x2 matrix.
462 /// @see gtc_matrix_integer
463 typedef mediump_umat3x2 umat3x2;
464
465 /// Unsigned integer 3x3 matrix.
466 /// @see gtc_matrix_integer
467 typedef mediump_umat3x3 umat3x3;
468
469 /// Unsigned integer 3x4 matrix.
470 /// @see gtc_matrix_integer
471 typedef mediump_umat3x4 umat3x4;
472
473 /// Unsigned integer 4x2 matrix.
474 /// @see gtc_matrix_integer
475 typedef mediump_umat4x2 umat4x2;
476
477 /// Unsigned integer 4x3 matrix.
478 /// @see gtc_matrix_integer
479 typedef mediump_umat4x3 umat4x3;
480
481 /// Unsigned integer 4x4 matrix.
482 /// @see gtc_matrix_integer
483 typedef mediump_umat4x4 umat4x4;
484#endif//GLM_PRECISION
485
486 /// @}
487}//namespace glm