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