diff --git a/glm/core/type_mat2x2.hpp b/glm/core/type_mat2x2.hpp index e489d20bd..c13377b0d 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 a89799f89..c7021c8e4 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 be1537d49..081da489b 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 564d9757b..feaa998e7 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 a97c1c1b8..b77154101 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 3441db411..bb620f301 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 f4ae9980f..33e2a9576 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 eca737677..5852fa31b 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 376df3d2b..919e04e86 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* (