- Main Page
- Related Pages
- Modules
- Files

- File List

matrix_transform.hpp
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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