//! - glm::gtx::transform::rotate(T angle, T x, T y, T z)
//! - glm::gtx::transform::rotate(detail::tmat4x4<T> const & m, T angle, T x, T y, T z)
//! \sa - gtc_matrix_transform
//! \sa - gtx_transform:
//! - \link glm::gtx::transform::rotate(T angle, T x, T y, T z) rotate(T const & angle, T const & x, T const & y, T const & z) \endlink
//! - \link glm::gtx::transform::rotate(detail::tmat4x4<T> const & m, T angle, T x, T y, T z) rotate(mat4x4<T> const & m, T const & angle, T const & x, T const & y, T const & z) \endlink
template<typenameT>
detail::tmat4x4<T>rotate(
detail::tmat4x4<T>const&m,
@ -74,15 +76,18 @@ namespace glm
detail::tvec3<T>const&v);
//! Builds a scale 4 * 4 matrix created from 3 scalars.
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! - See also: \link glm::gtx::transform::scale GLM_GTX_transform \endlink
//! \sa - gtc_matrix_transform
//! \sa - gtx_transform:
//! - \link glm::gtx::transform::scale(T x, T y, T z) rotate(T const & angle, T const & x, T const & y, T const & z) \endlink
//! - \link glm::gtx::transform::scale(detail::tmat4x4<T> const & m, T x, T y, T z) rotate(mat4x4<T> const & m, T const & angle, T const & x, T const & y, T const & z) \endlink
template<typenameT>
detail::tmat4x4<T>scale(
detail::tmat4x4<T>const&m,
detail::tvec3<T>const&v);
//! Creates a matrix for an orthographic parallel viewing volume.
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform:
//! - \link glm::gtc::matrix_transform::ortho(T const & left, T const & right, T const & bottom, T const & top) ortho(T const & left, T const & right, T const & bottom, T const & top) \endlink
template<typenameT>
detail::tmat4x4<T>ortho(
Tconst&left,
@ -93,7 +98,8 @@ namespace glm
Tconst&zFar);
//! Creates a matrix for projecting two-dimensional coordinates onto the screen.
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform:
//! - \link glm::gtc::matrix_transform::ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar) ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar) \endlink
template<typenameT>
detail::tmat4x4<T>ortho(
Tconst&left,
@ -102,7 +108,7 @@ namespace glm
Tconst&top);
//! Creates a frustum matrix.
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform
template<typenameT>
detail::tmat4x4<T>frustum(
Tconst&left,
@ -113,7 +119,7 @@ namespace glm
Tconst&farVal);
//! Creates a matrix for a symetric perspective-view frustum.
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform
template<typenameT>
detail::tmat4x4<T>perspective(
Tconst&fovy,
@ -122,7 +128,7 @@ namespace glm
Tconst&zFar);
//! Builds a perspective projection matrix based on a field of view
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform
template<typenamevalType>
detail::tmat4x4<valType>perspectiveFov(
valTypeconst&fov,
@ -132,19 +138,19 @@ namespace glm
valTypeconst&zFar);
//! Creates a matrix for a symmetric perspective-view frustum with far plane at infinite .
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform
template<typenameT>
detail::tmat4x4<T>infinitePerspective(
Tfovy,Taspect,TzNear);
//! Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform
template<typenameT>
detail::tmat4x4<T>tweakedInfinitePerspective(
Tfovy,Taspect,TzNear);
//! Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform
template<typenameT,typenameU>
detail::tvec3<T>project(
detail::tvec3<T>const&obj,
@ -153,7 +159,7 @@ namespace glm
detail::tvec4<U>const&viewport);
//! Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform
template<typenameT,typenameU>
detail::tvec3<T>unProject(
detail::tvec3<T>const&win,
@ -162,7 +168,7 @@ namespace glm
detail::tvec4<U>const&viewport);
//! Define a picking region
//! - From \link gtc_matrix_transform GLM_GTC_matrix_transform \endlink extension
//! \sa - gtc_matrix_transform
template<typenameT,typenameU>
detail::tmat4x4<T>pickMatrix(
detail::tvec2<T>const¢er,
@ -170,7 +176,8 @@ namespace glm
detail::tvec4<U>const&viewport);
//! Build a look at view matrix.
//! \sa frustum()
//! \sa - gtc_matrix_transform:
//! - \link 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)\endlink
//! \param eye Position of the camera
//! \param center Position where the camera is looking at
//! \param up Normalized up vector, how the camera is oriented. Typically (0, 0, 1)