diff options
-rw-r--r-- | dat.h | 2 | ||||
-rw-r--r-- | mkfile | 9 | ||||
-rw-r--r-- | vis.c (renamed from main.c) | 38 |
3 files changed, 34 insertions, 15 deletions
@@ -11,6 +11,8 @@ enum { KR→, KR↺, KR↻, + Kzoomin, + Kzoomout, Kcam0, Kcam1, Kcam2, @@ -1,10 +1,11 @@ </$objtype/mkfile BIN=$home/bin/$objtype -TARG=3d +TARG=\ + vis\ + OFILES=\ alloc.$O\ - main.$O\ HFILES=dat.h fns.h @@ -12,7 +13,7 @@ LIB=\ libobj/libobj.a$O\ libgraphics/libgraphics.a$O\ -</sys/src/cmd/mkone +</sys/src/cmd/mkmany libgraphics/libgraphics.a$O: cd libgraphics @@ -40,4 +41,4 @@ clean nuke:V: @{cd libobj; mk $target} uninstall:V: - rm -f $BIN/$TARG + rm -f $BIN/^$TARG @@ -32,6 +32,8 @@ Rune keys[Ke] = { [KR→] = 'd', [KR↺] = 'q', [KR↻] = 'e', + [Kzoomin] = 'z', + [Kzoomout] = 'x', [Kcam0] = KF|1, [Kcam1] = KF|2, [Kcam2] = KF|3, @@ -172,7 +174,7 @@ gouraudshader(FSparams *sp) else tc = Pt3(1,1,1,1); - c.a = fclamp(sp->v.c.a*tc.a, 0, 1); + c.a = 1; c.b = fclamp(sp->v.c.b*tc.b, 0, 1); c.g = fclamp(sp->v.c.g*tc.g, 0, 1); c.r = fclamp(sp->v.c.r*tc.r, 0, 1); @@ -259,7 +261,7 @@ phongshader(FSparams *sp) tc = Pt3(1,1,1,1); c = addpt3(ambient, addpt3(diffuse, specular)); - c.a = fclamp(c.a*tc.a, 0, 1); + c.a = 1; c.b = fclamp(c.b*tc.b, 0, 1); c.g = fclamp(c.g*tc.g, 0, 1); c.r = fclamp(c.r*tc.r, 0, 1); @@ -311,7 +313,7 @@ identshader(FSparams *sp) else tc = Pt3(1,1,1,1); - c.a = fclamp(sp->v.c.a*tc.a, 0, 1); + c.a = 1; c.b = fclamp(sp->v.c.b*tc.b, 0, 1); c.g = fclamp(sp->v.c.g*tc.g, 0, 1); c.r = fclamp(sp->v.c.r*tc.r, 0, 1); @@ -435,6 +437,20 @@ getshader(char *name) } void +zoomin(void) +{ + maincam->fov = fclamp(maincam->fov - 1*DEG, 1*DEG, 359*DEG); + reloadcamera(maincam); +} + +void +zoomout(void) +{ + maincam->fov = fclamp(maincam->fov + 1*DEG, 1*DEG, 359*DEG); + reloadcamera(maincam); +} + +void drawstats(void) { int i; @@ -576,14 +592,10 @@ mouse(void) mmb(); if((mctl->buttons & 4) != 0) rmb(); - if((mctl->buttons & 8) != 0){ - maincam->fov = fclamp(maincam->fov - 1*DEG, 1*DEG, 359*DEG); - reloadcamera(maincam); - } - if((mctl->buttons & 16) != 0){ - maincam->fov = fclamp(maincam->fov + 1*DEG, 1*DEG, 359*DEG); - reloadcamera(maincam); - } + if((mctl->buttons & 8) != 0) + zoomin(); + if((mctl->buttons & 16) != 0) + zoomout(); } void @@ -673,6 +685,10 @@ handlekeys(void) placecamera(maincam, maincam->p, maincam->bz, qrotate(maincam->by, maincam->bz, 1*DEG)); if(kdown & 1<<KR↻) placecamera(maincam, maincam->p, maincam->bz, qrotate(maincam->by, maincam->bz, -1*DEG)); + if(kdown & 1<<Kzoomin) + zoomin(); + if(kdown & 1<<Kzoomout) + zoomout(); if(kdown & 1<<Kcam0) maincam = &cams[0]; if(kdown & 1<<Kcam1) |