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)
template<typename T >
detail::tmat4x4< T > infinitePerspective (T fovy, T aspect, T zNear)
template<typename T >
detail::tmat4x4< T > lookAt (detail::tvec3< T > const &eye, detail::tvec3< T > const &center, detail::tvec3< T > const &up)
template<typename T >
detail::tmat4x4< T > ortho (T const &left, T const &right, T const &bottom, T const &top)
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)
template<typename T >
detail::tmat4x4< T > perspective (T const &fovy, T const &aspect, T const &zNear, T const &zFar)
template<typename valType >
detail::tmat4x4< valType > perspectiveFov (valType const &fov, valType const &width, valType const &height, valType const &zNear, valType const &zFar)
template<typename T , typename U >
detail::tmat4x4< T > pickMatrix (detail::tvec2< T > const &center, detail::tvec2< T > const &delta, detail::tvec4< U > const &viewport)
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)
template<typename T >
detail::tmat4x4< T > rotate (detail::tmat4x4< T > const &m, T const &angle, detail::tvec3< T > const &v)
template<typename T >
detail::tmat4x4< T > scale (detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
template<typename T >
detail::tmat4x4< T > translate (detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
template<typename T >
detail::tmat4x4< T > tweakedInfinitePerspective (T fovy, T aspect, T zNear)
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)

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 ( fovy,
aspect,
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 ( fovy,
aspect,
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.