diff --git a/glm/core/type_mat2x2.hpp b/glm/core/type_mat2x2.hpp index 82092fc6..f122ea2c 100644 --- a/glm/core/type_mat2x2.hpp +++ b/glm/core/type_mat2x2.hpp @@ -187,6 +187,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 caf3bea5..4ed11203 100644 --- a/glm/core/type_mat2x3.hpp +++ b/glm/core/type_mat2x3.hpp @@ -164,10 +164,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 c14dea0f..3f649c25 100644 --- a/glm/core/type_mat2x4.hpp +++ b/glm/core/type_mat2x4.hpp @@ -165,10 +165,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 bcfe9eb0..9acb1934 100644 --- a/glm/core/type_mat3x2.hpp +++ b/glm/core/type_mat3x2.hpp @@ -175,6 +175,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 50965d8d..d64f0f74 100644 --- a/glm/core/type_mat3x3.hpp +++ b/glm/core/type_mat3x3.hpp @@ -190,6 +190,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 a60d9a56..0ad2c734 100644 --- a/glm/core/type_mat3x4.hpp +++ b/glm/core/type_mat3x4.hpp @@ -175,6 +175,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 0b003aa0..9eb284fa 100644 --- a/glm/core/type_mat4x2.hpp +++ b/glm/core/type_mat4x2.hpp @@ -176,9 +176,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 1f295160..2cf59a9b 100644 --- a/glm/core/type_mat4x3.hpp +++ b/glm/core/type_mat4x3.hpp @@ -174,10 +174,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 705ce8c2..9ce24001 100644 --- a/glm/core/type_mat4x4.hpp +++ b/glm/core/type_mat4x4.hpp @@ -188,6 +188,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* (