From fd21f939d8bf6ec914cb77e0d324c2f3dc25a709 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 3 Aug 2018 16:35:48 +0200 Subject: [PATCH] Rename headers to sort the files --- glm/detail/type_mat.hpp | 48 +----------------- glm/mat2x2.hpp | 50 ++----------------- glm/matrix_dmat2x2.hpp | 31 ++++++++++++ glm/matrix_dmat2x2_precision.hpp | 49 ++++++++++++++++++ glm/matrix_dmat2x3.hpp | 24 +++++++++ glm/matrix_dmat2x4.hpp | 24 +++++++++ glm/matrix_dmat3x2.hpp | 24 +++++++++ glm/matrix_dmat3x3.hpp | 31 ++++++++++++ glm/matrix_dmat3x4.hpp | 24 +++++++++ glm/matrix_dmat4x2.hpp | 24 +++++++++ glm/matrix_dmat4x3.hpp | 24 +++++++++ glm/matrix_dmat4x4.hpp | 31 ++++++++++++ glm/matrix_mat2x2.hpp | 32 ++++++++++++ glm/matrix_mat2x2_precision.hpp | 49 ++++++++++++++++++ glm/{bvec2.hpp => vector_bvec2.hpp} | 0 ...ecision.hpp => vector_bvec2_precision.hpp} | 0 glm/{bvec3.hpp => vector_bvec3.hpp} | 0 ...ecision.hpp => vector_bvec3_precision.hpp} | 0 glm/{bvec4.hpp => vector_bvec4.hpp} | 0 ...ecision.hpp => vector_bvec4_precision.hpp} | 0 glm/{dvec2.hpp => vector_dvec2.hpp} | 0 ...ecision.hpp => vector_dvec2_precision.hpp} | 0 glm/{dvec3.hpp => vector_dvec3.hpp} | 0 ...ecision.hpp => vector_dvec3_precision.hpp} | 0 glm/{dvec4.hpp => vector_dvec4.hpp} | 0 ...ecision.hpp => vector_dvec4_precision.hpp} | 0 glm/{ivec2.hpp => vector_ivec2.hpp} | 0 ...ecision.hpp => vector_ivec2_precision.hpp} | 0 glm/{ivec3.hpp => vector_ivec3.hpp} | 0 ...ecision.hpp => vector_ivec3_precision.hpp} | 0 glm/{ivec4.hpp => vector_ivec4.hpp} | 0 ...ecision.hpp => vector_ivec4_precision.hpp} | 0 glm/{uvec2.hpp => vector_uvec2.hpp} | 0 ...ecision.hpp => vector_uvec2_precision.hpp} | 0 glm/{uvec3.hpp => vector_uvec3.hpp} | 0 ...ecision.hpp => vector_uvec3_precision.hpp} | 0 glm/{uvec4.hpp => vector_uvec4.hpp} | 0 ...ecision.hpp => vector_uvec4_precision.hpp} | 0 glm/{fvec2.hpp => vector_vec2.hpp} | 0 ...recision.hpp => vector_vec2_precision.hpp} | 0 glm/{fvec3.hpp => vector_vec3.hpp} | 0 ...recision.hpp => vector_vec3_precision.hpp} | 0 glm/{fvec4.hpp => vector_vec4.hpp} | 0 ...recision.hpp => vector_vec4_precision.hpp} | 0 44 files changed, 373 insertions(+), 92 deletions(-) create mode 100644 glm/matrix_dmat2x2.hpp create mode 100644 glm/matrix_dmat2x2_precision.hpp create mode 100644 glm/matrix_dmat2x3.hpp create mode 100644 glm/matrix_dmat2x4.hpp create mode 100644 glm/matrix_dmat3x2.hpp create mode 100644 glm/matrix_dmat3x3.hpp create mode 100644 glm/matrix_dmat3x4.hpp create mode 100644 glm/matrix_dmat4x2.hpp create mode 100644 glm/matrix_dmat4x3.hpp create mode 100644 glm/matrix_dmat4x4.hpp create mode 100644 glm/matrix_mat2x2.hpp create mode 100644 glm/matrix_mat2x2_precision.hpp rename glm/{bvec2.hpp => vector_bvec2.hpp} (100%) rename glm/{bvec2_precision.hpp => vector_bvec2_precision.hpp} (100%) rename glm/{bvec3.hpp => vector_bvec3.hpp} (100%) rename glm/{bvec3_precision.hpp => vector_bvec3_precision.hpp} (100%) rename glm/{bvec4.hpp => vector_bvec4.hpp} (100%) rename glm/{bvec4_precision.hpp => vector_bvec4_precision.hpp} (100%) rename glm/{dvec2.hpp => vector_dvec2.hpp} (100%) rename glm/{dvec2_precision.hpp => vector_dvec2_precision.hpp} (100%) rename glm/{dvec3.hpp => vector_dvec3.hpp} (100%) rename glm/{dvec3_precision.hpp => vector_dvec3_precision.hpp} (100%) rename glm/{dvec4.hpp => vector_dvec4.hpp} (100%) rename glm/{dvec4_precision.hpp => vector_dvec4_precision.hpp} (100%) rename glm/{ivec2.hpp => vector_ivec2.hpp} (100%) rename glm/{ivec2_precision.hpp => vector_ivec2_precision.hpp} (100%) rename glm/{ivec3.hpp => vector_ivec3.hpp} (100%) rename glm/{ivec3_precision.hpp => vector_ivec3_precision.hpp} (100%) rename glm/{ivec4.hpp => vector_ivec4.hpp} (100%) rename glm/{ivec4_precision.hpp => vector_ivec4_precision.hpp} (100%) rename glm/{uvec2.hpp => vector_uvec2.hpp} (100%) rename glm/{uvec2_precision.hpp => vector_uvec2_precision.hpp} (100%) rename glm/{uvec3.hpp => vector_uvec3.hpp} (100%) rename glm/{uvec3_precision.hpp => vector_uvec3_precision.hpp} (100%) rename glm/{uvec4.hpp => vector_uvec4.hpp} (100%) rename glm/{uvec4_precision.hpp => vector_uvec4_precision.hpp} (100%) rename glm/{fvec2.hpp => vector_vec2.hpp} (100%) rename glm/{fvec2_precision.hpp => vector_vec2_precision.hpp} (100%) rename glm/{fvec3.hpp => vector_vec3.hpp} (100%) rename glm/{fvec3_precision.hpp => vector_vec3_precision.hpp} (100%) rename glm/{fvec4.hpp => vector_vec4.hpp} (100%) rename glm/{fvec4_precision.hpp => vector_vec4_precision.hpp} (100%) 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