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