1/////////////////////////////////////////////////////////////////////////////////// 2/// OpenGL Mathematics (glm.g-truc.net) 3/// 4/// Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 5/// Permission is hereby granted, free of charge, to any person obtaining a copy 6/// of this software and associated documentation files (the "Software"), to deal 7/// in the Software without restriction, including without limitation the rights 8/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9/// copies of the Software, and to permit persons to whom the Software is 10/// furnished to do so, subject to the following conditions: 11/// 12/// The above copyright notice and this permission notice shall be included in 13/// all copies or substantial portions of the Software. 14/// 15/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21/// THE SOFTWARE. 22/// 23/// @ref core 24/// @file glm/glm.cpp 25/// @date 2013-04-22 / 2013-04-22 26/// @author Christophe Riccio 27/////////////////////////////////////////////////////////////////////////////////// 28 29#include <glm/glm.hpp> 30#include <glm/gtc/quaternion.hpp> 31#include <glm/gtx/dual_quaternion.hpp> 32 33namespace glm{ 34namespace detail 35{ 36// tvec1 type explicit instantiation 37/* 38template struct tvec1<uint8, lowp>; 39template struct tvec1<uint16, lowp>; 40template struct tvec1<uint32, lowp>; 41template struct tvec1<uint64, lowp>; 42template struct tvec1<int8, lowp>; 43template struct tvec1<int16, lowp>; 44template struct tvec1<int32, lowp>; 45template struct tvec1<int64, lowp>; 46template struct tvec1<float16, lowp>; 47template struct tvec1<float32, lowp>; 48template struct tvec1<float64, lowp>; 49 50template struct tvec1<uint8, mediump>; 51template struct tvec1<uint16, mediump>; 52template struct tvec1<uint32, mediump>; 53template struct tvec1<uint64, mediump>; 54template struct tvec1<int8, mediump>; 55template struct tvec1<int16, mediump>; 56template struct tvec1<int32, mediump>; 57template struct tvec1<int64, mediump>; 58template struct tvec1<float16, mediump>; 59template struct tvec1<float32, mediump>; 60template struct tvec1<float64, mediump>; 61 62template struct tvec1<uint8, highp>; 63template struct tvec1<uint16, highp>; 64template struct tvec1<uint32, highp>; 65template struct tvec1<uint64, highp>; 66template struct tvec1<int8, highp>; 67template struct tvec1<int16, highp>; 68template struct tvec1<int32, highp>; 69template struct tvec1<int64, highp>; 70template struct tvec1<float16, highp>; 71template struct tvec1<float32, highp>; 72template struct tvec1<float64, highp>; 73*/ 74// tvec2 type explicit instantiation 75template struct tvec2<uint8, lowp>; 76template struct tvec2<uint16, lowp>; 77template struct tvec2<uint32, lowp>; 78template struct tvec2<uint64, lowp>; 79template struct tvec2<int8, lowp>; 80template struct tvec2<int16, lowp>; 81template struct tvec2<int32, lowp>; 82template struct tvec2<int64, lowp>; 83template struct tvec2<float32, lowp>; 84template struct tvec2<float64, lowp>; 85 86template struct tvec2<uint8, mediump>; 87template struct tvec2<uint16, mediump>; 88template struct tvec2<uint32, mediump>; 89template struct tvec2<uint64, mediump>; 90template struct tvec2<int8, mediump>; 91template struct tvec2<int16, mediump>; 92template struct tvec2<int32, mediump>; 93template struct tvec2<int64, mediump>; 94template struct tvec2<float32, mediump>; 95template struct tvec2<float64, mediump>; 96 97template struct tvec2<uint8, highp>; 98template struct tvec2<uint16, highp>; 99template struct tvec2<uint32, highp>; 100template struct tvec2<uint64, highp>; 101template struct tvec2<int8, highp>; 102template struct tvec2<int16, highp>; 103template struct tvec2<int32, highp>; 104template struct tvec2<int64, highp>; 105template struct tvec2<float32, highp>; 106template struct tvec2<float64, highp>; 107 108// tvec3 type explicit instantiation 109template struct tvec3<uint8, lowp>; 110template struct tvec3<uint16, lowp>; 111template struct tvec3<uint32, lowp>; 112template struct tvec3<uint64, lowp>; 113template struct tvec3<int8, lowp>; 114template struct tvec3<int16, lowp>; 115template struct tvec3<int32, lowp>; 116template struct tvec3<int64, lowp>; 117template struct tvec3<float32, lowp>; 118template struct tvec3<float64, lowp>; 119 120template struct tvec3<uint8, mediump>; 121template struct tvec3<uint16, mediump>; 122template struct tvec3<uint32, mediump>; 123template struct tvec3<uint64, mediump>; 124template struct tvec3<int8, mediump>; 125template struct tvec3<int16, mediump>; 126template struct tvec3<int32, mediump>; 127template struct tvec3<int64, mediump>; 128template struct tvec3<float32, mediump>; 129template struct tvec3<float64, mediump>; 130 131template struct tvec3<uint8, highp>; 132template struct tvec3<uint16, highp>; 133template struct tvec3<uint32, highp>; 134template struct tvec3<uint64, highp>; 135template struct tvec3<int8, highp>; 136template struct tvec3<int16, highp>; 137template struct tvec3<int32, highp>; 138template struct tvec3<int64, highp>; 139template struct tvec3<float32, highp>; 140template struct tvec3<float64, highp>; 141 142// tvec4 type explicit instantiation 143template struct tvec4<uint8, lowp>; 144template struct tvec4<uint16, lowp>; 145template struct tvec4<uint32, lowp>; 146template struct tvec4<uint64, lowp>; 147template struct tvec4<int8, lowp>; 148template struct tvec4<int16, lowp>; 149template struct tvec4<int32, lowp>; 150template struct tvec4<int64, lowp>; 151template struct tvec4<float32, lowp>; 152template struct tvec4<float64, lowp>; 153 154template struct tvec4<uint8, mediump>; 155template struct tvec4<uint16, mediump>; 156template struct tvec4<uint32, mediump>; 157template struct tvec4<uint64, mediump>; 158template struct tvec4<int8, mediump>; 159template struct tvec4<int16, mediump>; 160template struct tvec4<int32, mediump>; 161template struct tvec4<int64, mediump>; 162template struct tvec4<float32, mediump>; 163template struct tvec4<float64, mediump>; 164 165template struct tvec4<uint8, highp>; 166template struct tvec4<uint16, highp>; 167template struct tvec4<uint32, highp>; 168template struct tvec4<uint64, highp>; 169template struct tvec4<int8, highp>; 170template struct tvec4<int16, highp>; 171template struct tvec4<int32, highp>; 172template struct tvec4<int64, highp>; 173template struct tvec4<float32, highp>; 174template struct tvec4<float64, highp>; 175 176// tmat2x2 type explicit instantiation 177template struct tmat2x2<float32, lowp>; 178template struct tmat2x2<float64, lowp>; 179 180template struct tmat2x2<float32, mediump>; 181template struct tmat2x2<float64, mediump>; 182 183template struct tmat2x2<float32, highp>; 184template struct tmat2x2<float64, highp>; 185 186// tmat2x3 type explicit instantiation 187template struct tmat2x3<float32, lowp>; 188template struct tmat2x3<float64, lowp>; 189 190template struct tmat2x3<float32, mediump>; 191template struct tmat2x3<float64, mediump>; 192 193template struct tmat2x3<float32, highp>; 194template struct tmat2x3<float64, highp>; 195 196// tmat2x4 type explicit instantiation 197template struct tmat2x4<float32, lowp>; 198template struct tmat2x4<float64, lowp>; 199 200template struct tmat2x4<float32, mediump>; 201template struct tmat2x4<float64, mediump>; 202 203template struct tmat2x4<float32, highp>; 204template struct tmat2x4<float64, highp>; 205 206// tmat3x2 type explicit instantiation 207template struct tmat3x2<float32, lowp>; 208template struct tmat3x2<float64, lowp>; 209 210template struct tmat3x2<float32, mediump>; 211template struct tmat3x2<float64, mediump>; 212 213template struct tmat3x2<float32, highp>; 214template struct tmat3x2<float64, highp>; 215 216// tmat3x3 type explicit instantiation 217template struct tmat3x3<float32, lowp>; 218template struct tmat3x3<float64, lowp>; 219 220template struct tmat3x3<float32, mediump>; 221template struct tmat3x3<float64, mediump>; 222 223template struct tmat3x3<float32, highp>; 224template struct tmat3x3<float64, highp>; 225 226// tmat3x4 type explicit instantiation 227template struct tmat3x4<float32, lowp>; 228template struct tmat3x4<float64, lowp>; 229 230template struct tmat3x4<float32, mediump>; 231template struct tmat3x4<float64, mediump>; 232 233template struct tmat3x4<float32, highp>; 234template struct tmat3x4<float64, highp>; 235 236// tmat4x2 type explicit instantiation 237template struct tmat4x2<float32, lowp>; 238template struct tmat4x2<float64, lowp>; 239 240template struct tmat4x2<float32, mediump>; 241template struct tmat4x2<float64, mediump>; 242 243template struct tmat4x2<float32, highp>; 244template struct tmat4x2<float64, highp>; 245 246// tmat4x3 type explicit instantiation 247template struct tmat4x3<float32, lowp>; 248template struct tmat4x3<float64, lowp>; 249 250template struct tmat4x3<float32, mediump>; 251template struct tmat4x3<float64, mediump>; 252 253template struct tmat4x3<float32, highp>; 254template struct tmat4x3<float64, highp>; 255 256// tmat4x4 type explicit instantiation 257template struct tmat4x4<float32, lowp>; 258template struct tmat4x4<float64, lowp>; 259 260template struct tmat4x4<float32, mediump>; 261template struct tmat4x4<float64, mediump>; 262 263template struct tmat4x4<float32, highp>; 264template struct tmat4x4<float64, highp>; 265 266// tquat type explicit instantiation 267template struct tquat<float32, lowp>; 268template struct tquat<float64, lowp>; 269 270template struct tquat<float32, mediump>; 271template struct tquat<float64, mediump>; 272 273template struct tquat<float32, highp>; 274template struct tquat<float64, highp>; 275 276//tdualquat type explicit instantiation 277template struct tdualquat<float32, lowp>; 278template struct tdualquat<float64, lowp>; 279 280template struct tdualquat<float32, mediump>; 281template struct tdualquat<float64, mediump>; 282 283template struct tdualquat<float32, highp>; 284template struct tdualquat<float64, highp>; 285 286}//namespace detail 287}//namespace glm 288 289