diff --git a/glm/detail/type_mat.hpp b/glm/detail/type_mat.hpp
index db839b3b..7280147f 100644
--- a/glm/detail/type_mat.hpp
+++ b/glm/detail/type_mat.hpp
@@ -352,7 +352,7 @@ namespace detail
typedef mediump_mat4x3 mat4x3;
typedef mediump_mat4x4 mat4x4;
#else
- //! 2 columns of 2 components matrix of floating-point numbers.
+ /// 2 columns of 2 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat2x2 mat2x2;
@@ -399,11 +399,6 @@ namespace detail
#endif//GLM_PRECISION
- //! 2 columns of 2 components matrix of floating-point numbers.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- typedef mat2x2 mat2;
-
//! 3 columns of 3 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
@@ -420,47 +415,6 @@ namespace detail
/// @addtogroup core_precision
/// @{
- /// 2 columns of 2 components matrix of low qualifier floating-point numbers.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, double, lowp> lowp_dmat2;
-
- /// 2 columns of 2 components matrix of medium qualifier floating-point numbers.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, double, mediump> mediump_dmat2;
-
- /// 2 columns of 2 components matrix of high qualifier floating-point numbers.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, double, highp> highp_dmat2;
-
- /// 2 columns of 2 components matrix of low qualifier floating-point numbers.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, double, lowp> lowp_dmat2x2;
-
- /// 2 columns of 2 components matrix of medium qualifier floating-point numbers.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, double, mediump> mediump_dmat2x2;
-
- /// 2 columns of 2 components matrix of high qualifier floating-point numbers.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, double, highp> highp_dmat2x2;
-
- /// @}
-
- /// @addtogroup core_precision
- /// @{
-
/// 2 columns of 3 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
diff --git a/glm/mat2x2.hpp b/glm/mat2x2.hpp
index 057466d4..f517efe0 100644
--- a/glm/mat2x2.hpp
+++ b/glm/mat2x2.hpp
@@ -1,54 +1,14 @@
/// @ref core
/// @file glm/mat2x2.hpp
-#include "detail/setup.hpp"
-
#pragma once
-
-#include "detail/type_mat2x2.hpp"
+#include "dmat2x2.hpp"
+#include "fmat2x2.hpp"
namespace glm
{
- /// 2 columns of 2 components matrix of low qualifier floating-point numbers.
- /// There is no guarantee on the actual qualifier.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, float, lowp> lowp_mat2;
-
- /// 2 columns of 2 components matrix of medium qualifier floating-point numbers.
- /// There is no guarantee on the actual qualifier.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, float, mediump> mediump_mat2;
-
- /// 2 columns of 2 components matrix of high qualifier floating-point numbers.
- /// There is no guarantee on the actual qualifier.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, float, highp> highp_mat2;
-
- /// 2 columns of 2 components matrix of low qualifier floating-point numbers.
- /// There is no guarantee on the actual qualifier.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, float, lowp> lowp_mat2x2;
-
- /// 2 columns of 2 components matrix of medium qualifier floating-point numbers.
- /// There is no guarantee on the actual qualifier.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, float, mediump> mediump_mat2x2;
-
- /// 2 columns of 2 components matrix of high qualifier floating-point numbers.
- /// There is no guarantee on the actual qualifier.
- ///
- /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
- /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- typedef mat<2, 2, float, highp> highp_mat2x2;
+#if GLM_HAS_TEMPLATE_ALIASES
+ template using tmat2x2 = mat<2, 2, T, Q>;
+#endif//GLM_HAS_TEMPLATE_ALIASES
}//namespace glm
diff --git a/glm/matrix_dmat2x2.hpp b/glm/matrix_dmat2x2.hpp
new file mode 100644
index 00000000..7ffe7863
--- /dev/null
+++ b/glm/matrix_dmat2x2.hpp
@@ -0,0 +1,31 @@
+/// @ref core
+/// @file glm/dmat2x2.hpp
+
+#pragma once
+#include "detail/type_mat2x2.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<2, 2, double, lowp> dmat2x2;
+ typedef mat<2, 2, double, lowp> dmat2;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<2, 2, double, mediump> dmat2x2;
+ typedef mat<2, 2, double, mediump> dmat2;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 2 columns of 2 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<2, 2, double, highp> dmat2x2;
+
+ /// 2 columns of 2 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<2, 2, double, highp> dmat2;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat2x2_precision.hpp b/glm/matrix_dmat2x2_precision.hpp
new file mode 100644
index 00000000..b30ab4c4
--- /dev/null
+++ b/glm/matrix_dmat2x2_precision.hpp
@@ -0,0 +1,49 @@
+/// @ref core
+/// @file glm/dmat2x2_precision.hpp
+
+#pragma once
+#include "detail/type_mat2x2.hpp"
+
+namespace glm
+{
+ /// @addtogroup core_precision
+ /// @{
+
+ /// 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, double, lowp> lowp_dmat2;
+
+ /// 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, double, mediump> mediump_dmat2;
+
+ /// 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, double, highp> highp_dmat2;
+
+ /// 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, double, lowp> lowp_dmat2x2;
+
+ /// 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, double, mediump> mediump_dmat2x2;
+
+ /// 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, double, highp> highp_dmat2x2;
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat2x3.hpp b/glm/matrix_dmat2x3.hpp
new file mode 100644
index 00000000..3eea986b
--- /dev/null
+++ b/glm/matrix_dmat2x3.hpp
@@ -0,0 +1,24 @@
+/// @ref core
+/// @file glm/dmat2x3.hpp
+
+#pragma once
+#include "detail/type_mat2x3.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<2, 3, double, lowp> dmat2x3;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<2, 3, double, mediump> dmat2x3;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 2 columns of 3 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<2, 3, double, highp> dmat2x3;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat2x4.hpp b/glm/matrix_dmat2x4.hpp
new file mode 100644
index 00000000..0009ad2c
--- /dev/null
+++ b/glm/matrix_dmat2x4.hpp
@@ -0,0 +1,24 @@
+/// @ref core
+/// @file glm/dmat2x4.hpp
+
+#pragma once
+#include "detail/type_mat2x4.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<2, 4, double, lowp> dmat2x4;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<2, 4, double, mediump> dmat2x4;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 2 columns of 4 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<2, 4, double, highp> dmat2x4;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat3x2.hpp b/glm/matrix_dmat3x2.hpp
new file mode 100644
index 00000000..b98407c3
--- /dev/null
+++ b/glm/matrix_dmat3x2.hpp
@@ -0,0 +1,24 @@
+/// @ref core
+/// @file glm/dmat3x2.hpp
+
+#pragma once
+#include "detail/type_mat3x2.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<3, 2, double, lowp> dmat3x2;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<3, 2, double, mediump> dmat3x2;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 3 columns of 2 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<3, 2, double, highp> dmat3x2;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat3x3.hpp b/glm/matrix_dmat3x3.hpp
new file mode 100644
index 00000000..b78c73fa
--- /dev/null
+++ b/glm/matrix_dmat3x3.hpp
@@ -0,0 +1,31 @@
+/// @ref core
+/// @file glm/dmat3x3.hpp
+
+#pragma once
+#include "detail/type_mat3x3.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<3, 3, double, lowp> dmat3x3;
+ typedef mat<3, 3, double, lowp> dmat3;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<3, 3, double, mediump> dmat3x3;
+ typedef mat<3, 3, double, mediump> dmat3;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 3 columns of 3 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<3, 3, double, highp> dmat3x3;
+
+ /// 3 columns of 3 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<3, 3, double, highp> dmat3;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat3x4.hpp b/glm/matrix_dmat3x4.hpp
new file mode 100644
index 00000000..fefa08df
--- /dev/null
+++ b/glm/matrix_dmat3x4.hpp
@@ -0,0 +1,24 @@
+/// @ref core
+/// @file glm/dmat3x4.hpp
+
+#pragma once
+#include "detail/type_mat3x4.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<3, 4, double, lowp> dmat3x4;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<3, 4, double, mediump> dmat3x4;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 3 columns of 4 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<3, 4, double, highp> dmat3x4;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat4x2.hpp b/glm/matrix_dmat4x2.hpp
new file mode 100644
index 00000000..3b28a4f9
--- /dev/null
+++ b/glm/matrix_dmat4x2.hpp
@@ -0,0 +1,24 @@
+/// @ref core
+/// @file glm/dmat4x2.hpp
+
+#pragma once
+#include "detail/type_mat4x2.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<4, 2, double, lowp> dmat4x2;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<4, 2, double, mediump> dmat4x2;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 4 columns of 2 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<4, 2, double, highp> dmat4x2;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat4x3.hpp b/glm/matrix_dmat4x3.hpp
new file mode 100644
index 00000000..0fae9915
--- /dev/null
+++ b/glm/matrix_dmat4x3.hpp
@@ -0,0 +1,24 @@
+/// @ref core
+/// @file glm/dmat4x3.hpp
+
+#pragma once
+#include "detail/type_mat4x3.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<4, 3, double, lowp> dmat4x3;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<4, 3, double, mediump> dmat4x3;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 4 columns of 3 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<4, 3, double, highp> dmat4x3;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_dmat4x4.hpp b/glm/matrix_dmat4x4.hpp
new file mode 100644
index 00000000..941035fa
--- /dev/null
+++ b/glm/matrix_dmat4x4.hpp
@@ -0,0 +1,31 @@
+/// @ref core
+/// @file glm/dmat4x4.hpp
+
+#pragma once
+#include "detail/type_mat4x4.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_DOUBLE))
+ typedef mat<4, 4, double, lowp> dmat4x4;
+ typedef mat<4, 4, double, lowp> dmat4;
+#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+ typedef mat<4, 4, double, mediump> dmat4x4;
+ typedef mat<4, 4, double, mediump> dmat4;
+#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+ /// 4 columns of 4 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<4, 4, double, highp> dmat4x4;
+
+ /// 4 columns of 4 components matrix of double-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<4, 4, double, highp> dmat4;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_mat2x2.hpp b/glm/matrix_mat2x2.hpp
new file mode 100644
index 00000000..fecdd979
--- /dev/null
+++ b/glm/matrix_mat2x2.hpp
@@ -0,0 +1,32 @@
+/// @ref core
+/// @file glm/mat2x2.hpp
+
+#pragma once
+#include "detail/setup.hpp"
+#include "detail/type_mat2x2.hpp"
+
+namespace glm
+{
+ /// @addtogroup core
+ /// @{
+
+#if(defined(GLM_PRECISION_LOWP_FLOAT))
+ typedef mat<2, 2, float, lowp> mat2x2;
+ typedef mat<2, 2, float, lowp> mat2;
+#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+ typedef mat<2, 2, float, mediump> mat2x2;
+ typedef mat<2, 2, float, mediump> mat2;
+#else //defined(GLM_PRECISION_HIGHP_FLOAT)
+ /// 2 columns of 2 components matrix of single-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<2, 2, float, highp> mat2x2;
+
+ /// 2 columns of 2 components matrix of single-precision floating-point numbers.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ typedef mat<2, 2, float, highp> mat2;
+#endif
+
+ /// @}
+}//namespace glm
diff --git a/glm/matrix_mat2x2_precision.hpp b/glm/matrix_mat2x2_precision.hpp
new file mode 100644
index 00000000..2ad0ec0f
--- /dev/null
+++ b/glm/matrix_mat2x2_precision.hpp
@@ -0,0 +1,49 @@
+/// @ref core
+/// @file glm/fmat2x2_precision.hpp
+
+#pragma once
+#include "detail/type_mat2x2.hpp"
+
+namespace glm
+{
+ /// @addtogroup core_precision
+ /// @{
+
+ /// 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, float, lowp> lowp_mat2;
+
+ /// 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, float, mediump> mediump_mat2;
+
+ /// 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, float, highp> highp_mat2;
+
+ /// 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, float, lowp> lowp_mat2x2;
+
+ /// 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, float, mediump> mediump_mat2x2;
+
+ /// 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
+ ///
+ /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
+ /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ typedef mat<2, 2, float, highp> highp_mat2x2;
+
+ /// @}
+}//namespace glm
diff --git a/glm/bvec2.hpp b/glm/vector_bvec2.hpp
similarity index 100%
rename from glm/bvec2.hpp
rename to glm/vector_bvec2.hpp
diff --git a/glm/bvec2_precision.hpp b/glm/vector_bvec2_precision.hpp
similarity index 100%
rename from glm/bvec2_precision.hpp
rename to glm/vector_bvec2_precision.hpp
diff --git a/glm/bvec3.hpp b/glm/vector_bvec3.hpp
similarity index 100%
rename from glm/bvec3.hpp
rename to glm/vector_bvec3.hpp
diff --git a/glm/bvec3_precision.hpp b/glm/vector_bvec3_precision.hpp
similarity index 100%
rename from glm/bvec3_precision.hpp
rename to glm/vector_bvec3_precision.hpp
diff --git a/glm/bvec4.hpp b/glm/vector_bvec4.hpp
similarity index 100%
rename from glm/bvec4.hpp
rename to glm/vector_bvec4.hpp
diff --git a/glm/bvec4_precision.hpp b/glm/vector_bvec4_precision.hpp
similarity index 100%
rename from glm/bvec4_precision.hpp
rename to glm/vector_bvec4_precision.hpp
diff --git a/glm/dvec2.hpp b/glm/vector_dvec2.hpp
similarity index 100%
rename from glm/dvec2.hpp
rename to glm/vector_dvec2.hpp
diff --git a/glm/dvec2_precision.hpp b/glm/vector_dvec2_precision.hpp
similarity index 100%
rename from glm/dvec2_precision.hpp
rename to glm/vector_dvec2_precision.hpp
diff --git a/glm/dvec3.hpp b/glm/vector_dvec3.hpp
similarity index 100%
rename from glm/dvec3.hpp
rename to glm/vector_dvec3.hpp
diff --git a/glm/dvec3_precision.hpp b/glm/vector_dvec3_precision.hpp
similarity index 100%
rename from glm/dvec3_precision.hpp
rename to glm/vector_dvec3_precision.hpp
diff --git a/glm/dvec4.hpp b/glm/vector_dvec4.hpp
similarity index 100%
rename from glm/dvec4.hpp
rename to glm/vector_dvec4.hpp
diff --git a/glm/dvec4_precision.hpp b/glm/vector_dvec4_precision.hpp
similarity index 100%
rename from glm/dvec4_precision.hpp
rename to glm/vector_dvec4_precision.hpp
diff --git a/glm/ivec2.hpp b/glm/vector_ivec2.hpp
similarity index 100%
rename from glm/ivec2.hpp
rename to glm/vector_ivec2.hpp
diff --git a/glm/ivec2_precision.hpp b/glm/vector_ivec2_precision.hpp
similarity index 100%
rename from glm/ivec2_precision.hpp
rename to glm/vector_ivec2_precision.hpp
diff --git a/glm/ivec3.hpp b/glm/vector_ivec3.hpp
similarity index 100%
rename from glm/ivec3.hpp
rename to glm/vector_ivec3.hpp
diff --git a/glm/ivec3_precision.hpp b/glm/vector_ivec3_precision.hpp
similarity index 100%
rename from glm/ivec3_precision.hpp
rename to glm/vector_ivec3_precision.hpp
diff --git a/glm/ivec4.hpp b/glm/vector_ivec4.hpp
similarity index 100%
rename from glm/ivec4.hpp
rename to glm/vector_ivec4.hpp
diff --git a/glm/ivec4_precision.hpp b/glm/vector_ivec4_precision.hpp
similarity index 100%
rename from glm/ivec4_precision.hpp
rename to glm/vector_ivec4_precision.hpp
diff --git a/glm/uvec2.hpp b/glm/vector_uvec2.hpp
similarity index 100%
rename from glm/uvec2.hpp
rename to glm/vector_uvec2.hpp
diff --git a/glm/uvec2_precision.hpp b/glm/vector_uvec2_precision.hpp
similarity index 100%
rename from glm/uvec2_precision.hpp
rename to glm/vector_uvec2_precision.hpp
diff --git a/glm/uvec3.hpp b/glm/vector_uvec3.hpp
similarity index 100%
rename from glm/uvec3.hpp
rename to glm/vector_uvec3.hpp
diff --git a/glm/uvec3_precision.hpp b/glm/vector_uvec3_precision.hpp
similarity index 100%
rename from glm/uvec3_precision.hpp
rename to glm/vector_uvec3_precision.hpp
diff --git a/glm/uvec4.hpp b/glm/vector_uvec4.hpp
similarity index 100%
rename from glm/uvec4.hpp
rename to glm/vector_uvec4.hpp
diff --git a/glm/uvec4_precision.hpp b/glm/vector_uvec4_precision.hpp
similarity index 100%
rename from glm/uvec4_precision.hpp
rename to glm/vector_uvec4_precision.hpp
diff --git a/glm/fvec2.hpp b/glm/vector_vec2.hpp
similarity index 100%
rename from glm/fvec2.hpp
rename to glm/vector_vec2.hpp
diff --git a/glm/fvec2_precision.hpp b/glm/vector_vec2_precision.hpp
similarity index 100%
rename from glm/fvec2_precision.hpp
rename to glm/vector_vec2_precision.hpp
diff --git a/glm/fvec3.hpp b/glm/vector_vec3.hpp
similarity index 100%
rename from glm/fvec3.hpp
rename to glm/vector_vec3.hpp
diff --git a/glm/fvec3_precision.hpp b/glm/vector_vec3_precision.hpp
similarity index 100%
rename from glm/fvec3_precision.hpp
rename to glm/vector_vec3_precision.hpp
diff --git a/glm/fvec4.hpp b/glm/vector_vec4.hpp
similarity index 100%
rename from glm/fvec4.hpp
rename to glm/vector_vec4.hpp
diff --git a/glm/fvec4_precision.hpp b/glm/vector_vec4_precision.hpp
similarity index 100%
rename from glm/fvec4_precision.hpp
rename to glm/vector_vec4_precision.hpp