GLM Version 0.9.0
Typedefs | Functions

glm::gtx::compatibility Namespace Reference

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

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

Functions

template<typename T >
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 >
detail::tvec2< T > 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 >
detail::tvec3< T > 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 >
detail::tvec4< T > 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 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 > 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 > 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 > 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 genType >
detail::tvec4< bool > isinf (const detail::tvec4< genType > &x)
 Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)
template<typename genType >
bool isinf (genType const &x)
 Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)
template<typename genType >
detail::tvec2< bool > isinf (const detail::tvec2< genType > &x)
 Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)
template<typename genType >
detail::tvec3< bool > isinf (const detail::tvec3< genType > &x)
 Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)
template<typename genType >
bool isnan (genType const &x)
 Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)
template<typename genType >
detail::tvec2< bool > isnan (const detail::tvec2< genType > &x)
 Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)
template<typename genType >
detail::tvec3< bool > isnan (const detail::tvec3< genType > &x)
 Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)
template<typename genType >
detail::tvec4< bool > isnan (const detail::tvec4< genType > &x)
 Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)
template<typename T >
detail::tvec4< T > 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 >
detail::tvec2< T > 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 >
detail::tvec2< T > 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 >
detail::tvec3< T > 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 >
detail::tvec3< T > 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 >
detail::tvec4< T > 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 >
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 >
detail::tvec2< T > saturate (const detail::tvec2< T > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typename T >
detail::tvec3< T > saturate (const detail::tvec3< T > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typename T >
saturate (T x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typename T >
detail::tvec4< T > saturate (const detail::tvec4< T > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)

Detailed Description

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