static void start(long trans_time);
static void draw(void);
static void draw_lowres_raster(void);
+static void keypress(int key);
static int gen_texture(struct pimage *img, int xsz, int ysz);
static struct screen scr = {
init,
destroy,
start, 0,
- draw
+ draw,
+ keypress
};
static float cam_theta, cam_phi = 25;
static struct pimage tex;
-static int use_bsp = 1;
+static int use_bsp = 0;
#define LOWRES_SCALE 10
static uint16_t *lowres_pixels;
torus.varr[i].v *= 2.0;
}
+ /*
init_bsp(&torus_bsp);
if(bsp_add_mesh(&torus_bsp, &torus) == -1) {
fprintf(stderr, "failed to construct torus BSP tree\n");
return -1;
}
+ */
gen_texture(&tex, 128, 128);
free(cube.varr);
free(torus.varr);
free(torus.iarr);
+ /*
destroy_bsp(&torus_bsp);
+ */
}
static void start(long trans_time)
}
}
+static void keypress(int key)
+{
+ switch(key) {
+ case 'b':
+ use_bsp = !use_bsp;
+ printf("drawing with %s\n", use_bsp ? "BSP tree" : "z-sorting");
+ break;
+ }
+}
+
static int gen_texture(struct pimage *img, int xsz, int ysz)
{
int i, j;