diff --git a/glm/gtc/matrix_transform.hpp b/glm/gtc/matrix_transform.hpp index 0601f8a5..5446a5e0 100644 --- a/glm/gtc/matrix_transform.hpp +++ b/glm/gtc/matrix_transform.hpp @@ -59,22 +59,40 @@ namespace glm /// @{ /// Builds a translation 4 * 4 matrix created from a vector of 3 components. - /// @see - gtc_matrix_transform - /// @see - gtx_transform - // - @ref template detail::tmat4x4 translate(T x, T y, T z) - // - @ref template detail::tmat4x4 translate(detail::tmat4x4 const & m, T x, T y, T z) - // - @ref template detail::tmat4x4 translate(detail::tvec3 const & v) + /// + /// @param m Matrix multiplied by this translation matrix. + /// @param v Coordinates of a translation vector. + /// + /// @tparam T Value type used to build the translation matrix. Currently supported: half (not recommanded), float or double. + /// + /// @code + /// #include + /// #include + /// ... + /// 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 + /// @endcode + /// + /// @see gtc_matrix_transform + /// @see gtx_transform + /// @see - translate(T x, T y, T z) + /// @see - translate(detail::tmat4x4 const & m, T x, T y, T z) + /// @see - translate(detail::tvec3 const & v) template detail::tmat4x4 translate( detail::tmat4x4 const & m, detail::tvec3 const & v); /// Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees. - /// @see - gtc_matrix_transform - /// @see - gtx_transform - // - @link glm::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::rotate(detail::tmat4x4 const & m, T angle, T x, T y, T z) rotate(mat4x4 const & m, T const & angle, T const & x, T const & y, T const & z) @endlink - // - @link glm::rotate(T angle, detail::tvec3 const & v) rotate(T const & angle, vec3 const & v) @endlink + /// + /// @see gtc_matrix_transform + /// @see gtx_transform + /// @see - rotate(T angle, T x, T y, T z) + /// @see - rotate(detail::tmat4x4 const & m, T angle, T x, T y, T z) + /// @see - rotate(T angle, detail::tvec3 const & v) template detail::tmat4x4 rotate( detail::tmat4x4 const & m, @@ -82,19 +100,21 @@ namespace glm detail::tvec3 const & v); /// Builds a scale 4 * 4 matrix created from 3 scalars. - /// @see - gtc_matrix_transform - /// @see - gtx_transform - // - @link scale(T x, T y, T z) scale(T const & x, T const & y, T const & z) @endlink - // - @link scale(detail::tmat4x4 const & m, T x, T y, T z) scale(mat4x4 const & m, T const & angle, T const & x, T const & y, T const & z) @endlink - // - @link scale(detail::tvec3 const & v) scale(vec3 const & v) @endlink + /// + /// @see gtc_matrix_transform + /// @see gtx_transform + /// @see - scale(T x, T y, T z) scale(T const & x, T const & y, T const & z) + /// @see - scale(detail::tmat4x4 const & m, T x, T y, T z) + /// @see - scale(detail::tvec3 const & v) template detail::tmat4x4 scale( detail::tmat4x4 const & m, detail::tvec3 const & v); /// Creates a matrix for an orthographic parallel viewing volume. - /// @see - gtc_matrix_transform - // - @link glm::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 + /// + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const & left, T const & right, T const & bottom, T const & top) template detail::tmat4x4 ortho( T const & left, @@ -105,8 +125,9 @@ namespace glm T const & zFar); /// Creates a matrix for projecting two-dimensional coordinates onto the screen. - /// @see - gtc_matrix_transform - // - @link glm::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 + /// + /// @see gtc_matrix_transform + /// @see - glm::ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar) template detail::tmat4x4 ortho( T const & left, @@ -115,7 +136,8 @@ namespace glm T const & top); /// Creates a frustum matrix. - /// @see - gtc_matrix_transform + /// + /// @see gtc_matrix_transform template detail::tmat4x4 frustum( T const & left, @@ -126,7 +148,8 @@ namespace glm T const & farVal); /// Creates a matrix for a symetric perspective-view frustum. - /// @see - gtc_matrix_transform + /// + /// @see gtc_matrix_transform template detail::tmat4x4 perspective( T const & fovy, @@ -134,8 +157,9 @@ namespace glm T const & zNear, T const & zFar); - /// Builds a perspective projection matrix based on a field of view - /// @see - gtc_matrix_transform + /// Builds a perspective projection matrix based on a field of view. + /// + /// @see gtc_matrix_transform template detail::tmat4x4 perspectiveFov( valType const & fov, @@ -144,20 +168,23 @@ namespace glm valType const & zNear, valType const & zFar); - /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite . - /// @see - gtc_matrix_transform + /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite. + /// + /// @see gtc_matrix_transform template detail::tmat4x4 infinitePerspective( T fovy, T aspect, T zNear); /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. - /// @see - gtc_matrix_transform + /// + /// @see gtc_matrix_transform template detail::tmat4x4 tweakedInfinitePerspective( T fovy, T aspect, T zNear); /// Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. - /// @see - gtc_matrix_transform + /// + /// @see gtc_matrix_transform template detail::tvec3 project( detail::tvec3 const & obj, @@ -166,7 +193,8 @@ namespace glm detail::tvec4 const & viewport); /// Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. - /// @see - gtc_matrix_transform + /// + /// @see gtc_matrix_transform template detail::tvec3 unProject( detail::tvec3 const & win, @@ -175,7 +203,8 @@ namespace glm detail::tvec4 const & viewport); /// Define a picking region - /// @see - gtc_matrix_transform + /// + /// @see gtc_matrix_transform template detail::tmat4x4 pickMatrix( detail::tvec2 const & center, @@ -183,8 +212,9 @@ namespace glm detail::tvec4 const & viewport); /// Build a look at view matrix. - /// @see - 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 + /// + /// @see gtc_matrix_transform + /// @see - 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) /// @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)