255, 127, 127, 127,
};
+#if !defined(GLUTCALLBACK)
+#define GLUTCALLBACK
+#endif
+
+
void GLUTCALLBACK glut_post_redisplay_p(void)
{
- glutPostRedisplay();
+ 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;
+
+ glutPostRedisplay();
}
static void Animate(void)
{
static float green[3] = {0.2, 1.0, 0.2};
static float red[3] = {1.0, 0.2, 0.2};
- float *color, percent;
- GLint *indexes, entries, i, j;
+ float *color = 0, percent;
+ GLint *indexes = 0, entries, i, j;
entries = glutGet(GLUT_WINDOW_COLORMAP_SIZE);