0.9.9 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"
81 #include "./ext/matrix_uint2x4_sized.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"
115 #include "./ext/scalar_ulp.hpp"
116 
119 
120 #include "./ext/vector_common.hpp"
121 #include "./ext/vector_integer.hpp"
122 #include "./ext/vector_packing.hpp"
124 #include "./ext/vector_ulp.hpp"
125 
126 #include "./ext/vector_bool1.hpp"
128 #include "./ext/vector_bool2.hpp"
130 #include "./ext/vector_bool3.hpp"
132 #include "./ext/vector_bool4.hpp"
134 
135 #include "./ext/vector_double1.hpp"
137 #include "./ext/vector_double2.hpp"
139 #include "./ext/vector_double3.hpp"
141 #include "./ext/vector_double4.hpp"
143 
144 #include "./ext/vector_float1.hpp"
146 #include "./ext/vector_float2.hpp"
148 #include "./ext/vector_float3.hpp"
150 #include "./ext/vector_float4.hpp"
152 
153 #include "./ext/vector_int1.hpp"
155 #include "./ext/vector_int2.hpp"
157 #include "./ext/vector_int3.hpp"
159 #include "./ext/vector_int4.hpp"
161 
162 #include "./ext/vector_uint1.hpp"
164 #include "./ext/vector_uint2.hpp"
166 #include "./ext/vector_uint3.hpp"
168 #include "./ext/vector_uint4.hpp"
170 
171 #include "./gtc/bitfield.hpp"
172 #include "./gtc/color_space.hpp"
173 #include "./gtc/constants.hpp"
174 #include "./gtc/epsilon.hpp"
175 #include "./gtc/integer.hpp"
176 #include "./gtc/matrix_access.hpp"
177 #include "./gtc/matrix_integer.hpp"
178 #include "./gtc/matrix_inverse.hpp"
180 #include "./gtc/noise.hpp"
181 #include "./gtc/packing.hpp"
182 #include "./gtc/quaternion.hpp"
183 #include "./gtc/random.hpp"
184 #include "./gtc/reciprocal.hpp"
185 #include "./gtc/round.hpp"
186 #include "./gtc/type_precision.hpp"
187 #include "./gtc/type_ptr.hpp"
188 #include "./gtc/ulp.hpp"
189 #include "./gtc/vec1.hpp"
190 #if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
191 # include "./gtc/type_aligned.hpp"
192 #endif
193 
194 #ifdef GLM_ENABLE_EXPERIMENTAL
196 #include "./gtx/bit.hpp"
197 #include "./gtx/closest_point.hpp"
198 #include "./gtx/color_encoding.hpp"
199 #include "./gtx/color_space.hpp"
201 #include "./gtx/compatibility.hpp"
202 #include "./gtx/component_wise.hpp"
203 #include "./gtx/dual_quaternion.hpp"
204 #include "./gtx/euler_angles.hpp"
205 #include "./gtx/extend.hpp"
210 #include "./gtx/functions.hpp"
211 #include "./gtx/gradient_paint.hpp"
213 #include "./gtx/integer.hpp"
214 #include "./gtx/intersect.hpp"
215 #include "./gtx/log_base.hpp"
220 #include "./gtx/matrix_query.hpp"
221 #include "./gtx/mixed_product.hpp"
222 #include "./gtx/norm.hpp"
223 #include "./gtx/normal.hpp"
224 #include "./gtx/normalize_dot.hpp"
226 #include "./gtx/optimum_pow.hpp"
227 #include "./gtx/orthonormalize.hpp"
228 #include "./gtx/perpendicular.hpp"
230 #include "./gtx/projection.hpp"
231 #include "./gtx/quaternion.hpp"
232 #include "./gtx/raw_data.hpp"
233 #include "./gtx/rotate_vector.hpp"
234 #include "./gtx/spline.hpp"
235 #include "./gtx/std_based_type.hpp"
236 #if !(GLM_COMPILER & GLM_COMPILER_CUDA)
237 # include "./gtx/string_cast.hpp"
238 #endif
239 #include "./gtx/transform.hpp"
240 #include "./gtx/transform2.hpp"
241 #include "./gtx/vec_swizzle.hpp"
242 #include "./gtx/vector_angle.hpp"
243 #include "./gtx/vector_query.hpp"
244 #include "./gtx/wrap.hpp"
245 
246 #if GLM_HAS_TEMPLATE_ALIASES
248 #endif
249 
250 #if GLM_HAS_RANGE_FOR
251 # include "./gtx/range.hpp"
252 #endif
253 #endif//GLM_ENABLE_EXPERIMENTAL
transform2.hpp
GLM_GTX_transform2
integer.hpp
GLM_GTC_integer
vector_double4.hpp
Core features
matrix_int2x2_sized.hpp
GLM_EXT_matrix_int2x2_sized
matrix_double3x3.hpp
Core features
vector_int3.hpp
Core features
std_based_type.hpp
GLM_GTX_std_based_type
vector_ulp.hpp
GLM_EXT_vector_ulp
matrix_float2x4.hpp
Core features
vector_double1_precision.hpp
GLM_EXT_vector_double1_precision
matrix_clip_space.hpp
GLM_EXT_matrix_clip_space
quaternion_trigonometric.hpp
GLM_EXT_quaternion_trigonometric
matrix_double2x3_precision.hpp
Core features
raw_data.hpp
GLM_GTX_raw_data
vector_bool3_precision.hpp
Core features
matrix_cross_product.hpp
GLM_GTX_matrix_cross_product
matrix_uint4x2.hpp
GLM_EXT_matrix_uint4x2
orthonormalize.hpp
GLM_GTX_orthonormalize
matrix_int4x3.hpp
GLM_EXT_matrix_int4x3
color_space.hpp
GLM_GTX_color_space
vector_bool1_precision.hpp
GLM_EXT_vector_bool1_precision
noise.hpp
GLM_GTC_noise
normal.hpp
GLM_GTX_normal
matrix_int3x4.hpp
GLM_EXT_matrix_int3x4
matrix_uint2x3_sized.hpp
GLM_EXT_matrix_uint2x3_sized
matrix_uint4x3_sized.hpp
GLM_EXT_matrix_uint4x3_sized
vec1.hpp
GLM_GTC_vec1
extended_min_max.hpp
GLM_GTX_extented_min_max
vector_int1_sized.hpp
GLM_EXT_vector_int1_sized
matrix_float2x2_precision.hpp
Core features
scalar_relational.hpp
GLM_EXT_scalar_relational
vector_float3_precision.hpp
Core features
matrix_int3x3.hpp
GLM_EXT_matrix_int3x3
matrix_double4x3_precision.hpp
Core features
vector_uint1.hpp
GLM_EXT_vector_uint1
matrix_uint2x2_sized.hpp
GLM_EXT_matrix_uint2x2_sized
vector_angle.hpp
GLM_GTX_vector_angle
constants.hpp
GLM_GTC_constants
matrix_float3x4_precision.hpp
Core features
type_ptr.hpp
GLM_GTC_type_ptr
vector_float1.hpp
GLM_EXT_vector_float1
matrix_double3x4.hpp
Core features
matrix_projection.hpp
GLM_EXT_matrix_projection
reciprocal.hpp
GLM_GTC_reciprocal
vector_double3.hpp
Core features
matrix_double2x2_precision.hpp
Core features
matrix_double3x2.hpp
Core features
vector_int2.hpp
Core features
scalar_multiplication.hpp
gtx
quaternion.hpp
GLM_GTC_quaternion
vector_common.hpp
GLM_EXT_vector_common
matrix_float2x3.hpp
Core features
projection.hpp
GLM_GTX_projection
vector_bool2_precision.hpp
Core features
integer.hpp
GLM_GTX_integer
number_precision.hpp
GLM_GTX_number_precision
quaternion_float.hpp
GLM_EXT_quaternion_float
handed_coordinate_space.hpp
GLM_GTX_handed_coordinate_space
vector_double2.hpp
Core features
quaternion_common.hpp
GLM_EXT_quaternion_common
matrix_double2x4.hpp
Core features
scalar_packing.hpp
GLM_EXT_scalar_packing
fast_square_root.hpp
GLM_GTX_fast_square_root
matrix_operation.hpp
GLM_GTX_matrix_operation
matrix_uint4x2_sized.hpp
GLM_EXT_matrix_uint4x2_sized
matrix_int4x3_sized.hpp
GLM_EXT_matrix_int4x3_sized
euler_angles.hpp
GLM_GTX_euler_angles
matrix_uint3x3.hpp
GLM_EXT_matrix_uint3x3
color_space_YCoCg.hpp
GLM_GTX_color_space_YCoCg
matrix_uint2x4.hpp
GLM_EXT_matrix_int2x4
matrix_access.hpp
GLM_GTC_matrix_access
associated_min_max.hpp
GLM_GTX_associated_min_max
vector_float2_precision.hpp
Core features
matrix_double4x2_precision.hpp
Core features
matrix_int2x3_sized.hpp
GLM_EXT_matrix_int2x3_sized
matrix_transform.hpp
GLM_GTC_matrix_transform
vector_float1_precision.hpp
GLM_EXT_vector_float1_precision
quaternion_relational.hpp
GLM_EXT_quaternion_relational
matrix_double3x4_precision.hpp
Core features
vector_int4_sized.hpp
GLM_EXT_vector_int4_sized
transform.hpp
GLM_GTX_transform
matrix_float3x2_precision.hpp
Core features
vector_relational.hpp
GLM_EXT_vector_relational
vector_double3_precision.hpp
Core features
matrix_double3x2_precision.hpp
Core features
vector_int2_sized.hpp
GLM_EXT_vector_int2_sized
spline.hpp
GLM_GTX_spline
matrix_float2x3_precision.hpp
Core features
matrix_uint4x4.hpp
GLM_EXT_matrix_uint4x4
vector_bool3.hpp
Core features
optimum_pow.hpp
GLM_GTX_optimum_pow
dual_quaternion.hpp
GLM_GTX_dual_quaternion
matrix_uint3x2.hpp
Ext_matrix_uint3x2
closest_point.hpp
GLM_GTX_closest_point
matrix_uint4x3.hpp
GLM_EXT_matrix_uint4x3
matrix_int3x2.hpp
GLM_EXT_matrix_int3x2
extend.hpp
GLM_GTX_extend
bitfield.hpp
GLM_GTC_bitfield
vector_int1.hpp
GLM_EXT_vector_int1
matrix_float2x2.hpp
Core features
vector_uint2_sized.hpp
GLM_EXT_vector_uint2_sized
matrix_float4x3.hpp
Core features
vector_float3.hpp
Core features
matrix_double4x3.hpp
Core features
vec_swizzle.hpp
GLM_GTX_vec_swizzle
matrix_float3x4.hpp
Core features
quaternion_float_precision.hpp
GLM_EXT_quaternion_float_precision
vector_int3_sized.hpp
GLM_EXT_vector_int3_sized
matrix_float2x4_precision.hpp
Core features
packing.hpp
GLM_GTC_packing
matrix_uint3x3_sized.hpp
GLM_EXT_matrix_uint3x3_sized
quaternion_exponential.hpp
GLM_EXT_quaternion_exponential
compatibility.hpp
GLM_GTX_compatibility
matrix_int4x2_sized.hpp
GLM_EXT_matrix_int4x2_sized
scalar_ulp.hpp
GLM_EXT_scalar_ulp
gradient_paint.hpp
GLM_GTX_gradient_paint
matrix_inverse.hpp
GLM_GTC_matrix_inverse
mixed_product.hpp
GLM_GTX_mixed_producte
matrix_uint4x4_sized.hpp
GLM_EXT_matrix_uint4x4_sized
scalar_integer.hpp
GLM_EXT_scalar_integer
fast_exponential.hpp
GLM_GTX_fast_exponential
matrix_major_storage.hpp
GLM_GTX_matrix_major_storage
matrix_int2x4.hpp
GLM_EXT_matrix_int2x4
vector_uint4.hpp
Core features
matrix_uint3x2_sized.hpp
GLM_EXT_matrix_uint3x2_sized
matrix_float4x4_precision.hpp
Core features
color_encoding.hpp
GLM_GTX_color_encoding
vector_float4.hpp
Core features
matrix_double4x4.hpp
Core features
vector_uint1_sized.hpp
GLM_EXT_vector_uint1_sized
vector_query.hpp
GLM_GTX_vector_query
matrix_float4x2.hpp
Core features
vector_integer.hpp
GLM_EXT_vector_integer
matrix_float3x3.hpp
Core features
vector_double4_precision.hpp
Core features
matrix_int2x3.hpp
GLM_EXT_matrix_int2x3
matrix_double3x3_precision.hpp
Core features
string_cast.hpp
GLM_GTX_string_cast
matrix_common.hpp
GLM_EXT_matrix_common
scalar_common.hpp
GLM_EXT_scalar_common
vector_bool4.hpp
Core features
perpendicular.hpp
GLM_GTX_perpendicular
quaternion_geometric.hpp
GLM_EXT_quaternion_geometric
vector_int4.hpp
Core features
vector_bool2.hpp
Core features
matrix_float3x2.hpp
Core features
intersect.hpp
GLM_GTX_intersect
normalize_dot.hpp
GLM_GTX_normalize_dot
quaternion_double.hpp
GLM_EXT_quaternion_double
matrix_uint2x2.hpp
GLM_EXT_matrix_uint2x2
fast_trigonometry.hpp
GLM_GTX_fast_trigonometry
type_precision.hpp
GLM_GTC_type_precision
matrix_query.hpp
GLM_GTX_matrix_query
scalar_constants.hpp
GLM_EXT_scalar_constants
matrix_uint3x4.hpp
GLM_EXT_matrix_uint3x4
component_wise.hpp
GLM_GTX_component_wise
vector_uint3.hpp
Core features
matrix_float4x3_precision.hpp
Core features
matrix_int3x3_sized.hpp
GLM_EXT_matrix_int3x3_sized
matrix_uint2x3.hpp
Ext_matrix_uint2x3
epsilon.hpp
GLM_GTC_epsilon
ulp.hpp
GLM_GTC_ulp
matrix_int2x4_sized.hpp
GLM_EXT_matrix_int2x4_sized
matrix_relational.hpp
GLM_EXT_matrix_relational
glm.hpp
Core features
round.hpp
GLM_GTC_round
vector_float4_precision.hpp
Core features
matrix_int2x2.hpp
GLM_EXT_matrix_int2x2
matrix_double2x3.hpp
Core features
matrix_double4x4_precision.hpp
Core features
vector_uint2.hpp
Core features
wrap.hpp
GLM_GTX_wrap
vector_uint4_sized.hpp
GLM_EXT_vector_uint4_sized
quaternion.hpp
GLM_GTX_quaternion
vector_double1.hpp
GLM_EXT_vector_double1
range.hpp
GLM_GTX_range
quaternion_transform.hpp
GLM_EXT_quaternion_transform
vector_packing.hpp
GLM_EXT_vector_packing
log_base.hpp
GLM_GTX_log_base
matrix_transform.hpp
GLM_EXT_matrix_transform
matrix_float3x3_precision.hpp
Core features
color_space.hpp
GLM_GTC_color_space
vector_bool1.hpp
GLM_EXT_vector_bool1
vector_double2_precision.hpp
Core features
norm.hpp
GLM_GTX_norm
matrix_double2x4_precision.hpp
Core features
rotate_vector.hpp
GLM_GTX_rotate_vector
matrix_int4x4.hpp
GLM_EXT_matrix_int4x4
quaternion_double_precision.hpp
GLM_EXT_quaternion_double_precision
matrix_int4x2.hpp
GLM_EXT_matrix_int4x2
scalar_uint_sized.hpp
GLM_EXT_scalar_uint_sized
functions.hpp
GLM_GTX_functions
matrix_integer.hpp
GLM_GTC_matrix_integer
bit.hpp
GLM_GTX_bit
matrix_int3x2_sized.hpp
GLM_EXT_matrix_int3x2_sized
scalar_int_sized.hpp
GLM_EXT_scalar_int_sized
matrix_interpolation.hpp
GLM_GTX_matrix_interpolation
vector_uint3_sized.hpp
GLM_EXT_vector_uint3_sized
matrix_int4x4_sized.hpp
GLM_EXT_matrix_int4x4_sized
type_aligned.hpp
GLM_GTC_type_aligned
matrix_float4x4.hpp
Core features
random.hpp
GLM_GTC_random
matrix_double2x2.hpp
Core features
vector_bool4_precision.hpp
Core features
vector_float2.hpp
Core features
polar_coordinates.hpp
GLM_GTX_polar_coordinates
matrix_double4x2.hpp
Core features