summaryrefslogtreecommitdiff
path: root/prge_camera.c
diff options
context:
space:
mode:
authorpryazha <pryadeiniv@mail.ru>2025-06-15 16:07:54 +0500
committerpryazha <pryadeiniv@mail.ru>2025-06-15 16:07:54 +0500
commitf30a4eba44c77d5c743fe9308dc697a3225e8dd8 (patch)
treec171da2e8d1127409e2ffe9e56e2e027bac48e28 /prge_camera.c
parent92a8eb610f40c9770569ca63ca1bd705a6d3497d (diff)
i don't even know
Diffstat (limited to 'prge_camera.c')
-rw-r--r--prge_camera.c99
1 files changed, 0 insertions, 99 deletions
diff --git a/prge_camera.c b/prge_camera.c
deleted file mode 100644
index 0a79a74..0000000
--- a/prge_camera.c
+++ /dev/null
@@ -1,99 +0,0 @@
-Camera initcam(V3 pos, F32 fov, F32 near, F32 far, F32 yaw, F32 pitch, F32 roll)
-{
- Camera c = {
- .pos = pos,
- .fov = fov,
- .near = near,
- .far = far,
- .yaw = yaw,
- .pitch = pitch,
- .roll = roll,
- };
- return c;
-}
-
-MAT4 getfpviewmat(Camera *c)
-{
- MAT4 v;
- v = translmat4(MAT4_IDENTITY, invv3(c->pos));
- v = rotatemat4(v, v3(c->pitch, c->yaw, c->roll));
- return v;
-}
-
-void getfpvecs(Camera *c, V3 *l, V3 *u, V3 *f)
-{
- F32 angle, cp, sp, cy, sy, cr, sr;
-
- angle = DEG2RAD*c->pitch;
- cp = f32cos(angle);
- sp = f32sin(angle);
- angle = DEG2RAD*c->yaw;
- cy = f32cos(angle);
- sy = f32sin(angle);
- angle = DEG2RAD*c->roll;
- cr = f32cos(angle);
- sr = f32sin(angle);
-
- *l = v3(cy*cr, -cy*sr, sy);
- *u = v3(sp*sy*cr+cp*sr, -sp*sy*sr+cp*cr, -sp*cy);
- *f = v3(-cp*sy*cr+sp*sr, cp*sy*sr+sp*cr, cp*cy);
-}
-
-MAT4 lookat(Camera c, V3 t, V3 wup)
-{
- V3 f, r, u;
- MAT4 transl, rotate, res;
-
- f = normv3(subv3(c.pos, t));
- r = normv3(crossv3(wup, f));
- u = crossv3(f, r);
-
- transl = translmat4(MAT4_IDENTITY, invv3(c.pos));
- rotate = transpmat4(rotateaxismat4(r, u, f));
- res = mulmat4(rotate, transl);
-
- return res;
-}
-
-MAT4 ortho(F32 l, F32 r, F32 b, F32 t, F32 n, F32 f)
-{
- MAT4 res;
-
- res = MAT4_IDENTITY;
- res.m0.x = 2.0f/(r-l);
- res.m1.y = 2.0f/(t-b);
- res.m2.z = -2.0f/(f-n);
- res.m3.x = -(r+l)/(r-l);
- res.m3.y = -(t+b)/(t-b);
- res.m3.z = -(f+n)/(f-n);
-
- return res;
-}
-
-MAT4 persp(F32 fov, F32 ar, F32 n, F32 f)
-{
- F32 r, t;
- MAT4 res;
-
- r = n*f32tan(fov/2.0f*DEG2RAD);
- t = r/ar;
-
- res = MAT4_IDENTITY;
- res.m0.x = n/r;
- res.m1.y = n/t;
- res.m2.z = -(f+n)/(f-n);
- res.m2.w = -1.0f;
- res.m3.z = (-2.0f*f*n)/(f-n);
- res.m3.w = 0.0f;
-
- return res;
-}
-
-MAT4 camera_persp(Camera c, F32 ar)
-{
- MAT4 res;
-
- res = persp(c.fov, ar, c.near, c.far);
-
- return res;
-}