glm.cpp 8.5 KB

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