0.9.9 API documenation
Functions
GLM_GTX_quaternion

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

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (tquat< T, Q > const &q, vec< 3, T, Q > const &v)
 Compute a cross product between a quaternion and a vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &v, tquat< T, Q > const &q)
 Compute a cross product between a vector and a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > exp (tquat< T, Q > const &q)
 Returns a exp of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T extractRealComponent (tquat< T, Q > const &q)
 Extract the real component of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > fastMix (tquat< T, Q > const &x, tquat< T, Q > const &y, T const &a)
 Quaternion normalized linear interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > intermediate (tquat< T, Q > const &prev, tquat< T, Q > const &curr, tquat< T, Q > const &next)
 Returns an intermediate control point for squad interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T length2 (tquat< T, Q > const &q)
 Returns the squared length of x. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > log (tquat< T, Q > const &q)
 Returns a log of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > pow (tquat< T, Q > const &x, T const &y)
 Returns x raised to the y power. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > quat_identity ()
 Create an identity quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > quatLookAt (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a look at quaternion based on the default handedness. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > quatLookAtLH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a left-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > quatLookAtRH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a right-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (tquat< T, Q > const &q, vec< 3, T, Q > const &v)
 Returns quarternion square root. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (tquat< T, Q > const &q, vec< 4, T, Q > const &v)
 Rotates a 4 components vector by a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > rotation (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
 Compute the rotation between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > shortMix (tquat< T, Q > const &x, tquat< T, Q > const &y, T const &a)
 Quaternion interpolation using the rotation short path. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > squad (tquat< T, Q > const &q1, tquat< T, Q > const &q2, tquat< T, Q > const &s1, tquat< T, Q > const &s2, T const &h)
 Compute a point on a path according squad equation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > toMat3 (tquat< T, Q > const &x)
 Converts a quaternion to a 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > toMat4 (tquat< T, Q > const &x)
 Converts a quaternion to a 4 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > toQuat (mat< 3, 3, T, Q > const &x)
 Converts a 3 * 3 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tquat< T, Q > toQuat (mat< 4, 4, T, Q > const &x)
 Converts a 4 * 4 matrix to a quaternion. More...
 

Detailed Description

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

Extented quaternion types and functions

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::cross ( tquat< T, Q > const &  q,
vec< 3, T, Q > const &  v 
)

Compute a cross product between a quaternion and a vector.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL vec<3, T, Q> glm::cross ( vec< 3, T, Q > const &  v,
tquat< T, Q > const &  q 
)

Compute a cross product between a vector and a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::exp ( tquat< T, Q > const &  q)

Returns a exp of a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL T glm::extractRealComponent ( tquat< T, Q > const &  q)

Extract the real component of a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::fastMix ( tquat< T, Q > const &  x,
tquat< T, Q > const &  y,
T const &  a 
)

Quaternion normalized linear interpolation.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::intermediate ( tquat< T, Q > const &  prev,
tquat< T, Q > const &  curr,
tquat< T, Q > const &  next 
)

Returns an intermediate control point for squad interpolation.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL T glm::length2 ( tquat< T, Q > const &  q)

Returns the squared length of x.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::log ( tquat< T, Q > const &  q)

Returns a log of a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::pow ( tquat< T, Q > const &  x,
T const &  y 
)

Returns x raised to the y power.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::quat_identity ( )

Create an identity quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::quatLookAt ( vec< 3, T, Q > const &  direction,
vec< 3, T, Q > const &  up 
)

Build a look at quaternion based on the default handedness.

Parameters
directionDesired forward direction. Needs to be normalized.
upUp vector, how the camera is oriented. Typically (0, 1, 0).
GLM_FUNC_DECL tquat<T, Q> glm::quatLookAtLH ( vec< 3, T, Q > const &  direction,
vec< 3, T, Q > const &  up 
)

Build a left-handed look at quaternion.

Parameters
directionDesired forward direction onto which the +z-axis gets mapped. Needs to be normalized.
upUp vector, how the camera is oriented. Typically (0, 1, 0).
GLM_FUNC_DECL tquat<T, Q> glm::quatLookAtRH ( vec< 3, T, Q > const &  direction,
vec< 3, T, Q > const &  up 
)

Build a right-handed look at quaternion.

Parameters
directionDesired forward direction onto which the -z-axis gets mapped. Needs to be normalized.
upUp vector, how the camera is oriented. Typically (0, 1, 0).
GLM_FUNC_DECL vec<3, T, Q> glm::rotate ( tquat< T, Q > const &  q,
vec< 3, T, Q > const &  v 
)

Returns quarternion square root.

See also
GLM_GTX_quaternion Rotates a 3 components vector by a quaternion.
GLM_GTX_quaternion
GLM_FUNC_DECL vec<4, T, Q> glm::rotate ( tquat< T, Q > const &  q,
vec< 4, T, Q > const &  v 
)

Rotates a 4 components vector by a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::rotation ( vec< 3, T, Q > const &  orig,
vec< 3, T, Q > const &  dest 
)

Compute the rotation between two vectors.

param orig vector, needs to be normalized param dest vector, needs to be normalized

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::shortMix ( tquat< T, Q > const &  x,
tquat< T, Q > const &  y,
T const &  a 
)

Quaternion interpolation using the rotation short path.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, Q> glm::squad ( tquat< T, Q > const &  q1,
tquat< T, Q > const &  q2,
tquat< T, Q > const &  s1,
tquat< T, Q > const &  s2,
T const &  h 
)

Compute a point on a path according squad equation.

q1 and q2 are control points; s1 and s2 are intermediate control points.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL mat<3, 3, T, Q> glm::toMat3 ( tquat< T, Q > const &  x)

Converts a quaternion to a 3 * 3 matrix.

See also
GLM_GTX_quaternion

Definition at line 134 of file gtx/quaternion.hpp.

References glm::mat3_cast().

GLM_FUNC_DECL mat<4, 4, T, Q> glm::toMat4 ( tquat< T, Q > const &  x)

Converts a quaternion to a 4 * 4 matrix.

See also
GLM_GTX_quaternion

Definition at line 141 of file gtx/quaternion.hpp.

References glm::mat4_cast().

GLM_FUNC_DECL tquat<T, Q> glm::toQuat ( mat< 3, 3, T, Q > const &  x)

Converts a 3 * 3 matrix to a quaternion.

See also
GLM_GTX_quaternion

Definition at line 148 of file gtx/quaternion.hpp.

References glm::quat_cast().

GLM_FUNC_DECL tquat<T, Q> glm::toQuat ( mat< 4, 4, T, Q > const &  x)

Converts a 4 * 4 matrix to a quaternion.

See also
GLM_GTX_quaternion

Definition at line 155 of file gtx/quaternion.hpp.

References glm::quat_cast().