diff --git a/glm/common.hpp b/glm/common.hpp
index efce346ae..66ad8614f 100644
--- a/glm/common.hpp
+++ b/glm/common.hpp
@@ -26,7 +26,6 @@ namespace glm
///
/// @see GLSL abs man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
- /// @see qualifier
template
GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x);
diff --git a/glm/ext/matrix_double2x2.hpp b/glm/ext/matrix_double2x2.hpp
index 3a445076f..94dca54b5 100644
--- a/glm/ext/matrix_double2x2.hpp
+++ b/glm/ext/matrix_double2x2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 2 columns of 2 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double2x2_precision.hpp b/glm/ext/matrix_double2x2_precision.hpp
index d95e42814..9e2c174e4 100644
--- a/glm/ext/matrix_double2x2_precision.hpp
+++ b/glm/ext/matrix_double2x2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_double2x3.hpp b/glm/ext/matrix_double2x3.hpp
index ce8935b8d..bfef87a66 100644
--- a/glm/ext/matrix_double2x3.hpp
+++ b/glm/ext/matrix_double2x3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 2 columns of 3 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double2x3_precision.hpp b/glm/ext/matrix_double2x3_precision.hpp
index 16be960af..098fb6046 100644
--- a/glm/ext/matrix_double2x3_precision.hpp
+++ b/glm/ext/matrix_double2x3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 2 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_double2x4.hpp b/glm/ext/matrix_double2x4.hpp
index 67c6f2b76..499284bce 100644
--- a/glm/ext/matrix_double2x4.hpp
+++ b/glm/ext/matrix_double2x4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 2 columns of 4 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double2x4_precision.hpp b/glm/ext/matrix_double2x4_precision.hpp
index 7fbc70ac5..9b61ebcee 100644
--- a/glm/ext/matrix_double2x4_precision.hpp
+++ b/glm/ext/matrix_double2x4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 2 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_double3x2.hpp b/glm/ext/matrix_double3x2.hpp
index 03b7b1aac..dd23f36cd 100644
--- a/glm/ext/matrix_double3x2.hpp
+++ b/glm/ext/matrix_double3x2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 3 columns of 2 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double3x2_precision.hpp b/glm/ext/matrix_double3x2_precision.hpp
index b76e83171..068d9e911 100644
--- a/glm/ext/matrix_double3x2_precision.hpp
+++ b/glm/ext/matrix_double3x2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 3 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_double3x3.hpp b/glm/ext/matrix_double3x3.hpp
index ece8f77f3..53572b735 100644
--- a/glm/ext/matrix_double3x3.hpp
+++ b/glm/ext/matrix_double3x3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 3 columns of 3 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double3x3_precision.hpp b/glm/ext/matrix_double3x3_precision.hpp
index c1ea1abf5..8691e7808 100644
--- a/glm/ext/matrix_double3x3_precision.hpp
+++ b/glm/ext/matrix_double3x3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_double3x4.hpp b/glm/ext/matrix_double3x4.hpp
index ddd9a8100..c572d637c 100644
--- a/glm/ext/matrix_double3x4.hpp
+++ b/glm/ext/matrix_double3x4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 3 columns of 4 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double3x4_precision.hpp b/glm/ext/matrix_double3x4_precision.hpp
index 3c639fd03..f040217e7 100644
--- a/glm/ext/matrix_double3x4_precision.hpp
+++ b/glm/ext/matrix_double3x4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 3 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_double4x2.hpp b/glm/ext/matrix_double4x2.hpp
index 41040763c..9b229f471 100644
--- a/glm/ext/matrix_double4x2.hpp
+++ b/glm/ext/matrix_double4x2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 4 columns of 2 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double4x2_precision.hpp b/glm/ext/matrix_double4x2_precision.hpp
index e539dda18..6ad18ba9e 100644
--- a/glm/ext/matrix_double4x2_precision.hpp
+++ b/glm/ext/matrix_double4x2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 4 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_double4x3.hpp b/glm/ext/matrix_double4x3.hpp
index d9c05b62e..dca4cf956 100644
--- a/glm/ext/matrix_double4x3.hpp
+++ b/glm/ext/matrix_double4x3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 4 columns of 3 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double4x3_precision.hpp b/glm/ext/matrix_double4x3_precision.hpp
index 57a36b157..f7371de84 100644
--- a/glm/ext/matrix_double4x3_precision.hpp
+++ b/glm/ext/matrix_double4x3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 4 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_double4x4.hpp b/glm/ext/matrix_double4x4.hpp
index 6c3a72bf5..81e1bf65c 100644
--- a/glm/ext/matrix_double4x4.hpp
+++ b/glm/ext/matrix_double4x4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 4 columns of 4 components matrix of double-precision floating-point numbers.
diff --git a/glm/ext/matrix_double4x4_precision.hpp b/glm/ext/matrix_double4x4_precision.hpp
index 53ade6dde..4c36a8486 100644
--- a/glm/ext/matrix_double4x4_precision.hpp
+++ b/glm/ext/matrix_double4x4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float2x2.hpp b/glm/ext/matrix_float2x2.hpp
index 7024103eb..53df921fe 100644
--- a/glm/ext/matrix_float2x2.hpp
+++ b/glm/ext/matrix_float2x2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 2 columns of 2 components matrix of single-precision floating-point numbers.
diff --git a/glm/ext/matrix_float2x2_precision.hpp b/glm/ext/matrix_float2x2_precision.hpp
index 2c3575bbe..898b6db71 100644
--- a/glm/ext/matrix_float2x2_precision.hpp
+++ b/glm/ext/matrix_float2x2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float2x3.hpp b/glm/ext/matrix_float2x3.hpp
index a5a1015c1..6f68822db 100644
--- a/glm/ext/matrix_float2x3.hpp
+++ b/glm/ext/matrix_float2x3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 2 columns of 3 components matrix of single-precision floating-point numbers.
diff --git a/glm/ext/matrix_float2x3_precision.hpp b/glm/ext/matrix_float2x3_precision.hpp
index a9305890b..50c103245 100644
--- a/glm/ext/matrix_float2x3_precision.hpp
+++ b/glm/ext/matrix_float2x3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 2 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float2x4.hpp b/glm/ext/matrix_float2x4.hpp
index 46c13c7df..30f30de3c 100644
--- a/glm/ext/matrix_float2x4.hpp
+++ b/glm/ext/matrix_float2x4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 2 columns of 4 components matrix of single-precision floating-point numbers.
diff --git a/glm/ext/matrix_float2x4_precision.hpp b/glm/ext/matrix_float2x4_precision.hpp
index f96113c69..079d63828 100644
--- a/glm/ext/matrix_float2x4_precision.hpp
+++ b/glm/ext/matrix_float2x4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 2 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float3x2_precision.hpp b/glm/ext/matrix_float3x2_precision.hpp
index 55cc64808..8572c2a1b 100644
--- a/glm/ext/matrix_float3x2_precision.hpp
+++ b/glm/ext/matrix_float3x2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 3 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float3x3.hpp b/glm/ext/matrix_float3x3.hpp
index 7b45c7ae5..177d809ff 100644
--- a/glm/ext/matrix_float3x3.hpp
+++ b/glm/ext/matrix_float3x3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 3 columns of 3 components matrix of single-precision floating-point numbers.
diff --git a/glm/ext/matrix_float3x3_precision.hpp b/glm/ext/matrix_float3x3_precision.hpp
index 48a6ec69c..8a900c164 100644
--- a/glm/ext/matrix_float3x3_precision.hpp
+++ b/glm/ext/matrix_float3x3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float3x4.hpp b/glm/ext/matrix_float3x4.hpp
index 7ebd57ab1..64b8459dc 100644
--- a/glm/ext/matrix_float3x4.hpp
+++ b/glm/ext/matrix_float3x4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 3 columns of 4 components matrix of single-precision floating-point numbers.
diff --git a/glm/ext/matrix_float3x4_precision.hpp b/glm/ext/matrix_float3x4_precision.hpp
index 8854f14a8..bc36bf13a 100644
--- a/glm/ext/matrix_float3x4_precision.hpp
+++ b/glm/ext/matrix_float3x4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 3 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float4x2.hpp b/glm/ext/matrix_float4x2.hpp
index cc0430f0b..1ed5227bf 100644
--- a/glm/ext/matrix_float4x2.hpp
+++ b/glm/ext/matrix_float4x2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 4 columns of 2 components matrix of single-precision floating-point numbers.
diff --git a/glm/ext/matrix_float4x2_precision.hpp b/glm/ext/matrix_float4x2_precision.hpp
index 36ffbdb1d..88fd06963 100644
--- a/glm/ext/matrix_float4x2_precision.hpp
+++ b/glm/ext/matrix_float4x2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 4 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float4x3.hpp b/glm/ext/matrix_float4x3.hpp
index bd375be33..5dbe76570 100644
--- a/glm/ext/matrix_float4x3.hpp
+++ b/glm/ext/matrix_float4x3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_matrix
/// @{
/// 4 columns of 3 components matrix of single-precision floating-point numbers.
diff --git a/glm/ext/matrix_float4x3_precision.hpp b/glm/ext/matrix_float4x3_precision.hpp
index 2543b2a07..846ed4fc8 100644
--- a/glm/ext/matrix_float4x3_precision.hpp
+++ b/glm/ext/matrix_float4x3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 4 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_float4x4.hpp b/glm/ext/matrix_float4x4.hpp
index 670ef191f..5ba111de0 100644
--- a/glm/ext/matrix_float4x4.hpp
+++ b/glm/ext/matrix_float4x4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @ingroup core
+ /// @ingroup core_matrix
/// @{
/// 4 columns of 4 components matrix of single-precision floating-point numbers.
diff --git a/glm/ext/matrix_float4x4_precision.hpp b/glm/ext/matrix_float4x4_precision.hpp
index 1f46c1596..597149bcf 100644
--- a/glm/ext/matrix_float4x4_precision.hpp
+++ b/glm/ext/matrix_float4x4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_matrix_precision
/// @{
/// 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
diff --git a/glm/ext/matrix_transform.hpp b/glm/ext/matrix_transform.hpp
index 5478c2d91..cbd187efd 100644
--- a/glm/ext/matrix_transform.hpp
+++ b/glm/ext/matrix_transform.hpp
@@ -4,8 +4,6 @@
/// @defgroup ext_matrix_transform GLM_EXT_matrix_transform
/// @ingroup ext
///
-/// Include to use the features of this extension.
-///
/// Defines functions that generate common transformation matrices.
///
/// The matrices generated by this extension use standard OpenGL fixed-function
@@ -14,6 +12,8 @@
/// (perspective, ortho, etc) are designed to expect. The OpenGL compatibility
/// specifications defines the particular layout of this eye space.
///
+/// Include to use the features of this extension.
+///
/// @see ext_matrix_projection
/// @see ext_matrix_clip_space
diff --git a/glm/ext/quaternion_double_precision.hpp b/glm/ext/quaternion_double_precision.hpp
index db034c2c9..0cd8367e2 100644
--- a/glm/ext/quaternion_double_precision.hpp
+++ b/glm/ext/quaternion_double_precision.hpp
@@ -4,9 +4,9 @@
/// @defgroup ext_quaternion_double_precision GLM_EXT_quaternion_double_precision
/// @ingroup ext
///
-/// Include to use the features of this extension.
-///
/// Defines a templated quaternion type and several quaternion operations.
+///
+/// Include to use the features of this extension.
#pragma once
diff --git a/glm/ext/quaternion_geometric.hpp b/glm/ext/quaternion_geometric.hpp
index fed31348f..bfa291178 100644
--- a/glm/ext/quaternion_geometric.hpp
+++ b/glm/ext/quaternion_geometric.hpp
@@ -4,10 +4,10 @@
/// @defgroup ext_quaternion_geometric GLM_EXT_quaternion_geometric
/// @ingroup ext
///
-/// Include to use the features of this extension.
-///
/// Defines a templated quaternion type and several quaternion operations.
///
+/// Include to use the features of this extension.
+///
/// @see core_geometric
/// @see ext_quaternion_float
/// @see ext_quaternion_double
diff --git a/glm/ext/quaternion_relational.hpp b/glm/ext/quaternion_relational.hpp
index ac3e9ea02..d9e308dea 100644
--- a/glm/ext/quaternion_relational.hpp
+++ b/glm/ext/quaternion_relational.hpp
@@ -4,10 +4,10 @@
/// @defgroup ext_quaternion_relational GLM_EXT_quaternion_relational
/// @ingroup ext
///
-/// Include to use the features of this extension.
-///
/// Defines a templated quaternion type and several quaternion operations.
///
+/// Include to use the features of this extension.
+///
/// @see core_vector_relational
/// @see ext_vector_relational
/// @see ext_matrix_relational
diff --git a/glm/ext/quaternion_transform.hpp b/glm/ext/quaternion_transform.hpp
index d6640c6f1..975bca8b8 100644
--- a/glm/ext/quaternion_transform.hpp
+++ b/glm/ext/quaternion_transform.hpp
@@ -4,10 +4,10 @@
/// @defgroup ext_quaternion_transform GLM_EXT_quaternion_transform
/// @ingroup ext
///
-/// Include to use the features of this extension.
-///
/// Defines a templated quaternion type and several quaternion operations.
///
+/// Include to use the features of this extension.
+///
/// @see ext_quaternion_float
/// @see ext_quaternion_double
/// @see ext_quaternion_exponential
diff --git a/glm/ext/quaternion_trigonometric.hpp b/glm/ext/quaternion_trigonometric.hpp
index ef0fb5851..391d862bd 100644
--- a/glm/ext/quaternion_trigonometric.hpp
+++ b/glm/ext/quaternion_trigonometric.hpp
@@ -4,10 +4,10 @@
/// @defgroup ext_quaternion_trigonometric GLM_EXT_quaternion_trigonometric
/// @ingroup ext
///
-/// Include to use the features of this extension.
-///
/// Defines a templated quaternion type and several quaternion operations.
///
+/// Include to use the features of this extension.
+///
/// @see ext_quaternion_float
/// @see ext_quaternion_double
/// @see ext_quaternion_exponential
diff --git a/glm/ext/vector_bool2.hpp b/glm/ext/vector_bool2.hpp
index 83daa0805..52288b75c 100644
--- a/glm/ext/vector_bool2.hpp
+++ b/glm/ext/vector_bool2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 2 components vector of boolean.
diff --git a/glm/ext/vector_bool2_precision.hpp b/glm/ext/vector_bool2_precision.hpp
index 5fd012b04..43709332c 100644
--- a/glm/ext/vector_bool2_precision.hpp
+++ b/glm/ext/vector_bool2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 2 components vector of high qualifier bool numbers.
diff --git a/glm/ext/vector_bool3.hpp b/glm/ext/vector_bool3.hpp
index 28fe718a2..90a0b7ea5 100644
--- a/glm/ext/vector_bool3.hpp
+++ b/glm/ext/vector_bool3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 3 components vector of boolean.
diff --git a/glm/ext/vector_bool3_precision.hpp b/glm/ext/vector_bool3_precision.hpp
index 0b377d675..89cd2d320 100644
--- a/glm/ext/vector_bool3_precision.hpp
+++ b/glm/ext/vector_bool3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 3 components vector of high qualifier bool numbers.
diff --git a/glm/ext/vector_bool4.hpp b/glm/ext/vector_bool4.hpp
index 7de708495..18aa71bd0 100644
--- a/glm/ext/vector_bool4.hpp
+++ b/glm/ext/vector_bool4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 4 components vector of boolean.
diff --git a/glm/ext/vector_bool4_precision.hpp b/glm/ext/vector_bool4_precision.hpp
index 25188c734..79786e542 100644
--- a/glm/ext/vector_bool4_precision.hpp
+++ b/glm/ext/vector_bool4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 4 components vector of high qualifier bool numbers.
diff --git a/glm/ext/vector_double1.hpp b/glm/ext/vector_double1.hpp
index 93afee0e0..ef12def42 100644
--- a/glm/ext/vector_double1.hpp
+++ b/glm/ext/vector_double1.hpp
@@ -4,7 +4,7 @@
/// @defgroup ext_vector_double1 GLM_EXT_vector_double1
/// @ingroup ext
///
-/// Expose dvec1 vector type.
+/// Exposes double-precision floating point vector type with one component.
///
/// Include to use the features of this extension.
///
diff --git a/glm/ext/vector_double2.hpp b/glm/ext/vector_double2.hpp
index 740f0ebe6..60e357750 100644
--- a/glm/ext/vector_double2.hpp
+++ b/glm/ext/vector_double2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 2 components vector of double-precision floating-point numbers.
diff --git a/glm/ext/vector_double2_precision.hpp b/glm/ext/vector_double2_precision.hpp
index 36f2efd1d..fa53940f6 100644
--- a/glm/ext/vector_double2_precision.hpp
+++ b/glm/ext/vector_double2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 2 components vector of high double-qualifier floating-point numbers.
diff --git a/glm/ext/vector_double3.hpp b/glm/ext/vector_double3.hpp
index f5fd0007b..6dfe4c675 100644
--- a/glm/ext/vector_double3.hpp
+++ b/glm/ext/vector_double3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 3 components vector of double-precision floating-point numbers.
diff --git a/glm/ext/vector_double3_precision.hpp b/glm/ext/vector_double3_precision.hpp
index b4a444099..a8cfa37a8 100644
--- a/glm/ext/vector_double3_precision.hpp
+++ b/glm/ext/vector_double3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 3 components vector of high double-qualifier floating-point numbers.
diff --git a/glm/ext/vector_double4.hpp b/glm/ext/vector_double4.hpp
index b2678ff57..87f225f64 100644
--- a/glm/ext/vector_double4.hpp
+++ b/glm/ext/vector_double4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 4 components vector of double-precision floating-point numbers.
diff --git a/glm/ext/vector_double4_precision.hpp b/glm/ext/vector_double4_precision.hpp
index aa17c2eb5..09cafa1eb 100644
--- a/glm/ext/vector_double4_precision.hpp
+++ b/glm/ext/vector_double4_precision.hpp
@@ -7,7 +7,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 4 components vector of high double-qualifier floating-point numbers.
diff --git a/glm/ext/vector_float1.hpp b/glm/ext/vector_float1.hpp
index f63df5bd4..28acc2c9c 100644
--- a/glm/ext/vector_float1.hpp
+++ b/glm/ext/vector_float1.hpp
@@ -4,7 +4,7 @@
/// @defgroup ext_vector_float1 GLM_EXT_vector_float1
/// @ingroup ext
///
-/// Floating point vector type with one component.
+/// Exposes single-precision floating point vector type with one component.
///
/// Include to use the features of this extension.
///
diff --git a/glm/ext/vector_float1_precision.hpp b/glm/ext/vector_float1_precision.hpp
index 5b7906f65..6e8dad8d1 100644
--- a/glm/ext/vector_float1_precision.hpp
+++ b/glm/ext/vector_float1_precision.hpp
@@ -4,10 +4,10 @@
/// @defgroup ext_vector_float1_precision GLM_EXT_vector_float1_precision
/// @ingroup ext
///
-/// Include to use the features of this extension.
-///
/// Exposes highp_vec1, mediump_vec1 and lowp_vec1 types.
///
+/// Include to use the features of this extension.
+///
/// @see ext_vector_float1 extension.
#pragma once
diff --git a/glm/ext/vector_float2.hpp b/glm/ext/vector_float2.hpp
index 611220a9b..d31545dcc 100644
--- a/glm/ext/vector_float2.hpp
+++ b/glm/ext/vector_float2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 2 components vector of single-precision floating-point numbers.
diff --git a/glm/ext/vector_float2_precision.hpp b/glm/ext/vector_float2_precision.hpp
index c5c05cdbf..23c0820d0 100644
--- a/glm/ext/vector_float2_precision.hpp
+++ b/glm/ext/vector_float2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 2 components vector of high single-qualifier floating-point numbers.
diff --git a/glm/ext/vector_float3.hpp b/glm/ext/vector_float3.hpp
index e702624f3..cd79a6200 100644
--- a/glm/ext/vector_float3.hpp
+++ b/glm/ext/vector_float3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 3 components vector of single-precision floating-point numbers.
diff --git a/glm/ext/vector_float3_precision.hpp b/glm/ext/vector_float3_precision.hpp
index b4779e594..be640b531 100644
--- a/glm/ext/vector_float3_precision.hpp
+++ b/glm/ext/vector_float3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 3 components vector of high single-qualifier floating-point numbers.
diff --git a/glm/ext/vector_float4.hpp b/glm/ext/vector_float4.hpp
index 34acc1b96..d84adcc22 100644
--- a/glm/ext/vector_float4.hpp
+++ b/glm/ext/vector_float4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 4 components vector of single-precision floating-point numbers.
diff --git a/glm/ext/vector_float4_precision.hpp b/glm/ext/vector_float4_precision.hpp
index 014f754b6..aede83882 100644
--- a/glm/ext/vector_float4_precision.hpp
+++ b/glm/ext/vector_float4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 4 components vector of high single-qualifier floating-point numbers.
diff --git a/glm/ext/vector_int1_precision.hpp b/glm/ext/vector_int1_precision.hpp
index c7a0498d3..3323954b5 100644
--- a/glm/ext/vector_int1_precision.hpp
+++ b/glm/ext/vector_int1_precision.hpp
@@ -4,7 +4,7 @@
/// @defgroup ext_vector_int1_precision GLM_EXT_vector_int1_precision
/// @ingroup ext
///
-/// Add Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types.
+/// Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types.
///
/// Include to use the features of this extension.
diff --git a/glm/ext/vector_int2.hpp b/glm/ext/vector_int2.hpp
index dbe05ac5d..aef803e91 100644
--- a/glm/ext/vector_int2.hpp
+++ b/glm/ext/vector_int2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 2 components vector of signed integer numbers.
diff --git a/glm/ext/vector_int2_precision.hpp b/glm/ext/vector_int2_precision.hpp
index 1f75a5016..97315fc31 100644
--- a/glm/ext/vector_int2_precision.hpp
+++ b/glm/ext/vector_int2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 2 components vector of high qualifier signed integer numbers.
diff --git a/glm/ext/vector_int3.hpp b/glm/ext/vector_int3.hpp
index 13240bdf4..4767e61e8 100644
--- a/glm/ext/vector_int3.hpp
+++ b/glm/ext/vector_int3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 3 components vector of signed integer numbers.
diff --git a/glm/ext/vector_int3_precision.hpp b/glm/ext/vector_int3_precision.hpp
index 25c6f5c32..2cd3f5ff8 100644
--- a/glm/ext/vector_int3_precision.hpp
+++ b/glm/ext/vector_int3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 3 components vector of high qualifier signed integer numbers.
diff --git a/glm/ext/vector_int4.hpp b/glm/ext/vector_int4.hpp
index f5c4b75c4..bb23adf70 100644
--- a/glm/ext/vector_int4.hpp
+++ b/glm/ext/vector_int4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 4 components vector of signed integer numbers.
diff --git a/glm/ext/vector_int4_precision.hpp b/glm/ext/vector_int4_precision.hpp
index 289639b82..4fcd79169 100644
--- a/glm/ext/vector_int4_precision.hpp
+++ b/glm/ext/vector_int4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 4 components vector of high qualifier signed integer numbers.
diff --git a/glm/ext/vector_uint1_precision.hpp b/glm/ext/vector_uint1_precision.hpp
index fb618cb0a..30daa5b66 100644
--- a/glm/ext/vector_uint1_precision.hpp
+++ b/glm/ext/vector_uint1_precision.hpp
@@ -4,9 +4,9 @@
/// @defgroup ext_vector_uint1_precision GLM_EXT_vector_uint1_precision
/// @ingroup ext
///
-/// Include to use the features of this extension.
+/// Exposes highp_uvec1, mediump_uvec1 and lowp_uvec1 types.
///
-/// Add Exposes highp_uvec1, mediump_uvec1 and lowp_uvec1 types.
+/// Include to use the features of this extension.
#pragma once
diff --git a/glm/ext/vector_uint2.hpp b/glm/ext/vector_uint2.hpp
index 4e8b61230..03c00f5ff 100644
--- a/glm/ext/vector_uint2.hpp
+++ b/glm/ext/vector_uint2.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 2 components vector of unsigned integer numbers.
diff --git a/glm/ext/vector_uint2_precision.hpp b/glm/ext/vector_uint2_precision.hpp
index 9663c4db9..2ba7b0d43 100644
--- a/glm/ext/vector_uint2_precision.hpp
+++ b/glm/ext/vector_uint2_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 2 components vector of high qualifier unsigned integer numbers.
diff --git a/glm/ext/vector_uint3.hpp b/glm/ext/vector_uint3.hpp
index 7da78cdea..f5b41c408 100644
--- a/glm/ext/vector_uint3.hpp
+++ b/glm/ext/vector_uint3.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 3 components vector of unsigned integer numbers.
diff --git a/glm/ext/vector_uint3_precision.hpp b/glm/ext/vector_uint3_precision.hpp
index 778e708f9..125191c77 100644
--- a/glm/ext/vector_uint3_precision.hpp
+++ b/glm/ext/vector_uint3_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 3 components vector of high qualifier unsigned integer numbers.
diff --git a/glm/ext/vector_uint4.hpp b/glm/ext/vector_uint4.hpp
index ba0f950af..32ced58a8 100644
--- a/glm/ext/vector_uint4.hpp
+++ b/glm/ext/vector_uint4.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core
+ /// @addtogroup core_vector
/// @{
/// 4 components vector of unsigned integer numbers.
diff --git a/glm/ext/vector_uint4_precision.hpp b/glm/ext/vector_uint4_precision.hpp
index 4c548b9d4..cf4097ce9 100644
--- a/glm/ext/vector_uint4_precision.hpp
+++ b/glm/ext/vector_uint4_precision.hpp
@@ -6,7 +6,7 @@
namespace glm
{
- /// @addtogroup core_precision
+ /// @addtogroup core_vector_precision
/// @{
/// 4 components vector of high qualifier unsigned integer numbers.
diff --git a/glm/glm.hpp b/glm/glm.hpp
index 71ca415df..8b6106496 100644
--- a/glm/glm.hpp
+++ b/glm/glm.hpp
@@ -6,9 +6,7 @@
/// @brief Features that implement in C++ the GLSL specification as closely as possible.
///
/// The GLM core consists of C++ types that mirror GLSL types and
-/// C++ functions that mirror the GLSL functions. It also includes
-/// @ref core_precision "a set of qualifier-based types" that can be used in the appropriate
-/// functions.
+/// C++ functions that mirror the GLSL functions.
///
/// The best documentation for GLM Core is the current GLSL specification,
/// version 4.2
@@ -16,13 +14,21 @@
///
/// GLM core functionalities require to be included to be used.
///
-/// @defgroup core_precision Precision types
///
-/// @brief Non-GLSL types that are used to define qualifier-based types.
+/// @defgroup core_vector Vector types
///
-/// The GLSL language allows the user to define the qualifier of a particular variable.
-/// In OpenGL's GLSL, these qualifier qualifiers have no effect; they are there for compatibility
-/// with OpenGL ES's qualifier qualifiers, where they @em do have an effect.
+/// Vector types of two to four components with an exhaustive set of operators.
+///
+/// @ingroup core
+///
+///
+/// @defgroup core_vector_precision Vector types with precision qualifiers
+///
+/// @brief Vector types with precision qualifiers which may result in various precision in term of ULPs
+///
+/// GLSL allows defining qualifiers for particular variables.
+/// With OpenGL's GLSL, these qualifiers have no effect; they are there for compatibility,
+/// with OpenGL ES's GLSL, these qualifiers do have an effect.
///
/// C++ has no language equivalent to qualifier qualifiers. So GLM provides the next-best thing:
/// a number of typedefs that use a particular qualifier.
@@ -31,6 +37,31 @@
///
/// @ingroup core
///
+///
+/// @defgroup core_matrix Matrix types
+///
+/// Matrix types of with C columns and R rows where C and R are values between 2 to 4 included.
+/// These types have exhaustive sets of operators.
+///
+/// @ingroup core
+///
+///
+/// @defgroup core_matrix_precision Matrix types with precision qualifiers
+///
+/// @brief Matrix types with precision qualifiers which may result in various precision in term of ULPs
+///
+/// GLSL allows defining qualifiers for particular variables.
+/// With OpenGL's GLSL, these qualifiers have no effect; they are there for compatibility,
+/// with OpenGL ES's GLSL, these qualifiers do have an effect.
+///
+/// C++ has no language equivalent to qualifier qualifiers. So GLM provides the next-best thing:
+/// a number of typedefs that use a particular qualifier.
+///
+/// None of these types make any guarantees about the actual qualifier used.
+///
+/// @ingroup core
+///
+///
/// @defgroup ext Stable extensions
///
/// @brief Additional features not specified by GLSL specification.
@@ -40,6 +71,7 @@
/// Even if it's highly unrecommended, it's possible to include all the extensions at once by
/// including . Otherwise, each extension needs to be included a specific file.
///
+///
/// @defgroup gtc Recommended extensions
///
/// @brief Additional features not specified by GLSL specification.
@@ -49,6 +81,7 @@
/// Even if it's highly unrecommended, it's possible to include all the extensions at once by
/// including . Otherwise, each extension needs to be included a specific file.
///
+///
/// @defgroup gtx Experimental extensions
///
/// @brief Experimental features not specified by GLSL specification.
diff --git a/glm/gtc/type_precision.hpp b/glm/gtc/type_precision.hpp
index b5bf482f8..2f73c063c 100644
--- a/glm/gtc/type_precision.hpp
+++ b/glm/gtc/type_precision.hpp
@@ -10,9 +10,6 @@
/// Include to use the features of this extension.
///
/// Defines specific C++-based qualifier types.
-///
-/// @ref core_precision defines types based on GLSL's qualifier qualifiers. This
-/// extension defines types based on explicitly-sized C++ data types.
#pragma once
diff --git a/glm/gtx/type_aligned.hpp b/glm/gtx/type_aligned.hpp
index 17b9d2ae8..130f4cd69 100644
--- a/glm/gtx/type_aligned.hpp
+++ b/glm/gtx/type_aligned.hpp
@@ -10,8 +10,6 @@
/// Include to use the features of this extension.
///
/// Defines aligned types.
-///
-/// @ref core_precision defines aligned types.
#pragma once