GTC Extensions (Stable) | Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program |
GLM_GTC_constants | Allow to perform bit operations on integer values |
GLM_GTC_epsilon | Comparison functions for a user defined epsilon values |
GLM_GTC_half_float | Defines the half-precision floating-point type, along with various typedefs for vectors and matrices |
GLM_GTC_matrix_access | Defines functions to access rows or columns of a matrix easily |
GLM_GTC_matrix_integer | Defines a number of matrices with integer types |
GLM_GTC_matrix_inverse | Defines additional matrix inverting functions |
GLM_GTC_matrix_transform | Defines functions that generate common transformation matrices |
GLM_GTC_noise | Defines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": https://github.com/ashima/webgl-noise Following Stefan Gustavson's paper "Simplex noise demystified": http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf <glm/gtc/noise.hpp> need to be included to use these functionalities |
GLM_GTC_quaternion | Defines a templated quaternion type and several quaternion operations |
GLM_GTC_random | Generate random number from various distribution methods |
GLM_GTC_reciprocal | Define secant, cosecant and cotangent functions |
GLM_GTC_swizzle | Provide functions to emulate GLSL swizzle operator fonctionalities |
GLM_GTC_type_precision | Defines specific C++-based precision types |
GLM_GTC_type_ptr | Handles the interaction between pointers and vector, matrix types |
GLM_GTC_ulp | Allow the measurement of the accuracy of a function against a reference implementation |
GTX Extensions (Experimental) | Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program |
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_cast | Conversion between two color types |
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_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 | 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_inertia | Create inertia matrices |
GLM_GTX_int_10_10_10_2 | Pack vector to 1010102 integers |
GLM_GTX_integer | Add support for integer for core functions |
GLM_GTX_intersect | Add intersection functions |
GLM_GTX_log_base | Logarithm for any base |
GLM_GTX_matrix_cross_product | Build cross product matrices |
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_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 way 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_ocl_type | OpenCL 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_vec4 | SIMD implementation of vec4 type |
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_vec1 | Add vec1, ivec1, uvec1 and bvec1 types |
GLM_GTX_vector_access | Function to set values to vectors |
GLM_GTX_vector_angle | Compute angle between vectors |
GLM_GTX_vector_query | Query informations of vector types |
GLM_GTX_verbose_operator | Use words to replace operators |
GLM_GTX_wrap | Wrapping mode of texture coordinates |
VIRTREV Extensions | Extensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660) |
GLM_VIRTREV_xstream: xml like output | Streaming vector and matrix in a xml way |
GLM Core | The core of GLM, which implements exactly and only the GLSL specification to the degree possible |
Common functions | These all operate component-wise |
Exponential functions | These all operate component-wise |
Geometric functions | These operate on vectors as vectors, not component-wise |
Integer functions | These all operate component-wise |
Matrix functions | For each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision |
Noise functions | Noise functions are stochastic functions that can be used to increase visual complexity |
Floating-Point Pack and Unpack Functions | These functions do not operate component-wise, rather as described in each case |
Angle and Trigonometry Functions | Function parameters specified as angle are assumed to be in units of radians |
Vector Relational Functions | Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results |
Types | The standard types defined by the specification |
Precision types | Non-GLSL types that are used to define precision-based types |
Template types | The generic template types used as the basis for the core types |