diff --git a/glm/core/type_mat2x2.hpp b/glm/core/type_mat2x2.hpp index e489d20b..c13377b0 100644 --- a/glm/core/type_mat2x2.hpp +++ b/glm/core/type_mat2x2.hpp @@ -207,6 +207,16 @@ namespace detail tmat2x2 operator* ( tmat2x2 const & m1, tmat2x2 const & m2); + + template + tmat3x2 operator* ( + tmat2x2 const & m1, + tmat3x2 const & m2); + + template + tmat4x2 operator* ( + tmat2x2 const & m1, + tmat4x2 const & m2); template tmat2x2 operator/ ( diff --git a/glm/core/type_mat2x3.hpp b/glm/core/type_mat2x3.hpp index a89799f8..c7021c8e 100644 --- a/glm/core/type_mat2x3.hpp +++ b/glm/core/type_mat2x3.hpp @@ -183,10 +183,20 @@ namespace detail typename tmat2x3::col_type const & v, tmat2x3 const & m); + template + tmat2x3 operator* ( + tmat2x3 const & m1, + tmat2x2 const & m2); + template tmat3x3 operator* ( tmat2x3 const & m1, tmat3x2 const & m2); + + template + tmat4x3 operator* ( + tmat2x3 const & m1, + tmat4x2 const & m2); template tmat2x3 operator/ ( diff --git a/glm/core/type_mat2x4.hpp b/glm/core/type_mat2x4.hpp index be1537d4..081da489 100644 --- a/glm/core/type_mat2x4.hpp +++ b/glm/core/type_mat2x4.hpp @@ -185,10 +185,20 @@ namespace detail typename tmat2x4::col_type const & v, tmat2x4 const & m); + template + tmat4x4 operator* ( + tmat2x4 const & m1, + tmat4x2 const & m2); + template tmat2x4 operator* ( tmat2x4 const & m1, - tmat2x4 const & m2); + tmat2x2 const & m2); + + template + tmat3x4 operator* ( + tmat2x4 const & m1, + tmat3x2 const & m2); template tmat2x4 operator/ ( diff --git a/glm/core/type_mat3x2.hpp b/glm/core/type_mat3x2.hpp index 564d9757..feaa998e 100644 --- a/glm/core/type_mat3x2.hpp +++ b/glm/core/type_mat3x2.hpp @@ -195,6 +195,16 @@ namespace detail tmat2x2 operator* ( tmat3x2 const & m1, tmat2x3 const & m2); + + template + tmat3x2 operator* ( + tmat3x2 const & m1, + tmat3x3 const & m2); + + template + tmat4x2 operator* ( + tmat3x2 const & m1, + tmat4x3 const & m2); template tmat3x2 operator/ ( diff --git a/glm/core/type_mat3x3.hpp b/glm/core/type_mat3x3.hpp index a97c1c1b..b7715410 100644 --- a/glm/core/type_mat3x3.hpp +++ b/glm/core/type_mat3x3.hpp @@ -210,6 +210,16 @@ namespace detail tmat3x3 operator* ( tmat3x3 const & m1, tmat3x3 const & m2); + + template + tmat2x3 operator* ( + tmat3x3 const & m1, + tmat2x3 const & m2); + + template + tmat4x3 operator* ( + tmat3x3 const & m1, + tmat4x3 const & m2); template tmat3x3 operator/ ( diff --git a/glm/core/type_mat3x4.hpp b/glm/core/type_mat3x4.hpp index 3441db41..bb620f30 100644 --- a/glm/core/type_mat3x4.hpp +++ b/glm/core/type_mat3x4.hpp @@ -195,6 +195,16 @@ namespace detail tmat4x4 operator* ( tmat3x4 const & m1, tmat4x3 const & m2); + + template + tmat2x4 operator* ( + tmat3x4 const & m1, + tmat2x3 const & m2); + + template + tmat3x4 operator* ( + tmat3x4 const & m1, + tmat3x3 const & m2); template tmat3x4 operator/ ( diff --git a/glm/core/type_mat4x2.hpp b/glm/core/type_mat4x2.hpp index f4ae9980..33e2a957 100644 --- a/glm/core/type_mat4x2.hpp +++ b/glm/core/type_mat4x2.hpp @@ -196,9 +196,19 @@ namespace detail typename tmat4x2::col_type const & v, tmat4x2 const & m); - template - tmat2x2 operator* ( + template + tmat3x2 operator* ( + tmat4x2 const & m1, + tmat3x4 const & m2); + + template + tmat4x2 operator* ( tmat4x2 const & m1, + tmat4x4 const & m2); + + template + tmat2x3 operator* ( + tmat4x3 const & m1, tmat2x4 const & m2); template diff --git a/glm/core/type_mat4x3.hpp b/glm/core/type_mat4x3.hpp index eca73767..5852fa31 100644 --- a/glm/core/type_mat4x3.hpp +++ b/glm/core/type_mat4x3.hpp @@ -194,10 +194,20 @@ namespace detail typename tmat4x3::col_type const & v, tmat4x3 const & m); + template + tmat2x3 operator* ( + tmat4x3 const & m1, + tmat2x4 const & m2); + template tmat3x3 operator* ( tmat4x3 const & m1, tmat3x4 const & m2); + + template + tmat4x3 operator* ( + tmat4x3 const & m1, + tmat4x4 const & m2); template tmat4x3 operator/ ( diff --git a/glm/core/type_mat4x4.hpp b/glm/core/type_mat4x4.hpp index 376df3d2..919e04e8 100644 --- a/glm/core/type_mat4x4.hpp +++ b/glm/core/type_mat4x4.hpp @@ -208,6 +208,16 @@ namespace detail typename tmat4x4::row_type operator* ( typename tmat4x4::col_type const & v, tmat4x4 const & m); + + template + tmat2x4 operator* ( + tmat4x4 const & m1, + tmat2x4 const & m2); + + template + tmat3x4 operator* ( + tmat4x4 const & m1, + tmat3x4 const & m2); template tmat4x4 operator* (