Flow Visualisation
GLM_GTX_compatibility

Provide functions to increase the compatibility with Cg and HLSL languages. More...

Collaboration diagram for GLM_GTX_compatibility:

Typedefs

typedef bool glm::bool1
 boolean type with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec2< bool > glm::bool2
 boolean type with 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec3< bool > glm::bool3
 boolean type with 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec4< bool > glm::bool4
 boolean type with 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef bool glm::bool1x1
 boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x2< bool > glm::bool2x2
 boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x3< bool > glm::bool2x3
 boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x4< bool > glm::bool2x4
 boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x2< bool > glm::bool3x2
 boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x3< bool > glm::bool3x3
 boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x4< bool > glm::bool3x4
 boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x2< bool > glm::bool4x2
 boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x3< bool > glm::bool4x3
 boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x4< bool > glm::bool4x4
 boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef int glm::int1
 integer vector with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec2< int > glm::int2
 integer vector with 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec3< int > glm::int3
 integer vector with 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec4< int > glm::int4
 integer vector with 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef int glm::int1x1
 integer matrix with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x2< int > glm::int2x2
 integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x3< int > glm::int2x3
 integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x4< int > glm::int2x4
 integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x2< int > glm::int3x2
 integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x3< int > glm::int3x3
 integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x4< int > glm::int3x4
 integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x2< int > glm::int4x2
 integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x3< int > glm::int4x3
 integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x4< int > glm::int4x4
 integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::half glm::half1
 half-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec2< detail::half > glm::half2
 half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec3< detail::half > glm::half3
 half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec4< detail::half > glm::half4
 half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::half glm::half1x1
 half-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x2< detail::half > glm::half2x2
 half-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x3< detail::half > glm::half2x3
 half-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x4< detail::half > glm::half2x4
 half-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x2< detail::half > glm::half3x2
 half-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x3< detail::half > glm::half3x3
 half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x4< detail::half > glm::half3x4
 half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x2< detail::half > glm::half4x2
 half-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x3< detail::half > glm::half4x3
 half-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x4< detail::half > glm::half4x4
 half-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef float glm::float1
 single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec2< float > glm::float2
 single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec3< float > glm::float3
 single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec4< float > glm::float4
 single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef float glm::float1x1
 single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x2< float > glm::float2x2
 single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x3< float > glm::float2x3
 single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x4< float > glm::float2x4
 single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x2< float > glm::float3x2
 single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x3< float > glm::float3x3
 single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x4< float > glm::float3x4
 single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x2< float > glm::float4x2
 single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x3< float > glm::float4x3
 single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x4< float > glm::float4x4
 single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef double glm::double1
 double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec2< double > glm::double2
 double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec3< double > glm::double3
 double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tvec4< double > glm::double4
 double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef double glm::double1x1
 double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x2< double > glm::double2x2
 double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x3< double > glm::double2x3
 double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat2x4< double > glm::double2x4
 double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x2< double > glm::double3x2
 double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x3< double > glm::double3x3
 double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat3x4< double > glm::double3x4
 double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x2< double > glm::double4x2
 double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x3< double > glm::double4x3
 double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) More...
 
typedef detail::tmat4x4< double > glm::double4x4
 double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) More...
 

Functions

template<typename T >
GLM_FUNC_QUALIFIERglm::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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec2< T > glm::lerp (const detail::tvec2< T > &x, const detail::tvec2< 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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec3< T > glm::lerp (const detail::tvec3< T > &x, const detail::tvec3< 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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec4< T > glm::lerp (const detail::tvec4< T > &x, const detail::tvec4< 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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec2< T > glm::lerp (const detail::tvec2< T > &x, const detail::tvec2< T > &y, const detail::tvec2< T > &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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec3< T > glm::lerp (const detail::tvec3< T > &x, const detail::tvec3< T > &y, const detail::tvec3< T > &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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec4< T > glm::lerp (const detail::tvec4< T > &x, const detail::tvec4< T > &y, const detail::tvec4< T > &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) More...
 
template<typename T >
GLM_FUNC_QUALIFIERglm::slerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 Returns the slurp interpolation between two quaternions. More...
 
template<typename T >
GLM_FUNC_QUALIFIERglm::saturate (T x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec2< T > glm::saturate (const detail::tvec2< T > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec3< T > glm::saturate (const detail::tvec3< T > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec4< T > glm::saturate (const detail::tvec4< T > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) More...
 
template<typename T >
GLM_FUNC_QUALIFIERglm::atan2 (T x, T y)
 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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec2< T > glm::atan2 (const detail::tvec2< T > &x, const detail::tvec2< T > &y)
 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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec3< T > glm::atan2 (const detail::tvec3< T > &x, const detail::tvec3< T > &y)
 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) More...
 
template<typename T >
GLM_FUNC_QUALIFIER detail::tvec4< T > glm::atan2 (const detail::tvec4< T > &x, const detail::tvec4< T > &y)
 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) More...
 
template<typename genType >
bool glm::isfinite (genType const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) More...
 
template<typename valType >
detail::tvec2< bool > glm::isfinite (const detail::tvec2< valType > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) More...
 
template<typename valType >
detail::tvec3< bool > glm::isfinite (const detail::tvec3< valType > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) More...
 
template<typename valType >
detail::tvec4< bool > glm::isfinite (const detail::tvec4< valType > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) More...
 

Detailed Description

Provide functions to increase the compatibility with Cg and HLSL languages.

<glm/gtx/compatibility.hpp> need to be included to use these functionalities.

Typedef Documentation

typedef bool glm::bool1

boolean type with 1 component. (From GLM_GTX_compatibility extension)

typedef bool glm::bool1x1

boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)

typedef detail::tvec2<bool> glm::bool2

boolean type with 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x2<bool> glm::bool2x2

boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x3<bool> glm::bool2x3

boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x4<bool> glm::bool2x4

boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec3<bool> glm::bool3

boolean type with 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x2<bool> glm::bool3x2

boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x3<bool> glm::bool3x3

boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x4<bool> glm::bool3x4

boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec4<bool> glm::bool4

boolean type with 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x2<bool> glm::bool4x2

boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x3<bool> glm::bool4x3

boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x4<bool> glm::bool4x4

boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)

typedef double glm::double1

double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension)

typedef double glm::double1x1

double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)

typedef detail::tvec2<double> glm::double2

double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x2<double> glm::double2x2

double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x3<double> glm::double2x3

double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x4<double> glm::double2x4

double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec3<double> glm::double3

double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x2<double> glm::double3x2

double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x3<double> glm::double3x3

double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x4<double> glm::double3x4

double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec4<double> glm::double4

double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x2<double> glm::double4x2

double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x3<double> glm::double4x3

double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x4<double> glm::double4x4

double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)

typedef float glm::float1

single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension)

typedef float glm::float1x1

single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)

typedef detail::tvec2<float> glm::float2

single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x2<float> glm::float2x2

single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x3<float> glm::float2x3

single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x4<float> glm::float2x4

single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec3<float> glm::float3

single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x2<float> glm::float3x2

single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x3<float> glm::float3x3

single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x4<float> glm::float3x4

single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec4<float> glm::float4

single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x2<float> glm::float4x2

single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x3<float> glm::float4x3

single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x4<float> glm::float4x4

single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::half glm::half1

half-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension)

typedef detail::half glm::half1x1

half-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)

typedef detail::tvec2<detail::half> glm::half2

half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x2<detail::half> glm::half2x2

half-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x3<detail::half> glm::half2x3

half-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x4<detail::half> glm::half2x4

half-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec3<detail::half> glm::half3

half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x2<detail::half> glm::half3x2

half-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x3<detail::half> glm::half3x3

half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x4<detail::half> glm::half3x4

half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec4<detail::half> glm::half4

half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x2<detail::half> glm::half4x2

half-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x3<detail::half> glm::half4x3

half-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x4<detail::half> glm::half4x4

half-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)

typedef int glm::int1

integer vector with 1 component. (From GLM_GTX_compatibility extension)

typedef int glm::int1x1

integer matrix with 1 component. (From GLM_GTX_compatibility extension)

typedef detail::tvec2<int> glm::int2

integer vector with 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x2<int> glm::int2x2

integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x3<int> glm::int2x3

integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat2x4<int> glm::int2x4

integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec3<int> glm::int3

integer vector with 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x2<int> glm::int3x2

integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x3<int> glm::int3x3

integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat3x4<int> glm::int3x4

integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tvec4<int> glm::int4

integer vector with 4 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x2<int> glm::int4x2

integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x3<int> glm::int4x3

integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)

typedef detail::tmat4x4<int> glm::int4x4

integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)

Function Documentation

template<typename T >
GLM_FUNC_QUALIFIER T glm::atan2 ( T  x,
T  y 
)

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 detail::tvec2<T> glm::atan2 ( const detail::tvec2< T > &  x,
const detail::tvec2< T > &  y 
)

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 detail::tvec3<T> glm::atan2 ( const detail::tvec3< T > &  x,
const detail::tvec3< T > &  y 
)

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 detail::tvec4<T> glm::atan2 ( const detail::tvec4< T > &  x,
const detail::tvec4< T > &  y 
)

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 genType >
bool glm::isfinite ( genType const &  x)

Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)

template<typename valType >
detail::tvec2<bool> glm::isfinite ( const detail::tvec2< valType > &  x)

Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)

template<typename valType >
detail::tvec3<bool> glm::isfinite ( const detail::tvec3< valType > &  x)

Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)

template<typename valType >
detail::tvec4<bool> glm::isfinite ( const detail::tvec4< valType > &  x)

Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)

template<typename T >
GLM_FUNC_QUALIFIER T glm::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 >
GLM_FUNC_QUALIFIER detail::tvec2<T> glm::lerp ( const detail::tvec2< T > &  x,
const detail::tvec2< 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 >
GLM_FUNC_QUALIFIER detail::tvec3<T> glm::lerp ( const detail::tvec3< T > &  x,
const detail::tvec3< 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 >
GLM_FUNC_QUALIFIER detail::tvec4<T> glm::lerp ( const detail::tvec4< T > &  x,
const detail::tvec4< 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 >
GLM_FUNC_QUALIFIER detail::tvec2<T> glm::lerp ( const detail::tvec2< T > &  x,
const detail::tvec2< T > &  y,
const detail::tvec2< T > &  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 >
GLM_FUNC_QUALIFIER detail::tvec3<T> glm::lerp ( const detail::tvec3< T > &  x,
const detail::tvec3< T > &  y,
const detail::tvec3< T > &  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 >
GLM_FUNC_QUALIFIER detail::tvec4<T> glm::lerp ( const detail::tvec4< T > &  x,
const detail::tvec4< T > &  y,
const detail::tvec4< T > &  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 >
GLM_FUNC_QUALIFIER T glm::saturate ( T  x)

Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)

template<typename T >
GLM_FUNC_QUALIFIER detail::tvec2<T> glm::saturate ( const detail::tvec2< T > &  x)

Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)

template<typename T >
GLM_FUNC_QUALIFIER detail::tvec3<T> glm::saturate ( const detail::tvec3< T > &  x)

Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)

template<typename T >
GLM_FUNC_QUALIFIER detail::tvec4<T> glm::saturate ( const detail::tvec4< T > &  x)

Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)

template<typename T >
GLM_FUNC_QUALIFIER T glm::slerp ( detail::tquat< T > const &  x,
detail::tquat< T > const &  y,
T const &  a 
)

Returns the slurp interpolation between two quaternions.

Spherical linear interpolation of two quaternions. The interpolation always take the short path and the rotation is performed at constant speed.

Parameters
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
Template Parameters
TValue type used to build the quaternion. Supported: half, float or double.
See also
GLM_GTC_quaternion