0.9.9 API documentation
Functions
GLM_GTX_rotate_vector

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation (vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > rotate (vec< 2, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateX (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateX (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateY (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateY (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateZ (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateZ (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > slerp (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
 

Detailed Description

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

Function to directly rotate a vector

Function Documentation

◆ orientation()

GLM_FUNC_DECL mat<4, 4, T, Q> glm::orientation ( vec< 3, T, Q > const &  Normal,
vec< 3, T, Q > const &  Up 
)

Build a rotation matrix from a normal and a up vector.

From GLM_GTX_rotate_vector extension.

◆ rotate() [1/3]

GLM_FUNC_DECL vec<2, T, Q> glm::rotate ( vec< 2, T, Q > const &  v,
T const &  angle 
)

Rotate a two dimensional vector.

From GLM_GTX_rotate_vector extension.

◆ rotate() [2/3]

GLM_FUNC_DECL vec<3, T, Q> glm::rotate ( vec< 3, T, Q > const &  v,
T const &  angle,
vec< 3, T, Q > const &  normal 
)

Rotate a three dimensional vector around an axis.

From GLM_GTX_rotate_vector extension.

◆ rotate() [3/3]

GLM_FUNC_DECL vec<4, T, Q> glm::rotate ( vec< 4, T, Q > const &  v,
T const &  angle,
vec< 3, T, Q > const &  normal 
)

Rotate a four dimensional vector around an axis.

From GLM_GTX_rotate_vector extension.

◆ rotateX() [1/2]

GLM_FUNC_DECL vec<3, T, Q> glm::rotateX ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.

◆ rotateX() [2/2]

GLM_FUNC_DECL vec<4, T, Q> glm::rotateX ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.

◆ rotateY() [1/2]

GLM_FUNC_DECL vec<3, T, Q> glm::rotateY ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the Y axis.

From GLM_GTX_rotate_vector extension.

◆ rotateY() [2/2]

GLM_FUNC_DECL vec<4, T, Q> glm::rotateY ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the Y axis.

From GLM_GTX_rotate_vector extension.

◆ rotateZ() [1/2]

GLM_FUNC_DECL vec<3, T, Q> glm::rotateZ ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the Z axis.

From GLM_GTX_rotate_vector extension.

◆ rotateZ() [2/2]

GLM_FUNC_DECL vec<4, T, Q> glm::rotateZ ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the Z axis.

From GLM_GTX_rotate_vector extension.

◆ slerp()

GLM_FUNC_DECL vec<3, T, Q> glm::slerp ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y,
T const &  a 
)

Returns Spherical interpolation between two vectors.

Parameters
xA first vector
yA second vector
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
See also
GLM_GTX_rotate_vector