| 0.9.9 API documenation

Functions
GLM_GTX_rotate_vector
Experimental extensions

## 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

  x | A first vector
  y | A second vector
  a | Interpolation factor. The interpolation is defined beyond the range [0, 1].

See also
  GLM_GTX_rotate_vector