Added CUDA support

This commit is contained in:
Christophe Riccio
2011-04-09 09:44:32 +01:00
parent 08fe3e049b
commit 201281d06d
92 changed files with 2217 additions and 2209 deletions

View File

@@ -15,7 +15,7 @@ namespace detail{
//////////////////////////////////////
// hvec2
inline tvec2<thalf>::size_type tvec2<thalf>::value_size()
GLM_FUNC_QUALIFIER tvec2<thalf>::size_type tvec2<thalf>::value_size()
{
return 2;
}
@@ -23,13 +23,13 @@ inline tvec2<thalf>::size_type tvec2<thalf>::value_size()
//////////////////////////////////////
// Accesses
inline thalf & tvec2<thalf>::operator[](tvec2<thalf>::size_type i)
GLM_FUNC_QUALIFIER thalf & tvec2<thalf>::operator[](tvec2<thalf>::size_type i)
{
assert(/*i >= tvec2<thalf>::size_type(0) && */i < tvec2<thalf>::value_size());
return (&x)[i];
}
inline thalf const & tvec2<thalf>::operator[](tvec2<thalf>::size_type i) const
GLM_FUNC_QUALIFIER thalf const & tvec2<thalf>::operator[](tvec2<thalf>::size_type i) const
{
assert(/*i >= tvec2<thalf>::size_type(0) && */i < tvec2<thalf>::value_size());
return (&x)[i];
@@ -38,12 +38,12 @@ inline thalf const & tvec2<thalf>::operator[](tvec2<thalf>::size_type i) const
//////////////////////////////////////
// Implicit basic constructors
inline tvec2<thalf>::tvec2() :
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2() :
x(thalf(0.f)),
y(thalf(0.f))
{}
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
tvec2<thalf> const & v
) :
@@ -54,7 +54,7 @@ inline tvec2<thalf>::tvec2
//////////////////////////////////////
// Explicit basic constructors
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
thalf const & s
) :
@@ -62,7 +62,7 @@ inline tvec2<thalf>::tvec2
y(s)
{}
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
thalf const & s1,
thalf const & s2
@@ -74,7 +74,7 @@ inline tvec2<thalf>::tvec2
//////////////////////////////////////
// Swizzle constructors
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
tref2<thalf> const & r
) :
@@ -86,7 +86,7 @@ inline tvec2<thalf>::tvec2
// Convertion scalar constructors
template <typename U>
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
U const & x
) :
@@ -95,7 +95,7 @@ inline tvec2<thalf>::tvec2
{}
template <typename U, typename V>
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
U const & x,
V const & y
@@ -108,7 +108,7 @@ inline tvec2<thalf>::tvec2
// Convertion vector constructors
template <typename U>
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
tvec2<U> const & v
) :
@@ -117,7 +117,7 @@ inline tvec2<thalf>::tvec2
{}
template <typename U>
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
tvec3<U> const & v
) :
@@ -126,7 +126,7 @@ inline tvec2<thalf>::tvec2
{}
template <typename U>
inline tvec2<thalf>::tvec2
GLM_FUNC_QUALIFIER tvec2<thalf>::tvec2
(
tvec4<U> const & v
) :
@@ -137,7 +137,7 @@ inline tvec2<thalf>::tvec2
//////////////////////////////////////
// Unary arithmetic operators
inline tvec2<thalf> & tvec2<thalf>::operator=
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator=
(
tvec2<thalf> const & v
)
@@ -147,7 +147,7 @@ inline tvec2<thalf> & tvec2<thalf>::operator=
return *this;
}
inline tvec2<thalf> & tvec2<thalf>::operator+=
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator+=
(
thalf const & s
)
@@ -157,7 +157,7 @@ inline tvec2<thalf> & tvec2<thalf>::operator+=
return *this;
}
inline tvec2<thalf> & tvec2<thalf>::operator+=
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator+=
(
tvec2<thalf> const & v
)
@@ -167,7 +167,7 @@ inline tvec2<thalf> & tvec2<thalf>::operator+=
return *this;
}
inline tvec2<thalf> & tvec2<thalf>::operator-=
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator-=
(
thalf const & s
)
@@ -177,7 +177,7 @@ inline tvec2<thalf> & tvec2<thalf>::operator-=
return *this;
}
inline tvec2<thalf> & tvec2<thalf>::operator-=
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator-=
(
tvec2<thalf> const & v
)
@@ -187,7 +187,7 @@ inline tvec2<thalf> & tvec2<thalf>::operator-=
return *this;
}
inline tvec2<thalf>& tvec2<thalf>::operator*=
GLM_FUNC_QUALIFIER tvec2<thalf>& tvec2<thalf>::operator*=
(
thalf const & s
)
@@ -197,7 +197,7 @@ inline tvec2<thalf>& tvec2<thalf>::operator*=
return *this;
}
inline tvec2<thalf> & tvec2<thalf>::operator*=
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator*=
(
tvec2<thalf> const & v
)
@@ -207,7 +207,7 @@ inline tvec2<thalf> & tvec2<thalf>::operator*=
return *this;
}
inline tvec2<thalf> & tvec2<thalf>::operator/=
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator/=
(
thalf const & s
)
@@ -217,7 +217,7 @@ inline tvec2<thalf> & tvec2<thalf>::operator/=
return *this;
}
inline tvec2<thalf> & tvec2<thalf>::operator/=
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator/=
(
tvec2<thalf> const & v
)
@@ -227,14 +227,14 @@ inline tvec2<thalf> & tvec2<thalf>::operator/=
return *this;
}
inline tvec2<thalf> & tvec2<thalf>::operator++()
GLM_FUNC_QUALIFIER tvec2<thalf> & tvec2<thalf>::operator++()
{
++this->x;
++this->y;
return *this;
}
inline tvec2<thalf>& tvec2<thalf>::operator--()
GLM_FUNC_QUALIFIER tvec2<thalf>& tvec2<thalf>::operator--()
{
--this->x;
--this->y;
@@ -244,19 +244,19 @@ inline tvec2<thalf>& tvec2<thalf>::operator--()
//////////////////////////////////////
// Swizzle operators
inline thalf tvec2<thalf>::swizzle(comp x) const
GLM_FUNC_QUALIFIER thalf tvec2<thalf>::swizzle(comp x) const
{
return (*this)[x];
}
inline tvec2<thalf> tvec2<thalf>::swizzle(comp x, comp y) const
GLM_FUNC_QUALIFIER tvec2<thalf> tvec2<thalf>::swizzle(comp x, comp y) const
{
return tvec2<thalf>(
(*this)[x],
(*this)[y]);
}
inline tvec3<thalf> tvec2<thalf>::swizzle(comp x, comp y, comp z) const
GLM_FUNC_QUALIFIER tvec3<thalf> tvec2<thalf>::swizzle(comp x, comp y, comp z) const
{
return tvec3<thalf>(
(*this)[x],
@@ -264,7 +264,7 @@ inline tvec3<thalf> tvec2<thalf>::swizzle(comp x, comp y, comp z) const
(*this)[z]);
}
inline tvec4<thalf> tvec2<thalf>::swizzle(comp x, comp y, comp z, comp w) const
GLM_FUNC_QUALIFIER tvec4<thalf> tvec2<thalf>::swizzle(comp x, comp y, comp z, comp w) const
{
return tvec4<thalf>(
(*this)[x],
@@ -273,7 +273,7 @@ inline tvec4<thalf> tvec2<thalf>::swizzle(comp x, comp y, comp z, comp w) const
(*this)[w]);
}
inline tref2<thalf> tvec2<thalf>::swizzle(comp x, comp y)
GLM_FUNC_QUALIFIER tref2<thalf> tvec2<thalf>::swizzle(comp x, comp y)
{
return tref2<thalf>(
(*this)[x],
@@ -283,7 +283,7 @@ inline tref2<thalf> tvec2<thalf>::swizzle(comp x, comp y)
//////////////////////////////////////
// hvec3
inline tvec3<thalf>::size_type tvec3<thalf>::value_size()
GLM_FUNC_QUALIFIER tvec3<thalf>::size_type tvec3<thalf>::value_size()
{
return 3;
}
@@ -291,7 +291,7 @@ inline tvec3<thalf>::size_type tvec3<thalf>::value_size()
//////////////////////////////////////
// Accesses
inline thalf & tvec3<thalf>::operator[]
GLM_FUNC_QUALIFIER thalf & tvec3<thalf>::operator[]
(
tvec3<thalf>::size_type i
)
@@ -301,7 +301,7 @@ inline thalf & tvec3<thalf>::operator[]
return (&x)[i];
}
inline thalf const & tvec3<thalf>::operator[]
GLM_FUNC_QUALIFIER thalf const & tvec3<thalf>::operator[]
(
tvec3<thalf>::size_type i
) const
@@ -314,13 +314,13 @@ inline thalf const & tvec3<thalf>::operator[]
//////////////////////////////////////
// Implicit basic constructors
inline tvec3<thalf>::tvec3() :
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3() :
x(thalf(0)),
y(thalf(0)),
z(thalf(0))
{}
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
tvec3<thalf> const & v
) :
@@ -332,7 +332,7 @@ inline tvec3<thalf>::tvec3
//////////////////////////////////////
// Explicit basic constructors
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
thalf const & s
) :
@@ -341,7 +341,7 @@ inline tvec3<thalf>::tvec3
z(s)
{}
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
thalf const & s0,
thalf const & s1,
@@ -355,7 +355,7 @@ inline tvec3<thalf>::tvec3
//////////////////////////////////////
// Swizzle constructors
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
tref3<thalf> const & r
) :
@@ -368,7 +368,7 @@ inline tvec3<thalf>::tvec3
// Convertion scalar constructors
template <typename U>
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
U const & x
) :
@@ -378,7 +378,7 @@ inline tvec3<thalf>::tvec3
{}
template <typename A, typename B, typename C>
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
A const & x,
B const & y,
@@ -393,7 +393,7 @@ inline tvec3<thalf>::tvec3
// Convertion vector constructors
template <typename A, typename B>
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
tvec2<A> const & v,
B const & s
@@ -404,7 +404,7 @@ inline tvec3<thalf>::tvec3
{}
template <typename A, typename B>
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
A const & s,
tvec2<B> const & v
@@ -415,7 +415,7 @@ inline tvec3<thalf>::tvec3
{}
template <typename U>
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
tvec3<U> const & v
) :
@@ -425,7 +425,7 @@ inline tvec3<thalf>::tvec3
{}
template <typename U>
inline tvec3<thalf>::tvec3
GLM_FUNC_QUALIFIER tvec3<thalf>::tvec3
(
tvec4<U> const & v
) :
@@ -437,7 +437,7 @@ inline tvec3<thalf>::tvec3
//////////////////////////////////////
// Unary arithmetic operators
inline tvec3<thalf> & tvec3<thalf>::operator=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator=
(
tvec3<thalf> const & v
)
@@ -448,7 +448,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator+=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator+=
(
thalf const & s
)
@@ -459,7 +459,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator+=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator+=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator+=
(
tvec3<thalf> const & v
)
@@ -470,7 +470,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator+=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator-=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator-=
(
thalf const & s
)
@@ -481,7 +481,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator-=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator-=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator-=
(
tvec3<thalf> const & v
)
@@ -492,7 +492,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator-=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator*=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator*=
(
thalf const & s
)
@@ -503,7 +503,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator*=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator*=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator*=
(
tvec3<thalf> const & v
)
@@ -514,7 +514,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator*=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator/=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator/=
(
thalf const & s
)
@@ -525,7 +525,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator/=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator/=
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator/=
(
tvec3<thalf> const & v
)
@@ -536,7 +536,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator/=
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator++()
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator++()
{
++this->x;
++this->y;
@@ -544,7 +544,7 @@ inline tvec3<thalf> & tvec3<thalf>::operator++()
return *this;
}
inline tvec3<thalf> & tvec3<thalf>::operator--()
GLM_FUNC_QUALIFIER tvec3<thalf> & tvec3<thalf>::operator--()
{
--this->x;
--this->y;
@@ -555,19 +555,19 @@ inline tvec3<thalf> & tvec3<thalf>::operator--()
//////////////////////////////////////
// Swizzle operators
inline thalf tvec3<thalf>::swizzle(comp x) const
GLM_FUNC_QUALIFIER thalf tvec3<thalf>::swizzle(comp x) const
{
return (*this)[x];
}
inline tvec2<thalf> tvec3<thalf>::swizzle(comp x, comp y) const
GLM_FUNC_QUALIFIER tvec2<thalf> tvec3<thalf>::swizzle(comp x, comp y) const
{
return tvec2<thalf>(
(*this)[x],
(*this)[y]);
}
inline tvec3<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z) const
GLM_FUNC_QUALIFIER tvec3<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z) const
{
return tvec3<thalf>(
(*this)[x],
@@ -575,7 +575,7 @@ inline tvec3<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z) const
(*this)[z]);
}
inline tvec4<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z, comp w) const
GLM_FUNC_QUALIFIER tvec4<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z, comp w) const
{
return tvec4<thalf>(
(*this)[x],
@@ -584,7 +584,7 @@ inline tvec4<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z, comp w) const
(*this)[w]);
}
inline tref3<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z)
GLM_FUNC_QUALIFIER tref3<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z)
{
return tref3<thalf>(
(*this)[x],
@@ -595,7 +595,7 @@ inline tref3<thalf> tvec3<thalf>::swizzle(comp x, comp y, comp z)
//////////////////////////////////////
// hvec4
inline tvec4<thalf>::size_type tvec4<thalf>::value_size()
GLM_FUNC_QUALIFIER tvec4<thalf>::size_type tvec4<thalf>::value_size()
{
return 4;
}
@@ -603,7 +603,7 @@ inline tvec4<thalf>::size_type tvec4<thalf>::value_size()
//////////////////////////////////////
// Accesses
inline thalf & tvec4<thalf>::operator[]
GLM_FUNC_QUALIFIER thalf & tvec4<thalf>::operator[]
(
tvec4<thalf>::size_type i
)
@@ -613,7 +613,7 @@ inline thalf & tvec4<thalf>::operator[]
return (&x)[i];
}
inline thalf const & tvec4<thalf>::operator[]
GLM_FUNC_QUALIFIER thalf const & tvec4<thalf>::operator[]
(
tvec4<thalf>::size_type i
) const
@@ -626,14 +626,14 @@ inline thalf const & tvec4<thalf>::operator[]
//////////////////////////////////////
// Implicit basic constructors
inline tvec4<thalf>::tvec4() :
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4() :
x(thalf(0)),
y(thalf(0)),
z(thalf(0)),
w(thalf(0))
{}
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
tvec4<thalf> const & v
) :
@@ -646,7 +646,7 @@ inline tvec4<thalf>::tvec4
//////////////////////////////////////
// Explicit basic constructors
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
thalf const & s
) :
@@ -656,7 +656,7 @@ inline tvec4<thalf>::tvec4
w(s)
{}
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
thalf const & s1,
thalf const & s2,
@@ -672,7 +672,7 @@ inline tvec4<thalf>::tvec4
//////////////////////////////////////
// Swizzle constructors
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
tref4<thalf> const & r
) :
@@ -686,7 +686,7 @@ inline tvec4<thalf>::tvec4
// Convertion scalar constructors
template <typename U>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
U const & x
) :
@@ -697,7 +697,7 @@ inline tvec4<thalf>::tvec4
{}
template <typename A, typename B, typename C, typename D>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
A const & x,
B const & y,
@@ -714,7 +714,7 @@ inline tvec4<thalf>::tvec4
// Convertion vector constructors
template <typename A, typename B, typename C>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
tvec2<A> const & v,
B const & s1,
@@ -727,7 +727,7 @@ inline tvec4<thalf>::tvec4
{}
template <typename A, typename B, typename C>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
A const & s1,
tvec2<B> const & v,
@@ -740,7 +740,7 @@ inline tvec4<thalf>::tvec4
{}
template <typename A, typename B, typename C>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
A const & s1,
B const & s2,
@@ -753,7 +753,7 @@ inline tvec4<thalf>::tvec4
{}
template <typename A, typename B>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
tvec3<A> const & v,
B const & s
@@ -765,7 +765,7 @@ inline tvec4<thalf>::tvec4
{}
template <typename A, typename B>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
A const & s,
tvec3<B> const & v
@@ -777,7 +777,7 @@ inline tvec4<thalf>::tvec4
{}
template <typename A, typename B>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
tvec2<A> const & v1,
tvec2<B> const & v2
@@ -789,7 +789,7 @@ inline tvec4<thalf>::tvec4
{}
template <typename U>
inline tvec4<thalf>::tvec4
GLM_FUNC_QUALIFIER tvec4<thalf>::tvec4
(
tvec4<U> const & v
) :
@@ -802,7 +802,7 @@ inline tvec4<thalf>::tvec4
//////////////////////////////////////
// Unary arithmetic operators
inline tvec4<thalf>& tvec4<thalf>::operator=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator=
(
tvec4<thalf> const & v
)
@@ -814,7 +814,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator+=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator+=
(
thalf const & s
)
@@ -826,7 +826,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator+=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator+=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator+=
(
tvec4<thalf> const & v
)
@@ -838,7 +838,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator+=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator-=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator-=
(
thalf const & s
)
@@ -850,7 +850,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator-=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator-=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator-=
(
tvec4<thalf> const & v
)
@@ -862,7 +862,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator-=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator*=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator*=
(
thalf const & s
)
@@ -874,7 +874,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator*=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator*=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator*=
(
tvec4<thalf> const & v
)
@@ -886,7 +886,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator*=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator/=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator/=
(
thalf const & s
)
@@ -898,7 +898,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator/=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator/=
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator/=
(
tvec4<thalf> const & v
)
@@ -910,7 +910,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator/=
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator++()
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator++()
{
++this->x;
++this->y;
@@ -919,7 +919,7 @@ inline tvec4<thalf>& tvec4<thalf>::operator++()
return *this;
}
inline tvec4<thalf>& tvec4<thalf>::operator--()
GLM_FUNC_QUALIFIER tvec4<thalf>& tvec4<thalf>::operator--()
{
--this->x;
--this->y;
@@ -931,19 +931,19 @@ inline tvec4<thalf>& tvec4<thalf>::operator--()
//////////////////////////////////////
// Swizzle operators
inline thalf tvec4<thalf>::swizzle(comp x) const
GLM_FUNC_QUALIFIER thalf tvec4<thalf>::swizzle(comp x) const
{
return (*this)[x];
}
inline tvec2<thalf> tvec4<thalf>::swizzle(comp x, comp y) const
GLM_FUNC_QUALIFIER tvec2<thalf> tvec4<thalf>::swizzle(comp x, comp y) const
{
return tvec2<thalf>(
(*this)[x],
(*this)[y]);
}
inline tvec3<thalf> tvec4<thalf>::swizzle(comp x, comp y, comp z) const
GLM_FUNC_QUALIFIER tvec3<thalf> tvec4<thalf>::swizzle(comp x, comp y, comp z) const
{
return tvec3<thalf>(
(*this)[x],
@@ -951,7 +951,7 @@ inline tvec3<thalf> tvec4<thalf>::swizzle(comp x, comp y, comp z) const
(*this)[z]);
}
inline tvec4<thalf> tvec4<thalf>::swizzle(comp x, comp y, comp z, comp w) const
GLM_FUNC_QUALIFIER tvec4<thalf> tvec4<thalf>::swizzle(comp x, comp y, comp z, comp w) const
{
return tvec4<thalf>(
(*this)[x],
@@ -960,7 +960,7 @@ inline tvec4<thalf> tvec4<thalf>::swizzle(comp x, comp y, comp z, comp w) const
(*this)[w]);
}
inline tref4<thalf> tvec4<thalf>::swizzle(comp x, comp y, comp z, comp w)
GLM_FUNC_QUALIFIER tref4<thalf> tvec4<thalf>::swizzle(comp x, comp y, comp z, comp w)
{
return tref4<thalf>(
(*this)[x],

View File

@@ -12,7 +12,7 @@ namespace gtc{
namespace matrix_access
{
template <typename genType>
inline genType row(
GLM_FUNC_QUALIFIER genType row(
genType const & m,
int index,
typename genType::row_type const & x)
@@ -24,7 +24,7 @@ namespace matrix_access
}
template <typename genType>
inline typename genType::row_type row(
GLM_FUNC_QUALIFIER typename genType::row_type row(
genType const & m,
int index)
{
@@ -35,7 +35,7 @@ namespace matrix_access
}
template <typename genType>
inline genType column(
GLM_FUNC_QUALIFIER genType column(
genType const & m,
int index,
typename genType::col_type const & x)
@@ -46,7 +46,7 @@ namespace matrix_access
}
template <typename genType>
inline typename genType::col_type column(
GLM_FUNC_QUALIFIER typename genType::col_type column(
genType const & m,
int index)
{

View File

@@ -36,7 +36,7 @@ namespace matrix_inverse
//! Compute the inverse transpose of a matrix.
//! From GLM_GTC_matrix_inverse extension.
template <typename genType>
inline typename genType::value_type inverseTranspose(
GLM_FUNC_QUALIFIER typename genType::value_type inverseTranspose(
genType const & m);
///@}

View File

@@ -12,7 +12,7 @@ namespace gtc{
namespace matrix_inverse
{
template <typename T>
inline detail::tmat3x3<T> affineInverse
GLM_FUNC_QUALIFIER detail::tmat3x3<T> affineInverse
(
detail::tmat3x3<T> const & m
)
@@ -26,7 +26,7 @@ namespace matrix_inverse
}
template <typename T>
inline detail::tmat4x4<T> affineInverse
GLM_FUNC_QUALIFIER detail::tmat4x4<T> affineInverse
(
detail::tmat4x4<T> const & m
)
@@ -40,7 +40,7 @@ namespace matrix_inverse
}
template <typename valType>
inline detail::tmat2x2<valType> inverseTranspose(
GLM_FUNC_QUALIFIER detail::tmat2x2<valType> inverseTranspose(
detail::tmat2x2<valType> const & m)
{
valType Determinant = m[0][0] * m[1][1] - m[1][0] * m[0][1];
@@ -55,7 +55,7 @@ namespace matrix_inverse
}
template <typename valType>
inline detail::tmat3x3<valType> inverseTranspose(
GLM_FUNC_QUALIFIER detail::tmat3x3<valType> inverseTranspose(
detail::tmat3x3<valType> const & m)
{
valType Determinant =
@@ -79,7 +79,7 @@ namespace matrix_inverse
}
template <typename valType>
inline detail::tmat4x4<valType> inverseTranspose(
GLM_FUNC_QUALIFIER detail::tmat4x4<valType> inverseTranspose(
detail::tmat4x4<valType> const & m)
{
valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3];

View File

@@ -12,7 +12,7 @@ namespace gtc{
namespace matrix_transform
{
template <typename T>
inline detail::tmat4x4<T> translate
GLM_FUNC_QUALIFIER detail::tmat4x4<T> translate
(
detail::tmat4x4<T> const & m,
detail::tvec3<T> const & v
@@ -24,7 +24,7 @@ namespace matrix_transform
}
template <typename T>
inline detail::tmat4x4<T> rotate
GLM_FUNC_QUALIFIER detail::tmat4x4<T> rotate
(
detail::tmat4x4<T> const & m,
T const & angle,
@@ -61,7 +61,7 @@ namespace matrix_transform
}
template <typename T>
inline detail::tmat4x4<T> scale
GLM_FUNC_QUALIFIER detail::tmat4x4<T> scale
(
detail::tmat4x4<T> const & m,
detail::tvec3<T> const & v
@@ -76,7 +76,7 @@ namespace matrix_transform
}
template <typename T>
inline detail::tmat4x4<T> translate_slow
GLM_FUNC_QUALIFIER detail::tmat4x4<T> translate_slow
(
detail::tmat4x4<T> const & m,
detail::tvec3<T> const & v
@@ -96,7 +96,7 @@ namespace matrix_transform
}
template <typename T>
inline detail::tmat4x4<T> rotate_slow
GLM_FUNC_QUALIFIER detail::tmat4x4<T> rotate_slow
(
detail::tmat4x4<T> const & m,
T const & angle,
@@ -130,7 +130,7 @@ namespace matrix_transform
}
template <typename T>
inline detail::tmat4x4<T> scale_slow
GLM_FUNC_QUALIFIER detail::tmat4x4<T> scale_slow
(
detail::tmat4x4<T> const & m,
detail::tvec3<T> const & v
@@ -144,7 +144,7 @@ namespace matrix_transform
}
template <typename valType>
inline detail::tmat4x4<valType> ortho
GLM_FUNC_QUALIFIER detail::tmat4x4<valType> ortho
(
valType const & left,
valType const & right,
@@ -165,7 +165,7 @@ namespace matrix_transform
}
template <typename valType>
inline detail::tmat4x4<valType> ortho(
GLM_FUNC_QUALIFIER detail::tmat4x4<valType> ortho(
valType const & left,
valType const & right,
valType const & bottom,
@@ -181,7 +181,7 @@ namespace matrix_transform
}
template <typename valType>
inline detail::tmat4x4<valType> frustum
GLM_FUNC_QUALIFIER detail::tmat4x4<valType> frustum
(
valType const & left,
valType const & right,
@@ -203,7 +203,7 @@ namespace matrix_transform
}
template <typename valType>
inline detail::tmat4x4<valType> perspective
GLM_FUNC_QUALIFIER detail::tmat4x4<valType> perspective
(
valType const & fovy,
valType const & aspect,
@@ -227,7 +227,7 @@ namespace matrix_transform
}
template <typename valType>
inline detail::tmat4x4<valType> perspectiveFov
GLM_FUNC_QUALIFIER detail::tmat4x4<valType> perspectiveFov
(
valType const & fov,
valType const & width,
@@ -250,7 +250,7 @@ namespace matrix_transform
}
template <typename T>
inline detail::tmat4x4<T> infinitePerspective
GLM_FUNC_QUALIFIER detail::tmat4x4<T> infinitePerspective
(
T fovy,
T aspect,
@@ -273,7 +273,7 @@ namespace matrix_transform
}
template <typename T>
inline detail::tmat4x4<T> tweakedInfinitePerspective
GLM_FUNC_QUALIFIER detail::tmat4x4<T> tweakedInfinitePerspective
(
T fovy,
T aspect,
@@ -296,7 +296,7 @@ namespace matrix_transform
}
template <typename T, typename U>
inline detail::tvec3<T> project
GLM_FUNC_QUALIFIER detail::tvec3<T> project
(
detail::tvec3<T> const & obj,
detail::tmat4x4<T> const & model,
@@ -317,7 +317,7 @@ namespace matrix_transform
}
template <typename T, typename U>
inline detail::tvec3<T> unProject
GLM_FUNC_QUALIFIER detail::tvec3<T> unProject
(
detail::tvec3<T> const & win,
detail::tmat4x4<T> const & model,
@@ -363,7 +363,7 @@ namespace matrix_transform
}
template <typename T>
inline detail::tmat4x4<T> lookAt
GLM_FUNC_QUALIFIER detail::tmat4x4<T> lookAt
(
detail::tvec3<T> const & eye,
detail::tvec3<T> const & center,

View File

@@ -13,7 +13,7 @@ namespace glm{
namespace detail{
template <typename T>
inline tquat<T>::tquat() :
GLM_FUNC_QUALIFIER tquat<T>::tquat() :
x(0),
y(0),
z(0),
@@ -21,7 +21,7 @@ namespace detail{
{}
template <typename T>
inline tquat<T>::tquat
GLM_FUNC_QUALIFIER tquat<T>::tquat
(
value_type const & s,
tvec3<T> const & v
@@ -33,7 +33,7 @@ namespace detail{
{}
template <typename T>
inline tquat<T>::tquat
GLM_FUNC_QUALIFIER tquat<T>::tquat
(
value_type const & w,
value_type const & x,
@@ -50,7 +50,7 @@ namespace detail{
// tquat conversions
//template <typename valType>
//inline tquat<valType>::tquat
//GLM_FUNC_QUALIFIER tquat<valType>::tquat
//(
// valType const & pitch,
// valType const & yaw,
@@ -68,7 +68,7 @@ namespace detail{
//}
template <typename T>
inline tquat<T>::tquat
GLM_FUNC_QUALIFIER tquat<T>::tquat
(
tvec3<T> const & eulerAngle
)
@@ -83,7 +83,7 @@ namespace detail{
}
template <typename T>
inline tquat<T>::tquat
GLM_FUNC_QUALIFIER tquat<T>::tquat
(
tmat3x3<T> const & m
)
@@ -92,7 +92,7 @@ namespace detail{
}
template <typename T>
inline tquat<T>::tquat
GLM_FUNC_QUALIFIER tquat<T>::tquat
(
tmat4x4<T> const & m
)
@@ -104,13 +104,13 @@ namespace detail{
// tquat<T> accesses
template <typename T>
inline typename tquat<T>::value_type & tquat<T>::operator [] (int i)
GLM_FUNC_QUALIFIER typename tquat<T>::value_type & tquat<T>::operator [] (int i)
{
return (&x)[i];
}
template <typename T>
inline typename tquat<T>::value_type const & tquat<T>::operator [] (int i) const
GLM_FUNC_QUALIFIER typename tquat<T>::value_type const & tquat<T>::operator [] (int i) const
{
return (&x)[i];
}
@@ -119,7 +119,7 @@ namespace detail{
// tquat<valType> operators
template <typename T>
inline tquat<T> & tquat<T>::operator *=
GLM_FUNC_QUALIFIER tquat<T> & tquat<T>::operator *=
(
value_type const & s
)
@@ -132,7 +132,7 @@ namespace detail{
}
template <typename T>
inline tquat<T> & tquat<T>::operator /=
GLM_FUNC_QUALIFIER tquat<T> & tquat<T>::operator /=
(
value_type const & s
)
@@ -148,7 +148,7 @@ namespace detail{
// tquat<valType> external operators
template <typename T>
inline detail::tquat<T> operator-
GLM_FUNC_QUALIFIER detail::tquat<T> operator-
(
detail::tquat<T> const & q
)
@@ -157,7 +157,7 @@ namespace detail{
}
template <typename T>
inline detail::tquat<T> operator*
GLM_FUNC_QUALIFIER detail::tquat<T> operator*
(
detail::tquat<T> const & q,
detail::tquat<T> const & p
@@ -172,7 +172,7 @@ namespace detail{
// Transformation
template <typename T>
inline detail::tvec3<T> operator*
GLM_FUNC_QUALIFIER detail::tvec3<T> operator*
(
detail::tquat<T> const & q,
detail::tvec3<T> const & v
@@ -191,7 +191,7 @@ namespace detail{
}
template <typename T>
inline detail::tvec3<T> operator*
GLM_FUNC_QUALIFIER detail::tvec3<T> operator*
(
detail::tvec3<T> const & v,
detail::tquat<T> const & q
@@ -201,7 +201,7 @@ namespace detail{
}
template <typename T>
inline detail::tvec4<T> operator*
GLM_FUNC_QUALIFIER detail::tvec4<T> operator*
(
detail::tquat<T> const & q,
detail::tvec4<T> const & v
@@ -211,7 +211,7 @@ namespace detail{
}
template <typename T>
inline detail::tvec4<T> operator*
GLM_FUNC_QUALIFIER detail::tvec4<T> operator*
(
detail::tvec4<T> const & v,
detail::tquat<T> const & q
@@ -221,7 +221,7 @@ namespace detail{
}
template <typename T>
inline detail::tquat<T> operator*
GLM_FUNC_QUALIFIER detail::tquat<T> operator*
(
detail::tquat<T> const & q,
typename detail::tquat<T>::value_type const & s
@@ -232,7 +232,7 @@ namespace detail{
}
template <typename T>
inline detail::tquat<T> operator*
GLM_FUNC_QUALIFIER detail::tquat<T> operator*
(
typename detail::tquat<T>::value_type const & s,
detail::tquat<T> const & q
@@ -242,7 +242,7 @@ namespace detail{
}
template <typename T>
inline detail::tquat<T> operator/
GLM_FUNC_QUALIFIER detail::tquat<T> operator/
(
detail::tquat<T> const & q,
typename detail::tquat<T>::value_type const & s
@@ -256,7 +256,7 @@ namespace detail{
// Boolean operators
template <typename T>
inline bool operator==
GLM_FUNC_QUALIFIER bool operator==
(
detail::tquat<T> const & q1,
detail::tquat<T> const & q2
@@ -266,7 +266,7 @@ namespace detail{
}
template <typename T>
inline bool operator!=
GLM_FUNC_QUALIFIER bool operator!=
(
detail::tquat<T> const & q1,
detail::tquat<T> const & q2
@@ -282,7 +282,7 @@ namespace quaternion{
////////////////////////////////////////////////////////
template <typename T>
inline typename detail::tquat<T>::value_type length
GLM_FUNC_QUALIFIER typename detail::tquat<T>::value_type length
(
detail::tquat<T> const & q
)
@@ -291,7 +291,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tquat<T> normalize
GLM_FUNC_QUALIFIER detail::tquat<T> normalize
(
detail::tquat<T> const & q
)
@@ -304,7 +304,7 @@ namespace quaternion{
}
template <typename T>
inline typename detail::tquat<T>::value_type dot
GLM_FUNC_QUALIFIER typename detail::tquat<T>::value_type dot
(
detail::tquat<T> const & q1,
detail::tquat<T> const & q2
@@ -314,7 +314,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tquat<T> cross
GLM_FUNC_QUALIFIER detail::tquat<T> cross
(
detail::tquat<T> const & q1,
detail::tquat<T> const & q2
@@ -329,7 +329,7 @@ namespace quaternion{
// (x * sin(1 - a) * angle / sin(angle)) + (y * sin(a) * angle / sin(angle))
template <typename T>
inline detail::tquat<T> mix
GLM_FUNC_QUALIFIER detail::tquat<T> mix
(
detail::tquat<T> const & x,
detail::tquat<T> const & y,
@@ -371,7 +371,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tquat<T> mix2
GLM_FUNC_QUALIFIER detail::tquat<T> mix2
(
detail::tquat<T> const & x,
detail::tquat<T> const & y,
@@ -408,7 +408,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tquat<T> conjugate
GLM_FUNC_QUALIFIER detail::tquat<T> conjugate
(
detail::tquat<T> const & q
)
@@ -417,7 +417,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tquat<T> inverse
GLM_FUNC_QUALIFIER detail::tquat<T> inverse
(
detail::tquat<T> const & q
)
@@ -426,7 +426,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tquat<T> rotate
GLM_FUNC_QUALIFIER detail::tquat<T> rotate
(
detail::tquat<T> const & q,
typename detail::tquat<T>::value_type const & angle,
@@ -452,7 +452,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tmat3x3<T> mat3_cast
GLM_FUNC_QUALIFIER detail::tmat3x3<T> mat3_cast
(
detail::tquat<T> const & q
)
@@ -473,7 +473,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tmat4x4<T> mat4_cast
GLM_FUNC_QUALIFIER detail::tmat4x4<T> mat4_cast
(
detail::tquat<T> const & q
)
@@ -482,7 +482,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tquat<T> quat_cast
GLM_FUNC_QUALIFIER detail::tquat<T> quat_cast
(
detail::tmat3x3<T> const & m
)
@@ -545,7 +545,7 @@ namespace quaternion{
}
template <typename T>
inline detail::tquat<T> quat_cast
GLM_FUNC_QUALIFIER detail::tquat<T> quat_cast
(
detail::tmat4x4<T> const & m4
)

View File

@@ -75,11 +75,11 @@ namespace glm
# define static_swizzle1(TYPE, SIZE) \
template <comp x> \
inline TYPE swizzle(detail::tvec##SIZE<TYPE> const & v) \
GLM_FUNC_QUALIFIER TYPE swizzle(detail::tvec##SIZE<TYPE> const & v) \
{return v[x];} \
\
template <comp x> \
inline TYPE& swizzle(detail::tvec##SIZE<TYPE> & v) \
GLM_FUNC_QUALIFIER TYPE& swizzle(detail::tvec##SIZE<TYPE> & v) \
{return v[x];}
static_swizzle1(detail::float16, 2)
@@ -120,32 +120,32 @@ namespace glm
# define static_swizzle2_const(TYPE) \
template <comp x, comp y> \
inline TYPE swizzle(TYPE const & v) \
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
{return TYPE(v[x], v[y]);}
# define static_swizzle3_const(TYPE) \
template <comp x, comp y, comp z> \
inline TYPE swizzle(TYPE const & v) \
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
{return TYPE(v[x], v[y], v[z]);}
# define static_swizzle4_const(TYPE) \
template <comp x, comp y, comp z, comp w> \
inline TYPE swizzle(TYPE const & v) \
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
{return TYPE(v[x], v[y], v[z], v[w]);}
/*
# define static_swizzle2_const(TYPE, SIZE) \
template <comp x, comp y> \
inline detail::tvec2<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
GLM_FUNC_QUALIFIER detail::tvec2<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
{return detail::tvec2<TYPE>(v[x], v[y]);}
# define static_swizzle3_const(TYPE, SIZE) \
template <comp x, comp y, comp z> \
inline detail::tvec3<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
GLM_FUNC_QUALIFIER detail::tvec3<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
{return detail::tvec3<TYPE>(v[x], v[y], v[z]);}
# define static_swizzle4_const(TYPE, SIZE) \
template <comp x, comp y, comp z, comp w> \
inline detail::tvec4<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
GLM_FUNC_QUALIFIER detail::tvec4<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
{return detail::tvec4<TYPE>(v[x], v[y], v[z], v[w]);}
*/
static_swizzle2_const(glm::f16vec2)
@@ -258,17 +258,17 @@ namespace glm
# define static_swizzle2_ref(TYPE) \
template <glm::comp x, glm::comp y> \
inline glm::detail::tref2<typename TYPE::value_type> swizzle(TYPE & v) \
GLM_FUNC_QUALIFIER glm::detail::tref2<typename TYPE::value_type> swizzle(TYPE & v) \
{return glm::detail::tref2<typename TYPE::value_type>(v[x], v[y]);}
# define static_swizzle3_ref(TYPE) \
template <glm::comp x, glm::comp y, glm::comp z> \
inline glm::detail::tref3<typename TYPE::value_type> swizzle(TYPE & v) \
GLM_FUNC_QUALIFIER glm::detail::tref3<typename TYPE::value_type> swizzle(TYPE & v) \
{return glm::detail::tref3<typename TYPE::value_type>(v[x], v[y], v[z]);}
# define static_swizzle4_ref(TYPE) \
template <glm::comp x, glm::comp y, glm::comp z, glm::comp w> \
inline glm::detail::tref4<typename TYPE::value_type> swizzle(TYPE & v) \
GLM_FUNC_QUALIFIER glm::detail::tref4<typename TYPE::value_type> swizzle(TYPE & v) \
{return glm::detail::tref4<typename TYPE::value_type>(v[x], v[y], v[z], v[w]);}
static_swizzle2_ref(glm::f16vec2)

View File

@@ -15,7 +15,7 @@ namespace gtc{
namespace swizzle{
template <typename T, template <typename> class vecType>
inline T swizzle
GLM_FUNC_QUALIFIER T swizzle
(
vecType<T> const & v,
comp x
@@ -26,7 +26,7 @@ inline T swizzle
}
template <typename T, template <typename> class vecType>
inline detail::tvec2<T> swizzle
GLM_FUNC_QUALIFIER detail::tvec2<T> swizzle
(
vecType<T> const & v,
comp x, comp y
@@ -38,7 +38,7 @@ inline detail::tvec2<T> swizzle
}
template <typename T, template <typename> class vecType>
inline detail::tvec3<T> swizzle
GLM_FUNC_QUALIFIER detail::tvec3<T> swizzle
(
vecType<T> const & v,
comp x, comp y, comp z
@@ -51,7 +51,7 @@ inline detail::tvec3<T> swizzle
}
template <typename T, template <typename> class vecType>
inline detail::tvec4<T> swizzle
GLM_FUNC_QUALIFIER detail::tvec4<T> swizzle
(
vecType<T> const & v,
comp x, comp y, comp z, comp w
@@ -61,7 +61,7 @@ inline detail::tvec4<T> swizzle
}
template <typename T>
inline T& swizzle
GLM_FUNC_QUALIFIER T& swizzle
(
detail::tvec4<T> & v,
comp x
@@ -71,7 +71,7 @@ inline T& swizzle
}
template <typename T>
inline detail::tref2<T> swizzle
GLM_FUNC_QUALIFIER detail::tref2<T> swizzle
(
detail::tvec4<T> & v,
comp x, comp y
@@ -81,7 +81,7 @@ inline detail::tref2<T> swizzle
}
template <typename T>
inline detail::tref3<T> swizzle
GLM_FUNC_QUALIFIER detail::tref3<T> swizzle
(
detail::tvec4<T> & v,
comp x, comp y, comp z
@@ -91,7 +91,7 @@ inline detail::tref3<T> swizzle
}
template <typename T>
inline detail::tref4<T> swizzle
GLM_FUNC_QUALIFIER detail::tref4<T> swizzle
(
detail::tvec4<T> & v,
comp x, comp y, comp z, comp w
@@ -101,7 +101,7 @@ inline detail::tref4<T> swizzle
}
/*
template <comp x>
inline float& swizzle
GLM_FUNC_QUALIFIER float& swizzle
(
detail::tvec4<float> & v
)
@@ -110,7 +110,7 @@ inline float& swizzle
}
template <comp x>
inline int& swizzle
GLM_FUNC_QUALIFIER int& swizzle
(
detail::tvec4<int> & v
)
@@ -119,7 +119,7 @@ inline int& swizzle
}
template <comp x, comp y>
inline detail::tref2<float> swizzle
GLM_FUNC_QUALIFIER detail::tref2<float> swizzle
(
detail::tvec4<float> & v
)
@@ -128,7 +128,7 @@ inline detail::tref2<float> swizzle
}
template <comp x, comp y>
inline detail::tref2<int> swizzle
GLM_FUNC_QUALIFIER detail::tref2<int> swizzle
(
detail::tvec4<int> & v
)
@@ -137,7 +137,7 @@ inline detail::tref2<int> swizzle
}
template <comp x, comp y, comp z>
inline detail::tref3<float> swizzle
GLM_FUNC_QUALIFIER detail::tref3<float> swizzle
(
detail::tvec4<float> & v
)
@@ -146,7 +146,7 @@ inline detail::tref3<float> swizzle
}
template <comp x, comp y, comp z>
inline detail::tref3<int> swizzle
GLM_FUNC_QUALIFIER detail::tref3<int> swizzle
(
detail::tvec4<int> & v
)
@@ -155,7 +155,7 @@ inline detail::tref3<int> swizzle
}
template <comp x, comp y, comp z, comp w>
inline detail::tref4<float> swizzle
GLM_FUNC_QUALIFIER detail::tref4<float> swizzle
(
detail::tvec4<float> & v
)
@@ -164,7 +164,7 @@ inline detail::tref4<float> swizzle
}
template <comp x, comp y, comp z, comp w>
inline detail::tref4<int> swizzle
GLM_FUNC_QUALIFIER detail::tref4<int> swizzle
(
detail::tvec4<int> & v
)

View File

@@ -36,7 +36,7 @@ namespace glm
//! Get the const address of the vector content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tvec2<T> const & vec
)
@@ -47,7 +47,7 @@ namespace glm
//! Get the address of the vector content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tvec2<T> & vec
)
@@ -58,7 +58,7 @@ namespace glm
//! Get the const address of the vector content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tvec3<T> const & vec
)
@@ -69,7 +69,7 @@ namespace glm
//! Get the address of the vector content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tvec3<T> & vec
)
@@ -80,7 +80,7 @@ namespace glm
//! Get the const address of the vector content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tvec4<T> const & vec
)
@@ -91,7 +91,7 @@ namespace glm
//! Get the address of the vector content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tvec4<T> & vec
)
@@ -102,7 +102,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat2x2<T> const & mat
)
@@ -113,7 +113,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tmat2x2<T> & mat
)
@@ -124,7 +124,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat3x3<T> const & mat
)
@@ -135,7 +135,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tmat3x3<T> & mat
)
@@ -146,7 +146,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat4x4<T> const & mat
)
@@ -157,7 +157,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tmat4x4<T> & mat
)
@@ -168,7 +168,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat2x3<T> const & mat
)
@@ -179,7 +179,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tmat2x3<T> & mat
)
@@ -190,7 +190,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat3x2<T> const & mat
)
@@ -201,7 +201,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tmat3x2<T> & mat
)
@@ -212,7 +212,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat2x4<T> const & mat
)
@@ -223,7 +223,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tmat2x4<T> & mat
)
@@ -234,7 +234,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat4x2<T> const & mat
)
@@ -245,7 +245,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tmat4x2<T> & mat
)
@@ -256,7 +256,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat3x4<T> const & mat
)
@@ -267,7 +267,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr
GLM_FUNC_QUALIFIER T * value_ptr
(
detail::tmat3x4<T> & mat
)
@@ -278,7 +278,7 @@ namespace glm
//! Get the const address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T const * value_ptr
GLM_FUNC_QUALIFIER T const * value_ptr
(
detail::tmat4x3<T> const & mat
)
@@ -289,7 +289,7 @@ namespace glm
//! Get the address of the matrix content.
//! From GLM_GTC_type_ptr extension.
template<typename T>
inline T * value_ptr(detail::tmat4x3<T> & mat)
GLM_FUNC_QUALIFIER T * value_ptr(detail::tmat4x3<T> & mat)
{
return &(mat[0].x);
}