- glewInit();
-
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_NORMALIZE);
-
- Mesh::use_custom_sdr_attr = false;
-
- machine = new Machine;
-
- const float pitch = 10.0f;
-
- Gear *gear1 = new Gear;
- gear1->pos = Vec3(-50, 0, 0);
- gear1->set_teeth(16, pitch);
- gear1->gen_mesh();
- machine->add_gear(gear1);
-
- Gear *gear2 = new Gear;
- gear2->set_teeth(32, pitch);
- gear2->pos = gear1->pos + Vec3(gear1->radius + gear2->radius - gear1->teeth_length * 0.75, 0, 0);
- gear2->thickness = 5;
- gear2->gen_mesh();
- machine->add_gear(gear2);
-
- Gear *gear3 = new Gear;
- gear3->set_teeth(8, pitch);
- gear3->pos = gear2->pos + Vec3(0, gear2->radius + gear3->radius - gear2->teeth_length * 0.75, 0);
- gear3->gen_mesh();
- machine->add_gear(gear3);
-
- machine->add_motor(0, 1.0);
- machine->calc_meshing();
-
- start_time = glutGet(GLUT_ELAPSED_TIME);
- return true;