0.9.9 API documenation
|
Defines functions that generate common transformation matrices. More...
Functions | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | frustum (T left, T right, T bottom, T top, T near, T far) |
Creates a frustum matrix with default handedness. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | frustumLH (T left, T right, T bottom, T top, T near, T far) |
Creates a left handed frustum matrix. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | frustumRH (T left, T right, T bottom, T top, T near, T far) |
Creates a right handed frustum matrix. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | infinitePerspective (T fovy, T aspect, T near) |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | infinitePerspectiveLH (T fovy, T aspect, T near) |
Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | infinitePerspectiveRH (T fovy, T aspect, T near) |
Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. More... | |
template<typename T , qualifier P> | |
GLM_FUNC_DECL mat< 4, 4, T, P > | lookAt (vec< 3, T, P > const &eye, vec< 3, T, P > const ¢er, vec< 3, T, P > const &up) |
Build a look at view matrix based on the default handedness. More... | |
template<typename T , qualifier P> | |
GLM_FUNC_DECL mat< 4, 4, T, P > | lookAtLH (vec< 3, T, P > const &eye, vec< 3, T, P > const ¢er, vec< 3, T, P > const &up) |
Build a left handed look at view matrix. More... | |
template<typename T , qualifier P> | |
GLM_FUNC_DECL mat< 4, 4, T, P > | lookAtRH (vec< 3, T, P > const &eye, vec< 3, T, P > const ¢er, vec< 3, T, P > const &up) |
Build a right handed look at view matrix. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | ortho (T left, T right, T bottom, T top, T zNear, T zFar) |
Creates a matrix for an orthographic parallel viewing volume, using the default handedness. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | ortho (T left, T right, T bottom, T top) |
Creates a matrix for projecting two-dimensional coordinates onto the screen. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | orthoLH (T left, T right, T bottom, T top, T zNear, T zFar) |
Creates a matrix for an orthographic parallel viewing volume, using left-handedness. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | orthoRH (T left, T right, T bottom, T top, T zNear, T zFar) |
Creates a matrix for an orthographic parallel viewing volume, using right-handedness. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | perspective (T fovy, T aspect, T near, T far) |
Creates a matrix for a symetric perspective-view frustum based on the default handedness. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | perspectiveFov (T fov, T width, T height, T near, T far) |
Builds a perspective projection matrix based on a field of view and the default handedness. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | perspectiveFovLH (T fov, T width, T height, T near, T far) |
Builds a left handed perspective projection matrix based on a field of view. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | perspectiveFovRH (T fov, T width, T height, T near, T far) |
Builds a right handed perspective projection matrix based on a field of view. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | perspectiveLH (T fovy, T aspect, T near, T far) |
Creates a matrix for a left handed, symetric perspective-view frustum. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | perspectiveRH (T fovy, T aspect, T near, T far) |
Creates a matrix for a right handed, symetric perspective-view frustum. More... | |
template<typename T , qualifier P, typename U > | |
GLM_FUNC_DECL mat< 4, 4, T, P > | pickMatrix (vec< 2, T, P > const ¢er, vec< 2, T, P > const &delta, vec< 4, U, P > const &viewport) |
Define a picking region. More... | |
template<typename T , typename U , qualifier P> | |
GLM_FUNC_DECL vec< 3, T, P > | project (vec< 3, T, P > const &obj, mat< 4, 4, T, P > const &model, mat< 4, 4, T, P > const &proj, vec< 4, U, P > const &viewport) |
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More... | |
template<typename T , qualifier P> | |
GLM_FUNC_DECL mat< 4, 4, T, P > | rotate (mat< 4, 4, T, P > const &m, T angle, vec< 3, T, P > const &axis) |
Builds a rotation 4 * 4 matrix created from an axis vector and an angle. More... | |
template<typename T , qualifier P> | |
GLM_FUNC_DECL mat< 4, 4, T, P > | scale (mat< 4, 4, T, P > const &m, vec< 3, T, P > const &v) |
Builds a scale 4 * 4 matrix created from 3 scalars. More... | |
template<typename T , qualifier P> | |
GLM_FUNC_DECL mat< 4, 4, T, P > | translate (mat< 4, 4, T, P > const &m, vec< 3, T, P > const &v) |
Builds a translation 4 * 4 matrix created from a vector of 3 components. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | 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. More... | |
template<typename T > | |
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | 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. More... | |
template<typename T , typename U , qualifier P> | |
GLM_FUNC_DECL vec< 3, T, P > | unProject (vec< 3, T, P > const &win, mat< 4, 4, T, P > const &model, mat< 4, 4, T, P > const &proj, vec< 4, U, P > const &viewport) |
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More... | |
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.
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustum | ( | T | left, |
T | right, | ||
T | bottom, | ||
T | top, | ||
T | near, | ||
T | far | ||
) |
Creates a frustum matrix with default handedness.
left | |
right | |
bottom | |
top | |
near | |
far |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumLH | ( | T | left, |
T | right, | ||
T | bottom, | ||
T | top, | ||
T | near, | ||
T | far | ||
) |
Creates a left handed frustum matrix.
left | |
right | |
bottom | |
top | |
near | |
far |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumRH | ( | T | left, |
T | right, | ||
T | bottom, | ||
T | top, | ||
T | near, | ||
T | far | ||
) |
Creates a right handed frustum matrix.
left | |
right | |
bottom | |
top | |
near | |
far |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspective | ( | T | fovy, |
T | aspect, | ||
T | near | ||
) |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness.
fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspectiveLH | ( | T | fovy, |
T | aspect, | ||
T | near | ||
) |
Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite.
fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspectiveRH | ( | T | fovy, |
T | aspect, | ||
T | near | ||
) |
Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite.
fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, P> glm::lookAt | ( | vec< 3, T, P > const & | eye, |
vec< 3, T, P > const & | center, | ||
vec< 3, T, P > const & | up | ||
) |
Build a look at view matrix based on the default handedness.
eye | Position of the camera |
center | Position where the camera is looking at |
up | Normalized up vector, how the camera is oriented. Typically (0, 0, 1) |
GLM_FUNC_DECL mat<4, 4, T, P> glm::lookAtLH | ( | vec< 3, T, P > const & | eye, |
vec< 3, T, P > const & | center, | ||
vec< 3, T, P > const & | up | ||
) |
Build a left handed look at view matrix.
eye | Position of the camera |
center | Position where the camera is looking at |
up | Normalized up vector, how the camera is oriented. Typically (0, 0, 1) |
GLM_FUNC_DECL mat<4, 4, T, P> glm::lookAtRH | ( | vec< 3, T, P > const & | eye, |
vec< 3, T, P > const & | center, | ||
vec< 3, T, P > const & | up | ||
) |
Build a right handed look at view matrix.
eye | Position of the camera |
center | Position where the camera is looking at |
up | Normalized up vector, how the camera is oriented. Typically (0, 0, 1) |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::ortho | ( | T | left, |
T | right, | ||
T | bottom, | ||
T | top, | ||
T | zNear, | ||
T | zFar | ||
) |
Creates a matrix for an orthographic parallel viewing volume, using the default handedness.
left | |
right | |
bottom | |
top | |
zNear | |
zFar |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::ortho | ( | T | left, |
T | right, | ||
T | bottom, | ||
T | top | ||
) |
Creates a matrix for projecting two-dimensional coordinates onto the screen.
left | |
right | |
bottom | |
top |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoLH | ( | T | left, |
T | right, | ||
T | bottom, | ||
T | top, | ||
T | zNear, | ||
T | zFar | ||
) |
Creates a matrix for an orthographic parallel viewing volume, using left-handedness.
left | |
right | |
bottom | |
top | |
zNear | |
zFar |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoRH | ( | T | left, |
T | right, | ||
T | bottom, | ||
T | top, | ||
T | zNear, | ||
T | zFar | ||
) |
Creates a matrix for an orthographic parallel viewing volume, using right-handedness.
left | |
right | |
bottom | |
top | |
zNear | |
zFar |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspective | ( | T | fovy, |
T | aspect, | ||
T | near, | ||
T | far | ||
) |
Creates a matrix for a symetric perspective-view frustum based on the default handedness.
fovy | Specifies the field of view angle in the y direction. Expressed in radians. |
aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
far | Specifies the distance from the viewer to the far clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFov | ( | T | fov, |
T | width, | ||
T | height, | ||
T | near, | ||
T | far | ||
) |
Builds a perspective projection matrix based on a field of view and the default handedness.
fov | Expressed in radians. |
width | |
height | |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
far | Specifies the distance from the viewer to the far clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovLH | ( | T | fov, |
T | width, | ||
T | height, | ||
T | near, | ||
T | far | ||
) |
Builds a left handed perspective projection matrix based on a field of view.
fov | Expressed in radians. |
width | |
height | |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
far | Specifies the distance from the viewer to the far clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovRH | ( | T | fov, |
T | width, | ||
T | height, | ||
T | near, | ||
T | far | ||
) |
Builds a right handed perspective projection matrix based on a field of view.
fov | Expressed in radians. |
width | |
height | |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
far | Specifies the distance from the viewer to the far clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveLH | ( | T | fovy, |
T | aspect, | ||
T | near, | ||
T | far | ||
) |
Creates a matrix for a left handed, symetric perspective-view frustum.
fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
far | Specifies the distance from the viewer to the far clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveRH | ( | T | fovy, |
T | aspect, | ||
T | near, | ||
T | far | ||
) |
Creates a matrix for a right handed, symetric perspective-view frustum.
fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
far | Specifies the distance from the viewer to the far clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, T, P> glm::pickMatrix | ( | vec< 2, T, P > const & | center, |
vec< 2, T, P > const & | delta, | ||
vec< 4, U, P > const & | viewport | ||
) |
Define a picking region.
center | |
delta | |
viewport |
T | Native type used for the computation. Currently supported: half (not recommanded), float or double. |
U | Currently supported: Floating-point types and integer types. |
GLM_FUNC_DECL vec<3, T, P> glm::project | ( | vec< 3, T, P > const & | obj, |
mat< 4, 4, T, P > const & | model, | ||
mat< 4, 4, T, P > const & | proj, | ||
vec< 4, U, P > const & | viewport | ||
) |
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
obj | Specify the object coordinates. |
model | Specifies the current modelview matrix |
proj | Specifies the current projection matrix |
viewport | Specifies the current viewport |
T | Native type used for the computation. Currently supported: half (not recommanded), float or double. |
U | Currently supported: Floating-point types and integer types. |
GLM_FUNC_DECL mat<4, 4, T, P> glm::rotate | ( | mat< 4, 4, T, P > const & | m, |
T | angle, | ||
vec< 3, T, P > const & | axis | ||
) |
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
m | Input matrix multiplied by this rotation matrix. |
angle | Rotation angle expressed in radians. |
axis | Rotation axis, recommended to be normalized. |
T | Value type used to build the matrix. Supported: half, float or double. |
GLM_FUNC_DECL mat<4, 4, T, P> glm::scale | ( | mat< 4, 4, T, P > const & | m, |
vec< 3, T, P > const & | v | ||
) |
Builds a scale 4 * 4 matrix created from 3 scalars.
m | Input matrix multiplied by this scale matrix. |
v | Ratio of scaling for each axis. |
T | Value type used to build the matrix. Currently supported: half (not recommended), float or double. |
GLM_FUNC_DECL mat<4, 4, T, P> glm::translate | ( | mat< 4, 4, T, P > const & | m, |
vec< 3, T, P > const & | v | ||
) |
Builds a translation 4 * 4 matrix created from a vector of 3 components.
m | Input matrix multiplied by this translation matrix. |
v | Coordinates of a translation vector. |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. #include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
...
// 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
|
GLM_FUNC_DECL mat<4, 4, 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.
fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL mat<4, 4, 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.
fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
near | Specifies the distance from the viewer to the near clipping plane (always positive). |
ep |
T | Value type used to build the matrix. Currently supported: half (not recommanded), float or double. |
GLM_FUNC_DECL vec<3, T, P> glm::unProject | ( | vec< 3, T, P > const & | win, |
mat< 4, 4, T, P > const & | model, | ||
mat< 4, 4, T, P > const & | proj, | ||
vec< 4, U, P > const & | viewport | ||
) |
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
win | Specify the window coordinates to be mapped. |
model | Specifies the modelview matrix |
proj | Specifies the projection matrix |
viewport | Specifies the viewport |
T | Native type used for the computation. Currently supported: half (not recommanded), float or double. |
U | Currently supported: Floating-point types and integer types. |