mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-24 08:30:16 +00:00
(GLM) Cut down on GLM_FUNC_QUALIFIER
This commit is contained in:
parent
0f369ff3a9
commit
99f8f49e8a
45
deps/glm/detail/_noise.hpp
vendored
45
deps/glm/detail/_noise.hpp
vendored
@ -33,96 +33,75 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T mod289(T const & x)
|
||||
inline T mod289(T const & x)
|
||||
{
|
||||
return x - floor(x * static_cast<T>(1.0) / static_cast<T>(289.0)) * static_cast<T>(289.0);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T permute(T const & x)
|
||||
inline T permute(T const & x)
|
||||
{
|
||||
return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> permute(tvec2<T, P> const & x)
|
||||
inline tvec2<T, P> permute(tvec2<T, P> const & x)
|
||||
{
|
||||
return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> permute(tvec3<T, P> const & x)
|
||||
inline tvec3<T, P> permute(tvec3<T, P> const & x)
|
||||
{
|
||||
return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> permute(tvec4<T, P> const & x)
|
||||
inline tvec4<T, P> permute(tvec4<T, P> const & x)
|
||||
{
|
||||
return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
|
||||
}
|
||||
/*
|
||||
template <typename T, precision P, template<typename> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> permute(vecType<T, P> const & x)
|
||||
{
|
||||
return mod289(((x * T(34)) + T(1)) * x);
|
||||
}
|
||||
*/
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T taylorInvSqrt(T const & r)
|
||||
inline T taylorInvSqrt(T const & r)
|
||||
{
|
||||
return T(1.79284291400159) - T(0.85373472095314) * r;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> taylorInvSqrt(detail::tvec2<T, P> const & r)
|
||||
inline detail::tvec2<T, P> taylorInvSqrt(detail::tvec2<T, P> const & r)
|
||||
{
|
||||
return T(1.79284291400159) - T(0.85373472095314) * r;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> taylorInvSqrt(detail::tvec3<T, P> const & r)
|
||||
inline detail::tvec3<T, P> taylorInvSqrt(detail::tvec3<T, P> const & r)
|
||||
{
|
||||
return T(1.79284291400159) - T(0.85373472095314) * r;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> taylorInvSqrt(detail::tvec4<T, P> const & r)
|
||||
inline detail::tvec4<T, P> taylorInvSqrt(detail::tvec4<T, P> const & r)
|
||||
{
|
||||
return T(1.79284291400159) - T(0.85373472095314) * r;
|
||||
}
|
||||
/*
|
||||
template <typename T, precision P, template<typename> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> taylorInvSqrt(vecType<T, P> const & r)
|
||||
{
|
||||
return T(1.79284291400159) - T(0.85373472095314) * r;
|
||||
}
|
||||
*/
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> fade(detail::tvec2<T, P> const & t)
|
||||
inline detail::tvec2<T, P> fade(detail::tvec2<T, P> const & t)
|
||||
{
|
||||
return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> fade(detail::tvec3<T, P> const & t)
|
||||
inline detail::tvec3<T, P> fade(detail::tvec3<T, P> const & t)
|
||||
{
|
||||
return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> fade(detail::tvec4<T, P> const & t)
|
||||
inline detail::tvec4<T, P> fade(detail::tvec4<T, P> const & t)
|
||||
{
|
||||
return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
|
||||
}
|
||||
/*
|
||||
template <typename T, precision P, template <typename> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> fade(vecType<T, P> const & t)
|
||||
{
|
||||
return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
|
||||
}
|
||||
*/
|
||||
}//namespace detail
|
||||
}//namespace glm
|
||||
|
||||
|
72
deps/glm/detail/_swizzle.hpp
vendored
72
deps/glm/detail/_swizzle.hpp
vendored
@ -39,8 +39,8 @@ namespace detail
|
||||
typedef T value_type;
|
||||
|
||||
protected:
|
||||
GLM_FUNC_QUALIFIER value_type& elem (size_t i) { return (reinterpret_cast<value_type*>(_buffer))[i]; }
|
||||
GLM_FUNC_QUALIFIER const value_type& elem (size_t i) const { return (reinterpret_cast<const value_type*>(_buffer))[i]; }
|
||||
inline value_type& elem (size_t i) { return (reinterpret_cast<value_type*>(_buffer))[i]; }
|
||||
inline const value_type& elem (size_t i) const { return (reinterpret_cast<const value_type*>(_buffer))[i]; }
|
||||
|
||||
// Use an opaque buffer to *ensure* the compiler doesn't call a constructor.
|
||||
// The size 1 buffer is assumed to aligned to the actual members so that the
|
||||
@ -56,19 +56,19 @@ namespace detail
|
||||
template <typename T, precision P, typename V, int E0, int E1>
|
||||
struct _swizzle_base1<T, P, V,E0,E1,-1,-2,2> : public _swizzle_base0<T, 2>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1)); }
|
||||
inline V operator ()() const { return V(this->elem(E0), this->elem(E1)); }
|
||||
};
|
||||
|
||||
template <typename T, precision P, typename V, int E0, int E1, int E2>
|
||||
struct _swizzle_base1<T, P, V,E0,E1,E2,-1,3> : public _swizzle_base0<T, 3>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2)); }
|
||||
inline V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2)); }
|
||||
};
|
||||
|
||||
template <typename T, precision P, typename V, int E0, int E1, int E2, int E3>
|
||||
struct _swizzle_base1<T, P, V,E0,E1,E2,E3,4> : public _swizzle_base0<T, 4>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
|
||||
inline V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
|
||||
};
|
||||
|
||||
// Internal class for implementing swizzle operators
|
||||
@ -89,67 +89,67 @@ namespace detail
|
||||
typedef VecType vec_type;
|
||||
typedef ValueType value_type;
|
||||
|
||||
GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const ValueType& t)
|
||||
inline _swizzle_base2& operator= (const ValueType& t)
|
||||
{
|
||||
for (int i = 0; i < N; ++i)
|
||||
(*this)[i] = t;
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const VecType& that)
|
||||
inline _swizzle_base2& operator= (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e = t; }
|
||||
inline void operator() (value_type& e, value_type& t) { e = t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void operator -= (const VecType& that)
|
||||
inline void operator -= (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e -= t; }
|
||||
inline void operator() (value_type& e, value_type& t) { e -= t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void operator += (const VecType& that)
|
||||
inline void operator += (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e += t; }
|
||||
inline void operator() (value_type& e, value_type& t) { e += t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void operator *= (const VecType& that)
|
||||
inline void operator *= (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e *= t; }
|
||||
inline void operator() (value_type& e, value_type& t) { e *= t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void operator /= (const VecType& that)
|
||||
inline void operator /= (const VecType& that)
|
||||
{
|
||||
struct op {
|
||||
GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e /= t; }
|
||||
inline void operator() (value_type& e, value_type& t) { e /= t; }
|
||||
};
|
||||
_apply_op(that, op());
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER value_type& operator[] (size_t i)
|
||||
inline value_type& operator[] (size_t i)
|
||||
{
|
||||
static const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
return this->elem(offset_dst[i]);
|
||||
}
|
||||
GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
|
||||
inline value_type operator[] (size_t i) const
|
||||
{
|
||||
static const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
return this->elem(offset_dst[i]);
|
||||
}
|
||||
protected:
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER void _apply_op(const VecType& that, T op)
|
||||
inline void _apply_op(const VecType& that, T op)
|
||||
{
|
||||
// Make a copy of the data in this == &that.
|
||||
// The copier should optimize out the copy in cases where the function is
|
||||
@ -170,9 +170,9 @@ namespace detail
|
||||
typedef ValueType value_type;
|
||||
|
||||
struct Stub {};
|
||||
GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const &) { return *this; }
|
||||
inline _swizzle_base2& operator= (Stub const &) { return *this; }
|
||||
|
||||
GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
|
||||
inline value_type operator[] (size_t i) const
|
||||
{
|
||||
static const int offset_dst[4] = { E0, E1, E2, E3 };
|
||||
return this->elem(offset_dst[i]);
|
||||
@ -186,7 +186,7 @@ namespace detail
|
||||
|
||||
using base_type::operator=;
|
||||
|
||||
GLM_FUNC_QUALIFIER operator VecType () const { return (*this)(); }
|
||||
inline operator VecType () const { return (*this)(); }
|
||||
};
|
||||
|
||||
//
|
||||
@ -202,17 +202,17 @@ namespace detail
|
||||
//
|
||||
#define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
|
||||
_GLM_SWIZZLE_TEMPLATE2 \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
|
||||
inline V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
|
||||
{ \
|
||||
return a() OPERAND b(); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const V& b) \
|
||||
inline V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const V& b) \
|
||||
{ \
|
||||
return a() OPERAND b; \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const V& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
inline V operator OPERAND ( const V& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
{ \
|
||||
return a OPERAND b(); \
|
||||
}
|
||||
@ -222,12 +222,12 @@ namespace detail
|
||||
//
|
||||
#define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \
|
||||
inline V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \
|
||||
{ \
|
||||
return a() OPERAND b; \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER V operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
inline V operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
{ \
|
||||
return a OPERAND b(); \
|
||||
}
|
||||
@ -237,7 +237,7 @@ namespace detail
|
||||
//
|
||||
#define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \
|
||||
{ \
|
||||
return FUNCTION(a()); \
|
||||
}
|
||||
@ -247,22 +247,22 @@ namespace detail
|
||||
//
|
||||
#define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \
|
||||
_GLM_SWIZZLE_TEMPLATE2 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
|
||||
{ \
|
||||
return FUNCTION(a(), b()); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
{ \
|
||||
return FUNCTION(a(), b()); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \
|
||||
{ \
|
||||
return FUNCTION(a(), b); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \
|
||||
{ \
|
||||
return FUNCTION(a, b()); \
|
||||
}
|
||||
@ -272,22 +272,22 @@ namespace detail
|
||||
//
|
||||
#define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \
|
||||
_GLM_SWIZZLE_TEMPLATE2 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \
|
||||
{ \
|
||||
return FUNCTION(a(), b(), c); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
|
||||
{ \
|
||||
return FUNCTION(a(), b(), c); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
|
||||
{ \
|
||||
return FUNCTION(a(), b, c); \
|
||||
} \
|
||||
_GLM_SWIZZLE_TEMPLATE1 \
|
||||
GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
|
||||
inline typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
|
||||
{ \
|
||||
return FUNCTION(a, b(), c); \
|
||||
}
|
||||
|
26
deps/glm/detail/_vectorize.hpp
vendored
26
deps/glm/detail/_vectorize.hpp
vendored
@ -36,7 +36,7 @@
|
||||
|
||||
#define VECTORIZE1_VEC(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec1<T, P> func( \
|
||||
inline detail::tvec1<T, P> func( \
|
||||
detail::tvec1<T, P> const & v) \
|
||||
{ \
|
||||
return detail::tvec1<T, P>( \
|
||||
@ -45,7 +45,7 @@
|
||||
|
||||
#define VECTORIZE2_VEC(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> func( \
|
||||
inline detail::tvec2<T, P> func( \
|
||||
detail::tvec2<T, P> const & v) \
|
||||
{ \
|
||||
return detail::tvec2<T, P>( \
|
||||
@ -55,7 +55,7 @@
|
||||
|
||||
#define VECTORIZE3_VEC(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> func( \
|
||||
inline detail::tvec3<T, P> func( \
|
||||
detail::tvec3<T, P> const & v) \
|
||||
{ \
|
||||
return detail::tvec3<T, P>( \
|
||||
@ -66,7 +66,7 @@
|
||||
|
||||
#define VECTORIZE4_VEC(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> func( \
|
||||
inline detail::tvec4<T, P> func( \
|
||||
detail::tvec4<T, P> const & v) \
|
||||
{ \
|
||||
return detail::tvec4<T, P>( \
|
||||
@ -84,7 +84,7 @@
|
||||
|
||||
#define VECTORIZE1_VEC_SCA(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec1<T, P> func \
|
||||
inline detail::tvec1<T, P> func \
|
||||
( \
|
||||
detail::tvec1<T, P> const & x, \
|
||||
T const & y \
|
||||
@ -96,7 +96,7 @@
|
||||
|
||||
#define VECTORIZE2_VEC_SCA(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> func \
|
||||
inline detail::tvec2<T, P> func \
|
||||
( \
|
||||
detail::tvec2<T, P> const & x, \
|
||||
T const & y \
|
||||
@ -109,7 +109,7 @@
|
||||
|
||||
#define VECTORIZE3_VEC_SCA(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> func \
|
||||
inline detail::tvec3<T, P> func \
|
||||
( \
|
||||
detail::tvec3<T, P> const & x, \
|
||||
T const & y \
|
||||
@ -123,7 +123,7 @@
|
||||
|
||||
#define VECTORIZE4_VEC_SCA(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> func \
|
||||
inline detail::tvec4<T, P> func \
|
||||
( \
|
||||
detail::tvec4<T, P> const & x, \
|
||||
T const & y \
|
||||
@ -144,7 +144,7 @@
|
||||
|
||||
#define VECTORIZE2_VEC_VEC(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> func \
|
||||
inline detail::tvec2<T, P> func \
|
||||
( \
|
||||
detail::tvec2<T, P> const & x, \
|
||||
detail::tvec2<T, P> const & y \
|
||||
@ -157,7 +157,7 @@
|
||||
|
||||
#define VECTORIZE3_VEC_VEC(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> func \
|
||||
inline detail::tvec3<T, P> func \
|
||||
( \
|
||||
detail::tvec3<T, P> const & x, \
|
||||
detail::tvec3<T, P> const & y \
|
||||
@ -171,7 +171,7 @@
|
||||
|
||||
#define VECTORIZE4_VEC_VEC(func) \
|
||||
template <typename T, precision P> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> func \
|
||||
inline detail::tvec4<T, P> func \
|
||||
( \
|
||||
detail::tvec4<T, P> const & x, \
|
||||
detail::tvec4<T, P> const & y \
|
||||
@ -196,7 +196,7 @@ namespace detail
|
||||
struct If
|
||||
{
|
||||
template<typename F, typename T>
|
||||
static GLM_FUNC_QUALIFIER T apply(F functor, const T& val)
|
||||
static inline T apply(F functor, const T& val)
|
||||
{
|
||||
return functor(val);
|
||||
}
|
||||
@ -206,7 +206,7 @@ namespace detail
|
||||
struct If<false>
|
||||
{
|
||||
template<typename F, typename T>
|
||||
static GLM_FUNC_QUALIFIER T apply(F, const T& val)
|
||||
static inline T apply(F, const T& val)
|
||||
{
|
||||
return val;
|
||||
}
|
||||
|
134
deps/glm/detail/func_common.inl
vendored
134
deps/glm/detail/func_common.inl
vendored
@ -43,7 +43,7 @@ namespace detail
|
||||
template <typename genFIType>
|
||||
struct compute_abs<genFIType, true>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static genFIType call(genFIType const & x)
|
||||
inline static genFIType call(genFIType const & x)
|
||||
{
|
||||
return x >= genFIType(0) ? x : -x;
|
||||
}
|
||||
@ -52,7 +52,7 @@ namespace detail
|
||||
template <typename genFIType>
|
||||
struct compute_abs<genFIType, false>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static genFIType call(genFIType const & x)
|
||||
inline static genFIType call(genFIType const & x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
@ -61,7 +61,7 @@ namespace detail
|
||||
template <typename T, typename U, precision P, template <class, precision> class vecType>
|
||||
struct compute_mix_vector
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static vecType<T, P> call(vecType<T, P> const & x, vecType<T, P> const & y, vecType<U, P> const & a)
|
||||
inline static vecType<T, P> call(vecType<T, P> const & x, vecType<T, P> const & y, vecType<U, P> const & a)
|
||||
{
|
||||
return vecType<T, P>(vecType<U, P>(x) + a * vecType<U, P>(y - x));
|
||||
}
|
||||
@ -70,7 +70,7 @@ namespace detail
|
||||
template <typename T, precision P, template <class, precision> class vecType>
|
||||
struct compute_mix_vector<T, bool, P, vecType>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static vecType<T, P> call(vecType<T, P> const & x, vecType<T, P> const & y, vecType<bool, P> const & a)
|
||||
inline static vecType<T, P> call(vecType<T, P> const & x, vecType<T, P> const & y, vecType<bool, P> const & a)
|
||||
{
|
||||
vecType<T, P> Result;
|
||||
for(length_t i = 0; i < x.length(); ++i)
|
||||
@ -82,7 +82,7 @@ namespace detail
|
||||
template <typename T, typename U, precision P, template <class, precision> class vecType>
|
||||
struct compute_mix_scalar
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static vecType<T, P> call(vecType<T, P> const & x, vecType<T, P> const & y, U const & a)
|
||||
inline static vecType<T, P> call(vecType<T, P> const & x, vecType<T, P> const & y, U const & a)
|
||||
{
|
||||
return vecType<T, P>(vecType<U, P>(x) + a * vecType<U, P>(y - x));
|
||||
}
|
||||
@ -91,7 +91,7 @@ namespace detail
|
||||
template <typename T, precision P, template <class, precision> class vecType>
|
||||
struct compute_mix_scalar<T, bool, P, vecType>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static vecType<T, P> call(vecType<T, P> const & x, vecType<T, P> const & y, bool const & a)
|
||||
inline static vecType<T, P> call(vecType<T, P> const & x, vecType<T, P> const & y, bool const & a)
|
||||
{
|
||||
return a ? y : x;
|
||||
}
|
||||
@ -100,7 +100,7 @@ namespace detail
|
||||
template <typename T, typename U>
|
||||
struct compute_mix
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(T const & x, T const & y, U const & a)
|
||||
inline static T call(T const & x, T const & y, U const & a)
|
||||
{
|
||||
return static_cast<T>(static_cast<U>(x) + a * static_cast<U>(y - x));
|
||||
}
|
||||
@ -109,7 +109,7 @@ namespace detail
|
||||
template <typename T>
|
||||
struct compute_mix<T, bool>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(T const & x, T const & y, bool const & a)
|
||||
inline static T call(T const & x, T const & y, bool const & a)
|
||||
{
|
||||
return a ? y : x;
|
||||
}
|
||||
@ -118,7 +118,7 @@ namespace detail
|
||||
|
||||
// abs
|
||||
template <typename genFIType>
|
||||
GLM_FUNC_QUALIFIER genFIType abs
|
||||
inline genFIType abs
|
||||
(
|
||||
genFIType const & x
|
||||
)
|
||||
@ -131,7 +131,7 @@ namespace detail
|
||||
// sign
|
||||
//Try something like based on x >> 31 to get the sign bit
|
||||
template <typename genFIType>
|
||||
GLM_FUNC_QUALIFIER genFIType sign
|
||||
inline genFIType sign
|
||||
(
|
||||
genFIType const & x
|
||||
)
|
||||
@ -147,7 +147,7 @@ namespace detail
|
||||
|
||||
// floor
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType floor(genType const & x)
|
||||
inline genType floor(genType const & x)
|
||||
{
|
||||
return ::std::floor(x);
|
||||
}
|
||||
@ -156,7 +156,7 @@ namespace detail
|
||||
|
||||
// trunc
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType trunc(genType const & x)
|
||||
inline genType trunc(genType const & x)
|
||||
{
|
||||
// TODO, add C++11 std::trunk
|
||||
return x < 0 ? -floor(-x) : floor(x);
|
||||
@ -166,7 +166,7 @@ namespace detail
|
||||
|
||||
// round
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType round(genType const& x)
|
||||
inline genType round(genType const& x)
|
||||
{
|
||||
// TODO, add C++11 std::round
|
||||
return x < 0 ? genType(int(x - genType(0.5))) : genType(int(x + genType(0.5)));
|
||||
@ -176,7 +176,7 @@ namespace detail
|
||||
|
||||
// roundEven
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType roundEven(genType const & x)
|
||||
inline genType roundEven(genType const & x)
|
||||
{
|
||||
int Integer = static_cast<int>(x);
|
||||
genType IntegerPart = static_cast<genType>(Integer);
|
||||
@ -195,7 +195,7 @@ namespace detail
|
||||
|
||||
// ceil
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType ceil(genType const & x)
|
||||
inline genType ceil(genType const & x)
|
||||
{
|
||||
return ::std::ceil(x);
|
||||
}
|
||||
@ -204,7 +204,7 @@ namespace detail
|
||||
|
||||
// fract
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fract
|
||||
inline genType fract
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -216,7 +216,7 @@ namespace detail
|
||||
|
||||
// mod
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType mod
|
||||
inline genType mod
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
@ -230,7 +230,7 @@ namespace detail
|
||||
|
||||
// modf
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType modf
|
||||
inline genType modf
|
||||
(
|
||||
genType const & x,
|
||||
genType & i
|
||||
@ -240,7 +240,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> modf
|
||||
inline detail::tvec2<T, P> modf
|
||||
(
|
||||
detail::tvec2<T, P> const & x,
|
||||
detail::tvec2<T, P> & i
|
||||
@ -252,7 +252,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> modf
|
||||
inline detail::tvec3<T, P> modf
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<T, P> & i
|
||||
@ -265,7 +265,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> modf
|
||||
inline detail::tvec4<T, P> modf
|
||||
(
|
||||
detail::tvec4<T, P> const & x,
|
||||
detail::tvec4<T, P> & i
|
||||
@ -280,7 +280,7 @@ namespace detail
|
||||
|
||||
// min
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType min
|
||||
inline genType min
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
@ -294,7 +294,7 @@ namespace detail
|
||||
|
||||
// max
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType max
|
||||
inline genType max
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
@ -308,7 +308,7 @@ namespace detail
|
||||
|
||||
// clamp
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType clamp
|
||||
inline genType clamp
|
||||
(
|
||||
genType const & x,
|
||||
genType const & minVal,
|
||||
@ -319,7 +319,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> clamp
|
||||
inline detail::tvec2<T, P> clamp
|
||||
(
|
||||
detail::tvec2<T, P> const & x,
|
||||
T const & minVal,
|
||||
@ -332,7 +332,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> clamp
|
||||
inline detail::tvec3<T, P> clamp
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
T const & minVal,
|
||||
@ -346,7 +346,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> clamp
|
||||
inline detail::tvec4<T, P> clamp
|
||||
(
|
||||
detail::tvec4<T, P> const & x,
|
||||
T const & minVal,
|
||||
@ -361,7 +361,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> clamp
|
||||
inline detail::tvec2<T, P> clamp
|
||||
(
|
||||
detail::tvec2<T, P> const & x,
|
||||
detail::tvec2<T, P> const & minVal,
|
||||
@ -374,7 +374,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> clamp
|
||||
inline detail::tvec3<T, P> clamp
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<T, P> const & minVal,
|
||||
@ -388,7 +388,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> clamp
|
||||
inline detail::tvec4<T, P> clamp
|
||||
(
|
||||
detail::tvec4<T, P> const & x,
|
||||
detail::tvec4<T, P> const & minVal,
|
||||
@ -403,7 +403,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, typename U, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> mix
|
||||
inline vecType<T, P> mix
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y,
|
||||
@ -414,7 +414,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, typename U, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> mix
|
||||
inline vecType<T, P> mix
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y,
|
||||
@ -425,7 +425,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename genTypeT, typename genTypeU>
|
||||
GLM_FUNC_QUALIFIER genTypeT mix
|
||||
inline genTypeT mix
|
||||
(
|
||||
genTypeT const & x,
|
||||
genTypeT const & y,
|
||||
@ -437,7 +437,7 @@ namespace detail
|
||||
|
||||
// step
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType step
|
||||
inline genType step
|
||||
(
|
||||
genType const & edge,
|
||||
genType const & x
|
||||
@ -447,7 +447,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <template <typename, precision> class vecType, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> step
|
||||
inline vecType<T, P> step
|
||||
(
|
||||
T const & edge,
|
||||
vecType<T, P> const & x
|
||||
@ -458,7 +458,7 @@ namespace detail
|
||||
|
||||
// smoothstep
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType smoothstep
|
||||
inline genType smoothstep
|
||||
(
|
||||
genType const & edge0,
|
||||
genType const & edge1,
|
||||
@ -470,7 +470,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> smoothstep
|
||||
inline detail::tvec2<T, P> smoothstep
|
||||
(
|
||||
T const & edge0,
|
||||
T const & edge1,
|
||||
@ -483,7 +483,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> smoothstep
|
||||
inline detail::tvec3<T, P> smoothstep
|
||||
(
|
||||
T const & edge0,
|
||||
T const & edge1,
|
||||
@ -497,7 +497,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> smoothstep
|
||||
inline detail::tvec4<T, P> smoothstep
|
||||
(
|
||||
T const & edge0,
|
||||
T const & edge1,
|
||||
@ -512,7 +512,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> smoothstep
|
||||
inline detail::tvec2<T, P> smoothstep
|
||||
(
|
||||
detail::tvec2<T, P> const & edge0,
|
||||
detail::tvec2<T, P> const & edge1,
|
||||
@ -525,7 +525,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> smoothstep
|
||||
inline detail::tvec3<T, P> smoothstep
|
||||
(
|
||||
detail::tvec3<T, P> const & edge0,
|
||||
detail::tvec3<T, P> const & edge1,
|
||||
@ -539,7 +539,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> smoothstep
|
||||
inline detail::tvec4<T, P> smoothstep
|
||||
(
|
||||
detail::tvec4<T, P> const & edge0,
|
||||
detail::tvec4<T, P> const & edge1,
|
||||
@ -555,7 +555,7 @@ namespace detail
|
||||
|
||||
// TODO: Not working on MinGW...
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool isnan(genType const & x)
|
||||
inline bool isnan(genType const & x)
|
||||
{
|
||||
# if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_INTEL))
|
||||
return _isnan(x) != 0;
|
||||
@ -573,7 +573,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename detail::tvec2<T, P>::bool_type isnan
|
||||
inline typename detail::tvec2<T, P>::bool_type isnan
|
||||
(
|
||||
detail::tvec2<T, P> const & x
|
||||
)
|
||||
@ -584,7 +584,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename detail::tvec3<T, P>::bool_type isnan
|
||||
inline typename detail::tvec3<T, P>::bool_type isnan
|
||||
(
|
||||
detail::tvec3<T, P> const & x
|
||||
)
|
||||
@ -596,7 +596,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename detail::tvec4<T, P>::bool_type isnan
|
||||
inline typename detail::tvec4<T, P>::bool_type isnan
|
||||
(
|
||||
detail::tvec4<T, P> const & x
|
||||
)
|
||||
@ -609,7 +609,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool isinf(
|
||||
inline bool isinf(
|
||||
genType const & x)
|
||||
{
|
||||
# if(GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC))
|
||||
@ -629,7 +629,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename detail::tvec2<T, P>::bool_type isinf
|
||||
inline typename detail::tvec2<T, P>::bool_type isinf
|
||||
(
|
||||
detail::tvec2<T, P> const & x
|
||||
)
|
||||
@ -640,7 +640,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename detail::tvec3<T, P>::bool_type isinf
|
||||
inline typename detail::tvec3<T, P>::bool_type isinf
|
||||
(
|
||||
detail::tvec3<T, P> const & x
|
||||
)
|
||||
@ -652,7 +652,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename detail::tvec4<T, P>::bool_type isinf
|
||||
inline typename detail::tvec4<T, P>::bool_type isinf
|
||||
(
|
||||
detail::tvec4<T, P> const & x
|
||||
)
|
||||
@ -664,7 +664,7 @@ namespace detail
|
||||
isinf(x.w));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int floatBitsToInt(float const & v)
|
||||
inline int floatBitsToInt(float const & v)
|
||||
{
|
||||
int Bits;
|
||||
std::memcpy(&Bits, &v, sizeof(Bits));
|
||||
@ -672,14 +672,14 @@ namespace detail
|
||||
}
|
||||
|
||||
template <template <typename, precision> class vecType, precision P>
|
||||
GLM_FUNC_QUALIFIER vecType<int, P> floatBitsToInt(vecType<float, P> const & v)
|
||||
inline vecType<int, P> floatBitsToInt(vecType<float, P> const & v)
|
||||
{
|
||||
int Bits;
|
||||
std::memcpy(&Bits, &v, sizeof(Bits));
|
||||
return Bits;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint floatBitsToUint(float const & v)
|
||||
inline uint floatBitsToUint(float const & v)
|
||||
{
|
||||
float Float;
|
||||
std::memcpy(&Float, &v, sizeof(Float));
|
||||
@ -687,35 +687,35 @@ namespace detail
|
||||
}
|
||||
|
||||
template <template <typename, precision> class vecType, precision P>
|
||||
GLM_FUNC_QUALIFIER vecType<uint, P> floatBitsToUint(vecType<float, P> const & v)
|
||||
inline vecType<uint, P> floatBitsToUint(vecType<float, P> const & v)
|
||||
{
|
||||
return reinterpret_cast<vecType<uint, P>&>(const_cast<vecType<float, P>&>(v));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float intBitsToFloat(int const & v)
|
||||
inline float intBitsToFloat(int const & v)
|
||||
{
|
||||
return reinterpret_cast<float&>(const_cast<int&>(v));
|
||||
}
|
||||
|
||||
template <template <typename, precision> class vecType, precision P>
|
||||
GLM_FUNC_QUALIFIER vecType<float, P> intBitsToFloat(vecType<int, P> const & v)
|
||||
inline vecType<float, P> intBitsToFloat(vecType<int, P> const & v)
|
||||
{
|
||||
return reinterpret_cast<vecType<float, P>&>(const_cast<vecType<int, P>&>(v));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float uintBitsToFloat(uint const & v)
|
||||
inline float uintBitsToFloat(uint const & v)
|
||||
{
|
||||
return reinterpret_cast<float&>(const_cast<uint&>(v));
|
||||
}
|
||||
|
||||
template <template <typename, precision> class vecType, precision P>
|
||||
GLM_FUNC_QUALIFIER vecType<float, P> uintBitsToFloat(vecType<uint, P> const & v)
|
||||
inline vecType<float, P> uintBitsToFloat(vecType<uint, P> const & v)
|
||||
{
|
||||
return reinterpret_cast<vecType<float, P>&>(const_cast<vecType<uint, P>&>(v));
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fma
|
||||
inline genType fma
|
||||
(
|
||||
genType const & a,
|
||||
genType const & b,
|
||||
@ -726,7 +726,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType frexp
|
||||
inline genType frexp
|
||||
(
|
||||
genType const & x,
|
||||
int & exp
|
||||
@ -736,7 +736,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> frexp
|
||||
inline detail::tvec2<T, P> frexp
|
||||
(
|
||||
detail::tvec2<T, P> const & x,
|
||||
detail::tvec2<int, P> & exp
|
||||
@ -748,7 +748,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> frexp
|
||||
inline detail::tvec3<T, P> frexp
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<int, P> & exp
|
||||
@ -761,7 +761,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> frexp
|
||||
inline detail::tvec4<T, P> frexp
|
||||
(
|
||||
detail::tvec4<T, P> const & x,
|
||||
detail::tvec4<int, P> & exp
|
||||
@ -775,7 +775,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename genType, precision P>
|
||||
GLM_FUNC_QUALIFIER genType ldexp
|
||||
inline genType ldexp
|
||||
(
|
||||
genType const & x,
|
||||
int const & exp
|
||||
@ -785,7 +785,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> ldexp
|
||||
inline detail::tvec2<T, P> ldexp
|
||||
(
|
||||
detail::tvec2<T, P> const & x,
|
||||
detail::tvec2<int, P> const & exp
|
||||
@ -797,7 +797,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> ldexp
|
||||
inline detail::tvec3<T, P> ldexp
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<int, P> const & exp
|
||||
@ -810,7 +810,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> ldexp
|
||||
inline detail::tvec4<T, P> ldexp
|
||||
(
|
||||
detail::tvec4<T, P> const & x,
|
||||
detail::tvec4<int, P> const & exp
|
||||
|
36
deps/glm/detail/func_exponential.inl
vendored
36
deps/glm/detail/func_exponential.inl
vendored
@ -45,7 +45,7 @@ namespace detail
|
||||
struct compute_log2<true>
|
||||
{
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T operator() (T const & Value) const
|
||||
inline T operator() (T const & Value) const
|
||||
{
|
||||
return static_cast<T>(::std::log(Value)) * static_cast<T>(1.4426950408889634073599246810019);
|
||||
}
|
||||
@ -54,7 +54,7 @@ namespace detail
|
||||
template <template <class, precision> class vecType, typename T, precision P>
|
||||
struct compute_inversesqrt
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static vecType<T, P> call(vecType<T, P> const & x)
|
||||
inline static vecType<T, P> call(vecType<T, P> const & x)
|
||||
{
|
||||
return static_cast<T>(1) / sqrt(x);
|
||||
}
|
||||
@ -63,7 +63,7 @@ namespace detail
|
||||
template <template <class, precision> class vecType>
|
||||
struct compute_inversesqrt<vecType, float, lowp>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static vecType<float, lowp> call(vecType<float, lowp> const & x)
|
||||
inline static vecType<float, lowp> call(vecType<float, lowp> const & x)
|
||||
{
|
||||
vecType<float, lowp> tmp(x);
|
||||
vecType<float, lowp> xhalf(tmp * 0.5f);
|
||||
@ -79,7 +79,7 @@ namespace detail
|
||||
|
||||
// pow
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType pow
|
||||
inline genType pow
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
@ -92,7 +92,7 @@ namespace detail
|
||||
|
||||
// exp
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType exp
|
||||
inline genType exp
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -104,7 +104,7 @@ namespace detail
|
||||
|
||||
// log
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType log
|
||||
inline genType log
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -116,7 +116,7 @@ namespace detail
|
||||
|
||||
//exp2, ln2 = 0.69314718055994530941723212145818f
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType exp2(genType const & x)
|
||||
inline genType exp2(genType const & x)
|
||||
{
|
||||
return std::exp(static_cast<genType>(0.69314718055994530941723212145818) * x);
|
||||
}
|
||||
@ -125,7 +125,7 @@ namespace detail
|
||||
|
||||
// log2, ln2 = 0.69314718055994530941723212145818f
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType log2(genType x)
|
||||
inline genType log2(genType x)
|
||||
{
|
||||
assert(x > genType(0)); // log2 is only defined on the range (0, inf]
|
||||
return detail::compute_log2<std::numeric_limits<genType>::is_iec559>()(x);
|
||||
@ -141,7 +141,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_sqrt<detail::tvec1, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tvec1<T, P> call(detail::tvec1<T, P> const & x)
|
||||
inline static detail::tvec1<T, P> call(detail::tvec1<T, P> const & x)
|
||||
{
|
||||
return detail::tvec1<T, P>(std::sqrt(x.x));
|
||||
}
|
||||
@ -150,7 +150,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_sqrt<detail::tvec2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tvec2<T, P> call(detail::tvec2<T, P> const & x)
|
||||
inline static detail::tvec2<T, P> call(detail::tvec2<T, P> const & x)
|
||||
{
|
||||
return detail::tvec2<T, P>(std::sqrt(x.x), std::sqrt(x.y));
|
||||
}
|
||||
@ -159,7 +159,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_sqrt<detail::tvec3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tvec3<T, P> call(detail::tvec3<T, P> const & x)
|
||||
inline static detail::tvec3<T, P> call(detail::tvec3<T, P> const & x)
|
||||
{
|
||||
return detail::tvec3<T, P>(std::sqrt(x.x), std::sqrt(x.y), std::sqrt(x.z));
|
||||
}
|
||||
@ -168,7 +168,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_sqrt<detail::tvec4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tvec4<T, P> call(detail::tvec4<T, P> const & x)
|
||||
inline static detail::tvec4<T, P> call(detail::tvec4<T, P> const & x)
|
||||
{
|
||||
return detail::tvec4<T, P>(std::sqrt(x.x), std::sqrt(x.y), std::sqrt(x.z), std::sqrt(x.w));
|
||||
}
|
||||
@ -176,35 +176,35 @@ namespace detail
|
||||
}//namespace detail
|
||||
|
||||
// sqrt
|
||||
GLM_FUNC_QUALIFIER float sqrt(float x)
|
||||
inline float sqrt(float x)
|
||||
{
|
||||
return detail::compute_sqrt<detail::tvec1, float, highp>::call(x).x;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER double sqrt(double x)
|
||||
inline double sqrt(double x)
|
||||
{
|
||||
return detail::compute_sqrt<detail::tvec1, double, highp>::call(x).x;
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> sqrt(vecType<T, P> const & x)
|
||||
inline vecType<T, P> sqrt(vecType<T, P> const & x)
|
||||
{
|
||||
return detail::compute_sqrt<vecType, T, P>::call(x);
|
||||
}
|
||||
|
||||
// inversesqrt
|
||||
GLM_FUNC_QUALIFIER float inversesqrt(float const & x)
|
||||
inline float inversesqrt(float const & x)
|
||||
{
|
||||
return 1.0f / sqrt(x);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER double inversesqrt(double const & x)
|
||||
inline double inversesqrt(double const & x)
|
||||
{
|
||||
return 1.0 / sqrt(x);
|
||||
}
|
||||
|
||||
template <template <class, precision> class vecType, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> inversesqrt
|
||||
inline vecType<T, P> inversesqrt
|
||||
(
|
||||
vecType<T, P> const & x
|
||||
)
|
||||
|
48
deps/glm/detail/func_geometric.inl
vendored
48
deps/glm/detail/func_geometric.inl
vendored
@ -41,7 +41,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_dot<detail::tvec1, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(detail::tvec1<T, P> const & x, detail::tvec1<T, P> const & y)
|
||||
inline static T call(detail::tvec1<T, P> const & x, detail::tvec1<T, P> const & y)
|
||||
{
|
||||
return detail::tvec1<T, P>(x * y).x;
|
||||
}
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_dot<detail::tvec2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(detail::tvec2<T, P> const & x, detail::tvec2<T, P> const & y)
|
||||
inline static T call(detail::tvec2<T, P> const & x, detail::tvec2<T, P> const & y)
|
||||
{
|
||||
detail::tvec2<T, P> tmp(x * y);
|
||||
return tmp.x + tmp.y;
|
||||
@ -60,7 +60,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_dot<detail::tvec3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(detail::tvec3<T, P> const & x, detail::tvec3<T, P> const & y)
|
||||
inline static T call(detail::tvec3<T, P> const & x, detail::tvec3<T, P> const & y)
|
||||
{
|
||||
detail::tvec3<T, P> tmp(x * y);
|
||||
return tmp.x + tmp.y + tmp.z;
|
||||
@ -70,7 +70,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_dot<detail::tvec4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(detail::tvec4<T, P> const & x, detail::tvec4<T, P> const & y)
|
||||
inline static T call(detail::tvec4<T, P> const & x, detail::tvec4<T, P> const & y)
|
||||
{
|
||||
detail::tvec4<T, P> tmp(x * y);
|
||||
return (tmp.x + tmp.y) + (tmp.z + tmp.w);
|
||||
@ -80,7 +80,7 @@ namespace detail
|
||||
|
||||
// length
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType length
|
||||
inline genType length
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -90,21 +90,21 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T length(detail::tvec2<T, P> const & v)
|
||||
inline T length(detail::tvec2<T, P> const & v)
|
||||
{
|
||||
T sqr = v.x * v.x + v.y * v.y;
|
||||
return sqrt(sqr);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T length(detail::tvec3<T, P> const & v)
|
||||
inline T length(detail::tvec3<T, P> const & v)
|
||||
{
|
||||
T sqr = v.x * v.x + v.y * v.y + v.z * v.z;
|
||||
return sqrt(sqr);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T length(detail::tvec4<T, P> const & v)
|
||||
inline T length(detail::tvec4<T, P> const & v)
|
||||
{
|
||||
T sqr = v.x * v.x + v.y * v.y + v.z * v.z + v.w * v.w;
|
||||
return sqrt(sqr);
|
||||
@ -112,7 +112,7 @@ namespace detail
|
||||
|
||||
// distance
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType distance
|
||||
inline genType distance
|
||||
(
|
||||
genType const & p0,
|
||||
genType const & p1
|
||||
@ -122,7 +122,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T distance
|
||||
inline T distance
|
||||
(
|
||||
detail::tvec2<T, P> const & p0,
|
||||
detail::tvec2<T, P> const & p1
|
||||
@ -132,7 +132,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T distance
|
||||
inline T distance
|
||||
(
|
||||
detail::tvec3<T, P> const & p0,
|
||||
detail::tvec3<T, P> const & p1
|
||||
@ -142,7 +142,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T distance
|
||||
inline T distance
|
||||
(
|
||||
detail::tvec4<T, P> const & p0,
|
||||
detail::tvec4<T, P> const & p1
|
||||
@ -153,7 +153,7 @@ namespace detail
|
||||
|
||||
// dot
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T dot
|
||||
inline T dot
|
||||
(
|
||||
T const & x,
|
||||
T const & y
|
||||
@ -163,7 +163,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER T dot
|
||||
inline T dot
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y
|
||||
@ -173,7 +173,7 @@ namespace detail
|
||||
}
|
||||
|
||||
/* // SSE3
|
||||
GLM_FUNC_QUALIFIER float dot(const tvec4<float>& x, const tvec4<float>& y)
|
||||
inline float dot(const tvec4<float>& x, const tvec4<float>& y)
|
||||
{
|
||||
float Result;
|
||||
__asm
|
||||
@ -191,7 +191,7 @@ namespace detail
|
||||
*/
|
||||
// cross
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> cross
|
||||
inline detail::tvec3<T, P> cross
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<T, P> const & y
|
||||
@ -205,7 +205,7 @@ namespace detail
|
||||
|
||||
// normalize
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType normalize
|
||||
inline genType normalize
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -215,7 +215,7 @@ namespace detail
|
||||
|
||||
// According to issue 10 GLSL 1.10 specification, if length(x) == 0 then result is undefine and generate an error
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> normalize
|
||||
inline detail::tvec2<T, P> normalize
|
||||
(
|
||||
detail::tvec2<T, P> const & x
|
||||
)
|
||||
@ -225,7 +225,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> normalize
|
||||
inline detail::tvec3<T, P> normalize
|
||||
(
|
||||
detail::tvec3<T, P> const & x
|
||||
)
|
||||
@ -235,7 +235,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> normalize
|
||||
inline detail::tvec4<T, P> normalize
|
||||
(
|
||||
detail::tvec4<T, P> const & x
|
||||
)
|
||||
@ -246,7 +246,7 @@ namespace detail
|
||||
|
||||
// faceforward
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType faceforward
|
||||
inline genType faceforward
|
||||
(
|
||||
genType const & N,
|
||||
genType const & I,
|
||||
@ -258,7 +258,7 @@ namespace detail
|
||||
|
||||
// reflect
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType reflect
|
||||
inline genType reflect
|
||||
(
|
||||
genType const & I,
|
||||
genType const & N
|
||||
@ -269,7 +269,7 @@ namespace detail
|
||||
|
||||
// refract
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType refract
|
||||
inline genType refract
|
||||
(
|
||||
genType const & I,
|
||||
genType const & N,
|
||||
@ -285,7 +285,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> refract
|
||||
inline vecType<T, P> refract
|
||||
(
|
||||
vecType<T, P> const & I,
|
||||
vecType<T, P> const & N,
|
||||
|
76
deps/glm/detail/func_integer.inl
vendored
76
deps/glm/detail/func_integer.inl
vendored
@ -43,7 +43,7 @@ namespace glm
|
||||
{
|
||||
// uaddCarry
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER uint uaddCarry
|
||||
inline uint uaddCarry
|
||||
(
|
||||
uint const & x,
|
||||
uint const & y,
|
||||
@ -57,7 +57,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER uvec2 uaddCarry
|
||||
inline uvec2 uaddCarry
|
||||
(
|
||||
uvec2 const & x,
|
||||
uvec2 const & y,
|
||||
@ -70,7 +70,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER uvec3 uaddCarry
|
||||
inline uvec3 uaddCarry
|
||||
(
|
||||
uvec3 const & x,
|
||||
uvec3 const & y,
|
||||
@ -84,7 +84,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER uvec4 uaddCarry
|
||||
inline uvec4 uaddCarry
|
||||
(
|
||||
uvec4 const & x,
|
||||
uvec4 const & y,
|
||||
@ -100,7 +100,7 @@ namespace glm
|
||||
|
||||
// usubBorrow
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER uint usubBorrow
|
||||
inline uint usubBorrow
|
||||
(
|
||||
uint const & x,
|
||||
uint const & y,
|
||||
@ -114,7 +114,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER uvec2 usubBorrow
|
||||
inline uvec2 usubBorrow
|
||||
(
|
||||
uvec2 const & x,
|
||||
uvec2 const & y,
|
||||
@ -127,7 +127,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER uvec3 usubBorrow
|
||||
inline uvec3 usubBorrow
|
||||
(
|
||||
uvec3 const & x,
|
||||
uvec3 const & y,
|
||||
@ -141,7 +141,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER uvec4 usubBorrow
|
||||
inline uvec4 usubBorrow
|
||||
(
|
||||
uvec4 const & x,
|
||||
uvec4 const & y,
|
||||
@ -157,7 +157,7 @@ namespace glm
|
||||
|
||||
// umulExtended
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER void umulExtended
|
||||
inline void umulExtended
|
||||
(
|
||||
uint const & x,
|
||||
uint const & y,
|
||||
@ -171,7 +171,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER void umulExtended
|
||||
inline void umulExtended
|
||||
(
|
||||
uvec2 const & x,
|
||||
uvec2 const & y,
|
||||
@ -184,7 +184,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER void umulExtended
|
||||
inline void umulExtended
|
||||
(
|
||||
uvec3 const & x,
|
||||
uvec3 const & y,
|
||||
@ -198,7 +198,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER void umulExtended
|
||||
inline void umulExtended
|
||||
(
|
||||
uvec4 const & x,
|
||||
uvec4 const & y,
|
||||
@ -214,7 +214,7 @@ namespace glm
|
||||
|
||||
// imulExtended
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER void imulExtended
|
||||
inline void imulExtended
|
||||
(
|
||||
int const & x,
|
||||
int const & y,
|
||||
@ -228,7 +228,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER void imulExtended
|
||||
inline void imulExtended
|
||||
(
|
||||
ivec2 const & x,
|
||||
ivec2 const & y,
|
||||
@ -241,7 +241,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER void imulExtended
|
||||
inline void imulExtended
|
||||
(
|
||||
ivec3 const & x,
|
||||
ivec3 const & y,
|
||||
@ -255,7 +255,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER void imulExtended
|
||||
inline void imulExtended
|
||||
(
|
||||
ivec4 const & x,
|
||||
ivec4 const & y,
|
||||
@ -271,7 +271,7 @@ namespace glm
|
||||
|
||||
// bitfieldExtract
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER genIUType bitfieldExtract
|
||||
inline genIUType bitfieldExtract
|
||||
(
|
||||
genIUType const & Value,
|
||||
int const & Offset,
|
||||
@ -289,7 +289,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> bitfieldExtract
|
||||
inline detail::tvec2<T, P> bitfieldExtract
|
||||
(
|
||||
detail::tvec2<T, P> const & Value,
|
||||
int const & Offset,
|
||||
@ -302,7 +302,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> bitfieldExtract
|
||||
inline detail::tvec3<T, P> bitfieldExtract
|
||||
(
|
||||
detail::tvec3<T, P> const & Value,
|
||||
int const & Offset,
|
||||
@ -316,7 +316,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> bitfieldExtract
|
||||
inline detail::tvec4<T, P> bitfieldExtract
|
||||
(
|
||||
detail::tvec4<T, P> const & Value,
|
||||
int const & Offset,
|
||||
@ -332,7 +332,7 @@ namespace glm
|
||||
|
||||
// bitfieldInsert
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER genIUType bitfieldInsert
|
||||
inline genIUType bitfieldInsert
|
||||
(
|
||||
genIUType const & Base,
|
||||
genIUType const & Insert,
|
||||
@ -353,7 +353,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> bitfieldInsert
|
||||
inline detail::tvec2<T, P> bitfieldInsert
|
||||
(
|
||||
detail::tvec2<T, P> const & Base,
|
||||
detail::tvec2<T, P> const & Insert,
|
||||
@ -367,7 +367,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> bitfieldInsert
|
||||
inline detail::tvec3<T, P> bitfieldInsert
|
||||
(
|
||||
detail::tvec3<T, P> const & Base,
|
||||
detail::tvec3<T, P> const & Insert,
|
||||
@ -382,7 +382,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> bitfieldInsert
|
||||
inline detail::tvec4<T, P> bitfieldInsert
|
||||
(
|
||||
detail::tvec4<T, P> const & Base,
|
||||
detail::tvec4<T, P> const & Insert,
|
||||
@ -399,7 +399,7 @@ namespace glm
|
||||
|
||||
// bitfieldReverse
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER genIUType bitfieldReverse(genIUType const & Value)
|
||||
inline genIUType bitfieldReverse(genIUType const & Value)
|
||||
{
|
||||
genIUType Out = 0;
|
||||
std::size_t BitSize = sizeof(genIUType) * 8;
|
||||
@ -413,7 +413,7 @@ namespace glm
|
||||
|
||||
// bitCount
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER int bitCount(genIUType const & Value)
|
||||
inline int bitCount(genIUType const & Value)
|
||||
{
|
||||
int Count = 0;
|
||||
for(std::size_t i = 0; i < sizeof(genIUType) * std::size_t(8); ++i)
|
||||
@ -425,7 +425,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<int, P> bitCount
|
||||
inline detail::tvec2<int, P> bitCount
|
||||
(
|
||||
detail::tvec2<T, P> const & value
|
||||
)
|
||||
@ -436,7 +436,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<int, P> bitCount
|
||||
inline detail::tvec3<int, P> bitCount
|
||||
(
|
||||
detail::tvec3<T, P> const & value
|
||||
)
|
||||
@ -448,7 +448,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<int, P> bitCount
|
||||
inline detail::tvec4<int, P> bitCount
|
||||
(
|
||||
detail::tvec4<T, P> const & value
|
||||
)
|
||||
@ -462,7 +462,7 @@ namespace glm
|
||||
|
||||
// findLSB
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER int findLSB
|
||||
inline int findLSB
|
||||
(
|
||||
genIUType const & Value
|
||||
)
|
||||
@ -476,7 +476,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<int, P> findLSB
|
||||
inline detail::tvec2<int, P> findLSB
|
||||
(
|
||||
detail::tvec2<T, P> const & value
|
||||
)
|
||||
@ -487,7 +487,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<int, P> findLSB
|
||||
inline detail::tvec3<int, P> findLSB
|
||||
(
|
||||
detail::tvec3<T, P> const & value
|
||||
)
|
||||
@ -499,7 +499,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<int, P> findLSB
|
||||
inline detail::tvec4<int, P> findLSB
|
||||
(
|
||||
detail::tvec4<T, P> const & value
|
||||
)
|
||||
@ -515,7 +515,7 @@ namespace glm
|
||||
#if((GLM_ARCH != GLM_ARCH_PURE) && (GLM_COMPILER & GLM_COMPILER_VC))
|
||||
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER int findMSB
|
||||
inline int findMSB
|
||||
(
|
||||
genIUType const & Value
|
||||
)
|
||||
@ -548,7 +548,7 @@ namespace glm
|
||||
*/
|
||||
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER int findMSB
|
||||
inline int findMSB
|
||||
(
|
||||
genIUType const & Value
|
||||
)
|
||||
@ -574,7 +574,7 @@ namespace glm
|
||||
#endif//(GLM_COMPILER)
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<int, P> findMSB
|
||||
inline detail::tvec2<int, P> findMSB
|
||||
(
|
||||
detail::tvec2<T, P> const & value
|
||||
)
|
||||
@ -585,7 +585,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<int, P> findMSB
|
||||
inline detail::tvec3<int, P> findMSB
|
||||
(
|
||||
detail::tvec3<T, P> const & value
|
||||
)
|
||||
@ -597,7 +597,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<int, P> findMSB
|
||||
inline detail::tvec4<int, P> findMSB
|
||||
(
|
||||
detail::tvec4<T, P> const & value
|
||||
)
|
||||
|
52
deps/glm/detail/func_matrix.inl
vendored
52
deps/glm/detail/func_matrix.inl
vendored
@ -43,7 +43,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec2, detail::tvec2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec2, detail::tvec2>::type call(detail::tvec2<T, P> const & c, detail::tvec2<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec2, detail::tvec2>::type call(detail::tvec2<T, P> const & c, detail::tvec2<T, P> const & r)
|
||||
{
|
||||
detail::tmat2x2<T, P> m(detail::tmat2x2<T, P>::_null);
|
||||
m[0][0] = c[0] * r[0];
|
||||
@ -57,7 +57,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec3, detail::tvec3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec3, detail::tvec3>::type call(detail::tvec3<T, P> const & c, detail::tvec3<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec3, detail::tvec3>::type call(detail::tvec3<T, P> const & c, detail::tvec3<T, P> const & r)
|
||||
{
|
||||
detail::tmat3x3<T, P> m(detail::tmat3x3<T, P>::_null);
|
||||
for(length_t i(0); i < m.length(); ++i)
|
||||
@ -69,7 +69,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec4, detail::tvec4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec4, detail::tvec4>::type call(detail::tvec4<T, P> const & c, detail::tvec4<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec4, detail::tvec4>::type call(detail::tvec4<T, P> const & c, detail::tvec4<T, P> const & r)
|
||||
{
|
||||
detail::tmat4x4<T, P> m(detail::tmat4x4<T, P>::_null);
|
||||
for(length_t i(0); i < m.length(); ++i)
|
||||
@ -81,7 +81,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec3, detail::tvec2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec3, detail::tvec2>::type call(detail::tvec3<T, P> const & c, detail::tvec2<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec3, detail::tvec2>::type call(detail::tvec3<T, P> const & c, detail::tvec2<T, P> const & r)
|
||||
{
|
||||
detail::tmat2x3<T, P> m(detail::tmat2x3<T, P>::_null);
|
||||
m[0][0] = c.x * r.x;
|
||||
@ -97,7 +97,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec2, detail::tvec3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec2, detail::tvec3>::type call(detail::tvec2<T, P> const & c, detail::tvec3<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec2, detail::tvec3>::type call(detail::tvec2<T, P> const & c, detail::tvec3<T, P> const & r)
|
||||
{
|
||||
detail::tmat3x2<T, P> m(detail::tmat3x2<T, P>::_null);
|
||||
m[0][0] = c.x * r.x;
|
||||
@ -113,7 +113,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec4, detail::tvec2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec4, detail::tvec2>::type call(detail::tvec4<T, P> const & c, detail::tvec2<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec4, detail::tvec2>::type call(detail::tvec4<T, P> const & c, detail::tvec2<T, P> const & r)
|
||||
{
|
||||
detail::tmat2x4<T, P> m(detail::tmat2x4<T, P>::_null);
|
||||
m[0][0] = c.x * r.x;
|
||||
@ -131,7 +131,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec2, detail::tvec4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec2, detail::tvec4>::type call(detail::tvec2<T, P> const & c, detail::tvec4<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec2, detail::tvec4>::type call(detail::tvec2<T, P> const & c, detail::tvec4<T, P> const & r)
|
||||
{
|
||||
detail::tmat4x2<T, P> m(detail::tmat4x2<T, P>::_null);
|
||||
m[0][0] = c.x * r.x;
|
||||
@ -149,7 +149,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec4, detail::tvec3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec4, detail::tvec3>::type call(detail::tvec4<T, P> const & c, detail::tvec3<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec4, detail::tvec3>::type call(detail::tvec4<T, P> const & c, detail::tvec3<T, P> const & r)
|
||||
{
|
||||
detail::tmat3x4<T, P> m(detail::tmat3x4<T, P>::_null);
|
||||
m[0][0] = c.x * r.x;
|
||||
@ -171,7 +171,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_outerProduct<detail::tvec3, detail::tvec4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<T, P, detail::tvec3, detail::tvec4>::type call(detail::tvec3<T, P> const & c, detail::tvec4<T, P> const & r)
|
||||
inline static typename detail::outerProduct_trait<T, P, detail::tvec3, detail::tvec4>::type call(detail::tvec3<T, P> const & c, detail::tvec4<T, P> const & r)
|
||||
{
|
||||
detail::tmat4x3<T, P> m(detail::tmat4x3<T, P>::_null);
|
||||
m[0][0] = c.x * r.x;
|
||||
@ -196,7 +196,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat2x2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat2x2<T, P> call(detail::tmat2x2<T, P> const & m)
|
||||
inline static detail::tmat2x2<T, P> call(detail::tmat2x2<T, P> const & m)
|
||||
{
|
||||
detail::tmat2x2<T, P> result(detail::tmat2x2<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -210,7 +210,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat2x3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat3x2<T, P> call(detail::tmat2x3<T, P> const & m)
|
||||
inline static detail::tmat3x2<T, P> call(detail::tmat2x3<T, P> const & m)
|
||||
{
|
||||
detail::tmat3x2<T, P> result(detail::tmat3x2<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -226,7 +226,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat2x4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat4x2<T, P> call(detail::tmat2x4<T, P> const & m)
|
||||
inline static detail::tmat4x2<T, P> call(detail::tmat2x4<T, P> const & m)
|
||||
{
|
||||
detail::tmat4x2<T, P> result(detail::tmat4x2<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -244,7 +244,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat3x2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat2x3<T, P> call(detail::tmat3x2<T, P> const & m)
|
||||
inline static detail::tmat2x3<T, P> call(detail::tmat3x2<T, P> const & m)
|
||||
{
|
||||
detail::tmat2x3<T, P> result(detail::tmat2x3<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -260,7 +260,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat3x3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat3x3<T, P> call(detail::tmat3x3<T, P> const & m)
|
||||
inline static detail::tmat3x3<T, P> call(detail::tmat3x3<T, P> const & m)
|
||||
{
|
||||
detail::tmat3x3<T, P> result(detail::tmat3x3<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -281,7 +281,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat3x4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat4x3<T, P> call(detail::tmat3x4<T, P> const & m)
|
||||
inline static detail::tmat4x3<T, P> call(detail::tmat3x4<T, P> const & m)
|
||||
{
|
||||
detail::tmat4x3<T, P> result(detail::tmat4x3<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -303,7 +303,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat4x2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat2x4<T, P> call(detail::tmat4x2<T, P> const & m)
|
||||
inline static detail::tmat2x4<T, P> call(detail::tmat4x2<T, P> const & m)
|
||||
{
|
||||
detail::tmat2x4<T, P> result(detail::tmat2x4<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -321,7 +321,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat4x3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat3x4<T, P> call(detail::tmat4x3<T, P> const & m)
|
||||
inline static detail::tmat3x4<T, P> call(detail::tmat4x3<T, P> const & m)
|
||||
{
|
||||
detail::tmat3x4<T, P> result(detail::tmat3x4<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -343,7 +343,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_transpose<detail::tmat4x4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat4x4<T, P> call(detail::tmat4x4<T, P> const & m)
|
||||
inline static detail::tmat4x4<T, P> call(detail::tmat4x4<T, P> const & m)
|
||||
{
|
||||
detail::tmat4x4<T, P> result(detail::tmat4x4<T, P>::_null);
|
||||
result[0][0] = m[0][0];
|
||||
@ -375,7 +375,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_determinant<detail::tmat2x2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(detail::tmat2x2<T, P> const & m)
|
||||
inline static T call(detail::tmat2x2<T, P> const & m)
|
||||
{
|
||||
return m[0][0] * m[1][1] - m[1][0] * m[0][1];
|
||||
}
|
||||
@ -384,7 +384,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_determinant<detail::tmat3x3, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(detail::tmat3x3<T, P> const & m)
|
||||
inline static T call(detail::tmat3x3<T, P> const & m)
|
||||
{
|
||||
return
|
||||
+ m[0][0] * (m[1][1] * m[2][2] - m[2][1] * m[1][2])
|
||||
@ -396,7 +396,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_determinant<detail::tmat4x4, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static T call(detail::tmat4x4<T, P> const & m)
|
||||
inline static T call(detail::tmat4x4<T, P> const & m)
|
||||
{
|
||||
T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3];
|
||||
T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3];
|
||||
@ -419,7 +419,7 @@ namespace detail
|
||||
}//namespace detail
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class matType>
|
||||
GLM_FUNC_QUALIFIER matType<T, P> matrixCompMult(matType<T, P> const & x, matType<T, P> const & y)
|
||||
inline matType<T, P> matrixCompMult(matType<T, P> const & x, matType<T, P> const & y)
|
||||
{
|
||||
matType<T, P> result(matType<T, P>::_null);
|
||||
for(length_t i = 0; i < result.length(); ++i)
|
||||
@ -428,25 +428,25 @@ namespace detail
|
||||
}
|
||||
|
||||
template<typename T, precision P, template <typename, precision> class vecTypeA, template <typename, precision> class vecTypeB>
|
||||
GLM_FUNC_QUALIFIER typename detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type outerProduct(vecTypeA<T, P> const & c, vecTypeB<T, P> const & r)
|
||||
inline typename detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type outerProduct(vecTypeA<T, P> const & c, vecTypeB<T, P> const & r)
|
||||
{
|
||||
return detail::compute_outerProduct<vecTypeA, vecTypeB, T, P>::call(c, r);
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class matType>
|
||||
GLM_FUNC_QUALIFIER typename matType<T, P>::transpose_type transpose(matType<T, P> const & m)
|
||||
inline typename matType<T, P>::transpose_type transpose(matType<T, P> const & m)
|
||||
{
|
||||
return detail::compute_transpose<matType, T, P>::call(m);
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class matType>
|
||||
GLM_FUNC_QUALIFIER T determinant(matType<T, P> const & m)
|
||||
inline T determinant(matType<T, P> const & m)
|
||||
{
|
||||
return detail::compute_determinant<matType, T, P>::call(m);
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class matType>
|
||||
GLM_FUNC_QUALIFIER matType<T, P> inverse(matType<T, P> const & m)
|
||||
inline matType<T, P> inverse(matType<T, P> const & m)
|
||||
{
|
||||
return detail::compute_inverse<matType, T, P>::call(m);
|
||||
}
|
||||
|
34
deps/glm/detail/func_noise.inl
vendored
34
deps/glm/detail/func_noise.inl
vendored
@ -33,7 +33,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> grad4(T const & j, detail::tvec4<T, P> const & ip)
|
||||
inline detail::tvec4<T, P> grad4(T const & j, detail::tvec4<T, P> const & ip)
|
||||
{
|
||||
detail::tvec3<T, P> pXYZ = floor(fract(detail::tvec3<T, P>(j) * detail::tvec3<T, P>(ip)) * T(7)) * ip[2] - T(1);
|
||||
T pW = static_cast<T>(1.5) - dot(abs(pXYZ), detail::tvec3<T, P>(1));
|
||||
@ -44,13 +44,13 @@ namespace detail
|
||||
}//namespace detail
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T noise1(T const & x)
|
||||
inline T noise1(T const & x)
|
||||
{
|
||||
return noise1(detail::tvec2<T, defaultp>(x, T(0)));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, defaultp> noise2(T const & x)
|
||||
inline detail::tvec2<T, defaultp> noise2(T const & x)
|
||||
{
|
||||
return detail::tvec2<T, defaultp>(
|
||||
noise1(x + T(0.0)),
|
||||
@ -58,7 +58,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, defaultp> noise3(T const & x)
|
||||
inline detail::tvec3<T, defaultp> noise3(T const & x)
|
||||
{
|
||||
return detail::tvec3<T, defaultp>(
|
||||
noise1(x - T(1.0)),
|
||||
@ -67,7 +67,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, defaultp> noise4(T const & x)
|
||||
inline detail::tvec4<T, defaultp> noise4(T const & x)
|
||||
{
|
||||
return detail::tvec4<T, defaultp>(
|
||||
noise1(x - T(1.0)),
|
||||
@ -77,7 +77,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T noise1(detail::tvec2<T, P> const & v)
|
||||
inline T noise1(detail::tvec2<T, P> const & v)
|
||||
{
|
||||
detail::tvec4<T, P> const C = detail::tvec4<T, P>(
|
||||
T( 0.211324865405187), // (3.0 - sqrt(3.0)) / 6.0
|
||||
@ -135,7 +135,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T noise1(detail::tvec3<T, P> const & v)
|
||||
inline T noise1(detail::tvec3<T, P> const & v)
|
||||
{
|
||||
detail::tvec2<T, P> const C(1.0 / 6.0, 1.0 / 3.0);
|
||||
detail::tvec4<T, P> const D(0.0, 0.5, 1.0, 2.0);
|
||||
@ -210,7 +210,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T noise1(detail::tvec4<T, P> const & v)
|
||||
inline T noise1(detail::tvec4<T, P> const & v)
|
||||
{
|
||||
detail::tvec4<T, P> const C(
|
||||
0.138196601125011, // (5 - sqrt(5))/20 G4
|
||||
@ -300,7 +300,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> noise2(detail::tvec2<T, P> const & x)
|
||||
inline detail::tvec2<T, P> noise2(detail::tvec2<T, P> const & x)
|
||||
{
|
||||
return detail::tvec2<T, P>(
|
||||
noise1(x + detail::tvec2<T, P>(0.0)),
|
||||
@ -308,7 +308,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> noise2(detail::tvec3<T, P> const & x)
|
||||
inline detail::tvec2<T, P> noise2(detail::tvec3<T, P> const & x)
|
||||
{
|
||||
return detail::tvec2<T, P>(
|
||||
noise1(x + detail::tvec3<T, P>(0.0)),
|
||||
@ -316,7 +316,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> noise2(detail::tvec4<T, P> const & x)
|
||||
inline detail::tvec2<T, P> noise2(detail::tvec4<T, P> const & x)
|
||||
{
|
||||
return detail::tvec2<T, P>(
|
||||
noise1(x + detail::tvec4<T, P>(0)),
|
||||
@ -324,7 +324,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> noise3(detail::tvec2<T, P> const & x)
|
||||
inline detail::tvec3<T, P> noise3(detail::tvec2<T, P> const & x)
|
||||
{
|
||||
return detail::tvec3<T, P>(
|
||||
noise1(x - detail::tvec2<T, P>(1.0)),
|
||||
@ -333,7 +333,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> noise3(detail::tvec3<T, P> const & x)
|
||||
inline detail::tvec3<T, P> noise3(detail::tvec3<T, P> const & x)
|
||||
{
|
||||
return detail::tvec3<T, P>(
|
||||
noise1(x - detail::tvec3<T, P>(1.0)),
|
||||
@ -342,7 +342,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> noise3(detail::tvec4<T, P> const & x)
|
||||
inline detail::tvec3<T, P> noise3(detail::tvec4<T, P> const & x)
|
||||
{
|
||||
return detail::tvec3<T, P>(
|
||||
noise1(x - detail::tvec4<T, P>(1)),
|
||||
@ -351,7 +351,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> noise4(detail::tvec2<T, P> const & x)
|
||||
inline detail::tvec4<T, P> noise4(detail::tvec2<T, P> const & x)
|
||||
{
|
||||
return detail::tvec4<T, P>(
|
||||
noise1(x - detail::tvec2<T, P>(1)),
|
||||
@ -362,7 +362,7 @@ namespace detail
|
||||
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> noise4(detail::tvec3<T, P> const & x)
|
||||
inline detail::tvec4<T, P> noise4(detail::tvec3<T, P> const & x)
|
||||
{
|
||||
return detail::tvec4<T, P>(
|
||||
noise1(x - detail::tvec3<T, P>(1)),
|
||||
@ -372,7 +372,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> noise4(detail::tvec4<T, P> const & x)
|
||||
inline detail::tvec4<T, P> noise4(detail::tvec4<T, P> const & x)
|
||||
{
|
||||
return detail::tvec4<T, P>(
|
||||
noise1(x - detail::tvec4<T, P>(1)),
|
||||
|
24
deps/glm/detail/func_packing.inl
vendored
24
deps/glm/detail/func_packing.inl
vendored
@ -32,7 +32,7 @@
|
||||
|
||||
namespace glm
|
||||
{
|
||||
GLM_FUNC_QUALIFIER uint packUnorm2x16(vec2 const & v)
|
||||
inline uint packUnorm2x16(vec2 const & v)
|
||||
{
|
||||
u16vec2 Topack(round(clamp(v, 0.0f, 1.0f) * 65535.0f));
|
||||
uint Packed;
|
||||
@ -40,7 +40,7 @@ namespace glm
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec2 unpackUnorm2x16(uint const & p)
|
||||
inline vec2 unpackUnorm2x16(uint const & p)
|
||||
{
|
||||
u16vec2 Packed;
|
||||
std::memcpy(&Packed, &p, sizeof(Packed));
|
||||
@ -48,7 +48,7 @@ namespace glm
|
||||
return Unpack * float(1.5259021896696421759365224689097e-5); // 1.0 / 65535.0
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint packSnorm2x16(vec2 const & v)
|
||||
inline uint packSnorm2x16(vec2 const & v)
|
||||
{
|
||||
i16vec2 Topack(round(clamp(v ,-1.0f, 1.0f) * 32767.0f));
|
||||
uint32 Packed;
|
||||
@ -56,7 +56,7 @@ namespace glm
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec2 unpackSnorm2x16(uint const & p)
|
||||
inline vec2 unpackSnorm2x16(uint const & p)
|
||||
{
|
||||
i16vec2 Packed;
|
||||
std::memcpy(&Packed, &p, sizeof(Packed));
|
||||
@ -66,7 +66,7 @@ namespace glm
|
||||
-1.0f, 1.0f);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint packUnorm4x8(vec4 const & v)
|
||||
inline uint packUnorm4x8(vec4 const & v)
|
||||
{
|
||||
u8vec4 Topack(round(clamp(v, 0.0f, 1.0f) * 255.0f));
|
||||
uint Packed;
|
||||
@ -74,7 +74,7 @@ namespace glm
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec4 unpackUnorm4x8(uint const & p)
|
||||
inline vec4 unpackUnorm4x8(uint const & p)
|
||||
{
|
||||
u8vec4 Packed;
|
||||
std::memcpy(&Packed, &p, sizeof(Packed));
|
||||
@ -82,7 +82,7 @@ namespace glm
|
||||
return Unpack * float(0.0039215686274509803921568627451); // 1 / 255
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint packSnorm4x8(vec4 const & v)
|
||||
inline uint packSnorm4x8(vec4 const & v)
|
||||
{
|
||||
i8vec4 Topack(round(clamp(v ,-1.0f, 1.0f) * 127.0f));
|
||||
uint Packed;
|
||||
@ -90,7 +90,7 @@ namespace glm
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::vec4 unpackSnorm4x8(uint const & p)
|
||||
inline glm::vec4 unpackSnorm4x8(uint const & p)
|
||||
{
|
||||
i8vec4 Packed;
|
||||
std::memcpy(&Packed, &p, sizeof(Packed));
|
||||
@ -100,21 +100,21 @@ namespace glm
|
||||
-1.0f, 1.0f);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER double packDouble2x32(uvec2 const & v)
|
||||
inline double packDouble2x32(uvec2 const & v)
|
||||
{
|
||||
double Packed;
|
||||
std::memcpy(&Packed, &v, sizeof(Packed));
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uvec2 unpackDouble2x32(double const & v)
|
||||
inline uvec2 unpackDouble2x32(double const & v)
|
||||
{
|
||||
uvec2 Unpack;
|
||||
std::memcpy(&Unpack, &v, sizeof(Unpack));
|
||||
return Unpack;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint packHalf2x16(vec2 const & v)
|
||||
inline uint packHalf2x16(vec2 const & v)
|
||||
{
|
||||
i16vec2 Unpack(
|
||||
detail::toFloat16(v.x),
|
||||
@ -125,7 +125,7 @@ namespace glm
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec2 unpackHalf2x16(uint const & v)
|
||||
inline vec2 unpackHalf2x16(uint const & v)
|
||||
{
|
||||
i16vec2 Unpack;
|
||||
std::memcpy(&Unpack, &v, sizeof(Unpack));
|
||||
|
30
deps/glm/detail/func_trigonometric.inl
vendored
30
deps/glm/detail/func_trigonometric.inl
vendored
@ -34,7 +34,7 @@ namespace glm
|
||||
{
|
||||
// radians
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType radians
|
||||
inline genType radians
|
||||
(
|
||||
genType const & degrees
|
||||
)
|
||||
@ -46,7 +46,7 @@ namespace glm
|
||||
|
||||
// degrees
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType degrees
|
||||
inline genType degrees
|
||||
(
|
||||
genType const & radians
|
||||
)
|
||||
@ -58,7 +58,7 @@ namespace glm
|
||||
|
||||
// sin
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType sin
|
||||
inline genType sin
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -70,7 +70,7 @@ namespace glm
|
||||
|
||||
// cos
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType cos(genType const & angle)
|
||||
inline genType cos(genType const & angle)
|
||||
{
|
||||
return genType(::std::cos(angle));
|
||||
}
|
||||
@ -79,7 +79,7 @@ namespace glm
|
||||
|
||||
// tan
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType tan
|
||||
inline genType tan
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -91,7 +91,7 @@ namespace glm
|
||||
|
||||
// asin
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType asin
|
||||
inline genType asin
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -103,7 +103,7 @@ namespace glm
|
||||
|
||||
// acos
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType acos
|
||||
inline genType acos
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -115,7 +115,7 @@ namespace glm
|
||||
|
||||
// atan
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType atan
|
||||
inline genType atan
|
||||
(
|
||||
genType const & y,
|
||||
genType const & x
|
||||
@ -127,7 +127,7 @@ namespace glm
|
||||
VECTORIZE_VEC_VEC(atan)
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType atan
|
||||
inline genType atan
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -139,7 +139,7 @@ namespace glm
|
||||
|
||||
// sinh
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType sinh
|
||||
inline genType sinh
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -151,7 +151,7 @@ namespace glm
|
||||
|
||||
// cosh
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType cosh
|
||||
inline genType cosh
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -163,7 +163,7 @@ namespace glm
|
||||
|
||||
// tanh
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType tanh
|
||||
inline genType tanh
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -175,7 +175,7 @@ namespace glm
|
||||
|
||||
// asinh
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType asinh
|
||||
inline genType asinh
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -187,7 +187,7 @@ namespace glm
|
||||
|
||||
// acosh
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType acosh
|
||||
inline genType acosh
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -201,7 +201,7 @@ namespace glm
|
||||
|
||||
// atanh
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType atanh
|
||||
inline genType atanh
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
|
18
deps/glm/detail/func_vector_relational.inl
vendored
18
deps/glm/detail/func_vector_relational.inl
vendored
@ -31,7 +31,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER typename vecType<T, P>::bool_type lessThan
|
||||
inline typename vecType<T, P>::bool_type lessThan
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y
|
||||
@ -45,7 +45,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER typename vecType<T, P>::bool_type lessThanEqual
|
||||
inline typename vecType<T, P>::bool_type lessThanEqual
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y
|
||||
@ -58,7 +58,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER typename vecType<T, P>::bool_type greaterThan
|
||||
inline typename vecType<T, P>::bool_type greaterThan
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y
|
||||
@ -71,7 +71,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER typename vecType<T, P>::bool_type greaterThanEqual
|
||||
inline typename vecType<T, P>::bool_type greaterThanEqual
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y
|
||||
@ -84,7 +84,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER typename vecType<T, P>::bool_type equal
|
||||
inline typename vecType<T, P>::bool_type equal
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y
|
||||
@ -99,7 +99,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER typename vecType<T, P>::bool_type notEqual
|
||||
inline typename vecType<T, P>::bool_type notEqual
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y
|
||||
@ -114,7 +114,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER bool any(vecType<bool, P> const & v)
|
||||
inline bool any(vecType<bool, P> const & v)
|
||||
{
|
||||
bool Result = false;
|
||||
for(int i = 0; i < v.length(); ++i)
|
||||
@ -123,7 +123,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER bool all(vecType<bool, P> const & v)
|
||||
inline bool all(vecType<bool, P> const & v)
|
||||
{
|
||||
bool Result = true;
|
||||
for(int i = 0; i < v.length(); ++i)
|
||||
@ -132,7 +132,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<bool, P> not_(vecType<bool, P> const & v)
|
||||
inline vecType<bool, P> not_(vecType<bool, P> const & v)
|
||||
{
|
||||
typename vecType<bool, P>::bool_type Result(vecType<bool, P>::_null);
|
||||
for(int i = 0; i < v.length(); ++i)
|
||||
|
4
deps/glm/detail/intrinsic_common.hpp
vendored
4
deps/glm/detail/intrinsic_common.hpp
vendored
@ -64,10 +64,6 @@ namespace detail
|
||||
|
||||
__m128 sse_modf_ps(__m128 x, __m128i & i);
|
||||
|
||||
//GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)
|
||||
|
||||
//GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)
|
||||
|
||||
__m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
|
||||
|
||||
__m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
|
||||
|
38
deps/glm/detail/intrinsic_common.inl
vendored
38
deps/glm/detail/intrinsic_common.inl
vendored
@ -151,12 +151,12 @@ namespace detail{
|
||||
static const __m128 GLM_VAR_USED _ps_log_c0 = _mm_set_ps1(0.693147180559945f);
|
||||
static const __m128 GLM_VAR_USED _ps_log2_c0 = _mm_set_ps1(1.44269504088896340735992f);
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_abs_ps(__m128 x)
|
||||
inline __m128 sse_abs_ps(__m128 x)
|
||||
{
|
||||
return _mm_and_ps(glm::detail::abs4Mask, x);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_sgn_ps(__m128 x)
|
||||
inline __m128 sse_sgn_ps(__m128 x)
|
||||
{
|
||||
__m128 Neg = _mm_set1_ps(-1.0f);
|
||||
__m128 Pos = _mm_set1_ps(1.0f);
|
||||
@ -171,7 +171,7 @@ GLM_FUNC_QUALIFIER __m128 sse_sgn_ps(__m128 x)
|
||||
}
|
||||
|
||||
//floor
|
||||
GLM_FUNC_QUALIFIER __m128 sse_flr_ps(__m128 x)
|
||||
inline __m128 sse_flr_ps(__m128 x)
|
||||
{
|
||||
__m128 rnd0 = sse_rnd_ps(x);
|
||||
__m128 cmp0 = _mm_cmplt_ps(x, rnd0);
|
||||
@ -182,13 +182,13 @@ GLM_FUNC_QUALIFIER __m128 sse_flr_ps(__m128 x)
|
||||
|
||||
//trunc
|
||||
/*
|
||||
GLM_FUNC_QUALIFIER __m128 _mm_trc_ps(__m128 v)
|
||||
inline __m128 _mm_trc_ps(__m128 v)
|
||||
{
|
||||
return __m128();
|
||||
}
|
||||
*/
|
||||
//round
|
||||
GLM_FUNC_QUALIFIER __m128 sse_rnd_ps(__m128 x)
|
||||
inline __m128 sse_rnd_ps(__m128 x)
|
||||
{
|
||||
__m128 and0 = _mm_and_ps(glm::detail::_epi32_sign_mask, x);
|
||||
__m128 or0 = _mm_or_ps(and0, glm::detail::_ps_2pow23);
|
||||
@ -198,7 +198,7 @@ GLM_FUNC_QUALIFIER __m128 sse_rnd_ps(__m128 x)
|
||||
}
|
||||
|
||||
//roundEven
|
||||
GLM_FUNC_QUALIFIER __m128 sse_rde_ps(__m128 x)
|
||||
inline __m128 sse_rde_ps(__m128 x)
|
||||
{
|
||||
__m128 and0 = _mm_and_ps(glm::detail::_epi32_sign_mask, x);
|
||||
__m128 or0 = _mm_or_ps(and0, glm::detail::_ps_2pow23);
|
||||
@ -207,7 +207,7 @@ GLM_FUNC_QUALIFIER __m128 sse_rde_ps(__m128 x)
|
||||
return sub0;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_ceil_ps(__m128 x)
|
||||
inline __m128 sse_ceil_ps(__m128 x)
|
||||
{
|
||||
__m128 rnd0 = sse_rnd_ps(x);
|
||||
__m128 cmp0 = _mm_cmpgt_ps(x, rnd0);
|
||||
@ -216,14 +216,14 @@ GLM_FUNC_QUALIFIER __m128 sse_ceil_ps(__m128 x)
|
||||
return add0;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_frc_ps(__m128 x)
|
||||
inline __m128 sse_frc_ps(__m128 x)
|
||||
{
|
||||
__m128 flr0 = sse_flr_ps(x);
|
||||
__m128 sub0 = _mm_sub_ps(x, flr0);
|
||||
return sub0;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_mod_ps(__m128 x, __m128 y)
|
||||
inline __m128 sse_mod_ps(__m128 x, __m128 y)
|
||||
{
|
||||
__m128 div0 = _mm_div_ps(x, y);
|
||||
__m128 flr0 = sse_flr_ps(div0);
|
||||
@ -234,25 +234,25 @@ GLM_FUNC_QUALIFIER __m128 sse_mod_ps(__m128 x, __m128 y)
|
||||
|
||||
/// TODO
|
||||
/*
|
||||
GLM_FUNC_QUALIFIER __m128 sse_modf_ps(__m128 x, __m128i & i)
|
||||
inline __m128 sse_modf_ps(__m128 x, __m128i & i)
|
||||
{
|
||||
__m128 empty;
|
||||
return empty;
|
||||
}
|
||||
*/
|
||||
|
||||
//GLM_FUNC_QUALIFIER __m128 _mm_min_ps(__m128 x, __m128 y)
|
||||
//inline __m128 _mm_min_ps(__m128 x, __m128 y)
|
||||
|
||||
//GLM_FUNC_QUALIFIER __m128 _mm_max_ps(__m128 x, __m128 y)
|
||||
//inline __m128 _mm_max_ps(__m128 x, __m128 y)
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal)
|
||||
inline __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal)
|
||||
{
|
||||
__m128 min0 = _mm_min_ps(v, maxVal);
|
||||
__m128 max0 = _mm_max_ps(min0, minVal);
|
||||
return max0;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a)
|
||||
inline __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a)
|
||||
{
|
||||
__m128 sub0 = _mm_sub_ps(glm::detail::one, a);
|
||||
__m128 mul0 = _mm_mul_ps(v1, sub0);
|
||||
@ -261,7 +261,7 @@ GLM_FUNC_QUALIFIER __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a)
|
||||
return add0;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_stp_ps(__m128 edge, __m128 x)
|
||||
inline __m128 sse_stp_ps(__m128 edge, __m128 x)
|
||||
{
|
||||
__m128 cmp = _mm_cmple_ps(x, edge);
|
||||
if(_mm_movemask_ps(cmp) == 0)
|
||||
@ -270,7 +270,7 @@ GLM_FUNC_QUALIFIER __m128 sse_stp_ps(__m128 edge, __m128 x)
|
||||
return glm::detail::zero;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x)
|
||||
inline __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x)
|
||||
{
|
||||
__m128 sub0 = _mm_sub_ps(x, edge0);
|
||||
__m128 sub1 = _mm_sub_ps(edge1, edge0);
|
||||
@ -284,14 +284,14 @@ GLM_FUNC_QUALIFIER __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x)
|
||||
}
|
||||
|
||||
/// \todo
|
||||
//GLM_FUNC_QUALIFIER __m128 sse_nan_ps(__m128 x)
|
||||
//inline __m128 sse_nan_ps(__m128 x)
|
||||
//{
|
||||
// __m128 empty;
|
||||
// return empty;
|
||||
//}
|
||||
|
||||
/// \todo
|
||||
//GLM_FUNC_QUALIFIER __m128 sse_inf_ps(__m128 x)
|
||||
//inline __m128 sse_inf_ps(__m128 x)
|
||||
//{
|
||||
// __m128 empty;
|
||||
// return empty;
|
||||
@ -299,7 +299,7 @@ GLM_FUNC_QUALIFIER __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x)
|
||||
|
||||
// SSE scalar reciprocal sqrt using rsqrt op, plus one Newton-Rhaphson iteration
|
||||
// By Elan Ruskin, http://assemblyrequired.crashworks.org/
|
||||
GLM_FUNC_QUALIFIER __m128 sse_sqrt_wip_ss(__m128 const & x)
|
||||
inline __m128 sse_sqrt_wip_ss(__m128 const & x)
|
||||
{
|
||||
__m128 recip = _mm_rsqrt_ss(x); // "estimate" opcode
|
||||
const static __m128 three = {3, 3, 3, 3}; // aligned consts for fast load
|
||||
|
4
deps/glm/detail/intrinsic_exponential.hpp
vendored
4
deps/glm/detail/intrinsic_exponential.hpp
vendored
@ -39,7 +39,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
/*
|
||||
GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)
|
||||
inline __m128 sse_rsqrt_nr_ss(__m128 const x)
|
||||
{
|
||||
__m128 recip = _mm_rsqrt_ss( x ); // "estimate" opcode
|
||||
const static __m128 three = { 3, 3, 3, 3 }; // aligned consts for fast load
|
||||
@ -49,7 +49,7 @@ GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)
|
||||
return _mm_mul_ss( halfrecip, threeminus_xrr );
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )
|
||||
inline __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )
|
||||
{
|
||||
__m128 x = _mm_load_ss(&vIn[0]);
|
||||
__m128 y = _mm_load_ss(&vIn[1]);
|
||||
|
18
deps/glm/detail/intrinsic_geometric.inl
vendored
18
deps/glm/detail/intrinsic_geometric.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail{
|
||||
|
||||
//length
|
||||
GLM_FUNC_QUALIFIER __m128 sse_len_ps(__m128 x)
|
||||
inline __m128 sse_len_ps(__m128 x)
|
||||
{
|
||||
__m128 dot0 = sse_dot_ps(x, x);
|
||||
__m128 sqt0 = _mm_sqrt_ps(dot0);
|
||||
@ -38,7 +38,7 @@ GLM_FUNC_QUALIFIER __m128 sse_len_ps(__m128 x)
|
||||
}
|
||||
|
||||
//distance
|
||||
GLM_FUNC_QUALIFIER __m128 sse_dst_ps(__m128 p0, __m128 p1)
|
||||
inline __m128 sse_dst_ps(__m128 p0, __m128 p1)
|
||||
{
|
||||
__m128 sub0 = _mm_sub_ps(p0, p1);
|
||||
__m128 len0 = sse_len_ps(sub0);
|
||||
@ -46,7 +46,7 @@ GLM_FUNC_QUALIFIER __m128 sse_dst_ps(__m128 p0, __m128 p1)
|
||||
}
|
||||
|
||||
//dot
|
||||
GLM_FUNC_QUALIFIER __m128 sse_dot_ps(__m128 v1, __m128 v2)
|
||||
inline __m128 sse_dot_ps(__m128 v1, __m128 v2)
|
||||
{
|
||||
# if((GLM_ARCH & GLM_ARCH_AVX) == GLM_ARCH_AVX)
|
||||
return _mm_dp_ps(v1, v2, 0xff);
|
||||
@ -61,7 +61,7 @@ GLM_FUNC_QUALIFIER __m128 sse_dot_ps(__m128 v1, __m128 v2)
|
||||
}
|
||||
|
||||
// SSE1
|
||||
GLM_FUNC_QUALIFIER __m128 sse_dot_ss(__m128 v1, __m128 v2)
|
||||
inline __m128 sse_dot_ss(__m128 v1, __m128 v2)
|
||||
{
|
||||
__m128 mul0 = _mm_mul_ps(v1, v2);
|
||||
__m128 mov0 = _mm_movehl_ps(mul0, mul0);
|
||||
@ -72,7 +72,7 @@ GLM_FUNC_QUALIFIER __m128 sse_dot_ss(__m128 v1, __m128 v2)
|
||||
}
|
||||
|
||||
//cross
|
||||
GLM_FUNC_QUALIFIER __m128 sse_xpd_ps(__m128 v1, __m128 v2)
|
||||
inline __m128 sse_xpd_ps(__m128 v1, __m128 v2)
|
||||
{
|
||||
__m128 swp0 = _mm_shuffle_ps(v1, v1, _MM_SHUFFLE(3, 0, 2, 1));
|
||||
__m128 swp1 = _mm_shuffle_ps(v1, v1, _MM_SHUFFLE(3, 1, 0, 2));
|
||||
@ -85,7 +85,7 @@ GLM_FUNC_QUALIFIER __m128 sse_xpd_ps(__m128 v1, __m128 v2)
|
||||
}
|
||||
|
||||
//normalize
|
||||
GLM_FUNC_QUALIFIER __m128 sse_nrm_ps(__m128 v)
|
||||
inline __m128 sse_nrm_ps(__m128 v)
|
||||
{
|
||||
__m128 dot0 = sse_dot_ps(v, v);
|
||||
__m128 isr0 = _mm_rsqrt_ps(dot0);
|
||||
@ -94,7 +94,7 @@ GLM_FUNC_QUALIFIER __m128 sse_nrm_ps(__m128 v)
|
||||
}
|
||||
|
||||
//faceforward
|
||||
GLM_FUNC_QUALIFIER __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref)
|
||||
inline __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref)
|
||||
{
|
||||
//__m128 dot0 = _mm_dot_ps(v, v);
|
||||
//__m128 neg0 = _mm_neg_ps(N);
|
||||
@ -110,7 +110,7 @@ GLM_FUNC_QUALIFIER __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref)
|
||||
}
|
||||
|
||||
//reflect
|
||||
GLM_FUNC_QUALIFIER __m128 sse_rfe_ps(__m128 I, __m128 N)
|
||||
inline __m128 sse_rfe_ps(__m128 I, __m128 N)
|
||||
{
|
||||
__m128 dot0 = sse_dot_ps(N, I);
|
||||
__m128 mul0 = _mm_mul_ps(N, dot0);
|
||||
@ -120,7 +120,7 @@ GLM_FUNC_QUALIFIER __m128 sse_rfe_ps(__m128 I, __m128 N)
|
||||
}
|
||||
|
||||
//refract
|
||||
GLM_FUNC_QUALIFIER __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta)
|
||||
inline __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta)
|
||||
{
|
||||
__m128 dot0 = sse_dot_ps(N, I);
|
||||
__m128 mul0 = _mm_mul_ps(eta, eta);
|
||||
|
28
deps/glm/detail/intrinsic_matrix.inl
vendored
28
deps/glm/detail/intrinsic_matrix.inl
vendored
@ -33,7 +33,7 @@ static const __m128 GLM_VAR_USED _m128_rad_ps = _mm_set_ps1(3.141592653589793238
|
||||
static const __m128 GLM_VAR_USED _m128_deg_ps = _mm_set_ps1(180.f / 3.141592653589793238462643383279f);
|
||||
|
||||
template <typename matType>
|
||||
GLM_FUNC_QUALIFIER matType sse_comp_mul_ps
|
||||
inline matType sse_comp_mul_ps
|
||||
(
|
||||
__m128 const in1[4],
|
||||
__m128 const in2[4],
|
||||
@ -46,7 +46,7 @@ GLM_FUNC_QUALIFIER matType sse_comp_mul_ps
|
||||
out[3] = _mm_mul_ps(in1[3], in2[3]);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void sse_add_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4])
|
||||
inline void sse_add_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4])
|
||||
{
|
||||
{
|
||||
out[0] = _mm_add_ps(in1[0], in2[0]);
|
||||
@ -56,7 +56,7 @@ GLM_FUNC_QUALIFIER void sse_add_ps(__m128 const in1[4], __m128 const in2[4], __m
|
||||
}
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void sse_sub_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4])
|
||||
inline void sse_sub_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4])
|
||||
{
|
||||
{
|
||||
out[0] = _mm_sub_ps(in1[0], in2[0]);
|
||||
@ -66,7 +66,7 @@ GLM_FUNC_QUALIFIER void sse_sub_ps(__m128 const in1[4], __m128 const in2[4], __m
|
||||
}
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 const m[4], __m128 v)
|
||||
inline __m128 sse_mul_ps(__m128 const m[4], __m128 v)
|
||||
{
|
||||
__m128 v0 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(0, 0, 0, 0));
|
||||
__m128 v1 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(1, 1, 1, 1));
|
||||
@ -85,7 +85,7 @@ GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 const m[4], __m128 v)
|
||||
return a2;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 v, __m128 const m[4])
|
||||
inline __m128 sse_mul_ps(__m128 v, __m128 const m[4])
|
||||
{
|
||||
__m128 i0 = m[0];
|
||||
__m128 i1 = m[1];
|
||||
@ -112,7 +112,7 @@ GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 v, __m128 const m[4])
|
||||
return f2;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4])
|
||||
inline void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4])
|
||||
{
|
||||
{
|
||||
__m128 e0 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(0, 0, 0, 0));
|
||||
@ -188,7 +188,7 @@ GLM_FUNC_QUALIFIER void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m
|
||||
}
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void sse_transpose_ps(__m128 const in[4], __m128 out[4])
|
||||
inline void sse_transpose_ps(__m128 const in[4], __m128 out[4])
|
||||
{
|
||||
__m128 tmp0 = _mm_shuffle_ps(in[0], in[1], 0x44);
|
||||
__m128 tmp2 = _mm_shuffle_ps(in[0], in[1], 0xEE);
|
||||
@ -201,7 +201,7 @@ GLM_FUNC_QUALIFIER void sse_transpose_ps(__m128 const in[4], __m128 out[4])
|
||||
out[3] = _mm_shuffle_ps(tmp2, tmp3, 0xDD);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_slow_det_ps(__m128 const in[4])
|
||||
inline __m128 sse_slow_det_ps(__m128 const in[4])
|
||||
{
|
||||
__m128 Fac0;
|
||||
{
|
||||
@ -415,7 +415,7 @@ GLM_FUNC_QUALIFIER __m128 sse_slow_det_ps(__m128 const in[4])
|
||||
return Det0;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_detd_ps
|
||||
inline __m128 sse_detd_ps
|
||||
(
|
||||
__m128 const m[4]
|
||||
)
|
||||
@ -481,7 +481,7 @@ GLM_FUNC_QUALIFIER __m128 sse_detd_ps
|
||||
return sse_dot_ps(m[0], DetCof);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_det_ps
|
||||
inline __m128 sse_det_ps
|
||||
(
|
||||
__m128 const m[4]
|
||||
)
|
||||
@ -547,7 +547,7 @@ GLM_FUNC_QUALIFIER __m128 sse_det_ps
|
||||
return sse_dot_ps(m[0], DetCof);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void sse_inverse_ps(__m128 const in[4], __m128 out[4])
|
||||
inline void sse_inverse_ps(__m128 const in[4], __m128 out[4])
|
||||
{
|
||||
__m128 Fac0;
|
||||
{
|
||||
@ -768,7 +768,7 @@ GLM_FUNC_QUALIFIER void sse_inverse_ps(__m128 const in[4], __m128 out[4])
|
||||
out[3] = _mm_mul_ps(Inv3, Rcp0);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void sse_inverse_fast_ps(__m128 const in[4], __m128 out[4])
|
||||
inline void sse_inverse_fast_ps(__m128 const in[4], __m128 out[4])
|
||||
{
|
||||
__m128 Fac0;
|
||||
{
|
||||
@ -988,7 +988,7 @@ GLM_FUNC_QUALIFIER void sse_inverse_fast_ps(__m128 const in[4], __m128 out[4])
|
||||
out[3] = _mm_mul_ps(Inv3, Rcp0);
|
||||
}
|
||||
/*
|
||||
GLM_FUNC_QUALIFIER void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m128 out[4])
|
||||
inline void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m128 out[4])
|
||||
{
|
||||
float a = glm::radians(Angle);
|
||||
float c = cos(a);
|
||||
@ -1058,7 +1058,7 @@ GLM_FUNC_QUALIFIER void sse_rotate_ps(__m128 const in[4], float Angle, float con
|
||||
sse_mul_ps(in, Result, out);
|
||||
}
|
||||
*/
|
||||
GLM_FUNC_QUALIFIER void sse_outer_ps(__m128 const & c, __m128 const & r, __m128 out[4])
|
||||
inline void sse_outer_ps(__m128 const & c, __m128 const & r, __m128 out[4])
|
||||
{
|
||||
out[0] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(0, 0, 0, 0)));
|
||||
out[1] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(1, 1, 1, 1)));
|
||||
|
16
deps/glm/detail/setup.hpp
vendored
16
deps/glm/detail/setup.hpp
vendored
@ -619,22 +619,6 @@
|
||||
# define GLM_VAR_USED
|
||||
#endif
|
||||
|
||||
#if(defined(GLM_FORCE_INLINE))
|
||||
# if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC8))
|
||||
# define GLM_INLINE __forceinline
|
||||
# elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC34))
|
||||
# define GLM_INLINE __attribute__((always_inline)) inline
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_CLANG)
|
||||
# define GLM_INLINE __attribute__((always_inline))
|
||||
# else
|
||||
# define GLM_INLINE inline
|
||||
# endif//GLM_COMPILER
|
||||
#else
|
||||
# define GLM_INLINE inline
|
||||
#endif//defined(GLM_FORCE_INLINE)
|
||||
|
||||
#define GLM_FUNC_QUALIFIER GLM_INLINE
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Swizzle operators
|
||||
|
||||
|
12
deps/glm/detail/type_half.inl
vendored
12
deps/glm/detail/type_half.inl
vendored
@ -33,7 +33,7 @@
|
||||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
GLM_FUNC_QUALIFIER float overflow()
|
||||
inline float overflow()
|
||||
{
|
||||
volatile float f = 1e10;
|
||||
|
||||
@ -45,15 +45,15 @@ namespace detail
|
||||
|
||||
union uif32
|
||||
{
|
||||
GLM_FUNC_QUALIFIER uif32() :
|
||||
inline uif32() :
|
||||
i(0)
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER uif32(float f) :
|
||||
inline uif32(float f) :
|
||||
f(f)
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER uif32(uint32 i) :
|
||||
inline uif32(uint32 i) :
|
||||
i(i)
|
||||
{}
|
||||
|
||||
@ -61,7 +61,7 @@ namespace detail
|
||||
uint32 i;
|
||||
};
|
||||
|
||||
GLM_FUNC_QUALIFIER float toFloat32(int16_t value)
|
||||
inline float toFloat32(int16_t value)
|
||||
{
|
||||
int s = (value >> 15) & 0x00000001;
|
||||
int e = (value >> 10) & 0x0000001f;
|
||||
@ -135,7 +135,7 @@ namespace detail
|
||||
return Result.f;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int16_t toFloat16(float const & f)
|
||||
inline int16_t toFloat16(float const & f)
|
||||
{
|
||||
uif32 Entry;
|
||||
Entry.f = f;
|
||||
|
114
deps/glm/detail/type_mat2x2.inl
vendored
114
deps/glm/detail/type_mat2x2.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat2x2<T, P>::length() const
|
||||
inline length_t tmat2x2<T, P>::length() const
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x2<T, P>::col_type &
|
||||
inline typename tmat2x2<T, P>::col_type &
|
||||
tmat2x2<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x2<T, P>::col_type const &
|
||||
inline typename tmat2x2<T, P>::col_type const &
|
||||
tmat2x2<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -64,14 +64,14 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2()
|
||||
inline tmat2x2<T, P>::tmat2x2()
|
||||
{
|
||||
this->value[0] = col_type(1, 0);
|
||||
this->value[1] = col_type(0, 1);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -82,7 +82,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2(
|
||||
inline tmat2x2<T, P>::tmat2x2(
|
||||
tmat2x2<T, Q> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -90,14 +90,14 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
ctor
|
||||
)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -108,7 +108,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
T const & x0, T const & y0,
|
||||
T const & x1, T const & y1
|
||||
@ -119,7 +119,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1
|
||||
@ -133,7 +133,7 @@ namespace detail
|
||||
// Conversion constructors
|
||||
template <typename T, precision P>
|
||||
template <typename X1, typename Y1, typename X2, typename Y2>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
X1 const & x1, Y1 const & y1,
|
||||
X2 const & x2, Y2 const & y2
|
||||
@ -145,7 +145,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tvec2<V1, P> const & v1,
|
||||
tvec2<V2, P> const & v2
|
||||
@ -160,7 +160,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat2x2<U, Q> const & m
|
||||
)
|
||||
@ -170,7 +170,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -180,7 +180,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -190,7 +190,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -200,7 +200,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -210,7 +210,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -220,7 +220,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -230,7 +230,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -240,7 +240,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2
|
||||
inline tmat2x2<T, P>::tmat2x2
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -254,7 +254,7 @@ namespace detail
|
||||
|
||||
// This function shouldn't required but it seems that VC7.1 have an optimisation bug if this operator wasn't declared
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator= (tmat2x2<T, P> const & m)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator= (tmat2x2<T, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -263,7 +263,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator= (tmat2x2<U, P> const & m)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator= (tmat2x2<U, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -272,7 +272,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator+= (U s)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -281,7 +281,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator+= (tmat2x2<U, P> const & m)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator+= (tmat2x2<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -290,7 +290,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator-= (U s)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -299,7 +299,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator-= (tmat2x2<U, P> const & m)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator-= (tmat2x2<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -308,7 +308,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator*= (U s)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -317,14 +317,14 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator*= (tmat2x2<U, P> const & m)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator*= (tmat2x2<U, P> const & m)
|
||||
{
|
||||
return (*this = *this * m);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator/= (U s)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -333,13 +333,13 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator/= (tmat2x2<U, P> const & m)
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator/= (tmat2x2<U, P> const & m)
|
||||
{
|
||||
return (*this = *this * detail::compute_inverse<detail::tmat2x2, T, P>::call(m));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator++()
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator++()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -347,7 +347,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator--()
|
||||
inline tmat2x2<T, P>& tmat2x2<T, P>::operator--()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -355,7 +355,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> tmat2x2<T, P>::operator++(int)
|
||||
inline tmat2x2<T, P> tmat2x2<T, P>::operator++(int)
|
||||
{
|
||||
tmat2x2<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -363,7 +363,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> tmat2x2<T, P>::operator--(int)
|
||||
inline tmat2x2<T, P> tmat2x2<T, P>::operator--(int)
|
||||
{
|
||||
tmat2x2<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -373,7 +373,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_inverse<detail::tmat2x2, T, P>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tmat2x2<T, P> call(detail::tmat2x2<T, P> const & m)
|
||||
inline static detail::tmat2x2<T, P> call(detail::tmat2x2<T, P> const & m)
|
||||
{
|
||||
T OneOverDeterminant = static_cast<T>(1) / (
|
||||
+ m[0][0] * m[1][1]
|
||||
@ -393,7 +393,7 @@ namespace detail
|
||||
// Binary operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator+
|
||||
inline tmat2x2<T, P> operator+
|
||||
(
|
||||
tmat2x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -405,7 +405,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator+
|
||||
inline tmat2x2<T, P> operator+
|
||||
(
|
||||
T const & s,
|
||||
tmat2x2<T, P> const & m
|
||||
@ -417,7 +417,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator+
|
||||
inline tmat2x2<T, P> operator+
|
||||
(
|
||||
tmat2x2<T, P> const & m1,
|
||||
tmat2x2<T, P> const & m2
|
||||
@ -429,7 +429,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator-
|
||||
inline tmat2x2<T, P> operator-
|
||||
(
|
||||
tmat2x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -441,7 +441,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator-
|
||||
inline tmat2x2<T, P> operator-
|
||||
(
|
||||
T const & s,
|
||||
tmat2x2<T, P> const & m
|
||||
@ -453,7 +453,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator-
|
||||
inline tmat2x2<T, P> operator-
|
||||
(
|
||||
tmat2x2<T, P> const & m1,
|
||||
tmat2x2<T, P> const & m2
|
||||
@ -465,7 +465,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator*
|
||||
inline tmat2x2<T, P> operator*
|
||||
(
|
||||
tmat2x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -477,7 +477,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator*
|
||||
inline tmat2x2<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tmat2x2<T, P> const & m
|
||||
@ -489,7 +489,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x2<T, P>::col_type operator*
|
||||
inline typename tmat2x2<T, P>::col_type operator*
|
||||
(
|
||||
tmat2x2<T, P> const & m,
|
||||
typename tmat2x2<T, P>::row_type const & v
|
||||
@ -501,7 +501,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x2<T, P>::row_type operator*
|
||||
inline typename tmat2x2<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat2x2<T, P>::col_type const & v,
|
||||
tmat2x2<T, P> const & m
|
||||
@ -513,7 +513,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator*
|
||||
inline tmat2x2<T, P> operator*
|
||||
(
|
||||
tmat2x2<T, P> const & m1,
|
||||
tmat2x2<T, P> const & m2
|
||||
@ -527,7 +527,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator*
|
||||
inline tmat3x2<T, P> operator*
|
||||
(
|
||||
tmat2x2<T, P> const & m1,
|
||||
tmat3x2<T, P> const & m2
|
||||
@ -543,7 +543,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator*
|
||||
inline tmat4x2<T, P> operator*
|
||||
(
|
||||
tmat2x2<T, P> const & m1,
|
||||
tmat4x2<T, P> const & m2
|
||||
@ -561,7 +561,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator/
|
||||
inline tmat2x2<T, P> operator/
|
||||
(
|
||||
tmat2x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -573,7 +573,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator/
|
||||
inline tmat2x2<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat2x2<T, P> const & m
|
||||
@ -585,7 +585,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x2<T, P>::col_type operator/
|
||||
inline typename tmat2x2<T, P>::col_type operator/
|
||||
(
|
||||
tmat2x2<T, P> const & m,
|
||||
typename tmat2x2<T, P>::row_type & v
|
||||
@ -595,7 +595,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x2<T, P>::row_type operator/
|
||||
inline typename tmat2x2<T, P>::row_type operator/
|
||||
(
|
||||
typename tmat2x2<T, P>::col_type const & v,
|
||||
tmat2x2<T, P> const & m
|
||||
@ -605,7 +605,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator/
|
||||
inline tmat2x2<T, P> operator/
|
||||
(
|
||||
tmat2x2<T, P> const & m1,
|
||||
tmat2x2<T, P> const & m2
|
||||
@ -617,7 +617,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> const operator-
|
||||
inline tmat2x2<T, P> const operator-
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -631,7 +631,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat2x2<T, P> const & m1,
|
||||
tmat2x2<T, P> const & m2
|
||||
@ -641,7 +641,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat2x2<T, P> const & m1,
|
||||
tmat2x2<T, P> const & m2
|
||||
|
98
deps/glm/detail/type_mat2x3.inl
vendored
98
deps/glm/detail/type_mat2x3.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat2x3<T, P>::length() const
|
||||
inline length_t tmat2x3<T, P>::length() const
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x3<T, P>::col_type &
|
||||
inline typename tmat2x3<T, P>::col_type &
|
||||
tmat2x3<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x3<T, P>::col_type const &
|
||||
inline typename tmat2x3<T, P>::col_type const &
|
||||
tmat2x3<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -64,14 +64,14 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3()
|
||||
inline tmat2x3<T, P>::tmat2x3()
|
||||
{
|
||||
this->value[0] = col_type(T(1), T(0), T(0));
|
||||
this->value[1] = col_type(T(0), T(1), T(0));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -82,7 +82,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3(
|
||||
inline tmat2x3<T, P>::tmat2x3(
|
||||
tmat2x3<T, Q> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -90,14 +90,14 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
ctor
|
||||
)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -107,7 +107,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
T const & x0, T const & y0, T const & z0,
|
||||
T const & x1, T const & y1, T const & z1
|
||||
@ -118,7 +118,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1
|
||||
@ -134,7 +134,7 @@ namespace detail
|
||||
template <
|
||||
typename X1, typename Y1, typename Z1,
|
||||
typename X2, typename Y2, typename Z2>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
X1 const & x1, Y1 const & y1, Z1 const & z1,
|
||||
X2 const & x2, Y2 const & y2, Z2 const & z2
|
||||
@ -146,7 +146,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tvec3<V1, P> const & v1,
|
||||
tvec3<V2, P> const & v2
|
||||
@ -161,7 +161,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat2x3<U, Q> const & m
|
||||
)
|
||||
@ -171,7 +171,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -181,7 +181,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -191,7 +191,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -201,7 +201,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -211,7 +211,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -221,7 +221,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -231,7 +231,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -241,7 +241,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3
|
||||
inline tmat2x3<T, P>::tmat2x3
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -254,7 +254,7 @@ namespace detail
|
||||
// Unary updatable operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator= (tmat2x3<T, P> const & m)
|
||||
inline tmat2x3<T, P>& tmat2x3<T, P>::operator= (tmat2x3<T, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -263,7 +263,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator= (tmat2x3<U, P> const & m)
|
||||
inline tmat2x3<T, P>& tmat2x3<T, P>::operator= (tmat2x3<U, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -272,7 +272,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> & tmat2x3<T, P>::operator+= (U s)
|
||||
inline tmat2x3<T, P> & tmat2x3<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -281,7 +281,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator+= (tmat2x3<U, P> const & m)
|
||||
inline tmat2x3<T, P>& tmat2x3<T, P>::operator+= (tmat2x3<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -290,7 +290,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator-= (U s)
|
||||
inline tmat2x3<T, P>& tmat2x3<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -299,7 +299,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator-= (tmat2x3<U, P> const & m)
|
||||
inline tmat2x3<T, P>& tmat2x3<T, P>::operator-= (tmat2x3<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -308,7 +308,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator*= (U s)
|
||||
inline tmat2x3<T, P>& tmat2x3<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -317,7 +317,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> & tmat2x3<T, P>::operator/= (U s)
|
||||
inline tmat2x3<T, P> & tmat2x3<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -325,7 +325,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> & tmat2x3<T, P>::operator++()
|
||||
inline tmat2x3<T, P> & tmat2x3<T, P>::operator++()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -333,7 +333,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> & tmat2x3<T, P>::operator--()
|
||||
inline tmat2x3<T, P> & tmat2x3<T, P>::operator--()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -341,7 +341,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> tmat2x3<T, P>::operator++(int)
|
||||
inline tmat2x3<T, P> tmat2x3<T, P>::operator++(int)
|
||||
{
|
||||
tmat2x3<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -349,7 +349,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> tmat2x3<T, P>::operator--(int)
|
||||
inline tmat2x3<T, P> tmat2x3<T, P>::operator--(int)
|
||||
{
|
||||
tmat2x3<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -360,7 +360,7 @@ namespace detail
|
||||
// Binary operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator+
|
||||
inline tmat2x3<T, P> operator+
|
||||
(
|
||||
tmat2x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -372,7 +372,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator+
|
||||
inline tmat2x3<T, P> operator+
|
||||
(
|
||||
tmat2x3<T, P> const & m1,
|
||||
tmat2x3<T, P> const & m2
|
||||
@ -384,7 +384,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator-
|
||||
inline tmat2x3<T, P> operator-
|
||||
(
|
||||
tmat2x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -396,7 +396,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator-
|
||||
inline tmat2x3<T, P> operator-
|
||||
(
|
||||
tmat2x3<T, P> const & m1,
|
||||
tmat2x3<T, P> const & m2
|
||||
@ -408,7 +408,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator*
|
||||
inline tmat2x3<T, P> operator*
|
||||
(
|
||||
tmat2x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -420,7 +420,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator*
|
||||
inline tmat2x3<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tmat2x3<T, P> const & m
|
||||
@ -432,7 +432,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x3<T, P>::col_type operator*
|
||||
inline typename tmat2x3<T, P>::col_type operator*
|
||||
(
|
||||
tmat2x3<T, P> const & m,
|
||||
typename tmat2x3<T, P>::row_type const & v)
|
||||
@ -444,7 +444,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x3<T, P>::row_type operator*
|
||||
inline typename tmat2x3<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat2x3<T, P>::col_type const & v,
|
||||
tmat2x3<T, P> const & m)
|
||||
@ -455,7 +455,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator*
|
||||
inline tmat2x3<T, P> operator*
|
||||
(
|
||||
tmat2x3<T, P> const & m1,
|
||||
tmat2x2<T, P> const & m2
|
||||
@ -471,7 +471,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator*
|
||||
inline tmat3x3<T, P> operator*
|
||||
(
|
||||
tmat2x3<T, P> const & m1,
|
||||
tmat3x2<T, P> const & m2
|
||||
@ -505,7 +505,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator*
|
||||
inline tmat4x3<T, P> operator*
|
||||
(
|
||||
tmat2x3<T, P> const & m1,
|
||||
tmat4x2<T, P> const & m2
|
||||
@ -527,7 +527,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator/
|
||||
inline tmat2x3<T, P> operator/
|
||||
(
|
||||
tmat2x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -539,7 +539,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator/
|
||||
inline tmat2x3<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat2x3<T, P> const & m
|
||||
@ -552,7 +552,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> const operator-
|
||||
inline tmat2x3<T, P> const operator-
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -566,7 +566,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat2x3<T, P> const & m1,
|
||||
tmat2x3<T, P> const & m2
|
||||
@ -576,7 +576,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat2x3<T, P> const & m1,
|
||||
tmat2x3<T, P> const & m2
|
||||
|
98
deps/glm/detail/type_mat2x4.inl
vendored
98
deps/glm/detail/type_mat2x4.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat2x4<T, P>::length() const
|
||||
inline length_t tmat2x4<T, P>::length() const
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x4<T, P>::col_type &
|
||||
inline typename tmat2x4<T, P>::col_type &
|
||||
tmat2x4<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x4<T, P>::col_type const &
|
||||
inline typename tmat2x4<T, P>::col_type const &
|
||||
tmat2x4<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4()
|
||||
inline tmat2x4<T, P>::tmat2x4()
|
||||
{
|
||||
value_type const Zero(0);
|
||||
value_type const One(1);
|
||||
@ -73,7 +73,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -84,7 +84,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4(
|
||||
inline tmat2x4<T, P>::tmat2x4(
|
||||
tmat2x4<T, Q> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -92,14 +92,14 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
ctor
|
||||
)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -110,7 +110,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
T const & x0, T const & y0, T const & z0, T const & w0,
|
||||
T const & x1, T const & y1, T const & z1, T const & w1
|
||||
@ -121,7 +121,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1
|
||||
@ -137,7 +137,7 @@ namespace detail
|
||||
template <
|
||||
typename X1, typename Y1, typename Z1, typename W1,
|
||||
typename X2, typename Y2, typename Z2, typename W2>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
|
||||
X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2
|
||||
@ -149,7 +149,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tvec4<V1, P> const & v1,
|
||||
tvec4<V2, P> const & v2
|
||||
@ -164,7 +164,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat2x4<U, Q> const & m
|
||||
)
|
||||
@ -174,7 +174,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -184,7 +184,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -194,7 +194,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -204,7 +204,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -214,7 +214,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -224,7 +224,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -234,7 +234,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -244,7 +244,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4
|
||||
inline tmat2x4<T, P>::tmat2x4
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -257,7 +257,7 @@ namespace detail
|
||||
// Unary updatable operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator= (tmat2x4<T, P> const & m)
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator= (tmat2x4<T, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -266,7 +266,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator= (tmat2x4<U, P> const & m)
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator= (tmat2x4<U, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -275,7 +275,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator+= (U s)
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -284,7 +284,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator+= (tmat2x4<U, P> const & m)
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator+= (tmat2x4<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -293,7 +293,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator-= (U s)
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -302,7 +302,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator-= (tmat2x4<U, P> const & m)
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator-= (tmat2x4<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -311,7 +311,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator*= (U s)
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -320,7 +320,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> & tmat2x4<T, P>::operator/= (U s)
|
||||
inline tmat2x4<T, P> & tmat2x4<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -328,7 +328,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator++()
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator++()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -336,7 +336,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator--()
|
||||
inline tmat2x4<T, P>& tmat2x4<T, P>::operator--()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -344,7 +344,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> tmat2x4<T, P>::operator++(int)
|
||||
inline tmat2x4<T, P> tmat2x4<T, P>::operator++(int)
|
||||
{
|
||||
tmat2x4<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -352,7 +352,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> tmat2x4<T, P>::operator--(int)
|
||||
inline tmat2x4<T, P> tmat2x4<T, P>::operator--(int)
|
||||
{
|
||||
tmat2x4<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -363,7 +363,7 @@ namespace detail
|
||||
// Binary operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator+
|
||||
inline tmat2x4<T, P> operator+
|
||||
(
|
||||
tmat2x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -375,7 +375,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator+
|
||||
inline tmat2x4<T, P> operator+
|
||||
(
|
||||
tmat2x4<T, P> const & m1,
|
||||
tmat2x4<T, P> const & m2
|
||||
@ -387,7 +387,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator-
|
||||
inline tmat2x4<T, P> operator-
|
||||
(
|
||||
tmat2x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -399,7 +399,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator-
|
||||
inline tmat2x4<T, P> operator-
|
||||
(
|
||||
tmat2x4<T, P> const & m1,
|
||||
tmat2x4<T, P> const & m2
|
||||
@ -411,7 +411,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator*
|
||||
inline tmat2x4<T, P> operator*
|
||||
(
|
||||
tmat2x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -423,7 +423,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator*
|
||||
inline tmat2x4<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tmat2x4<T, P> const & m
|
||||
@ -435,7 +435,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x4<T, P>::col_type operator*
|
||||
inline typename tmat2x4<T, P>::col_type operator*
|
||||
(
|
||||
tmat2x4<T, P> const & m,
|
||||
typename tmat2x4<T, P>::row_type const & v
|
||||
@ -449,7 +449,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat2x4<T, P>::row_type operator*
|
||||
inline typename tmat2x4<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat2x4<T, P>::col_type const & v,
|
||||
tmat2x4<T, P> const & m
|
||||
@ -461,7 +461,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator*
|
||||
inline tmat4x4<T, P> operator*
|
||||
(
|
||||
tmat2x4<T, P> const & m1,
|
||||
tmat4x2<T, P> const & m2
|
||||
@ -506,7 +506,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator*
|
||||
inline tmat2x4<T, P> operator*
|
||||
(
|
||||
tmat2x4<T, P> const & m1,
|
||||
tmat2x2<T, P> const & m2
|
||||
@ -524,7 +524,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator*
|
||||
inline tmat3x4<T, P> operator*
|
||||
(
|
||||
tmat2x4<T, P> const & m1,
|
||||
tmat3x2<T, P> const & m2
|
||||
@ -546,7 +546,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator/
|
||||
inline tmat2x4<T, P> operator/
|
||||
(
|
||||
tmat2x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -558,7 +558,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator/
|
||||
inline tmat2x4<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat2x4<T, P> const & m
|
||||
@ -571,7 +571,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> const operator-
|
||||
inline tmat2x4<T, P> const operator-
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -585,7 +585,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat2x4<T, P> const & m1,
|
||||
tmat2x4<T, P> const & m2
|
||||
@ -595,7 +595,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat2x4<T, P> const & m1,
|
||||
tmat2x4<T, P> const & m2
|
||||
|
98
deps/glm/detail/type_mat3x2.inl
vendored
98
deps/glm/detail/type_mat3x2.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat3x2<T, P>::length() const
|
||||
inline length_t tmat3x2<T, P>::length() const
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x2<T, P>::col_type &
|
||||
inline typename tmat3x2<T, P>::col_type &
|
||||
tmat3x2<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x2<T, P>::col_type const &
|
||||
inline typename tmat3x2<T, P>::col_type const &
|
||||
tmat3x2<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2()
|
||||
inline tmat3x2<T, P>::tmat3x2()
|
||||
{
|
||||
this->value[0] = col_type(1, 0);
|
||||
this->value[1] = col_type(0, 1);
|
||||
@ -72,7 +72,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -84,7 +84,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2(
|
||||
inline tmat3x2<T, P>::tmat3x2(
|
||||
tmat3x2<T, Q> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -93,14 +93,14 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
ctor
|
||||
)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -111,7 +111,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
T const & x0, T const & y0,
|
||||
T const & x1, T const & y1,
|
||||
@ -124,7 +124,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1,
|
||||
@ -143,7 +143,7 @@ namespace detail
|
||||
typename X1, typename Y1,
|
||||
typename X2, typename Y2,
|
||||
typename X3, typename Y3>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
X1 const & x1, Y1 const & y1,
|
||||
X2 const & x2, Y2 const & y2,
|
||||
@ -157,7 +157,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2, typename V3>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tvec2<V1, P> const & v1,
|
||||
tvec2<V2, P> const & v2,
|
||||
@ -174,7 +174,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat3x2<U, Q> const & m
|
||||
)
|
||||
@ -185,7 +185,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -196,7 +196,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -207,7 +207,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -218,7 +218,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -229,7 +229,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -240,7 +240,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -251,7 +251,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -262,7 +262,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2
|
||||
inline tmat3x2<T, P>::tmat3x2
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -276,7 +276,7 @@ namespace detail
|
||||
// Unary updatable operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator= (tmat3x2<T, P> const & m)
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator= (tmat3x2<T, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -286,7 +286,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator= (tmat3x2<U, P> const & m)
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator= (tmat3x2<U, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -296,7 +296,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator+= (U s)
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -306,7 +306,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator+= (tmat3x2<U, P> const & m)
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator+= (tmat3x2<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -316,7 +316,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator-= (U s)
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -326,7 +326,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator-= (tmat3x2<U, P> const & m)
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator-= (tmat3x2<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -336,7 +336,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator*= (U s)
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -346,7 +346,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> & tmat3x2<T, P>::operator/= (U s)
|
||||
inline tmat3x2<T, P> & tmat3x2<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -355,7 +355,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator++ ()
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator++ ()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -364,7 +364,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator-- ()
|
||||
inline tmat3x2<T, P>& tmat3x2<T, P>::operator-- ()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -373,7 +373,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> tmat3x2<T, P>::operator++(int)
|
||||
inline tmat3x2<T, P> tmat3x2<T, P>::operator++(int)
|
||||
{
|
||||
tmat3x2<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -381,7 +381,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> tmat3x2<T, P>::operator--(int)
|
||||
inline tmat3x2<T, P> tmat3x2<T, P>::operator--(int)
|
||||
{
|
||||
tmat3x2<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -392,7 +392,7 @@ namespace detail
|
||||
// Binary operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator+
|
||||
inline tmat3x2<T, P> operator+
|
||||
(
|
||||
tmat3x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -405,7 +405,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator+
|
||||
inline tmat3x2<T, P> operator+
|
||||
(
|
||||
tmat3x2<T, P> const & m1,
|
||||
tmat3x2<T, P> const & m2
|
||||
@ -418,7 +418,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator-
|
||||
inline tmat3x2<T, P> operator-
|
||||
(
|
||||
tmat3x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -431,7 +431,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator-
|
||||
inline tmat3x2<T, P> operator-
|
||||
(
|
||||
tmat3x2<T, P> const & m1,
|
||||
tmat3x2<T, P> const & m2
|
||||
@ -444,7 +444,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator*
|
||||
inline tmat3x2<T, P> operator*
|
||||
(
|
||||
tmat3x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -457,7 +457,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator*
|
||||
inline tmat3x2<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tmat3x2<T, P> const & m
|
||||
@ -470,7 +470,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x2<T, P>::col_type operator*
|
||||
inline typename tmat3x2<T, P>::col_type operator*
|
||||
(
|
||||
tmat3x2<T, P> const & m,
|
||||
typename tmat3x2<T, P>::row_type const & v)
|
||||
@ -481,7 +481,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x2<T, P>::row_type operator*
|
||||
inline typename tmat3x2<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat3x2<T, P>::col_type const & v,
|
||||
tmat3x2<T, P> const & m)
|
||||
@ -493,7 +493,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator*
|
||||
inline tmat2x2<T, P> operator*
|
||||
(
|
||||
tmat3x2<T, P> const & m1,
|
||||
tmat2x3<T, P> const & m2
|
||||
@ -522,7 +522,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator*
|
||||
inline tmat3x2<T, P> operator*
|
||||
(
|
||||
tmat3x2<T, P> const & m1,
|
||||
tmat3x3<T, P> const & m2
|
||||
@ -538,7 +538,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator*
|
||||
inline tmat4x2<T, P> operator*
|
||||
(
|
||||
tmat3x2<T, P> const & m1,
|
||||
tmat4x3<T, P> const & m2
|
||||
@ -556,7 +556,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator/
|
||||
inline tmat3x2<T, P> operator/
|
||||
(
|
||||
tmat3x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -569,7 +569,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator/
|
||||
inline tmat3x2<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat3x2<T, P> const & m
|
||||
@ -583,7 +583,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> const operator-
|
||||
inline tmat3x2<T, P> const operator-
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -598,7 +598,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat3x2<T, P> const & m1,
|
||||
tmat3x2<T, P> const & m2
|
||||
@ -608,7 +608,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat3x2<T, P> const & m1,
|
||||
tmat3x2<T, P> const & m2
|
||||
|
114
deps/glm/detail/type_mat3x3.inl
vendored
114
deps/glm/detail/type_mat3x3.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat3x3<T, P>::length() const
|
||||
inline length_t tmat3x3<T, P>::length() const
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x3<T, P>::col_type &
|
||||
inline typename tmat3x3<T, P>::col_type &
|
||||
tmat3x3<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x3<T, P>::col_type const &
|
||||
inline typename tmat3x3<T, P>::col_type const &
|
||||
tmat3x3<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3()
|
||||
inline tmat3x3<T, P>::tmat3x3()
|
||||
{
|
||||
value_type const Zero(0);
|
||||
value_type const One(1);
|
||||
@ -74,7 +74,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -85,7 +85,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
ctor
|
||||
)
|
||||
@ -93,7 +93,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3(
|
||||
inline tmat3x3<T, P>::tmat3x3(
|
||||
tmat3x3<T, Q> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -102,7 +102,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -114,7 +114,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
T const & x0, T const & y0, T const & z0,
|
||||
T const & x1, T const & y1, T const & z1,
|
||||
@ -127,7 +127,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1,
|
||||
@ -146,7 +146,7 @@ namespace detail
|
||||
typename X1, typename Y1, typename Z1,
|
||||
typename X2, typename Y2, typename Z2,
|
||||
typename X3, typename Y3, typename Z3>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
X1 const & x1, Y1 const & y1, Z1 const & z1,
|
||||
X2 const & x2, Y2 const & y2, Z2 const & z2,
|
||||
@ -160,7 +160,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2, typename V3>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tvec3<V1, P> const & v1,
|
||||
tvec3<V2, P> const & v2,
|
||||
@ -177,7 +177,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat3x3<U, Q> const & m
|
||||
)
|
||||
@ -188,7 +188,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -199,7 +199,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -210,7 +210,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -221,7 +221,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -232,7 +232,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -243,7 +243,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -254,7 +254,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -265,7 +265,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3
|
||||
inline tmat3x3<T, P>::tmat3x3
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -279,7 +279,7 @@ namespace detail
|
||||
// Operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator= (tmat3x3<T, P> const & m)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator= (tmat3x3<T, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -289,7 +289,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator= (tmat3x3<U, P> const & m)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator= (tmat3x3<U, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -299,7 +299,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator+= (U s)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -309,7 +309,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator+= (tmat3x3<U, P> const & m)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator+= (tmat3x3<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -319,7 +319,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator-= (U s)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -329,7 +329,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator-= (tmat3x3<U, P> const & m)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator-= (tmat3x3<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -339,7 +339,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator*= (U s)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -349,14 +349,14 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator*= (tmat3x3<U, P> const & m)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator*= (tmat3x3<U, P> const & m)
|
||||
{
|
||||
return (*this = *this * m);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator/= (U s)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -366,13 +366,13 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator/= (tmat3x3<U, P> const & m)
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator/= (tmat3x3<U, P> const & m)
|
||||
{
|
||||
return (*this = *this * detail::compute_inverse<detail::tmat3x3, T, P>::call(m));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator++ ()
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator++ ()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -381,7 +381,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator--()
|
||||
inline tmat3x3<T, P> & tmat3x3<T, P>::operator--()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -390,7 +390,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> tmat3x3<T, P>::operator++(int)
|
||||
inline tmat3x3<T, P> tmat3x3<T, P>::operator++(int)
|
||||
{
|
||||
tmat3x3<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -398,7 +398,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> tmat3x3<T, P>::operator--(int)
|
||||
inline tmat3x3<T, P> tmat3x3<T, P>::operator--(int)
|
||||
{
|
||||
tmat3x3<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -431,7 +431,7 @@ namespace detail
|
||||
};
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> compute_inverse_mat3(tmat3x3<T, P> const & m)
|
||||
inline tmat3x3<T, P> compute_inverse_mat3(tmat3x3<T, P> const & m)
|
||||
{
|
||||
T S00 = m[0][0];
|
||||
T S01 = m[0][1];
|
||||
@ -480,7 +480,7 @@ namespace detail
|
||||
// Binary operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator+
|
||||
inline tmat3x3<T, P> operator+
|
||||
(
|
||||
tmat3x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -493,7 +493,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator+
|
||||
inline tmat3x3<T, P> operator+
|
||||
(
|
||||
T const & s,
|
||||
tmat3x3<T, P> const & m
|
||||
@ -506,7 +506,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator+
|
||||
inline tmat3x3<T, P> operator+
|
||||
(
|
||||
tmat3x3<T, P> const & m1,
|
||||
tmat3x3<T, P> const & m2
|
||||
@ -519,7 +519,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator-
|
||||
inline tmat3x3<T, P> operator-
|
||||
(
|
||||
tmat3x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -532,7 +532,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator-
|
||||
inline tmat3x3<T, P> operator-
|
||||
(
|
||||
T const & s,
|
||||
tmat3x3<T, P> const & m
|
||||
@ -545,7 +545,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator-
|
||||
inline tmat3x3<T, P> operator-
|
||||
(
|
||||
tmat3x3<T, P> const & m1,
|
||||
tmat3x3<T, P> const & m2
|
||||
@ -558,7 +558,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator*
|
||||
inline tmat3x3<T, P> operator*
|
||||
(
|
||||
tmat3x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -571,7 +571,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator*
|
||||
inline tmat3x3<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tmat3x3<T, P> const & m
|
||||
@ -584,7 +584,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x3<T, P>::col_type operator*
|
||||
inline typename tmat3x3<T, P>::col_type operator*
|
||||
(
|
||||
tmat3x3<T, P> const & m,
|
||||
typename tmat3x3<T, P>::row_type const & v
|
||||
@ -597,7 +597,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x3<T, P>::row_type operator*
|
||||
inline typename tmat3x3<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat3x3<T, P>::col_type const & v,
|
||||
tmat3x3<T, P> const & m
|
||||
@ -610,7 +610,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator*
|
||||
inline tmat3x3<T, P> operator*
|
||||
(
|
||||
tmat3x3<T, P> const & m1,
|
||||
tmat3x3<T, P> const & m2
|
||||
@ -650,7 +650,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator*
|
||||
inline tmat2x3<T, P> operator*
|
||||
(
|
||||
tmat3x3<T, P> const & m1,
|
||||
tmat2x3<T, P> const & m2
|
||||
@ -666,7 +666,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator*
|
||||
inline tmat4x3<T, P> operator*
|
||||
(
|
||||
tmat3x3<T, P> const & m1,
|
||||
tmat4x3<T, P> const & m2
|
||||
@ -688,7 +688,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator/
|
||||
inline tmat3x3<T, P> operator/
|
||||
(
|
||||
tmat3x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -701,7 +701,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator/
|
||||
inline tmat3x3<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat3x3<T, P> const & m
|
||||
@ -714,7 +714,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x3<T, P>::col_type operator/
|
||||
inline typename tmat3x3<T, P>::col_type operator/
|
||||
(
|
||||
tmat3x3<T, P> const & m,
|
||||
typename tmat3x3<T, P>::row_type const & v
|
||||
@ -724,7 +724,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x3<T, P>::row_type operator/
|
||||
inline typename tmat3x3<T, P>::row_type operator/
|
||||
(
|
||||
typename tmat3x3<T, P>::col_type const & v,
|
||||
tmat3x3<T, P> const & m
|
||||
@ -734,7 +734,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator/
|
||||
inline tmat3x3<T, P> operator/
|
||||
(
|
||||
tmat3x3<T, P> const & m1,
|
||||
tmat3x3<T, P> const & m2
|
||||
@ -746,7 +746,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> const operator-
|
||||
inline tmat3x3<T, P> const operator-
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -761,7 +761,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat3x3<T, P> const & m1,
|
||||
tmat3x3<T, P> const & m2
|
||||
@ -771,7 +771,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat3x3<T, P> const & m1,
|
||||
tmat3x3<T, P> const & m2
|
||||
|
98
deps/glm/detail/type_mat3x4.inl
vendored
98
deps/glm/detail/type_mat3x4.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat3x4<T, P>::length() const
|
||||
inline length_t tmat3x4<T, P>::length() const
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x4<T, P>::col_type &
|
||||
inline typename tmat3x4<T, P>::col_type &
|
||||
tmat3x4<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x4<T, P>::col_type const &
|
||||
inline typename tmat3x4<T, P>::col_type const &
|
||||
tmat3x4<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4()
|
||||
inline tmat3x4<T, P>::tmat3x4()
|
||||
{
|
||||
this->value[0] = col_type(1, 0, 0, 0);
|
||||
this->value[1] = col_type(0, 1, 0, 0);
|
||||
@ -72,7 +72,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -84,7 +84,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4(
|
||||
inline tmat3x4<T, P>::tmat3x4(
|
||||
tmat3x4<T, Q> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -93,14 +93,14 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
ctor
|
||||
)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -112,7 +112,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
T const & x0, T const & y0, T const & z0, T const & w0,
|
||||
T const & x1, T const & y1, T const & z1, T const & w1,
|
||||
@ -125,7 +125,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1,
|
||||
@ -144,7 +144,7 @@ namespace detail
|
||||
typename X1, typename Y1, typename Z1, typename W1,
|
||||
typename X2, typename Y2, typename Z2, typename W2,
|
||||
typename X3, typename Y3, typename Z3, typename W3>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
|
||||
X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
|
||||
@ -158,7 +158,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2, typename V3>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tvec4<V1, P> const & v1,
|
||||
tvec4<V2, P> const & v2,
|
||||
@ -173,7 +173,7 @@ namespace detail
|
||||
// Conversion
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat3x4<U, Q> const & m
|
||||
)
|
||||
@ -184,7 +184,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -195,7 +195,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -206,7 +206,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -217,7 +217,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -228,7 +228,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -239,7 +239,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -250,7 +250,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -261,7 +261,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4
|
||||
inline tmat3x4<T, P>::tmat3x4
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -275,7 +275,7 @@ namespace detail
|
||||
// Unary updatable operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator= (tmat3x4<T, P> const & m)
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator= (tmat3x4<T, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -285,7 +285,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator= (tmat3x4<U, P> const & m)
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator= (tmat3x4<U, P> const & m)
|
||||
{
|
||||
this->value[0] = m[0];
|
||||
this->value[1] = m[1];
|
||||
@ -295,7 +295,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator+= (U s)
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -305,7 +305,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator+= (tmat3x4<U, P> const & m)
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator+= (tmat3x4<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -315,7 +315,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator-= (U s)
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -325,7 +325,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator-= (tmat3x4<U, P> const & m)
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator-= (tmat3x4<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -335,7 +335,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator*= (U s)
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -345,7 +345,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> & tmat3x4<T, P>::operator/= (U s)
|
||||
inline tmat3x4<T, P> & tmat3x4<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -354,7 +354,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator++ ()
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator++ ()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -363,7 +363,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator-- ()
|
||||
inline tmat3x4<T, P>& tmat3x4<T, P>::operator-- ()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -372,7 +372,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> tmat3x4<T, P>::operator++(int)
|
||||
inline tmat3x4<T, P> tmat3x4<T, P>::operator++(int)
|
||||
{
|
||||
tmat3x4<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -380,7 +380,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> tmat3x4<T, P>::operator--(int)
|
||||
inline tmat3x4<T, P> tmat3x4<T, P>::operator--(int)
|
||||
{
|
||||
tmat3x4<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -391,7 +391,7 @@ namespace detail
|
||||
// Binary operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator+
|
||||
inline tmat3x4<T, P> operator+
|
||||
(
|
||||
tmat3x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -404,7 +404,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator+
|
||||
inline tmat3x4<T, P> operator+
|
||||
(
|
||||
tmat3x4<T, P> const & m1,
|
||||
tmat3x4<T, P> const & m2
|
||||
@ -417,7 +417,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator-
|
||||
inline tmat3x4<T, P> operator-
|
||||
(
|
||||
tmat3x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -430,7 +430,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator-
|
||||
inline tmat3x4<T, P> operator-
|
||||
(
|
||||
tmat3x4<T, P> const & m1,
|
||||
tmat3x4<T, P> const & m2
|
||||
@ -443,7 +443,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator*
|
||||
inline tmat3x4<T, P> operator*
|
||||
(
|
||||
tmat3x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -456,7 +456,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator*
|
||||
inline tmat3x4<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tmat3x4<T, P> const & m
|
||||
@ -469,7 +469,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x4<T, P>::col_type operator*
|
||||
inline typename tmat3x4<T, P>::col_type operator*
|
||||
(
|
||||
tmat3x4<T, P> const & m,
|
||||
typename tmat3x4<T, P>::row_type const & v
|
||||
@ -483,7 +483,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat3x4<T, P>::row_type operator*
|
||||
inline typename tmat3x4<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat3x4<T, P>::col_type const & v,
|
||||
tmat3x4<T, P> const & m
|
||||
@ -496,7 +496,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator*
|
||||
inline tmat4x4<T, P> operator*
|
||||
(
|
||||
tmat3x4<T, P> const & m1,
|
||||
tmat4x3<T, P> const & m2
|
||||
@ -549,7 +549,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator*
|
||||
inline tmat2x4<T, P> operator*
|
||||
(
|
||||
tmat3x4<T, P> const & m1,
|
||||
tmat2x3<T, P> const & m2
|
||||
@ -567,7 +567,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator*
|
||||
inline tmat3x4<T, P> operator*
|
||||
(
|
||||
tmat3x4<T, P> const & m1,
|
||||
tmat3x3<T, P> const & m2
|
||||
@ -589,7 +589,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator/
|
||||
inline tmat3x4<T, P> operator/
|
||||
(
|
||||
tmat3x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -602,7 +602,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator/
|
||||
inline tmat3x4<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat3x4<T, P> const & m
|
||||
@ -616,7 +616,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> const operator-
|
||||
inline tmat3x4<T, P> const operator-
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -631,7 +631,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat3x4<T, P> const & m1,
|
||||
tmat3x4<T, P> const & m2
|
||||
@ -641,7 +641,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat3x4<T, P> const & m1,
|
||||
tmat3x4<T, P> const & m2
|
||||
|
98
deps/glm/detail/type_mat4x2.inl
vendored
98
deps/glm/detail/type_mat4x2.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat4x2<T, P>::length() const
|
||||
inline length_t tmat4x2<T, P>::length() const
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x2<T, P>::col_type &
|
||||
inline typename tmat4x2<T, P>::col_type &
|
||||
tmat4x2<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x2<T, P>::col_type const &
|
||||
inline typename tmat4x2<T, P>::col_type const &
|
||||
tmat4x2<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2()
|
||||
inline tmat4x2<T, P>::tmat4x2()
|
||||
{
|
||||
value_type const Zero(0);
|
||||
value_type const One(1);
|
||||
@ -75,7 +75,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2(
|
||||
inline tmat4x2<T, P>::tmat4x2(
|
||||
tmat4x2<T, P> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -86,7 +86,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2(
|
||||
inline tmat4x2<T, P>::tmat4x2(
|
||||
tmat4x2<T, Q> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -96,11 +96,11 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2(ctor)
|
||||
inline tmat4x2<T, P>::tmat4x2(ctor)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -113,7 +113,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
T const & x0, T const & y0,
|
||||
T const & x1, T const & y1,
|
||||
@ -128,7 +128,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1,
|
||||
@ -151,7 +151,7 @@ namespace detail
|
||||
typename X2, typename Y2,
|
||||
typename X3, typename Y3,
|
||||
typename X4, typename Y4>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
X1 const & x1, Y1 const & y1,
|
||||
X2 const & x2, Y2 const & y2,
|
||||
@ -167,7 +167,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2, typename V3, typename V4>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tvec2<V1, P> const & v1,
|
||||
tvec2<V2, P> const & v2,
|
||||
@ -185,7 +185,7 @@ namespace detail
|
||||
// Conversion
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat4x2<U, Q> const & m
|
||||
)
|
||||
@ -197,7 +197,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -209,7 +209,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -221,7 +221,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -233,7 +233,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -245,7 +245,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -257,7 +257,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -269,7 +269,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -281,7 +281,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2
|
||||
inline tmat4x2<T, P>::tmat4x2
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -296,7 +296,7 @@ namespace detail
|
||||
// Unary updatable operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>& tmat4x2<T, P>::operator=
|
||||
inline tmat4x2<T, P>& tmat4x2<T, P>::operator=
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -310,7 +310,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>& tmat4x2<T, P>::operator=
|
||||
inline tmat4x2<T, P>& tmat4x2<T, P>::operator=
|
||||
(
|
||||
tmat4x2<U, P> const & m
|
||||
)
|
||||
@ -324,7 +324,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> & tmat4x2<T, P>::operator+= (U s)
|
||||
inline tmat4x2<T, P> & tmat4x2<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -335,7 +335,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> & tmat4x2<T, P>::operator+= (tmat4x2<U, P> const & m)
|
||||
inline tmat4x2<T, P> & tmat4x2<T, P>::operator+= (tmat4x2<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -346,7 +346,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> & tmat4x2<T, P>::operator-= (U s)
|
||||
inline tmat4x2<T, P> & tmat4x2<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -357,7 +357,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> & tmat4x2<T, P>::operator-= (tmat4x2<U, P> const & m)
|
||||
inline tmat4x2<T, P> & tmat4x2<T, P>::operator-= (tmat4x2<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -368,7 +368,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> & tmat4x2<T, P>::operator*= (U s)
|
||||
inline tmat4x2<T, P> & tmat4x2<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -379,7 +379,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> & tmat4x2<T, P>::operator/= (U s)
|
||||
inline tmat4x2<T, P> & tmat4x2<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -389,7 +389,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> & tmat4x2<T, P>::operator++ ()
|
||||
inline tmat4x2<T, P> & tmat4x2<T, P>::operator++ ()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -399,7 +399,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> & tmat4x2<T, P>::operator-- ()
|
||||
inline tmat4x2<T, P> & tmat4x2<T, P>::operator-- ()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -409,7 +409,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> tmat4x2<T, P>::operator++(int)
|
||||
inline tmat4x2<T, P> tmat4x2<T, P>::operator++(int)
|
||||
{
|
||||
tmat4x2<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -417,7 +417,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> tmat4x2<T, P>::operator--(int)
|
||||
inline tmat4x2<T, P> tmat4x2<T, P>::operator--(int)
|
||||
{
|
||||
tmat4x2<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -428,7 +428,7 @@ namespace detail
|
||||
// Binary operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator+
|
||||
inline tmat4x2<T, P> operator+
|
||||
(
|
||||
tmat4x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -442,7 +442,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator+
|
||||
inline tmat4x2<T, P> operator+
|
||||
(
|
||||
tmat4x2<T, P> const & m1,
|
||||
tmat4x2<T, P> const & m2
|
||||
@ -456,7 +456,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator-
|
||||
inline tmat4x2<T, P> operator-
|
||||
(
|
||||
tmat4x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -470,7 +470,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator-
|
||||
inline tmat4x2<T, P> operator-
|
||||
(
|
||||
tmat4x2<T, P> const & m1,
|
||||
tmat4x2<T, P> const & m2
|
||||
@ -484,7 +484,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator*
|
||||
inline tmat4x2<T, P> operator*
|
||||
(
|
||||
tmat4x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -498,7 +498,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator*
|
||||
inline tmat4x2<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tmat4x2<T, P> const & m
|
||||
@ -512,7 +512,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x2<T, P>::col_type operator*
|
||||
inline typename tmat4x2<T, P>::col_type operator*
|
||||
(
|
||||
tmat4x2<T, P> const & m,
|
||||
typename tmat4x2<T, P>::row_type const & v
|
||||
@ -524,7 +524,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x2<T, P>::row_type operator*
|
||||
inline typename tmat4x2<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat4x2<T, P>::col_type const & v,
|
||||
tmat4x2<T, P> const & m
|
||||
@ -538,7 +538,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x2<T, P> operator*
|
||||
inline tmat2x2<T, P> operator*
|
||||
(
|
||||
tmat4x2<T, P> const & m1,
|
||||
tmat2x4<T, P> const & m2
|
||||
@ -571,7 +571,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x2<T, P> operator*
|
||||
inline tmat3x2<T, P> operator*
|
||||
(
|
||||
tmat4x2<T, P> const & m1,
|
||||
tmat3x4<T, P> const & m2
|
||||
@ -587,7 +587,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator*
|
||||
inline tmat4x2<T, P> operator*
|
||||
(
|
||||
tmat4x2<T, P> const & m1,
|
||||
tmat4x4<T, P> const & m2
|
||||
@ -605,7 +605,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator/
|
||||
inline tmat4x2<T, P> operator/
|
||||
(
|
||||
tmat4x2<T, P> const & m,
|
||||
T const & s
|
||||
@ -619,7 +619,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> operator/
|
||||
inline tmat4x2<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat4x2<T, P> const & m
|
||||
@ -634,7 +634,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x2<T, P> const operator-
|
||||
inline tmat4x2<T, P> const operator-
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -650,7 +650,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat4x2<T, P> const & m1,
|
||||
tmat4x2<T, P> const & m2
|
||||
@ -660,7 +660,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat4x2<T, P> const & m1,
|
||||
tmat4x2<T, P> const & m2
|
||||
|
102
deps/glm/detail/type_mat4x3.inl
vendored
102
deps/glm/detail/type_mat4x3.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat4x3<T, P>::length() const
|
||||
inline length_t tmat4x3<T, P>::length() const
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x3<T, P>::col_type &
|
||||
inline typename tmat4x3<T, P>::col_type &
|
||||
tmat4x3<T, P>::operator[]
|
||||
(
|
||||
size_type i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x3<T, P>::col_type const &
|
||||
inline typename tmat4x3<T, P>::col_type const &
|
||||
tmat4x3<T, P>::operator[]
|
||||
(
|
||||
size_type i
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3()
|
||||
inline tmat4x3<T, P>::tmat4x3()
|
||||
{
|
||||
value_type const Zero(0);
|
||||
value_type const One(1);
|
||||
@ -75,7 +75,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3(
|
||||
inline tmat4x3<T, P>::tmat4x3(
|
||||
tmat4x3<T, P> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -86,7 +86,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3(
|
||||
inline tmat4x3<T, P>::tmat4x3(
|
||||
tmat4x3<T, Q> const & m)
|
||||
{
|
||||
this->value[0] = m.value[0];
|
||||
@ -96,11 +96,11 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3(ctor)
|
||||
inline tmat4x3<T, P>::tmat4x3(ctor)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3(
|
||||
inline tmat4x3<T, P>::tmat4x3(
|
||||
T const & s)
|
||||
{
|
||||
value_type const Zero(0);
|
||||
@ -111,7 +111,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
T const & x0, T const & y0, T const & z0,
|
||||
T const & x1, T const & y1, T const & z1,
|
||||
@ -126,7 +126,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1,
|
||||
@ -149,7 +149,7 @@ namespace detail
|
||||
typename X2, typename Y2, typename Z2,
|
||||
typename X3, typename Y3, typename Z3,
|
||||
typename X4, typename Y4, typename Z4>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
X1 const & x1, Y1 const & y1, Z1 const & z1,
|
||||
X2 const & x2, Y2 const & y2, Z2 const & z2,
|
||||
@ -165,7 +165,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2, typename V3, typename V4>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tvec3<V1, P> const & v1,
|
||||
tvec3<V2, P> const & v2,
|
||||
@ -184,7 +184,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat4x3<U, Q> const & m
|
||||
)
|
||||
@ -196,7 +196,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -208,7 +208,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -220,7 +220,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -232,7 +232,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -244,7 +244,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -256,7 +256,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -268,7 +268,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -280,7 +280,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3
|
||||
inline tmat4x3<T, P>::tmat4x3
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -295,7 +295,7 @@ namespace detail
|
||||
// Unary updatable operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>& tmat4x3<T, P>::operator=
|
||||
inline tmat4x3<T, P>& tmat4x3<T, P>::operator=
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -309,7 +309,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>& tmat4x3<T, P>::operator=
|
||||
inline tmat4x3<T, P>& tmat4x3<T, P>::operator=
|
||||
(
|
||||
tmat4x3<U, P> const & m
|
||||
)
|
||||
@ -323,7 +323,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> & tmat4x3<T, P>::operator+= (U s)
|
||||
inline tmat4x3<T, P> & tmat4x3<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -334,7 +334,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> & tmat4x3<T, P>::operator+= (tmat4x3<U, P> const & m)
|
||||
inline tmat4x3<T, P> & tmat4x3<T, P>::operator+= (tmat4x3<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -345,7 +345,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> & tmat4x3<T, P>::operator-= (U s)
|
||||
inline tmat4x3<T, P> & tmat4x3<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -356,7 +356,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> & tmat4x3<T, P>::operator-= (tmat4x3<U, P> const & m)
|
||||
inline tmat4x3<T, P> & tmat4x3<T, P>::operator-= (tmat4x3<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -367,7 +367,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> & tmat4x3<T, P>::operator*= (U s)
|
||||
inline tmat4x3<T, P> & tmat4x3<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -378,7 +378,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> & tmat4x3<T, P>::operator/= (U s)
|
||||
inline tmat4x3<T, P> & tmat4x3<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -388,7 +388,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> & tmat4x3<T, P>::operator++ ()
|
||||
inline tmat4x3<T, P> & tmat4x3<T, P>::operator++ ()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -398,7 +398,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> & tmat4x3<T, P>::operator-- ()
|
||||
inline tmat4x3<T, P> & tmat4x3<T, P>::operator-- ()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -411,7 +411,7 @@ namespace detail
|
||||
// Binary operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator+ (
|
||||
inline tmat4x3<T, P> operator+ (
|
||||
tmat4x3<T, P> const & m,
|
||||
T const & s)
|
||||
{
|
||||
@ -423,7 +423,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator+ (
|
||||
inline tmat4x3<T, P> operator+ (
|
||||
tmat4x3<T, P> const & m1,
|
||||
tmat4x3<T, P> const & m2)
|
||||
{
|
||||
@ -435,7 +435,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator- (
|
||||
inline tmat4x3<T, P> operator- (
|
||||
tmat4x3<T, P> const & m,
|
||||
T const & s)
|
||||
{
|
||||
@ -447,7 +447,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator- (
|
||||
inline tmat4x3<T, P> operator- (
|
||||
tmat4x3<T, P> const & m1,
|
||||
tmat4x3<T, P> const & m2)
|
||||
{
|
||||
@ -459,7 +459,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator* (
|
||||
inline tmat4x3<T, P> operator* (
|
||||
tmat4x3<T, P> const & m,
|
||||
T const & s)
|
||||
{
|
||||
@ -471,7 +471,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator* (
|
||||
inline tmat4x3<T, P> operator* (
|
||||
T const & s,
|
||||
tmat4x3<T, P> const & m)
|
||||
{
|
||||
@ -483,7 +483,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x3<T, P>::col_type operator*
|
||||
inline typename tmat4x3<T, P>::col_type operator*
|
||||
(
|
||||
tmat4x3<T, P> const & m,
|
||||
typename tmat4x3<T, P>::row_type const & v)
|
||||
@ -495,7 +495,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x3<T, P>::row_type operator*
|
||||
inline typename tmat4x3<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat4x3<T, P>::col_type const & v,
|
||||
tmat4x3<T, P> const & m)
|
||||
@ -508,7 +508,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x3<T, P> operator*
|
||||
inline tmat2x3<T, P> operator*
|
||||
(
|
||||
tmat4x3<T, P> const & m1,
|
||||
tmat2x4<T, P> const & m2
|
||||
@ -524,7 +524,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> operator*
|
||||
inline tmat3x3<T, P> operator*
|
||||
(
|
||||
tmat4x3<T, P> const & m1,
|
||||
tmat3x4<T, P> const & m2
|
||||
@ -570,7 +570,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator*
|
||||
inline tmat4x3<T, P> operator*
|
||||
(
|
||||
tmat4x3<T, P> const & m1,
|
||||
tmat4x4<T, P> const & m2
|
||||
@ -592,7 +592,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator/
|
||||
inline tmat4x3<T, P> operator/
|
||||
(
|
||||
tmat4x3<T, P> const & m,
|
||||
T const & s
|
||||
@ -606,7 +606,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> operator/
|
||||
inline tmat4x3<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat4x3<T, P> const & m
|
||||
@ -621,7 +621,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> const operator-
|
||||
inline tmat4x3<T, P> const operator-
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -634,7 +634,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> const operator++
|
||||
inline tmat4x3<T, P> const operator++
|
||||
(
|
||||
tmat4x3<T, P> const & m,
|
||||
int
|
||||
@ -648,7 +648,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> const operator--
|
||||
inline tmat4x3<T, P> const operator--
|
||||
(
|
||||
tmat4x3<T, P> const & m,
|
||||
int
|
||||
@ -662,7 +662,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> tmat4x3<T, P>::operator++(int)
|
||||
inline tmat4x3<T, P> tmat4x3<T, P>::operator++(int)
|
||||
{
|
||||
tmat4x3<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -670,7 +670,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x3<T, P> tmat4x3<T, P>::operator--(int)
|
||||
inline tmat4x3<T, P> tmat4x3<T, P>::operator--(int)
|
||||
{
|
||||
tmat4x3<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -681,7 +681,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat4x3<T, P> const & m1,
|
||||
tmat4x3<T, P> const & m2
|
||||
@ -691,7 +691,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat4x3<T, P> const & m1,
|
||||
tmat4x3<T, P> const & m2
|
||||
|
116
deps/glm/detail/type_mat4x4.inl
vendored
116
deps/glm/detail/type_mat4x4.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tmat4x4<T, P>::length() const
|
||||
inline length_t tmat4x4<T, P>::length() const
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x4<T, P>::col_type &
|
||||
inline typename tmat4x4<T, P>::col_type &
|
||||
tmat4x4<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x4<T, P>::col_type const &
|
||||
inline typename tmat4x4<T, P>::col_type const &
|
||||
tmat4x4<T, P>::operator[]
|
||||
(
|
||||
length_t i
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
// Constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4()
|
||||
inline tmat4x4<T, P>::tmat4x4()
|
||||
{
|
||||
T Zero(0);
|
||||
T One(1);
|
||||
@ -75,7 +75,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -88,7 +88,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat4x4<T, Q> const & m
|
||||
)
|
||||
@ -100,14 +100,14 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
ctor
|
||||
)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -120,7 +120,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
T const & x0, T const & y0, T const & z0, T const & w0,
|
||||
T const & x1, T const & y1, T const & z1, T const & w1,
|
||||
@ -135,7 +135,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
col_type const & v0,
|
||||
col_type const & v1,
|
||||
@ -151,7 +151,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat4x4<U, Q> const & m
|
||||
)
|
||||
@ -170,7 +170,7 @@ namespace detail
|
||||
typename X2, typename Y2, typename Z2, typename W2,
|
||||
typename X3, typename Y3, typename Z3, typename W3,
|
||||
typename X4, typename Y4, typename Z4, typename W4>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
|
||||
X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
|
||||
@ -186,7 +186,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename V1, typename V2, typename V3, typename V4>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tvec4<V1, P> const & v1,
|
||||
tvec4<V2, P> const & v2,
|
||||
@ -203,7 +203,7 @@ namespace detail
|
||||
//////////////////////////////////////
|
||||
// Matrix convertion constructors
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -215,7 +215,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -227,7 +227,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat2x3<T, P> const & m
|
||||
)
|
||||
@ -239,7 +239,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat3x2<T, P> const & m
|
||||
)
|
||||
@ -251,7 +251,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -263,7 +263,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat4x2<T, P> const & m
|
||||
)
|
||||
@ -275,7 +275,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -287,7 +287,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4
|
||||
inline tmat4x4<T, P>::tmat4x4
|
||||
(
|
||||
tmat4x3<T, P> const & m
|
||||
)
|
||||
@ -302,7 +302,7 @@ namespace detail
|
||||
// Operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>& tmat4x4<T, P>::operator=
|
||||
inline tmat4x4<T, P>& tmat4x4<T, P>::operator=
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -318,7 +318,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>& tmat4x4<T, P>::operator=
|
||||
inline tmat4x4<T, P>& tmat4x4<T, P>::operator=
|
||||
(
|
||||
tmat4x4<U, P> const & m
|
||||
)
|
||||
@ -334,7 +334,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>& tmat4x4<T, P>::operator+= (U s)
|
||||
inline tmat4x4<T, P>& tmat4x4<T, P>::operator+= (U s)
|
||||
{
|
||||
this->value[0] += s;
|
||||
this->value[1] += s;
|
||||
@ -345,7 +345,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>& tmat4x4<T, P>::operator+= (tmat4x4<U, P> const & m)
|
||||
inline tmat4x4<T, P>& tmat4x4<T, P>::operator+= (tmat4x4<U, P> const & m)
|
||||
{
|
||||
this->value[0] += m[0];
|
||||
this->value[1] += m[1];
|
||||
@ -356,7 +356,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> & tmat4x4<T, P>::operator-= (U s)
|
||||
inline tmat4x4<T, P> & tmat4x4<T, P>::operator-= (U s)
|
||||
{
|
||||
this->value[0] -= s;
|
||||
this->value[1] -= s;
|
||||
@ -367,7 +367,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> & tmat4x4<T, P>::operator-= (tmat4x4<U, P> const & m)
|
||||
inline tmat4x4<T, P> & tmat4x4<T, P>::operator-= (tmat4x4<U, P> const & m)
|
||||
{
|
||||
this->value[0] -= m[0];
|
||||
this->value[1] -= m[1];
|
||||
@ -378,7 +378,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> & tmat4x4<T, P>::operator*= (U s)
|
||||
inline tmat4x4<T, P> & tmat4x4<T, P>::operator*= (U s)
|
||||
{
|
||||
this->value[0] *= s;
|
||||
this->value[1] *= s;
|
||||
@ -389,14 +389,14 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> & tmat4x4<T, P>::operator*= (tmat4x4<U, P> const & m)
|
||||
inline tmat4x4<T, P> & tmat4x4<T, P>::operator*= (tmat4x4<U, P> const & m)
|
||||
{
|
||||
return (*this = *this * m);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> & tmat4x4<T, P>::operator/= (U s)
|
||||
inline tmat4x4<T, P> & tmat4x4<T, P>::operator/= (U s)
|
||||
{
|
||||
this->value[0] /= s;
|
||||
this->value[1] /= s;
|
||||
@ -407,13 +407,13 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> & tmat4x4<T, P>::operator/= (tmat4x4<U, P> const & m)
|
||||
inline tmat4x4<T, P> & tmat4x4<T, P>::operator/= (tmat4x4<U, P> const & m)
|
||||
{
|
||||
return (*this = *this * detail::compute_inverse<detail::tmat4x4, T, P>::call(m));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> & tmat4x4<T, P>::operator++ ()
|
||||
inline tmat4x4<T, P> & tmat4x4<T, P>::operator++ ()
|
||||
{
|
||||
++this->value[0];
|
||||
++this->value[1];
|
||||
@ -423,7 +423,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> & tmat4x4<T, P>::operator-- ()
|
||||
inline tmat4x4<T, P> & tmat4x4<T, P>::operator-- ()
|
||||
{
|
||||
--this->value[0];
|
||||
--this->value[1];
|
||||
@ -433,7 +433,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> tmat4x4<T, P>::operator++(int)
|
||||
inline tmat4x4<T, P> tmat4x4<T, P>::operator++(int)
|
||||
{
|
||||
tmat4x4<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -441,7 +441,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> tmat4x4<T, P>::operator--(int)
|
||||
inline tmat4x4<T, P> tmat4x4<T, P>::operator--(int)
|
||||
{
|
||||
tmat4x4<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -511,7 +511,7 @@ namespace detail
|
||||
|
||||
// Binary operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator+
|
||||
inline tmat4x4<T, P> operator+
|
||||
(
|
||||
tmat4x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -525,7 +525,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator+
|
||||
inline tmat4x4<T, P> operator+
|
||||
(
|
||||
T const & s,
|
||||
tmat4x4<T, P> const & m
|
||||
@ -539,7 +539,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator+
|
||||
inline tmat4x4<T, P> operator+
|
||||
(
|
||||
tmat4x4<T, P> const & m1,
|
||||
tmat4x4<T, P> const & m2
|
||||
@ -553,7 +553,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator-
|
||||
inline tmat4x4<T, P> operator-
|
||||
(
|
||||
tmat4x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -567,7 +567,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator-
|
||||
inline tmat4x4<T, P> operator-
|
||||
(
|
||||
T const & s,
|
||||
tmat4x4<T, P> const & m
|
||||
@ -581,7 +581,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator-
|
||||
inline tmat4x4<T, P> operator-
|
||||
(
|
||||
tmat4x4<T, P> const & m1,
|
||||
tmat4x4<T, P> const & m2
|
||||
@ -595,7 +595,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator*
|
||||
inline tmat4x4<T, P> operator*
|
||||
(
|
||||
tmat4x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -609,7 +609,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator*
|
||||
inline tmat4x4<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tmat4x4<T, P> const & m
|
||||
@ -623,7 +623,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x4<T, P>::col_type operator*
|
||||
inline typename tmat4x4<T, P>::col_type operator*
|
||||
(
|
||||
tmat4x4<T, P> const & m,
|
||||
typename tmat4x4<T, P>::row_type const & v
|
||||
@ -671,7 +671,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x4<T, P>::row_type operator*
|
||||
inline typename tmat4x4<T, P>::row_type operator*
|
||||
(
|
||||
typename tmat4x4<T, P>::col_type const & v,
|
||||
tmat4x4<T, P> const & m
|
||||
@ -685,7 +685,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat2x4<T, P> operator*
|
||||
inline tmat2x4<T, P> operator*
|
||||
(
|
||||
tmat4x4<T, P> const & m1,
|
||||
tmat2x4<T, P> const & m2
|
||||
@ -703,7 +703,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat3x4<T, P> operator*
|
||||
inline tmat3x4<T, P> operator*
|
||||
(
|
||||
tmat4x4<T, P> const & m1,
|
||||
tmat3x4<T, P> const & m2
|
||||
@ -725,7 +725,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator*
|
||||
inline tmat4x4<T, P> operator*
|
||||
(
|
||||
tmat4x4<T, P> const & m1,
|
||||
tmat4x4<T, P> const & m2
|
||||
@ -750,7 +750,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator/
|
||||
inline tmat4x4<T, P> operator/
|
||||
(
|
||||
tmat4x4<T, P> const & m,
|
||||
T const & s
|
||||
@ -764,7 +764,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator/
|
||||
inline tmat4x4<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tmat4x4<T, P> const & m
|
||||
@ -778,7 +778,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x4<T, P>::col_type operator/
|
||||
inline typename tmat4x4<T, P>::col_type operator/
|
||||
(
|
||||
tmat4x4<T, P> const & m,
|
||||
typename tmat4x4<T, P>::row_type const & v
|
||||
@ -788,7 +788,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tmat4x4<T, P>::row_type operator/
|
||||
inline typename tmat4x4<T, P>::row_type operator/
|
||||
(
|
||||
typename tmat4x4<T, P>::col_type const & v,
|
||||
tmat4x4<T, P> const & m
|
||||
@ -798,7 +798,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> operator/
|
||||
inline tmat4x4<T, P> operator/
|
||||
(
|
||||
tmat4x4<T, P> const & m1,
|
||||
tmat4x4<T, P> const & m2
|
||||
@ -810,7 +810,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> const operator-
|
||||
inline tmat4x4<T, P> const operator-
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -823,7 +823,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> const operator++
|
||||
inline tmat4x4<T, P> const operator++
|
||||
(
|
||||
tmat4x4<T, P> const & m,
|
||||
int
|
||||
@ -837,7 +837,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tmat4x4<T, P> const operator--
|
||||
inline tmat4x4<T, P> const operator--
|
||||
(
|
||||
tmat4x4<T, P> const & m,
|
||||
int
|
||||
@ -854,7 +854,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tmat4x4<T, P> const & m1,
|
||||
tmat4x4<T, P> const & m2
|
||||
@ -864,7 +864,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tmat4x4<T, P> const & m1,
|
||||
tmat4x4<T, P> const & m2
|
||||
|
148
deps/glm/detail/type_vec1.inl
vendored
148
deps/glm/detail/type_vec1.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tvec1<T, P>::length() const
|
||||
inline length_t tvec1<T, P>::length() const
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
@ -39,14 +39,14 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T & tvec1<T, P>::operator[](length_t i)
|
||||
inline T & tvec1<T, P>::operator[](length_t i)
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const & tvec1<T, P>::operator[](length_t i) const
|
||||
inline T const & tvec1<T, P>::operator[](length_t i) const
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
@ -56,18 +56,18 @@ namespace detail
|
||||
// Implicit basic constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1() :
|
||||
inline tvec1<T, P>::tvec1() :
|
||||
x(static_cast<T>(0))
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1(tvec1<T, P> const & v) :
|
||||
inline tvec1<T, P>::tvec1(tvec1<T, P> const & v) :
|
||||
x(v.x)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1(tvec1<T, Q> const & v) :
|
||||
inline tvec1<T, P>::tvec1(tvec1<T, Q> const & v) :
|
||||
x(v.x)
|
||||
{}
|
||||
|
||||
@ -75,11 +75,11 @@ namespace detail
|
||||
// Explicit basic constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1(ctor)
|
||||
inline tvec1<T, P>::tvec1(ctor)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1(T const & s) :
|
||||
inline tvec1<T, P>::tvec1(T const & s) :
|
||||
x(s)
|
||||
{}
|
||||
|
||||
@ -88,7 +88,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1
|
||||
inline tvec1<T, P>::tvec1
|
||||
(
|
||||
tvec1<U, Q> const & v
|
||||
) :
|
||||
@ -97,7 +97,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1
|
||||
inline tvec1<T, P>::tvec1
|
||||
(
|
||||
tvec2<U, Q> const & v
|
||||
) :
|
||||
@ -106,7 +106,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1
|
||||
inline tvec1<T, P>::tvec1
|
||||
(
|
||||
tvec3<U, Q> const & v
|
||||
) :
|
||||
@ -115,7 +115,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1
|
||||
inline tvec1<T, P>::tvec1
|
||||
(
|
||||
tvec4<U, Q> const & v
|
||||
) :
|
||||
@ -126,7 +126,7 @@ namespace detail
|
||||
// Unary arithmetic operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator=
|
||||
(
|
||||
tvec1<T, P> const & v
|
||||
)
|
||||
@ -137,7 +137,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -148,7 +148,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator+=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator+=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -159,7 +159,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator+=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator+=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -170,7 +170,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator-=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator-=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -181,7 +181,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator-=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator-=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -192,7 +192,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator*=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator*=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -203,7 +203,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator*=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator*=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -214,7 +214,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator/=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator/=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -225,7 +225,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator/=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator/=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -238,21 +238,21 @@ namespace detail
|
||||
// Increment and decrement operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator++()
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator++()
|
||||
{
|
||||
++this->x;
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator--()
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator--()
|
||||
{
|
||||
--this->x;
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> tvec1<T, P>::operator++(int)
|
||||
inline tvec1<T, P> tvec1<T, P>::operator++(int)
|
||||
{
|
||||
tvec1<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -260,7 +260,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> tvec1<T, P>::operator--(int)
|
||||
inline tvec1<T, P> tvec1<T, P>::operator--(int)
|
||||
{
|
||||
tvec1<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -271,7 +271,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -281,7 +281,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -295,7 +295,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator%=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator%=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -306,7 +306,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator%=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator%=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -317,7 +317,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator&=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator&=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -328,7 +328,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator&=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator&=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -339,7 +339,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator|=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator|=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -350,7 +350,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator|=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator|=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -361,7 +361,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator^=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator^=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -372,7 +372,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator^=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator^=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -383,7 +383,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator<<=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator<<=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -394,7 +394,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator<<=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator<<=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -405,7 +405,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator>>=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator>>=
|
||||
(
|
||||
U const & s
|
||||
)
|
||||
@ -416,7 +416,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator>>=
|
||||
inline tvec1<T, P> & tvec1<T, P>::operator>>=
|
||||
(
|
||||
tvec1<U, P> const & v
|
||||
)
|
||||
@ -429,7 +429,7 @@ namespace detail
|
||||
// Binary arithmetic operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator+
|
||||
inline tvec1<T, P> operator+
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -440,7 +440,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator+
|
||||
inline tvec1<T, P> operator+
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -451,7 +451,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator+
|
||||
inline tvec1<T, P> operator+
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -463,7 +463,7 @@ namespace detail
|
||||
|
||||
//operator-
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator-
|
||||
inline tvec1<T, P> operator-
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -474,7 +474,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator-
|
||||
inline tvec1<T, P> operator-
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -485,7 +485,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator-
|
||||
inline tvec1<T, P> operator-
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -497,7 +497,7 @@ namespace detail
|
||||
|
||||
//operator*
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator*
|
||||
inline tvec1<T, P> operator*
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -508,7 +508,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator*
|
||||
inline tvec1<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -519,7 +519,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator*
|
||||
inline tvec1<T, P> operator*
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -531,7 +531,7 @@ namespace detail
|
||||
|
||||
//operator/
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator/
|
||||
inline tvec1<T, P> operator/
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -542,7 +542,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator/
|
||||
inline tvec1<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -553,7 +553,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator/
|
||||
inline tvec1<T, P> operator/
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -565,7 +565,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator-
|
||||
inline tvec1<T, P> operator-
|
||||
(
|
||||
tvec1<T, P> const & v
|
||||
)
|
||||
@ -575,7 +575,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator++
|
||||
inline tvec1<T, P> operator++
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
int
|
||||
@ -586,7 +586,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator--
|
||||
inline tvec1<T, P> operator--
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
int
|
||||
@ -600,7 +600,7 @@ namespace detail
|
||||
// Binary bit operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator%
|
||||
inline tvec1<T, P> operator%
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -611,7 +611,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator%
|
||||
inline tvec1<T, P> operator%
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -622,7 +622,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator%
|
||||
inline tvec1<T, P> operator%
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -633,7 +633,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator&
|
||||
inline tvec1<T, P> operator&
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -644,7 +644,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator&
|
||||
inline tvec1<T, P> operator&
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -655,7 +655,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator&
|
||||
inline tvec1<T, P> operator&
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -666,7 +666,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator|
|
||||
inline tvec1<T, P> operator|
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -677,7 +677,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator|
|
||||
inline tvec1<T, P> operator|
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -688,7 +688,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator|
|
||||
inline tvec1<T, P> operator|
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -699,7 +699,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator^
|
||||
inline tvec1<T, P> operator^
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -710,7 +710,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator^
|
||||
inline tvec1<T, P> operator^
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -721,7 +721,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator^
|
||||
inline tvec1<T, P> operator^
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -732,7 +732,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator<<
|
||||
inline tvec1<T, P> operator<<
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -743,7 +743,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator<<
|
||||
inline tvec1<T, P> operator<<
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -754,7 +754,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator<<
|
||||
inline tvec1<T, P> operator<<
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -765,7 +765,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator>>
|
||||
inline tvec1<T, P> operator>>
|
||||
(
|
||||
tvec1<T, P> const & v,
|
||||
T const & s
|
||||
@ -776,7 +776,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator>>
|
||||
inline tvec1<T, P> operator>>
|
||||
(
|
||||
T const & s,
|
||||
tvec1<T, P> const & v
|
||||
@ -787,7 +787,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator>>
|
||||
inline tvec1<T, P> operator>>
|
||||
(
|
||||
tvec1<T, P> const & v1,
|
||||
tvec1<T, P> const & v2
|
||||
@ -798,7 +798,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec1<T, P> operator~
|
||||
inline tvec1<T, P> operator~
|
||||
(
|
||||
tvec1<T, P> const & v
|
||||
)
|
||||
|
146
deps/glm/detail/type_vec2.inl
vendored
146
deps/glm/detail/type_vec2.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tvec2<T, P>::length() const
|
||||
inline length_t tvec2<T, P>::length() const
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
@ -39,14 +39,14 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T & tvec2<T, P>::operator[](length_t i)
|
||||
inline T & tvec2<T, P>::operator[](length_t i)
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const & tvec2<T, P>::operator[](length_t i) const
|
||||
inline T const & tvec2<T, P>::operator[](length_t i) const
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
@ -56,20 +56,20 @@ namespace detail
|
||||
// Implicit basic constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2() :
|
||||
inline tvec2<T, P>::tvec2() :
|
||||
x(0),
|
||||
y(0)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2(tvec2<T, P> const & v) :
|
||||
inline tvec2<T, P>::tvec2(tvec2<T, P> const & v) :
|
||||
x(v.x),
|
||||
y(v.y)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2(tvec2<T, Q> const & v) :
|
||||
inline tvec2<T, P>::tvec2(tvec2<T, Q> const & v) :
|
||||
x(v.x),
|
||||
y(v.y)
|
||||
{}
|
||||
@ -78,17 +78,17 @@ namespace detail
|
||||
// Explicit basic constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2(ctor)
|
||||
inline tvec2<T, P>::tvec2(ctor)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2(T const & s) :
|
||||
inline tvec2<T, P>::tvec2(T const & s) :
|
||||
x(s),
|
||||
y(s)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2
|
||||
inline tvec2<T, P>::tvec2
|
||||
(
|
||||
T const & s1,
|
||||
T const & s2
|
||||
@ -102,7 +102,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, typename V>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2
|
||||
inline tvec2<T, P>::tvec2
|
||||
(
|
||||
U const & a,
|
||||
V const & b
|
||||
@ -116,7 +116,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2
|
||||
inline tvec2<T, P>::tvec2
|
||||
(
|
||||
tvec2<U, Q> const & v
|
||||
) :
|
||||
@ -126,7 +126,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2
|
||||
inline tvec2<T, P>::tvec2
|
||||
(
|
||||
tvec3<U, Q> const & v
|
||||
) :
|
||||
@ -136,7 +136,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2
|
||||
inline tvec2<T, P>::tvec2
|
||||
(
|
||||
tvec4<U, Q> const & v
|
||||
) :
|
||||
@ -148,7 +148,7 @@ namespace detail
|
||||
// Unary arithmetic operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator=
|
||||
(
|
||||
tvec2<T, P> const & v
|
||||
)
|
||||
@ -160,7 +160,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator=
|
||||
(
|
||||
tvec2<U, P> const & v
|
||||
)
|
||||
@ -172,7 +172,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator+=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator+=
|
||||
(
|
||||
U s
|
||||
)
|
||||
@ -184,7 +184,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator+=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator+=
|
||||
(
|
||||
tvec2<U, P> const & v
|
||||
)
|
||||
@ -196,7 +196,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator-=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator-=
|
||||
(
|
||||
U s
|
||||
)
|
||||
@ -208,7 +208,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator-=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator-=
|
||||
(
|
||||
tvec2<U, P> const & v
|
||||
)
|
||||
@ -220,7 +220,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator*=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator*=
|
||||
(
|
||||
U s
|
||||
)
|
||||
@ -232,7 +232,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator*=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator*=
|
||||
(
|
||||
tvec2<U, P> const & v
|
||||
)
|
||||
@ -244,7 +244,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator/=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator/=
|
||||
(
|
||||
U s
|
||||
)
|
||||
@ -256,7 +256,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator/=
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator/=
|
||||
(
|
||||
tvec2<U, P> const & v
|
||||
)
|
||||
@ -270,7 +270,7 @@ namespace detail
|
||||
// Increment and decrement operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator++()
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator++()
|
||||
{
|
||||
++this->x;
|
||||
++this->y;
|
||||
@ -278,7 +278,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator--()
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator--()
|
||||
{
|
||||
--this->x;
|
||||
--this->y;
|
||||
@ -286,7 +286,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> tvec2<T, P>::operator++(int)
|
||||
inline tvec2<T, P> tvec2<T, P>::operator++(int)
|
||||
{
|
||||
tvec2<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -294,7 +294,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> tvec2<T, P>::operator--(int)
|
||||
inline tvec2<T, P> tvec2<T, P>::operator--(int)
|
||||
{
|
||||
tvec2<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -305,7 +305,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -315,7 +315,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -329,7 +329,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator%= (U s)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator%= (U s)
|
||||
{
|
||||
this->x %= static_cast<T>(s);
|
||||
this->y %= static_cast<T>(s);
|
||||
@ -338,7 +338,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator%= (tvec2<U, P> const & v)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator%= (tvec2<U, P> const & v)
|
||||
{
|
||||
this->x %= static_cast<T>(v.x);
|
||||
this->y %= static_cast<T>(v.y);
|
||||
@ -347,7 +347,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator&= (U s)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator&= (U s)
|
||||
{
|
||||
this->x &= static_cast<T>(s);
|
||||
this->y &= static_cast<T>(s);
|
||||
@ -356,7 +356,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator&= (tvec2<U, P> const & v)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator&= (tvec2<U, P> const & v)
|
||||
{
|
||||
this->x &= static_cast<T>(v.x);
|
||||
this->y &= static_cast<T>(v.y);
|
||||
@ -365,7 +365,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator|= (U s)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator|= (U s)
|
||||
{
|
||||
this->x |= static_cast<T>(s);
|
||||
this->y |= static_cast<T>(s);
|
||||
@ -374,7 +374,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator|= (tvec2<U, P> const & v)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator|= (tvec2<U, P> const & v)
|
||||
{
|
||||
this->x |= static_cast<T>(v.x);
|
||||
this->y |= static_cast<T>(v.y);
|
||||
@ -383,7 +383,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator^= (U s)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator^= (U s)
|
||||
{
|
||||
this->x ^= static_cast<T>(s);
|
||||
this->y ^= static_cast<T>(s);
|
||||
@ -392,7 +392,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator^= (tvec2<U, P> const & v)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator^= (tvec2<U, P> const & v)
|
||||
{
|
||||
this->x ^= static_cast<T>(v.x);
|
||||
this->y ^= static_cast<T>(v.y);
|
||||
@ -401,7 +401,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator<<= (U s)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator<<= (U s)
|
||||
{
|
||||
this->x <<= static_cast<T>(s);
|
||||
this->y <<= static_cast<T>(s);
|
||||
@ -410,7 +410,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator<<= (tvec2<U, P> const & v)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator<<= (tvec2<U, P> const & v)
|
||||
{
|
||||
this->x <<= static_cast<T>(v.x);
|
||||
this->y <<= static_cast<T>(v.y);
|
||||
@ -419,7 +419,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator>>= (U s)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator>>= (U s)
|
||||
{
|
||||
this->x >>= static_cast<T>(s);
|
||||
this->y >>= static_cast<T>(s);
|
||||
@ -428,7 +428,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator>>= (tvec2<U, P> const & v)
|
||||
inline tvec2<T, P> & tvec2<T, P>::operator>>= (tvec2<U, P> const & v)
|
||||
{
|
||||
this->x >>= static_cast<T>(v.x);
|
||||
this->y >>= static_cast<T>(v.y);
|
||||
@ -439,7 +439,7 @@ namespace detail
|
||||
// Binary arithmetic operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator+
|
||||
inline tvec2<T, P> operator+
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -451,7 +451,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator+
|
||||
inline tvec2<T, P> operator+
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -463,7 +463,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator+
|
||||
inline tvec2<T, P> operator+
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -476,7 +476,7 @@ namespace detail
|
||||
|
||||
//operator-
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator-
|
||||
inline tvec2<T, P> operator-
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -488,7 +488,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator-
|
||||
inline tvec2<T, P> operator-
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -500,7 +500,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator-
|
||||
inline tvec2<T, P> operator-
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -513,7 +513,7 @@ namespace detail
|
||||
|
||||
//operator*
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator*
|
||||
inline tvec2<T, P> operator*
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -525,7 +525,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator*
|
||||
inline tvec2<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -537,7 +537,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator*
|
||||
inline tvec2<T, P> operator*
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -550,7 +550,7 @@ namespace detail
|
||||
|
||||
//operator/
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator/
|
||||
inline tvec2<T, P> operator/
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -562,7 +562,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator/
|
||||
inline tvec2<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -574,7 +574,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator/
|
||||
inline tvec2<T, P> operator/
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -587,7 +587,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator-
|
||||
inline tvec2<T, P> operator-
|
||||
(
|
||||
tvec2<T, P> const & v
|
||||
)
|
||||
@ -601,7 +601,7 @@ namespace detail
|
||||
// Binary bit operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator%
|
||||
inline tvec2<T, P> operator%
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -613,7 +613,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator%
|
||||
inline tvec2<T, P> operator%
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -625,7 +625,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator%
|
||||
inline tvec2<T, P> operator%
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -637,7 +637,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator&
|
||||
inline tvec2<T, P> operator&
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -649,7 +649,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator&
|
||||
inline tvec2<T, P> operator&
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -661,7 +661,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator&
|
||||
inline tvec2<T, P> operator&
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -673,7 +673,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator|
|
||||
inline tvec2<T, P> operator|
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -685,7 +685,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator|
|
||||
inline tvec2<T, P> operator|
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -697,7 +697,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator|
|
||||
inline tvec2<T, P> operator|
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -709,7 +709,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator^
|
||||
inline tvec2<T, P> operator^
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -721,7 +721,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator^
|
||||
inline tvec2<T, P> operator^
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -733,7 +733,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator^
|
||||
inline tvec2<T, P> operator^
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -745,7 +745,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator<<
|
||||
inline tvec2<T, P> operator<<
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -757,7 +757,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator<<
|
||||
inline tvec2<T, P> operator<<
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -769,7 +769,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator<<
|
||||
inline tvec2<T, P> operator<<
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -781,7 +781,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator>>
|
||||
inline tvec2<T, P> operator>>
|
||||
(
|
||||
tvec2<T, P> const & v,
|
||||
T const & s
|
||||
@ -793,7 +793,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator>>
|
||||
inline tvec2<T, P> operator>>
|
||||
(
|
||||
T const & s,
|
||||
tvec2<T, P> const & v
|
||||
@ -805,7 +805,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator>>
|
||||
inline tvec2<T, P> operator>>
|
||||
(
|
||||
tvec2<T, P> const & v1,
|
||||
tvec2<T, P> const & v2
|
||||
@ -817,7 +817,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec2<T, P> operator~
|
||||
inline tvec2<T, P> operator~
|
||||
(
|
||||
tvec2<T, P> const & v
|
||||
)
|
||||
|
148
deps/glm/detail/type_vec3.inl
vendored
148
deps/glm/detail/type_vec3.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tvec3<T, P>::length() const
|
||||
inline length_t tvec3<T, P>::length() const
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
@ -39,14 +39,14 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T & tvec3<T, P>::operator[](length_t i)
|
||||
inline T & tvec3<T, P>::operator[](length_t i)
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const & tvec3<T, P>::operator[](length_t i) const
|
||||
inline T const & tvec3<T, P>::operator[](length_t i) const
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
@ -56,14 +56,14 @@ namespace detail
|
||||
// Implicit basic constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3() :
|
||||
inline tvec3<T, P>::tvec3() :
|
||||
x(0),
|
||||
y(0),
|
||||
z(0)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3(tvec3<T, P> const & v) :
|
||||
inline tvec3<T, P>::tvec3(tvec3<T, P> const & v) :
|
||||
x(v.x),
|
||||
y(v.y),
|
||||
z(v.z)
|
||||
@ -71,7 +71,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3(tvec3<T, Q> const & v) :
|
||||
inline tvec3<T, P>::tvec3(tvec3<T, Q> const & v) :
|
||||
x(v.x),
|
||||
y(v.y),
|
||||
z(v.z)
|
||||
@ -81,18 +81,18 @@ namespace detail
|
||||
// Explicit basic constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3(ctor)
|
||||
inline tvec3<T, P>::tvec3(ctor)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3(T const & s) :
|
||||
inline tvec3<T, P>::tvec3(T const & s) :
|
||||
x(s),
|
||||
y(s),
|
||||
z(s)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3
|
||||
inline tvec3<T, P>::tvec3
|
||||
(
|
||||
T const & s0,
|
||||
T const & s1,
|
||||
@ -108,7 +108,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, typename C>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3
|
||||
inline tvec3<T, P>::tvec3
|
||||
(
|
||||
A const & x,
|
||||
B const & y,
|
||||
@ -124,7 +124,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3
|
||||
inline tvec3<T, P>::tvec3
|
||||
(
|
||||
tvec2<A, Q> const & v,
|
||||
B const & s
|
||||
@ -136,7 +136,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3
|
||||
inline tvec3<T, P>::tvec3
|
||||
(
|
||||
A const & s,
|
||||
tvec2<B, Q> const & v
|
||||
@ -148,7 +148,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3
|
||||
inline tvec3<T, P>::tvec3
|
||||
(
|
||||
tvec3<U, Q> const & v
|
||||
) :
|
||||
@ -159,7 +159,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3
|
||||
inline tvec3<T, P>::tvec3
|
||||
(
|
||||
tvec4<U, Q> const & v
|
||||
) :
|
||||
@ -172,7 +172,7 @@ namespace detail
|
||||
// Unary arithmetic operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>& tvec3<T, P>::operator= (tvec3<T, P> const & v)
|
||||
inline tvec3<T, P>& tvec3<T, P>::operator= (tvec3<T, P> const & v)
|
||||
{
|
||||
this->x = v.x;
|
||||
this->y = v.y;
|
||||
@ -182,7 +182,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P>& tvec3<T, P>::operator= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P>& tvec3<T, P>::operator= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x = static_cast<T>(v.x);
|
||||
this->y = static_cast<T>(v.y);
|
||||
@ -192,7 +192,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator+= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator+= (U s)
|
||||
{
|
||||
this->x += static_cast<T>(s);
|
||||
this->y += static_cast<T>(s);
|
||||
@ -202,7 +202,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator+= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator+= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x += static_cast<T>(v.x);
|
||||
this->y += static_cast<T>(v.y);
|
||||
@ -212,7 +212,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator-= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator-= (U s)
|
||||
{
|
||||
this->x -= static_cast<T>(s);
|
||||
this->y -= static_cast<T>(s);
|
||||
@ -222,7 +222,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator-= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator-= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x -= static_cast<T>(v.x);
|
||||
this->y -= static_cast<T>(v.y);
|
||||
@ -232,7 +232,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator*= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator*= (U s)
|
||||
{
|
||||
this->x *= static_cast<T>(s);
|
||||
this->y *= static_cast<T>(s);
|
||||
@ -242,7 +242,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator*= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator*= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x *= static_cast<T>(v.x);
|
||||
this->y *= static_cast<T>(v.y);
|
||||
@ -252,7 +252,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator/= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator/= (U s)
|
||||
{
|
||||
this->x /= static_cast<T>(s);
|
||||
this->y /= static_cast<T>(s);
|
||||
@ -262,7 +262,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator/= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator/= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x /= static_cast<T>(v.x);
|
||||
this->y /= static_cast<T>(v.y);
|
||||
@ -274,7 +274,7 @@ namespace detail
|
||||
// Increment and decrement operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator++()
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator++()
|
||||
{
|
||||
++this->x;
|
||||
++this->y;
|
||||
@ -283,7 +283,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator--()
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator--()
|
||||
{
|
||||
--this->x;
|
||||
--this->y;
|
||||
@ -292,7 +292,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> tvec3<T, P>::operator++(int)
|
||||
inline tvec3<T, P> tvec3<T, P>::operator++(int)
|
||||
{
|
||||
tvec3<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -300,7 +300,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> tvec3<T, P>::operator--(int)
|
||||
inline tvec3<T, P> tvec3<T, P>::operator--(int)
|
||||
{
|
||||
tvec3<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -311,7 +311,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -321,7 +321,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -335,7 +335,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator%= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator%= (U s)
|
||||
{
|
||||
this->x %= s;
|
||||
this->y %= s;
|
||||
@ -345,7 +345,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator%= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator%= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x %= v.x;
|
||||
this->y %= v.y;
|
||||
@ -355,7 +355,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator&= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator&= (U s)
|
||||
{
|
||||
this->x &= s;
|
||||
this->y &= s;
|
||||
@ -365,7 +365,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator&= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator&= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x &= v.x;
|
||||
this->y &= v.y;
|
||||
@ -375,7 +375,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator|= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator|= (U s)
|
||||
{
|
||||
this->x |= s;
|
||||
this->y |= s;
|
||||
@ -385,7 +385,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator|= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator|= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x |= v.x;
|
||||
this->y |= v.y;
|
||||
@ -395,7 +395,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator^= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator^= (U s)
|
||||
{
|
||||
this->x ^= s;
|
||||
this->y ^= s;
|
||||
@ -405,7 +405,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator^= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator^= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x ^= v.x;
|
||||
this->y ^= v.y;
|
||||
@ -415,7 +415,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator<<= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator<<= (U s)
|
||||
{
|
||||
this->x <<= s;
|
||||
this->y <<= s;
|
||||
@ -425,7 +425,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator<<= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator<<= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x <<= static_cast<T>(v.x);
|
||||
this->y <<= static_cast<T>(v.y);
|
||||
@ -435,7 +435,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator>>= (U s)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator>>= (U s)
|
||||
{
|
||||
this->x >>= static_cast<T>(s);
|
||||
this->y >>= static_cast<T>(s);
|
||||
@ -445,7 +445,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> & tvec3<T, P>::operator>>= (tvec3<U, P> const & v)
|
||||
inline tvec3<T, P> & tvec3<T, P>::operator>>= (tvec3<U, P> const & v)
|
||||
{
|
||||
this->x >>= static_cast<T>(v.x);
|
||||
this->y >>= static_cast<T>(v.y);
|
||||
@ -457,7 +457,7 @@ namespace detail
|
||||
// Binary arithmetic operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator+
|
||||
inline tvec3<T, P> operator+
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -470,7 +470,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator+
|
||||
inline tvec3<T, P> operator+
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -483,7 +483,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator+
|
||||
inline tvec3<T, P> operator+
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -497,7 +497,7 @@ namespace detail
|
||||
|
||||
//operator-
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator-
|
||||
inline tvec3<T, P> operator-
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -510,7 +510,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator-
|
||||
inline tvec3<T, P> operator-
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -523,7 +523,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator-
|
||||
inline tvec3<T, P> operator-
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -537,7 +537,7 @@ namespace detail
|
||||
|
||||
//operator*
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator*
|
||||
inline tvec3<T, P> operator*
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -550,7 +550,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator*
|
||||
inline tvec3<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -563,7 +563,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator*
|
||||
inline tvec3<T, P> operator*
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -577,7 +577,7 @@ namespace detail
|
||||
|
||||
//operator/
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator/
|
||||
inline tvec3<T, P> operator/
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -590,7 +590,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator/
|
||||
inline tvec3<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -603,7 +603,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator/
|
||||
inline tvec3<T, P> operator/
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -617,7 +617,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator-
|
||||
inline tvec3<T, P> operator-
|
||||
(
|
||||
tvec3<T, P> const & v
|
||||
)
|
||||
@ -632,7 +632,7 @@ namespace detail
|
||||
// Binary bit operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator%
|
||||
inline tvec3<T, P> operator%
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -645,7 +645,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator%
|
||||
inline tvec3<T, P> operator%
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -658,7 +658,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator%
|
||||
inline tvec3<T, P> operator%
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -671,7 +671,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator&
|
||||
inline tvec3<T, P> operator&
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -684,7 +684,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator&
|
||||
inline tvec3<T, P> operator&
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -697,7 +697,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator&
|
||||
inline tvec3<T, P> operator&
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -710,7 +710,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator|
|
||||
inline tvec3<T, P> operator|
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -723,7 +723,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator|
|
||||
inline tvec3<T, P> operator|
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -736,7 +736,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator|
|
||||
inline tvec3<T, P> operator|
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -749,7 +749,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator^
|
||||
inline tvec3<T, P> operator^
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -762,7 +762,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator^
|
||||
inline tvec3<T, P> operator^
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -775,7 +775,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator^
|
||||
inline tvec3<T, P> operator^
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -788,7 +788,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator<<
|
||||
inline tvec3<T, P> operator<<
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -801,7 +801,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator<<
|
||||
inline tvec3<T, P> operator<<
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -814,7 +814,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator<<
|
||||
inline tvec3<T, P> operator<<
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -827,7 +827,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator>>
|
||||
inline tvec3<T, P> operator>>
|
||||
(
|
||||
tvec3<T, P> const & v,
|
||||
T const & s
|
||||
@ -840,7 +840,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator>>
|
||||
inline tvec3<T, P> operator>>
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -853,7 +853,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator>>
|
||||
inline tvec3<T, P> operator>>
|
||||
(
|
||||
tvec3<T, P> const & v1,
|
||||
tvec3<T, P> const & v2
|
||||
@ -866,7 +866,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec3<T, P> operator~
|
||||
inline tvec3<T, P> operator~
|
||||
(
|
||||
tvec3<T, P> const & v
|
||||
)
|
||||
|
154
deps/glm/detail/type_vec4.inl
vendored
154
deps/glm/detail/type_vec4.inl
vendored
@ -30,7 +30,7 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tvec4<T, P>::length() const
|
||||
inline length_t tvec4<T, P>::length() const
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
@ -39,14 +39,14 @@ namespace detail
|
||||
// Accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T & tvec4<T, P>::operator[](length_t i)
|
||||
inline T & tvec4<T, P>::operator[](length_t i)
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const & tvec4<T, P>::operator[](length_t i) const
|
||||
inline T const & tvec4<T, P>::operator[](length_t i) const
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
@ -56,7 +56,7 @@ namespace detail
|
||||
// Implicit basic constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4() :
|
||||
inline tvec4<T, P>::tvec4() :
|
||||
x(0),
|
||||
y(0),
|
||||
z(0),
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4(tvec4<T, P> const & v) :
|
||||
inline tvec4<T, P>::tvec4(tvec4<T, P> const & v) :
|
||||
x(v.x),
|
||||
y(v.y),
|
||||
z(v.z),
|
||||
@ -73,7 +73,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4(tvec4<T, Q> const & v) :
|
||||
inline tvec4<T, P>::tvec4(tvec4<T, Q> const & v) :
|
||||
x(v.x),
|
||||
y(v.y),
|
||||
z(v.z),
|
||||
@ -84,11 +84,11 @@ namespace detail
|
||||
// Explicit basic constructors
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4(ctor)
|
||||
inline tvec4<T, P>::tvec4(ctor)
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4(T const & s) :
|
||||
inline tvec4<T, P>::tvec4(T const & s) :
|
||||
x(s),
|
||||
y(s),
|
||||
z(s),
|
||||
@ -96,7 +96,7 @@ namespace detail
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
T const & s1,
|
||||
T const & s2,
|
||||
@ -114,7 +114,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, typename C, typename D>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
A const & x,
|
||||
B const & y,
|
||||
@ -129,7 +129,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
tvec4<U, Q> const & v
|
||||
) :
|
||||
@ -144,7 +144,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, typename C, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
tvec2<A, Q> const & v,
|
||||
B const & s1,
|
||||
@ -158,7 +158,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, typename C, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
A const & s1,
|
||||
tvec2<B, Q> const & v,
|
||||
@ -172,7 +172,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, typename C, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
A const & s1,
|
||||
B const & s2,
|
||||
@ -186,7 +186,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
tvec3<A, Q> const & v,
|
||||
B const & s
|
||||
@ -199,7 +199,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
A const & s,
|
||||
tvec3<B, Q> const & v
|
||||
@ -212,7 +212,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename A, typename B, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
|
||||
inline tvec4<T, P>::tvec4
|
||||
(
|
||||
tvec2<A, Q> const & v1,
|
||||
tvec2<B, Q> const & v2
|
||||
@ -227,7 +227,7 @@ namespace detail
|
||||
// Unary arithmetic operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator= (tvec4<T, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator= (tvec4<T, P> const & v)
|
||||
{
|
||||
this->x = v.x;
|
||||
this->y = v.y;
|
||||
@ -238,7 +238,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator= (tvec4<U, Q> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator= (tvec4<U, Q> const & v)
|
||||
{
|
||||
this->x = static_cast<T>(v.x);
|
||||
this->y = static_cast<T>(v.y);
|
||||
@ -249,7 +249,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator+= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator+= (U s)
|
||||
{
|
||||
this->x += static_cast<T>(s);
|
||||
this->y += static_cast<T>(s);
|
||||
@ -260,7 +260,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator+= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator+= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x += static_cast<T>(v.x);
|
||||
this->y += static_cast<T>(v.y);
|
||||
@ -271,7 +271,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator-= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator-= (U s)
|
||||
{
|
||||
this->x -= static_cast<T>(s);
|
||||
this->y -= static_cast<T>(s);
|
||||
@ -282,7 +282,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator-= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator-= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x -= static_cast<T>(v.x);
|
||||
this->y -= static_cast<T>(v.y);
|
||||
@ -293,7 +293,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator*= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator*= (U s)
|
||||
{
|
||||
this->x *= static_cast<T>(s);
|
||||
this->y *= static_cast<T>(s);
|
||||
@ -304,7 +304,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator*= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator*= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x *= static_cast<T>(v.x);
|
||||
this->y *= static_cast<T>(v.y);
|
||||
@ -315,7 +315,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator/= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator/= (U s)
|
||||
{
|
||||
this->x /= static_cast<T>(s);
|
||||
this->y /= static_cast<T>(s);
|
||||
@ -326,7 +326,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator/= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator/= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x /= static_cast<T>(v.x);
|
||||
this->y /= static_cast<T>(v.y);
|
||||
@ -339,7 +339,7 @@ namespace detail
|
||||
// Increment and decrement operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator++()
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator++()
|
||||
{
|
||||
++this->x;
|
||||
++this->y;
|
||||
@ -349,7 +349,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator--()
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator--()
|
||||
{
|
||||
--this->x;
|
||||
--this->y;
|
||||
@ -359,7 +359,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> tvec4<T, P>::operator++(int)
|
||||
inline tvec4<T, P> tvec4<T, P>::operator++(int)
|
||||
{
|
||||
tvec4<T, P> Result(*this);
|
||||
++*this;
|
||||
@ -367,7 +367,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> tvec4<T, P>::operator--(int)
|
||||
inline tvec4<T, P> tvec4<T, P>::operator--(int)
|
||||
{
|
||||
tvec4<T, P> Result(*this);
|
||||
--*this;
|
||||
@ -379,7 +379,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator%= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator%= (U s)
|
||||
{
|
||||
this->x %= static_cast<T>(s);
|
||||
this->y %= static_cast<T>(s);
|
||||
@ -390,7 +390,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator%= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator%= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x %= static_cast<T>(v.x);
|
||||
this->y %= static_cast<T>(v.y);
|
||||
@ -401,7 +401,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator&= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator&= (U s)
|
||||
{
|
||||
this->x &= static_cast<T>(s);
|
||||
this->y &= static_cast<T>(s);
|
||||
@ -412,7 +412,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator&= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator&= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x &= static_cast<T>(v.x);
|
||||
this->y &= static_cast<T>(v.y);
|
||||
@ -423,7 +423,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator|= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator|= (U s)
|
||||
{
|
||||
this->x |= static_cast<T>(s);
|
||||
this->y |= static_cast<T>(s);
|
||||
@ -434,7 +434,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator|= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator|= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x |= static_cast<T>(v.x);
|
||||
this->y |= static_cast<T>(v.y);
|
||||
@ -445,7 +445,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator^= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator^= (U s)
|
||||
{
|
||||
this->x ^= static_cast<T>(s);
|
||||
this->y ^= static_cast<T>(s);
|
||||
@ -456,7 +456,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator^= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator^= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x ^= static_cast<T>(v.x);
|
||||
this->y ^= static_cast<T>(v.y);
|
||||
@ -467,7 +467,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator<<= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator<<= (U s)
|
||||
{
|
||||
this->x <<= static_cast<T>(s);
|
||||
this->y <<= static_cast<T>(s);
|
||||
@ -478,7 +478,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator<<= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator<<= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x <<= static_cast<T>(v.x);
|
||||
this->y <<= static_cast<T>(v.y);
|
||||
@ -489,7 +489,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator>>= (U s)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator>>= (U s)
|
||||
{
|
||||
this->x >>= static_cast<T>(s);
|
||||
this->y >>= static_cast<T>(s);
|
||||
@ -500,7 +500,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator>>= (tvec4<U, P> const & v)
|
||||
inline tvec4<T, P> & tvec4<T, P>::operator>>= (tvec4<U, P> const & v)
|
||||
{
|
||||
this->x >>= static_cast<T>(v.x);
|
||||
this->y >>= static_cast<T>(v.y);
|
||||
@ -513,7 +513,7 @@ namespace detail
|
||||
// Binary arithmetic operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator+
|
||||
inline tvec4<T, P> operator+
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -527,7 +527,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator+
|
||||
inline tvec4<T, P> operator+
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -541,7 +541,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator+
|
||||
inline tvec4<T, P> operator+
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -556,7 +556,7 @@ namespace detail
|
||||
|
||||
//operator-
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator-
|
||||
inline tvec4<T, P> operator-
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -570,7 +570,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator-
|
||||
inline tvec4<T, P> operator-
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -584,7 +584,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator-
|
||||
inline tvec4<T, P> operator-
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -599,7 +599,7 @@ namespace detail
|
||||
|
||||
//operator*
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator*
|
||||
inline tvec4<T, P> operator*
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -613,7 +613,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator*
|
||||
inline tvec4<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -627,7 +627,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator*
|
||||
inline tvec4<T, P> operator*
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -642,7 +642,7 @@ namespace detail
|
||||
|
||||
//operator/
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator/
|
||||
inline tvec4<T, P> operator/
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -656,7 +656,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator/
|
||||
inline tvec4<T, P> operator/
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -670,7 +670,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator/
|
||||
inline tvec4<T, P> operator/
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -685,7 +685,7 @@ namespace detail
|
||||
|
||||
// Unary constant operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator-
|
||||
inline tvec4<T, P> operator-
|
||||
(
|
||||
tvec4<T, P> const & v
|
||||
)
|
||||
@ -701,7 +701,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -711,7 +711,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -724,7 +724,7 @@ namespace detail
|
||||
// Binary bit operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator%
|
||||
inline tvec4<T, P> operator%
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -738,7 +738,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator%
|
||||
inline tvec4<T, P> operator%
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -752,7 +752,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator%
|
||||
inline tvec4<T, P> operator%
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -766,7 +766,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator&
|
||||
inline tvec4<T, P> operator&
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -780,7 +780,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator&
|
||||
inline tvec4<T, P> operator&
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -794,7 +794,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator&
|
||||
inline tvec4<T, P> operator&
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -808,7 +808,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator|
|
||||
inline tvec4<T, P> operator|
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -822,7 +822,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator|
|
||||
inline tvec4<T, P> operator|
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -836,7 +836,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator|
|
||||
inline tvec4<T, P> operator|
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -850,7 +850,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator^
|
||||
inline tvec4<T, P> operator^
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -864,7 +864,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator^
|
||||
inline tvec4<T, P> operator^
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -878,7 +878,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator^
|
||||
inline tvec4<T, P> operator^
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -892,7 +892,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator<<
|
||||
inline tvec4<T, P> operator<<
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -906,7 +906,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator<<
|
||||
inline tvec4<T, P> operator<<
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -920,7 +920,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator<<
|
||||
inline tvec4<T, P> operator<<
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -934,7 +934,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator>>
|
||||
inline tvec4<T, P> operator>>
|
||||
(
|
||||
tvec4<T, P> const & v,
|
||||
T const & s
|
||||
@ -948,7 +948,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator>>
|
||||
inline tvec4<T, P> operator>>
|
||||
(
|
||||
T const & s,
|
||||
tvec4<T, P> const & v
|
||||
@ -962,7 +962,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator>>
|
||||
inline tvec4<T, P> operator>>
|
||||
(
|
||||
tvec4<T, P> const & v1,
|
||||
tvec4<T, P> const & v2
|
||||
@ -976,7 +976,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tvec4<T, P> operator~
|
||||
inline tvec4<T, P> operator~
|
||||
(
|
||||
tvec4<T, P> const & v
|
||||
)
|
||||
|
1
deps/glm/ext.hpp
vendored
1
deps/glm/ext.hpp
vendored
@ -94,7 +94,6 @@
|
||||
#include "./gtx/fast_trigonometry.hpp"
|
||||
#include "./gtx/gradient_paint.hpp"
|
||||
#include "./gtx/handed_coordinate_space.hpp"
|
||||
#include "./gtx/inertia.hpp"
|
||||
#include "./gtx/int_10_10_10_2.hpp"
|
||||
#include "./gtx/integer.hpp"
|
||||
#include "./gtx/intersect.hpp"
|
||||
|
50
deps/glm/gtc/constants.inl
vendored
50
deps/glm/gtc/constants.inl
vendored
@ -31,151 +31,151 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType epsilon()
|
||||
inline genType epsilon()
|
||||
{
|
||||
return std::numeric_limits<genType>::epsilon();
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType zero()
|
||||
inline genType zero()
|
||||
{
|
||||
return genType(0);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType one()
|
||||
inline genType one()
|
||||
{
|
||||
return genType(1);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType pi()
|
||||
inline genType pi()
|
||||
{
|
||||
return genType(3.14159265358979323846264338327950288);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType root_pi()
|
||||
inline genType root_pi()
|
||||
{
|
||||
return genType(1.772453850905516027);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType half_pi()
|
||||
inline genType half_pi()
|
||||
{
|
||||
return genType(1.57079632679489661923132169163975144);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType quarter_pi()
|
||||
inline genType quarter_pi()
|
||||
{
|
||||
return genType(0.785398163397448309615660845819875721);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType one_over_pi()
|
||||
inline genType one_over_pi()
|
||||
{
|
||||
return genType(0.318309886183790671537767526745028724);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType two_over_pi()
|
||||
inline genType two_over_pi()
|
||||
{
|
||||
return genType(0.636619772367581343075535053490057448);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType two_over_root_pi()
|
||||
inline genType two_over_root_pi()
|
||||
{
|
||||
return genType(1.12837916709551257389615890312154517);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType one_over_root_two()
|
||||
inline genType one_over_root_two()
|
||||
{
|
||||
return genType(0.707106781186547524400844362104849039);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType root_half_pi()
|
||||
inline genType root_half_pi()
|
||||
{
|
||||
return genType(1.253314137315500251);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType root_two_pi()
|
||||
inline genType root_two_pi()
|
||||
{
|
||||
return genType(2.506628274631000502);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType root_ln_four()
|
||||
inline genType root_ln_four()
|
||||
{
|
||||
return genType(1.17741002251547469);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType e()
|
||||
inline genType e()
|
||||
{
|
||||
return genType(2.71828182845904523536);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType euler()
|
||||
inline genType euler()
|
||||
{
|
||||
return genType(0.577215664901532860606);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType root_two()
|
||||
inline genType root_two()
|
||||
{
|
||||
return genType(1.41421356237309504880168872420969808);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType root_three()
|
||||
inline genType root_three()
|
||||
{
|
||||
return genType(1.73205080756887729352744634150587236);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType root_five()
|
||||
inline genType root_five()
|
||||
{
|
||||
return genType(2.23606797749978969640917366873127623);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType ln_two()
|
||||
inline genType ln_two()
|
||||
{
|
||||
return genType(0.693147180559945309417232121458176568);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType ln_ten()
|
||||
inline genType ln_ten()
|
||||
{
|
||||
return genType(2.30258509299404568401799145468436421);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType ln_ln_two()
|
||||
inline genType ln_ln_two()
|
||||
{
|
||||
return genType(-0.3665129205816643);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType third()
|
||||
inline genType third()
|
||||
{
|
||||
return genType(0.3333333333333333333333333333333333333333);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType two_thirds()
|
||||
inline genType two_thirds()
|
||||
{
|
||||
return genType(0.666666666666666666666666666666666666667);
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType golden_ratio()
|
||||
inline genType golden_ratio()
|
||||
{
|
||||
return genType(1.61803398874989484820458683436563811);
|
||||
}
|
||||
|
20
deps/glm/gtc/epsilon.inl
vendored
20
deps/glm/gtc/epsilon.inl
vendored
@ -37,7 +37,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER bool epsilonEqual
|
||||
inline bool epsilonEqual
|
||||
(
|
||||
float const & x,
|
||||
float const & y,
|
||||
@ -48,7 +48,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER bool epsilonEqual
|
||||
inline bool epsilonEqual
|
||||
(
|
||||
double const & x,
|
||||
double const & y,
|
||||
@ -59,7 +59,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER bool epsilonNotEqual
|
||||
inline bool epsilonNotEqual
|
||||
(
|
||||
float const & x,
|
||||
float const & y,
|
||||
@ -70,7 +70,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER bool epsilonNotEqual
|
||||
inline bool epsilonNotEqual
|
||||
(
|
||||
double const & x,
|
||||
double const & y,
|
||||
@ -81,7 +81,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<bool, P> epsilonEqual
|
||||
inline vecType<bool, P> epsilonEqual
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y,
|
||||
@ -92,7 +92,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<bool, P> epsilonEqual
|
||||
inline vecType<bool, P> epsilonEqual
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y,
|
||||
@ -103,7 +103,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<bool, P> epsilonNotEqual
|
||||
inline vecType<bool, P> epsilonNotEqual
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y,
|
||||
@ -114,7 +114,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<bool, P> epsilonNotEqual
|
||||
inline vecType<bool, P> epsilonNotEqual
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y,
|
||||
@ -125,7 +125,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> epsilonEqual
|
||||
inline detail::tvec4<bool, P> epsilonEqual
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
@ -137,7 +137,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> epsilonNotEqual
|
||||
inline detail::tvec4<bool, P> epsilonNotEqual
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
|
8
deps/glm/gtc/matrix_access.inl
vendored
8
deps/glm/gtc/matrix_access.inl
vendored
@ -29,7 +29,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType row
|
||||
inline genType row
|
||||
(
|
||||
genType const & m,
|
||||
length_t const & index,
|
||||
@ -45,7 +45,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER typename genType::row_type row
|
||||
inline typename genType::row_type row
|
||||
(
|
||||
genType const & m,
|
||||
length_t const & index
|
||||
@ -60,7 +60,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType column
|
||||
inline genType column
|
||||
(
|
||||
genType const & m,
|
||||
length_t const & index,
|
||||
@ -75,7 +75,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER typename genType::col_type column
|
||||
inline typename genType::col_type column
|
||||
(
|
||||
genType const & m,
|
||||
length_t const & index
|
||||
|
10
deps/glm/gtc/matrix_inverse.inl
vendored
10
deps/glm/gtc/matrix_inverse.inl
vendored
@ -33,7 +33,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> affineInverse
|
||||
inline detail::tmat3x3<T, P> affineInverse
|
||||
(
|
||||
detail::tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -47,7 +47,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> affineInverse
|
||||
inline detail::tmat4x4<T, P> affineInverse
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -61,7 +61,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, P> inverseTranspose
|
||||
inline detail::tmat2x2<T, P> inverseTranspose
|
||||
(
|
||||
detail::tmat2x2<T, P> const & m
|
||||
)
|
||||
@ -78,7 +78,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> inverseTranspose
|
||||
inline detail::tmat3x3<T, P> inverseTranspose
|
||||
(
|
||||
detail::tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -104,7 +104,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> inverseTranspose
|
||||
inline detail::tmat4x4<T, P> inverseTranspose
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m
|
||||
)
|
||||
|
32
deps/glm/gtc/matrix_transform.inl
vendored
32
deps/glm/gtc/matrix_transform.inl
vendored
@ -33,7 +33,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> translate
|
||||
inline detail::tmat4x4<T, P> translate
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -45,7 +45,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> rotate
|
||||
inline detail::tmat4x4<T, P> rotate
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m,
|
||||
T const & angle,
|
||||
@ -86,7 +86,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> rotate_slow
|
||||
inline detail::tmat4x4<T, P> rotate_slow
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m,
|
||||
T const & angle,
|
||||
@ -125,7 +125,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> scale
|
||||
inline detail::tmat4x4<T, P> scale
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -140,7 +140,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> scale_slow
|
||||
inline detail::tmat4x4<T, P> scale_slow
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -154,7 +154,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> ortho
|
||||
inline detail::tmat4x4<T, defaultp> ortho
|
||||
(
|
||||
T const & left,
|
||||
T const & right,
|
||||
@ -175,7 +175,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> ortho
|
||||
inline detail::tmat4x4<T, defaultp> ortho
|
||||
(
|
||||
T const & left,
|
||||
T const & right,
|
||||
@ -193,7 +193,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<valType, defaultp> frustum
|
||||
inline detail::tmat4x4<valType, defaultp> frustum
|
||||
(
|
||||
valType const & left,
|
||||
valType const & right,
|
||||
@ -215,7 +215,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<valType, defaultp> perspective
|
||||
inline detail::tmat4x4<valType, defaultp> perspective
|
||||
(
|
||||
valType const & fovy,
|
||||
valType const & aspect,
|
||||
@ -245,7 +245,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<valType, defaultp> perspectiveFov
|
||||
inline detail::tmat4x4<valType, defaultp> perspectiveFov
|
||||
(
|
||||
valType const & fov,
|
||||
valType const & width,
|
||||
@ -277,7 +277,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> infinitePerspective
|
||||
inline detail::tmat4x4<T, defaultp> infinitePerspective
|
||||
(
|
||||
T fovy,
|
||||
T aspect,
|
||||
@ -305,7 +305,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> tweakedInfinitePerspective
|
||||
inline detail::tmat4x4<T, defaultp> tweakedInfinitePerspective
|
||||
(
|
||||
T fovy,
|
||||
T aspect,
|
||||
@ -333,7 +333,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> project
|
||||
inline detail::tvec3<T, P> project
|
||||
(
|
||||
detail::tvec3<T, P> const & obj,
|
||||
detail::tmat4x4<T, P> const & model,
|
||||
@ -354,7 +354,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> unProject
|
||||
inline detail::tvec3<T, P> unProject
|
||||
(
|
||||
detail::tvec3<T, P> const & win,
|
||||
detail::tmat4x4<T, P> const & model,
|
||||
@ -376,7 +376,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, typename U>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> pickMatrix
|
||||
inline detail::tmat4x4<T, P> pickMatrix
|
||||
(
|
||||
detail::tvec2<T, P> const & center,
|
||||
detail::tvec2<T, P> const & delta,
|
||||
@ -400,7 +400,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> lookAt
|
||||
inline detail::tmat4x4<T, P> lookAt
|
||||
(
|
||||
detail::tvec3<T, P> const & eye,
|
||||
detail::tvec3<T, P> const & center,
|
||||
|
22
deps/glm/gtc/noise.inl
vendored
22
deps/glm/gtc/noise.inl
vendored
@ -40,7 +40,7 @@ namespace glm{
|
||||
namespace gtc
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> grad4(T const & j, detail::tvec4<T, P> const & ip)
|
||||
inline detail::tvec4<T, P> grad4(T const & j, detail::tvec4<T, P> const & ip)
|
||||
{
|
||||
detail::tvec3<T, P> pXYZ = floor(fract(detail::tvec3<T, P>(j) * detail::tvec3<T, P>(ip)) * T(7)) * ip[2] - T(1);
|
||||
T pW = static_cast<T>(1.5) - dot(abs(pXYZ), detail::tvec3<T, P>(1));
|
||||
@ -52,7 +52,7 @@ namespace gtc
|
||||
|
||||
// Classic Perlin noise
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T perlin(detail::tvec2<T, P> const & Position)
|
||||
inline T perlin(detail::tvec2<T, P> const & Position)
|
||||
{
|
||||
detail::tvec4<T, P> Pi = glm::floor(detail::tvec4<T, P>(Position.x, Position.y, Position.x, Position.y)) + detail::tvec4<T, P>(0.0, 0.0, 1.0, 1.0);
|
||||
detail::tvec4<T, P> Pf = glm::fract(detail::tvec4<T, P>(Position.x, Position.y, Position.x, Position.y)) - detail::tvec4<T, P>(0.0, 0.0, 1.0, 1.0);
|
||||
@ -93,7 +93,7 @@ namespace gtc
|
||||
|
||||
// Classic Perlin noise
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T perlin(detail::tvec3<T, P> const & Position)
|
||||
inline T perlin(detail::tvec3<T, P> const & Position)
|
||||
{
|
||||
detail::tvec3<T, P> Pi0 = floor(Position); // Integer part for indexing
|
||||
detail::tvec3<T, P> Pi1 = Pi0 + T(1); // Integer part + 1
|
||||
@ -164,7 +164,7 @@ namespace gtc
|
||||
/*
|
||||
// Classic Perlin noise
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T perlin(detail::tvec3<T, P> const & P)
|
||||
inline T perlin(detail::tvec3<T, P> const & P)
|
||||
{
|
||||
detail::tvec3<T, P> Pi0 = floor(P); // Integer part for indexing
|
||||
detail::tvec3<T, P> Pi1 = Pi0 + T(1); // Integer part + 1
|
||||
@ -237,7 +237,7 @@ namespace gtc
|
||||
*/
|
||||
// Classic Perlin noise
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T perlin(detail::tvec4<T, P> const & Position)
|
||||
inline T perlin(detail::tvec4<T, P> const & Position)
|
||||
{
|
||||
detail::tvec4<T, P> Pi0 = floor(Position); // Integer part for indexing
|
||||
detail::tvec4<T, P> Pi1 = Pi0 + T(1); // Integer part + 1
|
||||
@ -373,7 +373,7 @@ namespace gtc
|
||||
|
||||
// Classic Perlin noise, periodic variant
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T perlin(detail::tvec2<T, P> const & Position, detail::tvec2<T, P> const & rep)
|
||||
inline T perlin(detail::tvec2<T, P> const & Position, detail::tvec2<T, P> const & rep)
|
||||
{
|
||||
detail::tvec4<T, P> Pi = floor(detail::tvec4<T, P>(Position.x, Position.y, Position.x, Position.y)) + detail::tvec4<T, P>(0.0, 0.0, 1.0, 1.0);
|
||||
detail::tvec4<T, P> Pf = fract(detail::tvec4<T, P>(Position.x, Position.y, Position.x, Position.y)) - detail::tvec4<T, P>(0.0, 0.0, 1.0, 1.0);
|
||||
@ -415,7 +415,7 @@ namespace gtc
|
||||
|
||||
// Classic Perlin noise, periodic variant
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T perlin(detail::tvec3<T, P> const & Position, detail::tvec3<T, P> const & rep)
|
||||
inline T perlin(detail::tvec3<T, P> const & Position, detail::tvec3<T, P> const & rep)
|
||||
{
|
||||
detail::tvec3<T, P> Pi0 = mod(floor(Position), rep); // Integer part, modulo period
|
||||
detail::tvec3<T, P> Pi1 = mod(Pi0 + detail::tvec3<T, P>(T(1)), rep); // Integer part + 1, mod period
|
||||
@ -486,7 +486,7 @@ namespace gtc
|
||||
|
||||
// Classic Perlin noise, periodic version
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T perlin(detail::tvec4<T, P> const & Position, detail::tvec4<T, P> const & rep)
|
||||
inline T perlin(detail::tvec4<T, P> const & Position, detail::tvec4<T, P> const & rep)
|
||||
{
|
||||
detail::tvec4<T, P> Pi0 = mod(floor(Position), rep); // Integer part modulo rep
|
||||
detail::tvec4<T, P> Pi1 = mod(Pi0 + T(1), rep); // Integer part + 1 mod rep
|
||||
@ -619,7 +619,7 @@ namespace gtc
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T simplex(glm::detail::tvec2<T, P> const & v)
|
||||
inline T simplex(glm::detail::tvec2<T, P> const & v)
|
||||
{
|
||||
detail::tvec4<T, P> const C = detail::tvec4<T, P>(
|
||||
T( 0.211324865405187), // (3.0 - sqrt(3.0)) / 6.0
|
||||
@ -676,7 +676,7 @@ namespace gtc
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T simplex(detail::tvec3<T, P> const & v)
|
||||
inline T simplex(detail::tvec3<T, P> const & v)
|
||||
{
|
||||
detail::tvec2<T, P> const C(1.0 / 6.0, 1.0 / 3.0);
|
||||
detail::tvec4<T, P> const D(0.0, 0.5, 1.0, 2.0);
|
||||
@ -751,7 +751,7 @@ namespace gtc
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T simplex(detail::tvec4<T, P> const & v)
|
||||
inline T simplex(detail::tvec4<T, P> const & v)
|
||||
{
|
||||
detail::tvec4<T, P> const C(
|
||||
0.138196601125011, // (5 - sqrt(5))/20 G4
|
||||
|
82
deps/glm/gtc/packing.inl
vendored
82
deps/glm/gtc/packing.inl
vendored
@ -35,7 +35,7 @@
|
||||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
GLM_FUNC_QUALIFIER glm::uint16 float2half(glm::uint32 const & f)
|
||||
inline glm::uint16 float2half(glm::uint32 const & f)
|
||||
{
|
||||
// 10 bits => EE EEEFFFFF
|
||||
// 11 bits => EEE EEFFFFFF
|
||||
@ -53,7 +53,7 @@ namespace detail
|
||||
((f >> 13) & 0x03ff); // Mantissa
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::uint32 float2packed11(glm::uint32 const & f)
|
||||
inline glm::uint32 float2packed11(glm::uint32 const & f)
|
||||
{
|
||||
// 10 bits => EE EEEFFFFF
|
||||
// 11 bits => EEE EEFFFFFF
|
||||
@ -71,7 +71,7 @@ namespace detail
|
||||
((f >> 17) & 0x003f); // Mantissa
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::uint32 packed11ToFloat(glm::uint32 const & p)
|
||||
inline glm::uint32 packed11ToFloat(glm::uint32 const & p)
|
||||
{
|
||||
// 10 bits => EE EEEFFFFF
|
||||
// 11 bits => EEE EEFFFFFF
|
||||
@ -89,7 +89,7 @@ namespace detail
|
||||
((p & 0x003f) << 17); // Mantissa
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::uint32 float2packed10(glm::uint32 const & f)
|
||||
inline glm::uint32 float2packed10(glm::uint32 const & f)
|
||||
{
|
||||
// 10 bits => EE EEEFFFFF
|
||||
// 11 bits => EEE EEFFFFFF
|
||||
@ -110,7 +110,7 @@ namespace detail
|
||||
((f >> 18) & 0x001f); // Mantissa
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::uint32 packed10ToFloat(glm::uint32 const & p)
|
||||
inline glm::uint32 packed10ToFloat(glm::uint32 const & p)
|
||||
{
|
||||
// 10 bits => EE EEEFFFFF
|
||||
// 11 bits => EEE EEFFFFFF
|
||||
@ -131,12 +131,12 @@ namespace detail
|
||||
((p & 0x001f) << 18); // Mantissa
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::uint half2float(glm::uint const & h)
|
||||
inline glm::uint half2float(glm::uint const & h)
|
||||
{
|
||||
return ((h & 0x8000) << 16) | ((( h & 0x7c00) + 0x1C000) << 13) | ((h & 0x03FF) << 13);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::uint floatTo11bit(float x)
|
||||
inline glm::uint floatTo11bit(float x)
|
||||
{
|
||||
if(x == 0.0f)
|
||||
return 0;
|
||||
@ -150,7 +150,7 @@ namespace detail
|
||||
return float2packed11(Topack);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float packed11bitToFloat(glm::uint x)
|
||||
inline float packed11bitToFloat(glm::uint x)
|
||||
{
|
||||
if(x == 0)
|
||||
return 0.0f;
|
||||
@ -165,7 +165,7 @@ namespace detail
|
||||
return float2packed11(Topack);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::uint floatTo10bit(float x)
|
||||
inline glm::uint floatTo10bit(float x)
|
||||
{
|
||||
if(x == 0.0f)
|
||||
return 0;
|
||||
@ -179,7 +179,7 @@ namespace detail
|
||||
return float2packed10(Topack);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float packed10bitToFloat(glm::uint x)
|
||||
inline float packed10bitToFloat(glm::uint x)
|
||||
{
|
||||
if(x == 0)
|
||||
return 0.0f;
|
||||
@ -194,7 +194,7 @@ namespace detail
|
||||
return Unpack;
|
||||
}
|
||||
|
||||
// GLM_FUNC_QUALIFIER glm::uint f11_f11_f10(float x, float y, float z)
|
||||
// inline glm::uint f11_f11_f10(float x, float y, float z)
|
||||
// {
|
||||
// return ((floatTo11bit(x) & ((1 << 11) - 1)) << 0) | ((floatTo11bit(y) & ((1 << 11) - 1)) << 11) | ((floatTo10bit(z) & ((1 << 10) - 1)) << 22);
|
||||
// }
|
||||
@ -225,18 +225,18 @@ namespace detail
|
||||
|
||||
}//namespace detail
|
||||
|
||||
GLM_FUNC_QUALIFIER uint8 packUnorm1x8(float const & v)
|
||||
inline uint8 packUnorm1x8(float const & v)
|
||||
{
|
||||
return static_cast<uint8>(round(clamp(v, 0.0f, 1.0f) * 255.0f));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float unpackUnorm1x8(uint8 const & p)
|
||||
inline float unpackUnorm1x8(uint8 const & p)
|
||||
{
|
||||
float Unpack(static_cast<float>(p));
|
||||
return Unpack * static_cast<float>(0.0039215686274509803921568627451); // 1 / 255
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint16 packUnorm2x8(vec2 const & v)
|
||||
inline uint16 packUnorm2x8(vec2 const & v)
|
||||
{
|
||||
u8vec2 Topack(round(clamp(v, 0.0f, 1.0f) * 255.0f));
|
||||
uint16 Packed;
|
||||
@ -244,14 +244,14 @@ namespace detail
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec2 unpackUnorm2x8(uint16 const & p)
|
||||
inline vec2 unpackUnorm2x8(uint16 const & p)
|
||||
{
|
||||
uint16 Packed;
|
||||
std::memcpy(&Packed, &Topack, sizeof(Packed));
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint8 packSnorm1x8(float const & v)
|
||||
inline uint8 packSnorm1x8(float const & v)
|
||||
{
|
||||
int8 Topack(static_cast<int8>(round(clamp(v ,-1.0f, 1.0f) * 127.0f)));
|
||||
uint8 Packed;
|
||||
@ -259,7 +259,7 @@ namespace detail
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float unpackSnorm1x8(uint8 const & p)
|
||||
inline float unpackSnorm1x8(uint8 const & p)
|
||||
{
|
||||
float Unpack(static_cast<float>(*const_cast<uint8*>(&p)));
|
||||
return clamp(
|
||||
@ -267,7 +267,7 @@ namespace detail
|
||||
-1.0f, 1.0f);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint16 packSnorm2x8(vec2 const & v)
|
||||
inline uint16 packSnorm2x8(vec2 const & v)
|
||||
{
|
||||
i8vec2 Topack(round(clamp(v ,-1.0f, 1.0f) * 127.0f));
|
||||
uint16 Packed;
|
||||
@ -275,7 +275,7 @@ namespace detail
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec2 unpackSnorm2x8(uint16 const & p)
|
||||
inline vec2 unpackSnorm2x8(uint16 const & p)
|
||||
{
|
||||
i8vec2 Unpack;
|
||||
std::memcpy(&Unpack, &p, sizeof(Unpack));
|
||||
@ -284,18 +284,18 @@ namespace detail
|
||||
-1.0f, 1.0f);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint16 packUnorm1x16(float const & s)
|
||||
inline uint16 packUnorm1x16(float const & s)
|
||||
{
|
||||
return static_cast<uint16>(round(clamp(s, 0.0f, 1.0f) * 65535.0f));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float unpackUnorm1x16(uint16 const & p)
|
||||
inline float unpackUnorm1x16(uint16 const & p)
|
||||
{
|
||||
float Unpack = static_cast<float>(*const_cast<uint16*>(&p));
|
||||
return Unpack * 1.5259021896696421759365224689097e-5f; // 1.0 / 65535.0
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint64 packUnorm4x16(vec4 const & v)
|
||||
inline uint64 packUnorm4x16(vec4 const & v)
|
||||
{
|
||||
u16vec4 Topack(round(clamp(v , 0.0f, 1.0f) * 65535.0f));
|
||||
uint64 Packed;
|
||||
@ -303,13 +303,13 @@ namespace detail
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec4 unpackUnorm4x16(uint64 const & p)
|
||||
inline vec4 unpackUnorm4x16(uint64 const & p)
|
||||
{
|
||||
u16vec4* Unpack = reinterpret_cast<u16vec4*>(const_cast<uint64*>(&p));
|
||||
return vec4(*Unpack) * 1.5259021896696421759365224689097e-5f; // 1.0 / 65535.0
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint16 packSnorm1x16(float const & v)
|
||||
inline uint16 packSnorm1x16(float const & v)
|
||||
{
|
||||
int16 Topack = static_cast<int16>(round(clamp(v ,-1.0f, 1.0f) * 32767.0f));
|
||||
uint16 Packed;
|
||||
@ -317,7 +317,7 @@ namespace detail
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float unpackSnorm1x16(uint16 const & p)
|
||||
inline float unpackSnorm1x16(uint16 const & p)
|
||||
{
|
||||
float Unpack = static_cast<float>(*const_cast<uint16*>(&p));
|
||||
return clamp(
|
||||
@ -325,7 +325,7 @@ namespace detail
|
||||
-1.0f, 1.0f);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint64 packSnorm4x16(vec4 const & v)
|
||||
inline uint64 packSnorm4x16(vec4 const & v)
|
||||
{
|
||||
i16vec4 Topack = static_cast<i16vec4>(round(clamp(v ,-1.0f, 1.0f) * 32767.0f));
|
||||
uint64 Packed;
|
||||
@ -333,7 +333,7 @@ namespace detail
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec4 unpackSnorm4x16(uint64 const & p)
|
||||
inline vec4 unpackSnorm4x16(uint64 const & p)
|
||||
{
|
||||
i16vec4 Unpack;
|
||||
std::memcpy(&Unpack, &p, sizeof(Unpack));
|
||||
@ -342,7 +342,7 @@ namespace detail
|
||||
-1.0f, 1.0f);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint16 packHalf1x16(float const & v)
|
||||
inline uint16 packHalf1x16(float const & v)
|
||||
{
|
||||
int16 Topack = detail::toFloat16(v);
|
||||
uint16 Packed;
|
||||
@ -350,14 +350,14 @@ namespace detail
|
||||
return Packed;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float unpackHalf1x16(uint16 const & v)
|
||||
inline float unpackHalf1x16(uint16 const & v)
|
||||
{
|
||||
int16 Unpack;
|
||||
std::memcpy(&Unpack, &v, sizeof(Unpack));
|
||||
return detail::toFloat32(Unpack);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint64 packHalf4x16(glm::vec4 const & v)
|
||||
inline uint64 packHalf4x16(glm::vec4 const & v)
|
||||
{
|
||||
i16vec4 Unpack(
|
||||
detail::toFloat16(v.x),
|
||||
@ -370,7 +370,7 @@ namespace detail
|
||||
return detail::toFloat32(Unpack);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER glm::vec4 unpackHalf4x16(uint64 const & v)
|
||||
inline glm::vec4 unpackHalf4x16(uint64 const & v)
|
||||
{
|
||||
i16vec4 Unpack;
|
||||
std::memcpy(&Unpack, &v, sizeof(Unpack));
|
||||
@ -382,7 +382,7 @@ namespace detail
|
||||
detail::toFloat32(Unpack.w));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint32 packI3x10_1x2(ivec4 const & v)
|
||||
inline uint32 packI3x10_1x2(ivec4 const & v)
|
||||
{
|
||||
detail::i10i10i10i2 Result;
|
||||
Result.data.x = v.x;
|
||||
@ -392,7 +392,7 @@ namespace detail
|
||||
return Result.pack;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER ivec4 unpackI3x10_1x2(uint32 const & v)
|
||||
inline ivec4 unpackI3x10_1x2(uint32 const & v)
|
||||
{
|
||||
detail::i10i10i10i2 Unpack;
|
||||
Unpack.pack = v;
|
||||
@ -403,7 +403,7 @@ namespace detail
|
||||
Unpack.data.w);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint32 packU3x10_1x2(uvec4 const & v)
|
||||
inline uint32 packU3x10_1x2(uvec4 const & v)
|
||||
{
|
||||
detail::u10u10u10u2 Result;
|
||||
Result.data.x = v.x;
|
||||
@ -413,7 +413,7 @@ namespace detail
|
||||
return Result.pack;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uvec4 unpackU3x10_1x2(uint32 const & v)
|
||||
inline uvec4 unpackU3x10_1x2(uint32 const & v)
|
||||
{
|
||||
detail::u10u10u10u2 Unpack;
|
||||
Unpack.pack = v;
|
||||
@ -424,7 +424,7 @@ namespace detail
|
||||
Unpack.data.w);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint32 packSnorm3x10_1x2(vec4 const & v)
|
||||
inline uint32 packSnorm3x10_1x2(vec4 const & v)
|
||||
{
|
||||
detail::i10i10i10i2 Result;
|
||||
Result.data.x = int(round(clamp(v.x,-1.0f, 1.0f) * 511.f));
|
||||
@ -434,7 +434,7 @@ namespace detail
|
||||
return Result.pack;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec4 unpackSnorm3x10_1x2(uint32 const & v)
|
||||
inline vec4 unpackSnorm3x10_1x2(uint32 const & v)
|
||||
{
|
||||
detail::i10i10i10i2 Unpack;
|
||||
Unpack.pack = v;
|
||||
@ -446,7 +446,7 @@ namespace detail
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint32 packUnorm3x10_1x2(vec4 const & v)
|
||||
inline uint32 packUnorm3x10_1x2(vec4 const & v)
|
||||
{
|
||||
detail::i10i10i10i2 Result;
|
||||
Result.data.x = int(round(clamp(v.x, 0.0f, 1.0f) * 1023.f));
|
||||
@ -456,7 +456,7 @@ namespace detail
|
||||
return Result.pack;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec4 unpackUnorm3x10_1x2(uint32 const & v)
|
||||
inline vec4 unpackUnorm3x10_1x2(uint32 const & v)
|
||||
{
|
||||
detail::i10i10i10i2 Unpack;
|
||||
Unpack.pack = v;
|
||||
@ -468,7 +468,7 @@ namespace detail
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint32 packF2x11_1x10(vec3 const & v)
|
||||
inline uint32 packF2x11_1x10(vec3 const & v)
|
||||
{
|
||||
return
|
||||
((detail::floatTo11bit(v.x) & ((1 << 11) - 1)) << 0) |
|
||||
@ -476,7 +476,7 @@ namespace detail
|
||||
((detail::floatTo10bit(v.z) & ((1 << 10) - 1)) << 22);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER vec3 unpackF2x11_1x10(uint32 const & v)
|
||||
inline vec3 unpackF2x11_1x10(uint32 const & v)
|
||||
{
|
||||
return vec3(
|
||||
detail::packed11bitToFloat(v >> 0),
|
||||
|
112
deps/glm/gtc/quaternion.inl
vendored
112
deps/glm/gtc/quaternion.inl
vendored
@ -35,13 +35,13 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER length_t tquat<T, P>::length() const
|
||||
inline length_t tquat<T, P>::length() const
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P>::tquat() :
|
||||
inline tquat<T, P>::tquat() :
|
||||
x(0),
|
||||
y(0),
|
||||
z(0),
|
||||
@ -50,7 +50,7 @@ namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
template <typename U, precision Q>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P>::tquat
|
||||
inline tquat<T, P>::tquat
|
||||
(
|
||||
tquat<U, Q> const & q
|
||||
) :
|
||||
@ -61,7 +61,7 @@ namespace detail
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P>::tquat
|
||||
inline tquat<T, P>::tquat
|
||||
(
|
||||
T const & s,
|
||||
tvec3<T, P> const & v
|
||||
@ -73,7 +73,7 @@ namespace detail
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P>::tquat
|
||||
inline tquat<T, P>::tquat
|
||||
(
|
||||
T const & w,
|
||||
T const & x,
|
||||
@ -90,7 +90,7 @@ namespace detail
|
||||
// tquat conversions
|
||||
|
||||
//template <typename valType>
|
||||
//GLM_FUNC_QUALIFIER tquat<valType>::tquat
|
||||
//inline tquat<valType>::tquat
|
||||
//(
|
||||
// valType const & pitch,
|
||||
// valType const & yaw,
|
||||
@ -108,7 +108,7 @@ namespace detail
|
||||
//}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P>::tquat
|
||||
inline tquat<T, P>::tquat
|
||||
(
|
||||
detail::tvec3<T, P> const & u,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -122,7 +122,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P>::tquat
|
||||
inline tquat<T, P>::tquat
|
||||
(
|
||||
tvec3<T, P> const & eulerAngle
|
||||
)
|
||||
@ -137,7 +137,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P>::tquat
|
||||
inline tquat<T, P>::tquat
|
||||
(
|
||||
tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -146,7 +146,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P>::tquat
|
||||
inline tquat<T, P>::tquat
|
||||
(
|
||||
tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -158,14 +158,14 @@ namespace detail
|
||||
// tquat<T, P> accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T & tquat<T, P>::operator[] (length_t i)
|
||||
inline T & tquat<T, P>::operator[] (length_t i)
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const & tquat<T, P>::operator[] (length_t i) const
|
||||
inline T const & tquat<T, P>::operator[] (length_t i) const
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&x)[i];
|
||||
@ -173,7 +173,7 @@ namespace detail
|
||||
}//namespace detail
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> conjugate
|
||||
inline detail::tquat<T, P> conjugate
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -182,7 +182,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> inverse
|
||||
inline detail::tquat<T, P> inverse
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -196,7 +196,7 @@ namespace detail
|
||||
// tquat<valType> operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P> & tquat<T, P>::operator +=
|
||||
inline tquat<T, P> & tquat<T, P>::operator +=
|
||||
(
|
||||
tquat<T, P> const & q
|
||||
)
|
||||
@ -209,7 +209,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P> & tquat<T, P>::operator *=
|
||||
inline tquat<T, P> & tquat<T, P>::operator *=
|
||||
(
|
||||
tquat<T, P> const & q
|
||||
)
|
||||
@ -224,7 +224,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P> & tquat<T, P>::operator *=
|
||||
inline tquat<T, P> & tquat<T, P>::operator *=
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -237,7 +237,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tquat<T, P> & tquat<T, P>::operator /=
|
||||
inline tquat<T, P> & tquat<T, P>::operator /=
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -266,7 +266,7 @@ namespace detail
|
||||
// tquat<T, P> external operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> operator-
|
||||
inline detail::tquat<T, P> operator-
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -275,7 +275,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> operator+
|
||||
inline detail::tquat<T, P> operator+
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
detail::tquat<T, P> const & p
|
||||
@ -285,7 +285,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> operator*
|
||||
inline detail::tquat<T, P> operator*
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
detail::tquat<T, P> const & p
|
||||
@ -296,7 +296,7 @@ namespace detail
|
||||
|
||||
// Transformation
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> operator*
|
||||
inline detail::tvec3<T, P> operator*
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -315,7 +315,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> operator*
|
||||
inline detail::tvec3<T, P> operator*
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
detail::tquat<T, P> const & q
|
||||
@ -325,7 +325,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> operator*
|
||||
inline detail::tvec4<T, P> operator*
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
detail::tvec4<T, P> const & v
|
||||
@ -335,7 +335,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> operator*
|
||||
inline detail::tvec4<T, P> operator*
|
||||
(
|
||||
detail::tvec4<T, P> const & v,
|
||||
detail::tquat<T, P> const & q
|
||||
@ -345,7 +345,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> operator*
|
||||
inline detail::tquat<T, P> operator*
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
T const & s
|
||||
@ -356,7 +356,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> operator*
|
||||
inline detail::tquat<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
detail::tquat<T, P> const & q
|
||||
@ -366,7 +366,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> operator/
|
||||
inline detail::tquat<T, P> operator/
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
T const & s
|
||||
@ -380,7 +380,7 @@ namespace detail
|
||||
// Boolean operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
detail::tquat<T, P> const & q1,
|
||||
detail::tquat<T, P> const & q2
|
||||
@ -390,7 +390,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
detail::tquat<T, P> const & q1,
|
||||
detail::tquat<T, P> const & q2
|
||||
@ -403,7 +403,7 @@ namespace detail
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T length
|
||||
inline T length
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -412,7 +412,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> normalize
|
||||
inline detail::tquat<T, P> normalize
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -425,7 +425,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> cross
|
||||
inline detail::tquat<T, P> cross
|
||||
(
|
||||
detail::tquat<T, P> const & q1,
|
||||
detail::tquat<T, P> const & q2
|
||||
@ -440,7 +440,7 @@ namespace detail
|
||||
/*
|
||||
// (x * sin(1 - a) * angle / sin(angle)) + (y * sin(a) * angle / sin(angle))
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> mix
|
||||
inline detail::tquat<T, P> mix
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
@ -482,7 +482,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> mix2
|
||||
inline detail::tquat<T, P> mix2
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
@ -520,7 +520,7 @@ namespace detail
|
||||
*/
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> mix
|
||||
inline detail::tquat<T, P> mix
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
@ -548,7 +548,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> lerp
|
||||
inline detail::tquat<T, P> lerp
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
@ -563,7 +563,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> slerp
|
||||
inline detail::tquat<T, P> slerp
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
@ -601,7 +601,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> rotate
|
||||
inline detail::tquat<T, P> rotate
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
T const & angle,
|
||||
@ -633,7 +633,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> eulerAngles
|
||||
inline detail::tvec3<T, P> eulerAngles
|
||||
(
|
||||
detail::tquat<T, P> const & x
|
||||
)
|
||||
@ -642,7 +642,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T roll
|
||||
inline T roll
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -656,7 +656,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T pitch
|
||||
inline T pitch
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -670,7 +670,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T yaw
|
||||
inline T yaw
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -684,7 +684,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> mat3_cast
|
||||
inline detail::tmat3x3<T, P> mat3_cast
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -715,7 +715,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> mat4_cast
|
||||
inline detail::tmat4x4<T, P> mat4_cast
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -724,7 +724,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> quat_cast
|
||||
inline detail::tquat<T, P> quat_cast
|
||||
(
|
||||
detail::tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -791,7 +791,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> quat_cast
|
||||
inline detail::tquat<T, P> quat_cast
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m4
|
||||
)
|
||||
@ -800,7 +800,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T angle
|
||||
inline T angle
|
||||
(
|
||||
detail::tquat<T, P> const & x
|
||||
)
|
||||
@ -814,7 +814,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> axis
|
||||
inline detail::tvec3<T, P> axis
|
||||
(
|
||||
detail::tquat<T, P> const & x
|
||||
)
|
||||
@ -827,7 +827,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> angleAxis
|
||||
inline detail::tquat<T, P> angleAxis
|
||||
(
|
||||
T const & angle,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -851,7 +851,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> lessThan
|
||||
inline detail::tvec4<bool, P> lessThan
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y
|
||||
@ -864,7 +864,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> lessThanEqual
|
||||
inline detail::tvec4<bool, P> lessThanEqual
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y
|
||||
@ -877,7 +877,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> greaterThan
|
||||
inline detail::tvec4<bool, P> greaterThan
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y
|
||||
@ -890,7 +890,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> greaterThanEqual
|
||||
inline detail::tvec4<bool, P> greaterThanEqual
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y
|
||||
@ -903,7 +903,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> equal
|
||||
inline detail::tvec4<bool, P> equal
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y
|
||||
@ -916,7 +916,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> notEqual
|
||||
inline detail::tvec4<bool, P> notEqual
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y
|
||||
|
20
deps/glm/gtc/random.inl
vendored
20
deps/glm/gtc/random.inl
vendored
@ -38,30 +38,30 @@ namespace detail
|
||||
struct compute_linearRand
|
||||
{
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T operator() (T const & Min, T const & Max) const;
|
||||
inline T operator() (T const & Min, T const & Max) const;
|
||||
};
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER float compute_linearRand::operator()<float> (float const & Min, float const & Max) const
|
||||
inline float compute_linearRand::operator()<float> (float const & Min, float const & Max) const
|
||||
{
|
||||
return float(std::rand()) / float(RAND_MAX) * (Max - Min) + Min;
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER double compute_linearRand::operator()<double> (double const & Min, double const & Max) const
|
||||
inline double compute_linearRand::operator()<double> (double const & Min, double const & Max) const
|
||||
{
|
||||
return double(std::rand()) / double(RAND_MAX) * (Max - Min) + Min;
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER long double compute_linearRand::operator()<long double> (long double const & Min, long double const & Max) const
|
||||
inline long double compute_linearRand::operator()<long double> (long double const & Min, long double const & Max) const
|
||||
{
|
||||
return (long double)(std::rand()) / (long double)(RAND_MAX) * (Max - Min) + Min;
|
||||
}
|
||||
}//namespace detail
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType linearRand
|
||||
inline genType linearRand
|
||||
(
|
||||
genType const & Min,
|
||||
genType const & Max
|
||||
@ -73,7 +73,7 @@ namespace detail
|
||||
VECTORIZE_VEC_VEC(linearRand)
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType gaussRand
|
||||
inline genType gaussRand
|
||||
(
|
||||
genType const & Mean,
|
||||
genType const & Deviation
|
||||
@ -95,7 +95,7 @@ namespace detail
|
||||
VECTORIZE_VEC_VEC(gaussRand)
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, defaultp> diskRand
|
||||
inline detail::tvec2<T, defaultp> diskRand
|
||||
(
|
||||
T const & Radius
|
||||
)
|
||||
@ -116,7 +116,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, defaultp> ballRand
|
||||
inline detail::tvec3<T, defaultp> ballRand
|
||||
(
|
||||
T const & Radius
|
||||
)
|
||||
@ -137,7 +137,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, defaultp> circularRand
|
||||
inline detail::tvec2<T, defaultp> circularRand
|
||||
(
|
||||
T const & Radius
|
||||
)
|
||||
@ -147,7 +147,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, defaultp> sphericalRand
|
||||
inline detail::tvec3<T, defaultp> sphericalRand
|
||||
(
|
||||
T const & Radius
|
||||
)
|
||||
|
24
deps/glm/gtc/reciprocal.inl
vendored
24
deps/glm/gtc/reciprocal.inl
vendored
@ -33,7 +33,7 @@ namespace glm
|
||||
{
|
||||
// sec
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType sec
|
||||
inline genType sec
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -45,7 +45,7 @@ namespace glm
|
||||
|
||||
// csc
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType csc
|
||||
inline genType csc
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -57,7 +57,7 @@ namespace glm
|
||||
|
||||
// cot
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType cot
|
||||
inline genType cot
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -69,7 +69,7 @@ namespace glm
|
||||
|
||||
// asec
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType asec
|
||||
inline genType asec
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -81,7 +81,7 @@ namespace glm
|
||||
|
||||
// acsc
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType acsc
|
||||
inline genType acsc
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -93,7 +93,7 @@ namespace glm
|
||||
|
||||
// acot
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType acot
|
||||
inline genType acot
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -106,7 +106,7 @@ namespace glm
|
||||
|
||||
// sech
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType sech
|
||||
inline genType sech
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -118,7 +118,7 @@ namespace glm
|
||||
|
||||
// csch
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType csch
|
||||
inline genType csch
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -130,7 +130,7 @@ namespace glm
|
||||
|
||||
// coth
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType coth
|
||||
inline genType coth
|
||||
(
|
||||
genType const & angle
|
||||
)
|
||||
@ -142,7 +142,7 @@ namespace glm
|
||||
|
||||
// asech
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType asech
|
||||
inline genType asech
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -154,7 +154,7 @@ namespace glm
|
||||
|
||||
// acsch
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType acsch
|
||||
inline genType acsch
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -166,7 +166,7 @@ namespace glm
|
||||
|
||||
// acoth
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType acoth
|
||||
inline genType acoth
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
|
84
deps/glm/gtc/type_ptr.inl
vendored
84
deps/glm/gtc/type_ptr.inl
vendored
@ -36,7 +36,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the vector input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tvec2<T, P> const & vec
|
||||
)
|
||||
@ -47,7 +47,7 @@ namespace glm
|
||||
//! Return the address to the data of the vector input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tvec2<T, P> & vec
|
||||
)
|
||||
@ -58,7 +58,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the vector input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tvec3<T, P> const & vec
|
||||
)
|
||||
@ -69,7 +69,7 @@ namespace glm
|
||||
//! Return the address to the data of the vector input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tvec3<T, P> & vec
|
||||
)
|
||||
@ -80,7 +80,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the vector input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tvec4<T, P> const & vec
|
||||
)
|
||||
@ -91,7 +91,7 @@ namespace glm
|
||||
//! Return the address to the data of the vector input.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tvec4<T, P> & vec
|
||||
)
|
||||
@ -102,7 +102,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat2x2<T, P> const & mat
|
||||
)
|
||||
@ -113,7 +113,7 @@ namespace glm
|
||||
//! Return the address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tmat2x2<T, P> & mat
|
||||
)
|
||||
@ -124,7 +124,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat3x3<T, P> const & mat
|
||||
)
|
||||
@ -135,7 +135,7 @@ namespace glm
|
||||
//! Return the address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tmat3x3<T, P> & mat
|
||||
)
|
||||
@ -146,7 +146,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat4x4<T, P> const & mat
|
||||
)
|
||||
@ -157,7 +157,7 @@ namespace glm
|
||||
//! Return the address to the data of the matrix input.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tmat4x4<T, P> & mat
|
||||
)
|
||||
@ -168,7 +168,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat2x3<T, P> const & mat
|
||||
)
|
||||
@ -179,7 +179,7 @@ namespace glm
|
||||
//! Return the address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tmat2x3<T, P> & mat
|
||||
)
|
||||
@ -190,7 +190,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat3x2<T, P> const & mat
|
||||
)
|
||||
@ -201,7 +201,7 @@ namespace glm
|
||||
//! Return the address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tmat3x2<T, P> & mat
|
||||
)
|
||||
@ -212,7 +212,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat2x4<T, P> const & mat
|
||||
)
|
||||
@ -223,7 +223,7 @@ namespace glm
|
||||
//! Return the address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tmat2x4<T, P> & mat
|
||||
)
|
||||
@ -234,7 +234,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat4x2<T, P> const & mat
|
||||
)
|
||||
@ -245,7 +245,7 @@ namespace glm
|
||||
//! Return the address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tmat4x2<T, P> & mat
|
||||
)
|
||||
@ -256,7 +256,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat3x4<T, P> const & mat
|
||||
)
|
||||
@ -267,7 +267,7 @@ namespace glm
|
||||
//! Return the address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tmat3x4<T, P> & mat
|
||||
)
|
||||
@ -278,7 +278,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tmat4x3<T, P> const & mat
|
||||
)
|
||||
@ -289,7 +289,7 @@ namespace glm
|
||||
/// Return the address to the data of the matrix input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr(detail::tmat4x3<T, P> & mat)
|
||||
inline T * value_ptr(detail::tmat4x3<T, P> & mat)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
@ -297,7 +297,7 @@ namespace glm
|
||||
/// Return the constant address to the data of the input parameter.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
inline T const * value_ptr
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -308,7 +308,7 @@ namespace glm
|
||||
/// Return the address to the data of the quaternion input.
|
||||
/// @see gtc_type_ptr
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
inline T * value_ptr
|
||||
(
|
||||
detail::tquat<T, P> & q
|
||||
)
|
||||
@ -319,7 +319,7 @@ namespace glm
|
||||
/// Build a vector from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, defaultp> make_vec2(T const * const ptr)
|
||||
inline detail::tvec2<T, defaultp> make_vec2(T const * const ptr)
|
||||
{
|
||||
detail::tvec2<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec2<T, defaultp>));
|
||||
@ -329,7 +329,7 @@ namespace glm
|
||||
/// Build a vector from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, defaultp> make_vec3(T const * const ptr)
|
||||
inline detail::tvec3<T, defaultp> make_vec3(T const * const ptr)
|
||||
{
|
||||
detail::tvec3<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec3<T, defaultp>));
|
||||
@ -339,7 +339,7 @@ namespace glm
|
||||
/// Build a vector from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, defaultp> make_vec4(T const * const ptr)
|
||||
inline detail::tvec4<T, defaultp> make_vec4(T const * const ptr)
|
||||
{
|
||||
detail::tvec4<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec4<T, defaultp>));
|
||||
@ -349,7 +349,7 @@ namespace glm
|
||||
/// Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, defaultp> make_mat2x2(T const * const ptr)
|
||||
inline detail::tmat2x2<T, defaultp> make_mat2x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x2<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x2<T, defaultp>));
|
||||
@ -359,7 +359,7 @@ namespace glm
|
||||
/// Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x3<T, defaultp> make_mat2x3(T const * const ptr)
|
||||
inline detail::tmat2x3<T, defaultp> make_mat2x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x3<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x3<T, defaultp>));
|
||||
@ -369,7 +369,7 @@ namespace glm
|
||||
/// Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x4<T, defaultp> make_mat2x4(T const * const ptr)
|
||||
inline detail::tmat2x4<T, defaultp> make_mat2x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x4<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x4<T, defaultp>));
|
||||
@ -379,7 +379,7 @@ namespace glm
|
||||
/// Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x2<T, defaultp> make_mat3x2(T const * const ptr)
|
||||
inline detail::tmat3x2<T, defaultp> make_mat3x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x2<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x2<T, defaultp>));
|
||||
@ -389,7 +389,7 @@ namespace glm
|
||||
//! Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, defaultp> make_mat3x3(T const * const ptr)
|
||||
inline detail::tmat3x3<T, defaultp> make_mat3x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x3<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x3<T, defaultp>));
|
||||
@ -399,7 +399,7 @@ namespace glm
|
||||
//! Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x4<T, defaultp> make_mat3x4(T const * const ptr)
|
||||
inline detail::tmat3x4<T, defaultp> make_mat3x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x4<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x4<T, defaultp>));
|
||||
@ -409,7 +409,7 @@ namespace glm
|
||||
//! Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x2<T, defaultp> make_mat4x2(T const * const ptr)
|
||||
inline detail::tmat4x2<T, defaultp> make_mat4x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x2<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x2<T, defaultp>));
|
||||
@ -419,7 +419,7 @@ namespace glm
|
||||
//! Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x3<T, defaultp> make_mat4x3(T const * const ptr)
|
||||
inline detail::tmat4x3<T, defaultp> make_mat4x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x3<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x3<T, defaultp>));
|
||||
@ -429,7 +429,7 @@ namespace glm
|
||||
//! Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> make_mat4x4(T const * const ptr)
|
||||
inline detail::tmat4x4<T, defaultp> make_mat4x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x4<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x4<T, defaultp>));
|
||||
@ -439,7 +439,7 @@ namespace glm
|
||||
//! Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, defaultp> make_mat2(T const * const ptr)
|
||||
inline detail::tmat2x2<T, defaultp> make_mat2(T const * const ptr)
|
||||
{
|
||||
return make_mat2x2(ptr);
|
||||
}
|
||||
@ -447,7 +447,7 @@ namespace glm
|
||||
//! Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, defaultp> make_mat3(T const * const ptr)
|
||||
inline detail::tmat3x3<T, defaultp> make_mat3(T const * const ptr)
|
||||
{
|
||||
return make_mat3x3(ptr);
|
||||
}
|
||||
@ -455,7 +455,7 @@ namespace glm
|
||||
//! Build a matrix from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> make_mat4(T const * const ptr)
|
||||
inline detail::tmat4x4<T, defaultp> make_mat4(T const * const ptr)
|
||||
{
|
||||
return make_mat4x4(ptr);
|
||||
}
|
||||
@ -463,7 +463,7 @@ namespace glm
|
||||
//! Build a quaternion from a pointer.
|
||||
/// @see gtc_type_ptr
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, defaultp> make_quat(T const * const ptr)
|
||||
inline detail::tquat<T, defaultp> make_quat(T const * const ptr)
|
||||
{
|
||||
detail::tquat<T, defaultp> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tquat<T, defaultp>));
|
||||
|
28
deps/glm/gtc/ulp.inl
vendored
28
deps/glm/gtc/ulp.inl
vendored
@ -93,7 +93,7 @@ typedef union
|
||||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
GLM_FUNC_QUALIFIER float nextafterf(float x, float y)
|
||||
inline float nextafterf(float x, float y)
|
||||
{
|
||||
volatile float t;
|
||||
glm::detail::int32 hx, hy, ix, iy;
|
||||
@ -138,7 +138,7 @@ namespace detail
|
||||
return x;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER double nextafter(double x, double y)
|
||||
inline double nextafter(double x, double y)
|
||||
{
|
||||
volatile double t;
|
||||
glm::detail::int32 hx, hy, ix, iy;
|
||||
@ -197,7 +197,7 @@ namespace detail
|
||||
namespace glm
|
||||
{
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER float next_float(float const & x)
|
||||
inline float next_float(float const & x)
|
||||
{
|
||||
# if((GLM_LANG & GLM_LANG_CXX11_FLAG))
|
||||
return std::nextafter(x, std::numeric_limits<float>::max());
|
||||
@ -209,7 +209,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER double next_float(double const & x)
|
||||
inline double next_float(double const & x)
|
||||
{
|
||||
# if((GLM_LANG & GLM_LANG_CXX11_FLAG))
|
||||
return std::nextafter(x, std::numeric_limits<double>::max());
|
||||
@ -221,7 +221,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P, template<typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> next_float(vecType<T, P> const & x)
|
||||
inline vecType<T, P> next_float(vecType<T, P> const & x)
|
||||
{
|
||||
vecType<T, P> Result;
|
||||
for(length_t i = 0; i < Result.length(); ++i)
|
||||
@ -229,7 +229,7 @@ namespace glm
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float prev_float(float const & x)
|
||||
inline float prev_float(float const & x)
|
||||
{
|
||||
# if((GLM_LANG & GLM_LANG_CXX11_FLAG))
|
||||
return std::nextafter(x, std::numeric_limits<float>::min());
|
||||
@ -240,7 +240,7 @@ namespace glm
|
||||
# endif
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER double prev_float(double const & x)
|
||||
inline double prev_float(double const & x)
|
||||
{
|
||||
# if((GLM_LANG & GLM_LANG_CXX11_FLAG))
|
||||
return std::nextafter(x, std::numeric_limits<double>::min());
|
||||
@ -252,7 +252,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P, template<typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> prev_float(vecType<T, P> const & x)
|
||||
inline vecType<T, P> prev_float(vecType<T, P> const & x)
|
||||
{
|
||||
vecType<T, P> Result;
|
||||
for(length_t i = 0; i < Result.length(); ++i)
|
||||
@ -261,7 +261,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T next_float(T const & x, uint const & ulps)
|
||||
inline T next_float(T const & x, uint const & ulps)
|
||||
{
|
||||
T temp = x;
|
||||
for(uint i = 0; i < ulps; ++i)
|
||||
@ -270,7 +270,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P, template<typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> next_float(vecType<T, P> const & x, vecType<uint, P> const & ulps)
|
||||
inline vecType<T, P> next_float(vecType<T, P> const & x, vecType<uint, P> const & ulps)
|
||||
{
|
||||
vecType<T, P> Result;
|
||||
for(length_t i = 0; i < Result.length(); ++i)
|
||||
@ -279,7 +279,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T prev_float(T const & x, uint const & ulps)
|
||||
inline T prev_float(T const & x, uint const & ulps)
|
||||
{
|
||||
T temp = x;
|
||||
for(uint i = 0; i < ulps; ++i)
|
||||
@ -288,7 +288,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P, template<typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> prev_float(vecType<T, P> const & x, vecType<uint, P> const & ulps)
|
||||
inline vecType<T, P> prev_float(vecType<T, P> const & x, vecType<uint, P> const & ulps)
|
||||
{
|
||||
vecType<T, P> Result;
|
||||
for(length_t i = 0; i < Result.length(); ++i)
|
||||
@ -297,7 +297,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER uint float_distance(T const & x, T const & y)
|
||||
inline uint float_distance(T const & x, T const & y)
|
||||
{
|
||||
uint ulp = 0;
|
||||
|
||||
@ -328,7 +328,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P, template<typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<uint, P> float_distance(vecType<T, P> const & x, vecType<T, P> const & y)
|
||||
inline vecType<uint, P> float_distance(vecType<T, P> const & x, vecType<T, P> const & y)
|
||||
{
|
||||
vecType<uint, P> Result;
|
||||
for(length_t i = 0; i < Result.length(); ++i)
|
||||
|
108
deps/glm/gtx/associated_min_max.inl
vendored
108
deps/glm/gtx/associated_min_max.inl
vendored
@ -11,13 +11,13 @@ namespace glm{
|
||||
|
||||
// Min comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER U associatedMin(T x, U a, T y, U b)
|
||||
inline U associatedMin(T x, U a, T y, U b)
|
||||
{
|
||||
return x < y ? a : b;
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
inline detail::tvec2<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec2<T, P>& x, const detail::tvec2<U, P>& a,
|
||||
const detail::tvec2<T, P>& y, const detail::tvec2<U, P>& b
|
||||
@ -32,7 +32,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
inline detail::tvec3<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec3<T, P>& x, const detail::tvec3<U, P>& a,
|
||||
const detail::tvec3<T, P>& y, const detail::tvec3<U, P>& b
|
||||
@ -45,7 +45,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
inline detail::tvec4<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec4<T, P>& x, const detail::tvec4<U, P>& a,
|
||||
const detail::tvec4<T, P>& y, const detail::tvec4<U, P>& b
|
||||
@ -58,7 +58,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
inline detail::tvec2<U, P> associatedMin
|
||||
(
|
||||
T x, const detail::tvec2<U, P>& a,
|
||||
T y, const detail::tvec2<U, P>& b
|
||||
@ -71,7 +71,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
inline detail::tvec3<U, P> associatedMin
|
||||
(
|
||||
T x, const detail::tvec3<U, P>& a,
|
||||
T y, const detail::tvec3<U, P>& b
|
||||
@ -84,7 +84,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
inline detail::tvec4<U, P> associatedMin
|
||||
(
|
||||
T x, const detail::tvec4<U, P>& a,
|
||||
T y, const detail::tvec4<U, P>& b
|
||||
@ -97,7 +97,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
inline detail::tvec2<U, P> associatedMin
|
||||
(
|
||||
detail::tvec2<T, P> const & x, U a,
|
||||
detail::tvec2<T, P> const & y, U b
|
||||
@ -110,7 +110,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
inline detail::tvec3<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec3<T, P>& x, U a,
|
||||
const detail::tvec3<T, P>& y, U b
|
||||
@ -123,7 +123,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
inline detail::tvec4<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec4<T, P>& x, U a,
|
||||
const detail::tvec4<T, P>& y, U b
|
||||
@ -137,7 +137,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
|
||||
// Min comparison between 3 variables
|
||||
template<typename T, typename U>
|
||||
GLM_FUNC_QUALIFIER U associatedMin
|
||||
inline U associatedMin
|
||||
(
|
||||
T x, U a,
|
||||
T y, U b,
|
||||
@ -149,7 +149,7 @@ GLM_FUNC_QUALIFIER U associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
inline detail::tvec2<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec2<T, P>& x, const detail::tvec2<U, P>& a,
|
||||
const detail::tvec2<T, P>& y, const detail::tvec2<U, P>& b,
|
||||
@ -163,7 +163,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
inline detail::tvec3<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec3<T, P>& x, const detail::tvec3<U, P>& a,
|
||||
const detail::tvec3<T, P>& y, const detail::tvec3<U, P>& b,
|
||||
@ -177,7 +177,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
}
|
||||
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
inline detail::tvec4<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec4<T, P>& x, const detail::tvec4<U, P>& a,
|
||||
const detail::tvec4<T, P>& y, const detail::tvec4<U, P>& b,
|
||||
@ -192,7 +192,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U>
|
||||
GLM_FUNC_QUALIFIER U associatedMin
|
||||
inline U associatedMin
|
||||
(
|
||||
T x, U a,
|
||||
T y, U b,
|
||||
@ -210,7 +210,7 @@ GLM_FUNC_QUALIFIER U associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
inline detail::tvec2<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec2<T, P>& x, const detail::tvec2<U, P>& a,
|
||||
const detail::tvec2<T, P>& y, const detail::tvec2<U, P>& b,
|
||||
@ -232,7 +232,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
inline detail::tvec3<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec3<T, P>& x, const detail::tvec3<U, P>& a,
|
||||
const detail::tvec3<T, P>& y, const detail::tvec3<U, P>& b,
|
||||
@ -254,7 +254,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
inline detail::tvec4<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec4<T, P>& x, const detail::tvec4<U, P>& a,
|
||||
const detail::tvec4<T, P>& y, const detail::tvec4<U, P>& b,
|
||||
@ -276,7 +276,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
inline detail::tvec2<U, P> associatedMin
|
||||
(
|
||||
T x, const detail::tvec2<U, P>& a,
|
||||
T y, const detail::tvec2<U, P>& b,
|
||||
@ -299,7 +299,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
inline detail::tvec3<U, P> associatedMin
|
||||
(
|
||||
T x, const detail::tvec3<U, P>& a,
|
||||
T y, const detail::tvec3<U, P>& b,
|
||||
@ -322,7 +322,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
inline detail::tvec4<U, P> associatedMin
|
||||
(
|
||||
T x, const detail::tvec4<U, P>& a,
|
||||
T y, const detail::tvec4<U, P>& b,
|
||||
@ -345,7 +345,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
inline detail::tvec2<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec2<T, P>& x, U a,
|
||||
const detail::tvec2<T, P>& y, U b,
|
||||
@ -367,7 +367,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
inline detail::tvec3<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec3<T, P>& x, U a,
|
||||
const detail::tvec3<T, P>& y, U b,
|
||||
@ -389,7 +389,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMin
|
||||
|
||||
// Min comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
inline detail::tvec4<U, P> associatedMin
|
||||
(
|
||||
const detail::tvec4<T, P>& x, U a,
|
||||
const detail::tvec4<T, P>& y, U b,
|
||||
@ -411,14 +411,14 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMin
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U>
|
||||
GLM_FUNC_QUALIFIER U associatedMax(T x, U a, T y, U b)
|
||||
inline U associatedMax(T x, U a, T y, U b)
|
||||
{
|
||||
return x > y ? a : b;
|
||||
}
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec2<T, P>& x, const detail::tvec2<U, P>& a,
|
||||
const detail::tvec2<T, P>& y, const detail::tvec2<U, P>& b
|
||||
@ -432,7 +432,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec3<T, P>& x, const detail::tvec3<U, P>& a,
|
||||
const detail::tvec3<T, P>& y, const detail::tvec3<U, P>& b
|
||||
@ -446,7 +446,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec4<T, P>& x, const detail::tvec4<U, P>& a,
|
||||
const detail::tvec4<T, P>& y, const detail::tvec4<U, P>& b
|
||||
@ -460,7 +460,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec2<U, P>& a,
|
||||
T y, const detail::tvec2<U, P>& b
|
||||
@ -474,7 +474,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec3<U, P>& a,
|
||||
T y, const detail::tvec3<U, P>& b
|
||||
@ -488,7 +488,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec4<U, P>& a,
|
||||
T y, const detail::tvec4<U, P>& b
|
||||
@ -502,7 +502,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec2<T, P>& x, U a,
|
||||
const detail::tvec2<T, P>& y, U b
|
||||
@ -516,7 +516,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec3<T, P>& x, U a,
|
||||
const detail::tvec3<T, P>& y, U b
|
||||
@ -530,7 +530,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 2 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec4<T, P>& x, U a,
|
||||
const detail::tvec4<T, P>& y, U b
|
||||
@ -544,7 +544,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U>
|
||||
GLM_FUNC_QUALIFIER U associatedMax
|
||||
inline U associatedMax
|
||||
(
|
||||
T x, U a,
|
||||
T y, U b,
|
||||
@ -557,7 +557,7 @@ GLM_FUNC_QUALIFIER U associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec2<T, P>& x, const detail::tvec2<U, P>& a,
|
||||
const detail::tvec2<T, P>& y, const detail::tvec2<U, P>& b,
|
||||
@ -572,7 +572,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec3<T, P>& x, const detail::tvec3<U, P>& a,
|
||||
const detail::tvec3<T, P>& y, const detail::tvec3<U, P>& b,
|
||||
@ -587,7 +587,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec4<T, P>& x, const detail::tvec4<U, P>& a,
|
||||
const detail::tvec4<T, P>& y, const detail::tvec4<U, P>& b,
|
||||
@ -602,7 +602,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec2<U, P>& a,
|
||||
T y, const detail::tvec2<U, P>& b,
|
||||
@ -617,7 +617,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec3<U, P>& a,
|
||||
T y, const detail::tvec3<U, P>& b,
|
||||
@ -632,7 +632,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec4<U, P>& a,
|
||||
T y, const detail::tvec4<U, P>& b,
|
||||
@ -647,7 +647,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec2<T, P>& x, U a,
|
||||
const detail::tvec2<T, P>& y, U b,
|
||||
@ -662,7 +662,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec3<T, P>& x, U a,
|
||||
const detail::tvec3<T, P>& y, U b,
|
||||
@ -677,7 +677,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 3 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec4<T, P>& x, U a,
|
||||
const detail::tvec4<T, P>& y, U b,
|
||||
@ -692,7 +692,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U>
|
||||
GLM_FUNC_QUALIFIER U associatedMax
|
||||
inline U associatedMax
|
||||
(
|
||||
T x, U a,
|
||||
T y, U b,
|
||||
@ -710,7 +710,7 @@ GLM_FUNC_QUALIFIER U associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec2<T, P>& x, const detail::tvec2<U, P>& a,
|
||||
const detail::tvec2<T, P>& y, const detail::tvec2<U, P>& b,
|
||||
@ -732,7 +732,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec3<T, P>& x, const detail::tvec3<U, P>& a,
|
||||
const detail::tvec3<T, P>& y, const detail::tvec3<U, P>& b,
|
||||
@ -754,7 +754,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec4<T, P>& x, const detail::tvec4<U, P>& a,
|
||||
const detail::tvec4<T, P>& y, const detail::tvec4<U, P>& b,
|
||||
@ -776,7 +776,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec2<U, P>& a,
|
||||
T y, const detail::tvec2<U, P>& b,
|
||||
@ -799,7 +799,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec3<U, P>& a,
|
||||
T y, const detail::tvec3<U, P>& b,
|
||||
@ -822,7 +822,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
T x, const detail::tvec4<U, P>& a,
|
||||
T y, const detail::tvec4<U, P>& b,
|
||||
@ -845,7 +845,7 @@ GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
inline detail::tvec2<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec2<T, P>& x, U a,
|
||||
const detail::tvec2<T, P>& y, U b,
|
||||
@ -867,7 +867,7 @@ GLM_FUNC_QUALIFIER detail::tvec2<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
inline detail::tvec3<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec3<T, P>& x, U a,
|
||||
const detail::tvec3<T, P>& y, U b,
|
||||
@ -889,7 +889,7 @@ GLM_FUNC_QUALIFIER detail::tvec3<U, P> associatedMax
|
||||
|
||||
// Max comparison between 4 variables
|
||||
template<typename T, typename U, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<U, P> associatedMax
|
||||
inline detail::tvec4<U, P> associatedMax
|
||||
(
|
||||
const detail::tvec4<T, P>& x, U a,
|
||||
const detail::tvec4<T, P>& y, U b,
|
||||
|
94
deps/glm/gtx/bit.inl
vendored
94
deps/glm/gtx/bit.inl
vendored
@ -13,7 +13,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genIType>
|
||||
GLM_FUNC_QUALIFIER genIType mask
|
||||
inline genIType mask
|
||||
(
|
||||
genIType const & count
|
||||
)
|
||||
@ -25,7 +25,7 @@ namespace glm
|
||||
|
||||
// highestBitValue
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType highestBitValue
|
||||
inline genType highestBitValue
|
||||
(
|
||||
genType const & value
|
||||
)
|
||||
@ -41,7 +41,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<int, P> highestBitValue
|
||||
inline detail::tvec2<int, P> highestBitValue
|
||||
(
|
||||
detail::tvec2<T, P> const & value
|
||||
)
|
||||
@ -52,7 +52,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<int, P> highestBitValue
|
||||
inline detail::tvec3<int, P> highestBitValue
|
||||
(
|
||||
detail::tvec3<T, P> const & value
|
||||
)
|
||||
@ -64,7 +64,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<int, P> highestBitValue
|
||||
inline detail::tvec4<int, P> highestBitValue
|
||||
(
|
||||
detail::tvec4<T, P> const & value
|
||||
)
|
||||
@ -78,7 +78,7 @@ namespace glm
|
||||
|
||||
// isPowerOfTwo
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool isPowerOfTwo(genType const & Value)
|
||||
inline bool isPowerOfTwo(genType const & Value)
|
||||
{
|
||||
//detail::If<std::numeric_limits<genType>::is_signed>::apply(abs, Value);
|
||||
//return !(Value & (Value - 1));
|
||||
@ -91,7 +91,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<bool, P> isPowerOfTwo
|
||||
inline detail::tvec2<bool, P> isPowerOfTwo
|
||||
(
|
||||
detail::tvec2<T, P> const & value
|
||||
)
|
||||
@ -102,7 +102,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<bool, P> isPowerOfTwo
|
||||
inline detail::tvec3<bool, P> isPowerOfTwo
|
||||
(
|
||||
detail::tvec3<T, P> const & value
|
||||
)
|
||||
@ -114,7 +114,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> isPowerOfTwo
|
||||
inline detail::tvec4<bool, P> isPowerOfTwo
|
||||
(
|
||||
detail::tvec4<T, P> const & value
|
||||
)
|
||||
@ -128,7 +128,7 @@ namespace glm
|
||||
|
||||
// powerOfTwoAbove
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType powerOfTwoAbove(genType const & value)
|
||||
inline genType powerOfTwoAbove(genType const & value)
|
||||
{
|
||||
return isPowerOfTwo(value) ? value : highestBitValue(value) << 1;
|
||||
}
|
||||
@ -137,7 +137,7 @@ namespace glm
|
||||
|
||||
// powerOfTwoBelow
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType powerOfTwoBelow
|
||||
inline genType powerOfTwoBelow
|
||||
(
|
||||
genType const & value
|
||||
)
|
||||
@ -149,7 +149,7 @@ namespace glm
|
||||
|
||||
// powerOfTwoNearest
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType powerOfTwoNearest
|
||||
inline genType powerOfTwoNearest
|
||||
(
|
||||
genType const & value
|
||||
)
|
||||
@ -165,7 +165,7 @@ namespace glm
|
||||
VECTORIZE_VEC(powerOfTwoNearest)
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType bitRevert(genType const & In)
|
||||
inline genType bitRevert(genType const & In)
|
||||
{
|
||||
genType Out = 0;
|
||||
std::size_t BitSize = sizeof(genType) * 8;
|
||||
@ -178,14 +178,14 @@ namespace glm
|
||||
VECTORIZE_VEC(bitRevert)
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType bitRotateRight(genType const & In, std::size_t Shift)
|
||||
inline genType bitRotateRight(genType const & In, std::size_t Shift)
|
||||
{
|
||||
std::size_t BitSize = sizeof(genType) * 8;
|
||||
return (In << Shift) | (In >> (BitSize - Shift));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> bitRotateRight
|
||||
inline detail::tvec2<T, P> bitRotateRight
|
||||
(
|
||||
detail::tvec2<T, P> const & Value,
|
||||
std::size_t Shift
|
||||
@ -197,7 +197,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> bitRotateRight
|
||||
inline detail::tvec3<T, P> bitRotateRight
|
||||
(
|
||||
detail::tvec3<T, P> const & Value,
|
||||
std::size_t Shift
|
||||
@ -210,7 +210,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> bitRotateRight
|
||||
inline detail::tvec4<T, P> bitRotateRight
|
||||
(
|
||||
detail::tvec4<T, P> const & Value,
|
||||
std::size_t Shift
|
||||
@ -224,14 +224,14 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType bitRotateLeft(genType const & In, std::size_t Shift)
|
||||
inline genType bitRotateLeft(genType const & In, std::size_t Shift)
|
||||
{
|
||||
std::size_t BitSize = sizeof(genType) * 8;
|
||||
return (In >> Shift) | (In << (BitSize - Shift));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> bitRotateLeft
|
||||
inline detail::tvec2<T, P> bitRotateLeft
|
||||
(
|
||||
detail::tvec2<T, P> const & Value,
|
||||
std::size_t Shift
|
||||
@ -243,7 +243,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> bitRotateLeft
|
||||
inline detail::tvec3<T, P> bitRotateLeft
|
||||
(
|
||||
detail::tvec3<T, P> const & Value,
|
||||
std::size_t Shift
|
||||
@ -256,7 +256,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> bitRotateLeft
|
||||
inline detail::tvec4<T, P> bitRotateLeft
|
||||
(
|
||||
detail::tvec4<T, P> const & Value,
|
||||
std::size_t Shift
|
||||
@ -270,7 +270,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER genIUType fillBitfieldWithOne
|
||||
inline genIUType fillBitfieldWithOne
|
||||
(
|
||||
genIUType const & Value,
|
||||
int const & FromBit,
|
||||
@ -287,7 +287,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genIUType>
|
||||
GLM_FUNC_QUALIFIER genIUType fillBitfieldWithZero
|
||||
inline genIUType fillBitfieldWithZero
|
||||
(
|
||||
genIUType const & Value,
|
||||
int const & FromBit,
|
||||
@ -315,7 +315,7 @@ namespace glm
|
||||
RET bitfieldInterleave(PARAM x, PARAM y, PARAM z, PARAM w);
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER glm::uint16 bitfieldInterleave(glm::uint8 x, glm::uint8 y)
|
||||
inline glm::uint16 bitfieldInterleave(glm::uint8 x, glm::uint8 y)
|
||||
{
|
||||
glm::uint16 REG1(x);
|
||||
glm::uint16 REG2(y);
|
||||
@ -333,7 +333,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint16 x, glm::uint16 y)
|
||||
inline glm::uint32 bitfieldInterleave(glm::uint16 x, glm::uint16 y)
|
||||
{
|
||||
glm::uint32 REG1(x);
|
||||
glm::uint32 REG2(y);
|
||||
@ -354,7 +354,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint32 x, glm::uint32 y)
|
||||
inline glm::uint64 bitfieldInterleave(glm::uint32 x, glm::uint32 y)
|
||||
{
|
||||
glm::uint64 REG1(x);
|
||||
glm::uint64 REG2(y);
|
||||
@ -378,7 +378,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint8 x, glm::uint8 y, glm::uint8 z)
|
||||
inline glm::uint32 bitfieldInterleave(glm::uint8 x, glm::uint8 y, glm::uint8 z)
|
||||
{
|
||||
glm::uint32 REG1(x);
|
||||
glm::uint32 REG2(y);
|
||||
@ -404,7 +404,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint16 x, glm::uint16 y, glm::uint16 z)
|
||||
inline glm::uint64 bitfieldInterleave(glm::uint16 x, glm::uint16 y, glm::uint16 z)
|
||||
{
|
||||
glm::uint64 REG1(x);
|
||||
glm::uint64 REG2(y);
|
||||
@ -434,7 +434,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint32 x, glm::uint32 y, glm::uint32 z)
|
||||
inline glm::uint64 bitfieldInterleave(glm::uint32 x, glm::uint32 y, glm::uint32 z)
|
||||
{
|
||||
glm::uint64 REG1(x);
|
||||
glm::uint64 REG2(y);
|
||||
@ -464,7 +464,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint8 x, glm::uint8 y, glm::uint8 z, glm::uint8 w)
|
||||
inline glm::uint32 bitfieldInterleave(glm::uint8 x, glm::uint8 y, glm::uint8 z, glm::uint8 w)
|
||||
{
|
||||
glm::uint32 REG1(x);
|
||||
glm::uint32 REG2(y);
|
||||
@ -490,7 +490,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint16 x, glm::uint16 y, glm::uint16 z, glm::uint16 w)
|
||||
inline glm::uint64 bitfieldInterleave(glm::uint16 x, glm::uint16 y, glm::uint16 z, glm::uint16 w)
|
||||
{
|
||||
glm::uint64 REG1(x);
|
||||
glm::uint64 REG2(y);
|
||||
@ -521,7 +521,7 @@ namespace glm
|
||||
}
|
||||
}//namespace detail
|
||||
|
||||
GLM_FUNC_QUALIFIER int16 bitfieldInterleave(int8 x, int8 y)
|
||||
inline int16 bitfieldInterleave(int8 x, int8 y)
|
||||
{
|
||||
union sign8
|
||||
{
|
||||
@ -542,12 +542,12 @@ namespace glm
|
||||
return result.i;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint16 bitfieldInterleave(uint8 x, uint8 y)
|
||||
inline uint16 bitfieldInterleave(uint8 x, uint8 y)
|
||||
{
|
||||
return detail::bitfieldInterleave<uint8, uint16>(x, y);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int16 x, int16 y)
|
||||
inline int32 bitfieldInterleave(int16 x, int16 y)
|
||||
{
|
||||
union sign16
|
||||
{
|
||||
@ -568,12 +568,12 @@ namespace glm
|
||||
return result.i;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint16 x, uint16 y)
|
||||
inline uint32 bitfieldInterleave(uint16 x, uint16 y)
|
||||
{
|
||||
return detail::bitfieldInterleave<uint16, uint32>(x, y);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int32 x, int32 y)
|
||||
inline int64 bitfieldInterleave(int32 x, int32 y)
|
||||
{
|
||||
union sign32
|
||||
{
|
||||
@ -594,12 +594,12 @@ namespace glm
|
||||
return result.i;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint32 x, uint32 y)
|
||||
inline uint64 bitfieldInterleave(uint32 x, uint32 y)
|
||||
{
|
||||
return detail::bitfieldInterleave<uint32, uint64>(x, y);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int8 x, int8 y, int8 z)
|
||||
inline int32 bitfieldInterleave(int8 x, int8 y, int8 z)
|
||||
{
|
||||
union sign8
|
||||
{
|
||||
@ -621,12 +621,12 @@ namespace glm
|
||||
return result.i;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z)
|
||||
inline uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z)
|
||||
{
|
||||
return detail::bitfieldInterleave<uint8, uint32>(x, y, z);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int16 x, int16 y, int16 z)
|
||||
inline int64 bitfieldInterleave(int16 x, int16 y, int16 z)
|
||||
{
|
||||
union sign16
|
||||
{
|
||||
@ -648,12 +648,12 @@ namespace glm
|
||||
return result.i;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z)
|
||||
inline uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z)
|
||||
{
|
||||
return detail::bitfieldInterleave<uint32, uint64>(x, y, z);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int32 x, int32 y, int32 z)
|
||||
inline int64 bitfieldInterleave(int32 x, int32 y, int32 z)
|
||||
{
|
||||
union sign16
|
||||
{
|
||||
@ -675,12 +675,12 @@ namespace glm
|
||||
return result.i;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z)
|
||||
inline uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z)
|
||||
{
|
||||
return detail::bitfieldInterleave<uint32, uint64>(x, y, z);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w)
|
||||
inline int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w)
|
||||
{
|
||||
union sign8
|
||||
{
|
||||
@ -703,12 +703,12 @@ namespace glm
|
||||
return result.i;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w)
|
||||
inline uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w)
|
||||
{
|
||||
return detail::bitfieldInterleave<uint8, uint32>(x, y, z, w);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w)
|
||||
inline int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w)
|
||||
{
|
||||
union sign16
|
||||
{
|
||||
@ -731,7 +731,7 @@ namespace glm
|
||||
return result.i;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)
|
||||
inline uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)
|
||||
{
|
||||
return detail::bitfieldInterleave<uint16, uint64>(x, y, z, w);
|
||||
}
|
||||
|
2
deps/glm/gtx/closest_point.inl
vendored
2
deps/glm/gtx/closest_point.inl
vendored
@ -13,7 +13,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> closestPointOnLine
|
||||
inline detail::tvec3<T, P> closestPointOnLine
|
||||
(
|
||||
detail::tvec3<T, P> const & point,
|
||||
detail::tvec3<T, P> const & a,
|
||||
|
12
deps/glm/gtx/color_space.inl
vendored
12
deps/glm/gtx/color_space.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rgbColor(const detail::tvec3<T, P>& hsvColor)
|
||||
inline detail::tvec3<T, P> rgbColor(const detail::tvec3<T, P>& hsvColor)
|
||||
{
|
||||
detail::tvec3<T, P> hsv = hsvColor;
|
||||
detail::tvec3<T, P> rgbColor;
|
||||
@ -67,7 +67,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> hsvColor(const detail::tvec3<T, P>& rgbColor)
|
||||
inline detail::tvec3<T, P> hsvColor(const detail::tvec3<T, P>& rgbColor)
|
||||
{
|
||||
detail::tvec3<T, P> hsv = rgbColor;
|
||||
float Min = min(min(rgbColor.r, rgbColor.g), rgbColor.b);
|
||||
@ -107,7 +107,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> saturation(const T s)
|
||||
inline detail::tmat4x4<T, P> saturation(const T s)
|
||||
{
|
||||
detail::tvec3<T, P> rgbw = detail::tvec3<T, P>(T(0.2126), T(0.7152), T(0.0722));
|
||||
|
||||
@ -129,19 +129,19 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> saturation(const T s, const detail::tvec3<T, P>& color)
|
||||
inline detail::tvec3<T, P> saturation(const T s, const detail::tvec3<T, P>& color)
|
||||
{
|
||||
return detail::tvec3<T, P>(saturation(s) * detail::tvec4<T, P>(color, T(0)));
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> saturation(const T s, const detail::tvec4<T, P>& color)
|
||||
inline detail::tvec4<T, P> saturation(const T s, const detail::tvec4<T, P>& color)
|
||||
{
|
||||
return saturation(s) * color;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T luminosity(const detail::tvec3<T, P>& color)
|
||||
inline T luminosity(const detail::tvec3<T, P>& color)
|
||||
{
|
||||
const detail::tvec3<T, P> tmp = detail::tvec3<T, P>(0.33, 0.59, 0.11);
|
||||
return dot(color, tmp);
|
||||
|
8
deps/glm/gtx/color_space_YCoCg.inl
vendored
8
deps/glm/gtx/color_space_YCoCg.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rgb2YCoCg
|
||||
inline detail::tvec3<T, P> rgb2YCoCg
|
||||
(
|
||||
detail::tvec3<T, P> const & rgbColor
|
||||
)
|
||||
@ -23,7 +23,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rgb2YCoCgR
|
||||
inline detail::tvec3<T, P> rgb2YCoCgR
|
||||
(
|
||||
detail::tvec3<T, P> const & rgbColor
|
||||
)
|
||||
@ -36,7 +36,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> YCoCg2rgb
|
||||
inline detail::tvec3<T, P> YCoCg2rgb
|
||||
(
|
||||
detail::tvec3<T, P> const & YCoCgColor
|
||||
)
|
||||
@ -49,7 +49,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> YCoCgR2rgb
|
||||
inline detail::tvec3<T, P> YCoCgR2rgb
|
||||
(
|
||||
detail::tvec3<T, P> const & YCoCgRColor
|
||||
)
|
||||
|
32
deps/glm/gtx/compatibility.hpp
vendored
32
deps/glm/gtx/compatibility.hpp
vendored
@ -61,26 +61,26 @@ namespace glm
|
||||
/// @addtogroup gtx_compatibility
|
||||
/// @{
|
||||
|
||||
template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> lerp(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T> inline T lerp(T x, T y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec2<T, P> lerp(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> lerp(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> lerp(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> lerp(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y, const detail::tvec2<T, P>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> lerp(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y, const detail::tvec3<T, P>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> lerp(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y, const detail::tvec4<T, P>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec3<T, P> lerp(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec4<T, P> lerp(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec2<T, P> lerp(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y, const detail::tvec2<T, P>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec3<T, P> lerp(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y, const detail::tvec3<T, P>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec4<T, P> lerp(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y, const detail::tvec4<T, P>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
|
||||
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER T slerp(detail::tquat<T, P> const & x, detail::tquat<T, P> const & y, T const & a){return mix(x, y, a);} //!< \brief Returns the slurp interpolation between two quaternions.
|
||||
template <typename T, precision P> inline T slerp(detail::tquat<T, P> const & x, detail::tquat<T, P> const & y, T const & a){return mix(x, y, a);} //!< \brief Returns the slurp interpolation between two quaternions.
|
||||
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> saturate(const detail::tvec2<T, P>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> saturate(const detail::tvec3<T, P>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> saturate(const detail::tvec4<T, P>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline T saturate(T x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec2<T, P> saturate(const detail::tvec2<T, P>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec3<T, P> saturate(const detail::tvec3<T, P>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec4<T, P> saturate(const detail::tvec4<T, P>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
|
||||
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> atan2(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> atan2(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> atan2(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline T atan2(T x, T y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec2<T, P> atan2(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec3<T, P> atan2(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> inline detail::tvec4<T, P> atan2(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
|
||||
|
||||
template <typename genType> bool isfinite(genType const & x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
|
||||
template <typename T, precision P> detail::tvec2<bool, P> isfinite(const detail::tvec2<T, P>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
|
||||
|
8
deps/glm/gtx/compatibility.inl
vendored
8
deps/glm/gtx/compatibility.inl
vendored
@ -11,7 +11,7 @@ namespace glm
|
||||
{
|
||||
// isfinite
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool isfinite(
|
||||
inline bool isfinite(
|
||||
genType const & x)
|
||||
{
|
||||
# if(GLM_LANG & GLM_LANG_CXX11_FLAG)
|
||||
@ -26,7 +26,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<bool, P> isfinite(
|
||||
inline detail::tvec2<bool, P> isfinite(
|
||||
detail::tvec2<T, P> const & x)
|
||||
{
|
||||
return detail::tvec2<bool, P>(
|
||||
@ -35,7 +35,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<bool, P> isfinite(
|
||||
inline detail::tvec3<bool, P> isfinite(
|
||||
detail::tvec3<T, P> const & x)
|
||||
{
|
||||
return detail::tvec3<bool, P>(
|
||||
@ -45,7 +45,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> isfinite(
|
||||
inline detail::tvec4<bool, P> isfinite(
|
||||
detail::tvec4<T, P> const & x)
|
||||
{
|
||||
return detail::tvec4<bool, P>(
|
||||
|
8
deps/glm/gtx/component_wise.inl
vendored
8
deps/glm/gtx/component_wise.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER T compAdd(vecType<T, P> const & v)
|
||||
inline T compAdd(vecType<T, P> const & v)
|
||||
{
|
||||
T result(0);
|
||||
for(length_t i = 0; i < v.length(); ++i)
|
||||
@ -19,7 +19,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER T compMul(vecType<T, P> const & v)
|
||||
inline T compMul(vecType<T, P> const & v)
|
||||
{
|
||||
T result(1);
|
||||
for(length_t i = 0; i < v.length(); ++i)
|
||||
@ -28,7 +28,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER T compMin(vecType<T, P> const & v)
|
||||
inline T compMin(vecType<T, P> const & v)
|
||||
{
|
||||
T result(v[0]);
|
||||
for(length_t i = 1; i < v.length(); ++i)
|
||||
@ -37,7 +37,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER T compMax(vecType<T, P> const & v)
|
||||
inline T compMax(vecType<T, P> const & v)
|
||||
{
|
||||
T result(v[0]);
|
||||
for(length_t i = 1; i < v.length(); ++i)
|
||||
|
60
deps/glm/gtx/dual_quaternion.inl
vendored
60
deps/glm/gtx/dual_quaternion.inl
vendored
@ -33,19 +33,19 @@ namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER int tdualquat<T, P>::length() const
|
||||
inline int tdualquat<T, P>::length() const
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat() :
|
||||
inline tdualquat<T, P>::tdualquat() :
|
||||
real(tquat<T, P>()),
|
||||
dual(tquat<T, P>(T(0), T(0), T(0), T(0)))
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||
inline tdualquat<T, P>::tdualquat
|
||||
(
|
||||
tquat<T, P> const & r
|
||||
) :
|
||||
@ -54,7 +54,7 @@ namespace detail
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||
inline tdualquat<T, P>::tdualquat
|
||||
(
|
||||
tquat<T, P> const & r,
|
||||
tquat<T, P> const & d
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
{}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||
inline tdualquat<T, P>::tdualquat
|
||||
(
|
||||
tquat<T, P> const & q,
|
||||
tvec3<T, P> const& p
|
||||
@ -80,7 +80,7 @@ namespace detail
|
||||
//////////////////////////////////////////////////////////////
|
||||
// tdualquat conversions
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||
inline tdualquat<T, P>::tdualquat
|
||||
(
|
||||
tmat2x4<T, P> const & m
|
||||
)
|
||||
@ -89,7 +89,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||
inline tdualquat<T, P>::tdualquat
|
||||
(
|
||||
tmat3x4<T, P> const & m
|
||||
)
|
||||
@ -101,14 +101,14 @@ namespace detail
|
||||
// tdualquat<T, P> accesses
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tdualquat<T, P>::part_type & tdualquat<T, P>::operator [] (int i)
|
||||
inline typename tdualquat<T, P>::part_type & tdualquat<T, P>::operator [] (int i)
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&real)[i];
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER typename tdualquat<T, P>::part_type const & tdualquat<T, P>::operator [] (int i) const
|
||||
inline typename tdualquat<T, P>::part_type const & tdualquat<T, P>::operator [] (int i) const
|
||||
{
|
||||
assert(i >= 0 && i < this->length());
|
||||
return (&real)[i];
|
||||
@ -118,7 +118,7 @@ namespace detail
|
||||
// tdualquat<valType> operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tdualquat<T, P> & tdualquat<T, P>::operator *=
|
||||
inline tdualquat<T, P> & tdualquat<T, P>::operator *=
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -129,7 +129,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER tdualquat<T, P> & tdualquat<T, P>::operator /=
|
||||
inline tdualquat<T, P> & tdualquat<T, P>::operator /=
|
||||
(
|
||||
T const & s
|
||||
)
|
||||
@ -143,7 +143,7 @@ namespace detail
|
||||
// tquat<valType> external operators
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator-
|
||||
inline detail::tdualquat<T, P> operator-
|
||||
(
|
||||
detail::tdualquat<T, P> const & q
|
||||
)
|
||||
@ -152,7 +152,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator+
|
||||
inline detail::tdualquat<T, P> operator+
|
||||
(
|
||||
detail::tdualquat<T, P> const & q,
|
||||
detail::tdualquat<T, P> const & p
|
||||
@ -162,7 +162,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator*
|
||||
inline detail::tdualquat<T, P> operator*
|
||||
(
|
||||
detail::tdualquat<T, P> const & p,
|
||||
detail::tdualquat<T, P> const & o
|
||||
@ -173,7 +173,7 @@ namespace detail
|
||||
|
||||
// Transformation
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> operator*
|
||||
inline detail::tvec3<T, P> operator*
|
||||
(
|
||||
detail::tdualquat<T, P> const & q,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -185,7 +185,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> operator*
|
||||
inline detail::tvec3<T, P> operator*
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
detail::tdualquat<T, P> const & q
|
||||
@ -195,7 +195,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> operator*
|
||||
inline detail::tvec4<T, P> operator*
|
||||
(
|
||||
detail::tdualquat<T, P> const & q,
|
||||
detail::tvec4<T, P> const & v
|
||||
@ -205,7 +205,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> operator*
|
||||
inline detail::tvec4<T, P> operator*
|
||||
(
|
||||
detail::tvec4<T, P> const & v,
|
||||
detail::tdualquat<T, P> const & q
|
||||
@ -215,7 +215,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator*
|
||||
inline detail::tdualquat<T, P> operator*
|
||||
(
|
||||
detail::tdualquat<T, P> const & q,
|
||||
T const & s
|
||||
@ -225,7 +225,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator*
|
||||
inline detail::tdualquat<T, P> operator*
|
||||
(
|
||||
T const & s,
|
||||
detail::tdualquat<T, P> const & q
|
||||
@ -235,7 +235,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator/
|
||||
inline detail::tdualquat<T, P> operator/
|
||||
(
|
||||
detail::tdualquat<T, P> const & q,
|
||||
T const & s
|
||||
@ -247,7 +247,7 @@ namespace detail
|
||||
//////////////////////////////////////
|
||||
// Boolean operators
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator==
|
||||
inline bool operator==
|
||||
(
|
||||
detail::tdualquat<T, P> const & q1,
|
||||
detail::tdualquat<T, P> const & q2
|
||||
@ -257,7 +257,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool operator!=
|
||||
inline bool operator!=
|
||||
(
|
||||
detail::tdualquat<T, P> const & q1,
|
||||
detail::tdualquat<T, P> const & q2
|
||||
@ -269,7 +269,7 @@ namespace detail
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> normalize
|
||||
inline detail::tdualquat<T, P> normalize
|
||||
(
|
||||
detail::tdualquat<T, P> const & q
|
||||
)
|
||||
@ -278,7 +278,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> lerp
|
||||
inline detail::tdualquat<T, P> lerp
|
||||
(
|
||||
detail::tdualquat<T, P> const & x,
|
||||
detail::tdualquat<T, P> const & y,
|
||||
@ -295,7 +295,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> inverse
|
||||
inline detail::tdualquat<T, P> inverse
|
||||
(
|
||||
detail::tdualquat<T, P> const & q
|
||||
)
|
||||
@ -306,7 +306,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x4<T, P> mat2x4_cast
|
||||
inline detail::tmat2x4<T, P> mat2x4_cast
|
||||
(
|
||||
detail::tdualquat<T, P> const & x
|
||||
)
|
||||
@ -315,7 +315,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x4<T, P> mat3x4_cast
|
||||
inline detail::tmat3x4<T, P> mat3x4_cast
|
||||
(
|
||||
detail::tdualquat<T, P> const & x
|
||||
)
|
||||
@ -354,7 +354,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> dualquat_cast
|
||||
inline detail::tdualquat<T, P> dualquat_cast
|
||||
(
|
||||
detail::tmat2x4<T, P> const & x
|
||||
)
|
||||
@ -365,7 +365,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tdualquat<T, P> dualquat_cast
|
||||
inline detail::tdualquat<T, P> dualquat_cast
|
||||
(
|
||||
detail::tmat3x4<T, P> const & x
|
||||
)
|
||||
|
30
deps/glm/gtx/euler_angles.inl
vendored
30
deps/glm/gtx/euler_angles.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleX
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleX
|
||||
(
|
||||
T const & angleX
|
||||
)
|
||||
@ -26,7 +26,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleY
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleY
|
||||
(
|
||||
T const & angleY
|
||||
)
|
||||
@ -42,7 +42,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleZ
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleZ
|
||||
(
|
||||
T const & angleZ
|
||||
)
|
||||
@ -58,7 +58,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleXY
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleXY
|
||||
(
|
||||
T const & angleX,
|
||||
T const & angleY
|
||||
@ -77,7 +77,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleYX
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleYX
|
||||
(
|
||||
T const & angleY,
|
||||
T const & angleX
|
||||
@ -96,7 +96,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleXZ
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleXZ
|
||||
(
|
||||
T const & angleX,
|
||||
T const & angleZ
|
||||
@ -106,7 +106,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleZX
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleZX
|
||||
(
|
||||
T const & angleZ,
|
||||
T const & angleX
|
||||
@ -116,7 +116,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleYZ
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleYZ
|
||||
(
|
||||
T const & angleY,
|
||||
T const & angleZ
|
||||
@ -126,7 +126,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleZY
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleZY
|
||||
(
|
||||
T const & angleZ,
|
||||
T const & angleY
|
||||
@ -136,7 +136,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> eulerAngleYXZ
|
||||
inline detail::tmat4x4<T, defaultp> eulerAngleYXZ
|
||||
(
|
||||
T const & yaw,
|
||||
T const & pitch,
|
||||
@ -171,7 +171,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> yawPitchRoll
|
||||
inline detail::tmat4x4<T, defaultp> yawPitchRoll
|
||||
(
|
||||
T const & yaw,
|
||||
T const & pitch,
|
||||
@ -206,7 +206,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, defaultp> orientate2
|
||||
inline detail::tmat2x2<T, defaultp> orientate2
|
||||
(
|
||||
T const & angle
|
||||
)
|
||||
@ -223,7 +223,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, defaultp> orientate3
|
||||
inline detail::tmat3x3<T, defaultp> orientate3
|
||||
(
|
||||
T const & angle
|
||||
)
|
||||
@ -245,7 +245,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> orientate3
|
||||
inline detail::tmat3x3<T, P> orientate3
|
||||
(
|
||||
detail::tvec3<T, P> const & angles
|
||||
)
|
||||
@ -254,7 +254,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> orientate4
|
||||
inline detail::tmat4x4<T, P> orientate4
|
||||
(
|
||||
detail::tvec3<T, P> const & angles
|
||||
)
|
||||
|
8
deps/glm/gtx/extend.inl
vendored
8
deps/glm/gtx/extend.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType extend
|
||||
inline genType extend
|
||||
(
|
||||
genType const & Origin,
|
||||
genType const & Source,
|
||||
@ -21,7 +21,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> extend
|
||||
inline detail::tvec2<T, P> extend
|
||||
(
|
||||
detail::tvec2<T, P> const & Origin,
|
||||
detail::tvec2<T, P> const & Source,
|
||||
@ -32,7 +32,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> extend
|
||||
inline detail::tvec3<T, P> extend
|
||||
(
|
||||
detail::tvec3<T, P> const & Origin,
|
||||
detail::tvec3<T, P> const & Source,
|
||||
@ -43,7 +43,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> extend
|
||||
inline detail::tvec4<T, P> extend
|
||||
(
|
||||
detail::tvec4<T, P> const & Origin,
|
||||
detail::tvec4<T, P> const & Source,
|
||||
|
24
deps/glm/gtx/extented_min_max.inl
vendored
24
deps/glm/gtx/extented_min_max.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T min(
|
||||
inline T min(
|
||||
T const & x,
|
||||
T const & y,
|
||||
T const & z)
|
||||
@ -19,7 +19,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, template <typename> class C>
|
||||
GLM_FUNC_QUALIFIER C<T> min
|
||||
inline C<T> min
|
||||
(
|
||||
C<T> const & x,
|
||||
typename C<T>::T const & y,
|
||||
@ -30,7 +30,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, template <typename> class C>
|
||||
GLM_FUNC_QUALIFIER C<T> min
|
||||
inline C<T> min
|
||||
(
|
||||
C<T> const & x,
|
||||
C<T> const & y,
|
||||
@ -41,7 +41,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T min
|
||||
inline T min
|
||||
(
|
||||
T const & x,
|
||||
T const & y,
|
||||
@ -53,7 +53,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, template <typename> class C>
|
||||
GLM_FUNC_QUALIFIER C<T> min
|
||||
inline C<T> min
|
||||
(
|
||||
C<T> const & x,
|
||||
typename C<T>::T const & y,
|
||||
@ -65,7 +65,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, template <typename> class C>
|
||||
GLM_FUNC_QUALIFIER C<T> min
|
||||
inline C<T> min
|
||||
(
|
||||
C<T> const & x,
|
||||
C<T> const & y,
|
||||
@ -77,7 +77,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T max(
|
||||
inline T max(
|
||||
T const & x,
|
||||
T const & y,
|
||||
T const & z)
|
||||
@ -86,7 +86,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, template <typename> class C>
|
||||
GLM_FUNC_QUALIFIER C<T> max
|
||||
inline C<T> max
|
||||
(
|
||||
C<T> const & x,
|
||||
typename C<T>::T const & y,
|
||||
@ -97,7 +97,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, template <typename> class C>
|
||||
GLM_FUNC_QUALIFIER C<T> max
|
||||
inline C<T> max
|
||||
(
|
||||
C<T> const & x,
|
||||
C<T> const & y,
|
||||
@ -108,7 +108,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T max
|
||||
inline T max
|
||||
(
|
||||
T const & x,
|
||||
T const & y,
|
||||
@ -120,7 +120,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, template <typename> class C>
|
||||
GLM_FUNC_QUALIFIER C<T> max
|
||||
inline C<T> max
|
||||
(
|
||||
C<T> const & x,
|
||||
typename C<T>::T const & y,
|
||||
@ -132,7 +132,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, template <typename> class C>
|
||||
GLM_FUNC_QUALIFIER C<T> max
|
||||
inline C<T> max
|
||||
(
|
||||
C<T> const & x,
|
||||
C<T> const & y,
|
||||
|
24
deps/glm/gtx/fast_exponential.inl
vendored
24
deps/glm/gtx/fast_exponential.inl
vendored
@ -11,7 +11,7 @@ namespace glm
|
||||
{
|
||||
// fastPow:
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastPow(genType const & x, genType const & y)
|
||||
inline genType fastPow(genType const & x, genType const & y)
|
||||
{
|
||||
return exp(y * log(x));
|
||||
}
|
||||
@ -19,7 +19,7 @@ namespace glm
|
||||
VECTORIZE_VEC_VEC(fastPow)
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastPow(const T x, int y)
|
||||
inline T fastPow(const T x, int y)
|
||||
{
|
||||
T f = static_cast<T>(1);
|
||||
for(int i = 0; i < y; ++i)
|
||||
@ -28,7 +28,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> fastPow(
|
||||
inline detail::tvec2<T, P> fastPow(
|
||||
const detail::tvec2<T, P>& x,
|
||||
const detail::tvec2<int, P>& y)
|
||||
{
|
||||
@ -38,7 +38,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> fastPow(
|
||||
inline detail::tvec3<T, P> fastPow(
|
||||
const detail::tvec3<T, P>& x,
|
||||
const detail::tvec3<int, P>& y)
|
||||
{
|
||||
@ -49,7 +49,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> fastPow(
|
||||
inline detail::tvec4<T, P> fastPow(
|
||||
const detail::tvec4<T, P>& x,
|
||||
const detail::tvec4<int, P>& y)
|
||||
{
|
||||
@ -63,7 +63,7 @@ namespace glm
|
||||
// fastExp
|
||||
// Note: This function provides accurate results only for value between -1 and 1, else avoid it.
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastExp(const T x)
|
||||
inline T fastExp(const T x)
|
||||
{
|
||||
// This has a better looking and same performance in release mode than the following code. However, in debug mode it's slower.
|
||||
// return 1.0f + x * (1.0f + x * 0.5f * (1.0f + x * 0.3333333333f * (1.0f + x * 0.25 * (1.0f + x * 0.2f))));
|
||||
@ -74,7 +74,7 @@ namespace glm
|
||||
return T(1) + x + (x2 * T(0.5)) + (x3 * T(0.1666666667)) + (x4 * T(0.041666667)) + (x5 * T(0.008333333333));
|
||||
}
|
||||
/* // Try to handle all values of float... but often shower than std::exp, glm::floor and the loop kill the performance
|
||||
GLM_FUNC_QUALIFIER float fastExp(float x)
|
||||
inline float fastExp(float x)
|
||||
{
|
||||
const float e = 2.718281828f;
|
||||
const float IntegerPart = floor(x);
|
||||
@ -92,7 +92,7 @@ namespace glm
|
||||
}
|
||||
|
||||
// Increase accuracy on number bigger that 1 and smaller than -1 but it's not enough for high and negative numbers
|
||||
GLM_FUNC_QUALIFIER float fastExp(float x)
|
||||
inline float fastExp(float x)
|
||||
{
|
||||
// This has a better looking and same performance in release mode than the following code. However, in debug mode it's slower.
|
||||
// return 1.0f + x * (1.0f + x * 0.5f * (1.0f + x * 0.3333333333f * (1.0f + x * 0.25 * (1.0f + x * 0.2f))));
|
||||
@ -111,13 +111,13 @@ namespace glm
|
||||
|
||||
// fastLog
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastLog(genType const & x)
|
||||
inline genType fastLog(genType const & x)
|
||||
{
|
||||
return std::log(x);
|
||||
}
|
||||
|
||||
/* Slower than the VC7.1 function...
|
||||
GLM_FUNC_QUALIFIER float fastLog(float x)
|
||||
inline float fastLog(float x)
|
||||
{
|
||||
float y1 = (x - 1.0f) / (x + 1.0f);
|
||||
float y2 = y1 * y1;
|
||||
@ -129,7 +129,7 @@ namespace glm
|
||||
|
||||
//fastExp2, ln2 = 0.69314718055994530941723212145818f
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastExp2(genType const & x)
|
||||
inline genType fastExp2(genType const & x)
|
||||
{
|
||||
return fastExp(0.69314718055994530941723212145818f * x);
|
||||
}
|
||||
@ -138,7 +138,7 @@ namespace glm
|
||||
|
||||
// fastLog2, ln2 = 0.69314718055994530941723212145818f
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastLog2(genType const & x)
|
||||
inline genType fastLog2(genType const & x)
|
||||
{
|
||||
return fastLog(x) / 0.69314718055994530941723212145818f;
|
||||
}
|
||||
|
26
deps/glm/gtx/fast_square_root.inl
vendored
26
deps/glm/gtx/fast_square_root.inl
vendored
@ -11,7 +11,7 @@ namespace glm
|
||||
{
|
||||
// fastSqrt
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastSqrt
|
||||
inline genType fastSqrt
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -23,19 +23,19 @@ namespace glm
|
||||
|
||||
// fastInversesqrt
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER float fastInverseSqrt<float>(float const & x)
|
||||
inline float fastInverseSqrt<float>(float const & x)
|
||||
{
|
||||
return detail::compute_inversesqrt<detail::tvec1, float, lowp>::call(detail::tvec1<float, lowp>(x)).x;
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER double fastInverseSqrt<double>(double const & x)
|
||||
inline double fastInverseSqrt<double>(double const & x)
|
||||
{
|
||||
return detail::compute_inversesqrt<detail::tvec1, double, lowp>::call(detail::tvec1<double, lowp>(x)).x;
|
||||
}
|
||||
|
||||
template <template <class, precision> class vecType, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER vecType<T, P> fastInverseSqrt
|
||||
inline vecType<T, P> fastInverseSqrt
|
||||
(
|
||||
vecType<T, P> const & x
|
||||
)
|
||||
@ -47,7 +47,7 @@ namespace glm
|
||||
|
||||
// fastLength
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastLength
|
||||
inline genType fastLength
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -56,7 +56,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType, precision P>
|
||||
GLM_FUNC_QUALIFIER valType fastLength
|
||||
inline valType fastLength
|
||||
(
|
||||
detail::tvec2<valType, P> const & x
|
||||
)
|
||||
@ -66,7 +66,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType, precision P>
|
||||
GLM_FUNC_QUALIFIER valType fastLength
|
||||
inline valType fastLength
|
||||
(
|
||||
detail::tvec3<valType, P> const & x
|
||||
)
|
||||
@ -76,7 +76,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType, precision P>
|
||||
GLM_FUNC_QUALIFIER valType fastLength
|
||||
inline valType fastLength
|
||||
(
|
||||
detail::tvec4<valType, P> const & x
|
||||
)
|
||||
@ -87,7 +87,7 @@ namespace glm
|
||||
|
||||
// fastDistance
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastDistance
|
||||
inline genType fastDistance
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
@ -98,7 +98,7 @@ namespace glm
|
||||
|
||||
// fastNormalize
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastNormalize
|
||||
inline genType fastNormalize
|
||||
(
|
||||
genType const & x
|
||||
)
|
||||
@ -107,7 +107,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<valType, P> fastNormalize
|
||||
inline detail::tvec2<valType, P> fastNormalize
|
||||
(
|
||||
detail::tvec2<valType, P> const & x
|
||||
)
|
||||
@ -117,7 +117,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<valType, P> fastNormalize
|
||||
inline detail::tvec3<valType, P> fastNormalize
|
||||
(
|
||||
detail::tvec3<valType, P> const & x
|
||||
)
|
||||
@ -127,7 +127,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename valType, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<valType, P> fastNormalize
|
||||
inline detail::tvec4<valType, P> fastNormalize
|
||||
(
|
||||
detail::tvec4<valType, P> const & x
|
||||
)
|
||||
|
14
deps/glm/gtx/fast_trigonometry.inl
vendored
14
deps/glm/gtx/fast_trigonometry.inl
vendored
@ -11,7 +11,7 @@ namespace glm
|
||||
{
|
||||
// sin
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastSin(T const & x)
|
||||
inline T fastSin(T const & x)
|
||||
{
|
||||
return x - ((x * x * x) / T(6)) + ((x * x * x * x * x) / T(120)) - ((x * x * x * x * x * x * x) / T(5040));
|
||||
}
|
||||
@ -20,7 +20,7 @@ namespace glm
|
||||
|
||||
// cos
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastCos(T const & x)
|
||||
inline T fastCos(T const & x)
|
||||
{
|
||||
return T(1) - (x * x * T(0.5)) + (x * x * x * x * T(0.041666666666)) - (x * x * x * x * x * x * T(0.00138888888888));
|
||||
}
|
||||
@ -29,7 +29,7 @@ namespace glm
|
||||
|
||||
// tan
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastTan(T const & x)
|
||||
inline T fastTan(T const & x)
|
||||
{
|
||||
return x + (x * x * x * T(0.3333333333)) + (x * x * x * x * x * T(0.1333333333333)) + (x * x * x * x * x * x * x * T(0.0539682539));
|
||||
}
|
||||
@ -38,7 +38,7 @@ namespace glm
|
||||
|
||||
// asin
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastAsin(T const & x)
|
||||
inline T fastAsin(T const & x)
|
||||
{
|
||||
return x + (x * x * x * T(0.166666667)) + (x * x * x * x * x * T(0.075)) + (x * x * x * x * x * x * x * T(0.0446428571)) + (x * x * x * x * x * x * x * x * x * T(0.0303819444));// + (x * x * x * x * x * x * x * x * x * x * x * T(0.022372159));
|
||||
}
|
||||
@ -47,7 +47,7 @@ namespace glm
|
||||
|
||||
// acos
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastAcos(T const & x)
|
||||
inline T fastAcos(T const & x)
|
||||
{
|
||||
return T(1.5707963267948966192313216916398) - fastAsin(x); //(PI / 2)
|
||||
}
|
||||
@ -56,7 +56,7 @@ namespace glm
|
||||
|
||||
// atan
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastAtan(T const & y, T const & x)
|
||||
inline T fastAtan(T const & y, T const & x)
|
||||
{
|
||||
T sgn = sign(y) * sign(x);
|
||||
return abs(fastAtan(y / x)) * sgn;
|
||||
@ -65,7 +65,7 @@ namespace glm
|
||||
VECTORIZE_VEC_VEC(fastAtan)
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T fastAtan(T const & x)
|
||||
inline T fastAtan(T const & x)
|
||||
{
|
||||
return x - (x * x * x * T(0.333333333333)) + (x * x * x * x * x * T(0.2)) - (x * x * x * x * x * x * x * T(0.1428571429)) + (x * x * x * x * x * x * x * x * x * T(0.111111111111)) - (x * x * x * x * x * x * x * x * x * x * x * T(0.0909090909));
|
||||
}
|
||||
|
4
deps/glm/gtx/gradient_paint.inl
vendored
4
deps/glm/gtx/gradient_paint.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T radialGradient
|
||||
inline T radialGradient
|
||||
(
|
||||
detail::tvec2<T, P> const & Center,
|
||||
T const & Radius,
|
||||
@ -30,7 +30,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T linearGradient
|
||||
inline T linearGradient
|
||||
(
|
||||
detail::tvec2<T, P> const & Point0,
|
||||
detail::tvec2<T, P> const & Point1,
|
||||
|
4
deps/glm/gtx/handed_coordinate_space.inl
vendored
4
deps/glm/gtx/handed_coordinate_space.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool rightHanded
|
||||
inline bool rightHanded
|
||||
(
|
||||
detail::tvec3<T, P> const & tangent,
|
||||
detail::tvec3<T, P> const & binormal,
|
||||
@ -21,7 +21,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool leftHanded
|
||||
inline bool leftHanded
|
||||
(
|
||||
detail::tvec3<T, P> const & tangent,
|
||||
detail::tvec3<T, P> const & binormal,
|
||||
|
116
deps/glm/gtx/inertia.hpp
vendored
116
deps/glm/gtx/inertia.hpp
vendored
@ -1,116 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// OpenGL Mathematics (glm.g-truc.net)
|
||||
///
|
||||
/// Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net)
|
||||
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
/// of this software and associated documentation files (the "Software"), to deal
|
||||
/// in the Software without restriction, including without limitation the rights
|
||||
/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
/// copies of the Software, and to permit persons to whom the Software is
|
||||
/// furnished to do so, subject to the following conditions:
|
||||
///
|
||||
/// The above copyright notice and this permission notice shall be included in
|
||||
/// all copies or substantial portions of the Software.
|
||||
///
|
||||
/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
/// THE SOFTWARE.
|
||||
///
|
||||
/// @ref gtx_inertia
|
||||
/// @file glm/gtx/inertia.hpp
|
||||
/// @date 2006-04-21 / 2011-06-07
|
||||
/// @author Christophe Riccio
|
||||
///
|
||||
/// @see core (dependence)
|
||||
/// @see gtx_extented_min_max (dependence)
|
||||
///
|
||||
/// @defgroup gtx_inertia GLM_GTX_inertia
|
||||
/// @ingroup gtx
|
||||
///
|
||||
/// @brief Create inertia matrices
|
||||
///
|
||||
/// <glm/gtx/inertia.hpp> need to be included to use these functionalities.
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef GLM_GTX_inertia
|
||||
#define GLM_GTX_inertia
|
||||
|
||||
// Dependency:
|
||||
#include "../glm.hpp"
|
||||
|
||||
#if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
|
||||
# pragma message("GLM: GLM_GTX_inertia extension included")
|
||||
#endif
|
||||
|
||||
namespace glm
|
||||
{
|
||||
/*
|
||||
/// @addtogroup gtx_inertia
|
||||
/// @{
|
||||
|
||||
//! Build an inertia matrix for a box.
|
||||
//! From GLM_GTX_inertia extension.
|
||||
template <typename T, precision P>
|
||||
detail::tmat3x3<T, P> boxInertia3(
|
||||
T const & Mass,
|
||||
detail::tvec3<T, P> const & Scale);
|
||||
|
||||
//! Build an inertia matrix for a box.
|
||||
//! From GLM_GTX_inertia extension.
|
||||
template <typename T, precision P>
|
||||
detail::tmat4x4<T, P> boxInertia4(
|
||||
T const & Mass,
|
||||
detail::tvec3<T, P> const & Scale);
|
||||
|
||||
//! Build an inertia matrix for a disk.
|
||||
//! From GLM_GTX_inertia extension.
|
||||
template <typename T, precision P>
|
||||
detail::tmat3x3<T, P> diskInertia3(
|
||||
T const & Mass,
|
||||
T const & Radius);
|
||||
|
||||
//! Build an inertia matrix for a disk.
|
||||
//! From GLM_GTX_inertia extension.
|
||||
template <typename T, precision P>
|
||||
detail::tmat4x4<T, P> diskInertia4(
|
||||
T const & Mass,
|
||||
T const & Radius);
|
||||
|
||||
//! Build an inertia matrix for a ball.
|
||||
//! From GLM_GTX_inertia extension.
|
||||
template <typename T, precision P>
|
||||
detail::tmat3x3<T, P> ballInertia3(
|
||||
T const & Mass,
|
||||
T const & Radius);
|
||||
|
||||
//! Build an inertia matrix for a ball.
|
||||
//! From GLM_GTX_inertia extension.
|
||||
template <typename T, precision P>
|
||||
detail::tmat4x4<T, P> ballInertia4(
|
||||
T const & Mass,
|
||||
T const & Radius);
|
||||
|
||||
//! Build an inertia matrix for a sphere.
|
||||
//! From GLM_GTX_inertia extension.
|
||||
template <typename T, precision P>
|
||||
detail::tmat3x3<T, P> sphereInertia3(
|
||||
T const & Mass,
|
||||
T const & Radius);
|
||||
|
||||
//! Build an inertia matrix for a sphere.
|
||||
//! From GLM_GTX_inertia extension.
|
||||
template <typename T, precision P>
|
||||
detail::tmat4x4<T, P> sphereInertia4(
|
||||
T const & Mass,
|
||||
T const & Radius);
|
||||
*/
|
||||
/// @}
|
||||
}// namespace glm
|
||||
|
||||
#include "inertia.inl"
|
||||
|
||||
#endif//GLM_GTX_inertia
|
116
deps/glm/gtx/inertia.inl
vendored
116
deps/glm/gtx/inertia.inl
vendored
@ -1,116 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// OpenGL Mathematics Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net)
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Created : 2006-04-21
|
||||
// Updated : 2006-12-06
|
||||
// Licence : This source is under MIT License
|
||||
// File : glm/gtx/inertia.inl
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
namespace glm
|
||||
{
|
||||
/*
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> boxInertia3
|
||||
(
|
||||
T const & Mass,
|
||||
detail::tvec3<T, P> const & Scale
|
||||
)
|
||||
{
|
||||
detail::tmat3x3<T, P> Result(T(1));
|
||||
Result[0][0] = (Scale.y * Scale.y + Scale.z * Scale.z) * Mass / T(12);
|
||||
Result[1][1] = (Scale.x * Scale.x + Scale.z * Scale.z) * Mass / T(12);
|
||||
Result[2][2] = (Scale.x * Scale.x + Scale.y * Scale.y) * Mass / T(12);
|
||||
return Result;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> boxInertia4
|
||||
(
|
||||
T const & Mass,
|
||||
detail::tvec3<T, P> const & Scale
|
||||
)
|
||||
{
|
||||
detail::tmat4x4<T, P> Result(T(1));
|
||||
Result[0][0] = (Scale.y * Scale.y + Scale.z * Scale.z) * Mass / T(12);
|
||||
Result[1][1] = (Scale.x * Scale.x + Scale.z * Scale.z) * Mass / T(12);
|
||||
Result[2][2] = (Scale.x * Scale.x + Scale.y * Scale.y) * Mass / T(12);
|
||||
return Result;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> diskInertia3
|
||||
(
|
||||
T const & Mass,
|
||||
T const & Radius
|
||||
)
|
||||
{
|
||||
T a = Mass * Radius * Radius / T(2);
|
||||
detail::tmat3x3<T, P> Result(a);
|
||||
Result[2][2] *= static_cast<T>(2);
|
||||
return Result;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> diskInertia4
|
||||
(
|
||||
T const & Mass,
|
||||
T const & Radius
|
||||
)
|
||||
{
|
||||
T a = Mass * Radius * Radius / T(2);
|
||||
detail::tmat4x4<T, P> Result(a);
|
||||
Result[2][2] *= static_cast<T>(2);
|
||||
Result[3][3] = static_cast<T>(1);
|
||||
return Result;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> ballInertia3
|
||||
(
|
||||
T const & Mass,
|
||||
T const & Radius
|
||||
)
|
||||
{
|
||||
T a = static_cast<T>(2) * Mass * Radius * Radius / T(5);
|
||||
return detail::tmat3x3<T, P>(a);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> ballInertia4
|
||||
(
|
||||
T const & Mass,
|
||||
T const & Radius
|
||||
)
|
||||
{
|
||||
T a = static_cast<T>(2) * Mass * Radius * Radius / T(5);
|
||||
detail::tmat4x4<T, P> Result(a);
|
||||
Result[3][3] = static_cast<T>(1);
|
||||
return Result;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> sphereInertia3
|
||||
(
|
||||
T const & Mass,
|
||||
T const & Radius
|
||||
)
|
||||
{
|
||||
T a = static_cast<T>(2) * Mass * Radius * Radius / T(3);
|
||||
return detail::tmat3x3<T, P>(a);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> sphereInertia4
|
||||
(
|
||||
T const & Mass,
|
||||
T const & Radius
|
||||
)
|
||||
{
|
||||
T a = static_cast<T>(2) * Mass * Radius * Radius / T(3);
|
||||
detail::tmat4x4<T, P> Result(a);
|
||||
Result[3][3] = static_cast<T>(1);
|
||||
return Result;
|
||||
}
|
||||
*/
|
||||
}//namespace glm
|
2
deps/glm/gtx/int_10_10_10_2.inl
vendored
2
deps/glm/gtx/int_10_10_10_2.inl
vendored
@ -23,7 +23,7 @@
|
||||
|
||||
namespace glm
|
||||
{
|
||||
GLM_FUNC_QUALIFIER dword uint10_10_10_2_cast
|
||||
inline dword uint10_10_10_2_cast
|
||||
(
|
||||
glm::vec4 const & v
|
||||
)
|
||||
|
30
deps/glm/gtx/integer.inl
vendored
30
deps/glm/gtx/integer.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
// pow
|
||||
GLM_FUNC_QUALIFIER int pow(int x, int y)
|
||||
inline int pow(int x, int y)
|
||||
{
|
||||
if(y == 0)
|
||||
return 1;
|
||||
@ -21,7 +21,7 @@ namespace glm
|
||||
}
|
||||
|
||||
// sqrt: From Christopher J. Musial, An integer square root, Graphics Gems, 1990, page 387
|
||||
GLM_FUNC_QUALIFIER int sqrt(int x)
|
||||
inline int sqrt(int x)
|
||||
{
|
||||
if(x <= 1) return x;
|
||||
|
||||
@ -40,7 +40,7 @@ namespace glm
|
||||
// Henry Gordon Dietz: http://aggregate.org/MAGIC/
|
||||
namespace detail
|
||||
{
|
||||
GLM_FUNC_QUALIFIER unsigned int ones32(unsigned int x)
|
||||
inline unsigned int ones32(unsigned int x)
|
||||
{
|
||||
/* 32-bit recursive reduction using SWAR...
|
||||
but first step is mapping 2-bit values
|
||||
@ -58,7 +58,7 @@ namespace detail
|
||||
struct compute_log2<false>
|
||||
{
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T operator() (T const & Value) const
|
||||
inline T operator() (T const & Value) const
|
||||
{
|
||||
#if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_GCC))
|
||||
return Value <= static_cast<T>(1) ? T(0) : T(32) - nlz(Value - T(1));
|
||||
@ -71,7 +71,7 @@ namespace detail
|
||||
|
||||
// Henry Gordon Dietz: http://aggregate.org/MAGIC/
|
||||
/*
|
||||
GLM_FUNC_QUALIFIER unsigned int floor_log2(unsigned int x)
|
||||
inline unsigned int floor_log2(unsigned int x)
|
||||
{
|
||||
x |= (x >> 1);
|
||||
x |= (x >> 2);
|
||||
@ -83,14 +83,14 @@ namespace detail
|
||||
}
|
||||
*/
|
||||
// mod
|
||||
GLM_FUNC_QUALIFIER int mod(int x, int y)
|
||||
inline int mod(int x, int y)
|
||||
{
|
||||
return x - y * (x / y);
|
||||
}
|
||||
|
||||
// factorial (!12 max, integer only)
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType factorial(genType const & x)
|
||||
inline genType factorial(genType const & x)
|
||||
{
|
||||
genType Temp = x;
|
||||
genType Result;
|
||||
@ -100,7 +100,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> factorial(
|
||||
inline detail::tvec2<T, P> factorial(
|
||||
detail::tvec2<T, P> const & x)
|
||||
{
|
||||
return detail::tvec2<T, P>(
|
||||
@ -109,7 +109,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> factorial(
|
||||
inline detail::tvec3<T, P> factorial(
|
||||
detail::tvec3<T, P> const & x)
|
||||
{
|
||||
return detail::tvec3<T, P>(
|
||||
@ -119,7 +119,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> factorial(
|
||||
inline detail::tvec4<T, P> factorial(
|
||||
detail::tvec4<T, P> const & x)
|
||||
{
|
||||
return detail::tvec4<T, P>(
|
||||
@ -129,7 +129,7 @@ namespace detail
|
||||
factorial(x.w));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint pow(uint x, uint y)
|
||||
inline uint pow(uint x, uint y)
|
||||
{
|
||||
uint result = x;
|
||||
for(uint i = 1; i < y; ++i)
|
||||
@ -137,7 +137,7 @@ namespace detail
|
||||
return result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint sqrt(uint x)
|
||||
inline uint sqrt(uint x)
|
||||
{
|
||||
if(x <= 1) return x;
|
||||
|
||||
@ -153,14 +153,14 @@ namespace detail
|
||||
return CurrentAnswer;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint mod(uint x, uint y)
|
||||
inline uint mod(uint x, uint y)
|
||||
{
|
||||
return x - y * (x / y);
|
||||
}
|
||||
|
||||
#if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_GCC))
|
||||
|
||||
GLM_FUNC_QUALIFIER unsigned int nlz(unsigned int x)
|
||||
inline unsigned int nlz(unsigned int x)
|
||||
{
|
||||
return 31u - findMSB(x);
|
||||
}
|
||||
@ -168,7 +168,7 @@ namespace detail
|
||||
#else
|
||||
|
||||
// Hackers Delight: http://www.hackersdelight.org/HDcode/nlz.c.txt
|
||||
GLM_FUNC_QUALIFIER unsigned int nlz(unsigned int x)
|
||||
inline unsigned int nlz(unsigned int x)
|
||||
{
|
||||
int y, m, n;
|
||||
|
||||
|
14
deps/glm/gtx/intersect.inl
vendored
14
deps/glm/gtx/intersect.inl
vendored
@ -14,7 +14,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool intersectRayPlane
|
||||
inline bool intersectRayPlane
|
||||
(
|
||||
genType const & orig, genType const & dir,
|
||||
genType const & planeOrig, genType const & planeNormal,
|
||||
@ -34,7 +34,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool intersectRayTriangle
|
||||
inline bool intersectRayTriangle
|
||||
(
|
||||
genType const & orig, genType const & dir,
|
||||
genType const & v0, genType const & v1, genType const & v2,
|
||||
@ -74,7 +74,7 @@ namespace glm
|
||||
}
|
||||
|
||||
//template <typename genType>
|
||||
//GLM_FUNC_QUALIFIER bool intersectRayTriangle
|
||||
//inline bool intersectRayTriangle
|
||||
//(
|
||||
// genType const & orig, genType const & dir,
|
||||
// genType const & vert0, genType const & vert1, genType const & vert2,
|
||||
@ -111,7 +111,7 @@ namespace glm
|
||||
//}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool intersectLineTriangle
|
||||
inline bool intersectLineTriangle
|
||||
(
|
||||
genType const & orig, genType const & dir,
|
||||
genType const & vert0, genType const & vert1, genType const & vert2,
|
||||
@ -149,7 +149,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool intersectRaySphere
|
||||
inline bool intersectRaySphere
|
||||
(
|
||||
genType const & rayStarting, genType const & rayNormalizedDirection,
|
||||
genType const & sphereCenter, const typename genType::value_type sphereRadiusSquered,
|
||||
@ -170,7 +170,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool intersectRaySphere
|
||||
inline bool intersectRaySphere
|
||||
(
|
||||
genType const & rayStarting, genType const & rayNormalizedDirection,
|
||||
genType const & sphereCenter, const typename genType::value_type sphereRadius,
|
||||
@ -188,7 +188,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER bool intersectLineSphere
|
||||
inline bool intersectLineSphere
|
||||
(
|
||||
genType const & point0, genType const & point1,
|
||||
genType const & sphereCenter, typename genType::value_type sphereRadius,
|
||||
|
50
deps/glm/gtx/io.inl
vendored
50
deps/glm/gtx/io.inl
vendored
@ -17,81 +17,81 @@ namespace glm{
|
||||
namespace io
|
||||
{
|
||||
|
||||
/* explicit */ GLM_FUNC_QUALIFIER
|
||||
/* explicit */ inline
|
||||
precision_guard::precision_guard()
|
||||
: precision_ (precision()),
|
||||
value_width_(value_width())
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER
|
||||
inline
|
||||
precision_guard::~precision_guard()
|
||||
{
|
||||
value_width() = value_width_;
|
||||
precision() = precision_;
|
||||
}
|
||||
|
||||
/* explicit */ GLM_FUNC_QUALIFIER
|
||||
/* explicit */ inline
|
||||
format_guard::format_guard()
|
||||
: order_(order()),
|
||||
cr_ (cr())
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER
|
||||
inline
|
||||
format_guard::~format_guard()
|
||||
{
|
||||
cr() = cr_;
|
||||
order() = order_;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER unsigned& precision()
|
||||
inline unsigned& precision()
|
||||
{
|
||||
static unsigned p(3);
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER unsigned& value_width()
|
||||
inline unsigned& value_width()
|
||||
{
|
||||
static unsigned p(9);
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER format_guard::order_t& order()
|
||||
inline format_guard::order_t& order()
|
||||
{
|
||||
static format_guard::order_t p(format_guard::row_major);
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER char&
|
||||
inline char&
|
||||
cr()
|
||||
{
|
||||
static char p('\n'); return p;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER std::ios_base& column_major(std::ios_base& os)
|
||||
inline std::ios_base& column_major(std::ios_base& os)
|
||||
{
|
||||
order() = format_guard::column_major;
|
||||
|
||||
return os;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER std::ios_base& row_major(std::ios_base& os)
|
||||
inline std::ios_base& row_major(std::ios_base& os)
|
||||
{
|
||||
order() = format_guard::row_major;
|
||||
|
||||
return os;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER std::ios_base& formatted(std::ios_base& os)
|
||||
inline std::ios_base& formatted(std::ios_base& os)
|
||||
{
|
||||
cr() = '\n';
|
||||
|
||||
return os;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER std::ios_base& unformatted(std::ios_base& os)
|
||||
inline std::ios_base& unformatted(std::ios_base& os)
|
||||
{
|
||||
cr() = ' ';
|
||||
|
||||
@ -104,7 +104,7 @@ namespace detail
|
||||
// functions, inlined (inline)
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tquat<T,P> const& a)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tquat<T,P> const& a)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -124,7 +124,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tvec2<T,P> const& a)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tvec2<T,P> const& a)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -142,7 +142,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tvec3<T,P> const& a)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tvec3<T,P> const& a)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -161,7 +161,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tvec4<T,P> const& a)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tvec4<T,P> const& a)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -181,7 +181,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat2x2<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat2x2<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -196,7 +196,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat2x3<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat2x3<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -211,7 +211,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat2x4<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat2x4<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -226,7 +226,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat3x2<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat3x2<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -242,7 +242,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat3x3<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat3x3<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -258,7 +258,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat3x4<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat3x4<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -274,7 +274,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat4x2<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat4x2<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -291,7 +291,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat4x3<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat4x3<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
@ -308,7 +308,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename CTy, typename CTr, typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat4x4<T,P> const& m)
|
||||
inline std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>& os, tmat4x4<T,P> const& m)
|
||||
{
|
||||
typename std::basic_ostream<CTy,CTr>::sentry const cerberus(os);
|
||||
|
||||
|
2
deps/glm/gtx/log_base.inl
vendored
2
deps/glm/gtx/log_base.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType log(
|
||||
inline genType log(
|
||||
genType const & x,
|
||||
genType const & base)
|
||||
{
|
||||
|
4
deps/glm/gtx/matrix_cross_product.inl
vendored
4
deps/glm/gtx/matrix_cross_product.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> matrixCross3
|
||||
inline detail::tmat3x3<T, P> matrixCross3
|
||||
(
|
||||
detail::tvec3<T, P> const & x
|
||||
)
|
||||
@ -26,7 +26,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> matrixCross4
|
||||
inline detail::tmat4x4<T, P> matrixCross4
|
||||
(
|
||||
detail::tvec3<T, P> const & x
|
||||
)
|
||||
|
8
deps/glm/gtx/matrix_interpolation.inl
vendored
8
deps/glm/gtx/matrix_interpolation.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER void axisAngle
|
||||
inline void axisAngle
|
||||
(
|
||||
detail::tmat4x4<T, P> const & mat,
|
||||
detail::tvec3<T, P> & axis,
|
||||
@ -85,7 +85,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> axisAngleMatrix
|
||||
inline detail::tmat4x4<T, P> axisAngleMatrix
|
||||
(
|
||||
detail::tvec3<T, P> const & axis,
|
||||
T const angle
|
||||
@ -105,7 +105,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> extractMatrixRotation
|
||||
inline detail::tmat4x4<T, P> extractMatrixRotation
|
||||
(
|
||||
detail::tmat4x4<T, P> const & mat
|
||||
)
|
||||
@ -119,7 +119,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> interpolate
|
||||
inline detail::tmat4x4<T, P> interpolate
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m1,
|
||||
detail::tmat4x4<T, P> const & m2,
|
||||
|
24
deps/glm/gtx/matrix_major_storage.inl
vendored
24
deps/glm/gtx/matrix_major_storage.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, P> rowMajor2
|
||||
inline detail::tmat2x2<T, P> rowMajor2
|
||||
(
|
||||
detail::tvec2<T, P> const & v1,
|
||||
detail::tvec2<T, P> const & v2
|
||||
@ -25,7 +25,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, P> rowMajor2(
|
||||
inline detail::tmat2x2<T, P> rowMajor2(
|
||||
const detail::tmat2x2<T, P>& m)
|
||||
{
|
||||
detail::tmat2x2<T, P> Result;
|
||||
@ -37,7 +37,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> rowMajor3(
|
||||
inline detail::tmat3x3<T, P> rowMajor3(
|
||||
const detail::tvec3<T, P>& v1,
|
||||
const detail::tvec3<T, P>& v2,
|
||||
const detail::tvec3<T, P>& v3)
|
||||
@ -56,7 +56,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> rowMajor3(
|
||||
inline detail::tmat3x3<T, P> rowMajor3(
|
||||
const detail::tmat3x3<T, P>& m)
|
||||
{
|
||||
detail::tmat3x3<T, P> Result;
|
||||
@ -73,7 +73,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> rowMajor4(
|
||||
inline detail::tmat4x4<T, P> rowMajor4(
|
||||
const detail::tvec4<T, P>& v1,
|
||||
const detail::tvec4<T, P>& v2,
|
||||
const detail::tvec4<T, P>& v3,
|
||||
@ -100,7 +100,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> rowMajor4(
|
||||
inline detail::tmat4x4<T, P> rowMajor4(
|
||||
const detail::tmat4x4<T, P>& m)
|
||||
{
|
||||
detail::tmat4x4<T, P> Result;
|
||||
@ -124,7 +124,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, P> colMajor2(
|
||||
inline detail::tmat2x2<T, P> colMajor2(
|
||||
const detail::tvec2<T, P>& v1,
|
||||
const detail::tvec2<T, P>& v2)
|
||||
{
|
||||
@ -132,14 +132,14 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, P> colMajor2(
|
||||
inline detail::tmat2x2<T, P> colMajor2(
|
||||
const detail::tmat2x2<T, P>& m)
|
||||
{
|
||||
return detail::tmat2x2<T, P>(m);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> colMajor3(
|
||||
inline detail::tmat3x3<T, P> colMajor3(
|
||||
const detail::tvec3<T, P>& v1,
|
||||
const detail::tvec3<T, P>& v2,
|
||||
const detail::tvec3<T, P>& v3)
|
||||
@ -148,14 +148,14 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> colMajor3(
|
||||
inline detail::tmat3x3<T, P> colMajor3(
|
||||
const detail::tmat3x3<T, P>& m)
|
||||
{
|
||||
return detail::tmat3x3<T, P>(m);
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> colMajor4(
|
||||
inline detail::tmat4x4<T, P> colMajor4(
|
||||
const detail::tvec4<T, P>& v1,
|
||||
const detail::tvec4<T, P>& v2,
|
||||
const detail::tvec4<T, P>& v3,
|
||||
@ -165,7 +165,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> colMajor4(
|
||||
inline detail::tmat4x4<T, P> colMajor4(
|
||||
const detail::tmat4x4<T, P>& m)
|
||||
{
|
||||
return detail::tmat4x4<T, P>(m);
|
||||
|
18
deps/glm/gtx/matrix_operation.inl
vendored
18
deps/glm/gtx/matrix_operation.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T, P> diagonal2x2
|
||||
inline detail::tmat2x2<T, P> diagonal2x2
|
||||
(
|
||||
detail::tvec2<T, P> const & v
|
||||
)
|
||||
@ -22,7 +22,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x3<T, P> diagonal2x3
|
||||
inline detail::tmat2x3<T, P> diagonal2x3
|
||||
(
|
||||
detail::tvec2<T, P> const & v
|
||||
)
|
||||
@ -34,7 +34,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x4<T, P> diagonal2x4
|
||||
inline detail::tmat2x4<T, P> diagonal2x4
|
||||
(
|
||||
detail::tvec2<T, P> const & v
|
||||
)
|
||||
@ -46,7 +46,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x2<T, P> diagonal3x2
|
||||
inline detail::tmat3x2<T, P> diagonal3x2
|
||||
(
|
||||
detail::tvec2<T, P> const & v
|
||||
)
|
||||
@ -58,7 +58,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> diagonal3x3
|
||||
inline detail::tmat3x3<T, P> diagonal3x3
|
||||
(
|
||||
detail::tvec3<T, P> const & v
|
||||
)
|
||||
@ -71,7 +71,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x4<T, P> diagonal3x4
|
||||
inline detail::tmat3x4<T, P> diagonal3x4
|
||||
(
|
||||
detail::tvec3<T, P> const & v
|
||||
)
|
||||
@ -84,7 +84,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> diagonal4x4
|
||||
inline detail::tmat4x4<T, P> diagonal4x4
|
||||
(
|
||||
detail::tvec4<T, P> const & v
|
||||
)
|
||||
@ -98,7 +98,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x3<T, P> diagonal4x3
|
||||
inline detail::tmat4x3<T, P> diagonal4x3
|
||||
(
|
||||
detail::tvec3<T, P> const & v
|
||||
)
|
||||
@ -111,7 +111,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x2<T, P> diagonal4x2
|
||||
inline detail::tmat4x2<T, P> diagonal4x2
|
||||
(
|
||||
detail::tvec2<T, P> const & v
|
||||
)
|
||||
|
16
deps/glm/gtx/matrix_query.inl
vendored
16
deps/glm/gtx/matrix_query.inl
vendored
@ -13,7 +13,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool isNull(detail::tmat2x2<T, P> const & m, T const & epsilon)
|
||||
inline bool isNull(detail::tmat2x2<T, P> const & m, T const & epsilon)
|
||||
{
|
||||
bool result = true;
|
||||
for(length_t i = 0; result && i < 2 ; ++i)
|
||||
@ -22,7 +22,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool isNull(detail::tmat3x3<T, P> const & m, T const & epsilon)
|
||||
inline bool isNull(detail::tmat3x3<T, P> const & m, T const & epsilon)
|
||||
{
|
||||
bool result = true;
|
||||
for(length_t i = 0; result && i < 3 ; ++i)
|
||||
@ -31,7 +31,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool isNull(detail::tmat4x4<T, P> const & m, T const & epsilon)
|
||||
inline bool isNull(detail::tmat4x4<T, P> const & m, T const & epsilon)
|
||||
{
|
||||
bool result = true;
|
||||
for(length_t i = 0; result && i < 4 ; ++i)
|
||||
@ -40,7 +40,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P, template <typename, precision> class matType>
|
||||
GLM_FUNC_QUALIFIER bool isIdentity(matType<T, P> const & m, T const & epsilon)
|
||||
inline bool isIdentity(matType<T, P> const & m, T const & epsilon)
|
||||
{
|
||||
bool result = true;
|
||||
for(length_t i(0); result && i < m[0].length(); ++i)
|
||||
@ -56,7 +56,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool isNormalized(detail::tmat2x2<T, P> const & m, T const & epsilon)
|
||||
inline bool isNormalized(detail::tmat2x2<T, P> const & m, T const & epsilon)
|
||||
{
|
||||
bool result(true);
|
||||
for(length_t i(0); result && i < m.length(); ++i)
|
||||
@ -72,7 +72,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool isNormalized(detail::tmat3x3<T, P> const & m, T const & epsilon)
|
||||
inline bool isNormalized(detail::tmat3x3<T, P> const & m, T const & epsilon)
|
||||
{
|
||||
bool result(true);
|
||||
for(length_t i(0); result && i < m.length(); ++i)
|
||||
@ -88,7 +88,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER bool isNormalized(detail::tmat4x4<T, P> const & m, T const & epsilon)
|
||||
inline bool isNormalized(detail::tmat4x4<T, P> const & m, T const & epsilon)
|
||||
{
|
||||
bool result(true);
|
||||
for(length_t i(0); result && i < m.length(); ++i)
|
||||
@ -104,7 +104,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template<typename T, precision P, template <typename, precision> class matType>
|
||||
GLM_FUNC_QUALIFIER bool isOrthogonal(matType<T, P> const & m, T const & epsilon)
|
||||
inline bool isOrthogonal(matType<T, P> const & m, T const & epsilon)
|
||||
{
|
||||
bool result(true);
|
||||
for(length_t i(0); result && i < m.length() - 1; ++i)
|
||||
|
10
deps/glm/gtx/matrix_transform_2d.hpp
vendored
10
deps/glm/gtx/matrix_transform_2d.hpp
vendored
@ -57,7 +57,7 @@ namespace glm
|
||||
/// @param m Input matrix multiplied by this translation matrix.
|
||||
/// @param v Coordinates of a translation vector.
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> translate(
|
||||
inline detail::tmat3x3<T, P> translate(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
detail::tvec2<T, P> const & v);
|
||||
|
||||
@ -66,7 +66,7 @@ namespace glm
|
||||
/// @param m Input matrix multiplied by this translation matrix.
|
||||
/// @param angle Rotation angle expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> rotate(
|
||||
inline detail::tmat3x3<T, P> rotate(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
T const & angle);
|
||||
|
||||
@ -75,7 +75,7 @@ namespace glm
|
||||
/// @param m Input matrix multiplied by this translation matrix.
|
||||
/// @param v Coordinates of a scale vector.
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> scale(
|
||||
inline detail::tmat3x3<T, P> scale(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
detail::tvec2<T, P> const & v);
|
||||
|
||||
@ -84,7 +84,7 @@ namespace glm
|
||||
/// @param m Input matrix multiplied by this translation matrix.
|
||||
/// @param y Shear factor.
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> shearX(
|
||||
inline detail::tmat3x3<T, P> shearX(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
T const & y);
|
||||
|
||||
@ -93,7 +93,7 @@ namespace glm
|
||||
/// @param m Input matrix multiplied by this translation matrix.
|
||||
/// @param x Shear factor.
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> shearY(
|
||||
inline detail::tmat3x3<T, P> shearY(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
T const & x);
|
||||
|
||||
|
10
deps/glm/gtx/matrix_transform_2d.inl
vendored
10
deps/glm/gtx/matrix_transform_2d.inl
vendored
@ -32,7 +32,7 @@ namespace glm
|
||||
{
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> translate(
|
||||
inline detail::tmat3x3<T, P> translate(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
detail::tvec2<T, P> const & v)
|
||||
{
|
||||
@ -43,7 +43,7 @@ namespace glm
|
||||
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> rotate(
|
||||
inline detail::tmat3x3<T, P> rotate(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
T const & angle)
|
||||
{
|
||||
@ -63,7 +63,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> scale(
|
||||
inline detail::tmat3x3<T, P> scale(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
detail::tvec2<T, P> const & v)
|
||||
{
|
||||
@ -75,7 +75,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> shearX(
|
||||
inline detail::tmat3x3<T, P> shearX(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
T const & y)
|
||||
{
|
||||
@ -85,7 +85,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> shearY(
|
||||
inline detail::tmat3x3<T, P> shearY(
|
||||
detail::tmat3x3<T, P> const & m,
|
||||
T const & x)
|
||||
{
|
||||
|
2
deps/glm/gtx/mixed_product.inl
vendored
2
deps/glm/gtx/mixed_product.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T mixedProduct
|
||||
inline T mixedProduct
|
||||
(
|
||||
detail::tvec3<T, P> const & v1,
|
||||
detail::tvec3<T, P> const & v2,
|
||||
|
19
deps/glm/gtx/multiple.inl
vendored
19
deps/glm/gtx/multiple.inl
vendored
@ -17,7 +17,7 @@ namespace detail
|
||||
struct higherMultiple
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType operator()
|
||||
inline genType operator()
|
||||
(
|
||||
genType const & Source,
|
||||
genType const & Multiple
|
||||
@ -28,8 +28,7 @@ namespace detail
|
||||
genType Tmp = Source - genType(1);
|
||||
return Tmp + (Multiple - (Tmp % Multiple));
|
||||
}
|
||||
else
|
||||
return Source + (-Source % Multiple);
|
||||
return Source + (-Source % Multiple);
|
||||
}
|
||||
};
|
||||
|
||||
@ -37,7 +36,7 @@ namespace detail
|
||||
struct higherMultiple<false>
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType operator()
|
||||
inline genType operator()
|
||||
(
|
||||
genType const & Source,
|
||||
genType const & Multiple
|
||||
@ -53,7 +52,7 @@ namespace detail
|
||||
// higherMultiple
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType higherMultiple
|
||||
inline genType higherMultiple
|
||||
(
|
||||
genType const & Source,
|
||||
genType const & Multiple
|
||||
@ -64,7 +63,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER float higherMultiple
|
||||
inline float higherMultiple
|
||||
(
|
||||
float const & Source,
|
||||
float const & Multiple
|
||||
@ -80,7 +79,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER double higherMultiple
|
||||
inline double higherMultiple
|
||||
(
|
||||
double const & Source,
|
||||
double const & Multiple
|
||||
@ -101,7 +100,7 @@ namespace detail
|
||||
// lowerMultiple
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType lowerMultiple
|
||||
inline genType lowerMultiple
|
||||
(
|
||||
genType const & Source,
|
||||
genType const & Multiple
|
||||
@ -117,7 +116,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER float lowerMultiple
|
||||
inline float lowerMultiple
|
||||
(
|
||||
float const & Source,
|
||||
float const & Multiple
|
||||
@ -133,7 +132,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <>
|
||||
GLM_FUNC_QUALIFIER double lowerMultiple
|
||||
inline double lowerMultiple
|
||||
(
|
||||
double const & Source,
|
||||
double const & Multiple
|
||||
|
28
deps/glm/gtx/norm.inl
vendored
28
deps/glm/gtx/norm.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T length2
|
||||
inline T length2
|
||||
(
|
||||
T const & x
|
||||
)
|
||||
@ -19,7 +19,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T length2
|
||||
inline T length2
|
||||
(
|
||||
detail::tvec2<T, P> const & x
|
||||
)
|
||||
@ -28,7 +28,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T length2
|
||||
inline T length2
|
||||
(
|
||||
detail::tvec3<T, P> const & x
|
||||
)
|
||||
@ -37,7 +37,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T length2
|
||||
inline T length2
|
||||
(
|
||||
detail::tvec4<T, P> const & x
|
||||
)
|
||||
@ -46,7 +46,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER T distance2
|
||||
inline T distance2
|
||||
(
|
||||
T const & p0,
|
||||
T const & p1
|
||||
@ -56,7 +56,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T distance2
|
||||
inline T distance2
|
||||
(
|
||||
detail::tvec2<T, P> const & p0,
|
||||
detail::tvec2<T, P> const & p1
|
||||
@ -66,7 +66,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T distance2
|
||||
inline T distance2
|
||||
(
|
||||
detail::tvec3<T, P> const & p0,
|
||||
detail::tvec3<T, P> const & p1
|
||||
@ -76,7 +76,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T distance2
|
||||
inline T distance2
|
||||
(
|
||||
detail::tvec4<T, P> const & p0,
|
||||
detail::tvec4<T, P> const & p1
|
||||
@ -86,7 +86,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T l1Norm
|
||||
inline T l1Norm
|
||||
(
|
||||
detail::tvec3<T, P> const & a,
|
||||
detail::tvec3<T, P> const & b
|
||||
@ -96,7 +96,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T l1Norm
|
||||
inline T l1Norm
|
||||
(
|
||||
detail::tvec3<T, P> const & v
|
||||
)
|
||||
@ -105,7 +105,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T l2Norm
|
||||
inline T l2Norm
|
||||
(
|
||||
detail::tvec3<T, P> const & a,
|
||||
detail::tvec3<T, P> const & b
|
||||
@ -115,7 +115,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T l2Norm
|
||||
inline T l2Norm
|
||||
(
|
||||
detail::tvec3<T, P> const & v
|
||||
)
|
||||
@ -124,7 +124,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T lxNorm
|
||||
inline T lxNorm
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<T, P> const & y,
|
||||
@ -135,7 +135,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T lxNorm
|
||||
inline T lxNorm
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
unsigned int Depth
|
||||
|
2
deps/glm/gtx/normal.inl
vendored
2
deps/glm/gtx/normal.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> triangleNormal
|
||||
inline detail::tvec3<T, P> triangleNormal
|
||||
(
|
||||
detail::tvec3<T, P> const & p1,
|
||||
detail::tvec3<T, P> const & p2,
|
||||
|
16
deps/glm/gtx/normalize_dot.inl
vendored
16
deps/glm/gtx/normalize_dot.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType normalizeDot
|
||||
inline genType normalizeDot
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
@ -23,7 +23,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T normalizeDot
|
||||
inline T normalizeDot
|
||||
(
|
||||
detail::tvec2<T, P> const & x,
|
||||
detail::tvec2<T, P> const & y
|
||||
@ -36,7 +36,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T normalizeDot
|
||||
inline T normalizeDot
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<T, P> const & y
|
||||
@ -49,7 +49,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T normalizeDot
|
||||
inline T normalizeDot
|
||||
(
|
||||
detail::tvec4<T, P> const & x,
|
||||
detail::tvec4<T, P> const & y
|
||||
@ -62,7 +62,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType fastNormalizeDot
|
||||
inline genType fastNormalizeDot
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
@ -75,7 +75,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T fastNormalizeDot
|
||||
inline T fastNormalizeDot
|
||||
(
|
||||
detail::tvec2<T, P> const & x,
|
||||
detail::tvec2<T, P> const & y
|
||||
@ -88,7 +88,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T fastNormalizeDot
|
||||
inline T fastNormalizeDot
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<T, P> const & y
|
||||
@ -101,7 +101,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T fastNormalizeDot
|
||||
inline T fastNormalizeDot
|
||||
(
|
||||
detail::tvec4<T, P> const & x,
|
||||
detail::tvec4<T, P> const & y
|
||||
|
14
deps/glm/gtx/optimum_pow.inl
vendored
14
deps/glm/gtx/optimum_pow.inl
vendored
@ -10,30 +10,30 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType pow2(genType const & x)
|
||||
inline genType pow2(genType const & x)
|
||||
{
|
||||
return x * x;
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType pow3(genType const & x)
|
||||
inline genType pow3(genType const & x)
|
||||
{
|
||||
return x * x * x;
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType pow4(genType const & x)
|
||||
inline genType pow4(genType const & x)
|
||||
{
|
||||
return (x * x) * (x * x);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER bool powOfTwo(int x)
|
||||
inline bool powOfTwo(int x)
|
||||
{
|
||||
return !(x & (x - 1));
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<bool, P> powOfTwo(detail::tvec2<int, P> const & x)
|
||||
inline detail::tvec2<bool, P> powOfTwo(detail::tvec2<int, P> const & x)
|
||||
{
|
||||
return detail::tvec2<bool, P>(
|
||||
powOfTwo(x.x),
|
||||
@ -41,7 +41,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<bool, P> powOfTwo(detail::tvec3<int, P> const & x)
|
||||
inline detail::tvec3<bool, P> powOfTwo(detail::tvec3<int, P> const & x)
|
||||
{
|
||||
return detail::tvec3<bool, P>(
|
||||
powOfTwo(x.x),
|
||||
@ -50,7 +50,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> powOfTwo(detail::tvec4<int, P> const & x)
|
||||
inline detail::tvec4<bool, P> powOfTwo(detail::tvec4<int, P> const & x)
|
||||
{
|
||||
return detail::tvec4<bool, P>(
|
||||
powOfTwo(x.x),
|
||||
|
4
deps/glm/gtx/orthonormalize.inl
vendored
4
deps/glm/gtx/orthonormalize.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> orthonormalize
|
||||
inline detail::tmat3x3<T, P> orthonormalize
|
||||
(
|
||||
const detail::tmat3x3<T, P>& m
|
||||
)
|
||||
@ -32,7 +32,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> orthonormalize
|
||||
inline detail::tvec3<T, P> orthonormalize
|
||||
(
|
||||
const detail::tvec3<T, P>& x,
|
||||
const detail::tvec3<T, P>& y
|
||||
|
2
deps/glm/gtx/perpendicular.inl
vendored
2
deps/glm/gtx/perpendicular.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename vecType>
|
||||
GLM_FUNC_QUALIFIER vecType perp
|
||||
inline vecType perp
|
||||
(
|
||||
vecType const & x,
|
||||
vecType const & Normal
|
||||
|
4
deps/glm/gtx/polar_coordinates.inl
vendored
4
deps/glm/gtx/polar_coordinates.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> polar
|
||||
inline detail::tvec3<T, P> polar
|
||||
(
|
||||
detail::tvec3<T, P> const & euclidean
|
||||
)
|
||||
@ -34,7 +34,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> euclidean
|
||||
inline detail::tvec3<T, P> euclidean
|
||||
(
|
||||
detail::tvec2<T, P> const & polar
|
||||
)
|
||||
|
2
deps/glm/gtx/projection.inl
vendored
2
deps/glm/gtx/projection.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename vecType>
|
||||
GLM_FUNC_QUALIFIER vecType proj
|
||||
inline vecType proj
|
||||
(
|
||||
vecType const & x,
|
||||
vecType const & Normal
|
||||
|
30
deps/glm/gtx/quaternion.inl
vendored
30
deps/glm/gtx/quaternion.inl
vendored
@ -12,7 +12,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> cross
|
||||
inline detail::tvec3<T, P> cross
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
detail::tquat<T, P> const & q
|
||||
@ -22,7 +22,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> cross
|
||||
inline detail::tvec3<T, P> cross
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -32,7 +32,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> squad
|
||||
inline detail::tquat<T, P> squad
|
||||
(
|
||||
detail::tquat<T, P> const & q1,
|
||||
detail::tquat<T, P> const & q2,
|
||||
@ -44,7 +44,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> intermediate
|
||||
inline detail::tquat<T, P> intermediate
|
||||
(
|
||||
detail::tquat<T, P> const & prev,
|
||||
detail::tquat<T, P> const & curr,
|
||||
@ -56,7 +56,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> exp
|
||||
inline detail::tquat<T, P> exp
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -68,7 +68,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> log
|
||||
inline detail::tquat<T, P> log
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -92,7 +92,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> pow
|
||||
inline detail::tquat<T, P> pow
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
T const & y
|
||||
@ -111,7 +111,7 @@ namespace glm
|
||||
}
|
||||
|
||||
//template <typename T, precision P>
|
||||
//GLM_FUNC_QUALIFIER detail::tquat<T, P> sqrt
|
||||
//inline detail::tquat<T, P> sqrt
|
||||
//(
|
||||
// detail::tquat<T, P> const & q
|
||||
//)
|
||||
@ -121,7 +121,7 @@ namespace glm
|
||||
//}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rotate
|
||||
inline detail::tvec3<T, P> rotate
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
detail::tvec3<T, P> const & v
|
||||
@ -131,7 +131,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> rotate
|
||||
inline detail::tvec4<T, P> rotate
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
detail::tvec4<T, P> const & v
|
||||
@ -141,7 +141,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T extractRealComponent
|
||||
inline T extractRealComponent
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -154,7 +154,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T length2
|
||||
inline T length2
|
||||
(
|
||||
detail::tquat<T, P> const & q
|
||||
)
|
||||
@ -163,7 +163,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> shortMix
|
||||
inline detail::tquat<T, P> shortMix
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
@ -205,7 +205,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> fastMix
|
||||
inline detail::tquat<T, P> fastMix
|
||||
(
|
||||
detail::tquat<T, P> const & x,
|
||||
detail::tquat<T, P> const & y,
|
||||
@ -216,7 +216,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> rotation
|
||||
inline detail::tquat<T, P> rotation
|
||||
(
|
||||
detail::tvec3<T, P> const & orig,
|
||||
detail::tvec3<T, P> const & dest
|
||||
|
4
deps/glm/gtx/rotate_normalized_axis.inl
vendored
4
deps/glm/gtx/rotate_normalized_axis.inl
vendored
@ -29,7 +29,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> rotateNormalizedAxis
|
||||
inline detail::tmat4x4<T, P> rotateNormalizedAxis
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m,
|
||||
T const & angle,
|
||||
@ -71,7 +71,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T, P> rotateNormalizedAxis
|
||||
inline detail::tquat<T, P> rotateNormalizedAxis
|
||||
(
|
||||
detail::tquat<T, P> const & q,
|
||||
T const & angle,
|
||||
|
32
deps/glm/gtx/rotate_vector.inl
vendored
32
deps/glm/gtx/rotate_vector.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> rotate
|
||||
inline detail::tvec2<T, P> rotate
|
||||
(
|
||||
detail::tvec2<T, P> const & v,
|
||||
T const & angle
|
||||
@ -31,7 +31,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rotate
|
||||
inline detail::tvec3<T, P> rotate
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
T const & angle,
|
||||
@ -40,20 +40,8 @@ namespace glm
|
||||
{
|
||||
return detail::tmat3x3<T, P>(glm::rotate(angle, normal)) * v;
|
||||
}
|
||||
/*
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rotateGTX(
|
||||
const detail::tvec3<T, P>& x,
|
||||
T angle,
|
||||
const detail::tvec3<T, P>& normal)
|
||||
{
|
||||
const T Cos = cos(radians(angle));
|
||||
const T Sin = sin(radians(angle));
|
||||
return x * Cos + ((x * normal) * (T(1) - Cos)) * normal + cross(x, normal) * Sin;
|
||||
}
|
||||
*/
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> rotate
|
||||
inline detail::tvec4<T, P> rotate
|
||||
(
|
||||
detail::tvec4<T, P> const & v,
|
||||
T const & angle,
|
||||
@ -64,7 +52,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rotateX
|
||||
inline detail::tvec3<T, P> rotateX
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
T const & angle
|
||||
@ -87,7 +75,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rotateY
|
||||
inline detail::tvec3<T, P> rotateY
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
T const & angle
|
||||
@ -110,7 +98,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> rotateZ
|
||||
inline detail::tvec3<T, P> rotateZ
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
T const & angle
|
||||
@ -133,7 +121,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> rotateX
|
||||
inline detail::tvec4<T, P> rotateX
|
||||
(
|
||||
detail::tvec4<T, P> const & v,
|
||||
T const & angle
|
||||
@ -156,7 +144,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> rotateY
|
||||
inline detail::tvec4<T, P> rotateY
|
||||
(
|
||||
detail::tvec4<T, P> const & v,
|
||||
T const & angle
|
||||
@ -179,7 +167,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> rotateZ
|
||||
inline detail::tvec4<T, P> rotateZ
|
||||
(
|
||||
detail::tvec4<T, P> const & v,
|
||||
T const & angle
|
||||
@ -202,7 +190,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> orientation
|
||||
inline detail::tmat4x4<T, P> orientation
|
||||
(
|
||||
detail::tvec3<T, P> const & Normal,
|
||||
detail::tvec3<T, P> const & Up
|
||||
|
18
deps/glm/gtx/scalar_relational.inl
vendored
18
deps/glm/gtx/scalar_relational.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER bool lessThan
|
||||
inline bool lessThan
|
||||
(
|
||||
T const & x,
|
||||
T const & y
|
||||
@ -20,7 +20,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER bool lessThanEqual
|
||||
inline bool lessThanEqual
|
||||
(
|
||||
T const & x,
|
||||
T const & y
|
||||
@ -30,7 +30,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER bool greaterThan
|
||||
inline bool greaterThan
|
||||
(
|
||||
T const & x,
|
||||
T const & y
|
||||
@ -40,7 +40,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER bool greaterThanEqual
|
||||
inline bool greaterThanEqual
|
||||
(
|
||||
T const & x,
|
||||
T const & y
|
||||
@ -50,7 +50,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER bool equal
|
||||
inline bool equal
|
||||
(
|
||||
T const & x,
|
||||
T const & y
|
||||
@ -60,7 +60,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER bool notEqual
|
||||
inline bool notEqual
|
||||
(
|
||||
T const & x,
|
||||
T const & y
|
||||
@ -69,7 +69,7 @@ namespace glm
|
||||
return x != y;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER bool any
|
||||
inline bool any
|
||||
(
|
||||
bool const & x
|
||||
)
|
||||
@ -77,7 +77,7 @@ namespace glm
|
||||
return x;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER bool all
|
||||
inline bool all
|
||||
(
|
||||
bool const & x
|
||||
)
|
||||
@ -85,7 +85,7 @@ namespace glm
|
||||
return x;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER bool not_
|
||||
inline bool not_
|
||||
(
|
||||
bool const & x
|
||||
)
|
||||
|
90
deps/glm/gtx/simd_mat4.inl
vendored
90
deps/glm/gtx/simd_mat4.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm{
|
||||
namespace detail{
|
||||
|
||||
GLM_FUNC_QUALIFIER length_t fmat4x4SIMD::length() const
|
||||
inline length_t fmat4x4SIMD::length() const
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
@ -18,7 +18,7 @@ GLM_FUNC_QUALIFIER length_t fmat4x4SIMD::length() const
|
||||
//////////////////////////////////////
|
||||
// Accesses
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD & fmat4x4SIMD::operator[]
|
||||
inline fvec4SIMD & fmat4x4SIMD::operator[]
|
||||
(
|
||||
length_t i
|
||||
)
|
||||
@ -28,7 +28,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD & fmat4x4SIMD::operator[]
|
||||
return this->Data[i];
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD const & fmat4x4SIMD::operator[]
|
||||
inline fvec4SIMD const & fmat4x4SIMD::operator[]
|
||||
(
|
||||
length_t i
|
||||
) const
|
||||
@ -41,7 +41,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD const & fmat4x4SIMD::operator[]
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Constructors
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD()
|
||||
inline fmat4x4SIMD::fmat4x4SIMD()
|
||||
{
|
||||
#ifndef GLM_SIMD_ENABLE_DEFAULT_INIT
|
||||
this->Data[0] = fvec4SIMD(1.0f, 0, 0, 0);
|
||||
@ -51,7 +51,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD()
|
||||
#endif
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD(float const & s)
|
||||
inline fmat4x4SIMD::fmat4x4SIMD(float const & s)
|
||||
{
|
||||
this->Data[0] = fvec4SIMD(s, 0, 0, 0);
|
||||
this->Data[1] = fvec4SIMD(0, s, 0, 0);
|
||||
@ -59,7 +59,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD(float const & s)
|
||||
this->Data[3] = fvec4SIMD(0, 0, 0, s);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
inline fmat4x4SIMD::fmat4x4SIMD
|
||||
(
|
||||
float const & x0, float const & y0, float const & z0, float const & w0,
|
||||
float const & x1, float const & y1, float const & z1, float const & w1,
|
||||
@ -73,7 +73,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
this->Data[3] = fvec4SIMD(x3, y3, z3, w3);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
inline fmat4x4SIMD::fmat4x4SIMD
|
||||
(
|
||||
fvec4SIMD const & v0,
|
||||
fvec4SIMD const & v1,
|
||||
@ -87,7 +87,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
this->Data[3] = v3;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
inline fmat4x4SIMD::fmat4x4SIMD
|
||||
(
|
||||
mat4 const & m
|
||||
)
|
||||
@ -98,7 +98,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
this->Data[3] = fvec4SIMD(m[3]);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
inline fmat4x4SIMD::fmat4x4SIMD
|
||||
(
|
||||
__m128 const in[4]
|
||||
)
|
||||
@ -112,7 +112,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
//////////////////////////////////////////////////////////////
|
||||
// mat4 operators
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD& fmat4x4SIMD::operator=
|
||||
inline fmat4x4SIMD& fmat4x4SIMD::operator=
|
||||
(
|
||||
fmat4x4SIMD const & m
|
||||
)
|
||||
@ -124,7 +124,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD& fmat4x4SIMD::operator=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator+=
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator+=
|
||||
(
|
||||
fmat4x4SIMD const & m
|
||||
)
|
||||
@ -136,7 +136,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator+=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-=
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator-=
|
||||
(
|
||||
fmat4x4SIMD const & m
|
||||
)
|
||||
@ -149,7 +149,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator*=
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator*=
|
||||
(
|
||||
fmat4x4SIMD const & m
|
||||
)
|
||||
@ -158,7 +158,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator*=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator/=
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator/=
|
||||
(
|
||||
fmat4x4SIMD const & m
|
||||
)
|
||||
@ -169,7 +169,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator/=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator+=
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator+=
|
||||
(
|
||||
float const & s
|
||||
)
|
||||
@ -182,7 +182,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator+=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-=
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator-=
|
||||
(
|
||||
float const & s
|
||||
)
|
||||
@ -195,7 +195,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator*=
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator*=
|
||||
(
|
||||
float const & s
|
||||
)
|
||||
@ -208,7 +208,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator*=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator/=
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator/=
|
||||
(
|
||||
float const & s
|
||||
)
|
||||
@ -221,7 +221,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator/=
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator++ ()
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator++ ()
|
||||
{
|
||||
this->Data[0].Data = _mm_add_ps(this->Data[0].Data, one);
|
||||
this->Data[1].Data = _mm_add_ps(this->Data[1].Data, one);
|
||||
@ -230,7 +230,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator++ ()
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-- ()
|
||||
inline fmat4x4SIMD & fmat4x4SIMD::operator-- ()
|
||||
{
|
||||
this->Data[0].Data = _mm_sub_ps(this->Data[0].Data, one);
|
||||
this->Data[1].Data = _mm_sub_ps(this->Data[1].Data, one);
|
||||
@ -243,7 +243,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-- ()
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Binary operators
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
inline fmat4x4SIMD operator+
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
float const & s
|
||||
@ -258,7 +258,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
inline fmat4x4SIMD operator+
|
||||
(
|
||||
float const & s,
|
||||
const fmat4x4SIMD &m
|
||||
@ -273,7 +273,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
inline fmat4x4SIMD operator+
|
||||
(
|
||||
const fmat4x4SIMD &m1,
|
||||
const fmat4x4SIMD &m2
|
||||
@ -289,7 +289,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
}
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
inline fmat4x4SIMD operator-
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
float const & s
|
||||
@ -304,7 +304,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
inline fmat4x4SIMD operator-
|
||||
(
|
||||
float const & s,
|
||||
const fmat4x4SIMD &m
|
||||
@ -319,7 +319,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
inline fmat4x4SIMD operator-
|
||||
(
|
||||
const fmat4x4SIMD &m1,
|
||||
const fmat4x4SIMD &m2
|
||||
@ -335,7 +335,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
}
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
inline fmat4x4SIMD operator*
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
float const & s
|
||||
@ -350,7 +350,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
inline fmat4x4SIMD operator*
|
||||
(
|
||||
float const & s,
|
||||
const fmat4x4SIMD &m
|
||||
@ -365,7 +365,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator*
|
||||
inline fvec4SIMD operator*
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
fvec4SIMD const & v
|
||||
@ -374,7 +374,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD operator*
|
||||
return sse_mul_ps(&m.Data[0].Data, v.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator*
|
||||
inline fvec4SIMD operator*
|
||||
(
|
||||
fvec4SIMD const & v,
|
||||
const fmat4x4SIMD &m
|
||||
@ -383,7 +383,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD operator*
|
||||
return sse_mul_ps(v.Data, &m.Data[0].Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
inline fmat4x4SIMD operator*
|
||||
(
|
||||
const fmat4x4SIMD &m1,
|
||||
const fmat4x4SIMD &m2
|
||||
@ -397,7 +397,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
inline fmat4x4SIMD operator/
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
float const & s
|
||||
@ -412,7 +412,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
inline fmat4x4SIMD operator/
|
||||
(
|
||||
float const & s,
|
||||
const fmat4x4SIMD &m
|
||||
@ -427,14 +427,14 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD inverse(detail::fmat4x4SIMD const & m)
|
||||
inline detail::fmat4x4SIMD inverse(detail::fmat4x4SIMD const & m)
|
||||
{
|
||||
detail::fmat4x4SIMD result;
|
||||
detail::sse_inverse_ps(&m[0].Data, &result[0].Data);
|
||||
return result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator/
|
||||
inline fvec4SIMD operator/
|
||||
(
|
||||
const fmat4x4SIMD & m,
|
||||
fvec4SIMD const & v
|
||||
@ -443,7 +443,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD operator/
|
||||
return inverse(m) * v;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator/
|
||||
inline fvec4SIMD operator/
|
||||
(
|
||||
fvec4SIMD const & v,
|
||||
const fmat4x4SIMD &m
|
||||
@ -452,7 +452,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD operator/
|
||||
return v * inverse(m);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
inline fmat4x4SIMD operator/
|
||||
(
|
||||
const fmat4x4SIMD &m1,
|
||||
const fmat4x4SIMD &m2
|
||||
@ -470,7 +470,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Unary constant operators
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD const operator-
|
||||
inline fmat4x4SIMD const operator-
|
||||
(
|
||||
fmat4x4SIMD const & m
|
||||
)
|
||||
@ -484,7 +484,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD const operator-
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD const operator--
|
||||
inline fmat4x4SIMD const operator--
|
||||
(
|
||||
fmat4x4SIMD const & m,
|
||||
int
|
||||
@ -499,7 +499,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD const operator--
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD const operator++
|
||||
inline fmat4x4SIMD const operator++
|
||||
(
|
||||
fmat4x4SIMD const & m,
|
||||
int
|
||||
@ -516,7 +516,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD const operator++
|
||||
|
||||
}//namespace detail
|
||||
|
||||
GLM_FUNC_QUALIFIER mat4 mat4_cast
|
||||
inline mat4 mat4_cast
|
||||
(
|
||||
detail::fmat4x4SIMD const & x
|
||||
)
|
||||
@ -529,7 +529,7 @@ GLM_FUNC_QUALIFIER mat4 mat4_cast
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD matrixCompMult
|
||||
inline detail::fmat4x4SIMD matrixCompMult
|
||||
(
|
||||
detail::fmat4x4SIMD const & x,
|
||||
detail::fmat4x4SIMD const & y
|
||||
@ -543,7 +543,7 @@ GLM_FUNC_QUALIFIER detail::fmat4x4SIMD matrixCompMult
|
||||
return result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD outerProduct
|
||||
inline detail::fmat4x4SIMD outerProduct
|
||||
(
|
||||
detail::fvec4SIMD const & c,
|
||||
detail::fvec4SIMD const & r
|
||||
@ -562,14 +562,14 @@ GLM_FUNC_QUALIFIER detail::fmat4x4SIMD outerProduct
|
||||
return result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD transpose(detail::fmat4x4SIMD const & m)
|
||||
inline detail::fmat4x4SIMD transpose(detail::fmat4x4SIMD const & m)
|
||||
{
|
||||
detail::fmat4x4SIMD result;
|
||||
detail::sse_transpose_ps(&m[0].Data, &result[0].Data);
|
||||
return result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float determinant(detail::fmat4x4SIMD const & m)
|
||||
inline float determinant(detail::fmat4x4SIMD const & m)
|
||||
{
|
||||
float Result;
|
||||
_mm_store_ss(&Result, detail::sse_det_ps(&m[0].Data));
|
||||
|
74
deps/glm/gtx/simd_quat.inl
vendored
74
deps/glm/gtx/simd_quat.inl
vendored
@ -14,17 +14,17 @@ namespace detail{
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD::fquatSIMD()
|
||||
inline fquatSIMD::fquatSIMD()
|
||||
#ifdef GLM_SIMD_ENABLE_DEFAULT_INIT
|
||||
: Data(_mm_set_ps(1.0f, 0.0f, 0.0f, 0.0f))
|
||||
#endif
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD::fquatSIMD(__m128 const & Data) :
|
||||
inline fquatSIMD::fquatSIMD(__m128 const & Data) :
|
||||
Data(Data)
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD::fquatSIMD(fquatSIMD const & q) :
|
||||
inline fquatSIMD::fquatSIMD(fquatSIMD const & q) :
|
||||
Data(q.Data)
|
||||
{}
|
||||
|
||||
@ -32,15 +32,15 @@ GLM_FUNC_QUALIFIER fquatSIMD::fquatSIMD(fquatSIMD const & q) :
|
||||
//////////////////////////////////////
|
||||
// Explicit basic constructors
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD::fquatSIMD(float const & w, float const & x, float const & y, float const & z) :
|
||||
inline fquatSIMD::fquatSIMD(float const & w, float const & x, float const & y, float const & z) :
|
||||
Data(_mm_set_ps(w, z, y, x))
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD::fquatSIMD(quat const & q) :
|
||||
inline fquatSIMD::fquatSIMD(quat const & q) :
|
||||
Data(_mm_set_ps(q.w, q.z, q.y, q.x))
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD::fquatSIMD(vec3 const & eulerAngles)
|
||||
inline fquatSIMD::fquatSIMD(vec3 const & eulerAngles)
|
||||
{
|
||||
vec3 c = glm::cos(eulerAngles * 0.5f);
|
||||
vec3 s = glm::sin(eulerAngles * 0.5f);
|
||||
@ -56,19 +56,19 @@ GLM_FUNC_QUALIFIER fquatSIMD::fquatSIMD(vec3 const & eulerAngles)
|
||||
//////////////////////////////////////
|
||||
// Unary arithmetic operators
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD& fquatSIMD::operator=(fquatSIMD const & q)
|
||||
inline fquatSIMD& fquatSIMD::operator=(fquatSIMD const & q)
|
||||
{
|
||||
this->Data = q.Data;
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD& fquatSIMD::operator*=(float const & s)
|
||||
inline fquatSIMD& fquatSIMD::operator*=(float const & s)
|
||||
{
|
||||
this->Data = _mm_mul_ps(this->Data, _mm_set_ps1(s));
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD& fquatSIMD::operator/=(float const & s)
|
||||
inline fquatSIMD& fquatSIMD::operator/=(float const & s)
|
||||
{
|
||||
this->Data = _mm_div_ps(Data, _mm_set1_ps(s));
|
||||
return *this;
|
||||
@ -77,19 +77,19 @@ GLM_FUNC_QUALIFIER fquatSIMD& fquatSIMD::operator/=(float const & s)
|
||||
|
||||
|
||||
// negate operator
|
||||
GLM_FUNC_QUALIFIER fquatSIMD operator- (fquatSIMD const & q)
|
||||
inline fquatSIMD operator- (fquatSIMD const & q)
|
||||
{
|
||||
return fquatSIMD(_mm_mul_ps(q.Data, _mm_set_ps(-1.0f, -1.0f, -1.0f, -1.0f)));
|
||||
}
|
||||
|
||||
// operator+
|
||||
GLM_FUNC_QUALIFIER fquatSIMD operator+ (fquatSIMD const & q1, fquatSIMD const & q2)
|
||||
inline fquatSIMD operator+ (fquatSIMD const & q1, fquatSIMD const & q2)
|
||||
{
|
||||
return fquatSIMD(_mm_add_ps(q1.Data, q2.Data));
|
||||
}
|
||||
|
||||
//operator*
|
||||
GLM_FUNC_QUALIFIER fquatSIMD operator* (fquatSIMD const & q1, fquatSIMD const & q2)
|
||||
inline fquatSIMD operator* (fquatSIMD const & q1, fquatSIMD const & q2)
|
||||
{
|
||||
// SSE2 STATS:
|
||||
// 11 shuffle
|
||||
@ -151,7 +151,7 @@ GLM_FUNC_QUALIFIER fquatSIMD operator* (fquatSIMD const & q1, fquatSIMD const &
|
||||
return detail::fquatSIMD(w, x, y, z);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator* (fquatSIMD const & q, fvec4SIMD const & v)
|
||||
inline fvec4SIMD operator* (fquatSIMD const & q, fvec4SIMD const & v)
|
||||
{
|
||||
static const __m128 two = _mm_set1_ps(2.0f);
|
||||
|
||||
@ -173,24 +173,24 @@ GLM_FUNC_QUALIFIER fvec4SIMD operator* (fquatSIMD const & q, fvec4SIMD const & v
|
||||
return _mm_add_ps(v.Data, _mm_add_ps(uv, uuv));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator* (fvec4SIMD const & v, fquatSIMD const & q)
|
||||
inline fvec4SIMD operator* (fvec4SIMD const & v, fquatSIMD const & q)
|
||||
{
|
||||
return glm::inverse(q) * v;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD operator* (fquatSIMD const & q, float s)
|
||||
inline fquatSIMD operator* (fquatSIMD const & q, float s)
|
||||
{
|
||||
return fquatSIMD(_mm_mul_ps(q.Data, _mm_set1_ps(s)));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fquatSIMD operator* (float s, fquatSIMD const & q)
|
||||
inline fquatSIMD operator* (float s, fquatSIMD const & q)
|
||||
{
|
||||
return fquatSIMD(_mm_mul_ps(_mm_set1_ps(s), q.Data));
|
||||
}
|
||||
|
||||
|
||||
//operator/
|
||||
GLM_FUNC_QUALIFIER fquatSIMD operator/ (fquatSIMD const & q, float s)
|
||||
inline fquatSIMD operator/ (fquatSIMD const & q, float s)
|
||||
{
|
||||
return fquatSIMD(_mm_div_ps(q.Data, _mm_set1_ps(s)));
|
||||
}
|
||||
@ -199,7 +199,7 @@ GLM_FUNC_QUALIFIER fquatSIMD operator/ (fquatSIMD const & q, float s)
|
||||
}//namespace detail
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER quat quat_cast
|
||||
inline quat quat_cast
|
||||
(
|
||||
detail::fquatSIMD const & x
|
||||
)
|
||||
@ -211,7 +211,7 @@ GLM_FUNC_QUALIFIER quat quat_cast
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast_impl(const T m0[], const T m1[], const T m2[])
|
||||
inline detail::fquatSIMD quatSIMD_cast_impl(const T m0[], const T m1[], const T m2[])
|
||||
{
|
||||
T trace = m0[0] + m1[1] + m2[2] + T(1.0);
|
||||
if (trace > T(0))
|
||||
@ -266,7 +266,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast_impl(const T m0[], const T m1
|
||||
}
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast
|
||||
inline detail::fquatSIMD quatSIMD_cast
|
||||
(
|
||||
detail::fmat4x4SIMD const & m
|
||||
)
|
||||
@ -284,7 +284,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast
|
||||
inline detail::fquatSIMD quatSIMD_cast
|
||||
(
|
||||
detail::tmat4x4<T, P> const & m
|
||||
)
|
||||
@ -293,7 +293,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast
|
||||
inline detail::fquatSIMD quatSIMD_cast
|
||||
(
|
||||
detail::tmat3x3<T, P> const & m
|
||||
)
|
||||
@ -302,7 +302,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast
|
||||
}
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD mat4SIMD_cast
|
||||
inline detail::fmat4x4SIMD mat4SIMD_cast
|
||||
(
|
||||
detail::fquatSIMD const & q
|
||||
)
|
||||
@ -357,7 +357,7 @@ GLM_FUNC_QUALIFIER detail::fmat4x4SIMD mat4SIMD_cast
|
||||
return result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER mat4 mat4_cast
|
||||
inline mat4 mat4_cast
|
||||
(
|
||||
detail::fquatSIMD const & q
|
||||
)
|
||||
@ -367,7 +367,7 @@ GLM_FUNC_QUALIFIER mat4 mat4_cast
|
||||
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER float length
|
||||
inline float length
|
||||
(
|
||||
detail::fquatSIMD const & q
|
||||
)
|
||||
@ -375,7 +375,7 @@ GLM_FUNC_QUALIFIER float length
|
||||
return glm::sqrt(dot(q, q));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD normalize
|
||||
inline detail::fquatSIMD normalize
|
||||
(
|
||||
detail::fquatSIMD const & q
|
||||
)
|
||||
@ -383,7 +383,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD normalize
|
||||
return _mm_mul_ps(q.Data, _mm_set1_ps(1.0f / length(q)));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float dot
|
||||
inline float dot
|
||||
(
|
||||
detail::fquatSIMD const & q1,
|
||||
detail::fquatSIMD const & q2
|
||||
@ -395,7 +395,7 @@ GLM_FUNC_QUALIFIER float dot
|
||||
return result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD mix
|
||||
inline detail::fquatSIMD mix
|
||||
(
|
||||
detail::fquatSIMD const & x,
|
||||
detail::fquatSIMD const & y,
|
||||
@ -421,7 +421,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD mix
|
||||
}
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD lerp
|
||||
inline detail::fquatSIMD lerp
|
||||
(
|
||||
detail::fquatSIMD const & x,
|
||||
detail::fquatSIMD const & y,
|
||||
@ -435,7 +435,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD lerp
|
||||
return _mm_add_ps(x.Data, _mm_mul_ps(_mm_set1_ps(a), _mm_sub_ps(y.Data, x.Data)));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD slerp
|
||||
inline detail::fquatSIMD slerp
|
||||
(
|
||||
detail::fquatSIMD const & x,
|
||||
detail::fquatSIMD const & y,
|
||||
@ -473,7 +473,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD slerp
|
||||
}
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD fastMix
|
||||
inline detail::fquatSIMD fastMix
|
||||
(
|
||||
detail::fquatSIMD const & x,
|
||||
detail::fquatSIMD const & y,
|
||||
@ -501,7 +501,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD fastMix
|
||||
}
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD fastSlerp
|
||||
inline detail::fquatSIMD fastSlerp
|
||||
(
|
||||
detail::fquatSIMD const & x,
|
||||
detail::fquatSIMD const & y,
|
||||
@ -539,7 +539,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD fastSlerp
|
||||
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD conjugate
|
||||
inline detail::fquatSIMD conjugate
|
||||
(
|
||||
detail::fquatSIMD const & q
|
||||
)
|
||||
@ -547,7 +547,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD conjugate
|
||||
return detail::fquatSIMD(_mm_mul_ps(q.Data, _mm_set_ps(1.0f, -1.0f, -1.0f, -1.0f)));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD inverse
|
||||
inline detail::fquatSIMD inverse
|
||||
(
|
||||
detail::fquatSIMD const & q
|
||||
)
|
||||
@ -556,7 +556,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD inverse
|
||||
}
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD angleAxisSIMD
|
||||
inline detail::fquatSIMD angleAxisSIMD
|
||||
(
|
||||
float const & angle,
|
||||
vec3 const & v
|
||||
@ -577,7 +577,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD angleAxisSIMD
|
||||
v.x * s);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fquatSIMD angleAxisSIMD
|
||||
inline detail::fquatSIMD angleAxisSIMD
|
||||
(
|
||||
float const & angle,
|
||||
float const & x,
|
||||
@ -589,7 +589,7 @@ GLM_FUNC_QUALIFIER detail::fquatSIMD angleAxisSIMD
|
||||
}
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 fastSin(__m128 x)
|
||||
inline __m128 fastSin(__m128 x)
|
||||
{
|
||||
static const __m128 c0 = _mm_set1_ps(0.16666666666666666666666666666667f);
|
||||
static const __m128 c1 = _mm_set1_ps(0.00833333333333333333333333333333f);
|
||||
|
168
deps/glm/gtx/simd_vec4.inl
vendored
168
deps/glm/gtx/simd_vec4.inl
vendored
@ -19,32 +19,32 @@ struct mask
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD()
|
||||
inline fvec4SIMD::fvec4SIMD()
|
||||
#ifdef GLM_SIMD_ENABLE_DEFAULT_INIT
|
||||
: Data(_mm_set_ps(0.0f, 0.0f, 0.0f, 0.0f))
|
||||
#endif
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(__m128 const & Data) :
|
||||
inline fvec4SIMD::fvec4SIMD(__m128 const & Data) :
|
||||
Data(Data)
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(fvec4SIMD const & v) :
|
||||
inline fvec4SIMD::fvec4SIMD(fvec4SIMD const & v) :
|
||||
Data(v.Data)
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(vec4 const & v) :
|
||||
inline fvec4SIMD::fvec4SIMD(vec4 const & v) :
|
||||
Data(_mm_set_ps(v.w, v.z, v.y, v.x))
|
||||
{}
|
||||
|
||||
//////////////////////////////////////
|
||||
// Explicit basic constructors
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(float const & s) :
|
||||
inline fvec4SIMD::fvec4SIMD(float const & s) :
|
||||
Data(_mm_set1_ps(s))
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(float const & x, float const & y, float const & z, float const & w) :
|
||||
inline fvec4SIMD::fvec4SIMD(float const & x, float const & y, float const & z, float const & w) :
|
||||
// Data(_mm_setr_ps(x, y, z, w))
|
||||
Data(_mm_set_ps(w, z, y, x))
|
||||
{}
|
||||
@ -56,98 +56,98 @@ GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(float const & x, float const & y, float
|
||||
//////////////////////////////////////
|
||||
// Conversion vector constructors
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(vec2 const & v, float const & s1, float const & s2) :
|
||||
inline fvec4SIMD::fvec4SIMD(vec2 const & v, float const & s1, float const & s2) :
|
||||
Data(_mm_set_ps(s2, s1, v.y, v.x))
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(float const & s1, vec2 const & v, float const & s2) :
|
||||
inline fvec4SIMD::fvec4SIMD(float const & s1, vec2 const & v, float const & s2) :
|
||||
Data(_mm_set_ps(s2, v.y, v.x, s1))
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(float const & s1, float const & s2, vec2 const & v) :
|
||||
inline fvec4SIMD::fvec4SIMD(float const & s1, float const & s2, vec2 const & v) :
|
||||
Data(_mm_set_ps(v.y, v.x, s2, s1))
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(vec3 const & v, float const & s) :
|
||||
inline fvec4SIMD::fvec4SIMD(vec3 const & v, float const & s) :
|
||||
Data(_mm_set_ps(s, v.z, v.y, v.x))
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(float const & s, vec3 const & v) :
|
||||
inline fvec4SIMD::fvec4SIMD(float const & s, vec3 const & v) :
|
||||
Data(_mm_set_ps(v.z, v.y, v.x, s))
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(vec2 const & v1, vec2 const & v2) :
|
||||
inline fvec4SIMD::fvec4SIMD(vec2 const & v1, vec2 const & v2) :
|
||||
Data(_mm_set_ps(v2.y, v2.x, v1.y, v1.x))
|
||||
{}
|
||||
|
||||
//GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(ivec4SIMD const & v) :
|
||||
//inline fvec4SIMD::fvec4SIMD(ivec4SIMD const & v) :
|
||||
// Data(_mm_cvtepi32_ps(v.Data))
|
||||
//{}
|
||||
|
||||
//////////////////////////////////////
|
||||
// Unary arithmetic operators
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator=(fvec4SIMD const & v)
|
||||
inline fvec4SIMD& fvec4SIMD::operator=(fvec4SIMD const & v)
|
||||
{
|
||||
this->Data = v.Data;
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator+=(float const & s)
|
||||
inline fvec4SIMD& fvec4SIMD::operator+=(float const & s)
|
||||
{
|
||||
this->Data = _mm_add_ps(Data, _mm_set_ps1(s));
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator+=(fvec4SIMD const & v)
|
||||
inline fvec4SIMD& fvec4SIMD::operator+=(fvec4SIMD const & v)
|
||||
{
|
||||
this->Data = _mm_add_ps(this->Data , v.Data);
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator-=(float const & s)
|
||||
inline fvec4SIMD& fvec4SIMD::operator-=(float const & s)
|
||||
{
|
||||
this->Data = _mm_sub_ps(Data, _mm_set_ps1(s));
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator-=(fvec4SIMD const & v)
|
||||
inline fvec4SIMD& fvec4SIMD::operator-=(fvec4SIMD const & v)
|
||||
{
|
||||
this->Data = _mm_sub_ps(this->Data , v.Data);
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator*=(float const & s)
|
||||
inline fvec4SIMD& fvec4SIMD::operator*=(float const & s)
|
||||
{
|
||||
this->Data = _mm_mul_ps(this->Data, _mm_set_ps1(s));
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator*=(fvec4SIMD const & v)
|
||||
inline fvec4SIMD& fvec4SIMD::operator*=(fvec4SIMD const & v)
|
||||
{
|
||||
this->Data = _mm_mul_ps(this->Data , v.Data);
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator/=(float const & s)
|
||||
inline fvec4SIMD& fvec4SIMD::operator/=(float const & s)
|
||||
{
|
||||
this->Data = _mm_div_ps(Data, _mm_set1_ps(s));
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator/=(fvec4SIMD const & v)
|
||||
inline fvec4SIMD& fvec4SIMD::operator/=(fvec4SIMD const & v)
|
||||
{
|
||||
this->Data = _mm_div_ps(this->Data , v.Data);
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator++()
|
||||
inline fvec4SIMD& fvec4SIMD::operator++()
|
||||
{
|
||||
this->Data = _mm_add_ps(this->Data , glm::detail::one);
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator--()
|
||||
inline fvec4SIMD& fvec4SIMD::operator--()
|
||||
{
|
||||
this->Data = _mm_sub_ps(this->Data, glm::detail::one);
|
||||
return *this;
|
||||
@ -157,7 +157,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::operator--()
|
||||
// Swizzle operators
|
||||
|
||||
template <comp X, comp Y, comp Z, comp W>
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD fvec4SIMD::swizzle() const
|
||||
inline fvec4SIMD fvec4SIMD::swizzle() const
|
||||
{
|
||||
__m128 Data = _mm_shuffle_ps(
|
||||
this->Data, this->Data,
|
||||
@ -166,7 +166,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD fvec4SIMD::swizzle() const
|
||||
}
|
||||
|
||||
template <comp X, comp Y, comp Z, comp W>
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::swizzle()
|
||||
inline fvec4SIMD& fvec4SIMD::swizzle()
|
||||
{
|
||||
this->Data = _mm_shuffle_ps(
|
||||
this->Data, this->Data,
|
||||
@ -175,96 +175,96 @@ GLM_FUNC_QUALIFIER fvec4SIMD& fvec4SIMD::swizzle()
|
||||
}
|
||||
|
||||
// operator+
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator+ (fvec4SIMD const & v, float s)
|
||||
inline fvec4SIMD operator+ (fvec4SIMD const & v, float s)
|
||||
{
|
||||
return fvec4SIMD(_mm_add_ps(v.Data, _mm_set1_ps(s)));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator+ (float s, fvec4SIMD const & v)
|
||||
inline fvec4SIMD operator+ (float s, fvec4SIMD const & v)
|
||||
{
|
||||
return fvec4SIMD(_mm_add_ps(_mm_set1_ps(s), v.Data));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator+ (fvec4SIMD const & v1, fvec4SIMD const & v2)
|
||||
inline fvec4SIMD operator+ (fvec4SIMD const & v1, fvec4SIMD const & v2)
|
||||
{
|
||||
return fvec4SIMD(_mm_add_ps(v1.Data, v2.Data));
|
||||
}
|
||||
|
||||
//operator-
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator- (fvec4SIMD const & v, float s)
|
||||
inline fvec4SIMD operator- (fvec4SIMD const & v, float s)
|
||||
{
|
||||
return fvec4SIMD(_mm_sub_ps(v.Data, _mm_set1_ps(s)));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator- (float s, fvec4SIMD const & v)
|
||||
inline fvec4SIMD operator- (float s, fvec4SIMD const & v)
|
||||
{
|
||||
return fvec4SIMD(_mm_sub_ps(_mm_set1_ps(s), v.Data));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator- (fvec4SIMD const & v1, fvec4SIMD const & v2)
|
||||
inline fvec4SIMD operator- (fvec4SIMD const & v1, fvec4SIMD const & v2)
|
||||
{
|
||||
return fvec4SIMD(_mm_sub_ps(v1.Data, v2.Data));
|
||||
}
|
||||
|
||||
//operator*
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator* (fvec4SIMD const & v, float s)
|
||||
inline fvec4SIMD operator* (fvec4SIMD const & v, float s)
|
||||
{
|
||||
__m128 par0 = v.Data;
|
||||
__m128 par1 = _mm_set1_ps(s);
|
||||
return fvec4SIMD(_mm_mul_ps(par0, par1));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator* (float s, fvec4SIMD const & v)
|
||||
inline fvec4SIMD operator* (float s, fvec4SIMD const & v)
|
||||
{
|
||||
__m128 par0 = _mm_set1_ps(s);
|
||||
__m128 par1 = v.Data;
|
||||
return fvec4SIMD(_mm_mul_ps(par0, par1));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator* (fvec4SIMD const & v1, fvec4SIMD const & v2)
|
||||
inline fvec4SIMD operator* (fvec4SIMD const & v1, fvec4SIMD const & v2)
|
||||
{
|
||||
return fvec4SIMD(_mm_mul_ps(v1.Data, v2.Data));
|
||||
}
|
||||
|
||||
//operator/
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator/ (fvec4SIMD const & v, float s)
|
||||
inline fvec4SIMD operator/ (fvec4SIMD const & v, float s)
|
||||
{
|
||||
__m128 par0 = v.Data;
|
||||
__m128 par1 = _mm_set1_ps(s);
|
||||
return fvec4SIMD(_mm_div_ps(par0, par1));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator/ (float s, fvec4SIMD const & v)
|
||||
inline fvec4SIMD operator/ (float s, fvec4SIMD const & v)
|
||||
{
|
||||
__m128 par0 = _mm_set1_ps(s);
|
||||
__m128 par1 = v.Data;
|
||||
return fvec4SIMD(_mm_div_ps(par0, par1));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator/ (fvec4SIMD const & v1, fvec4SIMD const & v2)
|
||||
inline fvec4SIMD operator/ (fvec4SIMD const & v1, fvec4SIMD const & v2)
|
||||
{
|
||||
return fvec4SIMD(_mm_div_ps(v1.Data, v2.Data));
|
||||
}
|
||||
|
||||
// Unary constant operators
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator- (fvec4SIMD const & v)
|
||||
inline fvec4SIMD operator- (fvec4SIMD const & v)
|
||||
{
|
||||
return fvec4SIMD(_mm_sub_ps(_mm_setzero_ps(), v.Data));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator++ (fvec4SIMD const & v, int)
|
||||
inline fvec4SIMD operator++ (fvec4SIMD const & v, int)
|
||||
{
|
||||
return fvec4SIMD(_mm_add_ps(v.Data, glm::detail::one));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator-- (fvec4SIMD const & v, int)
|
||||
inline fvec4SIMD operator-- (fvec4SIMD const & v, int)
|
||||
{
|
||||
return fvec4SIMD(_mm_sub_ps(v.Data, glm::detail::one));
|
||||
}
|
||||
|
||||
}//namespace detail
|
||||
|
||||
GLM_FUNC_QUALIFIER vec4 vec4_cast
|
||||
inline vec4 vec4_cast
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -274,7 +274,7 @@ GLM_FUNC_QUALIFIER vec4 vec4_cast
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD abs
|
||||
inline detail::fvec4SIMD abs
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -282,7 +282,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD abs
|
||||
return detail::sse_abs_ps(x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD sign
|
||||
inline detail::fvec4SIMD sign
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -290,7 +290,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD sign
|
||||
return detail::sse_sgn_ps(x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD floor
|
||||
inline detail::fvec4SIMD floor
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -298,7 +298,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD floor
|
||||
return detail::sse_flr_ps(x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD trunc
|
||||
inline detail::fvec4SIMD trunc
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -318,7 +318,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD trunc
|
||||
return _mm_or_ps(And0, And1);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD round
|
||||
inline detail::fvec4SIMD round
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -326,7 +326,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD round
|
||||
return detail::sse_rnd_ps(x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD ceil
|
||||
inline detail::fvec4SIMD ceil
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -334,7 +334,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD ceil
|
||||
return detail::sse_ceil_ps(x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD fract
|
||||
inline detail::fvec4SIMD fract
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -342,7 +342,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD fract
|
||||
return detail::sse_frc_ps(x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD mod
|
||||
inline detail::fvec4SIMD mod
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
detail::fvec4SIMD const & y
|
||||
@ -351,7 +351,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD mod
|
||||
return detail::sse_mod_ps(x.Data, y.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD mod
|
||||
inline detail::fvec4SIMD mod
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
float const & y
|
||||
@ -360,7 +360,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD mod
|
||||
return detail::sse_mod_ps(x.Data, _mm_set1_ps(y));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD min
|
||||
inline detail::fvec4SIMD min
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
detail::fvec4SIMD const & y
|
||||
@ -369,7 +369,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD min
|
||||
return _mm_min_ps(x.Data, y.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD min
|
||||
inline detail::fvec4SIMD min
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
float const & y
|
||||
@ -378,7 +378,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD min
|
||||
return _mm_min_ps(x.Data, _mm_set1_ps(y));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD max
|
||||
inline detail::fvec4SIMD max
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
detail::fvec4SIMD const & y
|
||||
@ -387,7 +387,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD max
|
||||
return _mm_max_ps(x.Data, y.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD max
|
||||
inline detail::fvec4SIMD max
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
float const & y
|
||||
@ -396,7 +396,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD max
|
||||
return _mm_max_ps(x.Data, _mm_set1_ps(y));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD clamp
|
||||
inline detail::fvec4SIMD clamp
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
detail::fvec4SIMD const & minVal,
|
||||
@ -406,7 +406,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD clamp
|
||||
return detail::sse_clp_ps(x.Data, minVal.Data, maxVal.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD clamp
|
||||
inline detail::fvec4SIMD clamp
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
float const & minVal,
|
||||
@ -416,7 +416,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD clamp
|
||||
return detail::sse_clp_ps(x.Data, _mm_set1_ps(minVal), _mm_set1_ps(maxVal));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD mix
|
||||
inline detail::fvec4SIMD mix
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
detail::fvec4SIMD const & y,
|
||||
@ -428,7 +428,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD mix
|
||||
return _mm_add_ps(x.Data, Mul0);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD step
|
||||
inline detail::fvec4SIMD step
|
||||
(
|
||||
detail::fvec4SIMD const & edge,
|
||||
detail::fvec4SIMD const & x
|
||||
@ -438,7 +438,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD step
|
||||
return _mm_max_ps(_mm_min_ps(cmp0, _mm_setzero_ps()), detail::one);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD step
|
||||
inline detail::fvec4SIMD step
|
||||
(
|
||||
float const & edge,
|
||||
detail::fvec4SIMD const & x
|
||||
@ -448,7 +448,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD step
|
||||
return _mm_max_ps(_mm_min_ps(cmp0, _mm_setzero_ps()), detail::one);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD smoothstep
|
||||
inline detail::fvec4SIMD smoothstep
|
||||
(
|
||||
detail::fvec4SIMD const & edge0,
|
||||
detail::fvec4SIMD const & edge1,
|
||||
@ -458,7 +458,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD smoothstep
|
||||
return detail::sse_ssp_ps(edge0.Data, edge1.Data, x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD smoothstep
|
||||
inline detail::fvec4SIMD smoothstep
|
||||
(
|
||||
float const & edge0,
|
||||
float const & edge1,
|
||||
@ -468,7 +468,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD smoothstep
|
||||
return detail::sse_ssp_ps(_mm_set1_ps(edge0), _mm_set1_ps(edge1), x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD fma
|
||||
inline detail::fvec4SIMD fma
|
||||
(
|
||||
detail::fvec4SIMD const & a,
|
||||
detail::fvec4SIMD const & b,
|
||||
@ -478,7 +478,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD fma
|
||||
return _mm_add_ps(_mm_mul_ps(a.Data, b.Data), c.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float length
|
||||
inline float length
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -490,7 +490,7 @@ GLM_FUNC_QUALIFIER float length
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float fastLength
|
||||
inline float fastLength
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -502,7 +502,7 @@ GLM_FUNC_QUALIFIER float fastLength
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float niceLength
|
||||
inline float niceLength
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -514,7 +514,7 @@ GLM_FUNC_QUALIFIER float niceLength
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD length4
|
||||
inline detail::fvec4SIMD length4
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -522,7 +522,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD length4
|
||||
return sqrt(dot4(x, x));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD fastLength4
|
||||
inline detail::fvec4SIMD fastLength4
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -530,7 +530,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD fastLength4
|
||||
return fastSqrt(dot4(x, x));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD niceLength4
|
||||
inline detail::fvec4SIMD niceLength4
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -538,7 +538,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD niceLength4
|
||||
return niceSqrt(dot4(x, x));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float distance
|
||||
inline float distance
|
||||
(
|
||||
detail::fvec4SIMD const & p0,
|
||||
detail::fvec4SIMD const & p1
|
||||
@ -549,7 +549,7 @@ GLM_FUNC_QUALIFIER float distance
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD distance4
|
||||
inline detail::fvec4SIMD distance4
|
||||
(
|
||||
detail::fvec4SIMD const & p0,
|
||||
detail::fvec4SIMD const & p1
|
||||
@ -558,7 +558,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD distance4
|
||||
return detail::sse_dst_ps(p0.Data, p1.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER float dot
|
||||
inline float dot
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
detail::fvec4SIMD const & y
|
||||
@ -569,7 +569,7 @@ GLM_FUNC_QUALIFIER float dot
|
||||
return Result;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD dot4
|
||||
inline detail::fvec4SIMD dot4
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
detail::fvec4SIMD const & y
|
||||
@ -578,7 +578,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD dot4
|
||||
return detail::sse_dot_ps(x.Data, y.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD cross
|
||||
inline detail::fvec4SIMD cross
|
||||
(
|
||||
detail::fvec4SIMD const & x,
|
||||
detail::fvec4SIMD const & y
|
||||
@ -587,7 +587,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD cross
|
||||
return detail::sse_xpd_ps(x.Data, y.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD normalize
|
||||
inline detail::fvec4SIMD normalize
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -598,7 +598,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD normalize
|
||||
return mul0;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD fastNormalize
|
||||
inline detail::fvec4SIMD fastNormalize
|
||||
(
|
||||
detail::fvec4SIMD const & x
|
||||
)
|
||||
@ -609,7 +609,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD fastNormalize
|
||||
return mul0;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD faceforward
|
||||
inline detail::fvec4SIMD faceforward
|
||||
(
|
||||
detail::fvec4SIMD const & N,
|
||||
detail::fvec4SIMD const & I,
|
||||
@ -619,7 +619,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD faceforward
|
||||
return detail::sse_ffd_ps(N.Data, I.Data, Nref.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD reflect
|
||||
inline detail::fvec4SIMD reflect
|
||||
(
|
||||
detail::fvec4SIMD const & I,
|
||||
detail::fvec4SIMD const & N
|
||||
@ -628,7 +628,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD reflect
|
||||
return detail::sse_rfe_ps(I.Data, N.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD refract
|
||||
inline detail::fvec4SIMD refract
|
||||
(
|
||||
detail::fvec4SIMD const & I,
|
||||
detail::fvec4SIMD const & N,
|
||||
@ -638,24 +638,24 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD refract
|
||||
return detail::sse_rfa_ps(I.Data, N.Data, _mm_set1_ps(eta));
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD sqrt(detail::fvec4SIMD const & x)
|
||||
inline detail::fvec4SIMD sqrt(detail::fvec4SIMD const & x)
|
||||
{
|
||||
return _mm_mul_ps(inversesqrt(x).Data, x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD niceSqrt(detail::fvec4SIMD const & x)
|
||||
inline detail::fvec4SIMD niceSqrt(detail::fvec4SIMD const & x)
|
||||
{
|
||||
return _mm_sqrt_ps(x.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD fastSqrt(detail::fvec4SIMD const & x)
|
||||
inline detail::fvec4SIMD fastSqrt(detail::fvec4SIMD const & x)
|
||||
{
|
||||
return _mm_mul_ps(fastInversesqrt(x.Data).Data, x.Data);
|
||||
}
|
||||
|
||||
// SSE scalar reciprocal sqrt using rsqrt op, plus one Newton-Rhaphson iteration
|
||||
// By Elan Ruskin, http://assemblyrequired.crashworks.org/
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD inversesqrt(detail::fvec4SIMD const & x)
|
||||
inline detail::fvec4SIMD inversesqrt(detail::fvec4SIMD const & x)
|
||||
{
|
||||
GLM_ALIGN(4) static const __m128 three = {3, 3, 3, 3}; // aligned consts for fast load
|
||||
GLM_ALIGN(4) static const __m128 half = {0.5,0.5,0.5,0.5};
|
||||
@ -666,7 +666,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD inversesqrt(detail::fvec4SIMD const & x)
|
||||
return _mm_mul_ps(halfrecip, threeminus_xrr);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD fastInversesqrt(detail::fvec4SIMD const & x)
|
||||
inline detail::fvec4SIMD fastInversesqrt(detail::fvec4SIMD const & x)
|
||||
{
|
||||
return _mm_rsqrt_ps(x.Data);
|
||||
}
|
||||
|
6
deps/glm/gtx/spline.inl
vendored
6
deps/glm/gtx/spline.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm{
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType catmullRom
|
||||
inline genType catmullRom
|
||||
(
|
||||
genType const & v1,
|
||||
genType const & v2,
|
||||
@ -33,7 +33,7 @@ GLM_FUNC_QUALIFIER genType catmullRom
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType hermite
|
||||
inline genType hermite
|
||||
(
|
||||
genType const & v1,
|
||||
genType const & t1,
|
||||
@ -55,7 +55,7 @@ GLM_FUNC_QUALIFIER genType hermite
|
||||
}
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType cubic
|
||||
inline genType cubic
|
||||
(
|
||||
genType const & v1,
|
||||
genType const & v2,
|
||||
|
76
deps/glm/gtx/string_cast.inl
vendored
76
deps/glm/gtx/string_cast.inl
vendored
@ -13,7 +13,7 @@
|
||||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
GLM_FUNC_QUALIFIER std::string format(const char* msg, ...)
|
||||
inline std::string format(const char* msg, ...)
|
||||
{
|
||||
std::size_t const STRING_BUFFER(4096);
|
||||
char text[STRING_BUFFER];
|
||||
@ -40,22 +40,22 @@ namespace detail
|
||||
////////////////////////////////
|
||||
// Scalars
|
||||
|
||||
GLM_FUNC_QUALIFIER std::string to_string(float x)
|
||||
inline std::string to_string(float x)
|
||||
{
|
||||
return detail::format("float(%f)", x);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER std::string to_string(double x)
|
||||
inline std::string to_string(double x)
|
||||
{
|
||||
return detail::format("double(%f)", x);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER std::string to_string(int x)
|
||||
inline std::string to_string(int x)
|
||||
{
|
||||
return detail::format("int(%d)", x);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER std::string to_string(unsigned int x)
|
||||
inline std::string to_string(unsigned int x)
|
||||
{
|
||||
return detail::format("uint(%d)", x);
|
||||
}
|
||||
@ -64,7 +64,7 @@ namespace detail
|
||||
// Bool vectors
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec2<bool, P> const & v
|
||||
)
|
||||
@ -75,7 +75,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec3<bool, P> const & v
|
||||
)
|
||||
@ -87,7 +87,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec4<bool, P> const & v
|
||||
)
|
||||
@ -103,7 +103,7 @@ namespace detail
|
||||
// Float vectors
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec2<float, P> const & v
|
||||
)
|
||||
@ -112,7 +112,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec3<float, P> const & v
|
||||
)
|
||||
@ -121,7 +121,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec4<float, P> const & v
|
||||
)
|
||||
@ -133,7 +133,7 @@ namespace detail
|
||||
// Double vectors
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec2<double, P> const & v
|
||||
)
|
||||
@ -142,7 +142,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec3<double, P> const & v
|
||||
)
|
||||
@ -151,7 +151,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec4<double, P> const & v
|
||||
)
|
||||
@ -163,7 +163,7 @@ namespace detail
|
||||
// Int vectors
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec2<int, P> const & v
|
||||
)
|
||||
@ -172,7 +172,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec3<int, P> const & v
|
||||
)
|
||||
@ -181,7 +181,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec4<int, P> const & v
|
||||
)
|
||||
@ -193,7 +193,7 @@ namespace detail
|
||||
// Unsigned int vectors
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec2<unsigned int, P> const & v
|
||||
)
|
||||
@ -202,7 +202,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec3<unsigned int, P> const & v
|
||||
)
|
||||
@ -211,7 +211,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tvec4<unsigned int, P> const & v
|
||||
)
|
||||
@ -223,7 +223,7 @@ namespace detail
|
||||
// Float matrices
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat2x2<float, P> const & x
|
||||
)
|
||||
@ -234,7 +234,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat2x3<float, P> const & x
|
||||
)
|
||||
@ -245,7 +245,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat2x4<float, P> const & x
|
||||
)
|
||||
@ -256,7 +256,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat3x2<float, P> const & x
|
||||
)
|
||||
@ -268,7 +268,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat3x3<float, P> const & x
|
||||
)
|
||||
@ -280,7 +280,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat3x4<float, P> const & x
|
||||
)
|
||||
@ -292,7 +292,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat4x2<float, P> const & x
|
||||
)
|
||||
@ -305,7 +305,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat4x3<float, P> const & x
|
||||
)
|
||||
@ -318,7 +318,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat4x4<float, P> const & x
|
||||
)
|
||||
@ -334,7 +334,7 @@ namespace detail
|
||||
// Double matrices
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat2x2<double, P> const & x
|
||||
)
|
||||
@ -345,7 +345,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat2x3<double, P> const & x
|
||||
)
|
||||
@ -356,7 +356,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat2x4<double, P> const & x
|
||||
)
|
||||
@ -367,7 +367,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat3x2<double, P> const & x
|
||||
)
|
||||
@ -379,7 +379,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat3x3<double, P> const & x
|
||||
)
|
||||
@ -391,7 +391,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat3x4<double, P> const & x
|
||||
)
|
||||
@ -403,7 +403,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat4x2<double, P> const & x
|
||||
)
|
||||
@ -416,7 +416,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat4x3<double, P> const & x
|
||||
)
|
||||
@ -429,7 +429,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <precision P>
|
||||
GLM_FUNC_QUALIFIER std::string to_string
|
||||
inline std::string to_string
|
||||
(
|
||||
detail::tmat4x4<double, P> const & x
|
||||
)
|
||||
|
6
deps/glm/gtx/transform.inl
vendored
6
deps/glm/gtx/transform.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> translate(
|
||||
inline detail::tmat4x4<T, P> translate(
|
||||
detail::tvec3<T, P> const & v)
|
||||
{
|
||||
return translate(
|
||||
@ -18,7 +18,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> rotate(
|
||||
inline detail::tmat4x4<T, P> rotate(
|
||||
T angle,
|
||||
detail::tvec3<T, P> const & v)
|
||||
{
|
||||
@ -27,7 +27,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> scale(
|
||||
inline detail::tmat4x4<T, P> scale(
|
||||
detail::tvec3<T, P> const & v)
|
||||
{
|
||||
return scale(
|
||||
|
22
deps/glm/gtx/transform2.inl
vendored
22
deps/glm/gtx/transform2.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> shearX2D(
|
||||
inline detail::tmat3x3<T, P> shearX2D(
|
||||
const detail::tmat3x3<T, P>& m,
|
||||
T s)
|
||||
{
|
||||
@ -20,7 +20,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> shearY2D(
|
||||
inline detail::tmat3x3<T, P> shearY2D(
|
||||
const detail::tmat3x3<T, P>& m,
|
||||
T s)
|
||||
{
|
||||
@ -30,7 +30,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> shearX3D(
|
||||
inline detail::tmat4x4<T, P> shearX3D(
|
||||
const detail::tmat4x4<T, P>& m,
|
||||
T s,
|
||||
T t)
|
||||
@ -42,7 +42,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> shearY3D(
|
||||
inline detail::tmat4x4<T, P> shearY3D(
|
||||
const detail::tmat4x4<T, P>& m,
|
||||
T s,
|
||||
T t)
|
||||
@ -54,7 +54,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> shearZ3D(
|
||||
inline detail::tmat4x4<T, P> shearZ3D(
|
||||
const detail::tmat4x4<T, P>& m,
|
||||
T s,
|
||||
T t)
|
||||
@ -66,7 +66,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> reflect2D(
|
||||
inline detail::tmat3x3<T, P> reflect2D(
|
||||
const detail::tmat3x3<T, P>& m,
|
||||
const detail::tvec3<T, P>& normal)
|
||||
{
|
||||
@ -79,7 +79,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> reflect3D(
|
||||
inline detail::tmat4x4<T, P> reflect3D(
|
||||
const detail::tmat4x4<T, P>& m,
|
||||
const detail::tvec3<T, P>& normal)
|
||||
{
|
||||
@ -99,7 +99,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T, P> proj2D(
|
||||
inline detail::tmat3x3<T, P> proj2D(
|
||||
const detail::tmat3x3<T, P>& m,
|
||||
const detail::tvec3<T, P>& normal)
|
||||
{
|
||||
@ -112,7 +112,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> proj3D(
|
||||
inline detail::tmat4x4<T, P> proj3D(
|
||||
const detail::tmat4x4<T, P>& m,
|
||||
const detail::tvec3<T, P>& normal)
|
||||
{
|
||||
@ -130,7 +130,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> scaleBias(
|
||||
inline detail::tmat4x4<T, P> scaleBias(
|
||||
T scale,
|
||||
T bias)
|
||||
{
|
||||
@ -143,7 +143,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> scaleBias(
|
||||
inline detail::tmat4x4<T, P> scaleBias(
|
||||
const detail::tmat4x4<T, P>& m,
|
||||
T scale,
|
||||
T bias)
|
||||
|
8
deps/glm/gtx/vector_angle.inl
vendored
8
deps/glm/gtx/vector_angle.inl
vendored
@ -10,7 +10,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType angle
|
||||
inline genType angle
|
||||
(
|
||||
genType const & x,
|
||||
genType const & y
|
||||
@ -27,7 +27,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER T angle
|
||||
inline T angle
|
||||
(
|
||||
vecType<T, P> const & x,
|
||||
vecType<T, P> const & y
|
||||
@ -45,7 +45,7 @@ namespace glm
|
||||
|
||||
//! \todo epsilon is hard coded to 0.01
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T orientedAngle
|
||||
inline T orientedAngle
|
||||
(
|
||||
detail::tvec2<T, P> const & x,
|
||||
detail::tvec2<T, P> const & y
|
||||
@ -67,7 +67,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER T orientedAngle
|
||||
inline T orientedAngle
|
||||
(
|
||||
detail::tvec3<T, P> const & x,
|
||||
detail::tvec3<T, P> const & y,
|
||||
|
30
deps/glm/gtx/vector_query.inl
vendored
30
deps/glm/gtx/vector_query.inl
vendored
@ -21,7 +21,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_areCollinear<T, P, tvec2>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static bool call(detail::tvec2<T, P> const & v0, detail::tvec2<T, P> const & v1, T const & epsilon)
|
||||
inline static bool call(detail::tvec2<T, P> const & v0, detail::tvec2<T, P> const & v1, T const & epsilon)
|
||||
{
|
||||
return length(cross(detail::tvec3<T, P>(v0, static_cast<T>(0)), detail::tvec3<T, P>(v1, static_cast<T>(0)))) < epsilon;
|
||||
}
|
||||
@ -30,7 +30,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_areCollinear<T, P, tvec3>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static bool call(detail::tvec3<T, P> const & v0, detail::tvec3<T, P> const & v1, T const & epsilon)
|
||||
inline static bool call(detail::tvec3<T, P> const & v0, detail::tvec3<T, P> const & v1, T const & epsilon)
|
||||
{
|
||||
return length(cross(v0, v1)) < epsilon;
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_areCollinear<T, P, tvec4>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static bool call(detail::tvec4<T, P> const & v0, detail::tvec4<T, P> const & v1, T const & epsilon)
|
||||
inline static bool call(detail::tvec4<T, P> const & v0, detail::tvec4<T, P> const & v1, T const & epsilon)
|
||||
{
|
||||
return length(cross(detail::tvec3<T, P>(v0), detail::tvec3<T, P>(v1))) < epsilon;
|
||||
}
|
||||
@ -51,7 +51,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_isCompNull<T, P, tvec2>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tvec2<bool, P> call(detail::tvec2<T, P> const & v, T const & epsilon)
|
||||
inline static detail::tvec2<bool, P> call(detail::tvec2<T, P> const & v, T const & epsilon)
|
||||
{
|
||||
return detail::tvec2<bool, P>(
|
||||
(abs(v.x) < epsilon),
|
||||
@ -62,7 +62,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_isCompNull<T, P, tvec3>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tvec3<bool, P> call(detail::tvec3<T, P> const & v, T const & epsilon)
|
||||
inline static detail::tvec3<bool, P> call(detail::tvec3<T, P> const & v, T const & epsilon)
|
||||
{
|
||||
return detail::tvec3<bool, P>(
|
||||
(abs(v.x) < epsilon),
|
||||
@ -74,7 +74,7 @@ namespace detail
|
||||
template <typename T, precision P>
|
||||
struct compute_isCompNull<T, P, tvec4>
|
||||
{
|
||||
GLM_FUNC_QUALIFIER static detail::tvec4<bool, P> call(detail::tvec4<T, P> const & v, T const & epsilon)
|
||||
inline static detail::tvec4<bool, P> call(detail::tvec4<T, P> const & v, T const & epsilon)
|
||||
{
|
||||
return detail::tvec4<bool, P>(
|
||||
(abs(v.x) < epsilon),
|
||||
@ -87,7 +87,7 @@ namespace detail
|
||||
}//namespace detail
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER bool areCollinear
|
||||
inline bool areCollinear
|
||||
(
|
||||
vecType<T, P> const & v0,
|
||||
vecType<T, P> const & v1,
|
||||
@ -98,7 +98,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER bool areOrthogonal
|
||||
inline bool areOrthogonal
|
||||
(
|
||||
vecType<T, P> const & v0,
|
||||
vecType<T, P> const & v1,
|
||||
@ -111,7 +111,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER bool isNormalized
|
||||
inline bool isNormalized
|
||||
(
|
||||
vecType<T, P> const & v,
|
||||
T const & epsilon
|
||||
@ -121,7 +121,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER bool isNull
|
||||
inline bool isNull
|
||||
(
|
||||
vecType<T, P> const & v,
|
||||
T const & epsilon
|
||||
@ -131,7 +131,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER vecType<bool, P> isCompNull
|
||||
inline vecType<bool, P> isCompNull
|
||||
(
|
||||
vecType<T, P> const & v,
|
||||
T const & epsilon
|
||||
@ -141,7 +141,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<bool, P> isCompNull
|
||||
inline detail::tvec2<bool, P> isCompNull
|
||||
(
|
||||
detail::tvec2<T, P> const & v,
|
||||
T const & epsilon)
|
||||
@ -152,7 +152,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<bool, P> isCompNull
|
||||
inline detail::tvec3<bool, P> isCompNull
|
||||
(
|
||||
detail::tvec3<T, P> const & v,
|
||||
T const & epsilon
|
||||
@ -165,7 +165,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool, P> isCompNull
|
||||
inline detail::tvec4<bool, P> isCompNull
|
||||
(
|
||||
detail::tvec4<T, P> const & v,
|
||||
T const & epsilon
|
||||
@ -179,7 +179,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template <typename T, precision P, template <typename, precision> class vecType>
|
||||
GLM_FUNC_QUALIFIER bool areOrthonormal
|
||||
inline bool areOrthonormal
|
||||
(
|
||||
vecType<T, P> const & v0,
|
||||
vecType<T, P> const & v1,
|
||||
|
24
deps/glm/gtx/wrap.inl
vendored
24
deps/glm/gtx/wrap.inl
vendored
@ -13,7 +13,7 @@
|
||||
namespace glm
|
||||
{
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType clamp
|
||||
inline genType clamp
|
||||
(
|
||||
genType const & Texcoord
|
||||
)
|
||||
@ -22,7 +22,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> clamp
|
||||
inline detail::tvec2<T, P> clamp
|
||||
(
|
||||
detail::tvec2<T, P> const & Texcoord
|
||||
)
|
||||
@ -34,7 +34,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> clamp
|
||||
inline detail::tvec3<T, P> clamp
|
||||
(
|
||||
detail::tvec3<T, P> const & Texcoord
|
||||
)
|
||||
@ -46,7 +46,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> clamp
|
||||
inline detail::tvec4<T, P> clamp
|
||||
(
|
||||
detail::tvec4<T, P> const & Texcoord
|
||||
)
|
||||
@ -61,7 +61,7 @@ namespace glm
|
||||
// repeat
|
||||
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType repeat
|
||||
inline genType repeat
|
||||
(
|
||||
genType const & Texcoord
|
||||
)
|
||||
@ -70,7 +70,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> repeat
|
||||
inline detail::tvec2<T, P> repeat
|
||||
(
|
||||
detail::tvec2<T, P> const & Texcoord
|
||||
)
|
||||
@ -82,7 +82,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> repeat
|
||||
inline detail::tvec3<T, P> repeat
|
||||
(
|
||||
detail::tvec3<T, P> const & Texcoord
|
||||
)
|
||||
@ -94,7 +94,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> repeat
|
||||
inline detail::tvec4<T, P> repeat
|
||||
(
|
||||
detail::tvec4<T, P> const & Texcoord
|
||||
)
|
||||
@ -109,7 +109,7 @@ namespace glm
|
||||
// mirrorRepeat
|
||||
|
||||
template <typename genType, precision P>
|
||||
GLM_FUNC_QUALIFIER genType mirrorRepeat
|
||||
inline genType mirrorRepeat
|
||||
(
|
||||
genType const & Texcoord
|
||||
)
|
||||
@ -128,7 +128,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T, P> mirrorRepeat
|
||||
inline detail::tvec2<T, P> mirrorRepeat
|
||||
(
|
||||
detail::tvec2<T, P> const & Texcoord
|
||||
)
|
||||
@ -140,7 +140,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T, P> mirrorRepeat
|
||||
inline detail::tvec3<T, P> mirrorRepeat
|
||||
(
|
||||
detail::tvec3<T, P> const & Texcoord
|
||||
)
|
||||
@ -152,7 +152,7 @@ namespace glm
|
||||
}
|
||||
|
||||
template <typename T, precision P>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T, P> mirrorRepeat
|
||||
inline detail::tvec4<T, P> mirrorRepeat
|
||||
(
|
||||
detail::tvec4<T, P> const & Texcoord
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user