- Main Page
- Modules
- Namespaces
- Classes
- Files

Functions

# GLM_GTC_matrix_transform: Matrix transform functions.

GTC Extensions (Stable)

Defines functions that generate common transformation matrices. More...

## Functions
template<typename T >
detail::tmat4x4< T > | frustum (T const &left, T const &right, T const &bottom, T const &top, T const &nearVal, T const &farVal)
| Creates a frustum matrix.
template<typename T >
detail::tmat4x4< T > | infinitePerspective (T fovy, T aspect, T zNear)
| Creates a matrix for a symmetric perspective-view frustum with far plane at infinite .
template<typename T >
detail::tmat4x4< T > | lookAt (detail::tvec3< T > const &eye, detail::tvec3< T > const &center, detail::tvec3< T > const &up)
| Build a look at view matrix.
template<typename T >
detail::tmat4x4< T > | ortho (T const &left, T const &right, T const &bottom, T const &top)
| Creates a matrix for projecting two-dimensional coordinates onto the screen.
template<typename T >
detail::tmat4x4< T > | ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
| Creates a matrix for an orthographic parallel viewing volume.
template<typename T >
detail::tmat4x4< T > | perspective (T const &fovy, T const &aspect, T const &zNear, T const &zFar)
| Creates a matrix for a symetric perspective-view frustum.
template<typename valType >
detail::tmat4x4< valType > | perspectiveFov (valType const &fov, valType const &width, valType const &height, valType const &zNear, valType const &zFar)
| Builds a perspective projection matrix based on a field of view From GLM_GTC_matrix_transform extension.
template<typename T , typename U >
detail::tmat4x4< T > | pickMatrix (detail::tvec2< T > const &center, detail::tvec2< T > const &delta, detail::tvec4< U > const &viewport)
| Define a picking region From GLM_GTC_matrix_transform extension.
template<typename T , typename U >
detail::tvec3< T > | project (detail::tvec3< T > const &obj, detail::tmat4x4< T > const &model, detail::tmat4x4< T > const &proj, detail::tvec4< U > const &viewport)
| Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
template<typename T >
detail::tmat4x4< T > | rotate (detail::tmat4x4< T > const &m, T const &angle, detail::tvec3< T > const &v)
| Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees.
template<typename T >
detail::tmat4x4< T > | scale (detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
| Builds a scale 4 * 4 matrix created from 3 scalars.
template<typename T >
detail::tmat4x4< T > | translate (detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
| Builds a translation 4 * 4 matrix created from a vector of 3 components.
template<typename T >
detail::tmat4x4< T > | tweakedInfinitePerspective (T fovy, T aspect, T zNear)
| Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.
template<typename T , typename U >
detail::tvec3< T > | unProject (detail::tvec3< T > const &win, detail::tmat4x4< T > const &model, detail::tmat4x4< T > const &proj, detail::tvec4< U > const &viewport)
| Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

## Detailed Description

Defines functions that generate common transformation matrices.

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions ( perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

<glm/gtc/matrix_transform.hpp> need to be included to use these functionalities.

## Function Documentation

detail::tmat4x4<T> glm::gtc::matrix_transform::frustum | ( | T const & | left,
|  | T const & | right,
|  | T const & | bottom,
|  | T const & | top,
|  | T const & | nearVal,
|  | T const & | farVal
| ) |  |

Creates a frustum matrix.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::infinitePerspective | ( | T | fovy,
|  | T | aspect,
|  | T | zNear
| ) |  |

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite .

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::lookAt | ( | detail::tvec3< T > const & | eye,
|  | detail::tvec3< T > const & | center,
|  | detail::tvec3< T > const & | up
| ) |  |

Build a look at view matrix.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::ortho | ( | T const & | left,
|  | T const & | right,
|  | T const & | bottom,
|  | T const & | top
| ) |  |

Creates a matrix for projecting two-dimensional coordinates onto the screen.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::ortho | ( | T const & | left,
|  | T const & | right,
|  | T const & | bottom,
|  | T const & | top,
|  | T const & | zNear,
|  | T const & | zFar
| ) |  |

Creates a matrix for an orthographic parallel viewing volume.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::perspective | ( | T const & | fovy,
|  | T const & | aspect,
|  | T const & | zNear,
|  | T const & | zFar
| ) |  |

Creates a matrix for a symetric perspective-view frustum.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<valType> glm::gtc::matrix_transform::perspectiveFov | ( | valType const & | fov,
|  | valType const & | width,
|  | valType const & | height,
|  | valType const & | zNear,
|  | valType const & | zFar
| ) |  |

Builds a perspective projection matrix based on a field of view From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::pickMatrix | ( | detail::tvec2< T > const & | center,
|  | detail::tvec2< T > const & | delta,
|  | detail::tvec4< U > const & | viewport
| ) |  |

Define a picking region From GLM_GTC_matrix_transform extension.

detail::tvec3<T> glm::gtc::matrix_transform::project | ( | detail::tvec3< T > const & | obj,
|  | detail::tmat4x4< T > const & | model,
|  | detail::tmat4x4< T > const & | proj,
|  | detail::tvec4< U > const & | viewport
| ) |  |

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::rotate | ( | detail::tmat4x4< T > const & | m,
|  | T const & | angle,
|  | detail::tvec3< T > const & | v
| ) |  |

Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::scale | ( | detail::tmat4x4< T > const & | m,
|  | detail::tvec3< T > const & | v
| ) |  |

Builds a scale 4 * 4 matrix created from 3 scalars.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::translate | ( | detail::tmat4x4< T > const & | m,
|  | detail::tvec3< T > const & | v
| ) |  |

Builds a translation 4 * 4 matrix created from a vector of 3 components.

From GLM_GTC_matrix_transform extension.

detail::tmat4x4<T> glm::gtc::matrix_transform::tweakedInfinitePerspective | ( | T | fovy,
|  | T | aspect,
|  | T | zNear
| ) |  |

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

From GLM_GTC_matrix_transform extension.

detail::tvec3<T> glm::gtc::matrix_transform::unProject | ( | detail::tvec3< T > const & | win,
|  | detail::tmat4x4< T > const & | model,
|  | detail::tmat4x4< T > const & | proj,
|  | detail::tvec4< U > const & | viewport
| ) |  |

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

From GLM_GTC_matrix_transform extension.