|
|
@@ -48,8 +48,8 @@ namespace glm{
|
|
|
namespace detail
|
|
|
{
|
|
|
#if(GLM_COMPONENT == GLM_COMPONENT_CXX98)
|
|
|
- template <>
|
|
|
- struct tvec2<half, defaultp>
|
|
|
+ template <precision P>
|
|
|
+ struct tvec2<half, P>
|
|
|
{
|
|
|
enum ctor{null};
|
|
|
typedef half value_type;
|
|
|
@@ -58,8 +58,8 @@ namespace detail
|
|
|
GLM_FUNC_DECL size_type length() const;
|
|
|
static GLM_FUNC_DECL size_type value_size();
|
|
|
|
|
|
- typedef tvec2<half, defaultp> type;
|
|
|
- typedef tvec2<bool, defaultp> bool_type;
|
|
|
+ typedef tvec2<half, P> type;
|
|
|
+ typedef tvec2<bool, P> bool_type;
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Data
|
|
|
@@ -76,7 +76,7 @@ namespace detail
|
|
|
// Implicit basic constructors
|
|
|
|
|
|
tvec2();
|
|
|
- tvec2(tvec2<half, defaultp> const & v);
|
|
|
+ tvec2(tvec2<half, P> const & v);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Explicit basic constructors
|
|
|
@@ -91,7 +91,7 @@ namespace detail
|
|
|
//////////////////////////////////////
|
|
|
// Swizzle constructors
|
|
|
|
|
|
- tvec2(tref2<half, defaultp> const & r);
|
|
|
+ tvec2(tref2<half, P> const & r);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Convertion scalar constructors
|
|
|
@@ -108,42 +108,42 @@ namespace detail
|
|
|
|
|
|
//! Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
template <typename U>
|
|
|
- explicit tvec2(tvec2<U, defaultp> const & v);
|
|
|
+ explicit tvec2(tvec2<U, P> 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, defaultp> const & v);
|
|
|
+ explicit tvec2(tvec3<U, P> 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, defaultp> const & v);
|
|
|
+ explicit tvec2(tvec4<U, P> const & v);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Unary arithmetic operators
|
|
|
|
|
|
- tvec2<half, defaultp>& operator= (tvec2<half, defaultp> const & v);
|
|
|
+ tvec2<half, P>& operator= (tvec2<half, P> const & v);
|
|
|
|
|
|
- tvec2<half, defaultp>& operator+=(half const & s);
|
|
|
- tvec2<half, defaultp>& operator+=(tvec2<half, defaultp> const & v);
|
|
|
- tvec2<half, defaultp>& operator-=(half const & s);
|
|
|
- tvec2<half, defaultp>& operator-=(tvec2<half, defaultp> const & v);
|
|
|
- tvec2<half, defaultp>& operator*=(half const & s);
|
|
|
- tvec2<half, defaultp>& operator*=(tvec2<half, defaultp> const & v);
|
|
|
- tvec2<half, defaultp>& operator/=(half const & s);
|
|
|
- tvec2<half, defaultp>& operator/=(tvec2<half, defaultp> const & v);
|
|
|
- tvec2<half, defaultp>& operator++();
|
|
|
- tvec2<half, defaultp>& operator--();
|
|
|
+ tvec2<half, P>& operator+=(half const & s);
|
|
|
+ tvec2<half, P>& operator+=(tvec2<half, P> const & v);
|
|
|
+ tvec2<half, P>& operator-=(half const & s);
|
|
|
+ tvec2<half, P>& operator-=(tvec2<half, P> const & v);
|
|
|
+ tvec2<half, P>& operator*=(half const & s);
|
|
|
+ tvec2<half, P>& operator*=(tvec2<half, P> const & v);
|
|
|
+ tvec2<half, P>& operator/=(half const & s);
|
|
|
+ tvec2<half, P>& operator/=(tvec2<half, P> const & v);
|
|
|
+ tvec2<half, P>& operator++();
|
|
|
+ tvec2<half, P>& operator--();
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Swizzle operators
|
|
|
|
|
|
half swizzle(comp X) const;
|
|
|
- tvec2<half, defaultp> swizzle(comp X, comp Y) const;
|
|
|
- tvec3<half, defaultp> swizzle(comp X, comp Y, comp Z) const;
|
|
|
- tvec4<half, defaultp> swizzle(comp X, comp Y, comp Z, comp W) const;
|
|
|
- tref2<half, defaultp> swizzle(comp X, comp Y);
|
|
|
+ tvec2<half, P> swizzle(comp X, comp Y) const;
|
|
|
+ tvec3<half, P> swizzle(comp X, comp Y, comp Z) const;
|
|
|
+ tvec4<half, P> swizzle(comp X, comp Y, comp Z, comp W) const;
|
|
|
+ tref2<half, P> swizzle(comp X, comp Y);
|
|
|
};
|
|
|
|
|
|
- template <>
|
|
|
- struct tvec3<half, defaultp>
|
|
|
+ template <precision P>
|
|
|
+ struct tvec3<half, P>
|
|
|
{
|
|
|
enum ctor{null};
|
|
|
typedef half value_type;
|
|
|
@@ -151,8 +151,8 @@ namespace detail
|
|
|
GLM_FUNC_DECL size_type length() const;
|
|
|
static GLM_FUNC_DECL size_type value_size();
|
|
|
|
|
|
- typedef tvec3<half, defaultp> type;
|
|
|
- typedef tvec3<bool, defaultp> bool_type;
|
|
|
+ typedef tvec3<half, P> type;
|
|
|
+ typedef tvec3<bool, P> bool_type;
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Data
|
|
|
@@ -169,7 +169,7 @@ namespace detail
|
|
|
// Implicit basic constructors
|
|
|
|
|
|
tvec3();
|
|
|
- tvec3(tvec3<half, defaultp> const & v);
|
|
|
+ tvec3(tvec3<half, P> const & v);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Explicit basic constructors
|
|
|
@@ -185,7 +185,7 @@ namespace detail
|
|
|
//////////////////////////////////////
|
|
|
// Swizzle constructors
|
|
|
|
|
|
- tvec3(tref3<half, defaultp> const & r);
|
|
|
+ tvec3(tref3<half, P> const & r);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Convertion scalar constructors
|
|
|
@@ -202,45 +202,45 @@ namespace detail
|
|
|
|
|
|
//! 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, defaultp> const & v, B const & s);
|
|
|
+ explicit tvec3(tvec2<A, P> 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, defaultp> const & v);
|
|
|
+ explicit tvec3(A const & s, tvec2<B, P> 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, defaultp> const & v);
|
|
|
+ explicit tvec3(tvec3<U, P> 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, defaultp> const & v);
|
|
|
+ explicit tvec3(tvec4<U, P> const & v);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Unary arithmetic operators
|
|
|
|
|
|
- tvec3<half, defaultp>& operator= (tvec3<half, defaultp> const & v);
|
|
|
+ tvec3<half, P>& operator= (tvec3<half, P> const & v);
|
|
|
|
|
|
- tvec3<half, defaultp>& operator+=(half const & s);
|
|
|
- tvec3<half, defaultp>& operator+=(tvec3<half, defaultp> const & v);
|
|
|
- tvec3<half, defaultp>& operator-=(half const & s);
|
|
|
- tvec3<half, defaultp>& operator-=(tvec3<half, defaultp> const & v);
|
|
|
- tvec3<half, defaultp>& operator*=(half const & s);
|
|
|
- tvec3<half, defaultp>& operator*=(tvec3<half, defaultp> const & v);
|
|
|
- tvec3<half, defaultp>& operator/=(half const & s);
|
|
|
- tvec3<half, defaultp>& operator/=(tvec3<half, defaultp> const & v);
|
|
|
- tvec3<half, defaultp>& operator++();
|
|
|
- tvec3<half, defaultp>& operator--();
|
|
|
+ tvec3<half, P>& operator+=(half const & s);
|
|
|
+ tvec3<half, P>& operator+=(tvec3<half, P> const & v);
|
|
|
+ tvec3<half, P>& operator-=(half const & s);
|
|
|
+ tvec3<half, P>& operator-=(tvec3<half, P> const & v);
|
|
|
+ tvec3<half, P>& operator*=(half const & s);
|
|
|
+ tvec3<half, P>& operator*=(tvec3<half, P> const & v);
|
|
|
+ tvec3<half, P>& operator/=(half const & s);
|
|
|
+ tvec3<half, P>& operator/=(tvec3<half, P> const & v);
|
|
|
+ tvec3<half, P>& operator++();
|
|
|
+ tvec3<half, P>& operator--();
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Swizzle operators
|
|
|
|
|
|
half swizzle(comp X) const;
|
|
|
- tvec2<half, defaultp> swizzle(comp X, comp Y) const;
|
|
|
- tvec3<half, defaultp> swizzle(comp X, comp Y, comp Z) const;
|
|
|
- tvec4<half, defaultp> swizzle(comp X, comp Y, comp Z, comp W) const;
|
|
|
- tref3<half, defaultp> swizzle(comp X, comp Y, comp Z);
|
|
|
+ tvec2<half, P> swizzle(comp X, comp Y) const;
|
|
|
+ tvec3<half, P> swizzle(comp X, comp Y, comp Z) const;
|
|
|
+ tvec4<half, P> swizzle(comp X, comp Y, comp Z, comp W) const;
|
|
|
+ tref3<half, P> swizzle(comp X, comp Y, comp Z);
|
|
|
};
|
|
|
|
|
|
- template <>
|
|
|
- struct tvec4<half, defaultp>
|
|
|
+ template <precision P>
|
|
|
+ struct tvec4<half, P>
|
|
|
{
|
|
|
enum ctor{null};
|
|
|
typedef half value_type;
|
|
|
@@ -248,8 +248,8 @@ namespace detail
|
|
|
GLM_FUNC_DECL size_type length() const;
|
|
|
static GLM_FUNC_DECL size_type value_size();
|
|
|
|
|
|
- typedef tvec4<half, defaultp> type;
|
|
|
- typedef tvec4<bool, defaultp> bool_type;
|
|
|
+ typedef tvec4<half, P> type;
|
|
|
+ typedef tvec4<bool, P> bool_type;
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Data
|
|
|
@@ -266,7 +266,7 @@ namespace detail
|
|
|
// Implicit basic constructors
|
|
|
|
|
|
tvec4();
|
|
|
- tvec4(tvec4<half, defaultp> const & v);
|
|
|
+ tvec4(tvec4<half, P> const & v);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Explicit basic constructors
|
|
|
@@ -283,7 +283,7 @@ namespace detail
|
|
|
//////////////////////////////////////
|
|
|
// Swizzle constructors
|
|
|
|
|
|
- tvec4(tref4<half, defaultp> const & r);
|
|
|
+ tvec4(tref4<half, P> const & r);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Convertion scalar constructors
|
|
|
@@ -300,50 +300,50 @@ namespace detail
|
|
|
|
|
|
//! 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, defaultp> const & v, B const & s1, C const & s2);
|
|
|
+ explicit tvec4(tvec2<A, P> 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, defaultp> const & v, C const & s2);
|
|
|
+ explicit tvec4(A const & s1, tvec2<B, P> 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, defaultp> const & v);
|
|
|
+ explicit tvec4(A const & s1, B const & s2, tvec2<C, P> 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, defaultp> const & v, B const & s);
|
|
|
+ explicit tvec4(tvec3<A, P> 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, defaultp> const & v);
|
|
|
+ explicit tvec4(A const & s, tvec3<B, P> 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, defaultp> const & v1, tvec2<B, defaultp> const & v2);
|
|
|
+ explicit tvec4(tvec2<A, P> const & v1, tvec2<B, P> 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, defaultp> const & v);
|
|
|
+ explicit tvec4(tvec4<U, P> const & v);
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Unary arithmetic operators
|
|
|
|
|
|
- tvec4<half, defaultp>& operator= (tvec4<half, defaultp> const & v);
|
|
|
+ tvec4<half, P>& operator= (tvec4<half, P> const & v);
|
|
|
|
|
|
- tvec4<half, defaultp>& operator+=(half const & s);
|
|
|
- tvec4<half, defaultp>& operator+=(tvec4<half, defaultp> const & v);
|
|
|
- tvec4<half, defaultp>& operator-=(half const & s);
|
|
|
- tvec4<half, defaultp>& operator-=(tvec4<half, defaultp> const & v);
|
|
|
- tvec4<half, defaultp>& operator*=(half const & s);
|
|
|
- tvec4<half, defaultp>& operator*=(tvec4<half, defaultp> const & v);
|
|
|
- tvec4<half, defaultp>& operator/=(half const & s);
|
|
|
- tvec4<half, defaultp>& operator/=(tvec4<half, defaultp> const & v);
|
|
|
- tvec4<half, defaultp>& operator++();
|
|
|
- tvec4<half, defaultp>& operator--();
|
|
|
+ tvec4<half, P>& operator+=(half const & s);
|
|
|
+ tvec4<half, P>& operator+=(tvec4<half, P> const & v);
|
|
|
+ tvec4<half, P>& operator-=(half const & s);
|
|
|
+ tvec4<half, P>& operator-=(tvec4<half, P> const & v);
|
|
|
+ tvec4<half, P>& operator*=(half const & s);
|
|
|
+ tvec4<half, P>& operator*=(tvec4<half, P> const & v);
|
|
|
+ tvec4<half, P>& operator/=(half const & s);
|
|
|
+ tvec4<half, P>& operator/=(tvec4<half, P> const & v);
|
|
|
+ tvec4<half, P>& operator++();
|
|
|
+ tvec4<half, P>& operator--();
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
// Swizzle operators
|
|
|
|
|
|
half swizzle(comp X) const;
|
|
|
- tvec2<half, defaultp> swizzle(comp X, comp Y) const;
|
|
|
- tvec3<half, defaultp> swizzle(comp X, comp Y, comp Z) const;
|
|
|
- tvec4<half, defaultp> swizzle(comp X, comp Y, comp Z, comp W) const;
|
|
|
- tref4<half, defaultp> swizzle(comp X, comp Y, comp Z, comp W);
|
|
|
+ tvec2<half, P> swizzle(comp X, comp Y) const;
|
|
|
+ tvec3<half, P> swizzle(comp X, comp Y, comp Z) const;
|
|
|
+ tvec4<half, P> swizzle(comp X, comp Y, comp Z, comp W) const;
|
|
|
+ tref4<half, P> swizzle(comp X, comp Y, comp Z, comp W);
|
|
|
};
|
|
|
#endif//(GLM_COMPONENT == GLM_COMPONENT_CXX98)
|
|
|
}
|
|
|
@@ -548,123 +548,105 @@ namespace detail
|
|
|
|
|
|
/// Type for default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef half_t half;
|
|
|
-
|
|
|
-#if(!defined(GLM_PRECISION_HIGHP_HALF) && !defined(GLM_PRECISION_MEDIUMP_HALF) && !defined(GLM_PRECISION_LOWP_HALF))
|
|
|
+ typedef half_t half;
|
|
|
+
|
|
|
+
|
|
|
+#if(!defined(GLM_PRECISION_HIGHP_HALF) && !defined(GLM_PRECISION_MEDIUMP_HALF) && defined(GLM_PRECISION_LOWP_HALF))
|
|
|
+ typedef lowp_hvec2 hvec2;
|
|
|
+ typedef lowp_hvec3 hvec3;
|
|
|
+ typedef lowp_hvec4 hvec4;
|
|
|
+ typedef lowp_hmat2 hmat2;
|
|
|
+ typedef lowp_hmat3 hmat3;
|
|
|
+ typedef lowp_hmat4 hmat4;
|
|
|
+ typedef lowp_hmat2x2 hmat2x2;
|
|
|
+ typedef lowp_hmat2x3 hmat2x3;
|
|
|
+ typedef lowp_hmat2x4 hmat2x4;
|
|
|
+ typedef lowp_hmat3x2 hmat3x2;
|
|
|
+ typedef lowp_hmat3x3 hmat3x3;
|
|
|
+ typedef lowp_hmat3x4 hmat3x4;
|
|
|
+ typedef lowp_hmat4x2 hmat4x2;
|
|
|
+ typedef lowp_hmat4x3 hmat4x3;
|
|
|
+ typedef lowp_hmat4x4 hmat4x4;
|
|
|
+#elif(!defined(GLM_PRECISION_HIGHP_HALF) && defined(GLM_PRECISION_MEDIUMP_HALF) && !defined(GLM_PRECISION_LOWP_HALF))
|
|
|
+ typedef mediump_hvec2 hvec2;
|
|
|
+ typedef mediump_hvec3 hvec3;
|
|
|
+ typedef mediump_hvec4 hvec4;
|
|
|
+ typedef mediump_hmat2 hmat2;
|
|
|
+ typedef mediump_hmat3 hmat3;
|
|
|
+ typedef mediump_hmat4 hmat4;
|
|
|
+ typedef mediump_hmat2x2 hmat2x2;
|
|
|
+ typedef mediump_hmat2x3 hmat2x3;
|
|
|
+ typedef mediump_hmat2x4 hmat2x4;
|
|
|
+ typedef mediump_hmat3x2 hmat3x2;
|
|
|
+ typedef mediump_hmat3x3 hmat3x3;
|
|
|
+ typedef mediump_hmat3x4 hmat3x4;
|
|
|
+ typedef mediump_hmat4x2 hmat4x2;
|
|
|
+ typedef mediump_hmat4x3 hmat4x3;
|
|
|
+ typedef mediump_hmat4x4 hmat4x4;
|
|
|
+#else //(!defined(GLM_PRECISION_HIGHP_HALF) && !defined(GLM_PRECISION_MEDIUMP_HALF) && !defined(GLM_PRECISION_LOWP_HALF))
|
|
|
//////////////////////////////////////////////
|
|
|
// Default half precision floating-point numbers.
|
|
|
|
|
|
/// Vector of 2 default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hvec2 hvec2;
|
|
|
+ typedef highp_hvec2 hvec2;
|
|
|
|
|
|
/// Vector of 3 default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hvec3 hvec3;
|
|
|
+ typedef highp_hvec3 hvec3;
|
|
|
|
|
|
/// Vector of 4 default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hvec4 hvec4;
|
|
|
+ typedef highp_hvec4 hvec4;
|
|
|
|
|
|
/// 2 * 2 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat2x2 hmat2;
|
|
|
+ typedef highp_hmat2x2 hmat2;
|
|
|
|
|
|
/// 3 * 3 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat3x3 hmat3;
|
|
|
+ typedef highp_hmat3x3 hmat3;
|
|
|
|
|
|
/// 4 * 4 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat4x4 hmat4;
|
|
|
+ typedef highp_hmat4x4 hmat4;
|
|
|
|
|
|
/// 2 * 2 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat2x2 hmat2x2;
|
|
|
+ typedef highp_hmat2x2 hmat2x2;
|
|
|
|
|
|
/// 2 * 3 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat2x3 hmat2x3;
|
|
|
+ typedef highp_hmat2x3 hmat2x3;
|
|
|
|
|
|
/// 2 * 4 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat2x4 hmat2x4;
|
|
|
+ typedef highp_hmat2x4 hmat2x4;
|
|
|
|
|
|
/// 3 * 2 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat3x2 hmat3x2;
|
|
|
+ typedef highp_hmat3x2 hmat3x2;
|
|
|
|
|
|
/// 3 * 3 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat3x3 hmat3x3;
|
|
|
+ typedef highp_hmat3x3 hmat3x3;
|
|
|
|
|
|
/// 3 * 4 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat3x4 hmat3x4;
|
|
|
+ typedef highp_hmat3x4 hmat3x4;
|
|
|
|
|
|
/// 4 * 2 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat4x2 hmat4x2;
|
|
|
+ typedef highp_hmat4x2 hmat4x2;
|
|
|
|
|
|
/// 4 * 3 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat4x3 hmat4x3;
|
|
|
+ typedef highp_hmat4x3 hmat4x3;
|
|
|
|
|
|
/// 4 * 4 matrix of default half-precision floating-point numbers.
|
|
|
/// @see gtc_half_float
|
|
|
- typedef mediump_hmat4x4 hmat4x4;
|
|
|
-
|
|
|
-#elif(defined(GLM_PRECISION_HIGHP_HALF) && !defined(GLM_PRECISION_MEDIUMP_HALF) && !defined(GLM_PRECISION_LOWP_HALF))
|
|
|
- typedef detail::tvec2<half_t, highp> hvec2;
|
|
|
- typedef detail::tvec3<half_t, highp> hvec3;
|
|
|
- typedef detail::tvec4<half_t, highp> hvec4;
|
|
|
- typedef detail::tmat2x2<half_t, highp> hmat2;
|
|
|
- typedef detail::tmat3x3<half_t, highp> hmat3;
|
|
|
- typedef detail::tmat4x4<half_t, highp> hmat4;
|
|
|
- typedef detail::tmat2x2<half_t, highp> hmat2x2;
|
|
|
- typedef detail::tmat2x3<half_t, highp> hmat2x3;
|
|
|
- typedef detail::tmat2x4<half_t, highp> hmat2x4;
|
|
|
- typedef detail::tmat3x2<half_t, highp> hmat3x2;
|
|
|
- typedef detail::tmat3x3<half_t, highp> hmat3x3;
|
|
|
- typedef detail::tmat3x4<half_t, highp> hmat3x4;
|
|
|
- typedef detail::tmat4x2<half_t, highp> hmat4x2;
|
|
|
- typedef detail::tmat4x3<half_t, highp> hmat4x3;
|
|
|
- typedef detail::tmat4x4<half_t, highp> hmat4x4;
|
|
|
-
|
|
|
-#elif(!defined(GLM_PRECISION_HIGHP_HALF) && defined(GLM_PRECISION_MEDIUMP_HALF) && !defined(GLM_PRECISION_LOWP_HALF))
|
|
|
- typedef detail::tvec2<half_t, mediump> hvec2;
|
|
|
- typedef detail::tvec3<half_t, mediump> hvec3;
|
|
|
- typedef detail::tvec4<half_t, mediump> hvec4;
|
|
|
- typedef detail::tmat2x2<half_t, mediump> hmat2;
|
|
|
- typedef detail::tmat3x3<half_t, mediump> hmat3;
|
|
|
- typedef detail::tmat4x4<half_t, mediump> hmat4;
|
|
|
- typedef detail::tmat2x2<half_t, mediump> hmat2x2;
|
|
|
- typedef detail::tmat2x3<half_t, mediump> hmat2x3;
|
|
|
- typedef detail::tmat2x4<half_t, mediump> hmat2x4;
|
|
|
- typedef detail::tmat3x2<half_t, mediump> hmat3x2;
|
|
|
- typedef detail::tmat3x3<half_t, mediump> hmat3x3;
|
|
|
- typedef detail::tmat3x4<half_t, mediump> hmat3x4;
|
|
|
- typedef detail::tmat4x2<half_t, mediump> hmat4x2;
|
|
|
- typedef detail::tmat4x3<half_t, mediump> hmat4x3;
|
|
|
- typedef detail::tmat4x4<half_t, mediump> hmat4x4;
|
|
|
-
|
|
|
-#elif(!defined(GLM_PRECISION_HIGHP_HALF) && !defined(GLM_PRECISION_MEDIUMP_HALF) && defined(GLM_PRECISION_LOWP_HALF))
|
|
|
- typedef detail::tvec2<half_t, lowp> hvec2;
|
|
|
- typedef detail::tvec3<half_t, lowp> hvec3;
|
|
|
- typedef detail::tvec4<half_t, lowp> hvec4;
|
|
|
- typedef detail::tmat2x2<half_t, lowp> hmat2;
|
|
|
- typedef detail::tmat3x3<half_t, lowp> hmat3;
|
|
|
- typedef detail::tmat4x4<half_t, lowp> hmat4;
|
|
|
- typedef detail::tmat2x2<half_t, lowp> hmat2x2;
|
|
|
- typedef detail::tmat2x3<half_t, lowp> hmat2x3;
|
|
|
- typedef detail::tmat2x4<half_t, lowp> hmat2x4;
|
|
|
- typedef detail::tmat3x2<half_t, lowp> hmat3x2;
|
|
|
- typedef detail::tmat3x3<half_t, lowp> hmat3x3;
|
|
|
- typedef detail::tmat3x4<half_t, lowp> hmat3x4;
|
|
|
- typedef detail::tmat4x2<half_t, lowp> hmat4x2;
|
|
|
- typedef detail::tmat4x3<half_t, lowp> hmat4x3;
|
|
|
- typedef detail::tmat4x4<half_t, lowp> hmat4x4;
|
|
|
-#endif
|
|
|
+ typedef highp_hmat4x4 hmat4x4;
|
|
|
+#endif//GLM_PRECISION
|
|
|
|
|
|
/// Returns the absolute value of a half-precision floating-point value
|
|
|
/// @see gtc_half_float
|