summaryrefslogtreecommitdiffstats
path: root/hacks/glx/extrusion-helix3.c
blob: 7650f463d252894f165335970756d4b2f377ac86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

/* 
 * helicoid (gernalized torus) demo 
 *
 * FUNCTION:
 * This code provides a very simple example of the helicoid primitive.
 * Most of this code is required to set up OpenGL and GLUT, and very
 * very little to set up the helix drawer. Don't blink!
 *
 * =======> MOUSE HOOKED UP TO SWEEP, HEIGHT < ========
 *
 * HISTORY:
 * Written by Linas Vepstas, March 1995
 */

#include "extrusion.h"

/* controls shape of object */
extern float lastx;
extern float lasty;

void InitStuff_helix3 (void) 
{
}

/* draw the helix shape */
void DrawStuff_helix3 (void) 
{
   glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
   glColor3f (0.8, 0.3, 0.6);

   /* set up some matrices so that the object spins with the mouse */
   glPushMatrix ();
/* glTranslatef (0.0, 0.0, -80.0); */
/* glRotatef (220.0, 0.0, 1.0, 0.0); */
/* glRotatef (65.0, 1.0, 0.0, 0.0); */

   /* Phew. FINALLY, Draw the helix  -- */
   gleSetJoinStyle (TUBE_NORM_EDGE | TUBE_JN_ANGLE | TUBE_JN_CAP);
   gleHelicoid (1.0, 6.0, -1.0, 
               0.0, (0.02*lasty-2.0), 0x0, 0x0, 0.0, 6.0*lastx);

   glPopMatrix ();

}
/* ------------------------- end of file ----------------- */