ext.hpp
Go to the documentation of this file.
#include "detail/setup.hpp"
#pragma once
#include "glm.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED)
# define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
# pragma message("GLM: All extensions included (not recommended)")
#endif//GLM_MESSAGES
#include "./ext/matrix_clip_space.hpp"
#include "./ext/matrix_common.hpp"
#include "./ext/matrix_double2x2.hpp"
#include "./ext/matrix_double2x2_precision.hpp"
#include "./ext/matrix_double2x3.hpp"
#include "./ext/matrix_double2x3_precision.hpp"
#include "./ext/matrix_double2x4.hpp"
#include "./ext/matrix_double2x4_precision.hpp"
#include "./ext/matrix_double3x2.hpp"
#include "./ext/matrix_double3x2_precision.hpp"
#include "./ext/matrix_double3x3.hpp"
#include "./ext/matrix_double3x3_precision.hpp"
#include "./ext/matrix_double3x4.hpp"
#include "./ext/matrix_double3x4_precision.hpp"
#include "./ext/matrix_double4x2.hpp"
#include "./ext/matrix_double4x2_precision.hpp"
#include "./ext/matrix_double4x3.hpp"
#include "./ext/matrix_double4x3_precision.hpp"
#include "./ext/matrix_double4x4.hpp"
#include "./ext/matrix_double4x4_precision.hpp"
#include "./ext/matrix_float2x2.hpp"
#include "./ext/matrix_float2x2_precision.hpp"
#include "./ext/matrix_float2x3.hpp"
#include "./ext/matrix_float2x3_precision.hpp"
#include "./ext/matrix_float2x4.hpp"
#include "./ext/matrix_float2x4_precision.hpp"
#include "./ext/matrix_float3x2.hpp"
#include "./ext/matrix_float3x2_precision.hpp"
#include "./ext/matrix_float3x3.hpp"
#include "./ext/matrix_float3x3_precision.hpp"
#include "./ext/matrix_float3x4.hpp"
#include "./ext/matrix_float3x4_precision.hpp"
#include "./ext/matrix_float4x2.hpp"
#include "./ext/matrix_float4x2_precision.hpp"
#include "./ext/matrix_float4x3.hpp"
#include "./ext/matrix_float4x3_precision.hpp"
#include "./ext/matrix_float4x4.hpp"
#include "./ext/matrix_float4x4_precision.hpp"
#include "./ext/matrix_int2x2.hpp"
#include "./ext/matrix_int2x2_sized.hpp"
#include "./ext/matrix_int2x3.hpp"
#include "./ext/matrix_int2x3_sized.hpp"
#include "./ext/matrix_int2x4.hpp"
#include "./ext/matrix_int2x4_sized.hpp"
#include "./ext/matrix_int3x2.hpp"
#include "./ext/matrix_int3x2_sized.hpp"
#include "./ext/matrix_int3x3.hpp"
#include "./ext/matrix_int3x3_sized.hpp"
#include "./ext/matrix_int3x4.hpp"
#include "./ext/matrix_int3x4_sized.hpp"
#include "./ext/matrix_int4x2.hpp"
#include "./ext/matrix_int4x2_sized.hpp"
#include "./ext/matrix_int4x3.hpp"
#include "./ext/matrix_int4x3_sized.hpp"
#include "./ext/matrix_int4x4.hpp"
#include "./ext/matrix_int4x4_sized.hpp"
#include "./ext/matrix_uint2x2.hpp"
#include "./ext/matrix_uint2x2_sized.hpp"
#include "./ext/matrix_uint2x3.hpp"
#include "./ext/matrix_uint2x3_sized.hpp"
#include "./ext/matrix_uint2x4.hpp"
#include "./ext/matrix_uint2x4_sized.hpp"
#include "./ext/matrix_uint3x2.hpp"
#include "./ext/matrix_uint3x2_sized.hpp"
#include "./ext/matrix_uint3x3.hpp"
#include "./ext/matrix_uint3x3_sized.hpp"
#include "./ext/matrix_uint3x4.hpp"
#include "./ext/matrix_uint3x4_sized.hpp"
#include "./ext/matrix_uint4x2.hpp"
#include "./ext/matrix_uint4x2_sized.hpp"
#include "./ext/matrix_uint4x3.hpp"
#include "./ext/matrix_uint4x3_sized.hpp"
#include "./ext/matrix_uint4x4.hpp"
#include "./ext/matrix_uint4x4_sized.hpp"
#include "./ext/matrix_projection.hpp"
#include "./ext/matrix_relational.hpp"
#include "./ext/matrix_transform.hpp"
#include "./ext/quaternion_common.hpp"
#include "./ext/quaternion_double.hpp"
#include "./ext/quaternion_double_precision.hpp"
#include "./ext/quaternion_float.hpp"
#include "./ext/quaternion_float_precision.hpp"
#include "./ext/quaternion_exponential.hpp"
#include "./ext/quaternion_geometric.hpp"
#include "./ext/quaternion_relational.hpp"
#include "./ext/quaternion_transform.hpp"
#include "./ext/quaternion_trigonometric.hpp"
#include "./ext/scalar_common.hpp"
#include "./ext/scalar_constants.hpp"
#include "./ext/scalar_integer.hpp"
#include "./ext/scalar_packing.hpp"
#include "./ext/scalar_reciprocal.hpp"
#include "./ext/scalar_relational.hpp"
#include "./ext/scalar_ulp.hpp"
#include "./ext/scalar_int_sized.hpp"
#include "./ext/scalar_uint_sized.hpp"
#include "./ext/vector_common.hpp"
#include "./ext/vector_integer.hpp"
#include "./ext/vector_packing.hpp"
#include "./ext/vector_reciprocal.hpp"
#include "./ext/vector_relational.hpp"
#include "./ext/vector_ulp.hpp"
#include "./ext/vector_bool1.hpp"
#include "./ext/vector_bool1_precision.hpp"
#include "./ext/vector_bool2.hpp"
#include "./ext/vector_bool2_precision.hpp"
#include "./ext/vector_bool3.hpp"
#include "./ext/vector_bool3_precision.hpp"
#include "./ext/vector_bool4.hpp"
#include "./ext/vector_bool4_precision.hpp"
#include "./ext/vector_double1.hpp"
#include "./ext/vector_double1_precision.hpp"
#include "./ext/vector_double2.hpp"
#include "./ext/vector_double2_precision.hpp"
#include "./ext/vector_double3.hpp"
#include "./ext/vector_double3_precision.hpp"
#include "./ext/vector_double4.hpp"
#include "./ext/vector_double4_precision.hpp"
#include "./ext/vector_float1.hpp"
#include "./ext/vector_float1_precision.hpp"
#include "./ext/vector_float2.hpp"
#include "./ext/vector_float2_precision.hpp"
#include "./ext/vector_float3.hpp"
#include "./ext/vector_float3_precision.hpp"
#include "./ext/vector_float4.hpp"
#include "./ext/vector_float4_precision.hpp"
#include "./ext/vector_int1.hpp"
#include "./ext/vector_int1_sized.hpp"
#include "./ext/vector_int2.hpp"
#include "./ext/vector_int2_sized.hpp"
#include "./ext/vector_int3.hpp"
#include "./ext/vector_int3_sized.hpp"
#include "./ext/vector_int4.hpp"
#include "./ext/vector_int4_sized.hpp"
#include "./ext/vector_uint1.hpp"
#include "./ext/vector_uint1_sized.hpp"
#include "./ext/vector_uint2.hpp"
#include "./ext/vector_uint2_sized.hpp"
#include "./ext/vector_uint3.hpp"
#include "./ext/vector_uint3_sized.hpp"
#include "./ext/vector_uint4.hpp"
#include "./ext/vector_uint4_sized.hpp"
#include "./gtc/bitfield.hpp"
#include "./gtc/color_space.hpp"
#include "./gtc/constants.hpp"
#include "./gtc/epsilon.hpp"
#include "./gtc/integer.hpp"
#include "./gtc/matrix_access.hpp"
#include "./gtc/matrix_integer.hpp"
#include "./gtc/matrix_inverse.hpp"
#include "./gtc/matrix_transform.hpp"
#include "./gtc/noise.hpp"
#include "./gtc/packing.hpp"
#include "./gtc/quaternion.hpp"
#include "./gtc/random.hpp"
#include "./gtc/reciprocal.hpp"
#include "./gtc/round.hpp"
#include "./gtc/type_precision.hpp"
#include "./gtc/type_ptr.hpp"
#include "./gtc/ulp.hpp"
#include "./gtc/vec1.hpp"
#if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
# include "./gtc/type_aligned.hpp"
#endif
#ifdef GLM_ENABLE_EXPERIMENTAL
#include "./gtx/associated_min_max.hpp"
#include "./gtx/bit.hpp"
#include "./gtx/closest_point.hpp"
#include "./gtx/color_encoding.hpp"
#include "./gtx/color_space.hpp"
#include "./gtx/color_space_YCoCg.hpp"
#include "./gtx/common.hpp"
#include "./gtx/compatibility.hpp"
#include "./gtx/component_wise.hpp"
#include "./gtx/dual_quaternion.hpp"
#include "./gtx/easing.hpp"
#include "./gtx/euler_angles.hpp"
#include "./gtx/extend.hpp"
#include "./gtx/extended_min_max.hpp"
#include "./gtx/fast_exponential.hpp"
#include "./gtx/fast_square_root.hpp"
#include "./gtx/fast_trigonometry.hpp"
#include "./gtx/functions.hpp"
#include "./gtx/gradient_paint.hpp"
#include "./gtx/handed_coordinate_space.hpp"
#if __cplusplus >= 201103L
#include "./gtx/hash.hpp"
#endif
#include "./gtx/integer.hpp"
#include "./gtx/intersect.hpp"
#include "./gtx/io.hpp"
#include "./gtx/log_base.hpp"
#include "./gtx/matrix_cross_product.hpp"
#include "./gtx/matrix_decompose.hpp"
#include "./gtx/matrix_factorisation.hpp"
#include "./gtx/matrix_interpolation.hpp"
#include "./gtx/matrix_major_storage.hpp"
#include "./gtx/matrix_operation.hpp"
#include "./gtx/matrix_query.hpp"
#include "./gtx/mixed_product.hpp"
#include "./gtx/norm.hpp"
#include "./gtx/normal.hpp"
#include "./gtx/normalize_dot.hpp"
#include "./gtx/optimum_pow.hpp"
#include "./gtx/orthonormalize.hpp"
#include "./gtx/pca.hpp"
#include "./gtx/perpendicular.hpp"
#include "./gtx/polar_coordinates.hpp"
#include "./gtx/projection.hpp"
#include "./gtx/quaternion.hpp"
#include "./gtx/raw_data.hpp"
#include "./gtx/rotate_normalized_axis.hpp"
#include "./gtx/rotate_vector.hpp"
#include "./gtx/spline.hpp"
#include "./gtx/std_based_type.hpp"
#if !((GLM_COMPILER & GLM_COMPILER_CUDA) || (GLM_COMPILER & GLM_COMPILER_HIP))
# include "./gtx/string_cast.hpp"
#endif
#include "./gtx/transform.hpp"
#include "./gtx/transform2.hpp"
#include "./gtx/vec_swizzle.hpp"
#include "./gtx/vector_angle.hpp"
#include "./gtx/vector_query.hpp"
#include "./gtx/wrap.hpp"
#if GLM_HAS_TEMPLATE_ALIASES
# include "./gtx/scalar_multiplication.hpp"
#endif
#if GLM_HAS_RANGE_FOR
# include "./gtx/range.hpp"
#endif
#endif//GLM_ENABLE_EXPERIMENTAL
std_based_type.hpp
GLM_GTX_std_based_type
vector_double2_precision.hpp
Core features
matrix_int2x2.hpp
GLM_EXT_matrix_int2x2
matrix_double3x2_precision.hpp
Core features
vector_int1_sized.hpp
GLM_EXT_vector_int1_sized
rotate_normalized_axis.hpp
GLM_GTX_rotate_normalized_axis
vector_uint3.hpp
Core features
matrix_float2x3_precision.hpp
Core features
vector_bool4_precision.hpp
Core features
quaternion_relational.hpp
GLM_EXT_quaternion_relational
matrix_double2x3.hpp
Core features
perpendicular.hpp
GLM_GTX_perpendicular
vector_bool2.hpp
Core features
intersect.hpp
GLM_GTX_intersect
matrix_uint3x4.hpp
GLM_EXT_matrix_uint3x4
normalize_dot.hpp
GLM_GTX_normalize_dot
compatibility.hpp
GLM_GTX_compatibility
matrix_int4x2_sized.hpp
GLM_EXT_matrix_int4x2_sized
scalar_uint_sized.hpp
GLM_EXT_scalar_uint_sized
matrix_int3x3_sized.hpp
GLM_EXT_matrix_int3x3_sized
matrix_uint2x2_sized.hpp
GLM_EXT_matrix_uint2x2_sized
bitfield.hpp
GLM_GTC_bitfield
matrix_uint4x2_sized.hpp
GLM_EXT_matrix_uint4x2_sized
type_precision.hpp
GLM_GTC_type_precision
easing.hpp
GLM_GTX_easing
scalar_relational.hpp
GLM_EXT_scalar_relational
vector_float4.hpp
Core features
matrix_float2x2.hpp
Core features
vector_angle.hpp
GLM_GTX_vector_angle
vector_float2.hpp
Core features
matrix_int3x2_sized.hpp
GLM_EXT_matrix_int3x2_sized
matrix_double4x3.hpp
Core features
vector_integer.hpp
GLM_EXT_vector_integer
transform.hpp
GLM_GTX_transform
matrix_float3x4.hpp
Core features
round.hpp
GLM_GTC_round
vector_double3_precision.hpp
Core features
matrix_double3x3_precision.hpp
Core features
scalar_multiplication.hpp
GLM_GTX_scalar_multiplication
color_space.hpp
GLM_GTC_color_space
matrix_int4x4_sized.hpp
GLM_EXT_matrix_int4x4_sized
vector_double1_precision.hpp
GLM_EXT_vector_double1_precision
matrix_double2x2.hpp
Core features
matrix_double2x4_precision.hpp
Core features
vector_float4_precision.hpp
Core features
range.hpp
GLM_GTX_range
vector_bool3_precision.hpp
Core features
matrix_float2x2_precision.hpp
Core features
vector_query.hpp
GLM_GTX_vector_query
orthonormalize.hpp
GLM_GTX_orthonormalize
vector_bool1.hpp
GLM_EXT_vector_bool1
norm.hpp
GLM_GTX_norm
quaternion_double_precision.hpp
GLM_EXT_quaternion_double_precision
fast_trigonometry.hpp
GLM_GTX_fast_trigonometry
vector_common.hpp
GLM_EXT_vector_common
matrix_uint4x4.hpp
GLM_EXT_matrix_uint4x4
matrix_double2x3_precision.hpp
Core features
polar_coordinates.hpp
GLM_GTX_polar_coordinates
scalar_int_sized.hpp
GLM_EXT_scalar_int_sized
extended_min_max.hpp
GLM_GTX_extended_min_max
matrix_factorisation.hpp
GLM_GTX_matrix_factorisation
matrix_int4x3.hpp
GLM_EXT_matrix_int4x3
component_wise.hpp
GLM_GTX_component_wise
matrix_uint3x2.hpp
GLM_EXT_matrix_uint3x2
matrix_access.hpp
GLM_GTC_matrix_access
bit.hpp
GLM_GTX_bit
matrix_int3x4.hpp
GLM_EXT_matrix_int3x4
matrix_transform.hpp
GLM_EXT_matrix_transform
matrix_uint2x3.hpp
GLM_EXT_matrix_uint2x3
type_ptr.hpp
GLM_GTC_type_ptr
vector_float1.hpp
GLM_EXT_vector_float1
matrix_double4x2.hpp
Core features
matrix_projection.hpp
GLM_EXT_matrix_projection
string_cast.hpp
GLM_GTX_string_cast
random.hpp
GLM_GTC_random
matrix_int2x3.hpp
GLM_EXT_matrix_int2x3
vector_uint4.hpp
Core features
vector_double4.hpp
Core features
quaternion_float_precision.hpp
GLM_EXT_quaternion_float_precision
matrix_double3x4.hpp
Core features
vector_int3.hpp
Core features
spline.hpp
GLM_GTX_spline
matrix_float3x2.hpp
Core features
handed_coordinate_space.hpp
GLM_GTX_handed_coordinate_space
vector_double2.hpp
Core features
matrix_double3x2.hpp
Core features
vector_int1.hpp
GLM_EXT_vector_int1
raw_data.hpp
GLM_GTX_raw_data
matrix_float2x3.hpp
Core features
wrap.hpp
GLM_GTX_wrap
matrix_uint4x3.hpp
GLM_EXT_matrix_uint4x3
vector_bool1_precision.hpp
GLM_EXT_vector_bool1_precision
euler_angles.hpp
GLM_GTX_euler_angles
matrix_uint3x3_sized.hpp
GLM_EXT_matrix_uint3x3_sized
normal.hpp
GLM_GTX_normal
color_space_YCoCg.hpp
GLM_GTX_color_space_YCoCg
matrix_uint2x4.hpp
GLM_EXT_matrix_int2x4
vec1.hpp
GLM_GTC_vec1
matrix_uint4x2.hpp
GLM_EXT_matrix_uint4x2
matrix_int2x4_sized.hpp
GLM_EXT_matrix_int2x4_sized
dual_quaternion.hpp
GLM_GTX_dual_quaternion
vector_float3_precision.hpp
Core features
matrix_double4x4_precision.hpp
Core features
vec_swizzle.hpp
GLM_GTX_vec_swizzle
vector_float1_precision.hpp
GLM_EXT_vector_float1_precision
matrix_double4x2_precision.hpp
Core features
integer.hpp
GLM_GTC_integer
vector_int4_sized.hpp
GLM_EXT_vector_int4_sized
matrix_float3x3_precision.hpp
Core features
quaternion_exponential.hpp
GLM_EXT_quaternion_exponential
vector_int2.hpp
Core features
matrix_float2x4.hpp
Core features
functions.hpp
GLM_GTX_functions
matrix_uint3x2_sized.hpp
GLM_EXT_matrix_uint3x2_sized
quaternion_double.hpp
GLM_EXT_quaternion_double
closest_point.hpp
GLM_GTX_closest_point
matrix_int4x2.hpp
GLM_EXT_matrix_int4x2
scalar_reciprocal.hpp
GLM_EXT_scalar_reciprocal
fast_square_root.hpp
GLM_GTX_fast_square_root
epsilon.hpp
GLM_GTC_epsilon
matrix_operation.hpp
GLM_GTX_matrix_operation
matrix_uint4x3_sized.hpp
GLM_EXT_matrix_uint4x3_sized
scalar_constants.hpp
GLM_EXT_scalar_constants
extend.hpp
GLM_GTX_extend
matrix_decompose.hpp
GLM_GTX_matrix_decompose
matrix_int2x3_sized.hpp
GLM_EXT_matrix_int2x3_sized
quaternion.hpp
GLM_GTC_quaternion
vector_uint2.hpp
Core features
matrix_uint2x4_sized.hpp
GLM_EXT_matrix_uint2x4_sized
vector_uint4_sized.hpp
GLM_EXT_vector_uint4_sized
matrix_float4x4.hpp
Core features
associated_min_max.hpp
GLM_GTX_associated_min_max
vector_float2_precision.hpp
Core features
matrix_double4x3_precision.hpp
Core features
vector_packing.hpp
GLM_EXT_vector_packing
transform2.hpp
GLM_GTX_transform2
matrix_integer.hpp
GLM_GTC_matrix_integer
matrix_float3x4_precision.hpp
Core features
color_space.hpp
GLM_GTX_color_space
vector_int3_sized.hpp
GLM_EXT_vector_int3_sized
matrix_float3x2_precision.hpp
Core features
vector_double3.hpp
Core features
matrix_int2x2_sized.hpp
GLM_EXT_matrix_int2x2_sized
matrix_double3x3.hpp
Core features
rotate_vector.hpp
GLM_GTX_rotate_vector
vector_uint3_sized.hpp
GLM_EXT_vector_uint3_sized
matrix_clip_space.hpp
GLM_EXT_matrix_clip_space
quaternion_transform.hpp
GLM_EXT_quaternion_transform
vector_bool2_precision.hpp
Core features
io.hpp
GLM_GTX_io
quaternion_float.hpp
GLM_EXT_quaternion_float
vector_int2_sized.hpp
GLM_EXT_vector_int2_sized
scalar_ulp.hpp
GLM_EXT_scalar_ulp
matrix_float2x4_precision.hpp
Core features
gradient_paint.hpp
GLM_GTX_gradient_paint
mixed_product.hpp
GLM_GTX_mixed_producte
matrix_uint4x4_sized.hpp
GLM_EXT_matrix_uint4x4_sized
matrix_relational.hpp
GLM_EXT_matrix_relational
scalar_integer.hpp
GLM_EXT_scalar_integer
reciprocal.hpp
GLM_GTC_reciprocal
matrix_interpolation.hpp
GLM_GTX_matrix_interpolation
quaternion_trigonometric.hpp
GLM_EXT_quaternion_trigonometric
matrix_uint3x3.hpp
GLM_EXT_matrix_uint3x3
log_base.hpp
GLM_GTX_log_base
color_encoding.hpp
GLM_GTX_color_encoding
matrix_transform.hpp
GLM_GTC_matrix_transform
vector_uint1.hpp
GLM_EXT_vector_uint1
matrix_float4x3.hpp
Core features
matrix_int3x3.hpp
GLM_EXT_matrix_int3x3
matrix_uint2x2.hpp
GLM_EXT_matrix_uint2x2
integer.hpp
GLM_GTX_integer
vector_relational.hpp
GLM_EXT_vector_relational
matrix_int2x4.hpp
GLM_EXT_matrix_int2x4
vector_ulp.hpp
GLM_EXT_vector_ulp
vector_float3.hpp
Core features
matrix_float4x4_precision.hpp
Core features
matrix_double2x2_precision.hpp
Core features
matrix_double4x4.hpp
Core features
vector_reciprocal.hpp
GLM_EXT_vector_reciprocal
vector_uint2_sized.hpp
GLM_EXT_vector_uint2_sized
vector_bool4.hpp
Core features
matrix_float4x2.hpp
Core features
pca.hpp
GLM_GTX_pca
quaternion_geometric.hpp
GLM_EXT_quaternion_geometric
common.hpp
GLM_GTX_common
vector_int4.hpp
Core features
hash.hpp
GLM_GTX_hash
matrix_float3x3.hpp
Core features
vector_double1.hpp
GLM_EXT_vector_double1
matrix_query.hpp
GLM_GTX_matrix_query
matrix_double2x4.hpp
Core features
projection.hpp
GLM_GTX_projection
matrix_int4x3_sized.hpp
GLM_EXT_matrix_int4x3_sized
matrix_inverse.hpp
GLM_GTC_matrix_inverse
quaternion.hpp
GLM_GTX_quaternion
quaternion_common.hpp
GLM_EXT_quaternion_common
scalar_packing.hpp
GLM_EXT_scalar_packing
fast_exponential.hpp
GLM_GTX_fast_exponential
matrix_uint2x3_sized.hpp
GLM_EXT_matrix_uint2x3_sized
constants.hpp
GLM_GTC_constants
matrix_major_storage.hpp
GLM_GTX_matrix_major_storage
ulp.hpp
GLM_GTC_ulp
matrix_int3x2.hpp
GLM_EXT_matrix_int3x2
scalar_common.hpp
GLM_EXT_scalar_common
matrix_cross_product.hpp
GLM_GTX_matrix_cross_product
type_aligned.hpp
GLM_GTC_type_aligned
packing.hpp
GLM_GTC_packing
vector_uint1_sized.hpp
GLM_EXT_vector_uint1_sized
matrix_int4x4.hpp
GLM_EXT_matrix_int4x4
matrix_float4x3_precision.hpp
Core features
noise.hpp
GLM_GTC_noise
matrix_common.hpp
GLM_EXT_matrix_common
vector_bool3.hpp
Core features
vector_double4_precision.hpp
Core features
optimum_pow.hpp
GLM_GTX_optimum_pow
matrix_double3x4_precision.hpp
Core features