rotate at fixed rate (Marcelo Magallon)
diff --git a/progs/demos/gears.c b/progs/demos/gears.c
index e9061ed..fc797eb 100644
--- a/progs/demos/gears.c
+++ b/progs/demos/gears.c
@@ -1,4 +1,3 @@
-
 /*
  * 3-D gear wheels.  This program is in the public domain.
  *
@@ -28,6 +27,7 @@
 static GLint Frames = 0;
 static GLint autoexit = 0;
 
+
 /**
 
   Draw a gear wheel.  You'll probably want to call this function when
@@ -215,7 +215,14 @@
 static void
 idle(void)
 {
-  angle += 2.0;
+  static double t0 = -1.;
+  double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
+  if (t0 < 0.0)
+    t0 = t;
+  dt = t - t0;
+  t0 = t;
+
+  angle += 70.0 * dt;  /* 90 degrees per second */
   glutPostRedisplay();
 }