# GLM: glm::gtc::matrix_projection Namespace Reference

# glm::gtc::matrix_projection Namespace Reference

GLM_GTC_matrix_projection: Varius ways to build and operate on projection matrices. More...

## Functions

template<typename valType >
detail::tmat4x4< valType > | frustum (valType const &left, valType const &right, valType const &bottom, valType const &top, valType const &nearVal, valType const &farVal)
| Creates a frustum matrix.
template<typename valType >
detail::tmat4x4< valType > | ortho (valType const &left, valType const &right, valType const &bottom, valType const &top, valType const &zNear, valType const &zFar)
| Creates a matrix for an orthographic parallel viewing volume.
template<typename valType >
detail::tmat4x4< valType > | ortho (valType const &left, valType const &right, valType const &bottom, valType const &top)
| Creates a matrix for projecting two-dimensional coordinates onto the screen.
template<typename valType >
detail::tmat4x4< valType > | perspective (valType const &fovy, valType const &aspect, valType const &zNear, valType const &zFar)
| Creates a matrix for a symetric perspective-view frustum.
template<typename valTypeT , typename valTypeU >
detail::tvec3< valTypeT > | project (detail::tvec3< valTypeT > const &obj, detail::tmat4x4< valTypeT > const &model, detail::tmat4x4< valTypeT > const &proj, detail::tvec4< valTypeU > const &viewport)
| Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
template<typename valTypeT , typename valTypeU >
detail::tvec3< valTypeT > | unProject (detail::tvec3< valTypeT > const &win, detail::tmat4x4< valTypeT > const &model, detail::tmat4x4< valTypeT > const &proj, detail::tvec4< valTypeU > const &viewport)
| Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

## Detailed Description

GLM_GTC_matrix_projection: Varius ways to build and operate on projection matrices.

## Function Documentation

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

Creates a frustum matrix.

From GLM_GTC_matrix_projection extension.

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

Creates a matrix for an orthographic parallel viewing volume.

From GLM_GTC_matrix_projection extension.

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

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

From GLM_GTC_matrix_projection extension.

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

Creates a matrix for a symetric perspective-view frustum.

From GLM_GTC_matrix_projection extension.

detail::tvec3<valTypeT> glm::gtc::matrix_projection::project | ( | detail::tvec3< valTypeT > const & | obj,
|  | detail::tmat4x4< valTypeT > const & | model,
|  | detail::tmat4x4< valTypeT > const & | proj,
|  | detail::tvec4< valTypeU > const & | viewport |
| ) |  |  |

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

From GLM_GTC_matrix_projection extension.

detail::tvec3<valTypeT> glm::gtc::matrix_projection::unProject | ( | detail::tvec3< valTypeT > const & | win,
|  | detail::tmat4x4< valTypeT > const & | model,
|  | detail::tmat4x4< valTypeT > const & | proj,
|  | detail::tvec4< valTypeU > const & | viewport |
| ) |  |  |

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

From GLM_GTC_matrix_projection extension.