glm.cpp 8.3 KB

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