Home | History | Annotate | Download | only in detail
      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 
     33 namespace glm{
     34 namespace detail
     35 {
     36 // tvec1 type explicit instantiation
     37 /*
     38 template struct tvec1<uint8, lowp>;
     39 template struct tvec1<uint16, lowp>;
     40 template struct tvec1<uint32, lowp>;
     41 template struct tvec1<uint64, lowp>;
     42 template struct tvec1<int8, lowp>;
     43 template struct tvec1<int16, lowp>;
     44 template struct tvec1<int32, lowp>;
     45 template struct tvec1<int64, lowp>;
     46 template struct tvec1<float16, lowp>;
     47 template struct tvec1<float32, lowp>;
     48 template struct tvec1<float64, lowp>;
     49 
     50 template struct tvec1<uint8, mediump>;
     51 template struct tvec1<uint16, mediump>;
     52 template struct tvec1<uint32, mediump>;
     53 template struct tvec1<uint64, mediump>;
     54 template struct tvec1<int8, mediump>;
     55 template struct tvec1<int16, mediump>;
     56 template struct tvec1<int32, mediump>;
     57 template struct tvec1<int64, mediump>;
     58 template struct tvec1<float16, mediump>;
     59 template struct tvec1<float32, mediump>;
     60 template struct tvec1<float64, mediump>;
     61 
     62 template struct tvec1<uint8, highp>;
     63 template struct tvec1<uint16, highp>;
     64 template struct tvec1<uint32, highp>;
     65 template struct tvec1<uint64, highp>;
     66 template struct tvec1<int8, highp>;
     67 template struct tvec1<int16, highp>;
     68 template struct tvec1<int32, highp>;
     69 template struct tvec1<int64, highp>;
     70 template struct tvec1<float16, highp>;
     71 template struct tvec1<float32, highp>;
     72 template struct tvec1<float64, highp>;
     73 */
     74 // tvec2 type explicit instantiation
     75 template struct tvec2<uint8, lowp>;
     76 template struct tvec2<uint16, lowp>;
     77 template struct tvec2<uint32, lowp>;
     78 template struct tvec2<uint64, lowp>;
     79 template struct tvec2<int8, lowp>;
     80 template struct tvec2<int16, lowp>;
     81 template struct tvec2<int32, lowp>;
     82 template struct tvec2<int64, lowp>;
     83 template struct tvec2<float32, lowp>;
     84 template struct tvec2<float64, lowp>;
     85 
     86 template struct tvec2<uint8, mediump>;
     87 template struct tvec2<uint16, mediump>;
     88 template struct tvec2<uint32, mediump>;
     89 template struct tvec2<uint64, mediump>;
     90 template struct tvec2<int8, mediump>;
     91 template struct tvec2<int16, mediump>;
     92 template struct tvec2<int32, mediump>;
     93 template struct tvec2<int64, mediump>;
     94 template struct tvec2<float32, mediump>;
     95 template struct tvec2<float64, mediump>;
     96 
     97 template struct tvec2<uint8, highp>;
     98 template struct tvec2<uint16, highp>;
     99 template struct tvec2<uint32, highp>;
    100 template struct tvec2<uint64, highp>;
    101 template struct tvec2<int8, highp>;
    102 template struct tvec2<int16, highp>;
    103 template struct tvec2<int32, highp>;
    104 template struct tvec2<int64, highp>;
    105 template struct tvec2<float32, highp>;
    106 template struct tvec2<float64, highp>;
    107 
    108 // tvec3 type explicit instantiation
    109 template struct tvec3<uint8, lowp>;
    110 template struct tvec3<uint16, lowp>;
    111 template struct tvec3<uint32, lowp>;
    112 template struct tvec3<uint64, lowp>;
    113 template struct tvec3<int8, lowp>;
    114 template struct tvec3<int16, lowp>;
    115 template struct tvec3<int32, lowp>;
    116 template struct tvec3<int64, lowp>;
    117 template struct tvec3<float32, lowp>;
    118 template struct tvec3<float64, lowp>;
    119 
    120 template struct tvec3<uint8, mediump>;
    121 template struct tvec3<uint16, mediump>;
    122 template struct tvec3<uint32, mediump>;
    123 template struct tvec3<uint64, mediump>;
    124 template struct tvec3<int8, mediump>;
    125 template struct tvec3<int16, mediump>;
    126 template struct tvec3<int32, mediump>;
    127 template struct tvec3<int64, mediump>;
    128 template struct tvec3<float32, mediump>;
    129 template struct tvec3<float64, mediump>;
    130 
    131 template struct tvec3<uint8, highp>;
    132 template struct tvec3<uint16, highp>;
    133 template struct tvec3<uint32, highp>;
    134 template struct tvec3<uint64, highp>;
    135 template struct tvec3<int8, highp>;
    136 template struct tvec3<int16, highp>;
    137 template struct tvec3<int32, highp>;
    138 template struct tvec3<int64, highp>;
    139 template struct tvec3<float32, highp>;
    140 template struct tvec3<float64, highp>;
    141 
    142 // tvec4 type explicit instantiation
    143 template struct tvec4<uint8, lowp>;
    144 template struct tvec4<uint16, lowp>;
    145 template struct tvec4<uint32, lowp>;
    146 template struct tvec4<uint64, lowp>;
    147 template struct tvec4<int8, lowp>;
    148 template struct tvec4<int16, lowp>;
    149 template struct tvec4<int32, lowp>;
    150 template struct tvec4<int64, lowp>;
    151 template struct tvec4<float32, lowp>;
    152 template struct tvec4<float64, lowp>;
    153 
    154 template struct tvec4<uint8, mediump>;
    155 template struct tvec4<uint16, mediump>;
    156 template struct tvec4<uint32, mediump>;
    157 template struct tvec4<uint64, mediump>;
    158 template struct tvec4<int8, mediump>;
    159 template struct tvec4<int16, mediump>;
    160 template struct tvec4<int32, mediump>;
    161 template struct tvec4<int64, mediump>;
    162 template struct tvec4<float32, mediump>;
    163 template struct tvec4<float64, mediump>;
    164 
    165 template struct tvec4<uint8, highp>;
    166 template struct tvec4<uint16, highp>;
    167 template struct tvec4<uint32, highp>;
    168 template struct tvec4<uint64, highp>;
    169 template struct tvec4<int8, highp>;
    170 template struct tvec4<int16, highp>;
    171 template struct tvec4<int32, highp>;
    172 template struct tvec4<int64, highp>;
    173 template struct tvec4<float32, highp>;
    174 template struct tvec4<float64, highp>;
    175 
    176 // tmat2x2 type explicit instantiation
    177 template struct tmat2x2<float32, lowp>;
    178 template struct tmat2x2<float64, lowp>;
    179 
    180 template struct tmat2x2<float32, mediump>;
    181 template struct tmat2x2<float64, mediump>;
    182 
    183 template struct tmat2x2<float32, highp>;
    184 template struct tmat2x2<float64, highp>;
    185 
    186 // tmat2x3 type explicit instantiation
    187 template struct tmat2x3<float32, lowp>;
    188 template struct tmat2x3<float64, lowp>;
    189 
    190 template struct tmat2x3<float32, mediump>;
    191 template struct tmat2x3<float64, mediump>;
    192 
    193 template struct tmat2x3<float32, highp>;
    194 template struct tmat2x3<float64, highp>;
    195 
    196 // tmat2x4 type explicit instantiation
    197 template struct tmat2x4<float32, lowp>;
    198 template struct tmat2x4<float64, lowp>;
    199 
    200 template struct tmat2x4<float32, mediump>;
    201 template struct tmat2x4<float64, mediump>;
    202 
    203 template struct tmat2x4<float32, highp>;
    204 template struct tmat2x4<float64, highp>;
    205 
    206 // tmat3x2 type explicit instantiation
    207 template struct tmat3x2<float32, lowp>;
    208 template struct tmat3x2<float64, lowp>;
    209 
    210 template struct tmat3x2<float32, mediump>;
    211 template struct tmat3x2<float64, mediump>;
    212 
    213 template struct tmat3x2<float32, highp>;
    214 template struct tmat3x2<float64, highp>;
    215 
    216 // tmat3x3 type explicit instantiation
    217 template struct tmat3x3<float32, lowp>;
    218 template struct tmat3x3<float64, lowp>;
    219 
    220 template struct tmat3x3<float32, mediump>;
    221 template struct tmat3x3<float64, mediump>;
    222 
    223 template struct tmat3x3<float32, highp>;
    224 template struct tmat3x3<float64, highp>;
    225 
    226 // tmat3x4 type explicit instantiation
    227 template struct tmat3x4<float32, lowp>;
    228 template struct tmat3x4<float64, lowp>;
    229 
    230 template struct tmat3x4<float32, mediump>;
    231 template struct tmat3x4<float64, mediump>;
    232 
    233 template struct tmat3x4<float32, highp>;
    234 template struct tmat3x4<float64, highp>;
    235 
    236 // tmat4x2 type explicit instantiation
    237 template struct tmat4x2<float32, lowp>;
    238 template struct tmat4x2<float64, lowp>;
    239 
    240 template struct tmat4x2<float32, mediump>;
    241 template struct tmat4x2<float64, mediump>;
    242 
    243 template struct tmat4x2<float32, highp>;
    244 template struct tmat4x2<float64, highp>;
    245 
    246 // tmat4x3 type explicit instantiation
    247 template struct tmat4x3<float32, lowp>;
    248 template struct tmat4x3<float64, lowp>;
    249 
    250 template struct tmat4x3<float32, mediump>;
    251 template struct tmat4x3<float64, mediump>;
    252 
    253 template struct tmat4x3<float32, highp>;
    254 template struct tmat4x3<float64, highp>;
    255 
    256 // tmat4x4 type explicit instantiation
    257 template struct tmat4x4<float32, lowp>;
    258 template struct tmat4x4<float64, lowp>;
    259 
    260 template struct tmat4x4<float32, mediump>;
    261 template struct tmat4x4<float64, mediump>;
    262 
    263 template struct tmat4x4<float32, highp>;
    264 template struct tmat4x4<float64, highp>;
    265 
    266 // tquat type explicit instantiation
    267 template struct tquat<float32, lowp>;
    268 template struct tquat<float64, lowp>;
    269 
    270 template struct tquat<float32, mediump>;
    271 template struct tquat<float64, mediump>;
    272 
    273 template struct tquat<float32, highp>;
    274 template struct tquat<float64, highp>;
    275 
    276 //tdualquat type explicit instantiation
    277 template struct tdualquat<float32, lowp>;
    278 template struct tdualquat<float64, lowp>;
    279 
    280 template struct tdualquat<float32, mediump>;
    281 template struct tdualquat<float64, mediump>;
    282 
    283 template struct tdualquat<float32, highp>;
    284 template struct tdualquat<float64, highp>;
    285 
    286 }//namespace detail
    287 }//namespace glm
    288 
    289