0.9.9 API documenation
Modules
GTX Extensions (Experimental)

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program. More...

Modules

 GLM_GTX_associated_min_max
 Min and max functions that return associated values not the compared onces.
 
 GLM_GTX_bit
 Allow to perform bit operations on integer values.
 
 GLM_GTX_closest_point
 Find the point on a straight line which is the closet of a point.
 
 GLM_GTX_color_space
 Related to RGB to HSV conversions and operations.
 
 GLM_GTX_color_space_YCoCg
 RGB to YCoCg conversions and operations.
 
 GLM_GTX_common
 Provide functions to increase the compatibility with Cg and HLSL languages.
 
 GLM_GTX_compatibility
 Provide functions to increase the compatibility with Cg and HLSL languages.
 
 GLM_GTX_component_wise
 Operations between components of a type.
 
 GLM_GTX_dual_quaternion
 Defines a templated dual-quaternion type and several dual-quaternion operations.
 
 GLM_GTX_euler_angles
 Build matrices from Euler angles.
 
 GLM_GTX_extend
 Extend a position from a source to a position at a defined length.
 
 GLM_GTX_extented_min_max
 Min and max functions for 3 to 4 parameters.
 
 GLM_GTX_fast_exponential
 Fast but less accurate implementations of exponential based functions.
 
 GLM_GTX_fast_square_root
 Fast but less accurate implementations of square root based functions.
 
 GLM_GTX_fast_trigonometry
 Fast but less accurate implementations of trigonometric functions.
 
 GLM_GTX_gradient_paint
 Functions that return the color of procedural gradient for specific coordinates.
 
 GLM_GTX_handed_coordinate_space
 To know if a set of three basis vectors defines a right or left-handed coordinate system.
 
 GLM_GTX_hash
 Add std::hash support for glm types.
 
 GLM_GTX_integer
 Add support for integer for core functions.
 
 GLM_GTX_intersect
 Add intersection functions.
 
 GLM_GTX_io
 std::[w]ostream support for glm types
 
 GLM_GTX_log_base
 Logarithm for any base.
 
 GLM_GTX_matrix_cross_product
 Build cross product matrices.
 
 GLM_GTX_matrix_decompose
 Decomposes a model matrix to translations, rotation and scale components.
 
 GLM_GTX_matrix_interpolation
 Allows to directly interpolate two exiciting matrices.
 
 GLM_GTX_matrix_major_storage
 Build matrices with specific matrix order, row or column.
 
 GLM_GTX_matrix_operation
 Build diagonal matrices from vectors.
 
 GLM_GTX_matrix_query
 Query to evaluate matrix properties.
 
 GLM_GTX_matrix_transform_2d
 Defines functions that generate common 2d transformation matrices.
 
 GLM_GTX_mixed_producte
 Mixed product of 3 vectors.
 
 GLM_GTX_norm
 Various ways to compute vector norms.
 
 GLM_GTX_normal
 Compute the normal of a triangle.
 
 GLM_GTX_normalize_dot
 Dot product of vectors that need to be normalize with a single square root.
 
 GLM_GTX_number_precision
 Defined size types.
 
 GLM_GTX_optimum_pow
 Integer exponentiation of power functions.
 
 GLM_GTX_orthonormalize
 Orthonormalize matrices.
 
 GLM_GTX_perpendicular
 Perpendicular of a vector from other one.
 
 GLM_GTX_polar_coordinates
 Conversion from Euclidean space to polar space and revert.
 
 GLM_GTX_projection
 Projection of a vector to other one.
 
 GLM_GTX_quaternion
 Extented quaternion types and functions.
 
 GLM_GTX_range
 Defines begin and end for vectors and matrices.
 
 GLM_GTX_raw_data
 Projection of a vector to other one.
 
 GLM_GTX_rotate_normalized_axis
 Quaternions and matrices rotations around normalized axis.
 
 GLM_GTX_rotate_vector
 Function to directly rotate a vector.
 
 GLM_GTX_scalar_relational
 Extend a position from a source to a position at a defined length.
 
 GLM_GTX_spline
 Spline functions.
 
 GLM_GTX_std_based_type
 Adds vector types based on STL value types.
 
 GLM_GTX_string_cast
 Setup strings for GLM type values.
 
 GLM_GTX_transform
 Add transformation matrices.
 
 GLM_GTX_transform2
 Add extra transformation matrices.
 
 GLM_GTX_type_aligned
 Defines aligned types.
 
 GLM_GTX_type_trait
 Defines traits for each type.
 
 GLM_GTX_vec_swizzle
 Functions to perform swizzle operation.
 
 GLM_GTX_vector_angle
 Compute angle between vectors.
 
 GLM_GTX_vector_query
 Query informations of vector types.
 
 GLM_GTX_wrap
 Wrapping mode of texture coordinates.
 

Detailed Description

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

Experimental extensions are useful functions and types, but the development of their API and functionality is not necessarily stable. They can change substantially between versions. Backwards compatibility is not much of an issue for them.

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.