X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=regis;a=blobdiff_plain;f=test.c;fp=test.c;h=72b60299ceb6c6e018943564ba1e1c6610a34f99;hp=c134b3ffc98aa56bc96f5ec75ebcb273d6c88018;hb=4ac276ea513d4460f9db8c43b4dbde5ebad652b5;hpb=46aa499cb189f9eb533e1e5a95a3770a0b3df8b4 diff --git a/test.c b/test.c index c134b3f..72b6029 100644 --- a/test.c +++ b/test.c @@ -3,35 +3,38 @@ #include #include #include "regis.h" +#include "sincos.h" +#include "x3d.h" +#define X16INT(x) ((x) << 16) + +static void draw(void); static void sig(int s); static volatile int done; +int tm = 0; int main(int argc, char **argv) { int pg = 1; - float tm = 0.0f; signal(SIGINT, sig); + x3d_projection(45.0, (WIDTH << 16) / HEIGHT, 65536 / 2, 65536 * 500); + while(!done) { - float dx = cos(tm) * 50.0; - float dy = sin(tm * 2.0) * 50.0; - tm += 0.01f; regis_enter(); regis_draw_page(pg); regis_clear(); - regis_abspos(100 + dx, 100 + dy); - regis_begin_vector(REGIS_BOUNDED | REGIS_FILL); - regis_absv(300 + dx, 300 + dy); - regis_absv(80 + dx, 400 + dy); - regis_end_vector(); + + draw(); + regis_show_page(pg); pg = (pg + 1) & 1; regis_leave(); usleep(10000); + ++tm; } regis_enter(); @@ -40,6 +43,17 @@ int main(int argc, char **argv) return 0; } +static void draw(void) +{ + x3d_load_identity(); + x3d_translate(0, 0, X16INT(6)); + x3d_rotate(X16INT(25), 65536, 0, 0); + x3d_rotate(tm << 10, 0, 65536, 0); + + x3d_color_index(3); + +} + static void sig(int s) { done = 1;