►Core features | Features that implement in C++ the GLSL specification as closely as possible |
Common functions | Provides GLSL common functions |
Exponential functions | Provides GLSL exponential functions |
Geometric functions | These operate on vectors as vectors, not component-wise |
Vector types | Vector types of two to four components with an exhaustive set of operators |
Vector types with precision qualifiers | Vector types with precision qualifiers which may result in various precision in term of ULPs |
Matrix types | Matrix types of with C columns and R rows where C and R are values between 2 to 4 included |
Matrix types with precision qualifiers | Matrix types with precision qualifiers which may result in various precision in term of ULPs |
Integer functions | Provides GLSL functions on integer types |
Matrix functions | Provides GLSL matrix functions |
Floating-Point Pack and Unpack Functions | Provides GLSL functions to pack and unpack half, single and double-precision floating point values into more compact integer types |
Angle and Trigonometry Functions | Function parameters specified as angle are assumed to be in units of radians |
Vector Relational Functions | Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results |
►Stable extensions | Additional features not specified by GLSL specification |
GLM_EXT_matrix_clip_space | Defines functions that generate clip space transformation matrices |
GLM_EXT_matrix_common | Defines functions for common matrix operations |
GLM_EXT_matrix_projection | Functions that generate common projection transformation matrices |
GLM_EXT_matrix_relational | Exposes comparison functions for matrix types that take a user defined epsilon values |
GLM_EXT_matrix_transform | Defines functions that generate common transformation matrices |
GLM_EXT_quaternion_common | Provides common functions for quaternion types |
GLM_EXT_quaternion_double | Exposes double-precision floating point quaternion type |
GLM_EXT_quaternion_double_precision | Exposes double-precision floating point quaternion type with various precision in term of ULPs |
GLM_EXT_quaternion_exponential | Provides exponential functions for quaternion types |
GLM_EXT_quaternion_float | Exposes single-precision floating point quaternion type |
GLM_EXT_quaternion_float_precision | Exposes single-precision floating point quaternion type with various precision in term of ULPs |
GLM_EXT_quaternion_geometric | Provides geometric functions for quaternion types |
GLM_EXT_quaternion_relational | Exposes comparison functions for quaternion types that take a user defined epsilon values |
GLM_EXT_quaternion_transform | Provides transformation functions for quaternion types |
GLM_EXT_quaternion_trigonometric | Provides trigonometric functions for quaternion types |
GLM_EXT_scalar_common | Exposes min and max functions for 3 to 4 scalar parameters |
GLM_EXT_scalar_constants | Provides a list of constants and precomputed useful values |
GLM_EXT_scalar_int_sized | Exposes sized signed integer scalar types |
GLM_EXT_scalar_integer | Include <glm/ext/scalar_integer.hpp> to use the features of this extension |
GLM_EXT_scalar_relational | Exposes comparison functions for scalar types that take a user defined epsilon values |
GLM_EXT_scalar_uint_sized | Exposes sized unsigned integer scalar types |
GLM_EXT_scalar_ulp | Allow the measurement of the accuracy of a function against a reference implementation |
GLM_EXT_vector_bool1 | Exposes bvec1 vector type |
GLM_EXT_vector_bool1_precision | Exposes highp_bvec1, mediump_bvec1 and lowp_bvec1 types |
GLM_EXT_vector_common | Exposes min and max functions for 3 to 4 vector parameters |
GLM_EXT_vector_double1 | Exposes double-precision floating point vector type with one component |
GLM_EXT_vector_double1_precision | Exposes highp_dvec1, mediump_dvec1 and lowp_dvec1 types |
GLM_EXT_vector_float1 | Exposes single-precision floating point vector type with one component |
GLM_EXT_vector_float1_precision | Exposes highp_vec1, mediump_vec1 and lowp_vec1 types |
GLM_EXT_vector_int1 | Exposes ivec1 vector type |
GLM_EXT_vector_int1_precision | Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types |
GLM_EXT_vector_integer | Include <glm/ext/vector_integer.hpp> to use the features of this extension |
GLM_EXT_vector_relational | Exposes comparison functions for vector types that take a user defined epsilon values |
GLM_EXT_vector_uint1 | Exposes uvec1 vector type |
GLM_EXT_vector_uint1_precision | Exposes highp_uvec1, mediump_uvec1 and lowp_uvec1 types |
GLM_EXT_vector_ulp | Allow the measurement of the accuracy of a function against a reference implementation |
►Recommended extensions | Additional features not specified by GLSL specification |
GLM_GTC_bitfield | Include <glm/gtc/bitfield.hpp> to use the features of this extension |
GLM_GTC_color_space | Include <glm/gtc/color_space.hpp> to use the features of this extension |
GLM_GTC_constants | Include <glm/gtc/constants.hpp> to use the features of this extension |
GLM_GTC_epsilon | Include <glm/gtc/epsilon.hpp> to use the features of this extension |
GLM_GTC_integer | Include <glm/gtc/integer.hpp> to use the features of this extension |
GLM_GTC_matrix_access | Include <glm/gtc/matrix_access.hpp> to use the features of this extension |
GLM_GTC_matrix_integer | Include <glm/gtc/matrix_integer.hpp> to use the features of this extension |
GLM_GTC_matrix_inverse | Include <glm/gtc/matrix_integer.hpp> to use the features of this extension |
GLM_GTC_matrix_transform | Include <glm/gtc/matrix_transform.hpp> to use the features of this extension |
GLM_GTC_noise | Include <glm/gtc/noise.hpp> to use the features of this extension |
GLM_GTC_packing | Include <glm/gtc/packing.hpp> to use the features of this extension |
GLM_GTC_quaternion | Include <glm/gtc/quaternion.hpp> to use the features of this extension |
GLM_GTC_random | Include <glm/gtc/random.hpp> to use the features of this extension |
GLM_GTC_reciprocal | Include <glm/gtc/reciprocal.hpp> to use the features of this extension |
GLM_GTC_round | Include <glm/gtc/round.hpp> to use the features of this extension |
GLM_GTC_type_aligned | Include <glm/gtc/type_aligned.hpp> to use the features of this extension |
GLM_GTC_type_precision | Include <glm/gtc/type_precision.hpp> to use the features of this extension |
GLM_GTC_type_ptr | Include <glm/gtc/type_ptr.hpp> to use the features of this extension |
GLM_GTC_ulp | Include <glm/gtc/ulp.hpp> to use the features of this extension |
GLM_GTC_vec1 | Include <glm/gtc/vec1.hpp> to use the features of this extension |
►Experimental extensions | Experimental features not specified by GLSL specification |
GLM_GTX_associated_min_max | Include <glm/gtx/associated_min_max.hpp> to use the features of this extension |
GLM_GTX_bit | Include <glm/gtx/bit.hpp> to use the features of this extension |
GLM_GTX_closest_point | Include <glm/gtx/closest_point.hpp> to use the features of this extension |
GLM_GTX_color_encoding | Include <glm/gtx/color_encoding.hpp> to use the features of this extension |
GLM_GTX_color_space | Include <glm/gtx/color_space.hpp> to use the features of this extension |
GLM_GTX_color_space_YCoCg | Include <glm/gtx/color_space_YCoCg.hpp> to use the features of this extension |
GLM_GTX_common | Include <glm/gtx/common.hpp> to use the features of this extension |
GLM_GTX_compatibility | Include <glm/gtx/compatibility.hpp> to use the features of this extension |
GLM_GTX_component_wise | Include <glm/gtx/component_wise.hpp> to use the features of this extension |
GLM_GTX_dual_quaternion | Include <glm/gtx/dual_quaternion.hpp> to use the features of this extension |
GLM_GTX_easing | Include <glm/gtx/easing.hpp> to use the features of this extension |
GLM_GTX_euler_angles | Include <glm/gtx/euler_angles.hpp> to use the features of this extension |
GLM_GTX_extend | Include <glm/gtx/extend.hpp> to use the features of this extension |
GLM_GTX_extented_min_max | Include <glm/gtx/extented_min_max.hpp> to use the features of this extension |
GLM_GTX_exterior_product | Include <glm/gtx/exterior_product.hpp> to use the features of this extension |
GLM_GTX_fast_exponential | Include <glm/gtx/fast_exponential.hpp> to use the features of this extension |
GLM_GTX_fast_square_root | Include <glm/gtx/fast_square_root.hpp> to use the features of this extension |
GLM_GTX_fast_trigonometry | Include <glm/gtx/fast_trigonometry.hpp> to use the features of this extension |
GLM_GTX_functions | Include <glm/gtx/functions.hpp> to use the features of this extension |
GLM_GTX_gradient_paint | Include <glm/gtx/gradient_paint.hpp> to use the features of this extension |
GLM_GTX_handed_coordinate_space | Include <glm/gtx/handed_coordinate_system.hpp> to use the features of this extension |
GLM_GTX_hash | Include <glm/gtx/hash.hpp> to use the features of this extension |
GLM_GTX_integer | Include <glm/gtx/integer.hpp> to use the features of this extension |
GLM_GTX_intersect | Include <glm/gtx/intersect.hpp> to use the features of this extension |
GLM_GTX_io | Include <glm/gtx/io.hpp> to use the features of this extension |
GLM_GTX_log_base | Include <glm/gtx/log_base.hpp> to use the features of this extension |
GLM_GTX_matrix_cross_product | Include <glm/gtx/matrix_cross_product.hpp> to use the features of this extension |
GLM_GTX_matrix_decompose | Include <glm/gtx/matrix_decompose.hpp> to use the features of this extension |
GLM_GTX_matrix_factorisation | Include <glm/gtx/matrix_factorisation.hpp> to use the features of this extension |
GLM_GTX_matrix_interpolation | Include <glm/gtx/matrix_interpolation.hpp> to use the features of this extension |
GLM_GTX_matrix_major_storage | Include <glm/gtx/matrix_major_storage.hpp> to use the features of this extension |
GLM_GTX_matrix_operation | Include <glm/gtx/matrix_operation.hpp> to use the features of this extension |
GLM_GTX_matrix_query | Include <glm/gtx/matrix_query.hpp> to use the features of this extension |
GLM_GTX_matrix_transform_2d | Include <glm/gtx/matrix_transform_2d.hpp> to use the features of this extension |
GLM_GTX_mixed_producte | Include <glm/gtx/mixed_product.hpp> to use the features of this extension |
GLM_GTX_norm | Include <glm/gtx/norm.hpp> to use the features of this extension |
GLM_GTX_normal | Include <glm/gtx/normal.hpp> to use the features of this extension |
GLM_GTX_normalize_dot | Include <glm/gtx/normalized_dot.hpp> to use the features of this extension |
GLM_GTX_number_precision | Include <glm/gtx/number_precision.hpp> to use the features of this extension |
GLM_GTX_optimum_pow | Include <glm/gtx/optimum_pow.hpp> to use the features of this extension |
GLM_GTX_orthonormalize | Include <glm/gtx/orthonormalize.hpp> to use the features of this extension |
GLM_GTX_perpendicular | Include <glm/gtx/perpendicular.hpp> to use the features of this extension |
GLM_GTX_polar_coordinates | Include <glm/gtx/polar_coordinates.hpp> to use the features of this extension |
GLM_GTX_projection | Include <glm/gtx/projection.hpp> to use the features of this extension |
GLM_GTX_quaternion | Include <glm/gtx/quaternion.hpp> to use the features of this extension |
GLM_GTX_range | Include <glm/gtx/range.hpp> to use the features of this extension |
GLM_GTX_raw_data | Include <glm/gtx/raw_data.hpp> to use the features of this extension |
GLM_GTX_rotate_normalized_axis | Include <glm/gtx/rotate_normalized_axis.hpp> to use the features of this extension |
GLM_GTX_rotate_vector | Include <glm/gtx/rotate_vector.hpp> to use the features of this extension |
GLM_GTX_scalar_relational | Include <glm/gtx/scalar_relational.hpp> to use the features of this extension |
GLM_GTX_spline | Include <glm/gtx/spline.hpp> to use the features of this extension |
GLM_GTX_std_based_type | Include <glm/gtx/std_based_type.hpp> to use the features of this extension |
GLM_GTX_string_cast | Include <glm/gtx/string_cast.hpp> to use the features of this extension |
GLM_GTX_texture | Include <glm/gtx/texture.hpp> to use the features of this extension |
GLM_GTX_transform | Include <glm/gtx/transform.hpp> to use the features of this extension |
GLM_GTX_transform2 | Include <glm/gtx/transform2.hpp> to use the features of this extension |
GLM_GTX_type_aligned | Include <glm/gtx/type_aligned.hpp> to use the features of this extension |
GLM_GTX_type_trait | Include <glm/gtx/type_trait.hpp> to use the features of this extension |
GLM_GTX_vec_swizzle | Include <glm/gtx/vec_swizzle.hpp> to use the features of this extension |
GLM_GTX_vector_angle | Include <glm/gtx/vector_angle.hpp> to use the features of this extension |
GLM_GTX_vector_query | Include <glm/gtx/vector_query.hpp> to use the features of this extension |
GLM_GTX_wrap | Include <glm/gtx/wrap.hpp> to use the features of this extension |