http://www.jwz.org/xscreensaver/xscreensaver-5.12.tar.gz
[xscreensaver] / hacks / glx / voronoi.c
index 9680182931677a960a7694199c126f35e122f121..b207bbc0e58f224756c4b3506efeca36228ca66c 100644 (file)
@@ -1,4 +1,4 @@
-/* voronoi, Copyright (c) 2007 Jamie Zawinski <jwz@jwz.org>
+/* voronoi, Copyright (c) 2007, 2008 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -28,9 +28,9 @@
 
 #define DEF_POINTS      "25"
 #define DEF_POINT_SIZE  "9"
-#define DEF_POINT_SPEED "1"
+#define DEF_POINT_SPEED "1.0"
 #define DEF_POINT_DELAY "0.05"
-#define DEF_ZOOM_SPEED  "1"
+#define DEF_ZOOM_SPEED  "1.0"
 #define DEF_ZOOM_DELAY  "15"
 
 typedef struct node {
@@ -142,31 +142,20 @@ cone (void)
   int i;
   int faces = 64;
   GLfloat step = M_PI * 2 / faces;
-  GLfloat s2 = step/2;
-  GLfloat th;
-  GLfloat x, y, x0, y0;
-
-  glBegin(GL_TRIANGLES);
-
-  th = 0;
-  x = 1;
-  y = 0;
-  x0 = cos (s2);
-  y0 = sin (s2);
+  GLfloat th = 0;
+  GLfloat x = 1;
+  GLfloat y = 0;
 
+  glBegin(GL_TRIANGLE_FAN);
+  glVertex3f (0, 0, 1);
   for (i = 0; i < faces; i++)
     {
-      glVertex3f(0,  0, 1);
-      glVertex3f(x, y, 0);
-
+      glVertex3f (x, y, 0);
       th += step;
-      x0 = cos (th + s2);
-      y0 = sin (th + s2);
-      x  = cos (th);
-      y  = sin (th);
-
-      glVertex3f(x, y, 0);
+      x = cos (th);
+      y = sin (th);
     }
+  glVertex3f (1, 0, 0);
   glEnd();
   return faces;
 }
@@ -456,8 +445,6 @@ init_voronoi (ModeInfo *mi)
       fprintf(stderr, "%s: out of memory\n", progname);
       exit(1);
     }
-
-    vp = &vps[MI_SCREEN(mi)];
   }
 
   vp = &vps[MI_SCREEN(mi)];