diff options
-rw-r--r-- | src/cmd/draw/cmapcube.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/cmd/draw/cmapcube.c b/src/cmd/draw/cmapcube.c index a7f4d928..3d0e14e8 100644 --- a/src/cmd/draw/cmapcube.c +++ b/src/cmd/draw/cmapcube.c @@ -12,13 +12,25 @@ typedef struct Vert{ int nocubes; int ncolor; -Quaternion q; +Quaternion q = {1.,0.,0.,0.}; Image *image; Image *bg; Image *color[256]; Rectangle viewrect; int prevsel; +Point3 +p3(double x, double y, double z, double w) +{ + Point3 p; + + p.x = x; + p.y = y; + p.z = z; + p.w = w; + return p; +} + int cmp(Vert *a, Vert *b) { @@ -62,8 +74,8 @@ colorspace(RGB *cmap, Vert *v) view = pushmat(0); viewport(view, viewrect, 1.); persp(view, 30., 3., 7.); - look(view, (Point3){0., 0., -5., 1.}, (Point3){0., 0., 0., 1.}, - (Point3){0., 1., 0., 1.}); + look(view, p3(0., 0., -5., 1.), p3(0., 0., 0., 1.), + p3(0., 1., 0., 1.)); qrot(view, q); for(i=0;i!=ncolor;i++) v[i].screen = xformpointd(v[i].world, 0, view); @@ -184,7 +196,6 @@ void main(int argc, char **argv){ }else bg = allocimage(display, Rect(0,0,1,1), screen->chan, 1, bgcol); - q=(Quaternion){1.,0.,0.,0.}; einit(Emouse); eresized(0); |