Flow Visualisation
matrix_transform.hpp
Go to the documentation of this file.
1 
46 #ifndef GLM_GTC_matrix_transform
47 #define GLM_GTC_matrix_transform GLM_VERSION
48 
49 // Dependency:
50 #include "../glm.hpp"
51 
52 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
53 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
54 #endif
55 
56 namespace glm
57 {
60 
81  template <typename T>
82  detail::tmat4x4<T> translate(
83  detail::tmat4x4<T> const & m,
84  detail::tvec3<T> const & v);
85 
97  template <typename T>
98  detail::tmat4x4<T> rotate(
99  detail::tmat4x4<T> const & m,
100  T const & angle,
101  detail::tvec3<T> const & axis);
102 
113  template <typename T>
114  detail::tmat4x4<T> scale(
115  detail::tmat4x4<T> const & m,
116  detail::tvec3<T> const & v);
117 
129  template <typename T>
130  detail::tmat4x4<T> ortho(
131  T const & left,
132  T const & right,
133  T const & bottom,
134  T const & top,
135  T const & zNear,
136  T const & zFar);
137 
147  template <typename T>
148  detail::tmat4x4<T> ortho(
149  T const & left,
150  T const & right,
151  T const & bottom,
152  T const & top);
153 
164  template <typename T>
165  detail::tmat4x4<T> frustum(
166  T const & left,
167  T const & right,
168  T const & bottom,
169  T const & top,
170  T const & near,
171  T const & far);
172 
181  template <typename T>
182  detail::tmat4x4<T> perspective(
183  T const & fovy,
184  T const & aspect,
185  T const & near,
186  T const & far);
187 
197  template <typename valType>
198  detail::tmat4x4<valType> perspectiveFov(
199  valType const & fov,
200  valType const & width,
201  valType const & height,
202  valType const & near,
203  valType const & far);
204 
212  template <typename T>
213  detail::tmat4x4<T> infinitePerspective(
214  T fovy, T aspect, T near);
215 
223  template <typename T>
224  detail::tmat4x4<T> tweakedInfinitePerspective(
225  T fovy, T aspect, T near);
226 
236  template <typename T, typename U>
237  detail::tvec3<T> project(
238  detail::tvec3<T> const & obj,
239  detail::tmat4x4<T> const & model,
240  detail::tmat4x4<T> const & proj,
241  detail::tvec4<U> const & viewport);
242 
252  template <typename T, typename U>
253  detail::tvec3<T> unProject(
254  detail::tvec3<T> const & win,
255  detail::tmat4x4<T> const & model,
256  detail::tmat4x4<T> const & proj,
257  detail::tvec4<U> const & viewport);
258 
267  template <typename T, typename U>
268  detail::tmat4x4<T> pickMatrix(
269  detail::tvec2<T> const & center,
270  detail::tvec2<T> const & delta,
271  detail::tvec4<U> const & viewport);
272 
280  template <typename T>
281  detail::tmat4x4<T> lookAt(
282  detail::tvec3<T> const & eye,
283  detail::tvec3<T> const & center,
284  detail::tvec3<T> const & up);
285 
287 }//namespace glm
288 
289 #include "matrix_transform.inl"
290 
291 #endif//GLM_GTC_matrix_transform
detail::tmat4x4< T > ortho(T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
detail::tmat4x4< T > scale(detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
Definition: matrix_transform.inl:86
detail::tmat4x4< T > rotate(detail::tmat4x4< T > const &m, T const &angle, detail::tvec3< T > const &axis)
Definition: matrix_transform.inl:45
Definition: _detail.hpp:38
detail::tmat4x4< T > frustum(T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
Definition: _swizzle.hpp:43
detail::tmat4x4< T > perspective(T const &fovy, T const &aspect, T const &near, T const &far)
vecType proj(vecType const &x, vecType const &Normal)
Definition: projection.inl:14
detail::tvec3< T > unProject(detail::tvec3< T > const &win, detail::tmat4x4< T > const &model, detail::tmat4x4< T > const &proj, detail::tvec4< U > const &viewport)
Definition: matrix_transform.inl:362
detail::tmat4x4< T > translate(detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
Definition: matrix_transform.inl:33
detail::tmat4x4< T > infinitePerspective(T fovy, T aspect, T near)
Definition: matrix_transform.inl:287
detail::tvec3< T > project(detail::tvec3< T > const &obj, detail::tmat4x4< T > const &model, detail::tmat4x4< T > const &proj, detail::tvec4< U > const &viewport)
Definition: matrix_transform.inl:341
detail::tmat4x4< T > pickMatrix(detail::tvec2< T > const &center, detail::tvec2< T > const &delta, detail::tvec4< U > const &viewport)
Definition: matrix_transform.inl:384
detail::tmat4x4< T > lookAt(detail::tvec3< T > const &eye, detail::tvec3< T > const &center, detail::tvec3< T > const &up)
Definition: matrix_transform.inl:408
detail::tmat4x4< valType > perspectiveFov(valType const &fov, valType const &width, valType const &height, valType const &near, valType const &far)
Definition: matrix_transform.inl:260
detail::tvec3< valType > axis(detail::tquat< valType > const &x)
detail::tmat4x4< T > tweakedInfinitePerspective(T fovy, T aspect, T near)
Definition: matrix_transform.inl:314
valType angle(detail::tquat< valType > const &x)