GLM_GTX_compatibility
Experimental extensions

## Typedefs

typedef bool | bool1
| boolean type with 1 component. (From GLM_GTX_compatibility extension)
typedef bool | bool1x1
| boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
typedef vec< 2, bool, highp > | bool2
| boolean type with 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 2, bool, highp > | bool2x2
| boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 3, bool, highp > | bool2x3
| boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 4, bool, highp > | bool2x4
| boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
typedef vec< 3, bool, highp > | bool3
| boolean type with 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 2, bool, highp > | bool3x2
| boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 3, bool, highp > | bool3x3
| boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 4, bool, highp > | bool3x4
| boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
typedef vec< 4, bool, highp > | bool4
| boolean type with 4 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 2, bool, highp > | bool4x2
| boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 3, bool, highp > | bool4x3
| boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 4, bool, highp > | bool4x4
| boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
typedef double | double1
| double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
typedef double | double1x1
| double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
typedef vec< 2, double, highp > | double2
| double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 2, double, highp > | double2x2
| double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 3, double, highp > | double2x3
| double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 4, double, highp > | double2x4
| double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
typedef vec< 3, double, highp > | double3
| double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 2, double, highp > | double3x2
| double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 3, double, highp > | double3x3
| double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 4, double, highp > | double3x4
| double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
typedef vec< 4, double, highp > | double4
| double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 2, double, highp > | double4x2
| double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 3, double, highp > | double4x3
| double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 4, double, highp > | double4x4
| double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
typedef float | float1
| single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
typedef float | float1x1
| single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
typedef vec< 2, float, highp > | float2
| single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 2, float, highp > | float2x2
| single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 3, float, highp > | float2x3
| single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 4, float, highp > | float2x4
| single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
typedef vec< 3, float, highp > | float3
| single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 2, float, highp > | float3x2
| single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 3, float, highp > | float3x3
| single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 4, float, highp > | float3x4
| single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
typedef vec< 4, float, highp > | float4
| single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 2, float, highp > | float4x2
| single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 3, float, highp > | float4x3
| single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 4, float, highp > | float4x4
| single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
typedef int | int1
| integer vector with 1 component. (From GLM_GTX_compatibility extension)
typedef int | int1x1
| integer matrix with 1 component. (From GLM_GTX_compatibility extension)
typedef vec< 2, int, highp > | int2
| integer vector with 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 2, int, highp > | int2x2
| integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 3, int, highp > | int2x3
| integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 2, 4, int, highp > | int2x4
| integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
typedef vec< 3, int, highp > | int3
| integer vector with 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 2, int, highp > | int3x2
| integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 3, int, highp > | int3x3
| integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 3, 4, int, highp > | int3x4
| integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
typedef vec< 4, int, highp > | int4
| integer vector with 4 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 2, int, highp > | int4x2
| integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 3, int, highp > | int4x3
| integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
typedef mat< 4, 4, int, highp > | int4x4
| integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)

## Functions

template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > | atan2 (const vec< 2, T, Q > &y, const vec< 2, T, Q > &x)
| Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > | atan2 (const vec< 3, T, Q > &y, const vec< 3, T, Q > &x)
| Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > | atan2 (const vec< 4, T, Q > &y, const vec< 4, T, Q > &x)
| Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T >
GLM_FUNC_QUALIFIER T | atan2 (T y, T x)
| Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, bool, Q > | isfinite (const vec< 1, T, Q > &x)
| Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, bool, Q > | isfinite (const vec< 2, T, Q > &x)
| Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, bool, Q > | isfinite (const vec< 3, T, Q > &x)
| Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > | isfinite (const vec< 4, T, Q > &x)
| Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typename genType >
GLM_FUNC_DECL bool | isfinite (genType const &x)
| Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > | lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, const vec< 2, T, Q > &a)
| Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > | lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, T a)
| Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > | lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, const vec< 3, T, Q > &a)
| Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > | lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, T a)
| Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > | lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)
| Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > | lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, T a)
| Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typename T >
GLM_FUNC_QUALIFIER T | lerp (T x, T y, T a)
| Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > | saturate (const vec< 2, T, Q > &x)
| Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > | saturate (const vec< 3, T, Q > &x)
| Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > | saturate (const vec< 4, T, Q > &x)
| Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typename T >
GLM_FUNC_QUALIFIER T | saturate (T x)
| Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)

## Detailed Description

Include <glm/gtx/compatibility.hpp> to use the features of this extension.

Provide functions to increase the compatibility with Cg and HLSL languages