- Main Page
- Modules
- Namespaces
- Classes
- Files

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: 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: Extended bitwise operations

| Allow to perform bit operations on integer values.
| GLM_GTX_closest_point: Find closest point

| Find the point on a straight line which is the closet of a point.
| GLM_GTX_color_cast: Color conversion

| Conversion between two color types.
| GLM_GTX_color_space: RGB to HSV conversion

| Related to RGB to HSV conversions and operations.
| GLM_GTX_color_space_YCoCg: RGB to YCoCg conversion

| RGB to YCoCg conversions and operations.
| GLM_GTX_compatibility: Cg and HLSL compatibility

| Provide functions to increase the compatibility with Cg and HLSL languages.
| GLM_GTX_component_wise: Component wise

| Operations between components of a type.
| GLM_GTX_epsilon: Epsilon comparison

| Comparison functions for a user defined epsilon values.
| GLM_GTX_euler_angles: Matrix from euler angles

| Build matrices from Euler angles.
| GLM_GTX_extend: Position extending

| Extend a position from a source to a position at a defined length.
| GLM_GTX_extented_min_max: Extended min max

| Min and max functions for 3 to 4 parameters.
| GLM_GTX_fast_exponential: Fast exponentiation functions

| Fast but less accurate implementations of exponential based functions.
| GLM_GTX_fast_square_root: Fast square root functions

| Fast but less accurate implementations of square root based functions.
| GLM_GTX_fast_trigonometry: Fast trigonometric functions

| Fast but less accurate implementations of trigonometric functions.
| GLM_GTX_handed_coordinate_space: Space Handedness

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

| Create inertia matrices.
| GLM_GTX_int_10_10_10_2: Packed integer

| Pack vector to 1010102 integers. Storage only.
| GLM_GTX_integer: Extended integer functions

| Add support for integer for core functions.
| GLM_GTX_intersect: Intersection tests

| Add intersection functions.
| GLM_GTX_log_base: Log with base

| Logarithm for any base. base can be a vector or a scalar.
| GLM_GTX_matrix_cross_product: Cross product matrix form

| Build cross product matrices.
| GLM_GTX_matrix_major_storage: Build matrix

| Build matrices with specific matrix order, row or column.
| GLM_GTX_matrix_operation: Extended matrix operations

| Build diagonal matrices from vectors.
| GLM_GTX_matrix_query: Query matrix properties

| Query to evaluate matrix properties.
| GLM_GTX_mixed_producte: Mixed product

| Mixed product of 3 vectors.
| GLM_GTX_multiple: Multiples

| Find the closest number of a number multiple of other number.
| GLM_GTX_norm: Vector norm calculations

| Various way to compute vector norms.
| GLM_GTX_normal: Compute normals

| Compute the normal of a triangle.
| GLM_GTX_normalize_dot: Normalize dot product

| Dot product of vectors that need to be normalize with a single square root.
| GLM_GTX_number_precision: Number precision

| Defined size types.
| GLM_GTX_ocl_type: OpenCL types

| OpenCL types.
| GLM_GTX_optimum_pow: Optimum pow

| Integer exponentiation of power functions.
| GLM_GTX_orthonormalize: Orthonormalize

| Orthonormalize matrices.
| GLM_GTX_perpendicular: Perpendicular

| Perpendicular of a vector from other one.
| GLM_GTX_polar_coordinates: Polar coordinates

| Conversion from Euclidean space to polar space and revert.
| GLM_GTX_projection: Projection

| Projection of a vector to other one.
| GLM_GTX_quaternion: Extented quaternion types and functions

| Extented quaternion types and functions.
| GLM_GTX_random: Random

| Generate random number from various distribution methods.
| GLM_GTX_raw_data: Raw data

| Projection of a vector to other one.
| GLM_GTX_reciprocal: Reciprocal

| Define secant, cosecant and cotangent functions.
| GLM_GTX_rotate_vector: Rotate vector

| Function to directly rotate a vector.
| GLM_GTX_simd_mat4: SIMD mat4 type and functions

| SIMD implementation of mat4 type.
| GLM_GTX_simd_vec4: SIMD vec4 type and functions

| SIMD implementation of vec4 type.
| GLM_GTX_spline: Spline

| Spline functions.
| GLM_GTX_string_cast: String cast

| Setup strings for GLM type values.
| GLM_GTX_transform: Extented transformation matrices

| Add transformation matrices.
| GLM_GTX_transform2: Extra transformation matrices

| Add extra transformation matrices.
| GLM_GTX_unsigned_int: Unsigned int

| Add support for unsigned integer for core functions.
| GLM_GTX_vector_angle: Vector access

| Function to set values to vectors.
| GLM_GTX_vector_angle: Vector angle

| Compute angle between vectors.
| GLM_GTX_vector_query: Vector query

| Query informations of vector types.
| GLM_GTX_verbose_operator: Verbose operator

| Use words to replace operators.
| GLM_GTX_wrap: Texture coordinate wrap modes

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