X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=antikythera;a=blobdiff_plain;f=src%2Fmain.cc;h=6fc85baa4f84f14e35036c35f78907584b78d534;hp=0447748ba0efe61313614f196ecca405e2ff0984;hb=2c8e92970f198061a0cefdb59c2d0ec8c58409c9;hpb=a88a9ac53952e1bb3768b147a043c19392e3d5d1 diff --git a/src/main.cc b/src/main.cc index 0447748..6fc85ba 100644 --- a/src/main.cc +++ b/src/main.cc @@ -7,6 +7,7 @@ #else #include #endif +#include "app.h" #include "machine.h" bool init(); @@ -19,7 +20,7 @@ void keyb(unsigned char key, int x, int y); void mouse(int bn, int st, int x, int y); void motion(int x, int y); -static float cam_dist = 2; +static float cam_dist = 0.5; static float cam_theta, cam_phi; static int prev_mx, prev_my; static bool bnstate[8]; @@ -31,7 +32,7 @@ int main(int argc, char **argv) { glutInitWindowSize(1024, 768); glutInit(&argc, argv); - glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE); + glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE | GLUT_MULTISAMPLE); glutCreateWindow("Antikythera"); glutDisplayFunc(display); @@ -54,6 +55,7 @@ bool init() { glewInit(); + glEnable(GL_MULTISAMPLE); glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glEnable(GL_LIGHTING); @@ -86,7 +88,6 @@ bool init() machine->add_gear(gear3); machine->add_motor(0, 1.0); - machine->calc_meshing(); start_time = glutGet(GLUT_ELAPSED_TIME); return true; @@ -126,7 +127,7 @@ void idle() void draw_gears() { - /* world scale is in meters, gears are in millimeters, sclae by 1/1000 */ + /* world scale is in meters, gears are in millimeters, scale by 1/1000 */ glPushMatrix(); glScalef(0.001, 0.001, 0.001); @@ -141,7 +142,7 @@ void reshape(int x, int y) glMatrixMode(GL_PROJECTION); glLoadIdentity(); - gluPerspective(50.0, (float)x / (float)y, 0.05, 100.0); + gluPerspective(50.0, (float)x / (float)y, 0.01, 100.0); } void keyb(unsigned char key, int x, int y) @@ -149,6 +150,11 @@ void keyb(unsigned char key, int x, int y) switch(key) { case 27: exit(0); + + case 'w': + opt_gear_wireframe = !opt_gear_wireframe; + glutPostRedisplay(); + break; } } @@ -177,7 +183,7 @@ void motion(int x, int y) glutPostRedisplay(); } if(bnstate[2]) { - cam_dist += dy * 0.05; + cam_dist += dy * 0.01; if(cam_dist < 0.0) cam_dist = 0.0; glutPostRedisplay(); }