1 /// @ref gtc_type_precision 2 /// @file glm/gtc/type_precision.hpp 3 /// 4 /// @see core (dependence) 5 /// @see gtc_quaternion (dependence) 6 /// 7 /// @defgroup gtc_type_precision GLM_GTC_type_precision 8 /// @ingroup gtc 9 /// 10 /// Include <glm/gtc/type_precision.hpp> to use the features of this extension. 11 /// 12 /// Defines specific C++-based qualifier types. 13 14 #pragma once 15 16 // Dependency: 17 #include "../gtc/quaternion.hpp" 18 #include "../gtc/vec1.hpp" 19 #include "../ext/scalar_int_sized.hpp" 20 #include "../ext/scalar_uint_sized.hpp" 21 #include "../detail/type_vec2.hpp" 22 #include "../detail/type_vec3.hpp" 23 #include "../detail/type_vec4.hpp" 24 #include "../detail/type_mat2x2.hpp" 25 #include "../detail/type_mat2x3.hpp" 26 #include "../detail/type_mat2x4.hpp" 27 #include "../detail/type_mat3x2.hpp" 28 #include "../detail/type_mat3x3.hpp" 29 #include "../detail/type_mat3x4.hpp" 30 #include "../detail/type_mat4x2.hpp" 31 #include "../detail/type_mat4x3.hpp" 32 #include "../detail/type_mat4x4.hpp" 33 34 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 35 # pragma message("GLM: GLM_GTC_type_precision extension included") 36 #endif 37 38 namespace glm 39 { 40 /////////////////////////// 41 // Signed int vector types 42 43 /// @addtogroup gtc_type_precision 44 /// @{ 45 46 /// Low qualifier 8 bit signed integer type. 47 /// @see gtc_type_precision 48 typedef detail::int8 lowp_int8; 49 50 /// Low qualifier 16 bit signed integer type. 51 /// @see gtc_type_precision 52 typedef detail::int16 lowp_int16; 53 54 /// Low qualifier 32 bit signed integer type. 55 /// @see gtc_type_precision 56 typedef detail::int32 lowp_int32; 57 58 /// Low qualifier 64 bit signed integer type. 59 /// @see gtc_type_precision 60 typedef detail::int64 lowp_int64; 61 62 /// Low qualifier 8 bit signed integer type. 63 /// @see gtc_type_precision 64 typedef detail::int8 lowp_int8_t; 65 66 /// Low qualifier 16 bit signed integer type. 67 /// @see gtc_type_precision 68 typedef detail::int16 lowp_int16_t; 69 70 /// Low qualifier 32 bit signed integer type. 71 /// @see gtc_type_precision 72 typedef detail::int32 lowp_int32_t; 73 74 /// Low qualifier 64 bit signed integer type. 75 /// @see gtc_type_precision 76 typedef detail::int64 lowp_int64_t; 77 78 /// Low qualifier 8 bit signed integer type. 79 /// @see gtc_type_precision 80 typedef detail::int8 lowp_i8; 81 82 /// Low qualifier 16 bit signed integer type. 83 /// @see gtc_type_precision 84 typedef detail::int16 lowp_i16; 85 86 /// Low qualifier 32 bit signed integer type. 87 /// @see gtc_type_precision 88 typedef detail::int32 lowp_i32; 89 90 /// Low qualifier 64 bit signed integer type. 91 /// @see gtc_type_precision 92 typedef detail::int64 lowp_i64; 93 94 /// Medium qualifier 8 bit signed integer type. 95 /// @see gtc_type_precision 96 typedef detail::int8 mediump_int8; 97 98 /// Medium qualifier 16 bit signed integer type. 99 /// @see gtc_type_precision 100 typedef detail::int16 mediump_int16; 101 102 /// Medium qualifier 32 bit signed integer type. 103 /// @see gtc_type_precision 104 typedef detail::int32 mediump_int32; 105 106 /// Medium qualifier 64 bit signed integer type. 107 /// @see gtc_type_precision 108 typedef detail::int64 mediump_int64; 109 110 /// Medium qualifier 8 bit signed integer type. 111 /// @see gtc_type_precision 112 typedef detail::int8 mediump_int8_t; 113 114 /// Medium qualifier 16 bit signed integer type. 115 /// @see gtc_type_precision 116 typedef detail::int16 mediump_int16_t; 117 118 /// Medium qualifier 32 bit signed integer type. 119 /// @see gtc_type_precision 120 typedef detail::int32 mediump_int32_t; 121 122 /// Medium qualifier 64 bit signed integer type. 123 /// @see gtc_type_precision 124 typedef detail::int64 mediump_int64_t; 125 126 /// Medium qualifier 8 bit signed integer type. 127 /// @see gtc_type_precision 128 typedef detail::int8 mediump_i8; 129 130 /// Medium qualifier 16 bit signed integer type. 131 /// @see gtc_type_precision 132 typedef detail::int16 mediump_i16; 133 134 /// Medium qualifier 32 bit signed integer type. 135 /// @see gtc_type_precision 136 typedef detail::int32 mediump_i32; 137 138 /// Medium qualifier 64 bit signed integer type. 139 /// @see gtc_type_precision 140 typedef detail::int64 mediump_i64; 141 142 /// High qualifier 8 bit signed integer type. 143 /// @see gtc_type_precision 144 typedef detail::int8 highp_int8; 145 146 /// High qualifier 16 bit signed integer type. 147 /// @see gtc_type_precision 148 typedef detail::int16 highp_int16; 149 150 /// High qualifier 32 bit signed integer type. 151 /// @see gtc_type_precision 152 typedef detail::int32 highp_int32; 153 154 /// High qualifier 64 bit signed integer type. 155 /// @see gtc_type_precision 156 typedef detail::int64 highp_int64; 157 158 /// High qualifier 8 bit signed integer type. 159 /// @see gtc_type_precision 160 typedef detail::int8 highp_int8_t; 161 162 /// High qualifier 16 bit signed integer type. 163 /// @see gtc_type_precision 164 typedef detail::int16 highp_int16_t; 165 166 /// 32 bit signed integer type. 167 /// @see gtc_type_precision 168 typedef detail::int32 highp_int32_t; 169 170 /// High qualifier 64 bit signed integer type. 171 /// @see gtc_type_precision 172 typedef detail::int64 highp_int64_t; 173 174 /// High qualifier 8 bit signed integer type. 175 /// @see gtc_type_precision 176 typedef detail::int8 highp_i8; 177 178 /// High qualifier 16 bit signed integer type. 179 /// @see gtc_type_precision 180 typedef detail::int16 highp_i16; 181 182 /// High qualifier 32 bit signed integer type. 183 /// @see gtc_type_precision 184 typedef detail::int32 highp_i32; 185 186 /// High qualifier 64 bit signed integer type. 187 /// @see gtc_type_precision 188 typedef detail::int64 highp_i64; 189 190 191 #if GLM_HAS_EXTENDED_INTEGER_TYPE 192 using std::int8_t; 193 using std::int16_t; 194 using std::int32_t; 195 using std::int64_t; 196 #else 197 /// 8 bit signed integer type. 198 /// @see gtc_type_precision 199 typedef detail::int8 int8_t; 200 201 /// 16 bit signed integer type. 202 /// @see gtc_type_precision 203 typedef detail::int16 int16_t; 204 205 /// 32 bit signed integer type. 206 /// @see gtc_type_precision 207 typedef detail::int32 int32_t; 208 209 /// 64 bit signed integer type. 210 /// @see gtc_type_precision 211 typedef detail::int64 int64_t; 212 #endif 213 214 /// 8 bit signed integer type. 215 /// @see gtc_type_precision 216 typedef detail::int8 i8; 217 218 /// 16 bit signed integer type. 219 /// @see gtc_type_precision 220 typedef detail::int16 i16; 221 222 /// 32 bit signed integer type. 223 /// @see gtc_type_precision 224 typedef detail::int32 i32; 225 226 /// 64 bit signed integer type. 227 /// @see gtc_type_precision 228 typedef detail::int64 i64; 229 230 231 232 /// Low qualifier 8 bit signed integer scalar type. 233 /// @see gtc_type_precision 234 typedef vec<1, i8, lowp> lowp_i8vec1; 235 236 /// Low qualifier 8 bit signed integer vector of 2 components type. 237 /// @see gtc_type_precision 238 typedef vec<2, i8, lowp> lowp_i8vec2; 239 240 /// Low qualifier 8 bit signed integer vector of 3 components type. 241 /// @see gtc_type_precision 242 typedef vec<3, i8, lowp> lowp_i8vec3; 243 244 /// Low qualifier 8 bit signed integer vector of 4 components type. 245 /// @see gtc_type_precision 246 typedef vec<4, i8, lowp> lowp_i8vec4; 247 248 249 /// Medium qualifier 8 bit signed integer scalar type. 250 /// @see gtc_type_precision 251 typedef vec<1, i8, mediump> mediump_i8vec1; 252 253 /// Medium qualifier 8 bit signed integer vector of 2 components type. 254 /// @see gtc_type_precision 255 typedef vec<2, i8, mediump> mediump_i8vec2; 256 257 /// Medium qualifier 8 bit signed integer vector of 3 components type. 258 /// @see gtc_type_precision 259 typedef vec<3, i8, mediump> mediump_i8vec3; 260 261 /// Medium qualifier 8 bit signed integer vector of 4 components type. 262 /// @see gtc_type_precision 263 typedef vec<4, i8, mediump> mediump_i8vec4; 264 265 266 /// High qualifier 8 bit signed integer scalar type. 267 /// @see gtc_type_precision 268 typedef vec<1, i8, highp> highp_i8vec1; 269 270 /// High qualifier 8 bit signed integer vector of 2 components type. 271 /// @see gtc_type_precision 272 typedef vec<2, i8, highp> highp_i8vec2; 273 274 /// High qualifier 8 bit signed integer vector of 3 components type. 275 /// @see gtc_type_precision 276 typedef vec<3, i8, highp> highp_i8vec3; 277 278 /// High qualifier 8 bit signed integer vector of 4 components type. 279 /// @see gtc_type_precision 280 typedef vec<4, i8, highp> highp_i8vec4; 281 282 283 284 /// 8 bit signed integer scalar type. 285 /// @see gtc_type_precision 286 typedef vec<1, i8, defaultp> i8vec1; 287 288 /// 8 bit signed integer vector of 2 components type. 289 /// @see gtc_type_precision 290 typedef vec<2, i8, defaultp> i8vec2; 291 292 /// 8 bit signed integer vector of 3 components type. 293 /// @see gtc_type_precision 294 typedef vec<3, i8, defaultp> i8vec3; 295 296 /// 8 bit signed integer vector of 4 components type. 297 /// @see gtc_type_precision 298 typedef vec<4, i8, defaultp> i8vec4; 299 300 301 302 303 304 /// Low qualifier 16 bit signed integer scalar type. 305 /// @see gtc_type_precision 306 typedef vec<1, i16, lowp> lowp_i16vec1; 307 308 /// Low qualifier 16 bit signed integer vector of 2 components type. 309 /// @see gtc_type_precision 310 typedef vec<2, i16, lowp> lowp_i16vec2; 311 312 /// Low qualifier 16 bit signed integer vector of 3 components type. 313 /// @see gtc_type_precision 314 typedef vec<3, i16, lowp> lowp_i16vec3; 315 316 /// Low qualifier 16 bit signed integer vector of 4 components type. 317 /// @see gtc_type_precision 318 typedef vec<4, i16, lowp> lowp_i16vec4; 319 320 321 /// Medium qualifier 16 bit signed integer scalar type. 322 /// @see gtc_type_precision 323 typedef vec<1, i16, mediump> mediump_i16vec1; 324 325 /// Medium qualifier 16 bit signed integer vector of 2 components type. 326 /// @see gtc_type_precision 327 typedef vec<2, i16, mediump> mediump_i16vec2; 328 329 /// Medium qualifier 16 bit signed integer vector of 3 components type. 330 /// @see gtc_type_precision 331 typedef vec<3, i16, mediump> mediump_i16vec3; 332 333 /// Medium qualifier 16 bit signed integer vector of 4 components type. 334 /// @see gtc_type_precision 335 typedef vec<4, i16, mediump> mediump_i16vec4; 336 337 338 /// High qualifier 16 bit signed integer scalar type. 339 /// @see gtc_type_precision 340 typedef vec<1, i16, highp> highp_i16vec1; 341 342 /// High qualifier 16 bit signed integer vector of 2 components type. 343 /// @see gtc_type_precision 344 typedef vec<2, i16, highp> highp_i16vec2; 345 346 /// High qualifier 16 bit signed integer vector of 3 components type. 347 /// @see gtc_type_precision 348 typedef vec<3, i16, highp> highp_i16vec3; 349 350 /// High qualifier 16 bit signed integer vector of 4 components type. 351 /// @see gtc_type_precision 352 typedef vec<4, i16, highp> highp_i16vec4; 353 354 355 356 357 /// 16 bit signed integer scalar type. 358 /// @see gtc_type_precision 359 typedef vec<1, i16, defaultp> i16vec1; 360 361 /// 16 bit signed integer vector of 2 components type. 362 /// @see gtc_type_precision 363 typedef vec<2, i16, defaultp> i16vec2; 364 365 /// 16 bit signed integer vector of 3 components type. 366 /// @see gtc_type_precision 367 typedef vec<3, i16, defaultp> i16vec3; 368 369 /// 16 bit signed integer vector of 4 components type. 370 /// @see gtc_type_precision 371 typedef vec<4, i16, defaultp> i16vec4; 372 373 374 375 /// Low qualifier 32 bit signed integer scalar type. 376 /// @see gtc_type_precision 377 typedef vec<1, i32, lowp> lowp_i32vec1; 378 379 /// Low qualifier 32 bit signed integer vector of 2 components type. 380 /// @see gtc_type_precision 381 typedef vec<2, i32, lowp> lowp_i32vec2; 382 383 /// Low qualifier 32 bit signed integer vector of 3 components type. 384 /// @see gtc_type_precision 385 typedef vec<3, i32, lowp> lowp_i32vec3; 386 387 /// Low qualifier 32 bit signed integer vector of 4 components type. 388 /// @see gtc_type_precision 389 typedef vec<4, i32, lowp> lowp_i32vec4; 390 391 392 /// Medium qualifier 32 bit signed integer scalar type. 393 /// @see gtc_type_precision 394 typedef vec<1, i32, mediump> mediump_i32vec1; 395 396 /// Medium qualifier 32 bit signed integer vector of 2 components type. 397 /// @see gtc_type_precision 398 typedef vec<2, i32, mediump> mediump_i32vec2; 399 400 /// Medium qualifier 32 bit signed integer vector of 3 components type. 401 /// @see gtc_type_precision 402 typedef vec<3, i32, mediump> mediump_i32vec3; 403 404 /// Medium qualifier 32 bit signed integer vector of 4 components type. 405 /// @see gtc_type_precision 406 typedef vec<4, i32, mediump> mediump_i32vec4; 407 408 409 /// High qualifier 32 bit signed integer scalar type. 410 /// @see gtc_type_precision 411 typedef vec<1, i32, highp> highp_i32vec1; 412 413 /// High qualifier 32 bit signed integer vector of 2 components type. 414 /// @see gtc_type_precision 415 typedef vec<2, i32, highp> highp_i32vec2; 416 417 /// High qualifier 32 bit signed integer vector of 3 components type. 418 /// @see gtc_type_precision 419 typedef vec<3, i32, highp> highp_i32vec3; 420 421 /// High qualifier 32 bit signed integer vector of 4 components type. 422 /// @see gtc_type_precision 423 typedef vec<4, i32, highp> highp_i32vec4; 424 425 426 /// 32 bit signed integer scalar type. 427 /// @see gtc_type_precision 428 typedef vec<1, i32, defaultp> i32vec1; 429 430 /// 32 bit signed integer vector of 2 components type. 431 /// @see gtc_type_precision 432 typedef vec<2, i32, defaultp> i32vec2; 433 434 /// 32 bit signed integer vector of 3 components type. 435 /// @see gtc_type_precision 436 typedef vec<3, i32, defaultp> i32vec3; 437 438 /// 32 bit signed integer vector of 4 components type. 439 /// @see gtc_type_precision 440 typedef vec<4, i32, defaultp> i32vec4; 441 442 443 444 445 /// Low qualifier 64 bit signed integer scalar type. 446 /// @see gtc_type_precision 447 typedef vec<1, i64, lowp> lowp_i64vec1; 448 449 /// Low qualifier 64 bit signed integer vector of 2 components type. 450 /// @see gtc_type_precision 451 typedef vec<2, i64, lowp> lowp_i64vec2; 452 453 /// Low qualifier 64 bit signed integer vector of 3 components type. 454 /// @see gtc_type_precision 455 typedef vec<3, i64, lowp> lowp_i64vec3; 456 457 /// Low qualifier 64 bit signed integer vector of 4 components type. 458 /// @see gtc_type_precision 459 typedef vec<4, i64, lowp> lowp_i64vec4; 460 461 462 /// Medium qualifier 64 bit signed integer scalar type. 463 /// @see gtc_type_precision 464 typedef vec<1, i64, mediump> mediump_i64vec1; 465 466 /// Medium qualifier 64 bit signed integer vector of 2 components type. 467 /// @see gtc_type_precision 468 typedef vec<2, i64, mediump> mediump_i64vec2; 469 470 /// Medium qualifier 64 bit signed integer vector of 3 components type. 471 /// @see gtc_type_precision 472 typedef vec<3, i64, mediump> mediump_i64vec3; 473 474 /// Medium qualifier 64 bit signed integer vector of 4 components type. 475 /// @see gtc_type_precision 476 typedef vec<4, i64, mediump> mediump_i64vec4; 477 478 479 /// High qualifier 64 bit signed integer scalar type. 480 /// @see gtc_type_precision 481 typedef vec<1, i64, highp> highp_i64vec1; 482 483 /// High qualifier 64 bit signed integer vector of 2 components type. 484 /// @see gtc_type_precision 485 typedef vec<2, i64, highp> highp_i64vec2; 486 487 /// High qualifier 64 bit signed integer vector of 3 components type. 488 /// @see gtc_type_precision 489 typedef vec<3, i64, highp> highp_i64vec3; 490 491 /// High qualifier 64 bit signed integer vector of 4 components type. 492 /// @see gtc_type_precision 493 typedef vec<4, i64, highp> highp_i64vec4; 494 495 496 /// 64 bit signed integer scalar type. 497 /// @see gtc_type_precision 498 typedef vec<1, i64, defaultp> i64vec1; 499 500 /// 64 bit signed integer vector of 2 components type. 501 /// @see gtc_type_precision 502 typedef vec<2, i64, defaultp> i64vec2; 503 504 /// 64 bit signed integer vector of 3 components type. 505 /// @see gtc_type_precision 506 typedef vec<3, i64, defaultp> i64vec3; 507 508 /// 64 bit signed integer vector of 4 components type. 509 /// @see gtc_type_precision 510 typedef vec<4, i64, defaultp> i64vec4; 511 512 513 ///////////////////////////// 514 // Unsigned int vector types 515 516 /// Low qualifier 8 bit unsigned integer type. 517 /// @see gtc_type_precision 518 typedef detail::uint8 lowp_uint8; 519 520 /// Low qualifier 16 bit unsigned integer type. 521 /// @see gtc_type_precision 522 typedef detail::uint16 lowp_uint16; 523 524 /// Low qualifier 32 bit unsigned integer type. 525 /// @see gtc_type_precision 526 typedef detail::uint32 lowp_uint32; 527 528 /// Low qualifier 64 bit unsigned integer type. 529 /// @see gtc_type_precision 530 typedef detail::uint64 lowp_uint64; 531 532 /// Low qualifier 8 bit unsigned integer type. 533 /// @see gtc_type_precision 534 typedef detail::uint8 lowp_uint8_t; 535 536 /// Low qualifier 16 bit unsigned integer type. 537 /// @see gtc_type_precision 538 typedef detail::uint16 lowp_uint16_t; 539 540 /// Low qualifier 32 bit unsigned integer type. 541 /// @see gtc_type_precision 542 typedef detail::uint32 lowp_uint32_t; 543 544 /// Low qualifier 64 bit unsigned integer type. 545 /// @see gtc_type_precision 546 typedef detail::uint64 lowp_uint64_t; 547 548 /// Low qualifier 8 bit unsigned integer type. 549 /// @see gtc_type_precision 550 typedef detail::uint8 lowp_u8; 551 552 /// Low qualifier 16 bit unsigned integer type. 553 /// @see gtc_type_precision 554 typedef detail::uint16 lowp_u16; 555 556 /// Low qualifier 32 bit unsigned integer type. 557 /// @see gtc_type_precision 558 typedef detail::uint32 lowp_u32; 559 560 /// Low qualifier 64 bit unsigned integer type. 561 /// @see gtc_type_precision 562 typedef detail::uint64 lowp_u64; 563 564 /// Medium qualifier 8 bit unsigned integer type. 565 /// @see gtc_type_precision 566 typedef detail::uint8 mediump_uint8; 567 568 /// Medium qualifier 16 bit unsigned integer type. 569 /// @see gtc_type_precision 570 typedef detail::uint16 mediump_uint16; 571 572 /// Medium qualifier 32 bit unsigned integer type. 573 /// @see gtc_type_precision 574 typedef detail::uint32 mediump_uint32; 575 576 /// Medium qualifier 64 bit unsigned integer type. 577 /// @see gtc_type_precision 578 typedef detail::uint64 mediump_uint64; 579 580 /// Medium qualifier 8 bit unsigned integer type. 581 /// @see gtc_type_precision 582 typedef detail::uint8 mediump_uint8_t; 583 584 /// Medium qualifier 16 bit unsigned integer type. 585 /// @see gtc_type_precision 586 typedef detail::uint16 mediump_uint16_t; 587 588 /// Medium qualifier 32 bit unsigned integer type. 589 /// @see gtc_type_precision 590 typedef detail::uint32 mediump_uint32_t; 591 592 /// Medium qualifier 64 bit unsigned integer type. 593 /// @see gtc_type_precision 594 typedef detail::uint64 mediump_uint64_t; 595 596 /// Medium qualifier 8 bit unsigned integer type. 597 /// @see gtc_type_precision 598 typedef detail::uint8 mediump_u8; 599 600 /// Medium qualifier 16 bit unsigned integer type. 601 /// @see gtc_type_precision 602 typedef detail::uint16 mediump_u16; 603 604 /// Medium qualifier 32 bit unsigned integer type. 605 /// @see gtc_type_precision 606 typedef detail::uint32 mediump_u32; 607 608 /// Medium qualifier 64 bit unsigned integer type. 609 /// @see gtc_type_precision 610 typedef detail::uint64 mediump_u64; 611 612 /// High qualifier 8 bit unsigned integer type. 613 /// @see gtc_type_precision 614 typedef detail::uint8 highp_uint8; 615 616 /// High qualifier 16 bit unsigned integer type. 617 /// @see gtc_type_precision 618 typedef detail::uint16 highp_uint16; 619 620 /// High qualifier 32 bit unsigned integer type. 621 /// @see gtc_type_precision 622 typedef detail::uint32 highp_uint32; 623 624 /// High qualifier 64 bit unsigned integer type. 625 /// @see gtc_type_precision 626 typedef detail::uint64 highp_uint64; 627 628 /// High qualifier 8 bit unsigned integer type. 629 /// @see gtc_type_precision 630 typedef detail::uint8 highp_uint8_t; 631 632 /// High qualifier 16 bit unsigned integer type. 633 /// @see gtc_type_precision 634 typedef detail::uint16 highp_uint16_t; 635 636 /// High qualifier 32 bit unsigned integer type. 637 /// @see gtc_type_precision 638 typedef detail::uint32 highp_uint32_t; 639 640 /// High qualifier 64 bit unsigned integer type. 641 /// @see gtc_type_precision 642 typedef detail::uint64 highp_uint64_t; 643 644 /// High qualifier 8 bit unsigned integer type. 645 /// @see gtc_type_precision 646 typedef detail::uint8 highp_u8; 647 648 /// High qualifier 16 bit unsigned integer type. 649 /// @see gtc_type_precision 650 typedef detail::uint16 highp_u16; 651 652 /// High qualifier 32 bit unsigned integer type. 653 /// @see gtc_type_precision 654 typedef detail::uint32 highp_u32; 655 656 /// High qualifier 64 bit unsigned integer type. 657 /// @see gtc_type_precision 658 typedef detail::uint64 highp_u64; 659 660 #if GLM_HAS_EXTENDED_INTEGER_TYPE 661 using std::uint8_t; 662 using std::uint16_t; 663 using std::uint32_t; 664 using std::uint64_t; 665 #else 666 /// Default qualifier 8 bit unsigned integer type. 667 /// @see gtc_type_precision 668 typedef detail::uint8 uint8_t; 669 670 /// Default qualifier 16 bit unsigned integer type. 671 /// @see gtc_type_precision 672 typedef detail::uint16 uint16_t; 673 674 /// Default qualifier 32 bit unsigned integer type. 675 /// @see gtc_type_precision 676 typedef detail::uint32 uint32_t; 677 678 /// Default qualifier 64 bit unsigned integer type. 679 /// @see gtc_type_precision 680 typedef detail::uint64 uint64_t; 681 #endif 682 683 /// Default qualifier 8 bit unsigned integer type. 684 /// @see gtc_type_precision 685 typedef detail::uint8 u8; 686 687 /// Default qualifier 16 bit unsigned integer type. 688 /// @see gtc_type_precision 689 typedef detail::uint16 u16; 690 691 /// Default qualifier 32 bit unsigned integer type. 692 /// @see gtc_type_precision 693 typedef detail::uint32 u32; 694 695 /// Default qualifier 64 bit unsigned integer type. 696 /// @see gtc_type_precision 697 typedef detail::uint64 u64; 698 699 700 701 702 703 ////////////////////// 704 // Float vector types 705 706 /// Single-qualifier floating-point scalar. 707 /// @see gtc_type_precision 708 typedef float float32; 709 710 /// Double-qualifier floating-point scalar. 711 /// @see gtc_type_precision 712 typedef double float64; 713 714 /// Low 32 bit single-qualifier floating-point scalar. 715 /// @see gtc_type_precision 716 typedef float32 lowp_float32; 717 718 /// Low 64 bit double-qualifier floating-point scalar. 719 /// @see gtc_type_precision 720 typedef float64 lowp_float64; 721 722 /// Low 32 bit single-qualifier floating-point scalar. 723 /// @see gtc_type_precision 724 typedef float32 lowp_float32_t; 725 726 /// Low 64 bit double-qualifier floating-point scalar. 727 /// @see gtc_type_precision 728 typedef float64 lowp_float64_t; 729 730 /// Low 32 bit single-qualifier floating-point scalar. 731 /// @see gtc_type_precision 732 typedef float32 lowp_f32; 733 734 /// Low 64 bit double-qualifier floating-point scalar. 735 /// @see gtc_type_precision 736 typedef float64 lowp_f64; 737 738 /// Low 32 bit single-qualifier floating-point scalar. 739 /// @see gtc_type_precision 740 typedef float32 lowp_float32; 741 742 /// Low 64 bit double-qualifier floating-point scalar. 743 /// @see gtc_type_precision 744 typedef float64 lowp_float64; 745 746 /// Low 32 bit single-qualifier floating-point scalar. 747 /// @see gtc_type_precision 748 typedef float32 lowp_float32_t; 749 750 /// Low 64 bit double-qualifier floating-point scalar. 751 /// @see gtc_type_precision 752 typedef float64 lowp_float64_t; 753 754 /// Low 32 bit single-qualifier floating-point scalar. 755 /// @see gtc_type_precision 756 typedef float32 lowp_f32; 757 758 /// Low 64 bit double-qualifier floating-point scalar. 759 /// @see gtc_type_precision 760 typedef float64 lowp_f64; 761 762 763 /// Low 32 bit single-qualifier floating-point scalar. 764 /// @see gtc_type_precision 765 typedef float32 lowp_float32; 766 767 /// Low 64 bit double-qualifier floating-point scalar. 768 /// @see gtc_type_precision 769 typedef float64 lowp_float64; 770 771 /// Low 32 bit single-qualifier floating-point scalar. 772 /// @see gtc_type_precision 773 typedef float32 lowp_float32_t; 774 775 /// Low 64 bit double-qualifier floating-point scalar. 776 /// @see gtc_type_precision 777 typedef float64 lowp_float64_t; 778 779 /// Low 32 bit single-qualifier floating-point scalar. 780 /// @see gtc_type_precision 781 typedef float32 lowp_f32; 782 783 /// Low 64 bit double-qualifier floating-point scalar. 784 /// @see gtc_type_precision 785 typedef float64 lowp_f64; 786 787 788 /// Medium 32 bit single-qualifier floating-point scalar. 789 /// @see gtc_type_precision 790 typedef float32 mediump_float32; 791 792 /// Medium 64 bit double-qualifier floating-point scalar. 793 /// @see gtc_type_precision 794 typedef float64 mediump_float64; 795 796 /// Medium 32 bit single-qualifier floating-point scalar. 797 /// @see gtc_type_precision 798 typedef float32 mediump_float32_t; 799 800 /// Medium 64 bit double-qualifier floating-point scalar. 801 /// @see gtc_type_precision 802 typedef float64 mediump_float64_t; 803 804 /// Medium 32 bit single-qualifier floating-point scalar. 805 /// @see gtc_type_precision 806 typedef float32 mediump_f32; 807 808 /// Medium 64 bit double-qualifier floating-point scalar. 809 /// @see gtc_type_precision 810 typedef float64 mediump_f64; 811 812 813 /// High 32 bit single-qualifier floating-point scalar. 814 /// @see gtc_type_precision 815 typedef float32 highp_float32; 816 817 /// High 64 bit double-qualifier floating-point scalar. 818 /// @see gtc_type_precision 819 typedef float64 highp_float64; 820 821 /// High 32 bit single-qualifier floating-point scalar. 822 /// @see gtc_type_precision 823 typedef float32 highp_float32_t; 824 825 /// High 64 bit double-qualifier floating-point scalar. 826 /// @see gtc_type_precision 827 typedef float64 highp_float64_t; 828 829 /// High 32 bit single-qualifier floating-point scalar. 830 /// @see gtc_type_precision 831 typedef float32 highp_f32; 832 833 /// High 64 bit double-qualifier floating-point scalar. 834 /// @see gtc_type_precision 835 typedef float64 highp_f64; 836 837 838 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 839 /// Default 32 bit single-qualifier floating-point scalar. 840 /// @see gtc_type_precision 841 typedef lowp_float32_t float32_t; 842 843 /// Default 64 bit double-qualifier floating-point scalar. 844 /// @see gtc_type_precision 845 typedef lowp_float64_t float64_t; 846 847 /// Default 32 bit single-qualifier floating-point scalar. 848 /// @see gtc_type_precision 849 typedef lowp_f32 f32; 850 851 /// Default 64 bit double-qualifier floating-point scalar. 852 /// @see gtc_type_precision 853 typedef lowp_f64 f64; 854 855 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 856 /// Default 32 bit single-qualifier floating-point scalar. 857 /// @see gtc_type_precision 858 typedef mediump_float32 float32_t; 859 860 /// Default 64 bit double-qualifier floating-point scalar. 861 /// @see gtc_type_precision 862 typedef mediump_float64 float64_t; 863 864 /// Default 32 bit single-qualifier floating-point scalar. 865 /// @see gtc_type_precision 866 typedef mediump_float32 f32; 867 868 /// Default 64 bit double-qualifier floating-point scalar. 869 /// @see gtc_type_precision 870 typedef mediump_float64 f64; 871 872 #else//(defined(GLM_PRECISION_HIGHP_FLOAT)) 873 874 /// Default 32 bit single-qualifier floating-point scalar. 875 /// @see gtc_type_precision 876 typedef highp_float32_t float32_t; 877 878 /// Default 64 bit double-qualifier floating-point scalar. 879 /// @see gtc_type_precision 880 typedef highp_float64_t float64_t; 881 882 /// Default 32 bit single-qualifier floating-point scalar. 883 /// @see gtc_type_precision 884 typedef highp_float32_t f32; 885 886 /// Default 64 bit double-qualifier floating-point scalar. 887 /// @see gtc_type_precision 888 typedef highp_float64_t f64; 889 #endif 890 891 892 /// Low single-qualifier floating-point vector of 1 component. 893 /// @see gtc_type_precision 894 typedef vec<1, float, lowp> lowp_fvec1; 895 896 /// Low single-qualifier floating-point vector of 2 components. 897 /// @see gtc_type_precision 898 typedef vec<2, float, lowp> lowp_fvec2; 899 900 /// Low single-qualifier floating-point vector of 3 components. 901 /// @see gtc_type_precision 902 typedef vec<3, float, lowp> lowp_fvec3; 903 904 /// Low single-qualifier floating-point vector of 4 components. 905 /// @see gtc_type_precision 906 typedef vec<4, float, lowp> lowp_fvec4; 907 908 909 /// Medium single-qualifier floating-point vector of 1 component. 910 /// @see gtc_type_precision 911 typedef vec<1, float, mediump> mediump_fvec1; 912 913 /// Medium Single-qualifier floating-point vector of 2 components. 914 /// @see gtc_type_precision 915 typedef vec<2, float, mediump> mediump_fvec2; 916 917 /// Medium Single-qualifier floating-point vector of 3 components. 918 /// @see gtc_type_precision 919 typedef vec<3, float, mediump> mediump_fvec3; 920 921 /// Medium Single-qualifier floating-point vector of 4 components. 922 /// @see gtc_type_precision 923 typedef vec<4, float, mediump> mediump_fvec4; 924 925 926 /// High single-qualifier floating-point vector of 1 component. 927 /// @see gtc_type_precision 928 typedef vec<1, float, highp> highp_fvec1; 929 930 /// High Single-qualifier floating-point vector of 2 components. 931 /// @see core_precision 932 typedef vec<2, float, highp> highp_fvec2; 933 934 /// High Single-qualifier floating-point vector of 3 components. 935 /// @see core_precision 936 typedef vec<3, float, highp> highp_fvec3; 937 938 /// High Single-qualifier floating-point vector of 4 components. 939 /// @see core_precision 940 typedef vec<4, float, highp> highp_fvec4; 941 942 943 /// Low single-qualifier floating-point vector of 1 component. 944 /// @see gtc_type_precision 945 typedef vec<1, f32, lowp> lowp_f32vec1; 946 947 /// Low single-qualifier floating-point vector of 2 components. 948 /// @see core_precision 949 typedef vec<2, f32, lowp> lowp_f32vec2; 950 951 /// Low single-qualifier floating-point vector of 3 components. 952 /// @see core_precision 953 typedef vec<3, f32, lowp> lowp_f32vec3; 954 955 /// Low single-qualifier floating-point vector of 4 components. 956 /// @see core_precision 957 typedef vec<4, f32, lowp> lowp_f32vec4; 958 959 /// Medium single-qualifier floating-point vector of 1 component. 960 /// @see gtc_type_precision 961 typedef vec<1, f32, mediump> mediump_f32vec1; 962 963 /// Medium single-qualifier floating-point vector of 2 components. 964 /// @see core_precision 965 typedef vec<2, f32, mediump> mediump_f32vec2; 966 967 /// Medium single-qualifier floating-point vector of 3 components. 968 /// @see core_precision 969 typedef vec<3, f32, mediump> mediump_f32vec3; 970 971 /// Medium single-qualifier floating-point vector of 4 components. 972 /// @see core_precision 973 typedef vec<4, f32, mediump> mediump_f32vec4; 974 975 /// High single-qualifier floating-point vector of 1 component. 976 /// @see gtc_type_precision 977 typedef vec<1, f32, highp> highp_f32vec1; 978 979 /// High single-qualifier floating-point vector of 2 components. 980 /// @see gtc_type_precision 981 typedef vec<2, f32, highp> highp_f32vec2; 982 983 /// High single-qualifier floating-point vector of 3 components. 984 /// @see gtc_type_precision 985 typedef vec<3, f32, highp> highp_f32vec3; 986 987 /// High single-qualifier floating-point vector of 4 components. 988 /// @see gtc_type_precision 989 typedef vec<4, f32, highp> highp_f32vec4; 990 991 992 /// Low double-qualifier floating-point vector of 1 component. 993 /// @see gtc_type_precision 994 typedef vec<1, f64, lowp> lowp_f64vec1; 995 996 /// Low double-qualifier floating-point vector of 2 components. 997 /// @see gtc_type_precision 998 typedef vec<2, f64, lowp> lowp_f64vec2; 999 1000 /// Low double-qualifier floating-point vector of 3 components. 1001 /// @see gtc_type_precision 1002 typedef vec<3, f64, lowp> lowp_f64vec3; 1003 1004 /// Low double-qualifier floating-point vector of 4 components. 1005 /// @see gtc_type_precision 1006 typedef vec<4, f64, lowp> lowp_f64vec4; 1007 1008 /// Medium double-qualifier floating-point vector of 1 component. 1009 /// @see gtc_type_precision 1010 typedef vec<1, f64, mediump> mediump_f64vec1; 1011 1012 /// Medium double-qualifier floating-point vector of 2 components. 1013 /// @see gtc_type_precision 1014 typedef vec<2, f64, mediump> mediump_f64vec2; 1015 1016 /// Medium double-qualifier floating-point vector of 3 components. 1017 /// @see gtc_type_precision 1018 typedef vec<3, f64, mediump> mediump_f64vec3; 1019 1020 /// Medium double-qualifier floating-point vector of 4 components. 1021 /// @see gtc_type_precision 1022 typedef vec<4, f64, mediump> mediump_f64vec4; 1023 1024 /// High double-qualifier floating-point vector of 1 component. 1025 /// @see gtc_type_precision 1026 typedef vec<1, f64, highp> highp_f64vec1; 1027 1028 /// High double-qualifier floating-point vector of 2 components. 1029 /// @see gtc_type_precision 1030 typedef vec<2, f64, highp> highp_f64vec2; 1031 1032 /// High double-qualifier floating-point vector of 3 components. 1033 /// @see gtc_type_precision 1034 typedef vec<3, f64, highp> highp_f64vec3; 1035 1036 /// High double-qualifier floating-point vector of 4 components. 1037 /// @see gtc_type_precision 1038 typedef vec<4, f64, highp> highp_f64vec4; 1039 1040 1041 1042 ////////////////////// 1043 // Float matrix types 1044 1045 /// Low single-qualifier floating-point 1x1 matrix. 1046 /// @see gtc_type_precision 1047 //typedef lowp_f32 lowp_fmat1x1; 1048 1049 /// Low single-qualifier floating-point 2x2 matrix. 1050 /// @see gtc_type_precision 1051 typedef mat<2, 2, f32, lowp> lowp_fmat2x2; 1052 1053 /// Low single-qualifier floating-point 2x3 matrix. 1054 /// @see gtc_type_precision 1055 typedef mat<2, 3, f32, lowp> lowp_fmat2x3; 1056 1057 /// Low single-qualifier floating-point 2x4 matrix. 1058 /// @see gtc_type_precision 1059 typedef mat<2, 4, f32, lowp> lowp_fmat2x4; 1060 1061 /// Low single-qualifier floating-point 3x2 matrix. 1062 /// @see gtc_type_precision 1063 typedef mat<3, 2, f32, lowp> lowp_fmat3x2; 1064 1065 /// Low single-qualifier floating-point 3x3 matrix. 1066 /// @see gtc_type_precision 1067 typedef mat<3, 3, f32, lowp> lowp_fmat3x3; 1068 1069 /// Low single-qualifier floating-point 3x4 matrix. 1070 /// @see gtc_type_precision 1071 typedef mat<3, 4, f32, lowp> lowp_fmat3x4; 1072 1073 /// Low single-qualifier floating-point 4x2 matrix. 1074 /// @see gtc_type_precision 1075 typedef mat<4, 2, f32, lowp> lowp_fmat4x2; 1076 1077 /// Low single-qualifier floating-point 4x3 matrix. 1078 /// @see gtc_type_precision 1079 typedef mat<4, 3, f32, lowp> lowp_fmat4x3; 1080 1081 /// Low single-qualifier floating-point 4x4 matrix. 1082 /// @see gtc_type_precision 1083 typedef mat<4, 4, f32, lowp> lowp_fmat4x4; 1084 1085 /// Low single-qualifier floating-point 1x1 matrix. 1086 /// @see gtc_type_precision 1087 //typedef lowp_fmat1x1 lowp_fmat1; 1088 1089 /// Low single-qualifier floating-point 2x2 matrix. 1090 /// @see gtc_type_precision 1091 typedef lowp_fmat2x2 lowp_fmat2; 1092 1093 /// Low single-qualifier floating-point 3x3 matrix. 1094 /// @see gtc_type_precision 1095 typedef lowp_fmat3x3 lowp_fmat3; 1096 1097 /// Low single-qualifier floating-point 4x4 matrix. 1098 /// @see gtc_type_precision 1099 typedef lowp_fmat4x4 lowp_fmat4; 1100 1101 1102 /// Medium single-qualifier floating-point 1x1 matrix. 1103 /// @see gtc_type_precision 1104 //typedef mediump_f32 mediump_fmat1x1; 1105 1106 /// Medium single-qualifier floating-point 2x2 matrix. 1107 /// @see gtc_type_precision 1108 typedef mat<2, 2, f32, mediump> mediump_fmat2x2; 1109 1110 /// Medium single-qualifier floating-point 2x3 matrix. 1111 /// @see gtc_type_precision 1112 typedef mat<2, 3, f32, mediump> mediump_fmat2x3; 1113 1114 /// Medium single-qualifier floating-point 2x4 matrix. 1115 /// @see gtc_type_precision 1116 typedef mat<2, 4, f32, mediump> mediump_fmat2x4; 1117 1118 /// Medium single-qualifier floating-point 3x2 matrix. 1119 /// @see gtc_type_precision 1120 typedef mat<3, 2, f32, mediump> mediump_fmat3x2; 1121 1122 /// Medium single-qualifier floating-point 3x3 matrix. 1123 /// @see gtc_type_precision 1124 typedef mat<3, 3, f32, mediump> mediump_fmat3x3; 1125 1126 /// Medium single-qualifier floating-point 3x4 matrix. 1127 /// @see gtc_type_precision 1128 typedef mat<3, 4, f32, mediump> mediump_fmat3x4; 1129 1130 /// Medium single-qualifier floating-point 4x2 matrix. 1131 /// @see gtc_type_precision 1132 typedef mat<4, 2, f32, mediump> mediump_fmat4x2; 1133 1134 /// Medium single-qualifier floating-point 4x3 matrix. 1135 /// @see gtc_type_precision 1136 typedef mat<4, 3, f32, mediump> mediump_fmat4x3; 1137 1138 /// Medium single-qualifier floating-point 4x4 matrix. 1139 /// @see gtc_type_precision 1140 typedef mat<4, 4, f32, mediump> mediump_fmat4x4; 1141 1142 /// Medium single-qualifier floating-point 1x1 matrix. 1143 /// @see gtc_type_precision 1144 //typedef mediump_fmat1x1 mediump_fmat1; 1145 1146 /// Medium single-qualifier floating-point 2x2 matrix. 1147 /// @see gtc_type_precision 1148 typedef mediump_fmat2x2 mediump_fmat2; 1149 1150 /// Medium single-qualifier floating-point 3x3 matrix. 1151 /// @see gtc_type_precision 1152 typedef mediump_fmat3x3 mediump_fmat3; 1153 1154 /// Medium single-qualifier floating-point 4x4 matrix. 1155 /// @see gtc_type_precision 1156 typedef mediump_fmat4x4 mediump_fmat4; 1157 1158 1159 /// High single-qualifier floating-point 1x1 matrix. 1160 /// @see gtc_type_precision 1161 //typedef highp_f32 highp_fmat1x1; 1162 1163 /// High single-qualifier floating-point 2x2 matrix. 1164 /// @see gtc_type_precision 1165 typedef mat<2, 2, f32, highp> highp_fmat2x2; 1166 1167 /// High single-qualifier floating-point 2x3 matrix. 1168 /// @see gtc_type_precision 1169 typedef mat<2, 3, f32, highp> highp_fmat2x3; 1170 1171 /// High single-qualifier floating-point 2x4 matrix. 1172 /// @see gtc_type_precision 1173 typedef mat<2, 4, f32, highp> highp_fmat2x4; 1174 1175 /// High single-qualifier floating-point 3x2 matrix. 1176 /// @see gtc_type_precision 1177 typedef mat<3, 2, f32, highp> highp_fmat3x2; 1178 1179 /// High single-qualifier floating-point 3x3 matrix. 1180 /// @see gtc_type_precision 1181 typedef mat<3, 3, f32, highp> highp_fmat3x3; 1182 1183 /// High single-qualifier floating-point 3x4 matrix. 1184 /// @see gtc_type_precision 1185 typedef mat<3, 4, f32, highp> highp_fmat3x4; 1186 1187 /// High single-qualifier floating-point 4x2 matrix. 1188 /// @see gtc_type_precision 1189 typedef mat<4, 2, f32, highp> highp_fmat4x2; 1190 1191 /// High single-qualifier floating-point 4x3 matrix. 1192 /// @see gtc_type_precision 1193 typedef mat<4, 3, f32, highp> highp_fmat4x3; 1194 1195 /// High single-qualifier floating-point 4x4 matrix. 1196 /// @see gtc_type_precision 1197 typedef mat<4, 4, f32, highp> highp_fmat4x4; 1198 1199 /// High single-qualifier floating-point 1x1 matrix. 1200 /// @see gtc_type_precision 1201 //typedef highp_fmat1x1 highp_fmat1; 1202 1203 /// High single-qualifier floating-point 2x2 matrix. 1204 /// @see gtc_type_precision 1205 typedef highp_fmat2x2 highp_fmat2; 1206 1207 /// High single-qualifier floating-point 3x3 matrix. 1208 /// @see gtc_type_precision 1209 typedef highp_fmat3x3 highp_fmat3; 1210 1211 /// High single-qualifier floating-point 4x4 matrix. 1212 /// @see gtc_type_precision 1213 typedef highp_fmat4x4 highp_fmat4; 1214 1215 1216 /// Low single-qualifier floating-point 1x1 matrix. 1217 /// @see gtc_type_precision 1218 //typedef f32 lowp_f32mat1x1; 1219 1220 /// Low single-qualifier floating-point 2x2 matrix. 1221 /// @see gtc_type_precision 1222 typedef mat<2, 2, f32, lowp> lowp_f32mat2x2; 1223 1224 /// Low single-qualifier floating-point 2x3 matrix. 1225 /// @see gtc_type_precision 1226 typedef mat<2, 3, f32, lowp> lowp_f32mat2x3; 1227 1228 /// Low single-qualifier floating-point 2x4 matrix. 1229 /// @see gtc_type_precision 1230 typedef mat<2, 4, f32, lowp> lowp_f32mat2x4; 1231 1232 /// Low single-qualifier floating-point 3x2 matrix. 1233 /// @see gtc_type_precision 1234 typedef mat<3, 2, f32, lowp> lowp_f32mat3x2; 1235 1236 /// Low single-qualifier floating-point 3x3 matrix. 1237 /// @see gtc_type_precision 1238 typedef mat<3, 3, f32, lowp> lowp_f32mat3x3; 1239 1240 /// Low single-qualifier floating-point 3x4 matrix. 1241 /// @see gtc_type_precision 1242 typedef mat<3, 4, f32, lowp> lowp_f32mat3x4; 1243 1244 /// Low single-qualifier floating-point 4x2 matrix. 1245 /// @see gtc_type_precision 1246 typedef mat<4, 2, f32, lowp> lowp_f32mat4x2; 1247 1248 /// Low single-qualifier floating-point 4x3 matrix. 1249 /// @see gtc_type_precision 1250 typedef mat<4, 3, f32, lowp> lowp_f32mat4x3; 1251 1252 /// Low single-qualifier floating-point 4x4 matrix. 1253 /// @see gtc_type_precision 1254 typedef mat<4, 4, f32, lowp> lowp_f32mat4x4; 1255 1256 /// Low single-qualifier floating-point 1x1 matrix. 1257 /// @see gtc_type_precision 1258 //typedef detail::tmat1x1<f32, lowp> lowp_f32mat1; 1259 1260 /// Low single-qualifier floating-point 2x2 matrix. 1261 /// @see gtc_type_precision 1262 typedef lowp_f32mat2x2 lowp_f32mat2; 1263 1264 /// Low single-qualifier floating-point 3x3 matrix. 1265 /// @see gtc_type_precision 1266 typedef lowp_f32mat3x3 lowp_f32mat3; 1267 1268 /// Low single-qualifier floating-point 4x4 matrix. 1269 /// @see gtc_type_precision 1270 typedef lowp_f32mat4x4 lowp_f32mat4; 1271 1272 1273 /// High single-qualifier floating-point 1x1 matrix. 1274 /// @see gtc_type_precision 1275 //typedef f32 mediump_f32mat1x1; 1276 1277 /// Low single-qualifier floating-point 2x2 matrix. 1278 /// @see gtc_type_precision 1279 typedef mat<2, 2, f32, mediump> mediump_f32mat2x2; 1280 1281 /// Medium single-qualifier floating-point 2x3 matrix. 1282 /// @see gtc_type_precision 1283 typedef mat<2, 3, f32, mediump> mediump_f32mat2x3; 1284 1285 /// Medium single-qualifier floating-point 2x4 matrix. 1286 /// @see gtc_type_precision 1287 typedef mat<2, 4, f32, mediump> mediump_f32mat2x4; 1288 1289 /// Medium single-qualifier floating-point 3x2 matrix. 1290 /// @see gtc_type_precision 1291 typedef mat<3, 2, f32, mediump> mediump_f32mat3x2; 1292 1293 /// Medium single-qualifier floating-point 3x3 matrix. 1294 /// @see gtc_type_precision 1295 typedef mat<3, 3, f32, mediump> mediump_f32mat3x3; 1296 1297 /// Medium single-qualifier floating-point 3x4 matrix. 1298 /// @see gtc_type_precision 1299 typedef mat<3, 4, f32, mediump> mediump_f32mat3x4; 1300 1301 /// Medium single-qualifier floating-point 4x2 matrix. 1302 /// @see gtc_type_precision 1303 typedef mat<4, 2, f32, mediump> mediump_f32mat4x2; 1304 1305 /// Medium single-qualifier floating-point 4x3 matrix. 1306 /// @see gtc_type_precision 1307 typedef mat<4, 3, f32, mediump> mediump_f32mat4x3; 1308 1309 /// Medium single-qualifier floating-point 4x4 matrix. 1310 /// @see gtc_type_precision 1311 typedef mat<4, 4, f32, mediump> mediump_f32mat4x4; 1312 1313 /// Medium single-qualifier floating-point 1x1 matrix. 1314 /// @see gtc_type_precision 1315 //typedef detail::tmat1x1<f32, mediump> f32mat1; 1316 1317 /// Medium single-qualifier floating-point 2x2 matrix. 1318 /// @see gtc_type_precision 1319 typedef mediump_f32mat2x2 mediump_f32mat2; 1320 1321 /// Medium single-qualifier floating-point 3x3 matrix. 1322 /// @see gtc_type_precision 1323 typedef mediump_f32mat3x3 mediump_f32mat3; 1324 1325 /// Medium single-qualifier floating-point 4x4 matrix. 1326 /// @see gtc_type_precision 1327 typedef mediump_f32mat4x4 mediump_f32mat4; 1328 1329 1330 /// High single-qualifier floating-point 1x1 matrix. 1331 /// @see gtc_type_precision 1332 //typedef f32 highp_f32mat1x1; 1333 1334 /// High single-qualifier floating-point 2x2 matrix. 1335 /// @see gtc_type_precision 1336 typedef mat<2, 2, f32, highp> highp_f32mat2x2; 1337 1338 /// High single-qualifier floating-point 2x3 matrix. 1339 /// @see gtc_type_precision 1340 typedef mat<2, 3, f32, highp> highp_f32mat2x3; 1341 1342 /// High single-qualifier floating-point 2x4 matrix. 1343 /// @see gtc_type_precision 1344 typedef mat<2, 4, f32, highp> highp_f32mat2x4; 1345 1346 /// High single-qualifier floating-point 3x2 matrix. 1347 /// @see gtc_type_precision 1348 typedef mat<3, 2, f32, highp> highp_f32mat3x2; 1349 1350 /// High single-qualifier floating-point 3x3 matrix. 1351 /// @see gtc_type_precision 1352 typedef mat<3, 3, f32, highp> highp_f32mat3x3; 1353 1354 /// High single-qualifier floating-point 3x4 matrix. 1355 /// @see gtc_type_precision 1356 typedef mat<3, 4, f32, highp> highp_f32mat3x4; 1357 1358 /// High single-qualifier floating-point 4x2 matrix. 1359 /// @see gtc_type_precision 1360 typedef mat<4, 2, f32, highp> highp_f32mat4x2; 1361 1362 /// High single-qualifier floating-point 4x3 matrix. 1363 /// @see gtc_type_precision 1364 typedef mat<4, 3, f32, highp> highp_f32mat4x3; 1365 1366 /// High single-qualifier floating-point 4x4 matrix. 1367 /// @see gtc_type_precision 1368 typedef mat<4, 4, f32, highp> highp_f32mat4x4; 1369 1370 /// High single-qualifier floating-point 1x1 matrix. 1371 /// @see gtc_type_precision 1372 //typedef detail::tmat1x1<f32, highp> f32mat1; 1373 1374 /// High single-qualifier floating-point 2x2 matrix. 1375 /// @see gtc_type_precision 1376 typedef highp_f32mat2x2 highp_f32mat2; 1377 1378 /// High single-qualifier floating-point 3x3 matrix. 1379 /// @see gtc_type_precision 1380 typedef highp_f32mat3x3 highp_f32mat3; 1381 1382 /// High single-qualifier floating-point 4x4 matrix. 1383 /// @see gtc_type_precision 1384 typedef highp_f32mat4x4 highp_f32mat4; 1385 1386 1387 /// Low double-qualifier floating-point 1x1 matrix. 1388 /// @see gtc_type_precision 1389 //typedef f64 lowp_f64mat1x1; 1390 1391 /// Low double-qualifier floating-point 2x2 matrix. 1392 /// @see gtc_type_precision 1393 typedef mat<2, 2, f64, lowp> lowp_f64mat2x2; 1394 1395 /// Low double-qualifier floating-point 2x3 matrix. 1396 /// @see gtc_type_precision 1397 typedef mat<2, 3, f64, lowp> lowp_f64mat2x3; 1398 1399 /// Low double-qualifier floating-point 2x4 matrix. 1400 /// @see gtc_type_precision 1401 typedef mat<2, 4, f64, lowp> lowp_f64mat2x4; 1402 1403 /// Low double-qualifier floating-point 3x2 matrix. 1404 /// @see gtc_type_precision 1405 typedef mat<3, 2, f64, lowp> lowp_f64mat3x2; 1406 1407 /// Low double-qualifier floating-point 3x3 matrix. 1408 /// @see gtc_type_precision 1409 typedef mat<3, 3, f64, lowp> lowp_f64mat3x3; 1410 1411 /// Low double-qualifier floating-point 3x4 matrix. 1412 /// @see gtc_type_precision 1413 typedef mat<3, 4, f64, lowp> lowp_f64mat3x4; 1414 1415 /// Low double-qualifier floating-point 4x2 matrix. 1416 /// @see gtc_type_precision 1417 typedef mat<4, 2, f64, lowp> lowp_f64mat4x2; 1418 1419 /// Low double-qualifier floating-point 4x3 matrix. 1420 /// @see gtc_type_precision 1421 typedef mat<4, 3, f64, lowp> lowp_f64mat4x3; 1422 1423 /// Low double-qualifier floating-point 4x4 matrix. 1424 /// @see gtc_type_precision 1425 typedef mat<4, 4, f64, lowp> lowp_f64mat4x4; 1426 1427 /// Low double-qualifier floating-point 1x1 matrix. 1428 /// @see gtc_type_precision 1429 //typedef lowp_f64mat1x1 lowp_f64mat1; 1430 1431 /// Low double-qualifier floating-point 2x2 matrix. 1432 /// @see gtc_type_precision 1433 typedef lowp_f64mat2x2 lowp_f64mat2; 1434 1435 /// Low double-qualifier floating-point 3x3 matrix. 1436 /// @see gtc_type_precision 1437 typedef lowp_f64mat3x3 lowp_f64mat3; 1438 1439 /// Low double-qualifier floating-point 4x4 matrix. 1440 /// @see gtc_type_precision 1441 typedef lowp_f64mat4x4 lowp_f64mat4; 1442 1443 1444 /// Medium double-qualifier floating-point 1x1 matrix. 1445 /// @see gtc_type_precision 1446 //typedef f64 Highp_f64mat1x1; 1447 1448 /// Medium double-qualifier floating-point 2x2 matrix. 1449 /// @see gtc_type_precision 1450 typedef mat<2, 2, f64, mediump> mediump_f64mat2x2; 1451 1452 /// Medium double-qualifier floating-point 2x3 matrix. 1453 /// @see gtc_type_precision 1454 typedef mat<2, 3, f64, mediump> mediump_f64mat2x3; 1455 1456 /// Medium double-qualifier floating-point 2x4 matrix. 1457 /// @see gtc_type_precision 1458 typedef mat<2, 4, f64, mediump> mediump_f64mat2x4; 1459 1460 /// Medium double-qualifier floating-point 3x2 matrix. 1461 /// @see gtc_type_precision 1462 typedef mat<3, 2, f64, mediump> mediump_f64mat3x2; 1463 1464 /// Medium double-qualifier floating-point 3x3 matrix. 1465 /// @see gtc_type_precision 1466 typedef mat<3, 3, f64, mediump> mediump_f64mat3x3; 1467 1468 /// Medium double-qualifier floating-point 3x4 matrix. 1469 /// @see gtc_type_precision 1470 typedef mat<3, 4, f64, mediump> mediump_f64mat3x4; 1471 1472 /// Medium double-qualifier floating-point 4x2 matrix. 1473 /// @see gtc_type_precision 1474 typedef mat<4, 2, f64, mediump> mediump_f64mat4x2; 1475 1476 /// Medium double-qualifier floating-point 4x3 matrix. 1477 /// @see gtc_type_precision 1478 typedef mat<4, 3, f64, mediump> mediump_f64mat4x3; 1479 1480 /// Medium double-qualifier floating-point 4x4 matrix. 1481 /// @see gtc_type_precision 1482 typedef mat<4, 4, f64, mediump> mediump_f64mat4x4; 1483 1484 /// Medium double-qualifier floating-point 1x1 matrix. 1485 /// @see gtc_type_precision 1486 //typedef mediump_f64mat1x1 mediump_f64mat1; 1487 1488 /// Medium double-qualifier floating-point 2x2 matrix. 1489 /// @see gtc_type_precision 1490 typedef mediump_f64mat2x2 mediump_f64mat2; 1491 1492 /// Medium double-qualifier floating-point 3x3 matrix. 1493 /// @see gtc_type_precision 1494 typedef mediump_f64mat3x3 mediump_f64mat3; 1495 1496 /// Medium double-qualifier floating-point 4x4 matrix. 1497 /// @see gtc_type_precision 1498 typedef mediump_f64mat4x4 mediump_f64mat4; 1499 1500 /// High double-qualifier floating-point 1x1 matrix. 1501 /// @see gtc_type_precision 1502 //typedef f64 highp_f64mat1x1; 1503 1504 /// High double-qualifier floating-point 2x2 matrix. 1505 /// @see gtc_type_precision 1506 typedef mat<2, 2, f64, highp> highp_f64mat2x2; 1507 1508 /// High double-qualifier floating-point 2x3 matrix. 1509 /// @see gtc_type_precision 1510 typedef mat<2, 3, f64, highp> highp_f64mat2x3; 1511 1512 /// High double-qualifier floating-point 2x4 matrix. 1513 /// @see gtc_type_precision 1514 typedef mat<2, 4, f64, highp> highp_f64mat2x4; 1515 1516 /// High double-qualifier floating-point 3x2 matrix. 1517 /// @see gtc_type_precision 1518 typedef mat<3, 2, f64, highp> highp_f64mat3x2; 1519 1520 /// High double-qualifier floating-point 3x3 matrix. 1521 /// @see gtc_type_precision 1522 typedef mat<3, 3, f64, highp> highp_f64mat3x3; 1523 1524 /// High double-qualifier floating-point 3x4 matrix. 1525 /// @see gtc_type_precision 1526 typedef mat<3, 4, f64, highp> highp_f64mat3x4; 1527 1528 /// High double-qualifier floating-point 4x2 matrix. 1529 /// @see gtc_type_precision 1530 typedef mat<4, 2, f64, highp> highp_f64mat4x2; 1531 1532 /// High double-qualifier floating-point 4x3 matrix. 1533 /// @see gtc_type_precision 1534 typedef mat<4, 3, f64, highp> highp_f64mat4x3; 1535 1536 /// High double-qualifier floating-point 4x4 matrix. 1537 /// @see gtc_type_precision 1538 typedef mat<4, 4, f64, highp> highp_f64mat4x4; 1539 1540 /// High double-qualifier floating-point 1x1 matrix. 1541 /// @see gtc_type_precision 1542 //typedef highp_f64mat1x1 highp_f64mat1; 1543 1544 /// High double-qualifier floating-point 2x2 matrix. 1545 /// @see gtc_type_precision 1546 typedef highp_f64mat2x2 highp_f64mat2; 1547 1548 /// High double-qualifier floating-point 3x3 matrix. 1549 /// @see gtc_type_precision 1550 typedef highp_f64mat3x3 highp_f64mat3; 1551 1552 /// High double-qualifier floating-point 4x4 matrix. 1553 /// @see gtc_type_precision 1554 typedef highp_f64mat4x4 highp_f64mat4; 1555 1556 1557 1558 1559 /// Low qualifier 8 bit unsigned integer scalar type. 1560 /// @see gtc_type_precision 1561 typedef vec<1, u8, lowp> lowp_u8vec1; 1562 1563 /// Low qualifier 8 bit unsigned integer vector of 2 components type. 1564 /// @see gtc_type_precision 1565 typedef vec<2, u8, lowp> lowp_u8vec2; 1566 1567 /// Low qualifier 8 bit unsigned integer vector of 3 components type. 1568 /// @see gtc_type_precision 1569 typedef vec<3, u8, lowp> lowp_u8vec3; 1570 1571 /// Low qualifier 8 bit unsigned integer vector of 4 components type. 1572 /// @see gtc_type_precision 1573 typedef vec<4, u8, lowp> lowp_u8vec4; 1574 1575 1576 /// Medium qualifier 8 bit unsigned integer scalar type. 1577 /// @see gtc_type_precision 1578 typedef vec<1, u8, mediump> mediump_u8vec1; 1579 1580 /// Medium qualifier 8 bit unsigned integer vector of 2 components type. 1581 /// @see gtc_type_precision 1582 typedef vec<2, u8, mediump> mediump_u8vec2; 1583 1584 /// Medium qualifier 8 bit unsigned integer vector of 3 components type. 1585 /// @see gtc_type_precision 1586 typedef vec<3, u8, mediump> mediump_u8vec3; 1587 1588 /// Medium qualifier 8 bit unsigned integer vector of 4 components type. 1589 /// @see gtc_type_precision 1590 typedef vec<4, u8, mediump> mediump_u8vec4; 1591 1592 1593 /// High qualifier 8 bit unsigned integer scalar type. 1594 /// @see gtc_type_precision 1595 typedef vec<1, u8, highp> highp_u8vec1; 1596 1597 /// High qualifier 8 bit unsigned integer vector of 2 components type. 1598 /// @see gtc_type_precision 1599 typedef vec<2, u8, highp> highp_u8vec2; 1600 1601 /// High qualifier 8 bit unsigned integer vector of 3 components type. 1602 /// @see gtc_type_precision 1603 typedef vec<3, u8, highp> highp_u8vec3; 1604 1605 /// High qualifier 8 bit unsigned integer vector of 4 components type. 1606 /// @see gtc_type_precision 1607 typedef vec<4, u8, highp> highp_u8vec4; 1608 1609 1610 1611 /// Default qualifier 8 bit unsigned integer scalar type. 1612 /// @see gtc_type_precision 1613 typedef vec<1, u8, defaultp> u8vec1; 1614 1615 /// Default qualifier 8 bit unsigned integer vector of 2 components type. 1616 /// @see gtc_type_precision 1617 typedef vec<2, u8, defaultp> u8vec2; 1618 1619 /// Default qualifier 8 bit unsigned integer vector of 3 components type. 1620 /// @see gtc_type_precision 1621 typedef vec<3, u8, defaultp> u8vec3; 1622 1623 /// Default qualifier 8 bit unsigned integer vector of 4 components type. 1624 /// @see gtc_type_precision 1625 typedef vec<4, u8, defaultp> u8vec4; 1626 1627 1628 1629 1630 /// Low qualifier 16 bit unsigned integer scalar type. 1631 /// @see gtc_type_precision 1632 typedef vec<1, u16, lowp> lowp_u16vec1; 1633 1634 /// Low qualifier 16 bit unsigned integer vector of 2 components type. 1635 /// @see gtc_type_precision 1636 typedef vec<2, u16, lowp> lowp_u16vec2; 1637 1638 /// Low qualifier 16 bit unsigned integer vector of 3 components type. 1639 /// @see gtc_type_precision 1640 typedef vec<3, u16, lowp> lowp_u16vec3; 1641 1642 /// Low qualifier 16 bit unsigned integer vector of 4 components type. 1643 /// @see gtc_type_precision 1644 typedef vec<4, u16, lowp> lowp_u16vec4; 1645 1646 1647 /// Medium qualifier 16 bit unsigned integer scalar type. 1648 /// @see gtc_type_precision 1649 typedef vec<1, u16, mediump> mediump_u16vec1; 1650 1651 /// Medium qualifier 16 bit unsigned integer vector of 2 components type. 1652 /// @see gtc_type_precision 1653 typedef vec<2, u16, mediump> mediump_u16vec2; 1654 1655 /// Medium qualifier 16 bit unsigned integer vector of 3 components type. 1656 /// @see gtc_type_precision 1657 typedef vec<3, u16, mediump> mediump_u16vec3; 1658 1659 /// Medium qualifier 16 bit unsigned integer vector of 4 components type. 1660 /// @see gtc_type_precision 1661 typedef vec<4, u16, mediump> mediump_u16vec4; 1662 1663 1664 /// High qualifier 16 bit unsigned integer scalar type. 1665 /// @see gtc_type_precision 1666 typedef vec<1, u16, highp> highp_u16vec1; 1667 1668 /// High qualifier 16 bit unsigned integer vector of 2 components type. 1669 /// @see gtc_type_precision 1670 typedef vec<2, u16, highp> highp_u16vec2; 1671 1672 /// High qualifier 16 bit unsigned integer vector of 3 components type. 1673 /// @see gtc_type_precision 1674 typedef vec<3, u16, highp> highp_u16vec3; 1675 1676 /// High qualifier 16 bit unsigned integer vector of 4 components type. 1677 /// @see gtc_type_precision 1678 typedef vec<4, u16, highp> highp_u16vec4; 1679 1680 1681 1682 1683 /// Default qualifier 16 bit unsigned integer scalar type. 1684 /// @see gtc_type_precision 1685 typedef vec<1, u16, defaultp> u16vec1; 1686 1687 /// Default qualifier 16 bit unsigned integer vector of 2 components type. 1688 /// @see gtc_type_precision 1689 typedef vec<2, u16, defaultp> u16vec2; 1690 1691 /// Default qualifier 16 bit unsigned integer vector of 3 components type. 1692 /// @see gtc_type_precision 1693 typedef vec<3, u16, defaultp> u16vec3; 1694 1695 /// Default qualifier 16 bit unsigned integer vector of 4 components type. 1696 /// @see gtc_type_precision 1697 typedef vec<4, u16, defaultp> u16vec4; 1698 1699 1700 1701 /// Low qualifier 32 bit unsigned integer scalar type. 1702 /// @see gtc_type_precision 1703 typedef vec<1, u32, lowp> lowp_u32vec1; 1704 1705 /// Low qualifier 32 bit unsigned integer vector of 2 components type. 1706 /// @see gtc_type_precision 1707 typedef vec<2, u32, lowp> lowp_u32vec2; 1708 1709 /// Low qualifier 32 bit unsigned integer vector of 3 components type. 1710 /// @see gtc_type_precision 1711 typedef vec<3, u32, lowp> lowp_u32vec3; 1712 1713 /// Low qualifier 32 bit unsigned integer vector of 4 components type. 1714 /// @see gtc_type_precision 1715 typedef vec<4, u32, lowp> lowp_u32vec4; 1716 1717 1718 /// Medium qualifier 32 bit unsigned integer scalar type. 1719 /// @see gtc_type_precision 1720 typedef vec<1, u32, mediump> mediump_u32vec1; 1721 1722 /// Medium qualifier 32 bit unsigned integer vector of 2 components type. 1723 /// @see gtc_type_precision 1724 typedef vec<2, u32, mediump> mediump_u32vec2; 1725 1726 /// Medium qualifier 32 bit unsigned integer vector of 3 components type. 1727 /// @see gtc_type_precision 1728 typedef vec<3, u32, mediump> mediump_u32vec3; 1729 1730 /// Medium qualifier 32 bit unsigned integer vector of 4 components type. 1731 /// @see gtc_type_precision 1732 typedef vec<4, u32, mediump> mediump_u32vec4; 1733 1734 1735 /// High qualifier 32 bit unsigned integer scalar type. 1736 /// @see gtc_type_precision 1737 typedef vec<1, u32, highp> highp_u32vec1; 1738 1739 /// High qualifier 32 bit unsigned integer vector of 2 components type. 1740 /// @see gtc_type_precision 1741 typedef vec<2, u32, highp> highp_u32vec2; 1742 1743 /// High qualifier 32 bit unsigned integer vector of 3 components type. 1744 /// @see gtc_type_precision 1745 typedef vec<3, u32, highp> highp_u32vec3; 1746 1747 /// High qualifier 32 bit unsigned integer vector of 4 components type. 1748 /// @see gtc_type_precision 1749 typedef vec<4, u32, highp> highp_u32vec4; 1750 1751 1752 1753 /// Default qualifier 32 bit unsigned integer scalar type. 1754 /// @see gtc_type_precision 1755 typedef vec<1, u32, defaultp> u32vec1; 1756 1757 /// Default qualifier 32 bit unsigned integer vector of 2 components type. 1758 /// @see gtc_type_precision 1759 typedef vec<2, u32, defaultp> u32vec2; 1760 1761 /// Default qualifier 32 bit unsigned integer vector of 3 components type. 1762 /// @see gtc_type_precision 1763 typedef vec<3, u32, defaultp> u32vec3; 1764 1765 /// Default qualifier 32 bit unsigned integer vector of 4 components type. 1766 /// @see gtc_type_precision 1767 typedef vec<4, u32, defaultp> u32vec4; 1768 1769 1770 1771 1772 /// Low qualifier 64 bit unsigned integer scalar type. 1773 /// @see gtc_type_precision 1774 typedef vec<1, u64, lowp> lowp_u64vec1; 1775 1776 /// Low qualifier 64 bit unsigned integer vector of 2 components type. 1777 /// @see gtc_type_precision 1778 typedef vec<2, u64, lowp> lowp_u64vec2; 1779 1780 /// Low qualifier 64 bit unsigned integer vector of 3 components type. 1781 /// @see gtc_type_precision 1782 typedef vec<3, u64, lowp> lowp_u64vec3; 1783 1784 /// Low qualifier 64 bit unsigned integer vector of 4 components type. 1785 /// @see gtc_type_precision 1786 typedef vec<4, u64, lowp> lowp_u64vec4; 1787 1788 1789 /// Medium qualifier 64 bit unsigned integer scalar type. 1790 /// @see gtc_type_precision 1791 typedef vec<1, u64, mediump> mediump_u64vec1; 1792 1793 /// Medium qualifier 64 bit unsigned integer vector of 2 components type. 1794 /// @see gtc_type_precision 1795 typedef vec<2, u64, mediump> mediump_u64vec2; 1796 1797 /// Medium qualifier 64 bit unsigned integer vector of 3 components type. 1798 /// @see gtc_type_precision 1799 typedef vec<3, u64, mediump> mediump_u64vec3; 1800 1801 /// Medium qualifier 64 bit unsigned integer vector of 4 components type. 1802 /// @see gtc_type_precision 1803 typedef vec<4, u64, mediump> mediump_u64vec4; 1804 1805 1806 /// High qualifier 64 bit unsigned integer scalar type. 1807 /// @see gtc_type_precision 1808 typedef vec<1, u64, highp> highp_u64vec1; 1809 1810 /// High qualifier 64 bit unsigned integer vector of 2 components type. 1811 /// @see gtc_type_precision 1812 typedef vec<2, u64, highp> highp_u64vec2; 1813 1814 /// High qualifier 64 bit unsigned integer vector of 3 components type. 1815 /// @see gtc_type_precision 1816 typedef vec<3, u64, highp> highp_u64vec3; 1817 1818 /// High qualifier 64 bit unsigned integer vector of 4 components type. 1819 /// @see gtc_type_precision 1820 typedef vec<4, u64, highp> highp_u64vec4; 1821 1822 1823 1824 1825 /// Default qualifier 64 bit unsigned integer scalar type. 1826 /// @see gtc_type_precision 1827 typedef vec<1, u64, defaultp> u64vec1; 1828 1829 /// Default qualifier 64 bit unsigned integer vector of 2 components type. 1830 /// @see gtc_type_precision 1831 typedef vec<2, u64, defaultp> u64vec2; 1832 1833 /// Default qualifier 64 bit unsigned integer vector of 3 components type. 1834 /// @see gtc_type_precision 1835 typedef vec<3, u64, defaultp> u64vec3; 1836 1837 /// Default qualifier 64 bit unsigned integer vector of 4 components type. 1838 /// @see gtc_type_precision 1839 typedef vec<4, u64, defaultp> u64vec4; 1840 1841 1842 ////////////////////// 1843 // Float vector types 1844 1845 /// 32 bit single-qualifier floating-point scalar. 1846 /// @see gtc_type_precision 1847 typedef float32 float32_t; 1848 1849 /// 32 bit single-qualifier floating-point scalar. 1850 /// @see gtc_type_precision 1851 typedef float32 f32; 1852 1853 # ifndef GLM_FORCE_SINGLE_ONLY 1854 1855 /// 64 bit double-qualifier floating-point scalar. 1856 /// @see gtc_type_precision 1857 typedef float64 float64_t; 1858 1859 /// 64 bit double-qualifier floating-point scalar. 1860 /// @see gtc_type_precision 1861 typedef float64 f64; 1862 # endif//GLM_FORCE_SINGLE_ONLY 1863 1864 /// Single-qualifier floating-point vector of 1 component. 1865 /// @see gtc_type_precision 1866 typedef vec<1, float, defaultp> fvec1; 1867 1868 /// Single-qualifier floating-point vector of 2 components. 1869 /// @see gtc_type_precision 1870 typedef vec<2, float, defaultp> fvec2; 1871 1872 /// Single-qualifier floating-point vector of 3 components. 1873 /// @see gtc_type_precision 1874 typedef vec<3, float, defaultp> fvec3; 1875 1876 /// Single-qualifier floating-point vector of 4 components. 1877 /// @see gtc_type_precision 1878 typedef vec<4, float, defaultp> fvec4; 1879 1880 1881 /// Single-qualifier floating-point vector of 1 component. 1882 /// @see gtc_type_precision 1883 typedef vec<1, f32, defaultp> f32vec1; 1884 1885 /// Single-qualifier floating-point vector of 2 components. 1886 /// @see gtc_type_precision 1887 typedef vec<2, f32, defaultp> f32vec2; 1888 1889 /// Single-qualifier floating-point vector of 3 components. 1890 /// @see gtc_type_precision 1891 typedef vec<3, f32, defaultp> f32vec3; 1892 1893 /// Single-qualifier floating-point vector of 4 components. 1894 /// @see gtc_type_precision 1895 typedef vec<4, f32, defaultp> f32vec4; 1896 1897 # ifndef GLM_FORCE_SINGLE_ONLY 1898 /// Double-qualifier floating-point vector of 1 component. 1899 /// @see gtc_type_precision 1900 typedef vec<1, f64, defaultp> f64vec1; 1901 1902 /// Double-qualifier floating-point vector of 2 components. 1903 /// @see gtc_type_precision 1904 typedef vec<2, f64, defaultp> f64vec2; 1905 1906 /// Double-qualifier floating-point vector of 3 components. 1907 /// @see gtc_type_precision 1908 typedef vec<3, f64, defaultp> f64vec3; 1909 1910 /// Double-qualifier floating-point vector of 4 components. 1911 /// @see gtc_type_precision 1912 typedef vec<4, f64, defaultp> f64vec4; 1913 # endif//GLM_FORCE_SINGLE_ONLY 1914 1915 1916 ////////////////////// 1917 // Float matrix types 1918 1919 /// Single-qualifier floating-point 1x1 matrix. 1920 /// @see gtc_type_precision 1921 //typedef detail::tmat1x1<f32> fmat1; 1922 1923 /// Single-qualifier floating-point 2x2 matrix. 1924 /// @see gtc_type_precision 1925 typedef mat<2, 2, f32, defaultp> fmat2; 1926 1927 /// Single-qualifier floating-point 3x3 matrix. 1928 /// @see gtc_type_precision 1929 typedef mat<3, 3, f32, defaultp> fmat3; 1930 1931 /// Single-qualifier floating-point 4x4 matrix. 1932 /// @see gtc_type_precision 1933 typedef mat<4, 4, f32, defaultp> fmat4; 1934 1935 1936 /// Single-qualifier floating-point 1x1 matrix. 1937 /// @see gtc_type_precision 1938 //typedef f32 fmat1x1; 1939 1940 /// Single-qualifier floating-point 2x2 matrix. 1941 /// @see gtc_type_precision 1942 typedef mat<2, 2, f32, defaultp> fmat2x2; 1943 1944 /// Single-qualifier floating-point 2x3 matrix. 1945 /// @see gtc_type_precision 1946 typedef mat<2, 3, f32, defaultp> fmat2x3; 1947 1948 /// Single-qualifier floating-point 2x4 matrix. 1949 /// @see gtc_type_precision 1950 typedef mat<2, 4, f32, defaultp> fmat2x4; 1951 1952 /// Single-qualifier floating-point 3x2 matrix. 1953 /// @see gtc_type_precision 1954 typedef mat<3, 2, f32, defaultp> fmat3x2; 1955 1956 /// Single-qualifier floating-point 3x3 matrix. 1957 /// @see gtc_type_precision 1958 typedef mat<3, 3, f32, defaultp> fmat3x3; 1959 1960 /// Single-qualifier floating-point 3x4 matrix. 1961 /// @see gtc_type_precision 1962 typedef mat<3, 4, f32, defaultp> fmat3x4; 1963 1964 /// Single-qualifier floating-point 4x2 matrix. 1965 /// @see gtc_type_precision 1966 typedef mat<4, 2, f32, defaultp> fmat4x2; 1967 1968 /// Single-qualifier floating-point 4x3 matrix. 1969 /// @see gtc_type_precision 1970 typedef mat<4, 3, f32, defaultp> fmat4x3; 1971 1972 /// Single-qualifier floating-point 4x4 matrix. 1973 /// @see gtc_type_precision 1974 typedef mat<4, 4, f32, defaultp> fmat4x4; 1975 1976 1977 /// Single-qualifier floating-point 1x1 matrix. 1978 /// @see gtc_type_precision 1979 //typedef detail::tmat1x1<f32, defaultp> f32mat1; 1980 1981 /// Single-qualifier floating-point 2x2 matrix. 1982 /// @see gtc_type_precision 1983 typedef mat<2, 2, f32, defaultp> f32mat2; 1984 1985 /// Single-qualifier floating-point 3x3 matrix. 1986 /// @see gtc_type_precision 1987 typedef mat<3, 3, f32, defaultp> f32mat3; 1988 1989 /// Single-qualifier floating-point 4x4 matrix. 1990 /// @see gtc_type_precision 1991 typedef mat<4, 4, f32, defaultp> f32mat4; 1992 1993 1994 /// Single-qualifier floating-point 1x1 matrix. 1995 /// @see gtc_type_precision 1996 //typedef f32 f32mat1x1; 1997 1998 /// Single-qualifier floating-point 2x2 matrix. 1999 /// @see gtc_type_precision 2000 typedef mat<2, 2, f32, defaultp> f32mat2x2; 2001 2002 /// Single-qualifier floating-point 2x3 matrix. 2003 /// @see gtc_type_precision 2004 typedef mat<2, 3, f32, defaultp> f32mat2x3; 2005 2006 /// Single-qualifier floating-point 2x4 matrix. 2007 /// @see gtc_type_precision 2008 typedef mat<2, 4, f32, defaultp> f32mat2x4; 2009 2010 /// Single-qualifier floating-point 3x2 matrix. 2011 /// @see gtc_type_precision 2012 typedef mat<3, 2, f32, defaultp> f32mat3x2; 2013 2014 /// Single-qualifier floating-point 3x3 matrix. 2015 /// @see gtc_type_precision 2016 typedef mat<3, 3, f32, defaultp> f32mat3x3; 2017 2018 /// Single-qualifier floating-point 3x4 matrix. 2019 /// @see gtc_type_precision 2020 typedef mat<3, 4, f32, defaultp> f32mat3x4; 2021 2022 /// Single-qualifier floating-point 4x2 matrix. 2023 /// @see gtc_type_precision 2024 typedef mat<4, 2, f32, defaultp> f32mat4x2; 2025 2026 /// Single-qualifier floating-point 4x3 matrix. 2027 /// @see gtc_type_precision 2028 typedef mat<4, 3, f32, defaultp> f32mat4x3; 2029 2030 /// Single-qualifier floating-point 4x4 matrix. 2031 /// @see gtc_type_precision 2032 typedef mat<4, 4, f32, defaultp> f32mat4x4; 2033 2034 2035 # ifndef GLM_FORCE_SINGLE_ONLY 2036 2037 /// Double-qualifier floating-point 1x1 matrix. 2038 /// @see gtc_type_precision 2039 //typedef detail::tmat1x1<f64, defaultp> f64mat1; 2040 2041 /// Double-qualifier floating-point 2x2 matrix. 2042 /// @see gtc_type_precision 2043 typedef mat<2, 2, f64, defaultp> f64mat2; 2044 2045 /// Double-qualifier floating-point 3x3 matrix. 2046 /// @see gtc_type_precision 2047 typedef mat<3, 3, f64, defaultp> f64mat3; 2048 2049 /// Double-qualifier floating-point 4x4 matrix. 2050 /// @see gtc_type_precision 2051 typedef mat<4, 4, f64, defaultp> f64mat4; 2052 2053 2054 /// Double-qualifier floating-point 1x1 matrix. 2055 /// @see gtc_type_precision 2056 //typedef f64 f64mat1x1; 2057 2058 /// Double-qualifier floating-point 2x2 matrix. 2059 /// @see gtc_type_precision 2060 typedef mat<2, 2, f64, defaultp> f64mat2x2; 2061 2062 /// Double-qualifier floating-point 2x3 matrix. 2063 /// @see gtc_type_precision 2064 typedef mat<2, 3, f64, defaultp> f64mat2x3; 2065 2066 /// Double-qualifier floating-point 2x4 matrix. 2067 /// @see gtc_type_precision 2068 typedef mat<2, 4, f64, defaultp> f64mat2x4; 2069 2070 /// Double-qualifier floating-point 3x2 matrix. 2071 /// @see gtc_type_precision 2072 typedef mat<3, 2, f64, defaultp> f64mat3x2; 2073 2074 /// Double-qualifier floating-point 3x3 matrix. 2075 /// @see gtc_type_precision 2076 typedef mat<3, 3, f64, defaultp> f64mat3x3; 2077 2078 /// Double-qualifier floating-point 3x4 matrix. 2079 /// @see gtc_type_precision 2080 typedef mat<3, 4, f64, defaultp> f64mat3x4; 2081 2082 /// Double-qualifier floating-point 4x2 matrix. 2083 /// @see gtc_type_precision 2084 typedef mat<4, 2, f64, defaultp> f64mat4x2; 2085 2086 /// Double-qualifier floating-point 4x3 matrix. 2087 /// @see gtc_type_precision 2088 typedef mat<4, 3, f64, defaultp> f64mat4x3; 2089 2090 /// Double-qualifier floating-point 4x4 matrix. 2091 /// @see gtc_type_precision 2092 typedef mat<4, 4, f64, defaultp> f64mat4x4; 2093 2094 # endif//GLM_FORCE_SINGLE_ONLY 2095 2096 ////////////////////////// 2097 // Quaternion types 2098 2099 /// Single-qualifier floating-point quaternion. 2100 /// @see gtc_type_precision 2101 typedef qua<f32, defaultp> f32quat; 2102 2103 /// Low single-qualifier floating-point quaternion. 2104 /// @see gtc_type_precision 2105 typedef qua<f32, lowp> lowp_f32quat; 2106 2107 /// Low double-qualifier floating-point quaternion. 2108 /// @see gtc_type_precision 2109 typedef qua<f64, lowp> lowp_f64quat; 2110 2111 /// Medium single-qualifier floating-point quaternion. 2112 /// @see gtc_type_precision 2113 typedef qua<f32, mediump> mediump_f32quat; 2114 2115 # ifndef GLM_FORCE_SINGLE_ONLY 2116 2117 /// Medium double-qualifier floating-point quaternion. 2118 /// @see gtc_type_precision 2119 typedef qua<f64, mediump> mediump_f64quat; 2120 2121 /// High single-qualifier floating-point quaternion. 2122 /// @see gtc_type_precision 2123 typedef qua<f32, highp> highp_f32quat; 2124 2125 /// High double-qualifier floating-point quaternion. 2126 /// @see gtc_type_precision 2127 typedef qua<f64, highp> highp_f64quat; 2128 2129 /// Double-qualifier floating-point quaternion. 2130 /// @see gtc_type_precision 2131 typedef qua<f64, defaultp> f64quat; 2132 2133 # endif//GLM_FORCE_SINGLE_ONLY 2134 2135 /// @} 2136 }//namespace glm 2137 2138 #include "type_precision.inl" 2139