Updated header files formatting
This commit is contained in:
parent
14760e9770
commit
d7510204c1
@ -18,346 +18,345 @@
|
||||
#endif
|
||||
|
||||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
namespace detail
|
||||
{
|
||||
#ifndef _MSC_EXTENSIONS
|
||||
template <>
|
||||
struct tvec2<thalf>
|
||||
{
|
||||
enum ctor{null};
|
||||
typedef thalf value_type;
|
||||
typedef std::size_t size_type;
|
||||
static size_type value_size();
|
||||
|
||||
typedef tvec2<thalf> type;
|
||||
typedef tvec2<bool> bool_type;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Data
|
||||
|
||||
thalf x, y;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Accesses
|
||||
|
||||
thalf & operator[](size_type i);
|
||||
thalf const & operator[](size_type i) const;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
|
||||
tvec2();
|
||||
tvec2(tvec2<thalf> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Explicit basic constructors
|
||||
|
||||
explicit tvec2(ctor);
|
||||
explicit tvec2(
|
||||
thalf const & s);
|
||||
explicit tvec2(
|
||||
thalf const & s1,
|
||||
thalf const & s2);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle constructors
|
||||
|
||||
tvec2(tref2<thalf> const & r);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion scalar constructors
|
||||
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec2(U const & x);
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U, typename V>
|
||||
explicit tvec2(U const & x, V const & y);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion vector constructors
|
||||
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec2(tvec2<U> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec2(tvec3<U> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec2(tvec4<U> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Unary arithmetic operators
|
||||
|
||||
tvec2<thalf>& operator= (tvec2<thalf> const & v);
|
||||
|
||||
tvec2<thalf>& operator+=(thalf const & s);
|
||||
tvec2<thalf>& operator+=(tvec2<thalf> const & v);
|
||||
tvec2<thalf>& operator-=(thalf const & s);
|
||||
tvec2<thalf>& operator-=(tvec2<thalf> const & v);
|
||||
tvec2<thalf>& operator*=(thalf const & s);
|
||||
tvec2<thalf>& operator*=(tvec2<thalf> const & v);
|
||||
tvec2<thalf>& operator/=(thalf const & s);
|
||||
tvec2<thalf>& operator/=(tvec2<thalf> const & v);
|
||||
tvec2<thalf>& operator++();
|
||||
tvec2<thalf>& operator--();
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle operators
|
||||
|
||||
thalf swizzle(comp X) const;
|
||||
tvec2<thalf> swizzle(comp X, comp Y) const;
|
||||
tvec3<thalf> swizzle(comp X, comp Y, comp Z) const;
|
||||
tvec4<thalf> swizzle(comp X, comp Y, comp Z, comp W) const;
|
||||
tref2<thalf> swizzle(comp X, comp Y);
|
||||
};
|
||||
|
||||
template <>
|
||||
struct tvec3<thalf>
|
||||
{
|
||||
enum ctor{null};
|
||||
typedef thalf value_type;
|
||||
typedef std::size_t size_type;
|
||||
static size_type value_size();
|
||||
|
||||
typedef tvec3<thalf> type;
|
||||
typedef tvec3<bool> bool_type;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Data
|
||||
|
||||
thalf x, y, z;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Accesses
|
||||
|
||||
thalf & operator[](size_type i);
|
||||
thalf const & operator[](size_type i) const;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
|
||||
tvec3();
|
||||
tvec3(tvec3<thalf> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Explicit basic constructors
|
||||
|
||||
explicit tvec3(ctor);
|
||||
explicit tvec3(
|
||||
thalf const & s);
|
||||
explicit tvec3(
|
||||
thalf const & s1,
|
||||
thalf const & s2,
|
||||
thalf const & s3);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle constructors
|
||||
|
||||
tvec3(tref3<thalf> const & r);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion scalar constructors
|
||||
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec3(U const & x);
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U, typename V, typename W>
|
||||
explicit tvec3(U const & x, V const & y, W const & z);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion vector constructors
|
||||
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec3(tvec2<A> const & v, B const & s);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec3(A const & s, tvec2<B> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec3(tvec3<U> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec3(tvec4<U> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Unary arithmetic operators
|
||||
|
||||
tvec3<thalf>& operator= (tvec3<thalf> const & v);
|
||||
|
||||
tvec3<thalf>& operator+=(thalf const & s);
|
||||
tvec3<thalf>& operator+=(tvec3<thalf> const & v);
|
||||
tvec3<thalf>& operator-=(thalf const & s);
|
||||
tvec3<thalf>& operator-=(tvec3<thalf> const & v);
|
||||
tvec3<thalf>& operator*=(thalf const & s);
|
||||
tvec3<thalf>& operator*=(tvec3<thalf> const & v);
|
||||
tvec3<thalf>& operator/=(thalf const & s);
|
||||
tvec3<thalf>& operator/=(tvec3<thalf> const & v);
|
||||
tvec3<thalf>& operator++();
|
||||
tvec3<thalf>& operator--();
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle operators
|
||||
|
||||
thalf swizzle(comp X) const;
|
||||
tvec2<thalf> swizzle(comp X, comp Y) const;
|
||||
tvec3<thalf> swizzle(comp X, comp Y, comp Z) const;
|
||||
tvec4<thalf> swizzle(comp X, comp Y, comp Z, comp W) const;
|
||||
tref3<thalf> swizzle(comp X, comp Y, comp Z);
|
||||
};
|
||||
|
||||
template <>
|
||||
struct tvec4<thalf>
|
||||
{
|
||||
enum ctor{null};
|
||||
typedef thalf value_type;
|
||||
typedef std::size_t size_type;
|
||||
static size_type value_size();
|
||||
|
||||
typedef tvec4<thalf> type;
|
||||
typedef tvec4<bool> bool_type;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Data
|
||||
|
||||
thalf x, y, z, w;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Accesses
|
||||
|
||||
thalf & operator[](size_type i);
|
||||
thalf const & operator[](size_type i) const;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
|
||||
tvec4();
|
||||
tvec4(tvec4<thalf> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Explicit basic constructors
|
||||
|
||||
explicit tvec4(ctor);
|
||||
explicit tvec4(
|
||||
thalf const & s);
|
||||
explicit tvec4(
|
||||
thalf const & s0,
|
||||
thalf const & s1,
|
||||
thalf const & s2,
|
||||
thalf const & s3);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle constructors
|
||||
|
||||
tvec4(tref4<thalf> const & r);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion scalar constructors
|
||||
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec4(U const & x);
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B, typename C, typename D>
|
||||
explicit tvec4(A const & x, B const & y, C const & z, D const & w);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion vector constructors
|
||||
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B, typename C>
|
||||
explicit tvec4(tvec2<A> const & v, B const & s1, C const & s2);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B, typename C>
|
||||
explicit tvec4(A const & s1, tvec2<B> const & v, C const & s2);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B, typename C>
|
||||
explicit tvec4(A const & s1, B const & s2, tvec2<C> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec4(tvec3<A> const & v, B const & s);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec4(A const & s, tvec3<B> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec4(tvec2<A> const & v1, tvec2<B> const & v2);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec4(tvec4<U> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Unary arithmetic operators
|
||||
|
||||
tvec4<thalf>& operator= (tvec4<thalf> const & v);
|
||||
|
||||
tvec4<thalf>& operator+=(thalf const & s);
|
||||
tvec4<thalf>& operator+=(tvec4<thalf> const & v);
|
||||
tvec4<thalf>& operator-=(thalf const & s);
|
||||
tvec4<thalf>& operator-=(tvec4<thalf> const & v);
|
||||
tvec4<thalf>& operator*=(thalf const & s);
|
||||
tvec4<thalf>& operator*=(tvec4<thalf> const & v);
|
||||
tvec4<thalf>& operator/=(thalf const & s);
|
||||
tvec4<thalf>& operator/=(tvec4<thalf> const & v);
|
||||
tvec4<thalf>& operator++();
|
||||
tvec4<thalf>& operator--();
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle operators
|
||||
|
||||
thalf swizzle(comp X) const;
|
||||
tvec2<thalf> swizzle(comp X, comp Y) const;
|
||||
tvec3<thalf> swizzle(comp X, comp Y, comp Z) const;
|
||||
tvec4<thalf> swizzle(comp X, comp Y, comp Z, comp W) const;
|
||||
tref4<thalf> swizzle(comp X, comp Y, comp Z, comp W);
|
||||
};
|
||||
#endif//_MSC_EXTENSIONS
|
||||
}
|
||||
//namespace detail
|
||||
|
||||
namespace gtc{
|
||||
//! GLM_GTC_half_float extension: Add support for half precision floating-point types
|
||||
namespace half_float
|
||||
template <>
|
||||
struct tvec2<thalf>
|
||||
{
|
||||
/// \addtogroup gtc_half_float
|
||||
///@{
|
||||
enum ctor{null};
|
||||
typedef thalf value_type;
|
||||
typedef std::size_t size_type;
|
||||
static size_type value_size();
|
||||
|
||||
//! Type for half-precision floating-point numbers.
|
||||
//! From GLM_GTC_half_float extension.
|
||||
typedef detail::thalf half;
|
||||
typedef tvec2<thalf> type;
|
||||
typedef tvec2<bool> bool_type;
|
||||
|
||||
//! Vector of 2 half-precision floating-point numbers.
|
||||
//! From GLM_GTC_half_float extension.
|
||||
typedef detail::tvec2<detail::thalf> hvec2;
|
||||
//////////////////////////////////////
|
||||
// Data
|
||||
|
||||
//! Vector of 3 half-precision floating-point numbers.
|
||||
//! From GLM_GTC_half_float extension.
|
||||
typedef detail::tvec3<detail::thalf> hvec3;
|
||||
thalf x, y;
|
||||
|
||||
//! Vector of 4 half-precision floating-point numbers.
|
||||
//! From GLM_GTC_half_float extension.
|
||||
typedef detail::tvec4<detail::thalf> hvec4;
|
||||
//////////////////////////////////////
|
||||
// Accesses
|
||||
|
||||
//! 2 * 2 matrix of half-precision floating-point numbers.
|
||||
//! From GLM_GTC_half_float extension.
|
||||
typedef detail::tmat2x2<detail::thalf> hmat2;
|
||||
thalf & operator[](size_type i);
|
||||
thalf const & operator[](size_type i) const;
|
||||
|
||||
//! 3 * 3 matrix of half-precision floating-point numbers.
|
||||
//! From GLM_GTC_half_float extension.
|
||||
typedef detail::tmat3x3<detail::thalf> hmat3;
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
|
||||
//! 4 * 4 matrix of half-precision floating-point numbers.
|
||||
//! From GLM_GTC_half_float extension.
|
||||
typedef detail::tmat4x4<detail::thalf> hmat4;
|
||||
tvec2();
|
||||
tvec2(tvec2<thalf> const & v);
|
||||
|
||||
///@}
|
||||
//////////////////////////////////////
|
||||
// Explicit basic constructors
|
||||
|
||||
}//namespace half_float
|
||||
}//namespace gtc
|
||||
}//namespace glm
|
||||
explicit tvec2(ctor);
|
||||
explicit tvec2(
|
||||
thalf const & s);
|
||||
explicit tvec2(
|
||||
thalf const & s1,
|
||||
thalf const & s2);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle constructors
|
||||
|
||||
tvec2(tref2<thalf> const & r);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion scalar constructors
|
||||
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec2(U const & x);
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U, typename V>
|
||||
explicit tvec2(U const & x, V const & y);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion vector constructors
|
||||
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec2(tvec2<U> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec2(tvec3<U> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec2(tvec4<U> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Unary arithmetic operators
|
||||
|
||||
tvec2<thalf>& operator= (tvec2<thalf> const & v);
|
||||
|
||||
tvec2<thalf>& operator+=(thalf const & s);
|
||||
tvec2<thalf>& operator+=(tvec2<thalf> const & v);
|
||||
tvec2<thalf>& operator-=(thalf const & s);
|
||||
tvec2<thalf>& operator-=(tvec2<thalf> const & v);
|
||||
tvec2<thalf>& operator*=(thalf const & s);
|
||||
tvec2<thalf>& operator*=(tvec2<thalf> const & v);
|
||||
tvec2<thalf>& operator/=(thalf const & s);
|
||||
tvec2<thalf>& operator/=(tvec2<thalf> const & v);
|
||||
tvec2<thalf>& operator++();
|
||||
tvec2<thalf>& operator--();
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle operators
|
||||
|
||||
thalf swizzle(comp X) const;
|
||||
tvec2<thalf> swizzle(comp X, comp Y) const;
|
||||
tvec3<thalf> swizzle(comp X, comp Y, comp Z) const;
|
||||
tvec4<thalf> swizzle(comp X, comp Y, comp Z, comp W) const;
|
||||
tref2<thalf> swizzle(comp X, comp Y);
|
||||
};
|
||||
|
||||
template <>
|
||||
struct tvec3<thalf>
|
||||
{
|
||||
enum ctor{null};
|
||||
typedef thalf value_type;
|
||||
typedef std::size_t size_type;
|
||||
static size_type value_size();
|
||||
|
||||
typedef tvec3<thalf> type;
|
||||
typedef tvec3<bool> bool_type;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Data
|
||||
|
||||
thalf x, y, z;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Accesses
|
||||
|
||||
thalf & operator[](size_type i);
|
||||
thalf const & operator[](size_type i) const;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
|
||||
tvec3();
|
||||
tvec3(tvec3<thalf> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Explicit basic constructors
|
||||
|
||||
explicit tvec3(ctor);
|
||||
explicit tvec3(
|
||||
thalf const & s);
|
||||
explicit tvec3(
|
||||
thalf const & s1,
|
||||
thalf const & s2,
|
||||
thalf const & s3);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle constructors
|
||||
|
||||
tvec3(tref3<thalf> const & r);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion scalar constructors
|
||||
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec3(U const & x);
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U, typename V, typename W>
|
||||
explicit tvec3(U const & x, V const & y, W const & z);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion vector constructors
|
||||
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec3(tvec2<A> const & v, B const & s);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec3(A const & s, tvec2<B> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec3(tvec3<U> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec3(tvec4<U> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Unary arithmetic operators
|
||||
|
||||
tvec3<thalf>& operator= (tvec3<thalf> const & v);
|
||||
|
||||
tvec3<thalf>& operator+=(thalf const & s);
|
||||
tvec3<thalf>& operator+=(tvec3<thalf> const & v);
|
||||
tvec3<thalf>& operator-=(thalf const & s);
|
||||
tvec3<thalf>& operator-=(tvec3<thalf> const & v);
|
||||
tvec3<thalf>& operator*=(thalf const & s);
|
||||
tvec3<thalf>& operator*=(tvec3<thalf> const & v);
|
||||
tvec3<thalf>& operator/=(thalf const & s);
|
||||
tvec3<thalf>& operator/=(tvec3<thalf> const & v);
|
||||
tvec3<thalf>& operator++();
|
||||
tvec3<thalf>& operator--();
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle operators
|
||||
|
||||
thalf swizzle(comp X) const;
|
||||
tvec2<thalf> swizzle(comp X, comp Y) const;
|
||||
tvec3<thalf> swizzle(comp X, comp Y, comp Z) const;
|
||||
tvec4<thalf> swizzle(comp X, comp Y, comp Z, comp W) const;
|
||||
tref3<thalf> swizzle(comp X, comp Y, comp Z);
|
||||
};
|
||||
|
||||
template <>
|
||||
struct tvec4<thalf>
|
||||
{
|
||||
enum ctor{null};
|
||||
typedef thalf value_type;
|
||||
typedef std::size_t size_type;
|
||||
static size_type value_size();
|
||||
|
||||
typedef tvec4<thalf> type;
|
||||
typedef tvec4<bool> bool_type;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Data
|
||||
|
||||
thalf x, y, z, w;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Accesses
|
||||
|
||||
thalf & operator[](size_type i);
|
||||
thalf const & operator[](size_type i) const;
|
||||
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
|
||||
tvec4();
|
||||
tvec4(tvec4<thalf> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Explicit basic constructors
|
||||
|
||||
explicit tvec4(ctor);
|
||||
explicit tvec4(
|
||||
thalf const & s);
|
||||
explicit tvec4(
|
||||
thalf const & s0,
|
||||
thalf const & s1,
|
||||
thalf const & s2,
|
||||
thalf const & s3);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle constructors
|
||||
|
||||
tvec4(tref4<thalf> const & r);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion scalar constructors
|
||||
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec4(U const & x);
|
||||
//! Explicit converions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B, typename C, typename D>
|
||||
explicit tvec4(A const & x, B const & y, C const & z, D const & w);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Convertion vector constructors
|
||||
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B, typename C>
|
||||
explicit tvec4(tvec2<A> const & v, B const & s1, C const & s2);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B, typename C>
|
||||
explicit tvec4(A const & s1, tvec2<B> const & v, C const & s2);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B, typename C>
|
||||
explicit tvec4(A const & s1, B const & s2, tvec2<C> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec4(tvec3<A> const & v, B const & s);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec4(A const & s, tvec3<B> const & v);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename A, typename B>
|
||||
explicit tvec4(tvec2<A> const & v1, tvec2<B> const & v2);
|
||||
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
||||
template <typename U>
|
||||
explicit tvec4(tvec4<U> const & v);
|
||||
|
||||
//////////////////////////////////////
|
||||
// Unary arithmetic operators
|
||||
|
||||
tvec4<thalf>& operator= (tvec4<thalf> const & v);
|
||||
|
||||
tvec4<thalf>& operator+=(thalf const & s);
|
||||
tvec4<thalf>& operator+=(tvec4<thalf> const & v);
|
||||
tvec4<thalf>& operator-=(thalf const & s);
|
||||
tvec4<thalf>& operator-=(tvec4<thalf> const & v);
|
||||
tvec4<thalf>& operator*=(thalf const & s);
|
||||
tvec4<thalf>& operator*=(tvec4<thalf> const & v);
|
||||
tvec4<thalf>& operator/=(thalf const & s);
|
||||
tvec4<thalf>& operator/=(tvec4<thalf> const & v);
|
||||
tvec4<thalf>& operator++();
|
||||
tvec4<thalf>& operator--();
|
||||
|
||||
//////////////////////////////////////
|
||||
// Swizzle operators
|
||||
|
||||
thalf swizzle(comp X) const;
|
||||
tvec2<thalf> swizzle(comp X, comp Y) const;
|
||||
tvec3<thalf> swizzle(comp X, comp Y, comp Z) const;
|
||||
tvec4<thalf> swizzle(comp X, comp Y, comp Z, comp W) const;
|
||||
tref4<thalf> swizzle(comp X, comp Y, comp Z, comp W);
|
||||
};
|
||||
#endif//_MSC_EXTENSIONS
|
||||
}
|
||||
//namespace detail
|
||||
|
||||
namespace gtc{
|
||||
namespace half_float ///< GLM_GTC_half_float extension: Add support for half precision floating-point types
|
||||
{
|
||||
/// \addtogroup gtc_half_float
|
||||
///@{
|
||||
|
||||
/// Type for half-precision floating-point numbers.
|
||||
/// From GLM_GTC_half_float extension.
|
||||
typedef detail::thalf half;
|
||||
|
||||
/// Vector of 2 half-precision floating-point numbers.
|
||||
/// From GLM_GTC_half_float extension.
|
||||
typedef detail::tvec2<detail::thalf> hvec2;
|
||||
|
||||
/// Vector of 3 half-precision floating-point numbers.
|
||||
/// From GLM_GTC_half_float extension.
|
||||
typedef detail::tvec3<detail::thalf> hvec3;
|
||||
|
||||
/// Vector of 4 half-precision floating-point numbers.
|
||||
/// From GLM_GTC_half_float extension.
|
||||
typedef detail::tvec4<detail::thalf> hvec4;
|
||||
|
||||
/// 2 * 2 matrix of half-precision floating-point numbers.
|
||||
/// From GLM_GTC_half_float extension.
|
||||
typedef detail::tmat2x2<detail::thalf> hmat2;
|
||||
|
||||
/// 3 * 3 matrix of half-precision floating-point numbers.
|
||||
/// From GLM_GTC_half_float extension.
|
||||
typedef detail::tmat3x3<detail::thalf> hmat3;
|
||||
|
||||
/// 4 * 4 matrix of half-precision floating-point numbers.
|
||||
/// From GLM_GTC_half_float extension.
|
||||
typedef detail::tmat4x4<detail::thalf> hmat4;
|
||||
|
||||
/// @}
|
||||
|
||||
}// namespace half_float
|
||||
}// namespace gtc
|
||||
}// namespace glm
|
||||
|
||||
#include "half_float.inl"
|
||||
|
||||
|
@ -22,8 +22,7 @@
|
||||
|
||||
namespace glm{
|
||||
namespace gtc{
|
||||
//! GLM_GTC_matrix_access extension: Set a column or a row of a matrix
|
||||
namespace matrix_access
|
||||
namespace matrix_access ///< GLM_GTC_matrix_access extension: Set a column or a row of a matrix
|
||||
{
|
||||
/// \addtogroup gtc_matrix_access
|
||||
///@{
|
||||
|
@ -20,185 +20,183 @@
|
||||
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
|
||||
#endif
|
||||
|
||||
namespace glm
|
||||
namespace glm{
|
||||
namespace gtc{
|
||||
namespace matrix_integer ///< GLM_GTC_matrix_integer extension: Add integer matrices
|
||||
{
|
||||
namespace gtc{
|
||||
//! GLM_GTC_matrix_integer extension: Add integer matrices
|
||||
namespace matrix_integer
|
||||
{
|
||||
/// \addtogroup gtc_matrix_integer
|
||||
///@{
|
||||
/// \addtogroup gtc_matrix_integer
|
||||
///@{
|
||||
|
||||
typedef detail::tmat2x2<highp_int> highp_imat2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<highp_int> highp_imat3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<highp_int> highp_imat4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<highp_int> highp_imat2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<highp_int> highp_imat3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<highp_int> highp_imat4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<highp_int> highp_imat2x2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<highp_int> highp_imat2x3; //!< \brief High-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<highp_int> highp_imat2x4; //!< \brief High-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<highp_int> highp_imat3x2; //!< \brief High-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<highp_int> highp_imat3x3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<highp_int> highp_imat3x4; //!< \brief High-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<highp_int> highp_imat4x2; //!< \brief High-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<highp_int> highp_imat4x3; //!< \brief High-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<highp_int> highp_imat4x4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<highp_int> highp_imat2x2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<highp_int> highp_imat2x3; //!< \brief High-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<highp_int> highp_imat2x4; //!< \brief High-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<highp_int> highp_imat3x2; //!< \brief High-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<highp_int> highp_imat3x3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<highp_int> highp_imat3x4; //!< \brief High-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<highp_int> highp_imat4x2; //!< \brief High-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<highp_int> highp_imat4x3; //!< \brief High-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<highp_int> highp_imat4x4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<mediump_int> mediump_imat2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<mediump_int> mediump_imat3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<mediump_int> mediump_imat4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<mediump_int> mediump_imat2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<mediump_int> mediump_imat3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<mediump_int> mediump_imat4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<mediump_int> mediump_imat2x2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<mediump_int> mediump_imat2x3; //!< \brief Medium-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<mediump_int> mediump_imat2x4; //!< \brief Medium-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<mediump_int> mediump_imat3x2; //!< \brief Medium-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<mediump_int> mediump_imat3x3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<mediump_int> mediump_imat3x4; //!< \brief Medium-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<mediump_int> mediump_imat4x2; //!< \brief Medium-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<mediump_int> mediump_imat4x3; //!< \brief Medium-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<mediump_int> mediump_imat4x4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<mediump_int> mediump_imat2x2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<mediump_int> mediump_imat2x3; //!< \brief Medium-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<mediump_int> mediump_imat2x4; //!< \brief Medium-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<mediump_int> mediump_imat3x2; //!< \brief Medium-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<mediump_int> mediump_imat3x3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<mediump_int> mediump_imat3x4; //!< \brief Medium-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<mediump_int> mediump_imat4x2; //!< \brief Medium-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<mediump_int> mediump_imat4x3; //!< \brief Medium-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<mediump_int> mediump_imat4x4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<lowp_int> lowp_imat2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<lowp_int> lowp_imat3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<lowp_int> lowp_imat4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<lowp_int> lowp_imat2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<lowp_int> lowp_imat3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<lowp_int> lowp_imat4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<lowp_int> lowp_imat2x2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<lowp_int> lowp_imat2x3; //!< \brief Low-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<lowp_int> lowp_imat2x4; //!< \brief Low-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<lowp_int> lowp_imat3x2; //!< \brief Low-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<lowp_int> lowp_imat3x3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<lowp_int> lowp_imat3x4; //!< \brief Low-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<lowp_int> lowp_imat4x2; //!< \brief Low-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<lowp_int> lowp_imat4x3; //!< \brief Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<lowp_int> lowp_imat4x4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<lowp_int> lowp_imat2x2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<lowp_int> lowp_imat2x3; //!< \brief Low-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<lowp_int> lowp_imat2x4; //!< \brief Low-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<lowp_int> lowp_imat3x2; //!< \brief Low-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<lowp_int> lowp_imat3x3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<lowp_int> lowp_imat3x4; //!< \brief Low-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<lowp_int> lowp_imat4x2; //!< \brief Low-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<lowp_int> lowp_imat4x3; //!< \brief Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<lowp_int> lowp_imat4x4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<highp_uint> highp_umat2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<highp_uint> highp_umat3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<highp_uint> highp_umat4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<highp_uint> highp_umat2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<highp_uint> highp_umat3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<highp_uint> highp_umat4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<highp_uint> highp_umat2x2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<highp_uint> highp_umat2x3; //!< \brief High-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<highp_uint> highp_umat2x4; //!< \brief High-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<highp_uint> highp_umat3x2; //!< \brief High-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<highp_uint> highp_umat3x3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<highp_uint> highp_umat3x4; //!< \brief High-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<highp_uint> highp_umat4x2; //!< \brief High-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<highp_uint> highp_umat4x3; //!< \brief High-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<highp_uint> highp_umat4x4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<highp_uint> highp_umat2x2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<highp_uint> highp_umat2x3; //!< \brief High-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<highp_uint> highp_umat2x4; //!< \brief High-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<highp_uint> highp_umat3x2; //!< \brief High-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<highp_uint> highp_umat3x3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<highp_uint> highp_umat3x4; //!< \brief High-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<highp_uint> highp_umat4x2; //!< \brief High-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<highp_uint> highp_umat4x3; //!< \brief High-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<highp_uint> highp_umat4x4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<mediump_uint> mediump_umat2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<mediump_uint> mediump_umat3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<mediump_uint> mediump_umat4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<mediump_uint> mediump_umat2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<mediump_uint> mediump_umat3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<mediump_uint> mediump_umat4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<mediump_uint> mediump_umat2x2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<mediump_uint> mediump_umat2x3; //!< \brief Medium-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<mediump_uint> mediump_umat2x4; //!< \brief Medium-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<mediump_uint> mediump_umat3x2; //!< \brief Medium-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<mediump_uint> mediump_umat3x3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<mediump_uint> mediump_umat3x4; //!< \brief Medium-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<mediump_uint> mediump_umat4x2; //!< \brief Medium-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<mediump_uint> mediump_umat4x3; //!< \brief Medium-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<mediump_uint> mediump_umat4x4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<mediump_uint> mediump_umat2x2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<mediump_uint> mediump_umat2x3; //!< \brief Medium-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<mediump_uint> mediump_umat2x4; //!< \brief Medium-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<mediump_uint> mediump_umat3x2; //!< \brief Medium-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<mediump_uint> mediump_umat3x3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<mediump_uint> mediump_umat3x4; //!< \brief Medium-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<mediump_uint> mediump_umat4x2; //!< \brief Medium-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<mediump_uint> mediump_umat4x3; //!< \brief Medium-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<mediump_uint> mediump_umat4x4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<lowp_uint> lowp_umat2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<lowp_uint> lowp_umat3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<lowp_uint> lowp_umat4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<lowp_uint> lowp_umat2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<lowp_uint> lowp_umat3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<lowp_uint> lowp_umat4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
typedef detail::tmat2x2<lowp_uint> lowp_umat2x2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<lowp_uint> lowp_umat2x3; //!< \brief Low-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<lowp_uint> lowp_umat2x4; //!< \brief Low-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<lowp_uint> lowp_umat3x2; //!< \brief Low-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<lowp_uint> lowp_umat3x3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<lowp_uint> lowp_umat3x4; //!< \brief Low-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<lowp_uint> lowp_umat4x2; //!< \brief Low-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<lowp_uint> lowp_umat4x3; //!< \brief Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<lowp_uint> lowp_umat4x4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x2<lowp_uint> lowp_umat2x2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x3<lowp_uint> lowp_umat2x3; //!< \brief Low-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat2x4<lowp_uint> lowp_umat2x4; //!< \brief Low-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x2<lowp_uint> lowp_umat3x2; //!< \brief Low-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x3<lowp_uint> lowp_umat3x3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat3x4<lowp_uint> lowp_umat3x4; //!< \brief Low-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x2<lowp_uint> lowp_umat4x2; //!< \brief Low-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x3<lowp_uint> lowp_umat4x3; //!< \brief Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef detail::tmat4x4<lowp_uint> lowp_umat4x4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
|
||||
#if(defined(GLM_PRECISION_HIGHP_INT))
|
||||
typedef highp_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat2x2 imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat2x3 imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat2x4 imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat3x2 imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat3x3 imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat3x4 imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat4x2 imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat4x3 imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat2x2 imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat2x3 imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat2x4 imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat3x2 imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat3x3 imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat3x4 imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat4x2 imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat4x3 imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
#elif(defined(GLM_PRECISION_LOWP_INT))
|
||||
typedef lowp_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat2x2 imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat2x3 imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat2x4 imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat3x2 imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat3x3 imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat3x4 imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat4x2 imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat4x3 imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat2x2 imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat2x3 imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat2x4 imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat3x2 imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat3x3 imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat3x4 imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat4x2 imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat4x3 imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
|
||||
typedef mediump_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat2x2 imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat2x3 imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat2x4 imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat3x2 imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat3x3 imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat3x4 imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat4x2 imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat4x3 imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat2 imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat3 imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat4 imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat2x2 imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat2x3 imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat2x4 imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat3x2 imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat3x3 imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat3x4 imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat4x2 imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat4x3 imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_imat4x4 imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
#endif//GLM_PRECISION
|
||||
|
||||
#if(defined(GLM_PRECISION_HIGHP_UINT))
|
||||
typedef highp_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat2x2 umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat2x3 umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat2x4 umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat3x2 umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat3x3 umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat3x4 umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat4x2 umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat4x3 umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat2x2 umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat2x3 umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat2x4 umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat3x2 umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat3x3 umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat3x4 umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat4x2 umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat4x3 umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef highp_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
#elif(defined(GLM_PRECISION_LOWP_UINT))
|
||||
typedef lowp_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat2x2 umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat2x3 umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat2x4 umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat3x2 umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat3x3 umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat3x4 umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat4x2 umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat4x3 umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat2x2 umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat2x3 umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat2x4 umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat3x2 umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat3x3 umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat3x4 umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat4x2 umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat4x3 umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef lowp_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
|
||||
typedef mediump_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat2x2 umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat2x3 umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat2x4 umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat3x2 umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat3x3 umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat3x4 umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat4x2 umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat4x3 umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat2 umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat3 umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat4 umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat2x2 umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat2x3 umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat2x4 umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat3x2 umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat3x3 umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat3x4 umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat4x2 umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat4x3 umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
typedef mediump_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
|
||||
#endif//GLM_PRECISION
|
||||
|
||||
///@}
|
||||
///@}
|
||||
|
||||
}//namespace matrix_integer
|
||||
}//namespace gtc
|
||||
}//namespace matrix_integer
|
||||
}//namespace gtc
|
||||
}//namespace glm
|
||||
|
||||
namespace glm{using namespace gtc::matrix_integer;}
|
||||
|
@ -22,8 +22,7 @@
|
||||
|
||||
namespace glm{
|
||||
namespace gtc{
|
||||
//! GLM_GTC_matrix_inverse extension: Inverse matrix functions
|
||||
namespace matrix_inverse
|
||||
namespace matrix_inverse ///< GLM_GTC_matrix_inverse extension: Inverse matrix functions
|
||||
{
|
||||
/// \addtogroup gtc_matrix_inverse
|
||||
///@{
|
||||
|
@ -21,136 +21,134 @@
|
||||
# pragma message("GLM: GLM_GTC_matrix_transform extension included")
|
||||
#endif
|
||||
|
||||
namespace glm
|
||||
namespace glm{
|
||||
namespace gtc{
|
||||
namespace matrix_transform ///< GLM_GTC_matrix_transform extension: Add transformation matrices
|
||||
{
|
||||
namespace gtc{
|
||||
//! GLM_GTC_matrix_transform extension: Add transformation matrices
|
||||
namespace matrix_transform
|
||||
{
|
||||
/// \addtogroup gtc_matrix_transform
|
||||
///@{
|
||||
/// \addtogroup gtc_matrix_transform
|
||||
///@{
|
||||
|
||||
//! Builds a translation 4 * 4 matrix created from a vector of 3 components.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> translate(
|
||||
detail::tmat4x4<T> const & m,
|
||||
detail::tvec3<T> const & v);
|
||||
//! Builds a translation 4 * 4 matrix created from a vector of 3 components.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> translate(
|
||||
detail::tmat4x4<T> const & m,
|
||||
detail::tvec3<T> const & v);
|
||||
|
||||
//! Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> rotate(
|
||||
detail::tmat4x4<T> const & m,
|
||||
T const & angle,
|
||||
detail::tvec3<T> const & v);
|
||||
//! Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> rotate(
|
||||
detail::tmat4x4<T> const & m,
|
||||
T const & angle,
|
||||
detail::tvec3<T> const & v);
|
||||
|
||||
//! Builds a scale 4 * 4 matrix created from 3 scalars.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> scale(
|
||||
detail::tmat4x4<T> const & m,
|
||||
detail::tvec3<T> const & v);
|
||||
//! Builds a scale 4 * 4 matrix created from 3 scalars.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> scale(
|
||||
detail::tmat4x4<T> const & m,
|
||||
detail::tvec3<T> const & v);
|
||||
|
||||
//! Creates a matrix for an orthographic parallel viewing volume.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> ortho(
|
||||
T const & left,
|
||||
T const & right,
|
||||
T const & bottom,
|
||||
T const & top,
|
||||
T const & zNear,
|
||||
T const & zFar);
|
||||
//! Creates a matrix for an orthographic parallel viewing volume.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> ortho(
|
||||
T const & left,
|
||||
T const & right,
|
||||
T const & bottom,
|
||||
T const & top,
|
||||
T const & zNear,
|
||||
T const & zFar);
|
||||
|
||||
//! Creates a matrix for projecting two-dimensional coordinates onto the screen.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> ortho(
|
||||
T const & left,
|
||||
T const & right,
|
||||
T const & bottom,
|
||||
T const & top);
|
||||
//! Creates a matrix for projecting two-dimensional coordinates onto the screen.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> ortho(
|
||||
T const & left,
|
||||
T const & right,
|
||||
T const & bottom,
|
||||
T const & top);
|
||||
|
||||
//! Creates a frustum matrix.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> frustum(
|
||||
T const & left,
|
||||
T const & right,
|
||||
T const & bottom,
|
||||
T const & top,
|
||||
T const & nearVal,
|
||||
T const & farVal);
|
||||
//! Creates a frustum matrix.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> frustum(
|
||||
T const & left,
|
||||
T const & right,
|
||||
T const & bottom,
|
||||
T const & top,
|
||||
T const & nearVal,
|
||||
T const & farVal);
|
||||
|
||||
//! Creates a matrix for a symetric perspective-view frustum.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> perspective(
|
||||
T const & fovy,
|
||||
T const & aspect,
|
||||
T const & zNear,
|
||||
T const & zFar);
|
||||
//! Creates a matrix for a symetric perspective-view frustum.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> perspective(
|
||||
T const & fovy,
|
||||
T const & aspect,
|
||||
T const & zNear,
|
||||
T const & zFar);
|
||||
|
||||
//! Builds a perspective projection matrix based on a field of view
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename valType>
|
||||
detail::tmat4x4<valType> perspectiveFov(
|
||||
valType const & fov,
|
||||
valType const & width,
|
||||
valType const & height,
|
||||
valType const & zNear,
|
||||
valType const & zFar);
|
||||
//! Builds a perspective projection matrix based on a field of view
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename valType>
|
||||
detail::tmat4x4<valType> perspectiveFov(
|
||||
valType const & fov,
|
||||
valType const & width,
|
||||
valType const & height,
|
||||
valType const & zNear,
|
||||
valType const & zFar);
|
||||
|
||||
//! Creates a matrix for a symmetric perspective-view frustum with far plane at infinite .
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> infinitePerspective(
|
||||
T fovy, T aspect, T zNear);
|
||||
//! Creates a matrix for a symmetric perspective-view frustum with far plane at infinite .
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> infinitePerspective(
|
||||
T fovy, T aspect, T zNear);
|
||||
|
||||
//! Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> tweakedInfinitePerspective(
|
||||
T fovy, T aspect, T zNear);
|
||||
//! Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> tweakedInfinitePerspective(
|
||||
T fovy, T aspect, T zNear);
|
||||
|
||||
//! Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T, typename U>
|
||||
detail::tvec3<T> project(
|
||||
detail::tvec3<T> const & obj,
|
||||
detail::tmat4x4<T> const & model,
|
||||
detail::tmat4x4<T> const & proj,
|
||||
detail::tvec4<U> const & viewport);
|
||||
//! Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T, typename U>
|
||||
detail::tvec3<T> project(
|
||||
detail::tvec3<T> const & obj,
|
||||
detail::tmat4x4<T> const & model,
|
||||
detail::tmat4x4<T> const & proj,
|
||||
detail::tvec4<U> const & viewport);
|
||||
|
||||
//! Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T, typename U>
|
||||
detail::tvec3<T> unProject(
|
||||
detail::tvec3<T> const & win,
|
||||
detail::tmat4x4<T> const & model,
|
||||
detail::tmat4x4<T> const & proj,
|
||||
detail::tvec4<U> const & viewport);
|
||||
//! Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T, typename U>
|
||||
detail::tvec3<T> unProject(
|
||||
detail::tvec3<T> const & win,
|
||||
detail::tmat4x4<T> const & model,
|
||||
detail::tmat4x4<T> const & proj,
|
||||
detail::tvec4<U> const & viewport);
|
||||
|
||||
//! Define a picking region
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T, typename U>
|
||||
detail::tmat4x4<T> pickMatrix(
|
||||
detail::tvec2<T> const & center,
|
||||
detail::tvec2<T> const & delta,
|
||||
detail::tvec4<U> const & viewport);
|
||||
//! Define a picking region
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T, typename U>
|
||||
detail::tmat4x4<T> pickMatrix(
|
||||
detail::tvec2<T> const & center,
|
||||
detail::tvec2<T> const & delta,
|
||||
detail::tvec4<U> const & viewport);
|
||||
|
||||
//! Build a look at view matrix.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> lookAt(
|
||||
detail::tvec3<T> const & eye,
|
||||
detail::tvec3<T> const & center,
|
||||
detail::tvec3<T> const & up);
|
||||
//! Build a look at view matrix.
|
||||
//! From GLM_GTC_matrix_transform extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> lookAt(
|
||||
detail::tvec3<T> const & eye,
|
||||
detail::tvec3<T> const & center,
|
||||
detail::tvec3<T> const & up);
|
||||
|
||||
///@}
|
||||
}//namespace matrix_transform
|
||||
}//namespace gtc
|
||||
///@}
|
||||
}//namespace matrix_transform
|
||||
}//namespace gtc
|
||||
}//namespace glm
|
||||
|
||||
#include "matrix_transform.inl"
|
||||
|
@ -26,202 +26,200 @@
|
||||
# pragma message("GLM: GLM_GTC_quaternion extension included")
|
||||
#endif
|
||||
|
||||
namespace glm
|
||||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
namespace detail
|
||||
//! \brief Template for quaternion.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
/// \ingroup gtc_quaternion
|
||||
template <typename T>
|
||||
struct tquat// : public genType<T, tquat>
|
||||
{
|
||||
//! \brief Template for quaternion.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
/// \ingroup gtc_quaternion
|
||||
template <typename T>
|
||||
struct tquat// : public genType<T, tquat>
|
||||
{
|
||||
typedef T value_type;
|
||||
typedef T value_type;
|
||||
|
||||
public:
|
||||
value_type x, y, z, w;
|
||||
public:
|
||||
value_type x, y, z, w;
|
||||
|
||||
// Constructors
|
||||
tquat();
|
||||
explicit tquat(
|
||||
value_type const & s,
|
||||
tvec3<T> const & v);
|
||||
explicit tquat(
|
||||
value_type const & w,
|
||||
value_type const & x,
|
||||
value_type const & y,
|
||||
value_type const & z);
|
||||
// Constructors
|
||||
tquat();
|
||||
explicit tquat(
|
||||
value_type const & s,
|
||||
tvec3<T> const & v);
|
||||
explicit tquat(
|
||||
value_type const & w,
|
||||
value_type const & x,
|
||||
value_type const & y,
|
||||
value_type const & z);
|
||||
|
||||
// Convertions
|
||||
//explicit tquat(valType const & pitch, valType const & yaw, valType const & roll);
|
||||
//! pitch, yaw, roll
|
||||
explicit tquat(
|
||||
tvec3<T> const & eulerAngles);
|
||||
explicit tquat(
|
||||
tmat3x3<T> const & m);
|
||||
explicit tquat(
|
||||
tmat4x4<T> const & m);
|
||||
// Convertions
|
||||
//explicit tquat(valType const & pitch, valType const & yaw, valType const & roll);
|
||||
//! pitch, yaw, roll
|
||||
explicit tquat(
|
||||
tvec3<T> const & eulerAngles);
|
||||
explicit tquat(
|
||||
tmat3x3<T> const & m);
|
||||
explicit tquat(
|
||||
tmat4x4<T> const & m);
|
||||
|
||||
// Accesses
|
||||
value_type & operator[](int i);
|
||||
value_type const & operator[](int i) const;
|
||||
// Accesses
|
||||
value_type & operator[](int i);
|
||||
value_type const & operator[](int i) const;
|
||||
|
||||
// Operators
|
||||
tquat<T> & operator*=(value_type const & s);
|
||||
tquat<T> & operator/=(value_type const & s);
|
||||
};
|
||||
// Operators
|
||||
tquat<T> & operator*=(value_type const & s);
|
||||
tquat<T> & operator/=(value_type const & s);
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
detail::tquat<T> operator- (
|
||||
detail::tquat<T> const & q);
|
||||
template <typename T>
|
||||
detail::tquat<T> operator- (
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
template <typename T>
|
||||
detail::tquat<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
detail::tquat<T> const & p);
|
||||
template <typename T>
|
||||
detail::tquat<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
detail::tquat<T> const & p);
|
||||
|
||||
template <typename T>
|
||||
detail::tvec3<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
detail::tvec3<T> const & v);
|
||||
template <typename T>
|
||||
detail::tvec3<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
detail::tvec3<T> const & v);
|
||||
|
||||
template <typename T>
|
||||
detail::tvec3<T> operator* (
|
||||
detail::tvec3<T> const & v,
|
||||
detail::tquat<T> const & q);
|
||||
template <typename T>
|
||||
detail::tvec3<T> operator* (
|
||||
detail::tvec3<T> const & v,
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
template <typename T>
|
||||
detail::tvec4<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
detail::tvec4<T> const & v);
|
||||
template <typename T>
|
||||
detail::tvec4<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
detail::tvec4<T> const & v);
|
||||
|
||||
template <typename T>
|
||||
detail::tvec4<T> operator* (
|
||||
detail::tvec4<T> const & v,
|
||||
detail::tquat<T> const & q);
|
||||
template <typename T>
|
||||
detail::tvec4<T> operator* (
|
||||
detail::tvec4<T> const & v,
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
template <typename T>
|
||||
detail::tquat<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
typename detail::tquat<T>::value_type const & s);
|
||||
template <typename T>
|
||||
detail::tquat<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
typename detail::tquat<T>::value_type const & s);
|
||||
|
||||
template <typename T>
|
||||
detail::tquat<T> operator* (
|
||||
typename detail::tquat<T>::value_type const & s,
|
||||
detail::tquat<T> const & q);
|
||||
template <typename T>
|
||||
detail::tquat<T> operator* (
|
||||
typename detail::tquat<T>::value_type const & s,
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
template <typename T>
|
||||
detail::tquat<T> operator/ (
|
||||
detail::tquat<T> const & q,
|
||||
typename detail::tquat<T>::value_type const & s);
|
||||
template <typename T>
|
||||
detail::tquat<T> operator/ (
|
||||
detail::tquat<T> const & q,
|
||||
typename detail::tquat<T>::value_type const & s);
|
||||
|
||||
} //namespace detail
|
||||
} //namespace detail
|
||||
|
||||
namespace gtc{
|
||||
//! GLM_GTC_quaternion extension: Quaternion types and functions
|
||||
namespace quaternion
|
||||
{
|
||||
/// \addtogroup gtc_quaternion
|
||||
///@{
|
||||
namespace gtc{
|
||||
namespace quaternion ///< GLM_GTC_quaternion extension: Quaternion types and functions
|
||||
{
|
||||
/// \addtogroup gtc_quaternion
|
||||
///@{
|
||||
|
||||
//! Returns the length of the quaternion x.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
typename detail::tquat<T>::value_type length(
|
||||
detail::tquat<T> const & q);
|
||||
//! Returns the length of the quaternion x.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
typename detail::tquat<T>::value_type length(
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
//! Returns the normalized quaternion of from x.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> normalize(
|
||||
detail::tquat<T> const & q);
|
||||
//! Returns the normalized quaternion of from x.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> normalize(
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
//! Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
typename detail::tquat<T>::value_type dot(
|
||||
detail::tquat<T> const & q1,
|
||||
detail::tquat<T> const & q2);
|
||||
//! Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
typename detail::tquat<T>::value_type dot(
|
||||
detail::tquat<T> const & q1,
|
||||
detail::tquat<T> const & q2);
|
||||
|
||||
//! Returns the cross product of q1 and q2.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
GLM_DEPRECATED detail::tquat<T> cross(
|
||||
detail::tquat<T> const & q1,
|
||||
detail::tquat<T> const & q2);
|
||||
//! Returns the cross product of q1 and q2.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
GLM_DEPRECATED detail::tquat<T> cross(
|
||||
detail::tquat<T> const & q1,
|
||||
detail::tquat<T> const & q2);
|
||||
|
||||
//! Returns a SLERP interpolated quaternion of x and y according a.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> mix(
|
||||
detail::tquat<T> const & x,
|
||||
detail::tquat<T> const & y,
|
||||
typename detail::tquat<T>::value_type const & a);
|
||||
//! Returns a SLERP interpolated quaternion of x and y according a.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> mix(
|
||||
detail::tquat<T> const & x,
|
||||
detail::tquat<T> const & y,
|
||||
typename detail::tquat<T>::value_type const & a);
|
||||
|
||||
//! Returns the q conjugate.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> conjugate(
|
||||
detail::tquat<T> const & q);
|
||||
//! Returns the q conjugate.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> conjugate(
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
//! Returns the q inverse.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> inverse(
|
||||
detail::tquat<T> const & q);
|
||||
//! Returns the q inverse.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> inverse(
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
//! Rotates a quaternion from an vector of 3 components axis and an angle expressed in degrees.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> rotate(
|
||||
detail::tquat<T> const & q,
|
||||
typename detail::tquat<T>::value_type const & angle,
|
||||
detail::tvec3<T> const & v);
|
||||
//! Rotates a quaternion from an vector of 3 components axis and an angle expressed in degrees.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> rotate(
|
||||
detail::tquat<T> const & q,
|
||||
typename detail::tquat<T>::value_type const & angle,
|
||||
detail::tvec3<T> const & v);
|
||||
|
||||
//! Converts a quaternion to a 3 * 3 matrix.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tmat3x3<T> mat3_cast(
|
||||
detail::tquat<T> const & x);
|
||||
//! Converts a quaternion to a 3 * 3 matrix.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tmat3x3<T> mat3_cast(
|
||||
detail::tquat<T> const & x);
|
||||
|
||||
//! Converts a quaternion to a 4 * 4 matrix.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> mat4_cast(
|
||||
detail::tquat<T> const & x);
|
||||
//! Converts a quaternion to a 4 * 4 matrix.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> mat4_cast(
|
||||
detail::tquat<T> const & x);
|
||||
|
||||
//! Converts a 3 * 3 matrix to a quaternion.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> quat_cast(
|
||||
detail::tmat3x3<T> const & x);
|
||||
//! Converts a 3 * 3 matrix to a quaternion.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> quat_cast(
|
||||
detail::tmat3x3<T> const & x);
|
||||
|
||||
//! Converts a 4 * 4 matrix to a quaternion.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> quat_cast(
|
||||
detail::tmat4x4<T> const & x);
|
||||
//! Converts a 4 * 4 matrix to a quaternion.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> quat_cast(
|
||||
detail::tmat4x4<T> const & x);
|
||||
|
||||
//! Quaternion of floating-point numbers.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
typedef detail::tquat<float> quat;
|
||||
//! Quaternion of floating-point numbers.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
typedef detail::tquat<float> quat;
|
||||
|
||||
//! Quaternion of half-precision floating-point numbers.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
typedef detail::tquat<detail::thalf> hquat;
|
||||
//! Quaternion of half-precision floating-point numbers.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
typedef detail::tquat<detail::thalf> hquat;
|
||||
|
||||
//! Quaternion of single-precision floating-point numbers.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
typedef detail::tquat<float> fquat;
|
||||
//! Quaternion of single-precision floating-point numbers.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
typedef detail::tquat<float> fquat;
|
||||
|
||||
//! Quaternion of double-precision floating-point numbers.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
typedef detail::tquat<double> dquat;
|
||||
//! Quaternion of double-precision floating-point numbers.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
typedef detail::tquat<double> dquat;
|
||||
|
||||
///@}
|
||||
///@}
|
||||
|
||||
}//namespace quaternion
|
||||
}//namespace gtc
|
||||
} //namespace quaternion
|
||||
} //namespace gtc
|
||||
} //namespace glm
|
||||
|
||||
#include "quaternion.inl"
|
||||
|
@ -21,329 +21,327 @@
|
||||
# pragma message("GLM: GLM_GTC_swizzle extension included")
|
||||
#endif
|
||||
|
||||
namespace glm
|
||||
namespace glm{
|
||||
namespace gtc{
|
||||
namespace swizzle ///< GLM_GTC_swizzle extension
|
||||
{
|
||||
namespace gtc{
|
||||
//! GLM_GTC_swizzle extension
|
||||
namespace swizzle
|
||||
{
|
||||
using namespace gtc::half_float;
|
||||
using namespace gtc::half_float;
|
||||
|
||||
template <typename T, template <typename> class vecType>
|
||||
T const & swizzle(
|
||||
vecType<T> const & v,
|
||||
comp x);
|
||||
template <typename T, template <typename> class vecType>
|
||||
T const & swizzle(
|
||||
vecType<T> const & v,
|
||||
comp x);
|
||||
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tvec2<T> const & swizzle(
|
||||
vecType<T> const & v,
|
||||
comp x, comp y);
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tvec2<T> const & swizzle(
|
||||
vecType<T> const & v,
|
||||
comp x, comp y);
|
||||
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tvec3<T> const & swizzle(
|
||||
vecType<T> const & v,
|
||||
comp x, comp y, comp z);
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tvec3<T> const & swizzle(
|
||||
vecType<T> const & v,
|
||||
comp x, comp y, comp z);
|
||||
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tvec4<T> const & swizzle(
|
||||
vecType<T> const & v,
|
||||
comp x, comp y, comp z, comp w);
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tvec4<T> const & swizzle(
|
||||
vecType<T> const & v,
|
||||
comp x, comp y, comp z, comp w);
|
||||
|
||||
template <typename T, template <typename> class vecType>
|
||||
T & swizzle(
|
||||
vecType<T> & v,
|
||||
comp x);
|
||||
template <typename T, template <typename> class vecType>
|
||||
T & swizzle(
|
||||
vecType<T> & v,
|
||||
comp x);
|
||||
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tref2<T> swizzle(
|
||||
vecType<T> & v,
|
||||
comp x, comp y);
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tref2<T> swizzle(
|
||||
vecType<T> & v,
|
||||
comp x, comp y);
|
||||
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tref3<T> swizzle(
|
||||
vecType<T> & v,
|
||||
comp x, comp y, comp z);
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tref3<T> swizzle(
|
||||
vecType<T> & v,
|
||||
comp x, comp y, comp z);
|
||||
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tref4<T> swizzle(
|
||||
vecType<T> & v,
|
||||
comp x, comp y, comp z, comp w);
|
||||
template <typename T, template <typename> class vecType>
|
||||
detail::tref4<T> swizzle(
|
||||
vecType<T> & v,
|
||||
comp x, comp y, comp z, comp w);
|
||||
|
||||
# define static_swizzle1(TYPE, SIZE) \
|
||||
template <comp x> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return v[x];} \
|
||||
\
|
||||
template <comp x> \
|
||||
GLM_FUNC_QUALIFIER TYPE& swizzle(detail::tvec##SIZE<TYPE> & v) \
|
||||
{return v[x];}
|
||||
template <comp x> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return v[x];} \
|
||||
\
|
||||
template <comp x> \
|
||||
GLM_FUNC_QUALIFIER TYPE& swizzle(detail::tvec##SIZE<TYPE> & v) \
|
||||
{return v[x];}
|
||||
|
||||
static_swizzle1(detail::float16, 2)
|
||||
static_swizzle1(detail::float16, 3)
|
||||
static_swizzle1(detail::float16, 4)
|
||||
static_swizzle1(detail::float32, 2)
|
||||
static_swizzle1(detail::float32, 3)
|
||||
static_swizzle1(detail::float32, 4)
|
||||
static_swizzle1(detail::float64, 2)
|
||||
static_swizzle1(detail::float64, 3)
|
||||
static_swizzle1(detail::float64, 4)
|
||||
static_swizzle1(detail::float16, 2)
|
||||
static_swizzle1(detail::float16, 3)
|
||||
static_swizzle1(detail::float16, 4)
|
||||
static_swizzle1(detail::float32, 2)
|
||||
static_swizzle1(detail::float32, 3)
|
||||
static_swizzle1(detail::float32, 4)
|
||||
static_swizzle1(detail::float64, 2)
|
||||
static_swizzle1(detail::float64, 3)
|
||||
static_swizzle1(detail::float64, 4)
|
||||
|
||||
static_swizzle1(detail::int8, 2)
|
||||
static_swizzle1(detail::int8, 3)
|
||||
static_swizzle1(detail::int8, 4)
|
||||
static_swizzle1(detail::int16, 2)
|
||||
static_swizzle1(detail::int16, 3)
|
||||
static_swizzle1(detail::int16, 4)
|
||||
static_swizzle1(detail::int32, 2)
|
||||
static_swizzle1(detail::int32, 3)
|
||||
static_swizzle1(detail::int32, 4)
|
||||
static_swizzle1(detail::int64, 2)
|
||||
static_swizzle1(detail::int64, 3)
|
||||
static_swizzle1(detail::int64, 4)
|
||||
static_swizzle1(detail::int8, 2)
|
||||
static_swizzle1(detail::int8, 3)
|
||||
static_swizzle1(detail::int8, 4)
|
||||
static_swizzle1(detail::int16, 2)
|
||||
static_swizzle1(detail::int16, 3)
|
||||
static_swizzle1(detail::int16, 4)
|
||||
static_swizzle1(detail::int32, 2)
|
||||
static_swizzle1(detail::int32, 3)
|
||||
static_swizzle1(detail::int32, 4)
|
||||
static_swizzle1(detail::int64, 2)
|
||||
static_swizzle1(detail::int64, 3)
|
||||
static_swizzle1(detail::int64, 4)
|
||||
|
||||
static_swizzle1(detail::uint8, 2)
|
||||
static_swizzle1(detail::uint8, 3)
|
||||
static_swizzle1(detail::uint8, 4)
|
||||
static_swizzle1(detail::uint16, 2)
|
||||
static_swizzle1(detail::uint16, 3)
|
||||
static_swizzle1(detail::uint16, 4)
|
||||
static_swizzle1(detail::uint32, 2)
|
||||
static_swizzle1(detail::uint32, 3)
|
||||
static_swizzle1(detail::uint32, 4)
|
||||
static_swizzle1(detail::uint64, 2)
|
||||
static_swizzle1(detail::uint64, 3)
|
||||
static_swizzle1(detail::uint64, 4)
|
||||
static_swizzle1(detail::uint8, 2)
|
||||
static_swizzle1(detail::uint8, 3)
|
||||
static_swizzle1(detail::uint8, 4)
|
||||
static_swizzle1(detail::uint16, 2)
|
||||
static_swizzle1(detail::uint16, 3)
|
||||
static_swizzle1(detail::uint16, 4)
|
||||
static_swizzle1(detail::uint32, 2)
|
||||
static_swizzle1(detail::uint32, 3)
|
||||
static_swizzle1(detail::uint32, 4)
|
||||
static_swizzle1(detail::uint64, 2)
|
||||
static_swizzle1(detail::uint64, 3)
|
||||
static_swizzle1(detail::uint64, 4)
|
||||
|
||||
# define static_swizzle2_const(TYPE) \
|
||||
template <comp x, comp y> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
|
||||
{return TYPE(v[x], v[y]);}
|
||||
template <comp x, comp y> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
|
||||
{return TYPE(v[x], v[y]);}
|
||||
|
||||
# define static_swizzle3_const(TYPE) \
|
||||
template <comp x, comp y, comp z> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
|
||||
{return TYPE(v[x], v[y], v[z]);}
|
||||
template <comp x, comp y, comp z> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
|
||||
{return TYPE(v[x], v[y], v[z]);}
|
||||
|
||||
# define static_swizzle4_const(TYPE) \
|
||||
template <comp x, comp y, comp z, comp w> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
|
||||
{return TYPE(v[x], v[y], v[z], v[w]);}
|
||||
template <comp x, comp y, comp z, comp w> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
|
||||
{return TYPE(v[x], v[y], v[z], v[w]);}
|
||||
/*
|
||||
# define static_swizzle2_const(TYPE, SIZE) \
|
||||
template <comp x, comp y> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return detail::tvec2<TYPE>(v[x], v[y]);}
|
||||
template <comp x, comp y> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return detail::tvec2<TYPE>(v[x], v[y]);}
|
||||
|
||||
# define static_swizzle3_const(TYPE, SIZE) \
|
||||
template <comp x, comp y, comp z> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return detail::tvec3<TYPE>(v[x], v[y], v[z]);}
|
||||
template <comp x, comp y, comp z> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return detail::tvec3<TYPE>(v[x], v[y], v[z]);}
|
||||
|
||||
# define static_swizzle4_const(TYPE, SIZE) \
|
||||
template <comp x, comp y, comp z, comp w> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return detail::tvec4<TYPE>(v[x], v[y], v[z], v[w]);}
|
||||
template <comp x, comp y, comp z, comp w> \
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return detail::tvec4<TYPE>(v[x], v[y], v[z], v[w]);}
|
||||
*/
|
||||
static_swizzle2_const(glm::f16vec2)
|
||||
static_swizzle2_const(glm::f16vec3)
|
||||
static_swizzle2_const(glm::f16vec4)
|
||||
static_swizzle2_const(glm::f32vec2)
|
||||
static_swizzle2_const(glm::f32vec3)
|
||||
static_swizzle2_const(glm::f32vec4)
|
||||
static_swizzle2_const(glm::f64vec2)
|
||||
static_swizzle2_const(glm::f64vec3)
|
||||
static_swizzle2_const(glm::f64vec4)
|
||||
static_swizzle2_const(glm::f16vec2)
|
||||
static_swizzle2_const(glm::f16vec3)
|
||||
static_swizzle2_const(glm::f16vec4)
|
||||
static_swizzle2_const(glm::f32vec2)
|
||||
static_swizzle2_const(glm::f32vec3)
|
||||
static_swizzle2_const(glm::f32vec4)
|
||||
static_swizzle2_const(glm::f64vec2)
|
||||
static_swizzle2_const(glm::f64vec3)
|
||||
static_swizzle2_const(glm::f64vec4)
|
||||
|
||||
static_swizzle2_const(glm::i8vec2)
|
||||
static_swizzle2_const(glm::i8vec3)
|
||||
static_swizzle2_const(glm::i8vec4)
|
||||
static_swizzle2_const(glm::i16vec2)
|
||||
static_swizzle2_const(glm::i16vec3)
|
||||
static_swizzle2_const(glm::i16vec4)
|
||||
static_swizzle2_const(glm::i32vec2)
|
||||
static_swizzle2_const(glm::i32vec3)
|
||||
static_swizzle2_const(glm::i32vec4)
|
||||
static_swizzle2_const(glm::i64vec2)
|
||||
static_swizzle2_const(glm::i64vec3)
|
||||
static_swizzle2_const(glm::i64vec4)
|
||||
static_swizzle2_const(glm::i8vec2)
|
||||
static_swizzle2_const(glm::i8vec3)
|
||||
static_swizzle2_const(glm::i8vec4)
|
||||
static_swizzle2_const(glm::i16vec2)
|
||||
static_swizzle2_const(glm::i16vec3)
|
||||
static_swizzle2_const(glm::i16vec4)
|
||||
static_swizzle2_const(glm::i32vec2)
|
||||
static_swizzle2_const(glm::i32vec3)
|
||||
static_swizzle2_const(glm::i32vec4)
|
||||
static_swizzle2_const(glm::i64vec2)
|
||||
static_swizzle2_const(glm::i64vec3)
|
||||
static_swizzle2_const(glm::i64vec4)
|
||||
|
||||
static_swizzle2_const(glm::u8vec2)
|
||||
static_swizzle2_const(glm::u8vec3)
|
||||
static_swizzle2_const(glm::u8vec4)
|
||||
static_swizzle2_const(glm::u16vec2)
|
||||
static_swizzle2_const(glm::u16vec3)
|
||||
static_swizzle2_const(glm::u16vec4)
|
||||
static_swizzle2_const(glm::u32vec2)
|
||||
static_swizzle2_const(glm::u32vec3)
|
||||
static_swizzle2_const(glm::u32vec4)
|
||||
static_swizzle2_const(glm::u64vec2)
|
||||
static_swizzle2_const(glm::u64vec3)
|
||||
static_swizzle2_const(glm::u64vec4)
|
||||
static_swizzle2_const(glm::u8vec2)
|
||||
static_swizzle2_const(glm::u8vec3)
|
||||
static_swizzle2_const(glm::u8vec4)
|
||||
static_swizzle2_const(glm::u16vec2)
|
||||
static_swizzle2_const(glm::u16vec3)
|
||||
static_swizzle2_const(glm::u16vec4)
|
||||
static_swizzle2_const(glm::u32vec2)
|
||||
static_swizzle2_const(glm::u32vec3)
|
||||
static_swizzle2_const(glm::u32vec4)
|
||||
static_swizzle2_const(glm::u64vec2)
|
||||
static_swizzle2_const(glm::u64vec3)
|
||||
static_swizzle2_const(glm::u64vec4)
|
||||
|
||||
static_swizzle3_const(glm::f16vec2)
|
||||
static_swizzle3_const(glm::f16vec3)
|
||||
static_swizzle3_const(glm::f16vec4)
|
||||
static_swizzle3_const(glm::f32vec2)
|
||||
static_swizzle3_const(glm::f32vec3)
|
||||
static_swizzle3_const(glm::f32vec4)
|
||||
static_swizzle3_const(glm::f64vec2)
|
||||
static_swizzle3_const(glm::f64vec3)
|
||||
static_swizzle3_const(glm::f64vec4)
|
||||
static_swizzle3_const(glm::f16vec2)
|
||||
static_swizzle3_const(glm::f16vec3)
|
||||
static_swizzle3_const(glm::f16vec4)
|
||||
static_swizzle3_const(glm::f32vec2)
|
||||
static_swizzle3_const(glm::f32vec3)
|
||||
static_swizzle3_const(glm::f32vec4)
|
||||
static_swizzle3_const(glm::f64vec2)
|
||||
static_swizzle3_const(glm::f64vec3)
|
||||
static_swizzle3_const(glm::f64vec4)
|
||||
|
||||
static_swizzle3_const(glm::i8vec2)
|
||||
static_swizzle3_const(glm::i8vec3)
|
||||
static_swizzle3_const(glm::i8vec4)
|
||||
static_swizzle3_const(glm::i16vec2)
|
||||
static_swizzle3_const(glm::i16vec3)
|
||||
static_swizzle3_const(glm::i16vec4)
|
||||
static_swizzle3_const(glm::i32vec2)
|
||||
static_swizzle3_const(glm::i32vec3)
|
||||
static_swizzle3_const(glm::i32vec4)
|
||||
static_swizzle3_const(glm::i64vec2)
|
||||
static_swizzle3_const(glm::i64vec3)
|
||||
static_swizzle3_const(glm::i64vec4)
|
||||
static_swizzle3_const(glm::i8vec2)
|
||||
static_swizzle3_const(glm::i8vec3)
|
||||
static_swizzle3_const(glm::i8vec4)
|
||||
static_swizzle3_const(glm::i16vec2)
|
||||
static_swizzle3_const(glm::i16vec3)
|
||||
static_swizzle3_const(glm::i16vec4)
|
||||
static_swizzle3_const(glm::i32vec2)
|
||||
static_swizzle3_const(glm::i32vec3)
|
||||
static_swizzle3_const(glm::i32vec4)
|
||||
static_swizzle3_const(glm::i64vec2)
|
||||
static_swizzle3_const(glm::i64vec3)
|
||||
static_swizzle3_const(glm::i64vec4)
|
||||
|
||||
static_swizzle3_const(glm::u8vec2)
|
||||
static_swizzle3_const(glm::u8vec3)
|
||||
static_swizzle3_const(glm::u8vec4)
|
||||
static_swizzle3_const(glm::u16vec2)
|
||||
static_swizzle3_const(glm::u16vec3)
|
||||
static_swizzle3_const(glm::u16vec4)
|
||||
static_swizzle3_const(glm::u32vec2)
|
||||
static_swizzle3_const(glm::u32vec3)
|
||||
static_swizzle3_const(glm::u32vec4)
|
||||
static_swizzle3_const(glm::u64vec2)
|
||||
static_swizzle3_const(glm::u64vec3)
|
||||
static_swizzle3_const(glm::u64vec4)
|
||||
static_swizzle3_const(glm::u8vec2)
|
||||
static_swizzle3_const(glm::u8vec3)
|
||||
static_swizzle3_const(glm::u8vec4)
|
||||
static_swizzle3_const(glm::u16vec2)
|
||||
static_swizzle3_const(glm::u16vec3)
|
||||
static_swizzle3_const(glm::u16vec4)
|
||||
static_swizzle3_const(glm::u32vec2)
|
||||
static_swizzle3_const(glm::u32vec3)
|
||||
static_swizzle3_const(glm::u32vec4)
|
||||
static_swizzle3_const(glm::u64vec2)
|
||||
static_swizzle3_const(glm::u64vec3)
|
||||
static_swizzle3_const(glm::u64vec4)
|
||||
|
||||
static_swizzle4_const(glm::f16vec2)
|
||||
static_swizzle4_const(glm::f16vec3)
|
||||
static_swizzle4_const(glm::f16vec4)
|
||||
static_swizzle4_const(glm::f32vec2)
|
||||
static_swizzle4_const(glm::f32vec3)
|
||||
static_swizzle4_const(glm::f32vec4)
|
||||
static_swizzle4_const(glm::f64vec2)
|
||||
static_swizzle4_const(glm::f64vec3)
|
||||
static_swizzle4_const(glm::f64vec4)
|
||||
static_swizzle4_const(glm::f16vec2)
|
||||
static_swizzle4_const(glm::f16vec3)
|
||||
static_swizzle4_const(glm::f16vec4)
|
||||
static_swizzle4_const(glm::f32vec2)
|
||||
static_swizzle4_const(glm::f32vec3)
|
||||
static_swizzle4_const(glm::f32vec4)
|
||||
static_swizzle4_const(glm::f64vec2)
|
||||
static_swizzle4_const(glm::f64vec3)
|
||||
static_swizzle4_const(glm::f64vec4)
|
||||
|
||||
static_swizzle4_const(glm::i8vec2)
|
||||
static_swizzle4_const(glm::i8vec3)
|
||||
static_swizzle4_const(glm::i8vec4)
|
||||
static_swizzle4_const(glm::i16vec2)
|
||||
static_swizzle4_const(glm::i16vec3)
|
||||
static_swizzle4_const(glm::i16vec4)
|
||||
static_swizzle4_const(glm::i32vec2)
|
||||
static_swizzle4_const(glm::i32vec3)
|
||||
static_swizzle4_const(glm::i32vec4)
|
||||
static_swizzle4_const(glm::i64vec2)
|
||||
static_swizzle4_const(glm::i64vec3)
|
||||
static_swizzle4_const(glm::i64vec4)
|
||||
static_swizzle4_const(glm::i8vec2)
|
||||
static_swizzle4_const(glm::i8vec3)
|
||||
static_swizzle4_const(glm::i8vec4)
|
||||
static_swizzle4_const(glm::i16vec2)
|
||||
static_swizzle4_const(glm::i16vec3)
|
||||
static_swizzle4_const(glm::i16vec4)
|
||||
static_swizzle4_const(glm::i32vec2)
|
||||
static_swizzle4_const(glm::i32vec3)
|
||||
static_swizzle4_const(glm::i32vec4)
|
||||
static_swizzle4_const(glm::i64vec2)
|
||||
static_swizzle4_const(glm::i64vec3)
|
||||
static_swizzle4_const(glm::i64vec4)
|
||||
|
||||
static_swizzle4_const(glm::u8vec2)
|
||||
static_swizzle4_const(glm::u8vec3)
|
||||
static_swizzle4_const(glm::u8vec4)
|
||||
static_swizzle4_const(glm::u16vec2)
|
||||
static_swizzle4_const(glm::u16vec3)
|
||||
static_swizzle4_const(glm::u16vec4)
|
||||
static_swizzle4_const(glm::u32vec2)
|
||||
static_swizzle4_const(glm::u32vec3)
|
||||
static_swizzle4_const(glm::u32vec4)
|
||||
static_swizzle4_const(glm::u64vec2)
|
||||
static_swizzle4_const(glm::u64vec3)
|
||||
static_swizzle4_const(glm::u64vec4)
|
||||
static_swizzle4_const(glm::u8vec2)
|
||||
static_swizzle4_const(glm::u8vec3)
|
||||
static_swizzle4_const(glm::u8vec4)
|
||||
static_swizzle4_const(glm::u16vec2)
|
||||
static_swizzle4_const(glm::u16vec3)
|
||||
static_swizzle4_const(glm::u16vec4)
|
||||
static_swizzle4_const(glm::u32vec2)
|
||||
static_swizzle4_const(glm::u32vec3)
|
||||
static_swizzle4_const(glm::u32vec4)
|
||||
static_swizzle4_const(glm::u64vec2)
|
||||
static_swizzle4_const(glm::u64vec3)
|
||||
static_swizzle4_const(glm::u64vec4)
|
||||
|
||||
# define static_swizzle2_ref(TYPE) \
|
||||
template <glm::comp x, glm::comp y> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref2<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref2<typename TYPE::value_type>(v[x], v[y]);}
|
||||
template <glm::comp x, glm::comp y> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref2<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref2<typename TYPE::value_type>(v[x], v[y]);}
|
||||
|
||||
# define static_swizzle3_ref(TYPE) \
|
||||
template <glm::comp x, glm::comp y, glm::comp z> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref3<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref3<typename TYPE::value_type>(v[x], v[y], v[z]);}
|
||||
template <glm::comp x, glm::comp y, glm::comp z> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref3<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref3<typename TYPE::value_type>(v[x], v[y], v[z]);}
|
||||
|
||||
# define static_swizzle4_ref(TYPE) \
|
||||
template <glm::comp x, glm::comp y, glm::comp z, glm::comp w> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref4<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref4<typename TYPE::value_type>(v[x], v[y], v[z], v[w]);}
|
||||
template <glm::comp x, glm::comp y, glm::comp z, glm::comp w> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref4<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref4<typename TYPE::value_type>(v[x], v[y], v[z], v[w]);}
|
||||
|
||||
static_swizzle2_ref(glm::f16vec2)
|
||||
static_swizzle2_ref(glm::f16vec3)
|
||||
static_swizzle2_ref(glm::f16vec4)
|
||||
static_swizzle2_ref(glm::f32vec2)
|
||||
static_swizzle2_ref(glm::f32vec3)
|
||||
static_swizzle2_ref(glm::f32vec4)
|
||||
static_swizzle2_ref(glm::f64vec2)
|
||||
static_swizzle2_ref(glm::f64vec3)
|
||||
static_swizzle2_ref(glm::f64vec4)
|
||||
static_swizzle2_ref(glm::f16vec2)
|
||||
static_swizzle2_ref(glm::f16vec3)
|
||||
static_swizzle2_ref(glm::f16vec4)
|
||||
static_swizzle2_ref(glm::f32vec2)
|
||||
static_swizzle2_ref(glm::f32vec3)
|
||||
static_swizzle2_ref(glm::f32vec4)
|
||||
static_swizzle2_ref(glm::f64vec2)
|
||||
static_swizzle2_ref(glm::f64vec3)
|
||||
static_swizzle2_ref(glm::f64vec4)
|
||||
|
||||
static_swizzle2_ref(glm::i8vec2)
|
||||
static_swizzle2_ref(glm::i8vec3)
|
||||
static_swizzle2_ref(glm::i8vec4)
|
||||
static_swizzle2_ref(glm::i16vec2)
|
||||
static_swizzle2_ref(glm::i16vec3)
|
||||
static_swizzle2_ref(glm::i16vec4)
|
||||
static_swizzle2_ref(glm::i32vec2)
|
||||
static_swizzle2_ref(glm::i32vec3)
|
||||
static_swizzle2_ref(glm::i32vec4)
|
||||
static_swizzle2_ref(glm::i64vec2)
|
||||
static_swizzle2_ref(glm::i64vec3)
|
||||
static_swizzle2_ref(glm::i64vec4)
|
||||
static_swizzle2_ref(glm::i8vec2)
|
||||
static_swizzle2_ref(glm::i8vec3)
|
||||
static_swizzle2_ref(glm::i8vec4)
|
||||
static_swizzle2_ref(glm::i16vec2)
|
||||
static_swizzle2_ref(glm::i16vec3)
|
||||
static_swizzle2_ref(glm::i16vec4)
|
||||
static_swizzle2_ref(glm::i32vec2)
|
||||
static_swizzle2_ref(glm::i32vec3)
|
||||
static_swizzle2_ref(glm::i32vec4)
|
||||
static_swizzle2_ref(glm::i64vec2)
|
||||
static_swizzle2_ref(glm::i64vec3)
|
||||
static_swizzle2_ref(glm::i64vec4)
|
||||
|
||||
static_swizzle2_ref(glm::u8vec2)
|
||||
static_swizzle2_ref(glm::u8vec3)
|
||||
static_swizzle2_ref(glm::u8vec4)
|
||||
static_swizzle2_ref(glm::u16vec2)
|
||||
static_swizzle2_ref(glm::u16vec3)
|
||||
static_swizzle2_ref(glm::u16vec4)
|
||||
static_swizzle2_ref(glm::u32vec2)
|
||||
static_swizzle2_ref(glm::u32vec3)
|
||||
static_swizzle2_ref(glm::u32vec4)
|
||||
static_swizzle2_ref(glm::u64vec2)
|
||||
static_swizzle2_ref(glm::u64vec3)
|
||||
static_swizzle2_ref(glm::u64vec4)
|
||||
static_swizzle2_ref(glm::u8vec2)
|
||||
static_swizzle2_ref(glm::u8vec3)
|
||||
static_swizzle2_ref(glm::u8vec4)
|
||||
static_swizzle2_ref(glm::u16vec2)
|
||||
static_swizzle2_ref(glm::u16vec3)
|
||||
static_swizzle2_ref(glm::u16vec4)
|
||||
static_swizzle2_ref(glm::u32vec2)
|
||||
static_swizzle2_ref(glm::u32vec3)
|
||||
static_swizzle2_ref(glm::u32vec4)
|
||||
static_swizzle2_ref(glm::u64vec2)
|
||||
static_swizzle2_ref(glm::u64vec3)
|
||||
static_swizzle2_ref(glm::u64vec4)
|
||||
|
||||
static_swizzle3_ref(glm::f16vec3)
|
||||
static_swizzle3_ref(glm::f16vec4)
|
||||
static_swizzle3_ref(glm::f32vec3)
|
||||
static_swizzle3_ref(glm::f32vec4)
|
||||
static_swizzle3_ref(glm::f64vec3)
|
||||
static_swizzle3_ref(glm::f64vec4)
|
||||
static_swizzle3_ref(glm::f16vec3)
|
||||
static_swizzle3_ref(glm::f16vec4)
|
||||
static_swizzle3_ref(glm::f32vec3)
|
||||
static_swizzle3_ref(glm::f32vec4)
|
||||
static_swizzle3_ref(glm::f64vec3)
|
||||
static_swizzle3_ref(glm::f64vec4)
|
||||
|
||||
static_swizzle3_ref(glm::i8vec3)
|
||||
static_swizzle3_ref(glm::i8vec4)
|
||||
static_swizzle3_ref(glm::i16vec3)
|
||||
static_swizzle3_ref(glm::i16vec4)
|
||||
static_swizzle3_ref(glm::i32vec3)
|
||||
static_swizzle3_ref(glm::i32vec4)
|
||||
static_swizzle3_ref(glm::i64vec3)
|
||||
static_swizzle3_ref(glm::i64vec4)
|
||||
static_swizzle3_ref(glm::i8vec3)
|
||||
static_swizzle3_ref(glm::i8vec4)
|
||||
static_swizzle3_ref(glm::i16vec3)
|
||||
static_swizzle3_ref(glm::i16vec4)
|
||||
static_swizzle3_ref(glm::i32vec3)
|
||||
static_swizzle3_ref(glm::i32vec4)
|
||||
static_swizzle3_ref(glm::i64vec3)
|
||||
static_swizzle3_ref(glm::i64vec4)
|
||||
|
||||
static_swizzle3_ref(glm::u8vec3)
|
||||
static_swizzle3_ref(glm::u8vec4)
|
||||
static_swizzle3_ref(glm::u16vec3)
|
||||
static_swizzle3_ref(glm::u16vec4)
|
||||
static_swizzle3_ref(glm::u32vec3)
|
||||
static_swizzle3_ref(glm::u32vec4)
|
||||
static_swizzle3_ref(glm::u64vec3)
|
||||
static_swizzle3_ref(glm::u64vec4)
|
||||
static_swizzle3_ref(glm::u8vec3)
|
||||
static_swizzle3_ref(glm::u8vec4)
|
||||
static_swizzle3_ref(glm::u16vec3)
|
||||
static_swizzle3_ref(glm::u16vec4)
|
||||
static_swizzle3_ref(glm::u32vec3)
|
||||
static_swizzle3_ref(glm::u32vec4)
|
||||
static_swizzle3_ref(glm::u64vec3)
|
||||
static_swizzle3_ref(glm::u64vec4)
|
||||
|
||||
static_swizzle4_ref(glm::f16vec4)
|
||||
static_swizzle4_ref(glm::f32vec4)
|
||||
static_swizzle4_ref(glm::f64vec4)
|
||||
static_swizzle4_ref(glm::f16vec4)
|
||||
static_swizzle4_ref(glm::f32vec4)
|
||||
static_swizzle4_ref(glm::f64vec4)
|
||||
|
||||
static_swizzle4_ref(glm::i8vec4)
|
||||
static_swizzle4_ref(glm::i16vec4)
|
||||
static_swizzle4_ref(glm::i32vec4)
|
||||
static_swizzle4_ref(glm::i64vec4)
|
||||
static_swizzle4_ref(glm::i8vec4)
|
||||
static_swizzle4_ref(glm::i16vec4)
|
||||
static_swizzle4_ref(glm::i32vec4)
|
||||
static_swizzle4_ref(glm::i64vec4)
|
||||
|
||||
static_swizzle4_ref(glm::u8vec4)
|
||||
static_swizzle4_ref(glm::u16vec4)
|
||||
static_swizzle4_ref(glm::u32vec4)
|
||||
static_swizzle4_ref(glm::u64vec4)
|
||||
static_swizzle4_ref(glm::u8vec4)
|
||||
static_swizzle4_ref(glm::u16vec4)
|
||||
static_swizzle4_ref(glm::u32vec4)
|
||||
static_swizzle4_ref(glm::u64vec4)
|
||||
|
||||
}//namespace swizzle
|
||||
}//namespace gtc
|
||||
}//namespace swizzle
|
||||
}//namespace gtc
|
||||
}//namespace glm
|
||||
|
||||
#include "swizzle.inl"
|
||||
|
@ -24,195 +24,193 @@
|
||||
# pragma message("GLM: GLM_GTC_type_precision extension included")
|
||||
#endif
|
||||
|
||||
namespace glm
|
||||
namespace glm{
|
||||
namespace gtc{
|
||||
namespace type_precision ///< GLM_GTC_type_precision extension: Defined types with specific size.
|
||||
{
|
||||
namespace gtc{
|
||||
//! GLM_GTC_type_precision extension: Defined types with specific size.
|
||||
namespace type_precision
|
||||
{
|
||||
///////////////////////////
|
||||
// Dependences
|
||||
///////////////////////////
|
||||
// Dependences
|
||||
|
||||
using namespace gtc::half_float;
|
||||
using namespace gtc::quaternion;
|
||||
using namespace gtc::half_float;
|
||||
using namespace gtc::quaternion;
|
||||
|
||||
///////////////////////////
|
||||
// Signed int vector types
|
||||
///////////////////////////
|
||||
// Signed int vector types
|
||||
|
||||
/// \addtogroup gtc_type_precision
|
||||
///@{
|
||||
/// \addtogroup gtc_type_precision
|
||||
///@{
|
||||
|
||||
typedef detail::int8 int8; //!< \brief 8bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::int16 int16; //!< \brief 16bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::int32 int32; //!< \brief 32bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::int64 int64; //!< \brief 64bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::int8 int8; //!< \brief 8bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::int16 int16; //!< \brief 16bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::int32 int32; //!< \brief 32bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::int64 int64; //!< \brief 64bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
|
||||
typedef int8 i8; //!< \brief 8bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef int16 i16; //!< \brief 16bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef int32 i32; //!< \brief 32bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef int64 i64; //!< \brief 64bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef int8 i8; //!< \brief 8bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef int16 i16; //!< \brief 16bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef int32 i32; //!< \brief 32bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
typedef int64 i64; //!< \brief 64bit signed integer. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef i8 i8vec1; //!< \brief 8bit signed integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<i8> i8vec2; //!< \brief 8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<i8> i8vec3; //!< \brief 8bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<i8> i8vec4; //!< \brief 8bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef i8 i8vec1; //!< \brief 8bit signed integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<i8> i8vec2; //!< \brief 8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<i8> i8vec3; //!< \brief 8bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<i8> i8vec4; //!< \brief 8bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef i16 i16vec1; //!< \brief 16bit signed integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<i16> i16vec2; //!< \brief 16bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<i16> i16vec3; //!< \brief 16bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<i16> i16vec4; //!< \brief 16bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef i16 i16vec1; //!< \brief 16bit signed integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<i16> i16vec2; //!< \brief 16bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<i16> i16vec3; //!< \brief 16bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<i16> i16vec4; //!< \brief 16bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef i32 i32vec1; //!< \brief 32bit signed integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<i32> i32vec2; //!< \brief 32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<i32> i32vec3; //!< \brief 32bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<i32> i32vec4; //!< \brief 32bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef i32 i32vec1; //!< \brief 32bit signed integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<i32> i32vec2; //!< \brief 32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<i32> i32vec3; //!< \brief 32bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<i32> i32vec4; //!< \brief 32bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef i64 i64vec1; //!< \brief 32bit signed integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<i64> i64vec2; //!< \brief 64bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<i64> i64vec3; //!< \brief 64bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<i64> i64vec4; //!< \brief 64bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef i64 i64vec1; //!< \brief 32bit signed integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<i64> i64vec2; //!< \brief 64bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<i64> i64vec3; //!< \brief 64bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<i64> i64vec4; //!< \brief 64bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
/////////////////////////////
|
||||
// Unsigned int vector types
|
||||
/////////////////////////////
|
||||
// Unsigned int vector types
|
||||
|
||||
typedef detail::uint8 uint8; //!< \brief 8bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::uint16 uint16; //!< \brief 16bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::uint32 uint32; //!< \brief 32bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::uint64 uint64; //!< \brief 64bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::uint8 uint8; //!< \brief 8bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::uint16 uint16; //!< \brief 16bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::uint32 uint32; //!< \brief 32bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::uint64 uint64; //!< \brief 64bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
|
||||
typedef uint8 u8; //!< \brief 8bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef uint16 u16; //!< \brief 16bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef uint32 u32; //!< \brief 32bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef uint64 u64; //!< \brief 64bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef uint8 u8; //!< \brief 8bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef uint16 u16; //!< \brief 16bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef uint32 u32; //!< \brief 32bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
typedef uint64 u64; //!< \brief 64bit unsigned integer. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef u8 u8vec1; //!< \brief 8bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<u8> u8vec2; //!< \brief 8bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<u8> u8vec3; //!< \brief 8bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<u8> u8vec4; //!< \brief 8bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef u8 u8vec1; //!< \brief 8bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<u8> u8vec2; //!< \brief 8bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<u8> u8vec3; //!< \brief 8bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<u8> u8vec4; //!< \brief 8bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef u16 u16vec1; //!< \brief 16bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<u16> u16vec2; //!< \brief 16bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<u16> u16vec3; //!< \brief 16bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<u16> u16vec4; //!< \brief 16bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef u16 u16vec1; //!< \brief 16bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<u16> u16vec2; //!< \brief 16bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<u16> u16vec3; //!< \brief 16bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<u16> u16vec4; //!< \brief 16bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef u32 u32vec1; //!< \brief 32bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<u32> u32vec2; //!< \brief 32bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<u32> u32vec3; //!< \brief 32bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<u32> u32vec4; //!< \brief 32bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef u32 u32vec1; //!< \brief 32bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<u32> u32vec2; //!< \brief 32bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<u32> u32vec3; //!< \brief 32bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<u32> u32vec4; //!< \brief 32bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef u64 u64vec1; //!< \brief 64bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<u64> u64vec2; //!< \brief 64bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<u64> u64vec3; //!< \brief 64bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<u64> u64vec4; //!< \brief 64bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef u64 u64vec1; //!< \brief 64bit unsigned integer scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<u64> u64vec2; //!< \brief 64bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<u64> u64vec3; //!< \brief 64bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<u64> u64vec4; //!< \brief 64bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//////////////////////
|
||||
// Float vector types
|
||||
//////////////////////
|
||||
// Float vector types
|
||||
|
||||
typedef detail::float16 float16; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::float32 float32; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::float64 float64; //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::float16 float16; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::float32 float32; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::float64 float64; //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
|
||||
typedef float16 f16; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef float32 f32; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef float64 f64; //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef float16 f16; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef float32 f32; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef float64 f64; //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
|
||||
typedef detail::tvec2<float> fvec2; //!< Vector of 2 single-precision floating-point numbers. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<float> fvec3; //!< Vector of 3 single-precision floating-point numbers. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<float> fvec4; //!< Vector of 4 single-precision floating-point numbers. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<float> fvec2; //!< Vector of 2 single-precision floating-point numbers. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<float> fvec3; //!< Vector of 3 single-precision floating-point numbers. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<float> fvec4; //!< Vector of 4 single-precision floating-point numbers. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f16 f16vec1; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<f16> f16vec2; //!< \brief Half-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<f16> f16vec3; //!< \brief Half-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<f16> f16vec4; //!< \brief Half-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef f16 f16vec1; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<f16> f16vec2; //!< \brief Half-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<f16> f16vec3; //!< \brief Half-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<f16> f16vec4; //!< \brief Half-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f32 f32vec1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<f32> f32vec2; //!< \brief Single-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<f32> f32vec3; //!< \brief Single-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<f32> f32vec4; //!< \brief Single-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef f32 f32vec1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<f32> f32vec2; //!< \brief Single-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<f32> f32vec3; //!< \brief Single-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<f32> f32vec4; //!< \brief Single-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f64 f64vec1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<f64> f64vec2; //!< \brief Double-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<f64> f64vec3; //!< \brief Double-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<f64> f64vec4; //!< \brief Double-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
//typedef f64 f64vec1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec2<f64> f64vec2; //!< \brief Double-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec3<f64> f64vec3; //!< \brief Double-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tvec4<f64> f64vec4; //!< \brief Double-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//////////////////////
|
||||
// Float matrix types
|
||||
//////////////////////
|
||||
// Float matrix types
|
||||
|
||||
//typedef f32 fmat1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f32> fmat2; //!< \brief Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f32> fmat3; //!< \brief Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f32> fmat4; //!< \brief Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
//typedef f32 fmat1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f32> fmat2; //!< \brief Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f32> fmat3; //!< \brief Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f32> fmat4; //!< \brief Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f32 fmat1x1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f32> fmat2x2; //!< \brief Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x3<f32> fmat2x3; //!< \brief Single-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x4<f32> fmat2x4; //!< \brief Single-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x2<f32> fmat3x2; //!< \brief Single-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f32> fmat3x3; //!< \brief Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x4<f32> fmat3x4; //!< \brief Single-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x2<f32> fmat4x2; //!< \brief Single-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x3<f32> fmat4x3; //!< \brief Single-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f32> fmat4x4; //!< \brief Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
//typedef f32 fmat1x1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f32> fmat2x2; //!< \brief Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x3<f32> fmat2x3; //!< \brief Single-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x4<f32> fmat2x4; //!< \brief Single-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x2<f32> fmat3x2; //!< \brief Single-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f32> fmat3x3; //!< \brief Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x4<f32> fmat3x4; //!< \brief Single-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x2<f32> fmat4x2; //!< \brief Single-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x3<f32> fmat4x3; //!< \brief Single-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f32> fmat4x4; //!< \brief Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f16 f16mat1; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f16> f16mat2; //!< \brief Half-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f16> f16mat3; //!< \brief Half-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f16> f16mat4; //!< \brief Half-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
//typedef f16 f16mat1; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f16> f16mat2; //!< \brief Half-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f16> f16mat3; //!< \brief Half-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f16> f16mat4; //!< \brief Half-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f16 f16mat1x1; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f16> f16mat2x2; //!< \brief Half-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x3<f16> f16mat2x3; //!< \brief Half-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x4<f16> f16mat2x4; //!< \brief Half-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x2<f16> f16mat3x2; //!< \brief Half-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f16> f16mat3x3; //!< \brief Half-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x4<f16> f16mat3x4; //!< \brief Half-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x2<f16> f16mat4x2; //!< \brief Half-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x3<f16> f16mat4x3; //!< \brief Half-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f16> f16mat4x4; //!< \brief Half-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
//typedef f16 f16mat1x1; //!< \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f16> f16mat2x2; //!< \brief Half-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x3<f16> f16mat2x3; //!< \brief Half-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x4<f16> f16mat2x4; //!< \brief Half-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x2<f16> f16mat3x2; //!< \brief Half-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f16> f16mat3x3; //!< \brief Half-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x4<f16> f16mat3x4; //!< \brief Half-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x2<f16> f16mat4x2; //!< \brief Half-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x3<f16> f16mat4x3; //!< \brief Half-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f16> f16mat4x4; //!< \brief Half-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f32 f32mat1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f32> f32mat2; //!< \brief Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f32> f32mat3; //!< \brief Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f32> f32mat4; //!< \brief Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
//typedef f32 f32mat1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f32> f32mat2; //!< \brief Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f32> f32mat3; //!< \brief Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f32> f32mat4; //!< \brief Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f32 f32mat1x1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f32> f32mat2x2; //!< \brief Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x3<f32> f32mat2x3; //!< \brief Single-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x4<f32> f32mat2x4; //!< \brief Single-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x2<f32> f32mat3x2; //!< \brief Single-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f32> f32mat3x3; //!< \brief Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x4<f32> f32mat3x4; //!< \brief Single-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x2<f32> f32mat4x2; //!< \brief Single-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x3<f32> f32mat4x3; //!< \brief Single-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f32> f32mat4x4; //!< \brief Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
//typedef f32 f32mat1x1; //!< \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f32> f32mat2x2; //!< \brief Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x3<f32> f32mat2x3; //!< \brief Single-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x4<f32> f32mat2x4; //!< \brief Single-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x2<f32> f32mat3x2; //!< \brief Single-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f32> f32mat3x3; //!< \brief Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x4<f32> f32mat3x4; //!< \brief Single-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x2<f32> f32mat4x2; //!< \brief Single-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x3<f32> f32mat4x3; //!< \brief Single-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f32> f32mat4x4; //!< \brief Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f64 f64mat1; //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f64> f64mat2; //!< \brief Double-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f64> f64mat3; //!< \brief Double-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f64> f64mat4; //!< \brief Double-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
//typedef f64 f64mat1; //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f64> f64mat2; //!< \brief Double-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f64> f64mat3; //!< \brief Double-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f64> f64mat4; //!< \brief Double-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//typedef f64 f64mat1x1; //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f64> f64mat2x2; //!< \brief Double-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x3<f64> f64mat2x3; //!< \brief Double-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x4<f64> f64mat2x4; //!< \brief Double-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x2<f64> f64mat3x2; //!< \brief Double-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f64> f64mat3x3; //!< \brief Double-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x4<f64> f64mat3x4; //!< \brief Double-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x2<f64> f64mat4x2; //!< \brief Double-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x3<f64> f64mat4x3; //!< \brief Double-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f64> f64mat4x4; //!< \brief Double-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
//typedef f64 f64mat1x1; //!< \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x2<f64> f64mat2x2; //!< \brief Double-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x3<f64> f64mat2x3; //!< \brief Double-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat2x4<f64> f64mat2x4; //!< \brief Double-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x2<f64> f64mat3x2; //!< \brief Double-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x3<f64> f64mat3x3; //!< \brief Double-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat3x4<f64> f64mat3x4; //!< \brief Double-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x2<f64> f64mat4x2; //!< \brief Double-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x3<f64> f64mat4x3; //!< \brief Double-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tmat4x4<f64> f64mat4x4; //!< \brief Double-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)
|
||||
|
||||
//////////////////////////
|
||||
// Float quaternion types
|
||||
//////////////////////////
|
||||
// Float quaternion types
|
||||
|
||||
typedef detail::tquat<f16> f16quat; //!< \brief Half-precision floating-point quaternion. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tquat<f32> f32quat; //!< \brief Single-precision floating-point quaternion. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tquat<f64> f64quat; //!< \brief Double-precision floating-point quaternion. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tquat<f16> f16quat; //!< \brief Half-precision floating-point quaternion. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tquat<f32> f32quat; //!< \brief Single-precision floating-point quaternion. (from GLM_GTC_type_precision extension)
|
||||
typedef detail::tquat<f64> f64quat; //!< \brief Double-precision floating-point quaternion. (from GLM_GTC_type_precision extension)
|
||||
|
||||
///@}
|
||||
///@}
|
||||
|
||||
}//namespace type_precision
|
||||
}//namespace gtc
|
||||
}//namespace type_precision
|
||||
}//namespace gtc
|
||||
}//namespace glm
|
||||
|
||||
#include "type_precision.inl"
|
||||
|
@ -21,425 +21,424 @@
|
||||
# pragma message("GLM: GLM_GTC_type_ptr extension included")
|
||||
#endif
|
||||
|
||||
namespace glm
|
||||
namespace glm{
|
||||
namespace gtc{
|
||||
namespace type_ptr ///< GLM_GTC_type_ptr extension: Get access to vectors & matrices value type address.
|
||||
{
|
||||
namespace gtc{
|
||||
//! GLM_GTC_type_ptr extension: Get access to vectors & matrices value type address.
|
||||
namespace type_ptr{
|
||||
|
||||
/// \addtogroup gtc_type_ptr
|
||||
///@{
|
||||
/// \addtogroup gtc_type_ptr
|
||||
///@{
|
||||
|
||||
//! Get the const address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tvec2<T> const & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
//! Get the const address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tvec2<T> const & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
|
||||
//! Get the address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tvec2<T> & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
//! Get the address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tvec2<T> & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
|
||||
//! Get the const address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tvec3<T> const & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
//! Get the const address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tvec3<T> const & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
|
||||
//! Get the address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tvec3<T> & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
//! Get the address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tvec3<T> & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
|
||||
//! Get the const address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tvec4<T> const & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
//! Get the const address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tvec4<T> const & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
|
||||
//! Get the address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tvec4<T> & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
//! Get the address of the vector content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tvec4<T> & vec
|
||||
)
|
||||
{
|
||||
return &(vec.x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat2x2<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat2x2<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat2x2<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat2x2<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat3x3<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat3x3<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat3x3<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat3x3<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat4x4<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat4x4<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat4x4<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat4x4<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat2x3<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat2x3<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat2x3<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat2x3<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat3x2<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat3x2<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat3x2<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat3x2<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat2x4<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat2x4<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat2x4<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat2x4<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat4x2<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat4x2<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat4x2<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat4x2<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat3x4<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat3x4<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat3x4<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr
|
||||
(
|
||||
detail::tmat3x4<T> & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat4x3<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the const address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T const * value_ptr
|
||||
(
|
||||
detail::tmat4x3<T> const & mat
|
||||
)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr(detail::tmat4x3<T> & mat)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
//! Get the address of the matrix content.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER T * value_ptr(detail::tmat4x3<T> & mat)
|
||||
{
|
||||
return &(mat[0].x);
|
||||
}
|
||||
|
||||
//! Build a vector from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T> make_vec2(T const * const ptr)
|
||||
{
|
||||
detail::tvec2<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec2<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a vector from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<T> make_vec2(T const * const ptr)
|
||||
{
|
||||
detail::tvec2<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec2<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a vector from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T> make_vec3(T const * const ptr)
|
||||
{
|
||||
detail::tvec3<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec3<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a vector from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec3<T> make_vec3(T const * const ptr)
|
||||
{
|
||||
detail::tvec3<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec3<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a vector from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T> make_vec4(T const * const ptr)
|
||||
{
|
||||
detail::tvec4<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec4<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a vector from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<T> make_vec4(T const * const ptr)
|
||||
{
|
||||
detail::tvec4<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tvec4<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T> make_mat2x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x2<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x2<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T> make_mat2x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x2<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x2<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x3<T> make_mat2x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x3<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x3<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x3<T> make_mat2x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x3<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x3<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x4<T> make_mat2x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x4<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x4<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x4<T> make_mat2x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat2x4<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat2x4<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x2<T> make_mat3x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x2<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x2<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x2<T> make_mat3x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x2<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x2<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T> make_mat3x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x3<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x3<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T> make_mat3x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x3<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x3<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x4<T> make_mat3x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x4<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x4<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x4<T> make_mat3x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat3x4<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat3x4<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x2<T> make_mat4x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x2<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x2<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x2<T> make_mat4x2(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x2<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x2<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x3<T> make_mat4x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x3<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x3<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x3<T> make_mat4x3(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x3<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x3<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T> make_mat4x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x4<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x4<T>));
|
||||
return Result;
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T> make_mat4x4(T const * const ptr)
|
||||
{
|
||||
detail::tmat4x4<T> Result;
|
||||
memcpy(value_ptr(Result), ptr, sizeof(detail::tmat4x4<T>));
|
||||
return Result;
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T> make_mat2(T const * const ptr)
|
||||
{
|
||||
return make_mat2x2(ptr);
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat2x2<T> make_mat2(T const * const ptr)
|
||||
{
|
||||
return make_mat2x2(ptr);
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T> make_mat3(T const * const ptr)
|
||||
{
|
||||
return make_mat3x3(ptr);
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat3x3<T> make_mat3(T const * const ptr)
|
||||
{
|
||||
return make_mat3x3(ptr);
|
||||
}
|
||||
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T> make_mat4(T const * const ptr)
|
||||
{
|
||||
return make_mat4x4(ptr);
|
||||
}
|
||||
//! Build a matrix from a pointer.
|
||||
//! From GLM_GTC_type_ptr extension.
|
||||
template<typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<T> make_mat4(T const * const ptr)
|
||||
{
|
||||
return make_mat4x4(ptr);
|
||||
}
|
||||
|
||||
///@}
|
||||
///@}
|
||||
|
||||
}//namespace type_ptr
|
||||
}//namespace gtc
|
||||
}//namespace type_ptr
|
||||
}//namespace gtc
|
||||
}//namespace glm
|
||||
|
||||
#include "type_ptr.inl"
|
||||
|
Loading…
Reference in New Issue
Block a user