began for maemo
[xscreensaver] / xscreensaver / hacks / glx / extrusion-helix2.c
1
2 /* 
3  * helicoid (gernalized torus) demo 
4  *
5  * FUNCTION:
6  * This code provides a very simple example of the helicoid primitive.
7  * Most of this code is required to set up OpenGL and GLUT, and very
8  * very little to set up the helix drawer. Don't blink!
9  *
10  * =======> MOUSE HOOKED UP TO RADIUS, DELTA-RADIUS < ========
11  *
12  * HISTORY:
13  * Written by Linas Vepstas, March 1995
14  */
15
16 #include "extrusion.h"
17
18 /* controls shape of object */
19 extern float lastx;
20 extern float lasty;
21
22 void InitStuff_helix2 (void) 
23 {
24 }
25
26 /* draw the helix shape */
27 void DrawStuff_helix2 (void) 
28 {
29    glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
30    glColor3f (0.6, 0.3, 0.8);
31
32    /* set up some matrices so that the object spins with the mouse */
33    glPushMatrix ();
34 /* glTranslatef (0.0, 0.0, -80.0);   */
35 /* glRotatef (220.0, 0.0, 1.0, 0.0); */
36 /* glRotatef (65.0, 1.0, 0.0, 0.0);  */
37
38    /* Phew. FINALLY, Draw the helix  -- */
39    gleSetJoinStyle (TUBE_NORM_EDGE | TUBE_JN_ANGLE | TUBE_JN_CAP);
40    gleHelicoid (0.01*lastx, 
41                 6.0, (0.01*lasty - 2.0), 
42                -3.0, 4.0, 0x0, 0x0, 0.0, 1080.0);
43
44    glPopMatrix ();
45
46 }
47 /* ------------------------- end of file ----------------- */