| 1.0.0 API documentation

matrix_clip_space.hpp
Go to the documentation of this file.
1
20 #pragma once
21
22 // Dependencies
23 #include "../ext/scalar_constants.hpp"
24 #include "../geometric.hpp"
25 #include "../trigonometric.hpp"
26
27 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
28 # pragma message("GLM: GLM_EXT_matrix_clip_space extension included")
29 #endif
30
31 namespace glm
32 {
35
42 template<typename T>
43 GLM_FUNC_DECL mat<4, 4, T, defaultp> ortho(
44 T left, T right, T bottom, T top);
45
52 template<typename T>
53 GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH_ZO(
54 T left, T right, T bottom, T top, T zNear, T zFar);
55
62 template<typename T>
63 GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH_NO(
64 T left, T right, T bottom, T top, T zNear, T zFar);
65
72 template<typename T>
73 GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH_ZO(
74 T left, T right, T bottom, T top, T zNear, T zFar);
75
82 template<typename T>
83 GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH_NO(
84 T left, T right, T bottom, T top, T zNear, T zFar);
85
92 template<typename T>
93 GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoZO(
94 T left, T right, T bottom, T top, T zNear, T zFar);
95
102 template<typename T>
103 GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoNO(
104 T left, T right, T bottom, T top, T zNear, T zFar);
105
113 template<typename T>
114 GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH(
115 T left, T right, T bottom, T top, T zNear, T zFar);
116
124 template<typename T>
125 GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH(
126 T left, T right, T bottom, T top, T zNear, T zFar);
127
135 template<typename T>
136 GLM_FUNC_DECL mat<4, 4, T, defaultp> ortho(
137 T left, T right, T bottom, T top, T zNear, T zFar);
138
143 template<typename T>
144 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH_ZO(
145 T left, T right, T bottom, T top, T near, T far);
146
151 template<typename T>
152 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH_NO(
153 T left, T right, T bottom, T top, T near, T far);
154
159 template<typename T>
160 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH_ZO(
161 T left, T right, T bottom, T top, T near, T far);
162
167 template<typename T>
168 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH_NO(
169 T left, T right, T bottom, T top, T near, T far);
170
175 template<typename T>
176 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumZO(
177 T left, T right, T bottom, T top, T near, T far);
178
183 template<typename T>
184 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumNO(
185 T left, T right, T bottom, T top, T near, T far);
186
192 template<typename T>
193 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH(
194 T left, T right, T bottom, T top, T near, T far);
195
201 template<typename T>
202 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH(
203 T left, T right, T bottom, T top, T near, T far);
204
210 template<typename T>
211 GLM_FUNC_DECL mat<4, 4, T, defaultp> frustum(
212 T left, T right, T bottom, T top, T near, T far);
213
214
224 template<typename T>
225 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH_ZO(
226 T fovy, T aspect, T near, T far);
227
237 template<typename T>
238 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH_NO(
239 T fovy, T aspect, T near, T far);
240
250 template<typename T>
251 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH_ZO(
252 T fovy, T aspect, T near, T far);
253
263 template<typename T>
264 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH_NO(
265 T fovy, T aspect, T near, T far);
266
276 template<typename T>
277 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveZO(
278 T fovy, T aspect, T near, T far);
279
289 template<typename T>
290 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveNO(
291 T fovy, T aspect, T near, T far);
292
303 template<typename T>
304 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH(
305 T fovy, T aspect, T near, T far);
306
317 template<typename T>
318 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH(
319 T fovy, T aspect, T near, T far);
320
331 template<typename T>
332 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspective(
333 T fovy, T aspect, T near, T far);
334
345 template<typename T>
346 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH_ZO(
347 T fov, T width, T height, T near, T far);
348
359 template<typename T>
360 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH_NO(
361 T fov, T width, T height, T near, T far);
362
373 template<typename T>
374 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH_ZO(
375 T fov, T width, T height, T near, T far);
376
387 template<typename T>
388 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH_NO(
389 T fov, T width, T height, T near, T far);
390
401 template<typename T>
402 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovZO(
403 T fov, T width, T height, T near, T far);
404
415 template<typename T>
416 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovNO(
417 T fov, T width, T height, T near, T far);
418
430 template<typename T>
431 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH(
432 T fov, T width, T height, T near, T far);
433
445 template<typename T>
446 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH(
447 T fov, T width, T height, T near, T far);
448
459 template<typename T>
460 GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFov(
461 T fov, T width, T height, T near, T far);
462
470 template<typename T>
471 GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspectiveLH(
472 T fovy, T aspect, T near);
473
481 template<typename T>
482 GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspectiveRH(
483 T fovy, T aspect, T near);
484
492 template<typename T>
493 GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspective(
494 T fovy, T aspect, T near);
495
503 template<typename T>
504 GLM_FUNC_DECL mat<4, 4, T, defaultp> tweakedInfinitePerspective(
505 T fovy, T aspect, T near);
506
515 template<typename T>
516 GLM_FUNC_DECL mat<4, 4, T, defaultp> tweakedInfinitePerspective(
517 T fovy, T aspect, T near, T ep);
518
520 }//namespace glm
521
522 #include "matrix_clip_space.inl"
glm::perspectiveNO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveNO(T fovy, T aspect, T near, T far)
Creates a matrix for a symmetric perspective-view frustum using left-handed coordinates if GLM_FORCE_...
glm::perspectiveLH_ZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_ZO(T fovy, T aspect, T near, T far)
Creates a matrix for a left-handed, symmetric perspective-view frustum.
glm::perspectiveFovLH_NO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_NO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using left-handed coordinates.
glm::frustumZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumZO(T left, T right, T bottom, T top, T near, T far)
Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-h...
glm::orthoLH_NO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_NO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume using left-handed coordinates.
glm::frustumLH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH(T left, T right, T bottom, T top, T near, T far)
Creates a left-handed frustum matrix.
glm::infinitePerspective
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspective(T fovy, T aspect, T near)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default han...
glm::perspectiveFovRH_NO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_NO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using right-handed coordinates.
glm::orthoLH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.
glm::perspectiveFovZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovZO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_...
glm::orthoRH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.
glm::perspectiveRH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH(T fovy, T aspect, T near, T far)
Creates a matrix for a right-handed, symmetric perspective-view frustum.
glm::orthoNO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoNO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FO...
glm::perspectiveZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveZO(T fovy, T aspect, T near, T far)
Creates a matrix for a symmetric perspective-view frustum using left-handed coordinates if GLM_FORCE_...
glm::perspectiveFovRH_ZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_ZO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using right-handed coordinates.
glm::perspectiveFovRH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH(T fov, T width, T height, T near, T far)
Builds a right-handed perspective projection matrix based on a field of view.
glm::perspectiveFovNO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovNO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_...
glm::perspective
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspective(T fovy, T aspect, T near, T far)
Creates a matrix for a symmetric perspective-view frustum based on the default handedness and default...
glm::frustum
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustum(T left, T right, T bottom, T top, T near, T far)
Creates a frustum matrix with default handedness, using the default handedness and default near and f...
glm::ortho
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using the default handedness and defaul...
glm::perspectiveLH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH(T fovy, T aspect, T near, T far)
Creates a matrix for a left-handed, symmetric perspective-view frustum.
glm::orthoZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoZO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.
glm::perspectiveFovLH_ZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_ZO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using left-handed coordinates.
glm::perspectiveRH_ZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_ZO(T fovy, T aspect, T near, T far)
Creates a matrix for a right-handed, symmetric perspective-view frustum.
glm::frustumLH_NO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_NO(T left, T right, T bottom, T top, T near, T far)
Creates a left-handed frustum matrix.
glm::orthoRH_NO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_NO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.
glm::frustumRH_ZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_ZO(T left, T right, T bottom, T top, T near, T far)
Creates a right-handed frustum matrix.
glm::frustumRH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH(T left, T right, T bottom, T top, T near, T far)
Creates a right-handed frustum matrix.
glm::perspectiveFov
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFov(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view and the default handedness and defaul...
glm::tweakedInfinitePerspective
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective(T fovy, T aspect, T near, T ep)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics har...
glm::infinitePerspectiveRH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveRH(T fovy, T aspect, T near)
Creates a matrix for a right-handed, symmetric perspective-view frustum with far plane at infinite.
glm::orthoRH_ZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_ZO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.
glm::perspectiveFovLH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH(T fov, T width, T height, T near, T far)
Builds a left-handed perspective projection matrix based on a field of view.
glm::frustumRH_NO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_NO(T left, T right, T bottom, T top, T near, T far)
Creates a right-handed frustum matrix.
glm::infinitePerspectiveLH
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveLH(T fovy, T aspect, T near)
Creates a matrix for a left-handed, symmetric perspective-view frustum with far plane at infinite.
glm::perspectiveLH_NO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_NO(T fovy, T aspect, T near, T far)
Creates a matrix for a left-handed, symmetric perspective-view frustum.
glm::frustumNO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumNO(T left, T right, T bottom, T top, T near, T far)
Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-h...
glm::orthoLH_ZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_ZO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.
glm::frustumLH_ZO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_ZO(T left, T right, T bottom, T top, T near, T far)
Creates a left-handed frustum matrix.
glm::perspectiveRH_NO
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_NO(T fovy, T aspect, T near, T far)
Creates a matrix for a right-handed, symmetric perspective-view frustum.