| 
    Flow Visualisation
    
   | 
 
| ▼GTC Extensions (Stable) | Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program | 
| GLM_GTC_constants | Allow to perform bit operations on integer values | 
| GLM_GTC_epsilon | Comparison functions for a user defined epsilon values | 
| GLM_GTC_half_float | |
| GLM_GTC_matrix_access | |
| GLM_GTC_matrix_integer | |
| GLM_GTC_matrix_inverse | |
| GLM_GTC_matrix_transform | Defines functions that generate common transformation matrices | 
| GLM_GTC_noise | |
| GLM_GTC_quaternion | Defines a templated quaternion type and several quaternion operations | 
| GLM_GTC_random | Generate random number from various distribution methods | 
| GLM_GTC_reciprocal | Define secant, cosecant and cotangent functions | 
| GLM_GTC_swizzle | Provide functions to emulate GLSL swizzle operator fonctionalities | 
| GLM_GTC_type_precision | Defines specific C++-based precision types | 
| GLM_GTC_type_ptr | Handles the interaction between pointers and vector, matrix types | 
| GLM_GTC_ulp | Allow the measurement of the accuracy of a function against a reference implementation. This extension works on floating-point data and provide results in ULP. <glm/gtc/ulp.hpp> need to be included to use these features | 
| ▼GTX Extensions (Experimental) | Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program | 
| GLM_GTX_associated_min_max | Min and max functions that return associated values not the compared onces. <glm/gtx/associated_min_max.hpp> need to be included to use these functionalities | 
| GLM_GTX_bit | Allow to perform bit operations on integer values | 
| GLM_GTX_closest_point | Find the point on a straight line which is the closet of a point | 
| GLM_GTX_color_cast | Conversion between two color types | 
| GLM_GTX_color_space | Related to RGB to HSV conversions and operations | 
| GLM_GTX_color_space_YCoCg | RGB to YCoCg conversions and operations | 
| GLM_GTX_compatibility | Provide functions to increase the compatibility with Cg and HLSL languages | 
| GLM_GTX_component_wise | Operations between components of a type | 
| GLM_GTX_euler_angles | Build matrices from Euler angles | 
| GLM_GTX_extend | Extend a position from a source to a position at a defined length | 
| GLM_GTX_extented_min_max | |
| GLM_GTX_fast_exponential | Fast but less accurate implementations of exponential based functions | 
| GLM_GTX_fast_square_root | Fast but less accurate implementations of square root based functions | 
| GLM_GTX_fast_trigonometry | Fast but less accurate implementations of trigonometric functions | 
| GLM_GTX_gradient_paint | Functions that return the color of procedural gradient for specific coordinates. <glm/gtx/gradient_paint.hpp> need to be included to use these functionalities | 
| GLM_GTX_handed_coordinate_space | To know if a set of three basis vectors defines a right or left-handed coordinate system | 
| GLM_GTX_inertia | Create inertia matrices | 
| GLM_GTX_int_10_10_10_2 | Pack vector to 1010102 integers. Storage only | 
| GLM_GTX_integer | Add support for integer for core functions | 
| GLM_GTX_intersect | Add intersection functions | 
| GLM_GTX_log_base | Logarithm for any base. base can be a vector or a scalar | 
| GLM_GTX_matrix_cross_product | Build cross product matrices | 
| GLM_GTX_matrix_interpolation | Allows to directly interpolate two exiciting matrices | 
| GLM_GTX_matrix_major_storage | Build matrices with specific matrix order, row or column | 
| GLM_GTX_matrix_operation | Build diagonal matrices from vectors | 
| GLM_GTX_matrix_query | Query to evaluate matrix properties | 
| GLM_GTX_mixed_producte | Mixed product of 3 vectors | 
| GLM_GTX_multiple | Find the closest number of a number multiple of other number | 
| GLM_GTX_norm | Various ways to compute vector norms | 
| GLM_GTX_normal | Compute the normal of a triangle | 
| GLM_GTX_normalize_dot | Dot product of vectors that need to be normalize with a single square root | 
| GLM_GTX_number_precision | Defined size types | 
| GLM_GTX_ocl_type | OpenCL types | 
| GLM_GTX_optimum_pow | Integer exponentiation of power functions | 
| GLM_GTX_orthonormalize | Orthonormalize matrices | 
| GLM_GTX_perpendicular | Perpendicular of a vector from other one | 
| GLM_GTX_polar_coordinates | Conversion from Euclidean space to polar space and revert | 
| GLM_GTX_projection | Projection of a vector to other one | 
| GLM_GTX_quaternion | Extented quaternion types and functions | 
| GLM_GTX_raw_data | Projection of a vector to other one | 
| GLM_GTX_rotate_vector | Function to directly rotate a vector | 
| GLM_GTX_simd_mat4 | SIMD implementation of mat4 type | 
| GLM_GTX_simd_vec4 | SIMD implementation of vec4 type | 
| GLM_GTX_spline | Spline functions | 
| GLM_GTX_std_based_type | Adds vector types based on STL value types. <glm/gtx/std_based_type.hpp> need to be included to use these functionalities | 
| GLM_GTX_string_cast | Setup strings for GLM type values | 
| GLM_GTX_transform | Add transformation matrices | 
| GLM_GTX_transform2 | Add extra transformation matrices | 
| GLM_GTX_vec1 | Add vec1, ivec1, uvec1 and bvec1 types. <glm/gtx/vec1.hpp> need to be included to use these functionalities | 
| GLM_GTX_vector_access | Function to set values to vectors | 
| GLM_GTX_vector_angle | Compute angle between vectors | 
| GLM_GTX_vector_query | Query informations of vector types | 
| GLM_GTX_verbose_operator | Use words to replace operators | 
| GLM_GTX_wrap | Wrapping mode of texture coordinates | 
| ▼VIRTREV Extensions | Extensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660) | 
| GLM_VIRTREV_xstream: xml like output | Streaming vector and matrix in a xml way | 
| ▼GLM Core | The core of GLM, which implements exactly and only the GLSL specification to the degree possible | 
| Common functions | |
| Exponential functions | |
| Geometric functions | |
| Integer functions | |
| Matrix functions | |
| Noise functions | |
| Floating-Point Pack and Unpack Functions | |
| Angle and Trigonometry Functions | |
| Vector Relational Functions | |
| Types | The standard types defined by the specification | 
| Precision types | Non-GLSL types that are used to define precision-based types | 
| Template types | The generic template types used as the basis for the core types |