GTX Extensions (Experimental)

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

Collaboration diagram for GTX Extensions (Experimental):

## Modules | |

GLM_GTX_associated_min_max | |

Min and max functions that return associated values not the compared onces. <glm/gtx/associated_min_max.hpp> need to be included to use these functionalities. | |

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_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 | |

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/gradient_paint.hpp> need to be included to use these functionalities. | |

GLM_GTX_handed_coordinate_space | |

To know if a set of three basis vectors defines a right or left-handed coordinate system. | |

GLM_GTX_inertia | |

Create inertia matrices. | |

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. base can be a vector or a scalar. | |

GLM_GTX_matrix_cross_product | |

Build cross product matrices. | |

GLM_GTX_decomposition | |

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_multiple | |

Find the closest number of a number multiple of other number. | |

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_raw_data | |

Projection of a vector to other one. | |

GLM_GTX_rotate_vector | |

Function to directly rotate a vector. | |

GLM_GTX_simd_mat4 | |

SIMD implementation of mat4 type. | |

GLM_GTX_simd_quat | |

SIMD implementation of quat type. | |

GLM_GTX_spline | |

Spline functions. | |

GLM_GTX_std_based_type | |

Adds vector types based on STL value types. <glm/gtx/std_based_type.hpp> need to be included to use these functionalities. | |

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_vec1 | |

Add vec1, ivec1, uvec1 and bvec1 types. <glm/gtx/vec1.hpp> need to be included to use these functionalities. | |

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. | |

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.