mirror of
https://github.com/g-truc/glm.git
synced 2024-11-29 11:24:35 +00:00
Merge 0.9.8
This commit is contained in:
commit
44a981ea68
@ -69,7 +69,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 2;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -154,12 +154,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat2x2<T, P>::length_type tmat2x2<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat2x2<T, P>::col_type & tmat2x2<T, P>::operator[](typename tmat2x2<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat2x2<T, P>::col_type & tmat2x2<T, P>::operator[](typename tmat2x2<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -70,7 +70,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 2;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -154,12 +154,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat2x3<T, P>::length_type tmat2x3<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat2x3<T, P>::col_type & tmat2x3<T, P>::operator[](typename tmat2x3<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat2x3<T, P>::col_type & tmat2x3<T, P>::operator[](typename tmat2x3<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -72,7 +72,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 2;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -155,12 +155,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat2x4<T, P>::length_type tmat2x4<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat2x4<T, P>::col_type & tmat2x4<T, P>::operator[](typename tmat2x4<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat2x4<T, P>::col_type & tmat2x4<T, P>::operator[](typename tmat2x4<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -77,7 +77,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 3;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -184,12 +184,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat3x2<T, P>::length_type tmat3x2<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat3x2<T, P>::col_type & tmat3x2<T, P>::operator[](typename tmat3x2<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat3x2<T, P>::col_type & tmat3x2<T, P>::operator[](typename tmat3x2<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 3;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -186,12 +186,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat3x3<T, P>::length_type tmat3x3<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat3x3<T, P>::col_type & tmat3x3<T, P>::operator[](typename tmat3x3<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat3x3<T, P>::col_type & tmat3x3<T, P>::operator[](typename tmat3x3<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -77,7 +77,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 3;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -184,12 +184,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat3x4<T, P>::length_type tmat3x4<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat3x4<T, P>::col_type & tmat3x4<T, P>::operator[](typename tmat3x4<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat3x4<T, P>::col_type & tmat3x4<T, P>::operator[](typename tmat3x4<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -82,7 +82,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 4;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -213,12 +213,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat4x2<T, P>::length_type tmat4x2<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat4x2<T, P>::col_type & tmat4x2<T, P>::operator[](typename tmat4x2<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat4x2<T, P>::col_type & tmat4x2<T, P>::operator[](typename tmat4x2<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -82,7 +82,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 4;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -206,12 +206,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat4x3<T, P>::length_type tmat4x3<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat4x3<T, P>::col_type & tmat4x3<T, P>::operator[](typename tmat4x3<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat4x3<T, P>::col_type & tmat4x3<T, P>::operator[](typename tmat4x3<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -81,7 +81,7 @@ namespace glm
|
|||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 4;}
|
||||||
|
|
||||||
GLM_FUNC_DECL col_type & operator[](length_type i);
|
GLM_FUNC_DECL col_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_type i) const;
|
||||||
|
@ -236,12 +236,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Accesses --
|
// -- Accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tmat4x4<T, P>::length_type tmat4x4<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tmat4x4<T, P>::col_type & tmat4x4<T, P>::operator[](typename tmat4x4<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tmat4x4<T, P>::col_type & tmat4x4<T, P>::operator[](typename tmat4x4<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -75,7 +75,7 @@ namespace glm
|
|||||||
|
|
||||||
/// Return the count of components of the vector
|
/// Return the count of components of the vector
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 1;}
|
||||||
|
|
||||||
GLM_FUNC_DECL T & operator[](length_type i);
|
GLM_FUNC_DECL T & operator[](length_type i);
|
||||||
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
||||||
|
@ -66,12 +66,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Component accesses --
|
// -- Component accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tvec1<T, P>::length_type tvec1<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER T & tvec1<T, P>::operator[](typename tvec1<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER T & tvec1<T, P>::operator[](typename tvec1<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,7 @@ namespace glm
|
|||||||
|
|
||||||
/// Return the count of components of the vector
|
/// Return the count of components of the vector
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 2;}
|
||||||
|
|
||||||
GLM_FUNC_DECL T & operator[](length_type i);
|
GLM_FUNC_DECL T & operator[](length_type i);
|
||||||
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
||||||
|
@ -97,12 +97,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Component accesses --
|
// -- Component accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tvec2<T, P>::length_type tvec2<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER T & tvec2<T, P>::operator[](typename tvec2<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER T & tvec2<T, P>::operator[](typename tvec2<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,7 @@ namespace glm
|
|||||||
|
|
||||||
/// Return the count of components of the vector
|
/// Return the count of components of the vector
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 3;}
|
||||||
|
|
||||||
GLM_FUNC_DECL T & operator[](length_type i);
|
GLM_FUNC_DECL T & operator[](length_type i);
|
||||||
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
||||||
|
@ -139,12 +139,6 @@ namespace glm
|
|||||||
|
|
||||||
// -- Component accesses --
|
// -- Component accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tvec3<T, P>::length_type tvec3<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER T & tvec3<T, P>::operator[](typename tvec3<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER T & tvec3<T, P>::operator[](typename tvec3<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -79,7 +79,7 @@ namespace glm
|
|||||||
|
|
||||||
/// Return the count of components of the vector
|
/// Return the count of components of the vector
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 4;}
|
||||||
|
|
||||||
GLM_FUNC_DECL T & operator[](length_type i);
|
GLM_FUNC_DECL T & operator[](length_type i);
|
||||||
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
||||||
|
@ -324,12 +324,6 @@ namespace detail
|
|||||||
|
|
||||||
// -- Component accesses --
|
// -- Component accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tvec4<T, P>::length_type tvec4<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER T & tvec4<T, P>::operator[](typename tvec4<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER T & tvec4<T, P>::operator[](typename tvec4<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -71,7 +71,7 @@ namespace glm
|
|||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
/// Return the count of components of a quaternion
|
/// Return the count of components of a quaternion
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 4;}
|
||||||
|
|
||||||
GLM_FUNC_DECL T & operator[](length_type i);
|
GLM_FUNC_DECL T & operator[](length_type i);
|
||||||
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
GLM_FUNC_DECL T const & operator[](length_type i) const;
|
||||||
|
@ -67,12 +67,6 @@ namespace detail
|
|||||||
|
|
||||||
// -- Component accesses --
|
// -- Component accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tquat<T, P>::length_type tquat<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER T & tquat<T, P>::operator[](typename tquat<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER T & tquat<T, P>::operator[](typename tquat<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -154,7 +154,7 @@ namespace detail
|
|||||||
return (compute_rand<uint32, P, vecType>::call() % (Max + static_cast<uint32>(1) - Min)) + Min;
|
return (compute_rand<uint32, P, vecType>::call() % (Max + static_cast<uint32>(1) - Min)) + Min;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <precision P, template <class, precision> class vecType>
|
template <precision P, template <class, precision> class vecType>
|
||||||
struct compute_linearRand<int64, P, vecType>
|
struct compute_linearRand<int64, P, vecType>
|
||||||
{
|
{
|
||||||
|
@ -46,7 +46,7 @@ namespace glm
|
|||||||
|
|
||||||
typedef length_t length_type;
|
typedef length_t length_type;
|
||||||
/// Return the count of components of a dual quaternion
|
/// Return the count of components of a dual quaternion
|
||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;
|
GLM_FUNC_DECL static length_type length(){return 2;}
|
||||||
|
|
||||||
GLM_FUNC_DECL part_type & operator[](length_type i);
|
GLM_FUNC_DECL part_type & operator[](length_type i);
|
||||||
GLM_FUNC_DECL part_type const & operator[](length_type i) const;
|
GLM_FUNC_DECL part_type const & operator[](length_type i) const;
|
||||||
|
@ -8,12 +8,6 @@ namespace glm
|
|||||||
{
|
{
|
||||||
// -- Component accesses --
|
// -- Component accesses --
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename tdualquat<T, P>::length_type tdualquat<T, P>::length() const
|
|
||||||
{
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER typename tdualquat<T, P>::part_type & tdualquat<T, P>::operator[](typename tdualquat<T, P>::length_type i)
|
GLM_FUNC_QUALIFIER typename tdualquat<T, P>::part_type & tdualquat<T, P>::operator[](typename tdualquat<T, P>::length_type i)
|
||||||
{
|
{
|
||||||
|
@ -70,13 +70,14 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Removed GLM_DEPTH_ZERO_TO_ONE, use GLM_FORCE_DEPTH_ZERO_TO_ONE instead
|
- Removed GLM_DEPTH_ZERO_TO_ONE, use GLM_FORCE_DEPTH_ZERO_TO_ONE instead
|
||||||
- Removed GLM_LEFT_HANDED, use GLM_FORCE_LEFT_HANDED instead
|
- Removed GLM_LEFT_HANDED, use GLM_FORCE_LEFT_HANDED instead
|
||||||
|
|
||||||
#### [GLM 0.9.8.2](https://github.com/g-truc/glm/tree/0.9.8) - 2016-XX-XX
|
#### [GLM 0.9.8.2](https://github.com/g-truc/glm/releases/tag/0.9.8.2) - 2016-11-01
|
||||||
##### Improvements:
|
##### Improvements:
|
||||||
- Added Visual C++ 15 detection
|
- Added Visual C++ 15 detection
|
||||||
- Added Clang 4.0 detection
|
- Added Clang 4.0 detection
|
||||||
- Added warning messages when using GLM_FORCE_CXX** but the compiler
|
- Added warning messages when using GLM_FORCE_CXX** but the compiler
|
||||||
is known to not fully support the requested C++ version #555
|
is known to not fully support the requested C++ version #555
|
||||||
- Refactored GLM_COMPILER_VC values
|
- Refactored GLM_COMPILER_VC values
|
||||||
|
- Made quat, vec, mat type component length() static #565
|
||||||
|
|
||||||
##### Fixes:
|
##### Fixes:
|
||||||
- Fixed Visual C++ constexpr build error #555, #556
|
- Fixed Visual C++ constexpr build error #555, #556
|
||||||
|
@ -1,7 +1,22 @@
|
|||||||
|
struct vec4
|
||||||
|
{
|
||||||
|
static int length();
|
||||||
|
};
|
||||||
|
|
||||||
|
int vec4::length()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Failed = 0;
|
int Failed = 0;
|
||||||
|
|
||||||
|
vec4 V;
|
||||||
|
|
||||||
|
int LengthA = V.length();
|
||||||
|
int LengthB = vec4::length();
|
||||||
|
|
||||||
return Failed;
|
return Failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,6 +132,20 @@ namespace cast
|
|||||||
}
|
}
|
||||||
}//namespace cast
|
}//namespace cast
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 16 == sizeof(glm::mat2x2) ? 0 : 1;
|
||||||
|
Error += 32 == sizeof(glm::dmat2x2) ? 0 : 1;
|
||||||
|
Error += glm::mat2x2().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::dmat2x2().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::mat2x2::length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::dmat2x2::length() == 2 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error(0);
|
int Error(0);
|
||||||
@ -140,6 +154,7 @@ int main()
|
|||||||
Error += test_ctr();
|
Error += test_ctr();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
Error += test_inverse();
|
Error += test_inverse();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -106,6 +106,20 @@ namespace cast
|
|||||||
}
|
}
|
||||||
}//namespace cast
|
}//namespace cast
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 24 == sizeof(glm::mat2x3) ? 0 : 1;
|
||||||
|
Error += 48 == sizeof(glm::dmat2x3) ? 0 : 1;
|
||||||
|
Error += glm::mat2x3().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::dmat2x3().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::mat2x3::length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::dmat2x3::length() == 2 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -113,6 +127,7 @@ int main()
|
|||||||
Error += cast::test();
|
Error += cast::test();
|
||||||
Error += test_ctr();
|
Error += test_ctr();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -106,6 +106,20 @@ namespace cast
|
|||||||
}
|
}
|
||||||
}//namespace cast
|
}//namespace cast
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 32 == sizeof(glm::mat2x4) ? 0 : 1;
|
||||||
|
Error += 64 == sizeof(glm::dmat2x4) ? 0 : 1;
|
||||||
|
Error += glm::mat2x4().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::dmat2x4().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::mat2x4::length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::dmat2x4::length() == 2 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -113,6 +127,7 @@ int main()
|
|||||||
Error += cast::test();
|
Error += cast::test();
|
||||||
Error += test_ctr();
|
Error += test_ctr();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -110,6 +110,20 @@ namespace cast
|
|||||||
}
|
}
|
||||||
}//namespace cast
|
}//namespace cast
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 24 == sizeof(glm::mat3x2) ? 0 : 1;
|
||||||
|
Error += 48 == sizeof(glm::dmat3x2) ? 0 : 1;
|
||||||
|
Error += glm::mat3x2().length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::dmat3x2().length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::mat3x2::length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::dmat3x2::length() == 3 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -117,6 +131,7 @@ int main()
|
|||||||
Error += cast::test();
|
Error += cast::test();
|
||||||
Error += test_ctr();
|
Error += test_ctr();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -169,6 +169,20 @@ namespace cast
|
|||||||
}
|
}
|
||||||
}//namespace cast
|
}//namespace cast
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 36 == sizeof(glm::mat3x3) ? 0 : 1;
|
||||||
|
Error += 72 == sizeof(glm::dmat3x3) ? 0 : 1;
|
||||||
|
Error += glm::mat3x3().length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::dmat3x3().length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::mat3x3::length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::dmat3x3::length() == 3 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -178,6 +192,7 @@ int main()
|
|||||||
Error += test_mat3x3();
|
Error += test_mat3x3();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
Error += test_inverse();
|
Error += test_inverse();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -110,6 +110,20 @@ namespace cast
|
|||||||
}
|
}
|
||||||
}//namespace cast
|
}//namespace cast
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 48 == sizeof(glm::mat3x4) ? 0 : 1;
|
||||||
|
Error += 96 == sizeof(glm::dmat3x4) ? 0 : 1;
|
||||||
|
Error += glm::mat3x4().length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::dmat3x4().length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::mat3x4::length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::dmat3x4::length() == 3 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -117,6 +131,7 @@ int main()
|
|||||||
Error += cast::test();
|
Error += cast::test();
|
||||||
Error += test_ctr();
|
Error += test_ctr();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -114,6 +114,20 @@ namespace cast
|
|||||||
}
|
}
|
||||||
}//namespace cast
|
}//namespace cast
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 32 == sizeof(glm::mat4x2) ? 0 : 1;
|
||||||
|
Error += 64 == sizeof(glm::dmat4x2) ? 0 : 1;
|
||||||
|
Error += glm::mat4x2().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dmat4x2().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::mat4x2::length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dmat4x2::length() == 4 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -121,6 +135,7 @@ int main()
|
|||||||
Error += cast::test();
|
Error += cast::test();
|
||||||
Error += test_ctr();
|
Error += test_ctr();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -114,6 +114,20 @@ namespace cast
|
|||||||
}
|
}
|
||||||
}//namespace cast
|
}//namespace cast
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 48 == sizeof(glm::mat4x3) ? 0 : 1;
|
||||||
|
Error += 96 == sizeof(glm::dmat4x3) ? 0 : 1;
|
||||||
|
Error += glm::mat4x3().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dmat4x3().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::mat4x3::length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dmat4x3::length() == 4 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -121,6 +135,7 @@ int main()
|
|||||||
Error += cast::test();
|
Error += cast::test();
|
||||||
Error += test_ctr();
|
Error += test_ctr();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -294,6 +294,20 @@ struct repro
|
|||||||
glm::mat4* matrix;
|
glm::mat4* matrix;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 64 == sizeof(glm::mat4) ? 0 : 1;
|
||||||
|
Error += 128 == sizeof(glm::dmat4) ? 0 : 1;
|
||||||
|
Error += glm::mat4().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dmat4().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::mat4::length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dmat4::length() == 4 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -306,6 +320,7 @@ int main()
|
|||||||
Error += test_inverse_mat4x4();
|
Error += test_inverse_mat4x4();
|
||||||
Error += test_operators();
|
Error += test_operators();
|
||||||
Error += test_inverse();
|
Error += test_inverse();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
Error += perf_mul();
|
Error += perf_mul();
|
||||||
|
|
||||||
|
@ -93,14 +93,16 @@ int test_vec1_ctor()
|
|||||||
int test_vec1_size()
|
int test_vec1_size()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
|
|
||||||
Error += sizeof(glm::vec1) == sizeof(glm::mediump_vec1) ? 0 : 1;
|
Error += sizeof(glm::vec1) == sizeof(glm::mediump_vec1) ? 0 : 1;
|
||||||
Error += 4 == sizeof(glm::mediump_vec1) ? 0 : 1;
|
Error += 4 == sizeof(glm::mediump_vec1) ? 0 : 1;
|
||||||
Error += sizeof(glm::dvec1) == sizeof(glm::highp_dvec1) ? 0 : 1;
|
Error += sizeof(glm::dvec1) == sizeof(glm::highp_dvec1) ? 0 : 1;
|
||||||
Error += 8 == sizeof(glm::highp_dvec1) ? 0 : 1;
|
Error += 8 == sizeof(glm::highp_dvec1) ? 0 : 1;
|
||||||
Error += glm::vec1().length() == 1 ? 0 : 1;
|
Error += glm::vec1().length() == 1 ? 0 : 1;
|
||||||
Error += glm::dvec1().length() == 1 ? 0 : 1;
|
Error += glm::dvec1().length() == 1 ? 0 : 1;
|
||||||
|
Error += glm::vec1::length() == 1 ? 0 : 1;
|
||||||
|
Error += glm::dvec1::length() == 1 ? 0 : 1;
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,6 +265,8 @@ int test_vec2_size()
|
|||||||
Error += 16 == sizeof(glm::highp_dvec2) ? 0 : 1;
|
Error += 16 == sizeof(glm::highp_dvec2) ? 0 : 1;
|
||||||
Error += glm::vec2().length() == 2 ? 0 : 1;
|
Error += glm::vec2().length() == 2 ? 0 : 1;
|
||||||
Error += glm::dvec2().length() == 2 ? 0 : 1;
|
Error += glm::dvec2().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::vec2::length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::dvec2::length() == 2 ? 0 : 1;
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -239,6 +239,9 @@ int test_vec3_size()
|
|||||||
Error += 24 == sizeof(glm::highp_dvec3) ? 0 : 1;
|
Error += 24 == sizeof(glm::highp_dvec3) ? 0 : 1;
|
||||||
Error += glm::vec3().length() == 3 ? 0 : 1;
|
Error += glm::vec3().length() == 3 ? 0 : 1;
|
||||||
Error += glm::dvec3().length() == 3 ? 0 : 1;
|
Error += glm::dvec3().length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::vec3::length() == 3 ? 0 : 1;
|
||||||
|
Error += glm::dvec3::length() == 3 ? 0 : 1;
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -315,6 +315,8 @@ int test_vec4_size()
|
|||||||
Error += 32 == sizeof(glm::highp_dvec4) ? 0 : 1;
|
Error += 32 == sizeof(glm::highp_dvec4) ? 0 : 1;
|
||||||
Error += glm::vec4().length() == 4 ? 0 : 1;
|
Error += glm::vec4().length() == 4 ? 0 : 1;
|
||||||
Error += glm::dvec4().length() == 4 ? 0 : 1;
|
Error += glm::dvec4().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::vec4::length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dvec4::length() == 4 ? 0 : 1;
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -291,9 +291,23 @@ int test_quat_ctr()
|
|||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 16 == sizeof(glm::quat) ? 0 : 1;
|
||||||
|
Error += 32 == sizeof(glm::dquat) ? 0 : 1;
|
||||||
|
Error += glm::quat().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dquat().length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::quat::length() == 4 ? 0 : 1;
|
||||||
|
Error += glm::dquat::length() == 4 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error(0);
|
int Error = 0;
|
||||||
|
|
||||||
Error += test_quat_ctr();
|
Error += test_quat_ctr();
|
||||||
Error += test_quat_mul_vec();
|
Error += test_quat_mul_vec();
|
||||||
@ -307,6 +321,7 @@ int main()
|
|||||||
Error += test_quat_normalize();
|
Error += test_quat_normalize();
|
||||||
Error += test_quat_euler();
|
Error += test_quat_euler();
|
||||||
Error += test_quat_slerp();
|
Error += test_quat_slerp();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -174,15 +174,30 @@ int test_dual_quat_ctr()
|
|||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int test_size()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += 32 == sizeof(glm::dualquat) ? 0 : 1;
|
||||||
|
Error += 64 == sizeof(glm::ddualquat) ? 0 : 1;
|
||||||
|
Error += glm::dualquat().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::ddualquat().length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::dualquat::length() == 2 ? 0 : 1;
|
||||||
|
Error += glm::ddualquat::length() == 2 ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error(0);
|
int Error = 0;
|
||||||
|
|
||||||
Error += test_dual_quat_ctr();
|
Error += test_dual_quat_ctr();
|
||||||
Error += test_dquat_type();
|
Error += test_dquat_type();
|
||||||
Error += test_scalars();
|
Error += test_scalars();
|
||||||
Error += test_inverse();
|
Error += test_inverse();
|
||||||
Error += test_mul();
|
Error += test_mul();
|
||||||
|
Error += test_size();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@ int test_log()
|
|||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error(0);
|
int Error = 0;
|
||||||
|
|
||||||
Error += test_log();
|
Error += test_log();
|
||||||
Error += test_rotation();
|
Error += test_rotation();
|
||||||
|
Loading…
Reference in New Issue
Block a user