diff options
author | Brian Paul <[email protected]> | 2005-01-08 23:52:01 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2005-01-08 23:52:01 +0000 |
commit | c1065ee977f70042e54a930a6cd3af819d4a9806 (patch) | |
tree | 45053d22bc302bde8c627e9e8d2cc174a17c844a /progs/samples/olympic.c | |
parent | 0261042bebe4c17afd3b581fac0ab5274dac3740 (diff) |
compute reasonable animate rate (Marcelo Magallon)
Diffstat (limited to 'progs/samples/olympic.c')
-rw-r--r-- | progs/samples/olympic.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/progs/samples/olympic.c b/progs/samples/olympic.c index d1cfa7250f5..5385e487026 100644 --- a/progs/samples/olympic.c +++ b/progs/samples/olympic.c @@ -108,7 +108,6 @@ void FillTorus(float rc, int numc, float rt, int numt) float Clamp(int iters_left, float t) { - if (iters_left < 3) { return 0.0; } @@ -119,6 +118,17 @@ void DrawScene(void) { int i, j; GLboolean goIdle; + static double t0 = -1.; + double t, dt; + t = glutGet(GLUT_ELAPSED_TIME) / 1000.; + if (t0 < 0.) + t0 = t; + dt = t - t0; + + if (dt < 1./30.) + return; + + t0 = t; goIdle = GL_TRUE; for (i = 0; i < RINGS; i++) { @@ -167,6 +177,10 @@ float MyRand(void) return 10.0 * ( (float) rand() / (float) RAND_MAX - 0.5 ); } +#if !defined(GLUTCALLBACK) +#define GLUTCALLBACK +#endif + void GLUTCALLBACK glut_post_redisplay_p(void) { glutPostRedisplay(); |