Functions
GLM_GTC_matrix_transform
GTC Extensions (Stable)

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

Collaboration diagram for GLM_GTC_matrix_transform:

Functions

template<typename T >
GLM_FUNC_DECL detail::tmat4x4
< T, defaultp > 
glm::frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
< T, defaultp > 
glm::infinitePerspective (T fovy, T aspect, T near)
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
< T, P > 
glm::lookAt (detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
< T, defaultp > 
glm::ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
< T, defaultp > 
glm::ortho (T const &left, T const &right, T const &bottom, T const &top)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
< T, defaultp > 
glm::perspective (T const &fovy, T const &aspect, T const &near, T const &far)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
< T, defaultp > 
glm::perspectiveFov (T const &fov, T const &width, T const &height, T const &near, T const &far)
template<typename T , precision P, typename U >
GLM_FUNC_DECL detail::tmat4x4
< T, P > 
glm::pickMatrix (detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > glm::project (detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
< T, P > 
glm::rotate (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
< T, P > 
glm::scale (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
< T, P > 
glm::translate (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
< T, defaultp > 
glm::tweakedInfinitePerspective (T fovy, T aspect, T near)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
< T, defaultp > 
glm::tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > glm::unProject (detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > 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

template<typename T >
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::frustum ( T const &  left,
T const &  right,
T const &  bottom,
T const &  top,
T const &  near,
T const &  far 
)

Creates a frustum matrix.

Parameters:
left
right
bottom
top
near
far
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
template<typename T >
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::infinitePerspective ( T  fovy,
T  aspect,
T  near 
)

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

Parameters:
fovyExpressed in radians.
aspect
near
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::lookAt ( detail::tvec3< T, P > const &  eye,
detail::tvec3< T, P > const &  center,
detail::tvec3< T, P > const &  up 
)

Build a look at view matrix.

Parameters:
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
See also:
GLM_GTC_matrix_transform
- frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal) frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::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.

Parameters:
left
right
bottom
top
zNear
zFar
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
- glm::ortho(T const & left, T const & right, T const & bottom, T const & top)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::ortho ( T const &  left,
T const &  right,
T const &  bottom,
T const &  top 
)

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

Parameters:
left
right
bottom
top
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
- glm::ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::perspective ( T const &  fovy,
T const &  aspect,
T const &  near,
T const &  far 
)

Creates a matrix for a symetric perspective-view frustum.

Parameters:
fovyExpressed in radians.
aspect
near
far
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
template<typename T >
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::perspectiveFov ( T const &  fov,
T const &  width,
T const &  height,
T const &  near,
T const &  far 
)

Builds a perspective projection matrix based on a field of view.

Parameters:
fovExpressed in radians.
width
height
near
far
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
template<typename T , precision P, typename U >
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::pickMatrix ( detail::tvec2< T, P > const &  center,
detail::tvec2< T, P > const &  delta,
detail::tvec4< U, P > const &  viewport 
)

Define a picking region

Parameters:
center
delta
viewport
Template Parameters:
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
See also:
GLM_GTC_matrix_transform
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3<T, P> glm::project ( detail::tvec3< T, P > const &  obj,
detail::tmat4x4< T, P > const &  model,
detail::tmat4x4< T, P > const &  proj,
detail::tvec4< U, P > const &  viewport 
)

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

Parameters:
obj
model
proj
viewport
Template Parameters:
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
See also:
GLM_GTC_matrix_transform
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::rotate ( detail::tmat4x4< T, P > const &  m,
T const &  angle,
detail::tvec3< T, P > const &  axis 
)

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

Parameters:
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians.
axisRotation axis, recommanded to be normalized.
Template Parameters:
TValue type used to build the matrix. Supported: half, float or double.
See also:
GLM_GTC_matrix_transform
GLM_GTX_transform
- rotate(T angle, T x, T y, T z)
- rotate(detail::tmat4x4<T, P> const & m, T angle, T x, T y, T z)
- rotate(T angle, detail::tvec3<T, P> const & v)
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::scale ( detail::tmat4x4< T, P > const &  m,
detail::tvec3< T, P > const &  v 
)

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

Parameters:
mInput matrix multiplied by this scale matrix.
vRatio of scaling for each axis.
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
GLM_GTX_transform
- scale(T x, T y, T z) scale(T const & x, T const & y, T const & z)
- scale(detail::tmat4x4<T, P> const & m, T x, T y, T z)
- scale(detail::tvec3<T, P> const & v)
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::translate ( detail::tmat4x4< T, P > const &  m,
detail::tvec3< T, P > const &  v 
)

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

Parameters:
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
 #include <glm/glm.hpp>
 #include <glm/gtc/matrix_transform.hpp>
 ...
 glm::mat4 m = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f));
 // m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f
 // m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f
 // m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f
 // m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f
See also:
GLM_GTC_matrix_transform
GLM_GTX_transform
- translate(T x, T y, T z)
- translate(detail::tmat4x4<T, P> const & m, T x, T y, T z)
- translate(detail::tvec3<T, P> const & v)
template<typename T >
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::tweakedInfinitePerspective ( T  fovy,
T  aspect,
T  near 
)

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

Parameters:
fovyExpressed in radians.
aspect
near
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
template<typename T >
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::tweakedInfinitePerspective ( T  fovy,
T  aspect,
T  near,
T  ep 
)

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

Parameters:
fovyExpressed in radians.
aspect
near
Template Parameters:
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
See also:
GLM_GTC_matrix_transform
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3<T, P> glm::unProject ( detail::tvec3< T, P > const &  win,
detail::tmat4x4< T, P > const &  model,
detail::tmat4x4< T, P > const &  proj,
detail::tvec4< U, P > const &  viewport 
)

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

Parameters:
win
model
proj
viewport
Template Parameters:
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
See also:
GLM_GTC_matrix_transform


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jun 6 2019 21:59:38