- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List

matrix_transform.hpp
Go to the documentation of this file.

    00001
    00002
    00003
    00004
    00005
    00006
    00007
    00008
    00009
    00010
    00011
    00012
    00013
    00014
    00015
    00016
    00017
    00018
    00019
    00020
    00021
    00022
    00023
    00024
    00025
    00026
    00027
    00028
    00029
    00030
    00031
    00032
    00033
    00034
    00035
    00036
    00037
    00038
    00039
    00040
    00041
    00042
    00043
    00044
    00045
    00046 #ifndef GLM_GTC_matrix_transform
    00047 #define GLM_GTC_matrix_transform GLM_VERSION
    00048
    00049 // Dependency:
    00050 #include "../glm.hpp"
    00051
    00052 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
    00053 #       pragma message("GLM: GLM_GTC_matrix_transform extension included")
    00054 #endif
    00055
    00056 namespace glm
    00057 {
    00060
    00081         template <typename T>
    00082         detail::tmat4x4<T> translate(
    00083                 detail::tmat4x4<T> const & m,
    00084                 detail::tvec3<T> const & v);
    00085
    00097         template <typename T>
    00098         detail::tmat4x4<T> rotate(
    00099                 detail::tmat4x4<T> const & m,
    00100                 T const & angle,
    00101                 detail::tvec3<T> const & axis);
    00102
    00113         template <typename T>
    00114         detail::tmat4x4<T> scale(
    00115                 detail::tmat4x4<T> const & m,
    00116                 detail::tvec3<T> const & v);
    00117
    00129         template <typename T>
    00130         detail::tmat4x4<T> ortho(
    00131                 T const & left,
    00132                 T const & right,
    00133                 T const & bottom,
    00134                 T const & top,
    00135                 T const & zNear,
    00136                 T const & zFar);
    00137
    00147         template <typename T>
    00148         detail::tmat4x4<T> ortho(
    00149                 T const & left,
    00150                 T const & right,
    00151                 T const & bottom,
    00152                 T const & top);
    00153
    00164         template <typename T>
    00165         detail::tmat4x4<T> frustum(
    00166                 T const & left,
    00167                 T const & right,
    00168                 T const & bottom,
    00169                 T const & top,
    00170                 T const & near,
    00171                 T const & far);
    00172
    00181         template <typename T>
    00182         detail::tmat4x4<T> perspective(
    00183                 T const & fovy,
    00184                 T const & aspect,
    00185                 T const & near,
    00186                 T const & far);
    00187
    00197         template <typename valType>
    00198         detail::tmat4x4<valType> perspectiveFov(
    00199                 valType const & fov,
    00200                 valType const & width,
    00201                 valType const & height,
    00202                 valType const & near,
    00203                 valType const & far);
    00204
    00212     template <typename T>
    00213         detail::tmat4x4<T> infinitePerspective(
    00214                 T fovy, T aspect, T near);
    00215
    00223     template <typename T>
    00224         detail::tmat4x4<T> tweakedInfinitePerspective(
    00225                 T fovy, T aspect, T near);
    00226
    00236         template <typename T, typename U>
    00237         detail::tvec3<T> project(
    00238                 detail::tvec3<T> const & obj,
    00239                 detail::tmat4x4<T> const & model,
    00240                 detail::tmat4x4<T> const & proj,
    00241                 detail::tvec4<U> const & viewport);
    00242
    00252         template <typename T, typename U>
    00253         detail::tvec3<T> unProject(
    00254                 detail::tvec3<T> const & win,
    00255                 detail::tmat4x4<T> const & model,
    00256                 detail::tmat4x4<T> const & proj,
    00257                 detail::tvec4<U> const & viewport);
    00258
    00267         template <typename T, typename U>
    00268         detail::tmat4x4<T> pickMatrix(
    00269                 detail::tvec2<T> const & center,
    00270                 detail::tvec2<T> const & delta,
    00271                 detail::tvec4<U> const & viewport);
    00272
    00280         template <typename T>
    00281         detail::tmat4x4<T> lookAt(
    00282                 detail::tvec3<T> const & eye,
    00283                 detail::tvec3<T> const & center,
    00284                 detail::tvec3<T> const & up);
    00285
    00287 }//namespace glm
    00288
    00289 #include "matrix_transform.inl"
    00290
    00291 #endif//GLM_GTC_matrix_transform