summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--progs/demos/gears.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/progs/demos/gears.c b/progs/demos/gears.c
index e9061ed6c92..fc797eb904c 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 T0 = 0;
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 @@ draw(void)
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();
}