get rid of unused span->start field
[mesa.git] / progs / samples / star.c
index 180585e121896b0dd766649ead4d48eb80156791..2cf470e2a2f7d412e89d8eced46b9ee0c58e74f5 100644 (file)
@@ -45,7 +45,7 @@ enum {
 
 #define MAXSTARS 400
 #define MAXPOS 10000
-#define MAXWARP 10
+#define MAXWARP 500
 #define MAXANGLES 6000
 
 
@@ -115,6 +115,13 @@ void MoveStars(void)
 {
     float offset;
     GLint n;
+    static double t0 = -1.;
+    double t, dt;
+    t = glutGet(GLUT_ELAPSED_TIME) / 1000.;
+    if (t0 < 0.)
+       t0 = t;
+    dt = 85.*(t - t0);
+    t0 = t;
 
     offset = speed * 60.0;
 
@@ -122,13 +129,16 @@ void MoveStars(void)
        stars[n].x[1] = stars[n].x[0];
        stars[n].y[1] = stars[n].y[0];
        stars[n].z[1] = stars[n].z[0];
-       stars[n].x[0] += stars[n].offsetX;
-       stars[n].y[0] += stars[n].offsetY;
-       stars[n].z[0] -= offset;
-        stars[n].rotation += stars[n].offsetR;
+       stars[n].x[0] += stars[n].offsetX*dt;
+       stars[n].y[0] += stars[n].offsetY*dt;
+       stars[n].z[0] -= offset*dt;
+        stars[n].rotation += stars[n].offsetR*dt;
         if (stars[n].rotation > MAXANGLES) {
             stars[n].rotation = 0.0;
        }
+        else if (stars[n].rotation < 0.0) {
+           stars[n].rotation += 360.0;
+        }
     }
 }
 
@@ -281,7 +291,7 @@ static GLenum Args(int argc, char **argv)
 {
     GLint i;
 
-    doubleBuffer = GL_FALSE;
+    doubleBuffer = GL_TRUE;
 
     for (i = 1; i < argc; i++) {
        if (strcmp(argv[i], "-sb") == 0) {
@@ -293,6 +303,10 @@ static GLenum Args(int argc, char **argv)
     return GL_TRUE;
 }
 
+#if !defined(GLUTCALLBACK)
+#define GLUTCALLBACK
+#endif
+
 void GLUTCALLBACK glut_post_redisplay_p(void)
 {
       glutPostRedisplay();