summaryrefslogtreecommitdiff
path: root/projtest.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2024-07-13 20:51:42 +0000
committerrodri <rgl@antares-labs.eu>2024-07-13 20:51:42 +0000
commiteddb2d366ba452ff2993aa4c827150767a1fcc59 (patch)
treec5e8cb021374a95f148116419bcb8eab213bd27d /projtest.c
parent4966f25444d343ade4a6fbdd29f6175f372da09d (diff)
download3dee-eddb2d366ba452ff2993aa4c827150767a1fcc59.tar.gz
3dee-eddb2d366ba452ff2993aa4c827150767a1fcc59.tar.bz2
3dee-eddb2d366ba452ff2993aa4c827150767a1fcc59.zip
use the new camera interface. solar got faster with backface culling.
Diffstat (limited to 'projtest.c')
-rw-r--r--projtest.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/projtest.c b/projtest.c
index 974bb28..76373e7 100644
--- a/projtest.c
+++ b/projtest.c
@@ -10,7 +10,7 @@
#include "libgraphics/graphics.h"
#include "fns.h"
-Camera cam;
+Camera *cam;
void
usage(void)
@@ -35,15 +35,15 @@ threadmain(int argc, char *argv[])
if(memimageinit() != 0)
sysfatal("memimageinit: %r");
- placecamera(&cam, Pt3(0,0,1,1), Vec3(0,0,0), Vec3(0,1,0));
- configcamera(&cam, mkviewport(Rect(0,0,640,480)), 40*DEG, 0.01, 10, PERSPECTIVE);
+ cam = Cam(Rect(0,0,640,480), nil, PERSPECTIVE, 40*DEG, 0.01, 10);
+ placecamera(cam, nil, Pt3(0,0,1,1), Vec3(0,0,0), Vec3(0,1,0));
- fb = cam.vp->getfb(cam.vp);
+ fb = cam->vp->getfb(cam->vp);
np = Pt3(0,0,-0.01,1);
fp = Pt3(0,0,-10,1);
fprint(2, "near %V\nfar %V\n", np, fp);
- np = vcs2clip(&cam, np);
- fp = vcs2clip(&cam, fp);
+ np = vcs2clip(cam, np);
+ fp = vcs2clip(cam, fp);
fprint(2, "E → C\n");
fprint(2, "near %V\n", np);
fprint(2, "far %V\n", fp);
@@ -62,8 +62,8 @@ threadmain(int argc, char *argv[])
fprint(2, "V → N\n");
fprint(2, "near %V\n", np);
fprint(2, "far %V\n", fp);
- np = ndc2vcs(&cam, np);
- fp = ndc2vcs(&cam, fp);
+ np = ndc2vcs(cam, np);
+ fp = ndc2vcs(cam, fp);
fprint(2, "N → E\n");
fprint(2, "near %V\n", np);
fprint(2, "far %V\n", fp);
@@ -78,13 +78,13 @@ threadmain(int argc, char *argv[])
fprint(2, "V → N\n");
fprint(2, "near %V\n", np);
fprint(2, "far %V\n", fp);
- np = ndc2vcs(&cam, np);
- fp = ndc2vcs(&cam, fp);
+ np = ndc2vcs(cam, np);
+ fp = ndc2vcs(cam, fp);
fprint(2, "N → E\n");
fprint(2, "near %V\n", np);
fprint(2, "far %V\n", fp);
- np = vcs2clip(&cam, np);
- fp = vcs2clip(&cam, fp);
+ np = vcs2clip(cam, np);
+ fp = vcs2clip(cam, fp);
fprint(2, "E → C\n");
fprint(2, "near %V\n", np);
fprint(2, "far %V\n", fp);