1.0.0 API documentation
ext.hpp
Go to the documentation of this file.
1 
5 #include "detail/setup.hpp"
6 
7 #pragma once
8 
9 #include "glm.hpp"
10 
11 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED)
12 # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
13 # pragma message("GLM: All extensions included (not recommended)")
14 #endif//GLM_MESSAGES
15 
17 #include "./ext/matrix_common.hpp"
18 
37 
51 #include "./ext/matrix_float4x2_precision.hpp"
56 
57 #include "./ext/matrix_int2x2.hpp"
59 #include "./ext/matrix_int2x3.hpp"
61 #include "./ext/matrix_int2x4.hpp"
63 #include "./ext/matrix_int3x2.hpp"
65 #include "./ext/matrix_int3x3.hpp"
67 #include "./ext/matrix_int3x4.hpp"
68 #include "./ext/matrix_int3x4_sized.hpp"
69 #include "./ext/matrix_int4x2.hpp"
71 #include "./ext/matrix_int4x3.hpp"
73 #include "./ext/matrix_int4x4.hpp"
75 
76 #include "./ext/matrix_uint2x2.hpp"
78 #include "./ext/matrix_uint2x3.hpp"
80 #include "./ext/matrix_uint2x4.hpp"
82 #include "./ext/matrix_uint3x2.hpp"
84 #include "./ext/matrix_uint3x3.hpp"
86 #include "./ext/matrix_uint3x4.hpp"
87 #include "./ext/matrix_uint3x4_sized.hpp"
88 #include "./ext/matrix_uint4x2.hpp"
90 #include "./ext/matrix_uint4x3.hpp"
92 #include "./ext/matrix_uint4x4.hpp"
94 
98 
109 
110 #include "./ext/scalar_common.hpp"
112 #include "./ext/scalar_integer.hpp"
113 #include "./ext/scalar_packing.hpp"
116 #include "./ext/scalar_ulp.hpp"
117 
120 
121 #include "./ext/vector_common.hpp"
122 #include "./ext/vector_integer.hpp"
123 #include "./ext/vector_packing.hpp"
126 #include "./ext/vector_ulp.hpp"
127 
128 #include "./ext/vector_bool1.hpp"
130 #include "./ext/vector_bool2.hpp"
132 #include "./ext/vector_bool3.hpp"
134 #include "./ext/vector_bool4.hpp"
136 
137 #include "./ext/vector_double1.hpp"
139 #include "./ext/vector_double2.hpp"
141 #include "./ext/vector_double3.hpp"
143 #include "./ext/vector_double4.hpp"
145 
146 #include "./ext/vector_float1.hpp"
148 #include "./ext/vector_float2.hpp"
150 #include "./ext/vector_float3.hpp"
152 #include "./ext/vector_float4.hpp"
154 
155 #include "./ext/vector_int1.hpp"
157 #include "./ext/vector_int2.hpp"
159 #include "./ext/vector_int3.hpp"
161 #include "./ext/vector_int4.hpp"
163 
164 #include "./ext/vector_uint1.hpp"
166 #include "./ext/vector_uint2.hpp"
168 #include "./ext/vector_uint3.hpp"
170 #include "./ext/vector_uint4.hpp"
172 
173 #include "./gtc/bitfield.hpp"
174 #include "./gtc/color_space.hpp"
175 #include "./gtc/constants.hpp"
176 #include "./gtc/epsilon.hpp"
177 #include "./gtc/integer.hpp"
178 #include "./gtc/matrix_access.hpp"
179 #include "./gtc/matrix_integer.hpp"
180 #include "./gtc/matrix_inverse.hpp"
182 #include "./gtc/noise.hpp"
183 #include "./gtc/packing.hpp"
184 #include "./gtc/quaternion.hpp"
185 #include "./gtc/random.hpp"
186 #include "./gtc/reciprocal.hpp"
187 #include "./gtc/round.hpp"
188 #include "./gtc/type_precision.hpp"
189 #include "./gtc/type_ptr.hpp"
190 #include "./gtc/ulp.hpp"
191 #include "./gtc/vec1.hpp"
192 #if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
193 # include "./gtc/type_aligned.hpp"
194 #endif
195 
196 #ifdef GLM_ENABLE_EXPERIMENTAL
198 #include "./gtx/bit.hpp"
199 #include "./gtx/closest_point.hpp"
200 #include "./gtx/color_encoding.hpp"
201 #include "./gtx/color_space.hpp"
203 #include "./gtx/common.hpp"
204 #include "./gtx/compatibility.hpp"
205 #include "./gtx/component_wise.hpp"
206 #include "./gtx/dual_quaternion.hpp"
207 #include "./gtx/easing.hpp"
208 #include "./gtx/euler_angles.hpp"
209 #include "./gtx/extend.hpp"
214 #include "./gtx/functions.hpp"
215 #include "./gtx/gradient_paint.hpp"
217 
218 #if __cplusplus >= 201103L
219 #include "./gtx/hash.hpp"
220 #endif
221 
222 #include "./gtx/integer.hpp"
223 #include "./gtx/intersect.hpp"
224 #include "./gtx/io.hpp"
225 #include "./gtx/log_base.hpp"
232 #include "./gtx/matrix_query.hpp"
233 #include "./gtx/mixed_product.hpp"
234 #include "./gtx/norm.hpp"
235 #include "./gtx/normal.hpp"
236 #include "./gtx/normalize_dot.hpp"
237 #include "./gtx/optimum_pow.hpp"
238 #include "./gtx/orthonormalize.hpp"
239 #include "./gtx/pca.hpp"
240 #include "./gtx/perpendicular.hpp"
242 #include "./gtx/projection.hpp"
243 #include "./gtx/quaternion.hpp"
244 #include "./gtx/raw_data.hpp"
246 #include "./gtx/rotate_vector.hpp"
247 #include "./gtx/spline.hpp"
248 #include "./gtx/std_based_type.hpp"
249 #if !((GLM_COMPILER & GLM_COMPILER_CUDA) || (GLM_COMPILER & GLM_COMPILER_HIP))
250 # include "./gtx/string_cast.hpp"
251 #endif
252 #include "./gtx/transform.hpp"
253 #include "./gtx/transform2.hpp"
254 #include "./gtx/vec_swizzle.hpp"
255 #include "./gtx/vector_angle.hpp"
256 #include "./gtx/vector_query.hpp"
257 #include "./gtx/wrap.hpp"
258 
259 #if GLM_HAS_TEMPLATE_ALIASES
261 #endif
262 
263 #if GLM_HAS_RANGE_FOR
264 # include "./gtx/range.hpp"
265 #endif
266 #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