#define DEF_HOLD "800"
#define DEF_SPHERISM "75"
#define DEF_DAMPING "500"
+#define DEF_RANDOM "True"
+#define DEF_TETRA "False"
+#define DEF_SPOOKY "0"
#ifndef max
#define max(a,b) (((a)>(b))?(a):(b))
};
static argtype vars[] = {
- {&random_parms, "random", "Random", "True", t_Bool},
- {&do_tetrahedron, "tetra", "Tetra", "False", t_Bool},
- {&spooky, "spooky", "Spooky", "0", t_Int},
+ {&random_parms, "random", "Random", DEF_RANDOM, t_Bool},
+ {&do_tetrahedron, "tetra", "Tetra", DEF_TETRA, t_Bool},
+ {&spooky, "spooky", "Spooky", DEF_SPOOKY, t_Int},
{&color, "color", "Color", DEF_COLOR, t_String},
{&shininess, "shininess", "Shininess", DEF_SHININESS, t_Int},
{&complexity, "complexity", "Complexity", DEF_COMPLEXITY, t_Int},
hedge *h2, *hn1, *hn2;
vertex *vtxn;
edge *en;
- face *f1, *f2;
+ face *f1;
f1 = h->f;
h2 = partner(h);
- f2 = h2->f;
vtxn = vertex_new(f1->s, v);
hn1 = hedge_new(h, vtxn);
* see what the cost is of calling glBegin/glEnd for each
* triangle.
*/
-static inline void face_render(face *f, jigglystruct *js)
+static inline int face_render(face *f, jigglystruct *js)
{
hedge *h1, *h2, *hend;
+ int polys = 0;
h1 = f->start;
hend = h1->prev;
vertex_render(hend->vtx, js);
h1 = h2;
h2 = h1->next;
+ polys++;
}
glEnd();
+ return polys;
}
-static void jigglypuff_render(jigglystruct *js)
+static int jigglypuff_render(jigglystruct *js)
{
+ int polys = 0;
face *f = js->shape->faces;
vertex *vtx = js->shape->vertices;
vtx = vtx->next;
}
while(f) {
- face_render(f, js);
+ polys += face_render(f, js);
f=f->next;
}
+ return polys;
}
/* This is the jiggling code */
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (js->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
glColor4fv(js->jiggly_color);
}
- jigglypuff_render(js);
+ mi->polygon_count = jigglypuff_render(js);
if(MI_IS_FPS(mi))
do_fps(mi);
glFinish();
js->do_wireframe, js->spooky, js->color_style, js->shininess);*/
}
-XSCREENSAVER_MODULE ("Jigglypuff", jigglypuff)
+XSCREENSAVER_MODULE ("JigglyPuff", jigglypuff)
#endif /* USE_GL */