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