1 /*
2 * Copyright (c), Recep Aslantas.
3 *
4 * MIT License (MIT), http://opensource.org/licenses/MIT
5 * Full license can be found in the LICENSE file
6 */
7
8 #include "../../include/cglm/clipspace/persp_rh_zo.h"
9 #include "../../include/cglm/call/clipspace/persp_rh_zo.h"
10
11 CGLM_EXPORT
12 void
glmc_frustum_rh_zo(float left,float right,float bottom,float top,float nearZ,float farZ,mat4 dest)13 glmc_frustum_rh_zo(float left, float right,
14 float bottom, float top,
15 float nearZ, float farZ,
16 mat4 dest) {
17 glm_frustum_rh_zo(left, right,
18 bottom, top,
19 nearZ, farZ,
20 dest);
21 }
22
23 CGLM_EXPORT
24 void
glmc_perspective_rh_zo(float fovy,float aspect,float nearVal,float farVal,mat4 dest)25 glmc_perspective_rh_zo(float fovy,
26 float aspect,
27 float nearVal,
28 float farVal,
29 mat4 dest) {
30 glm_perspective_rh_zo(fovy,
31 aspect,
32 nearVal,
33 farVal,
34 dest);
35 }
36
37 CGLM_EXPORT
38 void
glmc_persp_move_far_rh_zo(mat4 proj,float deltaFar)39 glmc_persp_move_far_rh_zo(mat4 proj, float deltaFar) {
40 glm_persp_move_far_rh_zo(proj, deltaFar);
41 }
42
43 CGLM_EXPORT
44 void
glmc_persp_decomp_rh_zo(mat4 proj,float * __restrict nearZ,float * __restrict farZ,float * __restrict top,float * __restrict bottom,float * __restrict left,float * __restrict right)45 glmc_persp_decomp_rh_zo(mat4 proj,
46 float * __restrict nearZ, float * __restrict farZ,
47 float * __restrict top, float * __restrict bottom,
48 float * __restrict left, float * __restrict right) {
49 glm_persp_decomp_rh_zo(proj, nearZ, farZ, top, bottom, left, right);
50 }
51
52 CGLM_EXPORT
53 void
glmc_persp_decompv_rh_zo(mat4 proj,float dest[6])54 glmc_persp_decompv_rh_zo(mat4 proj, float dest[6]) {
55 glm_persp_decompv_rh_zo(proj, dest);
56 }
57
58 CGLM_EXPORT
59 void
glmc_persp_decomp_x_rh_zo(mat4 proj,float * __restrict left,float * __restrict right)60 glmc_persp_decomp_x_rh_zo(mat4 proj,
61 float * __restrict left,
62 float * __restrict right) {
63 glm_persp_decomp_x_rh_zo(proj, left, right);
64 }
65
66 CGLM_EXPORT
67 void
glmc_persp_decomp_y_rh_zo(mat4 proj,float * __restrict top,float * __restrict bottom)68 glmc_persp_decomp_y_rh_zo(mat4 proj,
69 float * __restrict top,
70 float * __restrict bottom) {
71 glm_persp_decomp_y_rh_zo(proj, top, bottom);
72 }
73
74 CGLM_EXPORT
75 void
glmc_persp_decomp_z_rh_zo(mat4 proj,float * __restrict nearZ,float * __restrict farZ)76 glmc_persp_decomp_z_rh_zo(mat4 proj,
77 float * __restrict nearZ,
78 float * __restrict farZ) {
79 glm_persp_decomp_z_rh_zo(proj, nearZ, farZ);
80 }
81
82 CGLM_EXPORT
83 void
glmc_persp_decomp_far_rh_zo(mat4 proj,float * __restrict farZ)84 glmc_persp_decomp_far_rh_zo(mat4 proj, float * __restrict farZ) {
85 glm_persp_decomp_far_rh_zo(proj, farZ);
86 }
87
88 CGLM_EXPORT
89 void
glmc_persp_decomp_near_rh_zo(mat4 proj,float * __restrict nearZ)90 glmc_persp_decomp_near_rh_zo(mat4 proj, float * __restrict nearZ) {
91 glm_persp_decomp_near_rh_zo(proj, nearZ);
92 }
93
94 CGLM_EXPORT
95 void
glmc_persp_sizes_rh_zo(mat4 proj,float fovy,vec4 dest)96 glmc_persp_sizes_rh_zo(mat4 proj, float fovy, vec4 dest) {
97 glm_persp_sizes_rh_zo(proj, fovy, dest);
98 }
99
100 CGLM_EXPORT
101 float
glmc_persp_fovy_rh_zo(mat4 proj)102 glmc_persp_fovy_rh_zo(mat4 proj) {
103 return glm_persp_fovy_rh_zo(proj);
104 }
105
106 CGLM_EXPORT
107 float
glmc_persp_aspect_rh_zo(mat4 proj)108 glmc_persp_aspect_rh_zo(mat4 proj) {
109 return glm_persp_aspect_rh_zo(proj);
110 }
111