diff --git a/glm/mat2x2.hpp b/glm/mat2x2.hpp index ae03a49..9ad9e0f 100644 --- a/glm/mat2x2.hpp +++ b/glm/mat2x2.hpp @@ -3,11 +3,11 @@ mat2x2.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT2X2_HPP20220226090655 -#define GLM_MAT2X2_HPP20220226090655 +#ifndef GLM_MAT2X2_HPP20220520180809 +#define GLM_MAT2X2_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<2, 2, T> typedef mat<2, 2, T> this_type; typedef vec<2, T> col_type; typedef vec<2, T> row_type; + typedef mat<2, 2, T> transpose_type; enum { - ROWS = 2, COLS = 2, + ROWS = 2, ELEMENTS = 4, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -335,4 +336,4 @@ GLM_API vec<2, T> operator*(const mat<2, 2, T>& m, const vec<2, T>& v) }// end namespace glm -#endif// GLM_MAT2X2_HPP20220226090655 +#endif// GLM_MAT2X2_HPP20220520180809 diff --git a/glm/mat2x3.hpp b/glm/mat2x3.hpp index da44503..7b0e360 100644 --- a/glm/mat2x3.hpp +++ b/glm/mat2x3.hpp @@ -3,11 +3,11 @@ mat2x3.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT2X3_HPP20220226090655 -#define GLM_MAT2X3_HPP20220226090655 +#ifndef GLM_MAT2X3_HPP20220520180809 +#define GLM_MAT2X3_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<2, 3, T> typedef mat<2, 3, T> this_type; typedef vec<3, T> col_type; typedef vec<2, T> row_type; + typedef mat<3, 2, T> transpose_type; enum { - ROWS = 2, COLS = 3, + ROWS = 2, ELEMENTS = 6, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -223,24 +224,25 @@ template GLM_API mat<3, 2, T> transpose(const mat<2, 3, T>& m) { return mat3x2( - m[0][0], m[1][0], m[2][0], - m[0][1], m[1][1], m[2][1]); + m[0][0], m[1][0], + m[0][1], m[1][1], + m[0][2], m[1][2]); } -// vec3 = transform( in vec3, in mat2x3 ) +// vec2 = transform( in vec3, in mat2x3 ) template -GLM_API vec<3, T> transform(const vec<3, T>& v, const mat<2, 3, T>& m) +GLM_API vec<2, T> transform(const vec<3, T>& v, const mat<2, 3, T>& m) { return vec<2, T>( v[0] * m[0][0] + v[1] * m[0][1] + v[2] * m[0][2], v[0] * m[1][0] + v[1] * m[1][1] + v[2] * m[1][2]); } -// vec2 = transform ( in mat2x3, in vec2 ) +// vec3 = transform ( in mat2x3, in vec2 ) template -GLM_API vec<2, T> transform(const mat<2, 3, T>& m, const vec<2, T>& v) +GLM_API vec<3, T> transform(const mat<2, 3, T>& m, const vec<2, T>& v) { - return vec<2, T>( + return vec<3, T>( m[0][0] * v[0] + m[1][0] * v[1], m[0][1] * v[0] + m[1][1] * v[1], m[0][2] * v[0] + m[1][2] * v[1]); @@ -335,20 +337,20 @@ GLM_API mat<2, 3, T>& mat<2, 3, T>::operator*=(const mat<2, 3, T>& other) return *this; } -// vec3 = vec3 x mat2x3 +// vec2 = vec3 x mat2x3 template -GLM_API vec<3, T> operator*(const vec<3, T>& v, const mat<2, 3, T>& m) +GLM_API vec<2, T> operator*(const vec<3, T>& v, const mat<2, 3, T>& m) { return transform(v, m); } -// vec2 = mat2x3 x vec2 +// vec3 = mat2x3 x vec2 template -GLM_API vec<2, T> operator*(const mat<2, 3, T>& m, const vec<2, T>& v) +GLM_API vec<3, T> operator*(const mat<2, 3, T>& m, const vec<2, T>& v) { return transform(m, v); } }// end namespace glm -#endif// GLM_MAT2X3_HPP20220226090655 +#endif// GLM_MAT2X3_HPP20220520180809 diff --git a/glm/mat2x4.hpp b/glm/mat2x4.hpp index 4f00b65..e7764ba 100644 --- a/glm/mat2x4.hpp +++ b/glm/mat2x4.hpp @@ -3,11 +3,11 @@ mat2x4.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT2X4_HPP20220226090655 -#define GLM_MAT2X4_HPP20220226090655 +#ifndef GLM_MAT2X4_HPP20220520180809 +#define GLM_MAT2X4_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<2, 4, T> typedef mat<2, 4, T> this_type; typedef vec<4, T> col_type; typedef vec<2, T> row_type; + typedef mat<4, 2, T> transpose_type; enum { - ROWS = 2, COLS = 4, + ROWS = 2, ELEMENTS = 8, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -238,24 +239,26 @@ template GLM_API mat<4, 2, T> transpose(const mat<2, 4, T>& m) { return mat4x2( - m[0][0], m[1][0], m[2][0], m[3][0], - m[0][1], m[1][1], m[2][1], m[3][1]); + m[0][0], m[1][0], + m[0][1], m[1][1], + m[0][2], m[1][2], + m[0][3], m[1][3]); } -// vec4 = transform( in vec4, in mat2x4 ) +// vec2 = transform( in vec4, in mat2x4 ) template -GLM_API vec<4, T> transform(const vec<4, T>& v, const mat<2, 4, T>& m) +GLM_API vec<2, T> transform(const vec<4, T>& v, const mat<2, 4, T>& m) { return vec<2, T>( v[0] * m[0][0] + v[1] * m[0][1] + v[2] * m[0][2] + v[3] * m[0][3], v[0] * m[1][0] + v[1] * m[1][1] + v[2] * m[1][2] + v[3] * m[1][3]); } -// vec2 = transform ( in mat2x4, in vec2 ) +// vec4 = transform ( in mat2x4, in vec2 ) template -GLM_API vec<2, T> transform(const mat<2, 4, T>& m, const vec<2, T>& v) +GLM_API vec<4, T> transform(const mat<2, 4, T>& m, const vec<2, T>& v) { - return vec<2, T>( + return vec<4, T>( m[0][0] * v[0] + m[1][0] * v[1], m[0][1] * v[0] + m[1][1] * v[1], m[0][2] * v[0] + m[1][2] * v[1], @@ -351,20 +354,20 @@ GLM_API mat<2, 4, T>& mat<2, 4, T>::operator*=(const mat<2, 4, T>& other) return *this; } -// vec4 = vec4 x mat2x4 +// vec2 = vec4 x mat2x4 template -GLM_API vec<4, T> operator*(const vec<4, T>& v, const mat<2, 4, T>& m) +GLM_API vec<2, T> operator*(const vec<4, T>& v, const mat<2, 4, T>& m) { return transform(v, m); } -// vec2 = mat2x4 x vec2 +// vec4 = mat2x4 x vec2 template -GLM_API vec<2, T> operator*(const mat<2, 4, T>& m, const vec<2, T>& v) +GLM_API vec<4, T> operator*(const mat<2, 4, T>& m, const vec<2, T>& v) { return transform(m, v); } }// end namespace glm -#endif// GLM_MAT2X4_HPP20220226090655 +#endif// GLM_MAT2X4_HPP20220520180809 diff --git a/glm/mat3x2.hpp b/glm/mat3x2.hpp index 41f149d..cf8ddb9 100644 --- a/glm/mat3x2.hpp +++ b/glm/mat3x2.hpp @@ -3,11 +3,11 @@ mat3x2.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT3X2_HPP20220226090655 -#define GLM_MAT3X2_HPP20220226090655 +#ifndef GLM_MAT3X2_HPP20220520180809 +#define GLM_MAT3X2_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<3, 2, T> typedef mat<3, 2, T> this_type; typedef vec<2, T> col_type; typedef vec<3, T> row_type; + typedef mat<2, 3, T> transpose_type; enum { - ROWS = 3, COLS = 2, + ROWS = 3, ELEMENTS = 6, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -227,14 +228,13 @@ template GLM_API mat<2, 3, T> transpose(const mat<3, 2, T>& m) { return mat2x3( - m[0][0], m[1][0], - m[0][1], m[1][1], - m[0][2], m[1][2]); + m[0][0], m[1][0], m[2][0], + m[0][1], m[1][1], m[2][1]); } -// vec2 = transform( in vec2, in mat3x2 ) +// vec3 = transform( in vec2, in mat3x2 ) template -GLM_API vec<2, T> transform(const vec<2, T>& v, const mat<3, 2, T>& m) +GLM_API vec<3, T> transform(const vec<2, T>& v, const mat<3, 2, T>& m) { return vec<3, T>( v[0] * m[0][0] + v[1] * m[0][1], @@ -242,11 +242,11 @@ GLM_API vec<2, T> transform(const vec<2, T>& v, const mat<3, 2, T>& m) v[0] * m[2][0] + v[1] * m[2][1]); } -// vec3 = transform ( in mat3x2, in vec3 ) +// vec2 = transform ( in mat3x2, in vec3 ) template -GLM_API vec<3, T> transform(const mat<3, 2, T>& m, const vec<3, T>& v) +GLM_API vec<2, T> transform(const mat<3, 2, T>& m, const vec<3, T>& v) { - return vec<3, T>( + return vec<2, T>( m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2], m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2]); } @@ -340,20 +340,20 @@ GLM_API mat<3, 2, T>& mat<3, 2, T>::operator*=(const mat<3, 2, T>& other) return *this; } -// vec2 = vec2 x mat3x2 +// vec3 = vec2 x mat3x2 template -GLM_API vec<2, T> operator*(const vec<2, T>& v, const mat<3, 2, T>& m) +GLM_API vec<3, T> operator*(const vec<2, T>& v, const mat<3, 2, T>& m) { return transform(v, m); } -// vec3 = mat3x2 x vec3 +// vec2 = mat3x2 x vec3 template -GLM_API vec<3, T> operator*(const mat<3, 2, T>& m, const vec<3, T>& v) +GLM_API vec<2, T> operator*(const mat<3, 2, T>& m, const vec<3, T>& v) { return transform(m, v); } }// end namespace glm -#endif// GLM_MAT3X2_HPP20220226090655 +#endif// GLM_MAT3X2_HPP20220520180809 diff --git a/glm/mat3x3.hpp b/glm/mat3x3.hpp index 9154bfd..d191e45 100644 --- a/glm/mat3x3.hpp +++ b/glm/mat3x3.hpp @@ -3,11 +3,11 @@ mat3x3.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT3X3_HPP20220226090655 -#define GLM_MAT3X3_HPP20220226090655 +#ifndef GLM_MAT3X3_HPP20220520180809 +#define GLM_MAT3X3_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<3, 3, T> typedef mat<3, 3, T> this_type; typedef vec<3, T> col_type; typedef vec<3, T> row_type; + typedef mat<3, 3, T> transpose_type; enum { - ROWS = 3, COLS = 3, + ROWS = 3, ELEMENTS = 9, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -370,4 +371,4 @@ GLM_API vec<3, T> operator*(const mat<3, 3, T>& m, const vec<3, T>& v) }// end namespace glm -#endif// GLM_MAT3X3_HPP20220226090655 +#endif// GLM_MAT3X3_HPP20220520180809 diff --git a/glm/mat3x4.hpp b/glm/mat3x4.hpp index 6bd43b9..ec63a34 100644 --- a/glm/mat3x4.hpp +++ b/glm/mat3x4.hpp @@ -3,11 +3,11 @@ mat3x4.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT3X4_HPP20220226090655 -#define GLM_MAT3X4_HPP20220226090655 +#ifndef GLM_MAT3X4_HPP20220520180809 +#define GLM_MAT3X4_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<3, 4, T> typedef mat<3, 4, T> this_type; typedef vec<4, T> col_type; typedef vec<3, T> row_type; + typedef mat<4, 3, T> transpose_type; enum { - ROWS = 3, COLS = 4, + ROWS = 3, ELEMENTS = 12, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -253,14 +254,15 @@ template GLM_API mat<4, 3, T> transpose(const mat<3, 4, T>& m) { return mat4x3( - m[0][0], m[1][0], m[2][0], m[3][0], - m[0][1], m[1][1], m[2][1], m[3][1], - m[0][2], m[1][2], m[2][2], m[3][2]); + m[0][0], m[1][0], m[2][0], + m[0][1], m[1][1], m[2][1], + m[0][2], m[1][2], m[2][2], + m[0][3], m[1][3], m[2][3]); } -// vec4 = transform( in vec4, in mat3x4 ) +// vec3 = transform( in vec4, in mat3x4 ) template -GLM_API vec<4, T> transform(const vec<4, T>& v, const mat<3, 4, T>& m) +GLM_API vec<3, T> transform(const vec<4, T>& v, const mat<3, 4, T>& m) { return vec<3, T>( v[0] * m[0][0] + v[1] * m[0][1] + v[2] * m[0][2] + v[3] * m[0][3], @@ -268,11 +270,11 @@ GLM_API vec<4, T> transform(const vec<4, T>& v, const mat<3, 4, T>& m) v[0] * m[2][0] + v[1] * m[2][1] + v[2] * m[2][2] + v[3] * m[2][3]); } -// vec3 = transform ( in mat3x4, in vec3 ) +// vec4 = transform ( in mat3x4, in vec3 ) template -GLM_API vec<3, T> transform(const mat<3, 4, T>& m, const vec<3, T>& v) +GLM_API vec<4, T> transform(const mat<3, 4, T>& m, const vec<3, T>& v) { - return vec<3, T>( + return vec<4, T>( m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2], m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2], m[0][2] * v[0] + m[1][2] * v[1] + m[2][2] * v[2], @@ -368,20 +370,20 @@ GLM_API mat<3, 4, T>& mat<3, 4, T>::operator*=(const mat<3, 4, T>& other) return *this; } -// vec4 = vec4 x mat3x4 +// vec3 = vec4 x mat3x4 template -GLM_API vec<4, T> operator*(const vec<4, T>& v, const mat<3, 4, T>& m) +GLM_API vec<3, T> operator*(const vec<4, T>& v, const mat<3, 4, T>& m) { return transform(v, m); } -// vec3 = mat3x4 x vec3 +// vec4 = mat3x4 x vec3 template -GLM_API vec<3, T> operator*(const mat<3, 4, T>& m, const vec<3, T>& v) +GLM_API vec<4, T> operator*(const mat<3, 4, T>& m, const vec<3, T>& v) { return transform(m, v); } }// end namespace glm -#endif// GLM_MAT3X4_HPP20220226090655 +#endif// GLM_MAT3X4_HPP20220520180809 diff --git a/glm/mat4x2.hpp b/glm/mat4x2.hpp index 48010a8..8d471f9 100644 --- a/glm/mat4x2.hpp +++ b/glm/mat4x2.hpp @@ -3,11 +3,11 @@ mat4x2.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT4X2_HPP20220226090655 -#define GLM_MAT4X2_HPP20220226090655 +#ifndef GLM_MAT4X2_HPP20220520180809 +#define GLM_MAT4X2_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<4, 2, T> typedef mat<4, 2, T> this_type; typedef vec<2, T> col_type; typedef vec<4, T> row_type; + typedef mat<2, 4, T> transpose_type; enum { - ROWS = 4, COLS = 2, + ROWS = 4, ELEMENTS = 8, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -246,15 +247,13 @@ template GLM_API mat<2, 4, T> transpose(const mat<4, 2, T>& m) { return mat2x4( - m[0][0], m[1][0], - m[0][1], m[1][1], - m[0][2], m[1][2], - m[0][3], m[1][3]); + m[0][0], m[1][0], m[2][0], m[3][0], + m[0][1], m[1][1], m[2][1], m[3][1]); } -// vec2 = transform( in vec2, in mat4x2 ) +// vec4 = transform( in vec2, in mat4x2 ) template -GLM_API vec<2, T> transform(const vec<2, T>& v, const mat<4, 2, T>& m) +GLM_API vec<4, T> transform(const vec<2, T>& v, const mat<4, 2, T>& m) { return vec<4, T>( v[0] * m[0][0] + v[1] * m[0][1], @@ -263,11 +262,11 @@ GLM_API vec<2, T> transform(const vec<2, T>& v, const mat<4, 2, T>& m) v[0] * m[3][0] + v[1] * m[3][1]); } -// vec4 = transform ( in mat4x2, in vec4 ) +// vec2 = transform ( in mat4x2, in vec4 ) template -GLM_API vec<4, T> transform(const mat<4, 2, T>& m, const vec<4, T>& v) +GLM_API vec<2, T> transform(const mat<4, 2, T>& m, const vec<4, T>& v) { - return vec<4, T>( + return vec<2, T>( m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2] + m[3][0] * v[3], m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2] + m[3][1] * v[3]); } @@ -361,20 +360,20 @@ GLM_API mat<4, 2, T>& mat<4, 2, T>::operator*=(const mat<4, 2, T>& other) return *this; } -// vec2 = vec2 x mat4x2 +// vec4 = vec2 x mat4x2 template -GLM_API vec<2, T> operator*(const vec<2, T>& v, const mat<4, 2, T>& m) +GLM_API vec<4, T> operator*(const vec<2, T>& v, const mat<4, 2, T>& m) { return transform(v, m); } -// vec4 = mat4x2 x vec4 +// vec2 = mat4x2 x vec4 template -GLM_API vec<4, T> operator*(const mat<4, 2, T>& m, const vec<4, T>& v) +GLM_API vec<2, T> operator*(const mat<4, 2, T>& m, const vec<4, T>& v) { return transform(m, v); } }// end namespace glm -#endif// GLM_MAT4X2_HPP20220226090655 +#endif// GLM_MAT4X2_HPP20220520180809 diff --git a/glm/mat4x3.hpp b/glm/mat4x3.hpp index ba0d973..31cece1 100644 --- a/glm/mat4x3.hpp +++ b/glm/mat4x3.hpp @@ -3,11 +3,11 @@ mat4x3.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT4X3_HPP20220226090655 -#define GLM_MAT4X3_HPP20220226090655 +#ifndef GLM_MAT4X3_HPP20220520180809 +#define GLM_MAT4X3_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<4, 3, T> typedef mat<4, 3, T> this_type; typedef vec<3, T> col_type; typedef vec<4, T> row_type; + typedef mat<3, 4, T> transpose_type; enum { - ROWS = 4, COLS = 3, + ROWS = 4, ELEMENTS = 12, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -257,15 +258,14 @@ template GLM_API mat<3, 4, T> transpose(const mat<4, 3, T>& m) { return mat3x4( - m[0][0], m[1][0], m[2][0], - m[0][1], m[1][1], m[2][1], - m[0][2], m[1][2], m[2][2], - m[0][3], m[1][3], m[2][3]); + m[0][0], m[1][0], m[2][0], m[3][0], + m[0][1], m[1][1], m[2][1], m[3][1], + m[0][2], m[1][2], m[2][2], m[3][2]); } -// vec3 = transform( in vec3, in mat4x3 ) +// vec4 = transform( in vec3, in mat4x3 ) template -GLM_API vec<3, T> transform(const vec<3, T>& v, const mat<4, 3, T>& m) +GLM_API vec<4, T> transform(const vec<3, T>& v, const mat<4, 3, T>& m) { return vec<4, T>( v[0] * m[0][0] + v[1] * m[0][1] + v[2] * m[0][2], @@ -274,11 +274,11 @@ GLM_API vec<3, T> transform(const vec<3, T>& v, const mat<4, 3, T>& m) v[0] * m[3][0] + v[1] * m[3][1] + v[2] * m[3][2]); } -// vec4 = transform ( in mat4x3, in vec4 ) +// vec3 = transform ( in mat4x3, in vec4 ) template -GLM_API vec<4, T> transform(const mat<4, 3, T>& m, const vec<4, T>& v) +GLM_API vec<3, T> transform(const mat<4, 3, T>& m, const vec<4, T>& v) { - return vec<4, T>( + return vec<3, T>( m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2] + m[3][0] * v[3], m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2] + m[3][1] * v[3], m[0][2] * v[0] + m[1][2] * v[1] + m[2][2] * v[2] + m[3][2] * v[3]); @@ -373,20 +373,20 @@ GLM_API mat<4, 3, T>& mat<4, 3, T>::operator*=(const mat<4, 3, T>& other) return *this; } -// vec3 = vec3 x mat4x3 +// vec4 = vec3 x mat4x3 template -GLM_API vec<3, T> operator*(const vec<3, T>& v, const mat<4, 3, T>& m) +GLM_API vec<4, T> operator*(const vec<3, T>& v, const mat<4, 3, T>& m) { return transform(v, m); } -// vec4 = mat4x3 x vec4 +// vec3 = mat4x3 x vec4 template -GLM_API vec<4, T> operator*(const mat<4, 3, T>& m, const vec<4, T>& v) +GLM_API vec<3, T> operator*(const mat<4, 3, T>& m, const vec<4, T>& v) { return transform(m, v); } }// end namespace glm -#endif// GLM_MAT4X3_HPP20220226090655 +#endif// GLM_MAT4X3_HPP20220520180809 diff --git a/glm/mat4x4.hpp b/glm/mat4x4.hpp index e256c8b..55bcafb 100644 --- a/glm/mat4x4.hpp +++ b/glm/mat4x4.hpp @@ -3,11 +3,11 @@ mat4x4.hpp - 2022-02-26 09:06:55 + 2022-05-20 18:08:09 */ -#ifndef GLM_MAT4X4_HPP20220226090655 -#define GLM_MAT4X4_HPP20220226090655 +#ifndef GLM_MAT4X4_HPP20220520180809 +#define GLM_MAT4X4_HPP20220520180809 #include "matrix.hpp" @@ -28,15 +28,16 @@ class mat<4, 4, T> typedef mat<4, 4, T> this_type; typedef vec<4, T> col_type; typedef vec<4, T> row_type; + typedef mat<4, 4, T> transpose_type; enum { - ROWS = 4, COLS = 4, + ROWS = 4, ELEMENTS = 16, }; public: - col_type m[COLS]; + col_type m[ROWS]; public: mat() @@ -401,4 +402,4 @@ GLM_API vec<4, T> operator*(const mat<4, 4, T>& m, const vec<4, T>& v) }// end namespace glm -#endif// GLM_MAT4X4_HPP20220226090655 +#endif// GLM_MAT4X4_HPP20220520180809