From 443f62bb08db5a108033804740ac30adb7ff8847 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 16 Dec 2012 21:54:54 +0100 Subject: [PATCH 01/38] Fixed issue #19, fixed -0.0 with half --- glm/core/type_half.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glm/core/type_half.inl b/glm/core/type_half.inl index ad54c566..27c49ee6 100644 --- a/glm/core/type_half.inl +++ b/glm/core/type_half.inl @@ -155,7 +155,7 @@ namespace detail // We convert f to a half zero. // - return 0; + return hdata(s); } // From ec05d43d7d69cb1326f308127c769c45c21b4c9b Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 16 Dec 2012 22:05:23 +0100 Subject: [PATCH 02/38] Updated readme for GLM 0.9.4.1 release --- readme.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/readme.txt b/readme.txt index 97ce573e..728a7c17 100644 --- a/readme.txt +++ b/readme.txt @@ -36,6 +36,15 @@ GLM is a header only library, there is nothing to build, just include it. More informations in GLM manual: http://glm.g-truc.net/glm.pdf +================================================================================ +GLM 0.9.4.1: 2012-12-17 +-------------------------------------------------------------------------------- +- Improved half support: -0.0 case and implicit conversions +- Fixed Intel Composer Compiler support on Linux +- Fixed interaction between quaternion and euler angles. +- Fixed GTC_constants build +- Fixed GTX_multiple + ================================================================================ GLM 0.9.4.0: 2012-11-18 -------------------------------------------------------------------------------- From c19dda37972b762aa0dee8444e762bdce9f04759 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Thu, 20 Dec 2012 00:37:28 +0100 Subject: [PATCH 03/38] Fixed quaternion interpolation when cosTheta is close to zero --- glm/gtc/quaternion.hpp | 6 ++++-- glm/gtc/quaternion.inl | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/glm/gtc/quaternion.hpp b/glm/gtc/quaternion.hpp index 44acbebc..5d900739 100644 --- a/glm/gtc/quaternion.hpp +++ b/glm/gtc/quaternion.hpp @@ -22,12 +22,13 @@ /// /// @ref gtc_quaternion /// @file glm/gtc/quaternion.hpp -/// @date 2009-05-21 / 2011-06-05 +/// @date 2009-05-21 / 2012-12-20 /// @author Christophe Riccio /// /// @see core (dependence) /// @see gtc_half_float (dependence) -/// +/// @see gtc_constants (dependence) +/// /// @defgroup gtc_quaternion GLM_GTC_quaternion /// @ingroup gtc /// @@ -42,6 +43,7 @@ // Dependency: #include "../glm.hpp" #include "../gtc/half_float.hpp" +#include "../gtc/constants.hpp" #if(defined(GLM_MESSAGES) && !defined(glm_ext)) # pragma message("GLM: GLM_GTC_quaternion extension included") diff --git a/glm/gtc/quaternion.inl b/glm/gtc/quaternion.inl index 100c26f3..a2469082 100644 --- a/glm/gtc/quaternion.inl +++ b/glm/gtc/quaternion.inl @@ -451,8 +451,20 @@ namespace detail T const & a ) { - T angle = acos(dot(x, y)); - return (glm::sin((T(1) - a) * angle) * x + glm::sin(a * angle) * y) / glm::sin(angle); + T cosTheta = dot(x, y); + if(cosTheta <= epsilon()) + { + return detail::tquat( + mix(x.x, y.x, a), + mix(x.y, y.y, a), + mix(x.z, y.z, a), + mix(x.w, y.w, a)); + } + else + { + T angle = acos(cosTheta); + return (glm::sin((T(1) - a) * angle) * x + glm::sin(a * angle) * y) / glm::sin(angle); + } } template From 0b418467005c0caa0d2e698e3ca375f92f301d70 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Thu, 20 Dec 2012 11:16:12 +0100 Subject: [PATCH 04/38] Fixed speeling --- glm/gtx/norm.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glm/gtx/norm.hpp b/glm/gtx/norm.hpp index 568a147d..311692c7 100644 --- a/glm/gtx/norm.hpp +++ b/glm/gtx/norm.hpp @@ -31,7 +31,7 @@ /// @defgroup gtx_norm GLM_GTX_norm /// @ingroup gtx /// -/// @brief Various way to compute vector norms. +/// @brief Various ways to compute vector norms. /// /// need to be included to use these functionalities. /////////////////////////////////////////////////////////////////////////////////// From 560b474008c4ffcf8ec9d7c9f26133509e090c47 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Thu, 20 Dec 2012 18:13:04 +0100 Subject: [PATCH 05/38] Fixed quat slerp using mix function when cosTheta close to 1 --- glm/gtc/quaternion.inl | 28 ++++++++++++++-------------- readme.txt | 1 + 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/glm/gtc/quaternion.inl b/glm/gtc/quaternion.inl index a2469082..a0e5470d 100644 --- a/glm/gtc/quaternion.inl +++ b/glm/gtc/quaternion.inl @@ -451,20 +451,20 @@ namespace detail T const & a ) { - T cosTheta = dot(x, y); - if(cosTheta <= epsilon()) - { - return detail::tquat( - mix(x.x, y.x, a), - mix(x.y, y.y, a), - mix(x.z, y.z, a), - mix(x.w, y.w, a)); - } - else - { - T angle = acos(cosTheta); - return (glm::sin((T(1) - a) * angle) * x + glm::sin(a * angle) * y) / glm::sin(angle); - } + T cosTheta = dot(x, y); + if(glm::abs(cosTheta - T(1)) <= epsilon()) + { + return detail::tquat( + mix(x.x, y.x, a), + mix(x.y, y.y, a), + mix(x.z, y.z, a), + mix(x.w, y.w, a)); + } + else + { + T angle = acos(cosTheta); + return (glm::sin((T(1) - a) * angle) * x + glm::sin(a * angle) * y) / glm::sin(angle); + } } template diff --git a/readme.txt b/readme.txt index 728a7c17..61032d51 100644 --- a/readme.txt +++ b/readme.txt @@ -44,6 +44,7 @@ GLM 0.9.4.1: 2012-12-17 - Fixed interaction between quaternion and euler angles. - Fixed GTC_constants build - Fixed GTX_multiple +- Fixed quat slerp using mix function when cosTheta close to 1 ================================================================================ GLM 0.9.4.0: 2012-11-18 From 87c90590beda3f611325ec5b426762d60f752a42 Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 07:40:03 +1000 Subject: [PATCH 06/38] Add support for x,y,z,w accessors to fvec4SIMD. This is done via a union. It must be enabled with GLM_SIMD_ENABLE_XYZW_UNION. A nameless struct/union warning in VC (C4201) is explicitly disabled with the "pragma warning(push/pop)" system. Allowing xyzw access makes it much easier to toggle between SIMD and non-SIMD builds. --- glm/gtx/simd_vec4.hpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/glm/gtx/simd_vec4.hpp b/glm/gtx/simd_vec4.hpp index d18fbb8e..3e36cc91 100644 --- a/glm/gtx/simd_vec4.hpp +++ b/glm/gtx/simd_vec4.hpp @@ -54,6 +54,14 @@ # pragma message("GLM: GLM_GTX_simd_vec4 extension included") #endif + +// Warning silencer for nameless struct/union. +#if (GLM_COMPILER & GLM_COMPILER_VC) +# pragma warning(push) +# pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union +#endif + + namespace glm{ namespace detail { @@ -69,7 +77,15 @@ namespace detail typedef fvec4SIMD type; typedef tvec4 bool_type; - __m128 Data; +#ifdef GLM_SIMD_ENABLE_XYZW_UNION + union + { + __m128 Data; + struct {float x, y, z, w;}; + }; +#else + __m128 Data; +#endif ////////////////////////////////////// // Implicit basic constructors @@ -490,6 +506,12 @@ namespace detail #include "simd_vec4.inl" + +#if (GLM_COMPILER & GLM_COMPILER_VC) +# pragma warning(pop) +#endif + + #endif//(GLM_ARCH != GLM_ARCH_PURE) #endif//GLM_GTX_simd_vec4 From efff3add871f9775e19de1f7f947311ad85fea66 Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 07:49:49 +1000 Subject: [PATCH 07/38] Add support for doing a (0.0, 0.0, 0.0, 0.0) initialization in the default constructor of fvec4SIMD(). This is disabled by default, but enabled with GLM_SIMD_ENABLE_DEFAULT_INIT. This makes toggling between SIMD and non-SIMD builds a bit easier. --- glm/gtx/simd_vec4.inl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/glm/gtx/simd_vec4.inl b/glm/gtx/simd_vec4.inl index 321ce4f4..005aa7dd 100644 --- a/glm/gtx/simd_vec4.inl +++ b/glm/gtx/simd_vec4.inl @@ -20,6 +20,9 @@ struct mask // Implicit basic constructors GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD() +#ifdef GLM_SIMD_ENABLE_DEFAULT_INIT + : Data(_mm_set_ps(0.0f, 0.0f, 0.0f, 0.0f)) +#endif {} GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(__m128 const & Data) : From 3681cd35234cde0c82ee26383cac95393a779a0a Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 07:55:39 +1000 Subject: [PATCH 08/38] Add support for doing an identity initialization in the default constructor of fmat4x4SIMD(). This is disabled by default and enabled with GLM_SIMD_ENABLE_DEFAULT_INIT. It makes toggling between SIMD and non-SIMD builds a bit easier. --- glm/gtx/simd_mat4.inl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/glm/gtx/simd_mat4.inl b/glm/gtx/simd_mat4.inl index 4592d0f6..c748098b 100644 --- a/glm/gtx/simd_mat4.inl +++ b/glm/gtx/simd_mat4.inl @@ -26,7 +26,14 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::size_type fmat4x4SIMD::row_size() } GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD() -{} +{ +#ifndef GLM_SIMD_ENABLE_DEFAULT_INIT + this->Data[0] = fvec4SIMD(1.0f, 0, 0, 0); + this->Data[1] = fvec4SIMD(0, 1.0f, 0, 0); + this->Data[2] = fvec4SIMD(0, 0, 1.0f, 0); + this->Data[3] = fvec4SIMD(0, 0, 0, 1.0f); +#endif +} GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD(float const & s) { From 60c3d3c94375a541eeb0502909055c18228b89b5 Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 08:12:30 +1000 Subject: [PATCH 09/38] Improve const-correctness in instrinsic_matrix.inl. --- glm/core/intrinsic_matrix.inl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/glm/core/intrinsic_matrix.inl b/glm/core/intrinsic_matrix.inl index 6f0fdb7f..3891b80d 100644 --- a/glm/core/intrinsic_matrix.inl +++ b/glm/core/intrinsic_matrix.inl @@ -46,7 +46,7 @@ GLM_FUNC_QUALIFIER matType sse_comp_mul_ps out[3] = _mm_mul_ps(in1[3], in2[3]); } -GLM_FUNC_QUALIFIER void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]) +GLM_FUNC_QUALIFIER void sse_add_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4]) { { out[0] = _mm_add_ps(in1[0], in2[0]); @@ -56,7 +56,7 @@ GLM_FUNC_QUALIFIER void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]) } } -GLM_FUNC_QUALIFIER void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]) +GLM_FUNC_QUALIFIER void sse_sub_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4]) { { out[0] = _mm_sub_ps(in1[0], in2[0]); @@ -66,7 +66,7 @@ GLM_FUNC_QUALIFIER void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]) } } -GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 m[4], __m128 v) +GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 const m[4], __m128 v) { __m128 v0 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(0, 0, 0, 0)); __m128 v1 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(1, 1, 1, 1)); @@ -85,7 +85,7 @@ GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 m[4], __m128 v) return a2; } -GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 v, __m128 m[4]) +GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 v, __m128 const m[4]) { __m128 i0 = m[0]; __m128 i1 = m[1]; From a4ea111417b8eff1a591e978e642dfe4f6e5b77a Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 08:19:36 +1000 Subject: [PATCH 10/38] Add a new constructor to fmat4x4SIMD that takes a __m128[4]. This is used in a future commit. --- glm/gtx/simd_mat4.hpp | 2 ++ glm/gtx/simd_mat4.inl | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/glm/gtx/simd_mat4.hpp b/glm/gtx/simd_mat4.hpp index 22f28279..2a1b9ff4 100644 --- a/glm/gtx/simd_mat4.hpp +++ b/glm/gtx/simd_mat4.hpp @@ -91,6 +91,8 @@ namespace detail fvec4SIMD const & v3); explicit fmat4x4SIMD( tmat4x4 const & m); + explicit fmat4x4SIMD( + __m128 const in[4]); // Conversions //template diff --git a/glm/gtx/simd_mat4.inl b/glm/gtx/simd_mat4.inl index c748098b..6644c7fa 100644 --- a/glm/gtx/simd_mat4.inl +++ b/glm/gtx/simd_mat4.inl @@ -82,6 +82,17 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD this->Data[3] = fvec4SIMD(m[3]); } +GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD +( + __m128 const in[4] +) +{ + this->Data[0] = in[0]; + this->Data[1] = in[1]; + this->Data[2] = in[2]; + this->Data[3] = in[3]; +} + ////////////////////////////////////// // Accesses From c6c8dd15f284efb0af4617464ad3ac50499671ee Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 08:28:34 +1000 Subject: [PATCH 11/38] Add missing implementation of fmat4x4SIMD binary operators. --- glm/gtx/simd_mat4.inl | 222 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) diff --git a/glm/gtx/simd_mat4.inl b/glm/gtx/simd_mat4.inl index 6644c7fa..3c6c48d1 100644 --- a/glm/gtx/simd_mat4.inl +++ b/glm/gtx/simd_mat4.inl @@ -250,6 +250,228 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-- () return *this; } + +////////////////////////////////////////////////////////////// +// Binary operators + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator+ +( + const fmat4x4SIMD &m, + float const & s +) +{ + return detail::fmat4x4SIMD + ( + m[0] + s, + m[1] + s, + m[2] + s, + m[3] + s + ); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator+ +( + float const & s, + const fmat4x4SIMD &m +) +{ + return detail::fmat4x4SIMD + ( + m[0] + s, + m[1] + s, + m[2] + s, + m[3] + s + ); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator+ +( + const fmat4x4SIMD &m1, + const fmat4x4SIMD &m2 +) +{ + return detail::fmat4x4SIMD + ( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2], + m1[3] + m2[3] + ); +} + + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator- +( + const fmat4x4SIMD &m, + float const & s +) +{ + return detail::fmat4x4SIMD + ( + m[0] - s, + m[1] - s, + m[2] - s, + m[3] - s + ); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator- +( + float const & s, + const fmat4x4SIMD &m +) +{ + return detail::fmat4x4SIMD + ( + s - m[0], + s - m[1], + s - m[2], + s - m[3] + ); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator- +( + const fmat4x4SIMD &m1, + const fmat4x4SIMD &m2 +) +{ + return detail::fmat4x4SIMD + ( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2], + m1[3] - m2[3] + ); +} + + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator* +( + const fmat4x4SIMD &m, + float const & s +) +{ + return detail::fmat4x4SIMD + ( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s + ); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator* +( + float const & s, + const fmat4x4SIMD &m +) +{ + return detail::fmat4x4SIMD + ( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s + ); +} + +GLM_FUNC_QUALIFIER fvec4SIMD operator* +( + const fmat4x4SIMD &m, + fvec4SIMD const & v +) +{ + return sse_mul_ps(&m.Data[0].Data, v.Data); +} + +GLM_FUNC_QUALIFIER fvec4SIMD operator* +( + fvec4SIMD const & v, + const fmat4x4SIMD &m +) +{ + return sse_mul_ps(v.Data, &m.Data[0].Data); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator* +( + const fmat4x4SIMD &m1, + const fmat4x4SIMD &m2 +) +{ + fmat4x4SIMD result; + sse_mul_ps(&m1.Data[0].Data, &m2.Data[0].Data, &result.Data[0].Data); + + return result; +} + + + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator/ +( + const fmat4x4SIMD &m, + float const & s +) +{ + return detail::fmat4x4SIMD + ( + m[0] / s, + m[1] / s, + m[2] / s, + m[3] / s + ); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator/ +( + float const & s, + const fmat4x4SIMD &m +) +{ + return detail::fmat4x4SIMD + ( + s / m[0], + s / m[1], + s / m[2], + s / m[3] + ); +} + +GLM_FUNC_QUALIFIER fvec4SIMD operator/ +( + const fmat4x4SIMD &m, + fvec4SIMD const & v +) +{ + return inverse(m) * v; +} + +GLM_FUNC_QUALIFIER fvec4SIMD operator/ +( + fvec4SIMD const & v, + const fmat4x4SIMD &m +) +{ + return v * inverse(m); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD operator/ +( + const fmat4x4SIMD &m1, + const fmat4x4SIMD &m2 +) +{ + __m128 result[4]; + __m128 inv[4]; + + sse_inverse_ps(&m2.Data[0].Data, inv); + sse_mul_ps(&m1.Data[0].Data, inv, result); + + return fmat4x4SIMD(result); +} + + }//namespace detail GLM_FUNC_QUALIFIER detail::tmat4x4 mat4_cast From 18c616528a90c53054342e10669e3ad370dce43b Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 08:33:14 +1000 Subject: [PATCH 12/38] Add missing implementations of fmat4x4SIMD unary operators. --- glm/gtx/simd_mat4.inl | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/glm/gtx/simd_mat4.inl b/glm/gtx/simd_mat4.inl index 3c6c48d1..54d12425 100644 --- a/glm/gtx/simd_mat4.inl +++ b/glm/gtx/simd_mat4.inl @@ -472,6 +472,52 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD operator/ } +////////////////////////////////////////////////////////////// +// Unary constant operators +GLM_FUNC_QUALIFIER fmat4x4SIMD const operator- +( + fmat4x4SIMD const & m +) +{ + return detail::fmat4x4SIMD + ( + -m[0], + -m[1], + -m[2], + -m[3] + ); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD const operator-- +( + fmat4x4SIMD const & m, + int +) +{ + return detail::fmat4x4SIMD + ( + m[0] - 1.0f, + m[1] - 1.0f, + m[2] - 1.0f, + m[3] - 1.0f + ); +} + +GLM_FUNC_QUALIFIER fmat4x4SIMD const operator++ +( + fmat4x4SIMD const & m, + int +) +{ + return detail::fmat4x4SIMD + ( + m[0] + 1.0f, + m[1] + 1.0f, + m[2] + 1.0f, + m[3] + 1.0f + ); +} + }//namespace detail GLM_FUNC_QUALIFIER detail::tmat4x4 mat4_cast From 82832839c2bb8929957f80f86e8aa75e0aedf982 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 21 Dec 2012 00:17:23 +0100 Subject: [PATCH 13/38] Resolved issue #24, incorrect assert messages for step and smoothstep --- glm/core/func_common.inl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glm/core/func_common.inl b/glm/core/func_common.inl index 14504d18..9c1c0470 100644 --- a/glm/core/func_common.inl +++ b/glm/core/func_common.inl @@ -615,7 +615,7 @@ namespace detail genType const & x ) { - GLM_STATIC_ASSERT(detail::type::is_float, "'mix' only accept floating-point inputs"); + GLM_STATIC_ASSERT(detail::type::is_float, "'step' only accept floating-point inputs"); return x < edge ? genType(0) : genType(1); } @@ -707,7 +707,7 @@ namespace detail genType const & x ) { - GLM_STATIC_ASSERT(detail::type::is_float, "'mix' only accept floating-point inputs"); + GLM_STATIC_ASSERT(detail::type::is_float, "'smoothstep' only accept floating-point inputs"); genType tmp = clamp((x - edge0) / (edge1 - edge0), genType(0), genType(1)); return tmp * tmp * (genType(3) - genType(2) * tmp); From b5274bfa526c27fa8ae9151c21c191d534cd8812 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 21 Dec 2012 00:18:34 +0100 Subject: [PATCH 14/38] Updated readme.txt for GLM 0.9.4.1 release --- readme.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/readme.txt b/readme.txt index 61032d51..38817e59 100644 --- a/readme.txt +++ b/readme.txt @@ -37,14 +37,16 @@ More informations in GLM manual: http://glm.g-truc.net/glm.pdf ================================================================================ -GLM 0.9.4.1: 2012-12-17 +GLM 0.9.4.1: 2012-12-21 -------------------------------------------------------------------------------- - Improved half support: -0.0 case and implicit conversions - Fixed Intel Composer Compiler support on Linux -- Fixed interaction between quaternion and euler angles. +- Fixed interaction between quaternion and euler angles - Fixed GTC_constants build - Fixed GTX_multiple - Fixed quat slerp using mix function when cosTheta close to 1 +- Improved fvec4SIMD and fmat4x4SIMD implementations +- Fixed assert messages ================================================================================ GLM 0.9.4.0: 2012-11-18 From f206f39c3a2d7941c96f7c7ff0bc4d2253ebd935 Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 10:38:46 +1000 Subject: [PATCH 15/38] Fix MinGW compilation error. --- glm/core/setup.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/glm/core/setup.hpp b/glm/core/setup.hpp index 7c051199..a52e9de9 100644 --- a/glm/core/setup.hpp +++ b/glm/core/setup.hpp @@ -536,6 +536,13 @@ # define GLM_ARCH GLM_ARCH_PURE #endif +// With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is +// that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems. +// To fix, we just explicitly include intrin.h here. +#if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE) +# include +#endif + //#if(GLM_ARCH != GLM_ARCH_PURE) #if(GLM_ARCH & GLM_ARCH_AVX2) # include From 7b6fb9f635c42b6361071c273a3cbbc44994c382 Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 21 Dec 2012 10:48:10 +1000 Subject: [PATCH 16/38] Fix GCC warnings. --- glm/core/intrinsic_common.inl | 2 +- glm/gtx/simd_mat4.inl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/glm/core/intrinsic_common.inl b/glm/core/intrinsic_common.inl index 5890fc64..060239b5 100644 --- a/glm/core/intrinsic_common.inl +++ b/glm/core/intrinsic_common.inl @@ -62,7 +62,7 @@ namespace detail{ static const ieee754_QNAN absMask; static const __m128 GLM_VAR_USED abs4Mask = _mm_set_ps1(absMask.f); - static const __m128 GLM_VAR_USED _epi32_sign_mask = _mm_castsi128_ps(_mm_set1_epi32(0x80000000)); + static const __m128 GLM_VAR_USED _epi32_sign_mask = _mm_castsi128_ps(_mm_set1_epi32(static_cast(0x80000000))); //static const __m128 GLM_VAR_USED _epi32_inv_sign_mask = _mm_castsi128_ps(_mm_set1_epi32(0x7FFFFFFF)); //static const __m128 GLM_VAR_USED _epi32_mant_mask = _mm_castsi128_ps(_mm_set1_epi32(0x7F800000)); //static const __m128 GLM_VAR_USED _epi32_inv_mant_mask = _mm_castsi128_ps(_mm_set1_epi32(0x807FFFFF)); diff --git a/glm/gtx/simd_mat4.inl b/glm/gtx/simd_mat4.inl index 54d12425..d813aec6 100644 --- a/glm/gtx/simd_mat4.inl +++ b/glm/gtx/simd_mat4.inl @@ -102,7 +102,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD & fmat4x4SIMD::operator[] ) { assert( - i >= fmat4x4SIMD::size_type(0) && + //i >= fmat4x4SIMD::size_type(0) && i < fmat4x4SIMD::col_size()); return this->Data[i]; @@ -114,7 +114,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD const & fmat4x4SIMD::operator[] ) const { assert( - i >= fmat4x4SIMD::size_type(0) && + //i >= fmat4x4SIMD::size_type(0) && i < fmat4x4SIMD::col_size()); return this->Data[i]; From 6f22430bbc7f290d4f907f6adffb72aa041f0f00 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 21 Dec 2012 02:21:21 +0100 Subject: [PATCH 17/38] Resolved quaternion slerp interpolation, implemented by mix function --- glm/gtc/quaternion.inl | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/glm/gtc/quaternion.inl b/glm/gtc/quaternion.inl index a0e5470d..538fbb07 100644 --- a/glm/gtc/quaternion.inl +++ b/glm/gtc/quaternion.inl @@ -451,19 +451,33 @@ namespace detail T const & a ) { + detail::tquat z = y; + T cosTheta = dot(x, y); - if(glm::abs(cosTheta - T(1)) <= epsilon()) + + // If cosTheta < 0, the interpolation will take the long way around the sphere. + // To fix this, one quat must be negated. + if (cosTheta < T(0)) { + z = -y; + cosTheta = -cosTheta; + } + + // Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator + if(cosTheta > T(1) - epsilon()) + { + // Linear interpolation return detail::tquat( + mix(x.w, y.w, a), mix(x.x, y.x, a), mix(x.y, y.y, a), - mix(x.z, y.z, a), - mix(x.w, y.w, a)); + mix(x.z, y.z, a)); } else { + // Essential Mathematics, page 467 T angle = acos(cosTheta); - return (glm::sin((T(1) - a) * angle) * x + glm::sin(a * angle) * y) / glm::sin(angle); + return (sin((T(1) - a) * angle) * x + sin(a * angle) * z) / sin(angle); } } From 912d1b1e81a7ecd632b0a4e8f92b0c1eeac692b5 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 21 Dec 2012 23:05:10 +0100 Subject: [PATCH 18/38] Added slerp, lerp and mix functions for quaternions. Added, fixed and clarified documentation. --- glm/gtc/matrix_transform.hpp | 2 +- glm/gtc/quaternion.hpp | 37 +++++++++++++++++++++++++++++++-- glm/gtc/quaternion.inl | 40 ++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 3 deletions(-) diff --git a/glm/gtc/matrix_transform.hpp b/glm/gtc/matrix_transform.hpp index f39e9c0f..128209af 100644 --- a/glm/gtc/matrix_transform.hpp +++ b/glm/gtc/matrix_transform.hpp @@ -88,7 +88,7 @@ namespace glm /// @param m Input matrix multiplied by this rotation matrix. /// @param angle Rotation angle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. /// @param axis Rotation axis, recommanded to be normalized. - /// @tparam T Value type used to build the matrix. Currently supported: half (not recommanded), float or double. + /// @tparam T Value type used to build the matrix. Supported: half, float or double. /// @see gtc_matrix_transform /// @see gtx_transform /// @see - rotate(T angle, T x, T y, T z) diff --git a/glm/gtc/quaternion.hpp b/glm/gtc/quaternion.hpp index 5d900739..5d880321 100644 --- a/glm/gtc/quaternion.hpp +++ b/glm/gtc/quaternion.hpp @@ -171,15 +171,48 @@ namespace detail detail::tquat const & q1, detail::tquat const & q2); - /// Returns a SLERP interpolated quaternion of x and y according a. + /// Spherical linear interpolation of two quaternions. + /// The interpolation is oriented and the rotation is performed at constant speed. /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// @tparam T Value type used to build the quaternion. Supported: half, float or double. /// @see gtc_quaternion template detail::tquat mix( detail::tquat const & x, detail::tquat const & y, T const & a); - + + /// Linear interpolation of two quaternions. + /// The interpolation is oriented. + /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// @tparam T Value type used to build the quaternion. Supported: half, float or double. + /// @see gtc_quaternion + template + detail::tquat lerp( + detail::tquat const & x, + detail::tquat const & y, + T const & a); + + /// Spherical linear interpolation of two quaternions. + /// The interpolation always take the short path and the rotation is performed at constant speed. + /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// @tparam T Value type used to build the quaternion. Supported: half, float or double. + /// @see gtc_quaternion + template + detail::tquat slerp( + detail::tquat const & x, + detail::tquat const & y, + T const & a); + /// Returns the q conjugate. /// /// @see gtc_quaternion diff --git a/glm/gtc/quaternion.inl b/glm/gtc/quaternion.inl index 538fbb07..36385aae 100644 --- a/glm/gtc/quaternion.inl +++ b/glm/gtc/quaternion.inl @@ -443,6 +443,7 @@ namespace detail return normalize(beta * x + alpha * y); } */ + template GLM_FUNC_QUALIFIER detail::tquat mix ( @@ -450,6 +451,45 @@ namespace detail detail::tquat const & y, T const & a ) + { + T cosTheta = dot(x, y); + + // Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator + if(cosTheta > T(1) - epsilon()) + { + // Linear interpolation + return detail::tquat( + mix(x.w, y.w, a), + mix(x.x, y.x, a), + mix(x.y, y.y, a), + mix(x.z, y.z, a)); + } + else + { + // Essential Mathematics, page 467 + T angle = acos(cosTheta); + return (sin((T(1) - a) * angle) * x + sin(a * angle) * z) / sin(angle); + } + } + + template + GLM_FUNC_QUALIFIER detail::tquat lerp + ( + detail::tquat const & x, + detail::tquat const & y, + T const & a + ) + { + return x * (T(1) - a) + (y * a); + } + + template + GLM_FUNC_QUALIFIER detail::tquat slerp + ( + detail::tquat const & x, + detail::tquat const & y, + T const & a + ) { detail::tquat z = y; From 29805391bdda8e2f99a792c9fc29dd0eea0e05a1 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 22 Dec 2012 00:32:07 +0100 Subject: [PATCH 19/38] Added tests for slerp function --- glm/gtc/epsilon.hpp | 20 ++++++------ glm/gtc/epsilon.inl | 30 ------------------ glm/gtc/quaternion.inl | 4 +-- readme.txt | 1 + test/gtc/gtc_quaternion.cpp | 62 +++++++++++++++++++++++++++++++++++++ 5 files changed, 75 insertions(+), 42 deletions(-) diff --git a/glm/gtc/epsilon.hpp b/glm/gtc/epsilon.hpp index aa0d318c..eab8336d 100644 --- a/glm/gtc/epsilon.hpp +++ b/glm/gtc/epsilon.hpp @@ -57,11 +57,11 @@ namespace glm /// Returns the component-wise compare of |x - y| < epsilon. /// @see gtc_epsilon template - typename genType::boolType epsilonEqual( - genType const & x, - genType const & y, - typename genType::value_type const & epsilon); - + typename genType::boolType epsilonEqual( + genType const & x, + genType const & y, + typename genType::value_type const & epsilon); + /// Returns the component-wise compare of |x - y| < epsilon. /// @see gtc_epsilon template @@ -73,11 +73,11 @@ namespace glm /// Returns the component-wise compare of |x - y| < epsilon. /// @see gtc_epsilon template - typename genType::boolType epsilonNotEqual( - genType const & x, - genType const & y, - typename genType::value_type const & epsilon); - + typename genType::boolType epsilonNotEqual( + genType const & x, + genType const & y, + typename genType::value_type const & epsilon); + /// Returns the component-wise compare of |x - y| >= epsilon. /// @see gtc_epsilon template diff --git a/glm/gtc/epsilon.inl b/glm/gtc/epsilon.inl index 754d1413..6faef711 100644 --- a/glm/gtc/epsilon.inl +++ b/glm/gtc/epsilon.inl @@ -269,21 +269,6 @@ namespace glm abs(x.w - y.w) < epsilon); } - template - GLM_FUNC_QUALIFIER detail::tvec4 epsilonEqual - ( - detail::tquat const & x, - detail::tquat const & y, - detail::tquat const & epsilon - ) - { - return detail::tvec4( - abs(x.x - y.x) < epsilon.x, - abs(x.y - y.y) < epsilon.y, - abs(x.z - y.z) < epsilon.z, - abs(x.w - y.w) < epsilon.w); - } - template GLM_FUNC_QUALIFIER detail::tvec4 epsilonNotEqual ( @@ -298,19 +283,4 @@ namespace glm abs(x.z - y.z) >= epsilon, abs(x.w - y.w) >= epsilon); } - - template - GLM_FUNC_QUALIFIER detail::tvec4 epsilonNotEqual - ( - detail::tquat const & x, - detail::tquat const & y, - detail::tquat const & epsilon - ) - { - return detail::tvec4( - abs(x.x - y.x) >= epsilon.x, - abs(x.y - y.y) >= epsilon.y, - abs(x.z - y.z) >= epsilon.z, - abs(x.w - y.w) >= epsilon.w); - } }//namespace glm diff --git a/glm/gtc/quaternion.inl b/glm/gtc/quaternion.inl index 36385aae..1906a16f 100644 --- a/glm/gtc/quaternion.inl +++ b/glm/gtc/quaternion.inl @@ -468,7 +468,7 @@ namespace detail { // Essential Mathematics, page 467 T angle = acos(cosTheta); - return (sin((T(1) - a) * angle) * x + sin(a * angle) * z) / sin(angle); + return (sin((T(1) - a) * angle) * x + sin(a * angle) * y) / sin(angle); } } @@ -658,7 +658,7 @@ namespace detail typename detail::tquat::value_type fourYSquaredMinus1 = m[1][1] - m[0][0] - m[2][2]; typename detail::tquat::value_type fourZSquaredMinus1 = m[2][2] - m[0][0] - m[1][1]; typename detail::tquat::value_type fourWSquaredMinus1 = m[0][0] + m[1][1] + m[2][2]; - + int biggestIndex = 0; typename detail::tquat::value_type fourBiggestSquaredMinus1 = fourWSquaredMinus1; if(fourXSquaredMinus1 > fourBiggestSquaredMinus1) diff --git a/readme.txt b/readme.txt index 38817e59..38d35523 100644 --- a/readme.txt +++ b/readme.txt @@ -47,6 +47,7 @@ GLM 0.9.4.1: 2012-12-21 - Fixed quat slerp using mix function when cosTheta close to 1 - Improved fvec4SIMD and fmat4x4SIMD implementations - Fixed assert messages +- Added slerp and lerp quaternion functions and tests ================================================================================ GLM 0.9.4.0: 2012-11-18 diff --git a/test/gtc/gtc_quaternion.cpp b/test/gtc/gtc_quaternion.cpp index 1de749b9..66f39635 100644 --- a/test/gtc/gtc_quaternion.cpp +++ b/test/gtc/gtc_quaternion.cpp @@ -144,6 +144,67 @@ int test_quat_euler() return Error; } +int test_quat_slerp() +{ + int Error(0); + + float const Epsilon = 0.0001f;//glm::epsilon(); + + float sqrt2 = sqrt(2.0f)/2.0f; + glm::quat id; + glm::quat Y90rot(sqrt2, 0.0f, sqrt2, 0.0f); + glm::quat Y180rot(0.0f, 0.0f, 1.0f, 0.0f); + + // Testing a == 0 + // Must be id + glm::quat id2 = glm::slerp(id, Y90rot, 0.0f); + Error += glm::all(glm::epsilonEqual(id, id2, Epsilon)) ? 0 : 1; + + // Testing a == 1 + // Must be 90° rotation on Y : 0 0.7 0 0.7 + glm::quat Y90rot2 = glm::slerp(id, Y90rot, 1.0f); + Error += glm::all(glm::epsilonEqual(Y90rot, Y90rot2, Epsilon)) ? 0 : 1; + + // Testing standard, easy case + // Must be 45° rotation on Y : 0 0.38 0 0.92 + glm::quat Y45rot1 = glm::slerp(id, Y90rot, 0.5f); + + // Testing reverse case + // Must be 45° rotation on Y : 0 0.38 0 0.92 + glm::quat Ym45rot2 = glm::slerp(Y90rot, id, 0.5f); + + // Testing against full circle around the sphere instead of shortest path + // Must be 45° rotation on Y + // certainly not a 135° rotation + glm::quat Y45rot3 = glm::slerp(id , -Y90rot, 0.5f); + float Y45angle3 = glm::angle(Y45rot3); + Error += glm::epsilonEqual(Y45angle3, 45.f, Epsilon) ? 0 : 1; + Error += glm::all(glm::epsilonEqual(Ym45rot2, Y45rot3, Epsilon)) ? 0 : 1; + + // Same, but inverted + // Must also be 45° rotation on Y : 0 0.38 0 0.92 + // -0 -0.38 -0 -0.92 is ok too + glm::quat Y45rot4 = glm::slerp(-Y90rot, id, 0.5f); + Error += glm::all(glm::epsilonEqual(Ym45rot2, -Y45rot4, Epsilon)) ? 0 : 1; + + // Testing q1 = q2 + // Must be 90° rotation on Y : 0 0.7 0 0.7 + glm::quat Y90rot3 = glm::slerp(Y90rot, Y90rot, 0.5f); + Error += glm::all(glm::epsilonEqual(Y90rot, Y90rot3, Epsilon)) ? 0 : 1; + + // Testing 180° rotation + // Must be 90° rotation on almost any axis that is on the XZ plane + glm::quat XZ90rot = glm::slerp(id, -Y90rot, 0.5f); + float XZ90angle = glm::angle(XZ90rot); // Must be PI/4 = 0.78; + Error += glm::epsilonEqual(XZ90angle, 45.f, Epsilon) ? 0 : 1; + + // Testing almost equal quaternions (this test should pass through the linear interpolation) + // Must be 0 0.00X 0 0.99999 + glm::quat almostid = glm::slerp(id, glm::angleAxis(0.1f, 0.0f, 1.0f, 0.0f), 0.5f); + + return Error; +} + int test_quat_type() { glm::quat A; @@ -163,6 +224,7 @@ int main() Error += test_quat_mix(); Error += test_quat_normalize(); Error += test_quat_euler(); + Error += test_quat_slerp(); return Error; } From ad36b36b5be49f2b2fab1333a7439f05e49dcaaa Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 22 Dec 2012 01:32:33 +0100 Subject: [PATCH 20/38] Updated mix and lerp documentation --- glm/gtc/quaternion.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/glm/gtc/quaternion.hpp b/glm/gtc/quaternion.hpp index 5d880321..8e36a854 100644 --- a/glm/gtc/quaternion.hpp +++ b/glm/gtc/quaternion.hpp @@ -173,12 +173,14 @@ namespace detail /// Spherical linear interpolation of two quaternions. /// The interpolation is oriented and the rotation is performed at constant speed. + /// For short path spherical linear interpolation, use the slerp function. /// /// @param x A quaternion /// @param y A quaternion /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. /// @tparam T Value type used to build the quaternion. Supported: half, float or double. /// @see gtc_quaternion + /// @see - slerp(detail::tquat const & x, detail::tquat const & y, T const & a) template detail::tquat mix( detail::tquat const & x, @@ -190,7 +192,7 @@ namespace detail /// /// @param x A quaternion /// @param y A quaternion - /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// @param a Interpolation factor. The interpolation is defined in the range [0, 1]. /// @tparam T Value type used to build the quaternion. Supported: half, float or double. /// @see gtc_quaternion template From ac59f0e4c5ee9d9f1980643a5dd473ad1f0f262c Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 22 Dec 2012 02:23:39 +0100 Subject: [PATCH 21/38] Updated manual, fixing issue #16 --- doc/glm.pdf | Bin 1067183 -> 1067514 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/glm.pdf b/doc/glm.pdf index bf521798ad766bab76b2dab1c00ca5e5a25ac93f..4183417b038541daabc61e36daf69aebde816884 100644 GIT binary patch delta 115597 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
2l)$89p-FzpOx&k2i)Y>Vbx`6lUj%ScFz+I} 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%0AQbso~MFC-Z5xb&*|kHsQyv;(Qo~n1c1^} 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 delta 114807 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ⅅKrUT}NepsJ_o|s2y@PYB`OX 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
120  _swizzle_base2& operator= (const VecType& that)
121  {
122  struct op {
-
123  void operator() (value_type& e, value_type& t) { e = t; }
+
123  void operator() (value_type& e, value_type& t) { e = t; }
124  };
125  _apply_op(that, op());
126  return *this;
@@ -176,7 +176,7 @@
129  void operator -= (const VecType& that)
130  {
131  struct op {
-
132  void operator() (value_type& e, value_type& t) { e -= t; }
+
132  void operator() (value_type& e, value_type& t) { e -= t; }
133  };
134  _apply_op(that, op());
135  }
@@ -184,7 +184,7 @@
137  void operator += (const VecType& that)
138  {
139  struct op {
-
140  void operator() (value_type& e, value_type& t) { e += t; }
+
140  void operator() (value_type& e, value_type& t) { e += t; }
141  };
142  _apply_op(that, op());
143  }
@@ -192,7 +192,7 @@
145  void operator *= (const VecType& that)
146  {
147  struct op {
-
148  void operator() (value_type& e, value_type& t) { e *= t; }
+
148  void operator() (value_type& e, value_type& t) { e *= t; }
149  };
150  _apply_op(that, op());
151  }
@@ -200,7 +200,7 @@
153  void operator /= (const VecType& that)
154  {
155  struct op {
-
156  void operator() (value_type& e, value_type& t) { e /= t; }
+
156  void operator() (value_type& e, value_type& t) { e /= t; }
157  };
158  _apply_op(that, op());
159  }
diff --git a/doc/api/a00013.html b/doc/api/a00013.html index 97d6ced0..1054a4b8 100644 --- a/doc/api/a00013.html +++ b/doc/api/a00013.html @@ -366,10 +366,9 @@ template<typename T > GLM_FUNC_QUALIFIER
detail::tvec4< T > saturate (const detail::tvec4< T > &x)   - -template<typename T > -GLM_FUNC_QUALIFIER T slerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a) -  +template<typename T > +detail::tquat< T > slerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a) + 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

diff --git a/doc/api/a00013_source.html b/doc/api/a00013_source.html index 60e50bcc..fd2f72cf 100644 --- a/doc/api/a00013_source.html +++ b/doc/api/a00013_source.html @@ -107,15 +107,15 @@
60 namespace glm
61 {
64 
-
65  template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
-
66  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> lerp(const detail::tvec2<T>& x, const detail::tvec2<T>& y, T a){return mix(x, y, a);}
-
67  template <typename T> GLM_FUNC_QUALIFIER detail::tvec3<T> lerp(const detail::tvec3<T>& x, const detail::tvec3<T>& y, T a){return mix(x, y, a);}
-
68  template <typename T> GLM_FUNC_QUALIFIER detail::tvec4<T> lerp(const detail::tvec4<T>& x, const detail::tvec4<T>& y, T a){return mix(x, y, a);}
-
69  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> lerp(const detail::tvec2<T>& x, const detail::tvec2<T>& y, const detail::tvec2<T>& a){return mix(x, y, a);}
-
70  template <typename T> GLM_FUNC_QUALIFIER detail::tvec3<T> lerp(const detail::tvec3<T>& x, const detail::tvec3<T>& y, const detail::tvec3<T>& a){return mix(x, y, a);}
-
71  template <typename T> GLM_FUNC_QUALIFIER detail::tvec4<T> lerp(const detail::tvec4<T>& x, const detail::tvec4<T>& y, const detail::tvec4<T>& a){return mix(x, y, a);}
+
65  template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
+
66  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> lerp(const detail::tvec2<T>& x, const detail::tvec2<T>& y, T a){return mix(x, y, a);}
+
67  template <typename T> GLM_FUNC_QUALIFIER detail::tvec3<T> lerp(const detail::tvec3<T>& x, const detail::tvec3<T>& y, T a){return mix(x, y, a);}
+
68  template <typename T> GLM_FUNC_QUALIFIER detail::tvec4<T> lerp(const detail::tvec4<T>& x, const detail::tvec4<T>& y, T a){return mix(x, y, a);}
+
69  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> lerp(const detail::tvec2<T>& x, const detail::tvec2<T>& y, const detail::tvec2<T>& a){return mix(x, y, a);}
+
70  template <typename T> GLM_FUNC_QUALIFIER detail::tvec3<T> lerp(const detail::tvec3<T>& x, const detail::tvec3<T>& y, const detail::tvec3<T>& a){return mix(x, y, a);}
+
71  template <typename T> GLM_FUNC_QUALIFIER detail::tvec4<T> lerp(const detail::tvec4<T>& x, const detail::tvec4<T>& y, const detail::tvec4<T>& a){return mix(x, y, a);}
72 
-
73  template <typename T> GLM_FUNC_QUALIFIER T slerp(detail::tquat<T> const & x, detail::tquat<T> const & y, T const & a){return mix(x, y, a);}
+
73  template <typename T> GLM_FUNC_QUALIFIER T slerp(detail::tquat<T> const & x, detail::tquat<T> const & y, T const & a){return mix(x, y, a);}
74 
75  template <typename T> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));}
76  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> saturate(const detail::tvec2<T>& x){return clamp(x, T(0), T(1));}
diff --git a/doc/api/a00015.html b/doc/api/a00015.html index a2ad98e0..30145b17 100644 --- a/doc/api/a00015.html +++ b/doc/api/a00015.html @@ -52,81 +52,81 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

template<typename T >
GLM_CONSTEXPR T e ()
 
template<typename T >
GLM_CONSTEXPR T epsilon ()
 
template<typename T >
GLM_CONSTEXPR T euler ()
 
template<typename T >
GLM_CONSTEXPR T golden_ratio ()
 
template<typename T >
GLM_CONSTEXPR T half_pi ()
 
template<typename T >
GLM_CONSTEXPR T ln_ln_two ()
 
template<typename T >
GLM_CONSTEXPR T ln_ten ()
 
template<typename T >
GLM_CONSTEXPR T ln_two ()
 
template<typename T >
GLM_CONSTEXPR T one ()
 
template<typename T >
GLM_CONSTEXPR T one_over_pi ()
 
template<typename T >
GLM_CONSTEXPR T one_over_root_two ()
 
template<typename T >
GLM_CONSTEXPR T pi ()
 
template<typename T >
GLM_CONSTEXPR T quarter_pi ()
 
template<typename T >
GLM_CONSTEXPR T root_five ()
 
template<typename T >
GLM_CONSTEXPR T root_half_pi ()
 
template<typename T >
GLM_CONSTEXPR T root_ln_four ()
 
template<typename T >
GLM_CONSTEXPR T root_pi ()
 
template<typename T >
GLM_CONSTEXPR T root_three ()
 
template<typename T >
GLM_CONSTEXPR T root_two ()
 
template<typename T >
GLM_CONSTEXPR T root_two_pi ()
 
template<typename T >
GLM_CONSTEXPR T third ()
 
template<typename T >
GLM_CONSTEXPR T two_over_pi ()
 
template<typename T >
GLM_CONSTEXPR T two_over_root_pi ()
 
template<typename T >
GLM_CONSTEXPR T two_thirds ()
 
template<typename T >
GLM_CONSTEXPR T zero ()
 
template<typename genType >
genType e ()
 
template<typename genType >
genType epsilon ()
 
template<typename genType >
genType euler ()
 
template<typename genType >
genType golden_ratio ()
 
template<typename genType >
genType half_pi ()
 
template<typename genType >
genType ln_ln_two ()
 
template<typename genType >
genType ln_ten ()
 
template<typename genType >
genType ln_two ()
 
template<typename genType >
genType one ()
 
template<typename genType >
genType one_over_pi ()
 
template<typename genType >
genType one_over_root_two ()
 
template<typename genType >
genType pi ()
 
template<typename genType >
genType quarter_pi ()
 
template<typename genType >
genType root_five ()
 
template<typename genType >
genType root_half_pi ()
 
template<typename genType >
genType root_ln_four ()
 
template<typename genType >
genType root_pi ()
 
template<typename genType >
genType root_three ()
 
template<typename genType >
genType root_two ()
 
template<typename genType >
genType root_two_pi ()
 
template<typename genType >
genType third ()
 
template<typename genType >
genType two_over_pi ()
 
template<typename genType >
genType two_over_root_pi ()
 
template<typename genType >
genType two_thirds ()
 
template<typename genType >
genType zero ()
 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

diff --git a/doc/api/a00015_source.html b/doc/api/a00015_source.html index baedf1ca..0934f8e6 100644 --- a/doc/api/a00015_source.html +++ b/doc/api/a00015_source.html @@ -97,80 +97,80 @@
50 namespace glm
51 {
54 
-
58  template <typename T>
-
59  GLM_CONSTEXPR T epsilon();
+
58  template <typename genType>
+
59  genType epsilon();
60 
-
63  template <typename T>
-
64  GLM_CONSTEXPR T zero();
+
63  template <typename genType>
+
64  genType zero();
65 
-
68  template <typename T>
-
69  GLM_CONSTEXPR T one();
+
68  template <typename genType>
+
69  genType one();
70 
-
73  template <typename T>
-
74  GLM_CONSTEXPR T pi();
+
73  template <typename genType>
+
74  genType pi();
75 
-
78  template <typename T>
-
79  GLM_CONSTEXPR T root_pi();
+
78  template <typename genType>
+
79  genType root_pi();
80 
-
83  template <typename T>
-
84  GLM_CONSTEXPR T half_pi();
+
83  template <typename genType>
+
84  genType half_pi();
85 
-
88  template <typename T>
-
89  GLM_CONSTEXPR T quarter_pi();
+
88  template <typename genType>
+
89  genType quarter_pi();
90 
-
93  template <typename T>
-
94  GLM_CONSTEXPR T one_over_pi();
+
93  template <typename genType>
+
94  genType one_over_pi();
95 
-
98  template <typename T>
-
99  GLM_CONSTEXPR T two_over_pi();
+
98  template <typename genType>
+
99  genType two_over_pi();
100 
-
103  template <typename T>
-
104  GLM_CONSTEXPR T two_over_root_pi();
+
103  template <typename genType>
+
104  genType two_over_root_pi();
105 
-
108  template <typename T>
-
109  GLM_CONSTEXPR T one_over_root_two();
+
108  template <typename genType>
+
109  genType one_over_root_two();
110 
-
113  template <typename T>
-
114  GLM_CONSTEXPR T root_half_pi();
+
113  template <typename genType>
+
114  genType root_half_pi();
115 
-
118  template <typename T>
-
119  GLM_CONSTEXPR T root_two_pi();
+
118  template <typename genType>
+
119  genType root_two_pi();
120 
-
123  template <typename T>
-
124  GLM_CONSTEXPR T root_ln_four();
+
123  template <typename genType>
+
124  genType root_ln_four();
125 
-
128  template <typename T>
-
129  GLM_CONSTEXPR T e();
+
128  template <typename genType>
+
129  genType e();
130 
-
133  template <typename T>
-
134  GLM_CONSTEXPR T euler();
+
133  template <typename genType>
+
134  genType euler();
135 
-
138  template <typename T>
-
139  GLM_CONSTEXPR T root_two();
+
138  template <typename genType>
+
139  genType root_two();
140 
-
143  template <typename T>
-
144  GLM_CONSTEXPR T root_three();
+
143  template <typename genType>
+
144  genType root_three();
145 
-
148  template <typename T>
-
149  GLM_CONSTEXPR T root_five();
+
148  template <typename genType>
+
149  genType root_five();
150 
-
153  template <typename T>
-
154  GLM_CONSTEXPR T ln_two();
+
153  template <typename genType>
+
154  genType ln_two();
155 
-
158  template <typename T>
-
159  GLM_CONSTEXPR T ln_ten();
+
158  template <typename genType>
+
159  genType ln_ten();
160 
-
163  template <typename T>
-
164  GLM_CONSTEXPR T ln_ln_two();
+
163  template <typename genType>
+
164  genType ln_ln_two();
165 
-
168  template <typename T>
-
169  GLM_CONSTEXPR T third();
+
168  template <typename genType>
+
169  genType third();
170 
-
173  template <typename T>
-
174  GLM_CONSTEXPR T two_thirds();
+
173  template <typename genType>
+
174  genType two_thirds();
175 
-
178  template <typename T>
-
179  GLM_CONSTEXPR T golden_ratio();
+
178  template <typename genType>
+
179  genType golden_ratio();
180 
182 } //namespace glm
183 
diff --git a/doc/api/a00017_source.html b/doc/api/a00017_source.html index e625d199..f1558625 100644 --- a/doc/api/a00017_source.html +++ b/doc/api/a00017_source.html @@ -100,28 +100,28 @@
53 {
56 
59  template <typename genType>
-
60  typename genType::boolType epsilonEqual(
-
61  genType const & x,
-
62  genType const & y,
-
63  typename genType::value_type const & epsilon);
-
64 
+
60  typename genType::boolType epsilonEqual(
+
61  genType const & x,
+
62  genType const & y,
+
63  typename genType::value_type const & epsilon);
+
64 
67  template <typename genType>
68  typename genType::boolType epsilonEqual(
69  genType const & x,
70  genType const & y,
-
71  genType const & epsilon);
+
71  genType const & epsilon);
72 
75  template <typename genType>
-
76  typename genType::boolType epsilonNotEqual(
-
77  genType const & x,
-
78  genType const & y,
-
79  typename genType::value_type const & epsilon);
-
80 
+
76  typename genType::boolType epsilonNotEqual(
+
77  genType const & x,
+
78  genType const & y,
+
79  typename genType::value_type const & epsilon);
+
80 
83  template <typename genType>
84  typename genType::boolType epsilonNotEqual(
85  genType const & x,
86  genType const & y,
-
87  genType const & epsilon);
+
87  genType const & epsilon);
88 
90 }//namespace glm
91 
diff --git a/doc/api/a00019_source.html b/doc/api/a00019_source.html index e8cc9cd3..187b12cc 100644 --- a/doc/api/a00019_source.html +++ b/doc/api/a00019_source.html @@ -141,15 +141,15 @@
114 
117  template <typename valType>
118  detail::tmat4x4<valType> eulerAngleYXZ(
-
119  valType const & yaw,
-
120  valType const & pitch,
-
121  valType const & roll);
+
119  valType const & yaw,
+
120  valType const & pitch,
+
121  valType const & roll);
122 
125  template <typename valType>
126  detail::tmat4x4<valType> yawPitchRoll(
-
127  valType const & yaw,
-
128  valType const & pitch,
-
129  valType const & roll);
+
127  valType const & yaw,
+
128  valType const & pitch,
+
129  valType const & roll);
130 
133  template <typename T>
134  detail::tmat2x2<T> orientate2(T const & angle);
diff --git a/doc/api/a00052_source.html b/doc/api/a00052_source.html index 3b5cf10d..471989b6 100644 --- a/doc/api/a00052_source.html +++ b/doc/api/a00052_source.html @@ -99,7 +99,7 @@
56  genType const & m,
57  int index);
58 
-
61  template <typename genType>
+
61  template <typename genType>
62  genType row(
63  genType const & m,
64  int index,
diff --git a/doc/api/a00059_source.html b/doc/api/a00059_source.html index 0338718a..59145ede 100644 --- a/doc/api/a00059_source.html +++ b/doc/api/a00059_source.html @@ -101,42 +101,42 @@
58  template<typename T>
59  bool isNull(
60  detail::tmat2x2<T> const & m,
-
61  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
+
61  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
62 
65  template<typename T>
66  bool isNull(
67  detail::tmat3x3<T> const & m,
-
68  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
+
68  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
69 
72  template<typename T>
73  bool isNull(
74  detail::tmat4x4<T> const & m,
-
75  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
+
75  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
76 
79  template<typename genType>
80  bool isIdentity(
81  genType const & m,
-
82  typename genType::value_type const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
+
82  typename genType::value_type const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
83 
86  template<typename valType>
87  bool isNormalized(
88  detail::tmat2x2<valType> const & m,
-
89  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
+
89  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
90 
93  template<typename valType>
94  bool isNormalized(
95  detail::tmat3x3<valType> const & m,
-
96  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
+
96  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
97 
100  template<typename valType>
101  bool isNormalized(
102  detail::tmat4x4<valType> const & m,
-
103  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
+
103  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
104 
107  template<typename valType, template <typename> class matType>
108  bool isOrthogonal(
109  matType<valType> const & m,
-
110  valType const & epsilon/* = std::numeric_limits<genType>::epsilon()*/);
+
110  valType const & epsilon/* = std::numeric_limits<genType>::epsilon()*/);
111 
113 }//namespace glm
114 
diff --git a/doc/api/a00076.html b/doc/api/a00076.html index 8243cecc..45041cad 100644 --- a/doc/api/a00076.html +++ b/doc/api/a00076.html @@ -100,6 +100,9 @@ Functions template<typename T > T length (detail::tquat< T > const &q)   +template<typename T > +detail::tquat< T > lerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a) +  template<typename T > detail::tmat3x3< T > mat3_cast (detail::tquat< T > const &x)   @@ -112,15 +115,27 @@ Functions template<typename T > detail::tquat< T > normalize (detail::tquat< T > const &q)   +template<typename valType > +valType pitch (detail::tquat< valType > const &x) +  template<typename T > detail::tquat< T > quat_cast (detail::tmat3x3< T > const &x)   template<typename T > detail::tquat< T > quat_cast (detail::tmat4x4< T > const &x)   +template<typename valType > +valType roll (detail::tquat< valType > const &x) +  template<typename T > detail::tquat< T > rotate (detail::tquat< T > const &q, typename detail::tquat< T >::value_type const &angle, detail::tvec3< T > const &axis)   +template<typename T > +detail::tquat< T > slerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a) +  +template<typename valType > +valType yaw (detail::tquat< valType > const &x) + 

Detailed Description

OpenGL Mathematics (glm.g-truc.net)

@@ -128,11 +143,13 @@ Functions

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

GLM_GTC_quaternion

-
Date
2009-05-21 / 2011-06-05
+
Date
2009-05-21 / 2012-12-20
Author
Christophe Riccio
See Also
GLM Core (dependence)
-GLM_GTC_half_float (dependence)
+GLM_GTC_half_float (dependence) +
+GLM_GTC_constants (dependence)

Definition in file gtc/quaternion.hpp.

diff --git a/doc/api/a00076_source.html b/doc/api/a00076_source.html index 38ea8e01..51964b92 100644 --- a/doc/api/a00076_source.html +++ b/doc/api/a00076_source.html @@ -83,206 +83,232 @@
36 
37 
38 
-
39 #ifndef GLM_GTC_quaternion
-
40 #define GLM_GTC_quaternion GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/half_float.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTC_quaternion extension included")
-
48 #endif
-
49 
-
50 namespace glm{
-
51 namespace detail
-
52 {
-
53  template <typename T>
-
54  struct tquat// : public genType<T, tquat>
-
55  {
-
56  enum ctor{null};
-
57 
-
58  typedef T value_type;
-
59  typedef std::size_t size_type;
-
60 
-
61  public:
-
62  value_type x, y, z, w;
-
63 
-
64  GLM_FUNC_DECL size_type length() const;
+
39 
+
40 #ifndef GLM_GTC_quaternion
+
41 #define GLM_GTC_quaternion GLM_VERSION
+
42 
+
43 // Dependency:
+
44 #include "../glm.hpp"
+
45 #include "../gtc/half_float.hpp"
+
46 #include "../gtc/constants.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
+
49 # pragma message("GLM: GLM_GTC_quaternion extension included")
+
50 #endif
+
51 
+
52 namespace glm{
+
53 namespace detail
+
54 {
+
55  template <typename T>
+
56  struct tquat// : public genType<T, tquat>
+
57  {
+
58  enum ctor{null};
+
59 
+
60  typedef T value_type;
+
61  typedef std::size_t size_type;
+
62 
+
63  public:
+
64  value_type x, y, z, w;
65 
-
66  // Constructors
-
67  tquat();
-
68  explicit tquat(
-
69  value_type const & s,
-
70  glm::detail::tvec3<T> const & v);
-
71  explicit tquat(
-
72  value_type const & w,
-
73  value_type const & x,
-
74  value_type const & y,
-
75  value_type const & z);
-
76 
-
77  // Convertions
+
66  GLM_FUNC_DECL size_type length() const;
+
67 
+
68  // Constructors
+
69  tquat();
+
70  explicit tquat(
+
71  value_type const & s,
+
72  glm::detail::tvec3<T> const & v);
+
73  explicit tquat(
+
74  value_type const & w,
+
75  value_type const & x,
+
76  value_type const & y,
+
77  value_type const & z);
78 
-
80  explicit tquat(
-
81  tvec3<T> const & eulerAngles);
+
79  // Convertions
+
80 
82  explicit tquat(
-
83  tmat3x3<T> const & m);
+
83  tvec3<T> const & eulerAngles);
84  explicit tquat(
-
85  tmat4x4<T> const & m);
-
86 
-
87  // Accesses
-
88  value_type & operator[](int i);
-
89  value_type const & operator[](int i) const;
-
90 
-
91  // Operators
-
92  tquat<T> & operator*=(value_type const & s);
-
93  tquat<T> & operator/=(value_type const & s);
-
94  };
-
95 
-
96  template <typename T>
-
97  detail::tquat<T> operator- (
-
98  detail::tquat<T> const & q);
-
99 
-
100  template <typename T>
-
101  detail::tquat<T> operator+ (
-
102  detail::tquat<T> const & q,
-
103  detail::tquat<T> const & p);
-
104 
-
105  template <typename T>
-
106  detail::tquat<T> operator* (
-
107  detail::tquat<T> const & q,
-
108  detail::tquat<T> const & p);
-
109 
-
110  template <typename T>
-
111  detail::tvec3<T> operator* (
-
112  detail::tquat<T> const & q,
-
113  detail::tvec3<T> const & v);
-
114 
-
115  template <typename T>
-
116  detail::tvec3<T> operator* (
-
117  detail::tvec3<T> const & v,
-
118  detail::tquat<T> const & q);
-
119 
-
120  template <typename T>
-
121  detail::tvec4<T> operator* (
-
122  detail::tquat<T> const & q,
-
123  detail::tvec4<T> const & v);
-
124 
-
125  template <typename T>
-
126  detail::tvec4<T> operator* (
-
127  detail::tvec4<T> const & v,
-
128  detail::tquat<T> const & q);
-
129 
-
130  template <typename T>
-
131  detail::tquat<T> operator* (
-
132  detail::tquat<T> const & q,
-
133  typename detail::tquat<T>::value_type const & s);
-
134 
-
135  template <typename T>
-
136  detail::tquat<T> operator* (
-
137  typename detail::tquat<T>::value_type const & s,
-
138  detail::tquat<T> const & q);
-
139 
-
140  template <typename T>
-
141  detail::tquat<T> operator/ (
-
142  detail::tquat<T> const & q,
-
143  typename detail::tquat<T>::value_type const & s);
-
144 
-
145 } //namespace detail
+
85  tmat3x3<T> const & m);
+
86  explicit tquat(
+
87  tmat4x4<T> const & m);
+
88 
+
89  // Accesses
+
90  value_type & operator[](int i);
+
91  value_type const & operator[](int i) const;
+
92 
+
93  // Operators
+
94  tquat<T> & operator*=(value_type const & s);
+
95  tquat<T> & operator/=(value_type const & s);
+
96  };
+
97 
+
98  template <typename T>
+
99  detail::tquat<T> operator- (
+
100  detail::tquat<T> const & q);
+
101 
+
102  template <typename T>
+
103  detail::tquat<T> operator+ (
+
104  detail::tquat<T> const & q,
+
105  detail::tquat<T> const & p);
+
106 
+
107  template <typename T>
+
108  detail::tquat<T> operator* (
+
109  detail::tquat<T> const & q,
+
110  detail::tquat<T> const & p);
+
111 
+
112  template <typename T>
+
113  detail::tvec3<T> operator* (
+
114  detail::tquat<T> const & q,
+
115  detail::tvec3<T> const & v);
+
116 
+
117  template <typename T>
+
118  detail::tvec3<T> operator* (
+
119  detail::tvec3<T> const & v,
+
120  detail::tquat<T> const & q);
+
121 
+
122  template <typename T>
+
123  detail::tvec4<T> operator* (
+
124  detail::tquat<T> const & q,
+
125  detail::tvec4<T> const & v);
+
126 
+
127  template <typename T>
+
128  detail::tvec4<T> operator* (
+
129  detail::tvec4<T> const & v,
+
130  detail::tquat<T> const & q);
+
131 
+
132  template <typename T>
+
133  detail::tquat<T> operator* (
+
134  detail::tquat<T> const & q,
+
135  typename detail::tquat<T>::value_type const & s);
+
136 
+
137  template <typename T>
+
138  detail::tquat<T> operator* (
+
139  typename detail::tquat<T>::value_type const & s,
+
140  detail::tquat<T> const & q);
+
141 
+
142  template <typename T>
+
143  detail::tquat<T> operator/ (
+
144  detail::tquat<T> const & q,
+
145  typename detail::tquat<T>::value_type const & s);
146 
-
149 
-
153  template <typename T>
-
154  T length(
-
155  detail::tquat<T> const & q);
-
156 
-
160  template <typename T>
-
161  detail::tquat<T> normalize(
-
162  detail::tquat<T> const & q);
-
163 
-
167  template <typename T>
-
168  T dot(
-
169  detail::tquat<T> const & q1,
-
170  detail::tquat<T> const & q2);
-
171 
-
175  template <typename T>
-
176  detail::tquat<T> mix(
-
177  detail::tquat<T> const & x,
-
178  detail::tquat<T> const & y,
-
179  T const & a);
-
180 
+
147 } //namespace detail
+
148 
+
151 
+
155  template <typename T>
+
156  T length(
+
157  detail::tquat<T> const & q);
+
158 
+
162  template <typename T>
+
163  detail::tquat<T> normalize(
+
164  detail::tquat<T> const & q);
+
165 
+
169  template <typename T>
+
170  T dot(
+
171  detail::tquat<T> const & q1,
+
172  detail::tquat<T> const & q2);
+
173 
184  template <typename T>
-
185  detail::tquat<T> conjugate(
-
186  detail::tquat<T> const & q);
-
187 
-
191  template <typename T>
-
192  detail::tquat<T> inverse(
-
193  detail::tquat<T> const & q);
-
194 
-
202  template <typename T>
-
203  detail::tquat<T> rotate(
-
204  detail::tquat<T> const & q,
-
205  typename detail::tquat<T>::value_type const & angle,
-
206  detail::tvec3<T> const & axis);
-
207 
-
211  template <typename T>
-
212  detail::tvec3<T> eulerAngles(
-
213  detail::tquat<T> const & x);
-
214 
-
218  template <typename T>
-
219  detail::tmat3x3<T> mat3_cast(
-
220  detail::tquat<T> const & x);
-
221 
-
225  template <typename T>
-
226  detail::tmat4x4<T> mat4_cast(
-
227  detail::tquat<T> const & x);
-
228 
-
232  template <typename T>
-
233  detail::tquat<T> quat_cast(
-
234  detail::tmat3x3<T> const & x);
-
235 
+
185  detail::tquat<T> mix(
+
186  detail::tquat<T> const & x,
+
187  detail::tquat<T> const & y,
+
188  T const & a);
+
189 
+
198  template <typename T>
+
199  detail::tquat<T> lerp(
+
200  detail::tquat<T> const & x,
+
201  detail::tquat<T> const & y,
+
202  T const & a);
+
203 
+
212  template <typename T>
+
213  detail::tquat<T> slerp(
+
214  detail::tquat<T> const & x,
+
215  detail::tquat<T> const & y,
+
216  T const & a);
+
217 
+
221  template <typename T>
+
222  detail::tquat<T> conjugate(
+
223  detail::tquat<T> const & q);
+
224 
+
228  template <typename T>
+
229  detail::tquat<T> inverse(
+
230  detail::tquat<T> const & q);
+
231 
239  template <typename T>
-
240  detail::tquat<T> quat_cast(
-
241  detail::tmat4x4<T> const & x);
-
242 
-
246  template <typename valType>
-
247  valType angle(
-
248  detail::tquat<valType> const & x);
-
249 
-
253  template <typename valType>
-
254  detail::tvec3<valType> axis(
-
255  detail::tquat<valType> const & x);
-
256 
-
265  template <typename valType>
-
266  detail::tquat<valType> angleAxis(
-
267  valType const & angle,
-
268  valType const & x,
-
269  valType const & y,
-
270  valType const & z);
-
271 
-
278  template <typename valType>
-
279  detail::tquat<valType> angleAxis(
-
280  valType const & angle,
-
281  detail::tvec3<valType> const & axis);
-
282 
-
286  typedef detail::tquat<float> quat;
-
287 
-
291  typedef detail::tquat<detail::half> hquat;
-
292 
-
296  typedef detail::tquat<float> fquat;
-
297 
-
301  typedef detail::tquat<double> dquat;
-
302 
-
306  typedef detail::tquat<lowp_float> lowp_quat;
+
240  detail::tquat<T> rotate(
+
241  detail::tquat<T> const & q,
+
242  typename detail::tquat<T>::value_type const & angle,
+
243  detail::tvec3<T> const & axis);
+
244 
+
248  template <typename T>
+
249  detail::tvec3<T> eulerAngles(
+
250  detail::tquat<T> const & x);
+
251 
+
255  template <typename valType>
+
256  valType roll(
+
257  detail::tquat<valType> const & x);
+
258 
+
262  template <typename valType>
+
263  valType pitch(
+
264  detail::tquat<valType> const & x);
+
265 
+
269  template <typename valType>
+
270  valType yaw(
+
271  detail::tquat<valType> const & x);
+
272 
+
276  template <typename T>
+
277  detail::tmat3x3<T> mat3_cast(
+
278  detail::tquat<T> const & x);
+
279 
+
283  template <typename T>
+
284  detail::tmat4x4<T> mat4_cast(
+
285  detail::tquat<T> const & x);
+
286 
+
290  template <typename T>
+
291  detail::tquat<T> quat_cast(
+
292  detail::tmat3x3<T> const & x);
+
293 
+
297  template <typename T>
+
298  detail::tquat<T> quat_cast(
+
299  detail::tmat4x4<T> const & x);
+
300 
+
304  template <typename valType>
+
305  valType angle(
+
306  detail::tquat<valType> const & x);
307 
-
311  typedef detail::tquat<mediump_float> mediump_quat;
-
312 
-
316  typedef detail::tquat<highp_float> highp_quat;
-
317 
-
319 } //namespace glm
-
320 
-
321 #include "quaternion.inl"
-
322 
-
323 #endif//GLM_GTC_quaternion
+
311  template <typename valType>
+
312  detail::tvec3<valType> axis(
+
313  detail::tquat<valType> const & x);
+
314 
+
323  template <typename valType>
+
324  detail::tquat<valType> angleAxis(
+
325  valType const & angle,
+
326  valType const & x,
+
327  valType const & y,
+
328  valType const & z);
+
329 
+
336  template <typename valType>
+
337  detail::tquat<valType> angleAxis(
+
338  valType const & angle,
+
339  detail::tvec3<valType> const & axis);
+
340 
+
344  typedef detail::tquat<float> quat;
+
345 
+
349  typedef detail::tquat<detail::half> hquat;
+
350 
+
354  typedef detail::tquat<float> fquat;
+
355 
+
359  typedef detail::tquat<double> dquat;
+
360 
+
364  typedef detail::tquat<lowp_float> lowp_quat;
+
365 
+
369  typedef detail::tquat<mediump_float> mediump_quat;
+
370 
+
374  typedef detail::tquat<highp_float> highp_quat;
+
375 
+
377 } //namespace glm
+
378 
+
379 #include "quaternion.inl"
+
380 
+
381 #endif//GLM_GTC_quaternion

EAiRT<#Qm`5DhjW@Yt50%$=agNF(O+8K- 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%0AaEVN}5uQ4Tw$h9_(R;3y- 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 Date: Sat, 22 Dec 2012 11:57:19 +1000 Subject: [PATCH 22/38] Fix a -Wswitch-default warning in GCC. The default case should never actually be met. I've added an assert(false) statement here for sanity. --- glm/gtc/quaternion.inl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/glm/gtc/quaternion.inl b/glm/gtc/quaternion.inl index 1906a16f..d1e76026 100644 --- a/glm/gtc/quaternion.inl +++ b/glm/gtc/quaternion.inl @@ -707,6 +707,10 @@ namespace detail Result.y = (m[1][2] + m[2][1]) * mult; Result.z = biggestVal; break; + + default: // Silence a -Wswitch-default warning in GCC. Should never actually get here. Assert is just for sanity. + assert(false); + break; } return Result; } From 5db36dc39c9f8040ff1eaf0ec297e16c980aea45 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 22 Dec 2012 14:30:46 +0100 Subject: [PATCH 23/38] Fixed epsilonEqual test on quaternions --- test/gtc/gtc_epsilon.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/test/gtc/gtc_epsilon.cpp b/test/gtc/gtc_epsilon.cpp index 85388f17..a594d517 100644 --- a/test/gtc/gtc_epsilon.cpp +++ b/test/gtc/gtc_epsilon.cpp @@ -17,14 +17,11 @@ int test_defined() glm::epsilonEqual(glm::vec2(), glm::vec2(), glm::vec2()); glm::epsilonEqual(glm::vec3(), glm::vec3(), glm::vec3()); glm::epsilonEqual(glm::vec4(), glm::vec4(), glm::vec4()); - glm::epsilonEqual(glm::quat(), glm::quat(), glm::quat()); glm::epsilonNotEqual(glm::vec2(), glm::vec2(), glm::vec2()); glm::epsilonNotEqual(glm::vec3(), glm::vec3(), glm::vec3()); glm::epsilonNotEqual(glm::vec4(), glm::vec4(), glm::vec4()); - glm::epsilonNotEqual(glm::quat(), glm::quat(), glm::quat()); - - + glm::epsilonEqual(glm::vec2(), glm::vec2(), 0.0f); glm::epsilonEqual(glm::vec3(), glm::vec3(), 0.0f); glm::epsilonEqual(glm::vec4(), glm::vec4(), 0.0f); From 87a54a52a09c5cf31dfdd752d78e396f707fdf21 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 22 Dec 2012 14:44:11 +0100 Subject: [PATCH 24/38] Updated release date --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index 38d35523..5b48f4ca 100644 --- a/readme.txt +++ b/readme.txt @@ -37,7 +37,7 @@ More informations in GLM manual: http://glm.g-truc.net/glm.pdf ================================================================================ -GLM 0.9.4.1: 2012-12-21 +GLM 0.9.4.1: 2012-12-22 -------------------------------------------------------------------------------- - Improved half support: -0.0 case and implicit conversions - Fixed Intel Composer Compiler support on Linux From b31d1b560cabd4d34798c834eb8dfc04a0544b34 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 22 Dec 2012 14:49:37 +0100 Subject: [PATCH 25/38] Updated doxygen doncumentation --- doc/api/a00004_source.html | 10 +- doc/api/a00013.html | 7 +- doc/api/a00013_source.html | 16 +- doc/api/a00015.html | 150 +++++------ doc/api/a00015_source.html | 100 ++++---- doc/api/a00017_source.html | 24 +- doc/api/a00019_source.html | 12 +- doc/api/a00052_source.html | 2 +- doc/api/a00059_source.html | 16 +- doc/api/a00076.html | 21 +- doc/api/a00076_source.html | 410 +++++++++++++++-------------- doc/api/a00077.html | 12 - doc/api/a00077_source.html | 66 ++--- doc/api/a00084_source.html | 295 ++++++++++----------- doc/api/a00085_source.html | 180 ++++++------- doc/api/a00086_source.html | 514 +++++++++++++++++++------------------ doc/api/a00096_source.html | 131 +++++----- doc/api/a00122_source.html | 14 +- doc/api/a00129.html | 4 +- doc/api/a00145.html | 250 +++++++++--------- doc/api/a00151.html | 2 +- doc/api/a00153.html | 218 +++++++++++++++- doc/api/a00166.html | 4 - doc/api/a00188.html | 2 +- doc/api/a00198.html | 96 +------ doc/api/a00215.html | 2 +- doc/api/modules.html | 2 +- 27 files changed, 1354 insertions(+), 1206 deletions(-) diff --git a/doc/api/a00004_source.html b/doc/api/a00004_source.html index dbbb7273..ac4213a6 100644 --- a/doc/api/a00004_source.html +++ b/doc/api/a00004_source.html @@ -167,7 +167,7 @@