23 static vec3_t pos = {0, 0, 0};
24 static quat_t rot = {0, 0, 0, 1};
26 int main(int argc, char **argv)
28 fbsize = fb_width * fb_height * fb_bpp / CHAR_BIT;
30 init_logger("demo.log");
37 if((use_mouse = have_mouse())) {
38 printf("initializing mouse input\n");
39 set_mouse_limits(0, 0, fb_width, fb_height);
40 set_mouse(fb_width / 2, fb_height / 2);
43 if(!(fb_pixels = malloc(fbsize))) {
44 fprintf(stderr, "failed to allocate backbuffer\n");
48 if(!(vmem_front = set_video_mode(fb_width, fb_height, fb_bpp))) {
51 /* TODO implement multiple video memory pages for flipping */
52 vmem_back = vmem_front;
54 if(demo_init(argc, argv) == -1) {
64 while((key = kb_getkey()) != -1) {
65 demo_keyboard(key, 1);
69 demo_keyboard(getch(), 1);
72 if(quit) goto break_evloop;
75 mouse_bmask = read_mouse(&mouse_x, &mouse_y);
78 time_msec = get_msec();
96 void swap_buffers(void *pixels)
98 /* TODO implement page flipping */
104 memcpy(vmem_front, pixels, fbsize);