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