diff options
author | rodri <rgl@antares-labs.eu> | 2024-07-13 20:51:42 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-07-13 20:51:42 +0000 |
commit | eddb2d366ba452ff2993aa4c827150767a1fcc59 (patch) | |
tree | c5e8cb021374a95f148116419bcb8eab213bd27d /projtest.c | |
parent | 4966f25444d343ade4a6fbdd29f6175f372da09d (diff) | |
download | 3dee-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.c | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -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); |