ext.hpp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /// @file glm/ext.hpp
  2. ///
  3. /// @ref core (Dependence)
  4. ///
  5. /// @defgroup gtc GTC Extensions (Stable)
  6. ///
  7. /// @brief Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.
  8. ///
  9. /// GTC extensions aim to be stable.
  10. ///
  11. /// Even if it's highly unrecommended, it's possible to include all the extensions at once by
  12. /// including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.
  13. ///
  14. /// @defgroup gtx GTX Extensions (Experimental)
  15. ///
  16. /// @brief Functions and types that the GLSL specification doesn't define, but
  17. /// useful to have for a C++ program.
  18. ///
  19. /// Experimental extensions are useful functions and types, but the development of
  20. /// their API and functionality is not necessarily stable. They can change
  21. /// substantially between versions. Backwards compatibility is not much of an issue
  22. /// for them.
  23. ///
  24. /// Even if it's highly unrecommended, it's possible to include all the extensions
  25. /// at once by including <glm/ext.hpp>. Otherwise, each extension needs to be
  26. /// included a specific file.
  27. #include "detail/setup.hpp"
  28. #pragma once
  29. #include "glm.hpp"
  30. #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED)
  31. # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
  32. # pragma message("GLM: All extensions included (not recommanded)")
  33. #endif//GLM_MESSAGES
  34. #include "./gtc/bitfield.hpp"
  35. #include "./gtc/color_space.hpp"
  36. #include "./gtc/constants.hpp"
  37. #include "./gtc/epsilon.hpp"
  38. #include "./gtc/integer.hpp"
  39. #include "./gtc/matrix_access.hpp"
  40. #include "./gtc/matrix_integer.hpp"
  41. #include "./gtc/matrix_inverse.hpp"
  42. #include "./gtc/matrix_transform.hpp"
  43. #include "./gtc/noise.hpp"
  44. #include "./gtc/packing.hpp"
  45. #include "./gtc/quaternion.hpp"
  46. #include "./gtc/random.hpp"
  47. #include "./gtc/reciprocal.hpp"
  48. #include "./gtc/round.hpp"
  49. //#include "./gtc/type_aligned.hpp"
  50. #include "./gtc/type_precision.hpp"
  51. #include "./gtc/type_ptr.hpp"
  52. #include "./gtc/ulp.hpp"
  53. #include "./gtc/vec1.hpp"
  54. #if GLM_HAS_ALIGNED_TYPE
  55. # include "./gtc/type_aligned.hpp"
  56. #endif
  57. #ifdef GLM_ENABLE_EXPERIMENTAL
  58. #include "./gtx/associated_min_max.hpp"
  59. #include "./gtx/bit.hpp"
  60. #include "./gtx/closest_point.hpp"
  61. #include "./gtx/color_encoding.hpp"
  62. #include "./gtx/color_space.hpp"
  63. #include "./gtx/color_space_YCoCg.hpp"
  64. #include "./gtx/compatibility.hpp"
  65. #include "./gtx/component_wise.hpp"
  66. #include "./gtx/dual_quaternion.hpp"
  67. #include "./gtx/euler_angles.hpp"
  68. #include "./gtx/extend.hpp"
  69. #include "./gtx/extended_min_max.hpp"
  70. #include "./gtx/fast_exponential.hpp"
  71. #include "./gtx/fast_square_root.hpp"
  72. #include "./gtx/fast_trigonometry.hpp"
  73. #include "./gtx/functions.hpp"
  74. #include "./gtx/gradient_paint.hpp"
  75. #include "./gtx/handed_coordinate_space.hpp"
  76. #include "./gtx/integer.hpp"
  77. #include "./gtx/intersect.hpp"
  78. #include "./gtx/log_base.hpp"
  79. #include "./gtx/matrix_cross_product.hpp"
  80. #include "./gtx/matrix_interpolation.hpp"
  81. #include "./gtx/matrix_major_storage.hpp"
  82. #include "./gtx/matrix_operation.hpp"
  83. #include "./gtx/matrix_query.hpp"
  84. #include "./gtx/mixed_product.hpp"
  85. #include "./gtx/norm.hpp"
  86. #include "./gtx/normal.hpp"
  87. #include "./gtx/normalize_dot.hpp"
  88. #include "./gtx/number_precision.hpp"
  89. #include "./gtx/optimum_pow.hpp"
  90. #include "./gtx/orthonormalize.hpp"
  91. #include "./gtx/perpendicular.hpp"
  92. #include "./gtx/polar_coordinates.hpp"
  93. #include "./gtx/projection.hpp"
  94. #include "./gtx/quaternion.hpp"
  95. #include "./gtx/raw_data.hpp"
  96. #include "./gtx/rotate_vector.hpp"
  97. #include "./gtx/spline.hpp"
  98. #include "./gtx/std_based_type.hpp"
  99. #if !(GLM_COMPILER & GLM_COMPILER_CUDA)
  100. # include "./gtx/string_cast.hpp"
  101. #endif
  102. #include "./gtx/transform.hpp"
  103. #include "./gtx/transform2.hpp"
  104. #include "./gtx/vec_swizzle.hpp"
  105. #include "./gtx/vector_angle.hpp"
  106. #include "./gtx/vector_query.hpp"
  107. #include "./gtx/wrap.hpp"
  108. #if GLM_HAS_TEMPLATE_ALIASES
  109. # include "./gtx/scalar_multiplication.hpp"
  110. #endif
  111. #if GLM_HAS_RANGE_FOR
  112. # include "./gtx/range.hpp"
  113. #endif
  114. #endif//GLM_ENABLE_EXPERIMENTAL